自動計算時間 (Auto Calculation Time)
自動計算時間 機能は、各計画リクエストの最適なソルバー期間を自動的に決定します。実行ごとに固定された時間枠を使用する代わりに、データの複雑さ(例:注文の数や車両の数 )に基づいて計算時間を動的に調整します。
この機能は現在、Optimization (Stateless) API では 利用できません。Integration API 内でのみ機能します。この機能は Simple Optimization API でも使用できます。
なぜこれを使用するのですか? (Why use this?)
計画において、時間は貴重なリソースです。
- 問題点: ソルバー制限を固定の10分に設定した場合、5つのジョブしかない単純なプランでも10分待たされ、生産性が低下します。逆に、1000のジョブがある大規模なプランでは、実行可能なルートを見つけるために20分かかる場合があり、10分の制限では不十分な結果になります。
- 解決策: この機能は、ソルバー設定の「オートパイロット」として機能します。単純なジョブには迅速な処理時間(例:数秒)を与えながら、実際にそれを必要とする複雑なシナリオにはより多くの時間を割り当てます。
プランナーにとっての価値:
- 運用を迅速化: 小さな調整のために不必要に待つ必要がなくなります。
- 品質の向上: 複雑なルートに適切な計算時間が与えられるようにします。
- 認知負荷の軽減: すべてのシミュレーションに対して手動で
time_limitを推測したり調整したりする必要がありません。
概要 (Overview)
システムは、ペイロード(具体的にはノード数(ピックアップ/配達ポイント)、車両数、およびそれらの相互作用)を分析して、「スイートスポット」の期間を計算します。この推奨時間は、収穫逓減なしにほぼ最適なソリューションを見つけるように設計されています。
計算に関係なく、システムは engine_settings.solver.parameters.time_limit_ms で定義された絶対最大時間制限を 決して超えません。これにより、コストと運用管理のハードシーリングが確保されます。
構成 (Configuration)
この機能は、シミュレーションまたはリクエストの logistics_api_settings で有効にできます。Stepwise(単純なルックアップ)または Linear(数式ベース)の2つの計算方法から選択できます。
Stepwise メソッド (Stepwise Method)
これは、ほとんどのユーザーにとって最も単純で推奨されるアプローチです。ノード数(注文)の範囲に基づいて時間制限を定義します。予測可能なルックアップテーブルのように機能します。
構成例:
{
"auto_calculate_time_limit_enabled": true,
"auto_calculate_time_limit_params": {
"stepwise": {
"10": 10,
"50": 20,
"100": 40
}
}
}
ノードは注文と等しくありません。注文には少なくとも2つのノードがあります。
仕組み:
- 10以下の ノード がある場合、ソルバーは 10秒間 実行されます。
- 11から50のノード がある場合、20秒間 実行されます。
- 51から100のノード がある場合、40秒間 実行されます。
- 100を超えるノード がある場合、最大値(40秒)を使用します。
Linear メソッド (Linear Method)
このメソッドは、数式を使用して詳細な精度を提供します。運用モデルに合わせて特定の係数を調整した高度なデータサイエンスチームに最適です。
構成例:
{
"auto_calculate_time_limit_enabled": true,
"auto_calculate_time_limit_params": {
"linear": {
"coeff_node_count": 2.5,
"coeff_vehicle_count": -0.6,
"coeff_node_vehicle_interaction": -0.004,
"bias_term": -4
}
}
}
式: 時間制限 は次のように計算されます:
stepwise と linear の両方が同じペイロードで定義されている場合、linear 関数が 優先 され、計算に使用されます。
シミュレーション設定例 (Simulation Settings Example)
logistics_api_settings 内の API リクエストにこれを含める方法の完全なスニペ ットを次に示します。
{
"logistics_api_settings": {
"auto_calculate_time_limit_enabled": true,
"auto_calculate_time_limit_params": {
"stepwise": {
"20": 15,
"100": 60,
"500": 300
}
}
}
}
自動計算パラメータが無効、欠落、または不正な形式である場合、システムは自動的に固定の time_limit_ms 設定に デフォルト 設定されます。これにより、この機能の構成エラーが原因でシミュレーションリクエストが失敗することはありません。