メインコンテンツまでスキップ

車両の最大トリップ数

シナリオによっては、車両が行うことができるトリップの数を制限する必要があります。たとえば、ドライバーはシフトで実行できる配達の最大数を持っている場合や、車両は特定の数のトリップの後に給油のためにデポに戻る必要がある場合があります。

: 配送会社は、各ドライバーが休憩に十分な時間を確保し、疲労を防ぐために、シフトごとに1回のトリップしかできないというポリシーを持っている場合があります。この場合、各車両のmax_tripsパラメータは1に設定されます。

最大トリップ数のサポート

SWATモデルは、2つの主要な運用アプローチをサポートしています。

  • PDPでは、各車両が複数のトリップを持ち、複数のドロップオフとピックアップを実行できます。
  • 車両ごとに単一のトリップ。各車両は1回のトリップしか実行できません(単一のピックアップと複数のドロップオフ、または複数のピックアップと単一のドロップオフ)。

最適化APIと統合APIは、モードの制御方法が異なります。PDPモードには、単一トリップモードとは異なり、複数のトリップを考慮するため、最大トリップ制限があります。ただし、単一トリップモードは、最適化オプションが少ないため、より高速で優れたソリューションを提供します。

SWAT APIは、車両の最大トリップ数を設定できるようにすることで、このユースケースをサポートしています。これは、車両オブジェクトのnumber_of_tripsパラメータを設定することによって行われます。

{
"agent_id": "10W_0",
"capacity": {
"CBCM": 21500000,
"WEIGHT": 11710
},
"lat": 0,
"lon": 0,
"max_trips": 1,
"number_of_trips": 10,
"assigned_nodes": [
{
"uid": "10W_0_start",
"node_type": "vehicle_position",
"open_time_ts": "2022-02-18T16:00:00+00:00",
"close_time_ts": "2025-02-18T20:42:00+00:00",
"close_time_ts_dynamic": "2026-02-19T16:42:00+00:00",
"service_time": 0,
"lat": 11.975487,
"lon": 101.399407,
"stop_id": "depot",
"max_slack": null,
"demand": {
"CBCM": 0,
"WEIGHT": 0
},
"groups": [],
"trip_cost": 0
}
],
"partial_route": ["10W_0_start"],
"partial_route_end": ["10W_0_end"]
}

パラメータが正しく機能するには、トリップが終了する(または終了する可能性がある)ノードに特別なフラグを付ける必要があります。

{
"uid": "d649c2dd-4c68-41ec-b6c2-0b5088a4da2e",
"booking_uid": "7b802f59-4f71-5bd6-9a5b-bd6ca9cde619",
"stop_id": "d649c2dd-4c68-41ec-b6c2-0b5088a4da2e",
"lat": 14.628852,
"lon": 120.9732314,
"demand": {
"cbcm": -1890000
},
"open_time_ts": "2025-04-11T23:00:00+00:00",
"close_time_ts": "2025-04-12T03:00:00+00:00",
"service_time": 1800,
"node_type": "dropoff",
"close_time_ts_dynamic": "2025-04-12T03:00:00+00:00",
"geofence_ids": [-1],
"trip_cost": 0,
"vehicle_characteristics": {},
"location_name": "Location 4",
"penalty": 1000000000,
"end_of_trip": true,
"vehicle_labels": {}
}