動的サービス時間
物流において、倉庫や配送センターなどのドロップオフ場所で注文を処理するのにかかる時間は、多くの場合固定された数値ではありません。配送される商品のサイズ、重量、または種類によって変動する可能性があります。動的サービス時間は、単一の静的な値を使用するのではなく、これらの変動要因に基づいて注文のサービス時間を最適化エンジンが計算できるようにする機能です。
これにより、各停車地に割り当てられる時間が実際の作業要件を反映するため、より現実的で正確な運用計画が作成されます。
目的
動的サ ービス時間の主な目的は、単純な固定時間の見積もり(例:「すべての配送は5分かかる」)を超えて、より詳細なモデルを作成することです。注文の特定の需要に基づいてサービス時間を計算することにより、次のことが可能になります。
- 計画精度の向上: 各停車地で必要な実際の時間を考慮に入れるため、ルートとスケジュールがより信頼性の高いものになります。
- 車両利用率の最適化: オプティマイザは、1台の車両が1日に現実的に処理できる注文数について、より適切な決定を下すことができます。
- 複雑な運用のモデル化: 倉庫やデポで異なる製品タイプや数量が異なる取り扱い要件を持つシナリオをモデル化できます。
仕組み:計算方法
動的サービス時間は、固定の基本時間と、注文の需要から派生した変動要素を組み合わせて計算されます。式は次のとおりです。
合計サービス時間 = 固定時間 + (需要タイプ1 * 係数1) + (需要タイプ2 * 係数2) + ...
たとえば、サービス時間は、書類作成のための固定時間と、配送の総体積(cbcm)および重量に基づく変動時間の組み合わせとして定義できます。
APIでの実装
この機能は、オペレーションロケーションまたはオペレーションロケーション・グループで calculation_params を設定することにより、統合API を通じて実装されます。
この機能は、事前に設定された OperationsLocation データに依存するため、ステートフルな 統合API でのみ利用可能であり、ステートレスAPIではサポートされていません。
calculation_params オブジェクト内でサービス時間ルールを定義します。主要なパラメータは次のとおりです。
service_time.fixed:その場所のすべての注文に適用される基本サービス時間(秒単位)。coefficients:product_kindを異なる需要タイプの係数にマッピングするオブジェクト。
例
OperationsLocation を次の calculation_params で設定したとします。
"calculation_params": {
"service_time": { "fixed": 300 },
"coefficients": {
"AMBIENT": {
"cbcm": 0.000018,
"weight": 0.01
}
}
}
次に、このオペレーションロケーションをドロップオフに使用する予約が作成されます。予約には次のプロパティがあります。
product_kind:"AMBIENT"demand:{ "cbcm": 500000, "weight": 100 }
この予約が処理されると、オプティマイザは次のようにドロップオフノードのサービス時間を計算します。
合計サービス時間 = fixed + (cbcm * coefficient) + (weight * coefficient)
合計サービス時間 = 300 + (500000 * 0.000018) + (100 * 0.01)
合計サービス時間 = 300 + 9 + 1 = 310秒
ソルバーは、この計算された310秒のサービス時間をルート計画のドロップオフノードに使用し、より正確で実行可能なスケジュールを作成します。