ガイドAPIリファレンス
ガイド

廃棄物運行管理に合わせて効率的なルートを計画する

効率的な旅程計画は、廃棄物管理業界など、複数の業界に大きな利点をもたらします。廃棄物収集車両のルートを最適化すると、燃料消費が最小限に抑えられ、移動時間が短縮され、車両の摩耗が低減されます。

次のセクションでは、廃棄物管理運行管理に関連するツアー計画のユースケースに合わせた問題を取り上げ、対応するソリューションを提示します。

一般に、提示されるすべての問題は次の目的に沿ったものです。

  • トラックはルート沿いのすべてのゴミ箱からゴミを収集する必要がある。トラックが満杯になると、指定された廃棄場所まで移動して荷降ろしする必要があります。
  • 再積載場所として廃棄場所が追加される。廃棄物の処理には一定の時間がかかります。トラックが満杯になると、再積載場所に移動して荷降ろしをしてからゴミの収集を再開します。
  • ルートの最後に、トラックは残ったゴミを降ろすために廃棄場所でシフトを終える必要がある。まとめると、トラックは空のまま集配センターを出発し、割り当てられたタスクを完了した後は空のまま戻る必要があります。

次の図はこれらの目的の概要を視覚的に示しています。

一般的な廃棄物管理のユースケース

オプション1:シフト終了場所として廃棄場所を定義する

次の問題では再積載場所の座標がシフト終了の座標と一致します。これにより、廃棄物収集トラックは、ルートの最後に残りのゴミを廃棄してから、必要に応じて、空の状態で集配センターに向かうよう徹底されます。

シフト終了場所として廃棄場所をマークすると、ルートの最終部分 (廃棄場所から集配センターまで) が最適化されません。ルートの完了後の廃棄場所と集配センター間の移動を考慮して、車両のshift時間は8時間から7時間30分に短縮されます。廃棄場所から集配センターまでの最終移動は静的セグメントであり、最適化には含まれません

さらに、サンプル問題には以下の仕様も含まれています。

  • 運行管理は3台の車両が利用可能な1つの車両タイプで構成されている。
  • 各車両の積載量は30である。
  • ルートプランには15件の集荷ジョブが含まれており、各需要は10に設定されている。
  • この問題には複数の車両が関係する場合にルートの重複を最小限に抑えるという高度な目的が含まれている。
  • 車両ルート検索プロファイルには自動車に比べてトラックの旋回半径が大きいことを考慮してUターンを回避する制約と、20km/時の速度上限が含まれている。

次のセクションには、問題のJSON全体が含まれています。

Click to expand/collapse the sample JSON
{
    "configuration": {
        "experimentalFeatures": ["advancedObjectives"]
    },
    "fleet": {
        "types": [
            {
                "id": "garbage_truck",
                "profile": "truck",
                "costs": {
                    "fixed": 5,
                    "distance": 0,
                    "time": 0.005
                },
                "shifts": [
                    {
                        "start": {
                            "time": "2023-05-28T08:00:00Z",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            }
                        },
                        "end": {
                            "time": "2023-05-28T15:30:00Z",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            }
                        },
                        "reloads": [
                            {
                                "location": {
                                    "lat": 52.488148,
                                    "lng": 13.369797
                                },
                                "duration": 600
                            }
                        ]
                    }
                ],
                "capacity": [30],
                "amount": 3
            }
        ],
        "profiles": [
            {
                "name": "truck",
                "type": "truck",
                "avoid": {
                    "features": ["uTurns"]
                },
                "options": {
                    "speedCap": 20
                }
            }
        ]
    },
    "plan": {
        "jobs": [
            {
                "id": "Job_1",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.56182,
                                        "lng": 13.497167
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_2",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.534553,
                                        "lng": 13.519429
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_3",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.482275,
                                        "lng": 13.502456
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_4",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.473537,
                                        "lng": 13.505414
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_5",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.463341,
                                        "lng": 13.49061
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_6",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.434003,
                                        "lng": 13.466142
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_7",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.447476,
                                        "lng": 13.433062
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_8",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.458414,
                                        "lng": 13.392079
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_9",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.446407,
                                        "lng": 13.36047
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_10",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.440807,
                                        "lng": 13.351399
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_11",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.462867,
                                        "lng": 13.342188
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_12",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.458232,
                                        "lng": 13.338698
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_13",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.457629,
                                        "lng": 13.323742
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_14",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.552057,
                                        "lng": 13.349613
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_15",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.447377,
                                        "lng": 13.363822
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            }
        ]
    },
    "advancedObjectives": [
        [
            {
                "type": "minimizeUnassigned"
            }
        ],
        [
            {
                "type": "minimizeCost"
            }
        ],
        [
            {
                "type": "minimizeTourOverlap"
            }
        ]
    ]
}

ソリューション

次のセクションでは、前の問題の完全なソリューションについて説明します。

Click to expand/collapse the sample JSON
{
    "statistic": {
        "cost": 131.365,
        "distance": 115071,
        "duration": 23273,
        "times": {
            "driving": 13073,
            "serving": 10200,
            "waiting": 0,
            "stopping": 0,
            "break": 0
        }
    },
    "tours": [
        {
            "vehicleId": "garbage_truck_1",
            "typeId": "garbage_truck",
            "stops": [
                {
                    "time": {
                        "arrival": "2023-05-28T08:00:00Z",
                        "departure": "2023-05-28T08:00:00Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "departure",
                            "type": "departure",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T08:00:00Z",
                                "end": "2023-05-28T08:00:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 0
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:15:48Z",
                        "departure": "2023-05-28T08:25:48Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_3",
                            "type": "pickup",
                            "location": {
                                "lat": 52.482275,
                                "lng": 13.502456
                            },
                            "time": {
                                "start": "2023-05-28T08:15:48Z",
                                "end": "2023-05-28T08:25:48Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.482275,
                        "lng": 13.502456
                    },
                    "distance": 8425
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:27:48Z",
                        "departure": "2023-05-28T08:37:48Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_4",
                            "type": "pickup",
                            "location": {
                                "lat": 52.473537,
                                "lng": 13.505414
                            },
                            "time": {
                                "start": "2023-05-28T08:27:48Z",
                                "end": "2023-05-28T08:37:48Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.473537,
                        "lng": 13.505414
                    },
                    "distance": 9711
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:44:40Z",
                        "departure": "2023-05-28T08:54:40Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_5",
                            "type": "pickup",
                            "location": {
                                "lat": 52.463341,
                                "lng": 13.49061
                            },
                            "time": {
                                "start": "2023-05-28T08:44:40Z",
                                "end": "2023-05-28T08:54:40Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.463341,
                        "lng": 13.49061
                    },
                    "distance": 12652
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:12:49Z",
                        "departure": "2023-05-28T09:22:49Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "reload",
                            "type": "reload",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            },
                            "time": {
                                "start": "2023-05-28T09:12:49Z",
                                "end": "2023-05-28T09:22:49Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.488148,
                        "lng": 13.369797
                    },
                    "distance": 24881
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:33:03Z",
                        "departure": "2023-05-28T09:43:03Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_11",
                            "type": "pickup",
                            "location": {
                                "lat": 52.462867,
                                "lng": 13.342188
                            },
                            "time": {
                                "start": "2023-05-28T09:33:03Z",
                                "end": "2023-05-28T09:43:03Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.462867,
                        "lng": 13.342188
                    },
                    "distance": 30463
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:46:08Z",
                        "departure": "2023-05-28T09:56:08Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_12",
                            "type": "pickup",
                            "location": {
                                "lat": 52.458232,
                                "lng": 13.338698
                            },
                            "time": {
                                "start": "2023-05-28T09:46:08Z",
                                "end": "2023-05-28T09:56:08Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.458232,
                        "lng": 13.338698
                    },
                    "distance": 31674
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:00:35Z",
                        "departure": "2023-05-28T10:10:35Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_13",
                            "type": "pickup",
                            "location": {
                                "lat": 52.457629,
                                "lng": 13.323742
                            },
                            "time": {
                                "start": "2023-05-28T10:00:35Z",
                                "end": "2023-05-28T10:10:35Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.457629,
                        "lng": 13.323742
                    },
                    "distance": 33821
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:23:15Z",
                        "departure": "2023-05-28T10:23:15Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "arrival",
                            "type": "arrival",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            },
                            "time": {
                                "start": "2023-05-28T10:23:15Z",
                                "end": "2023-05-28T10:23:15Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.488148,
                        "lng": 13.369797
                    },
                    "distance": 40870
                }
            ],
            "statistic": {
                "cost": 47.975,
                "distance": 40870,
                "duration": 8595,
                "times": {
                    "driving": 4395,
                    "serving": 4200,
                    "waiting": 0,
                    "stopping": 0,
                    "break": 0
                }
            },
            "shiftIndex": 0
        },
        {
            "vehicleId": "garbage_truck_2",
            "typeId": "garbage_truck",
            "stops": [
                {
                    "time": {
                        "arrival": "2023-05-28T08:00:00Z",
                        "departure": "2023-05-28T08:00:00Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "departure",
                            "type": "departure",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T08:00:00Z",
                                "end": "2023-05-28T08:00:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 0
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:23:27Z",
                        "departure": "2023-05-28T08:33:27Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_6",
                            "type": "pickup",
                            "location": {
                                "lat": 52.434003,
                                "lng": 13.466142
                            },
                            "time": {
                                "start": "2023-05-28T08:23:27Z",
                                "end": "2023-05-28T08:33:27Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.434003,
                        "lng": 13.466142
                    },
                    "distance": 12952
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:39:51Z",
                        "departure": "2023-05-28T08:49:51Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_7",
                            "type": "pickup",
                            "location": {
                                "lat": 52.447476,
                                "lng": 13.433062
                            },
                            "time": {
                                "start": "2023-05-28T08:39:51Z",
                                "end": "2023-05-28T08:49:51Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.447476,
                        "lng": 13.433062
                    },
                    "distance": 16481
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:57:03Z",
                        "departure": "2023-05-28T09:07:03Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_8",
                            "type": "pickup",
                            "location": {
                                "lat": 52.458414,
                                "lng": 13.392079
                            },
                            "time": {
                                "start": "2023-05-28T08:57:03Z",
                                "end": "2023-05-28T09:07:03Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.458414,
                        "lng": 13.392079
                    },
                    "distance": 20505
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:18:07Z",
                        "departure": "2023-05-28T09:28:07Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "reload",
                            "type": "reload",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            },
                            "time": {
                                "start": "2023-05-28T09:18:07Z",
                                "end": "2023-05-28T09:28:07Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.488148,
                        "lng": 13.369797
                    },
                    "distance": 25910
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:40:27Z",
                        "departure": "2023-05-28T09:50:27Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_10",
                            "type": "pickup",
                            "location": {
                                "lat": 52.440807,
                                "lng": 13.351399
                            },
                            "time": {
                                "start": "2023-05-28T09:40:27Z",
                                "end": "2023-05-28T09:50:27Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.440807,
                        "lng": 13.351399
                    },
                    "distance": 32474
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:53:00Z",
                        "departure": "2023-05-28T10:03:00Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_9",
                            "type": "pickup",
                            "location": {
                                "lat": 52.446407,
                                "lng": 13.36047
                            },
                            "time": {
                                "start": "2023-05-28T09:53:00Z",
                                "end": "2023-05-28T10:03:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.446407,
                        "lng": 13.36047
                    },
                    "distance": 33568
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:05:57Z",
                        "departure": "2023-05-28T10:15:57Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_15",
                            "type": "pickup",
                            "location": {
                                "lat": 52.447377,
                                "lng": 13.363822
                            },
                            "time": {
                                "start": "2023-05-28T10:05:57Z",
                                "end": "2023-05-28T10:15:57Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.447377,
                        "lng": 13.363822
                    },
                    "distance": 34587
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:26:54Z",
                        "departure": "2023-05-28T10:26:54Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "arrival",
                            "type": "arrival",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            },
                            "time": {
                                "start": "2023-05-28T10:26:54Z",
                                "end": "2023-05-28T10:26:54Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.488148,
                        "lng": 13.369797
                    },
                    "distance": 40083
                }
            ],
            "statistic": {
                "cost": 49.07,
                "distance": 40083,
                "duration": 8814,
                "times": {
                    "driving": 4614,
                    "serving": 4200,
                    "waiting": 0,
                    "stopping": 0,
                    "break": 0
                }
            },
            "shiftIndex": 0
        },
        {
            "vehicleId": "garbage_truck_3",
            "typeId": "garbage_truck",
            "stops": [
                {
                    "time": {
                        "arrival": "2023-05-28T08:00:00Z",
                        "departure": "2023-05-28T08:00:00Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "departure",
                            "type": "departure",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T08:00:00Z",
                                "end": "2023-05-28T08:00:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 0
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:15:10Z",
                        "departure": "2023-05-28T08:25:10Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_2",
                            "type": "pickup",
                            "location": {
                                "lat": 52.534553,
                                "lng": 13.519429
                            },
                            "time": {
                                "start": "2023-05-28T08:15:10Z",
                                "end": "2023-05-28T08:25:10Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.534553,
                        "lng": 13.519429
                    },
                    "distance": 8613
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:37:10Z",
                        "departure": "2023-05-28T08:47:10Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_1",
                            "type": "pickup",
                            "location": {
                                "lat": 52.56182,
                                "lng": 13.497167
                            },
                            "time": {
                                "start": "2023-05-28T08:37:10Z",
                                "end": "2023-05-28T08:47:10Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.56182,
                        "lng": 13.497167
                    },
                    "distance": 13256
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:09:10Z",
                        "departure": "2023-05-28T09:19:10Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_14",
                            "type": "pickup",
                            "location": {
                                "lat": 52.552057,
                                "lng": 13.349613
                            },
                            "time": {
                                "start": "2023-05-28T09:09:10Z",
                                "end": "2023-05-28T09:19:10Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.552057,
                        "lng": 13.349613
                    },
                    "distance": 25022
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:37:44Z",
                        "departure": "2023-05-28T09:37:44Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "arrival",
                            "type": "arrival",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            },
                            "time": {
                                "start": "2023-05-28T09:37:44Z",
                                "end": "2023-05-28T09:37:44Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.488148,
                        "lng": 13.369797
                    },
                    "distance": 34118
                }
            ],
            "statistic": {
                "cost": 34.32,
                "distance": 34118,
                "duration": 5864,
                "times": {
                    "driving": 4064,
                    "serving": 1800,
                    "waiting": 0,
                    "stopping": 0,
                    "break": 0
                }
            },
            "shiftIndex": 0
        }
    ]
}

ソリューションが示すように、割り当てられたすべてのジョブが最適化により完了し、3台の車両 (garbage_truck_1garbage_truck_2garbage_truck_3) に分散されました。次の図はルートの内訳を視覚的に示したものです。

ルート終了場所と再積載場所として1つの廃棄場所が設定されたルート

このルートではgarbage_truck_1 (緑色でマーク) とgarbage_truck_2 (青色でマーク) の両方で7件のタスクを完了しました。これらのタスクには廃棄場所での1回の再積載が含まれていました。再積載後のゴミ収集の後に、両方のトラックは廃棄場所に戻って荷降ろしをしてルートを完了しました。

オプション2:再積載のために複数の廃棄場所を指定する

Here Tour Planing APIを使用すると、シフト内で最大5つの再積載場所を定義できます。reloadアクティビティのために複数の潜在的な廃棄場所を許可することにより、トラックが廃棄物の収集により多くの時間を費やせるようになります。

トラックは最も近い廃棄場所まで移動できるため、遠方になる可能性のある1つの場所に戻る場合に比べて移動時間が短縮されます。このアプローチは、いずれかの場所でのボトルネックや過積載を防ぐためにも効果的です。

次の問題には4つの再積載場所が含まれています。そのうちの1つはシフトが終了する場所としても指定されています。前のオプションと同様に、廃棄場所から集配センターまでの最終移動は静的セグメントであり、最適化には含まれません

Click to expand/collapse the sample JSON
{
    "configuration": {
        "experimentalFeatures": ["advancedObjectives"]
    },
    "fleet": {
        "types": [
            {
                "id": "garbage_truck",
                "profile": "truck",
                "costs": {
                    "fixed": 5,
                    "distance": 0,
                    "time": 0.005
                },
                "shifts": [
                    {
                        "start": {
                            "time": "2023-05-28T08:00:00Z",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            }
                        },
                        "end": {
                            "time": "2023-05-28T15:30:00Z",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            }
                        },
                        "reloads": [
                            {
                                "location": {
                                    "lat": 52.559049,
                                    "lng": 13.533147
                                },
                                "duration": 600
                            },
                            {
                                "location": {
                                    "lat": 52.488148,
                                    "lng": 13.369797
                                },
                                "duration": 600
                            },
                            {
                                "location": {
                                    "lat": 52.453058,
                                    "lng": 13.429382
                                },
                                "duration": 600
                            },
                            {
                                "location": {
                                    "lat": 52.528158,
                                    "lng": 13.313056
                                },
                                "duration": 600
                            }
                        ]
                    }
                ],
                "capacity": [30],
                "amount": 3
            }
        ],
        "profiles": [
            {
                "name": "truck",
                "type": "truck",
                "avoid": {
                    "features": ["uTurns"]
                },
                "options": {
                    "speedCap": 20
                }
            }
        ]
    },
    "plan": {
        "jobs": [
            {
                "id": "Job_1",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.56182,
                                        "lng": 13.497167
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_2",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.534553,
                                        "lng": 13.519429
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_3",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.482275,
                                        "lng": 13.502456
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_4",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.473537,
                                        "lng": 13.505414
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_5",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.463341,
                                        "lng": 13.49061
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_6",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.434003,
                                        "lng": 13.466142
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_7",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.447476,
                                        "lng": 13.433062
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_8",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.458414,
                                        "lng": 13.392079
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_9",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.446407,
                                        "lng": 13.36047
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_10",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.440807,
                                        "lng": 13.351399
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_11",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.462867,
                                        "lng": 13.342188
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_12",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.458232,
                                        "lng": 13.338698
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_13",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.457629,
                                        "lng": 13.323742
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_14",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.552057,
                                        "lng": 13.349613
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_15",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.447377,
                                        "lng": 13.363822
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            }
        ]
    },
    "advancedObjectives": [
        [
            {
                "type": "minimizeUnassigned"
            }
        ],
        [
            {
                "type": "minimizeCost"
            }
        ],
        [
            {
                "type": "minimizeTourOverlap"
            }
        ]
    ]
}

ソリューション

次のセクションでは、前の問題の完全なソリューションについて説明します。

Click to expand/collapse the sample JSON
{
    "statistic": {
        "cost": 120.435,
        "distance": 108253,
        "duration": 23087,
        "times": {
            "driving": 11687,
            "serving": 11400,
            "waiting": 0,
            "stopping": 0,
            "break": 0
        }
    },
    "tours": [
        {
            "vehicleId": "garbage_truck_3",
            "typeId": "garbage_truck",
            "stops": [
                {
                    "time": {
                        "arrival": "2023-05-28T08:00:00Z",
                        "departure": "2023-05-28T08:00:00Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "departure",
                            "type": "departure",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T08:00:00Z",
                                "end": "2023-05-28T08:00:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 0
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:20:00Z",
                        "departure": "2023-05-28T08:30:00Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_11",
                            "type": "pickup",
                            "location": {
                                "lat": 52.462867,
                                "lng": 13.342188
                            },
                            "time": {
                                "start": "2023-05-28T08:20:00Z",
                                "end": "2023-05-28T08:30:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.462867,
                        "lng": 13.342188
                    },
                    "distance": 10938
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:33:05Z",
                        "departure": "2023-05-28T08:43:05Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_12",
                            "type": "pickup",
                            "location": {
                                "lat": 52.458232,
                                "lng": 13.338698
                            },
                            "time": {
                                "start": "2023-05-28T08:33:05Z",
                                "end": "2023-05-28T08:43:05Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.458232,
                        "lng": 13.338698
                    },
                    "distance": 12149
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:47:32Z",
                        "departure": "2023-05-28T08:57:32Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_13",
                            "type": "pickup",
                            "location": {
                                "lat": 52.457629,
                                "lng": 13.323742
                            },
                            "time": {
                                "start": "2023-05-28T08:47:32Z",
                                "end": "2023-05-28T08:57:32Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.457629,
                        "lng": 13.323742
                    },
                    "distance": 14296
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:16:28Z",
                        "departure": "2023-05-28T09:26:28Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "reload",
                            "type": "reload",
                            "location": {
                                "lat": 52.528158,
                                "lng": 13.313056
                            },
                            "time": {
                                "start": "2023-05-28T09:16:28Z",
                                "end": "2023-05-28T09:26:28Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.528158,
                        "lng": 13.313056
                    },
                    "distance": 30908
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:35:09Z",
                        "departure": "2023-05-28T09:45:09Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_14",
                            "type": "pickup",
                            "location": {
                                "lat": 52.552057,
                                "lng": 13.349613
                            },
                            "time": {
                                "start": "2023-05-28T09:35:09Z",
                                "end": "2023-05-28T09:45:09Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.552057,
                        "lng": 13.349613
                    },
                    "distance": 35313
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:10:51Z",
                        "departure": "2023-05-28T10:20:51Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_1",
                            "type": "pickup",
                            "location": {
                                "lat": 52.56182,
                                "lng": 13.497167
                            },
                            "time": {
                                "start": "2023-05-28T10:10:51Z",
                                "end": "2023-05-28T10:20:51Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.56182,
                        "lng": 13.497167
                    },
                    "distance": 46860
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:28:10Z",
                        "departure": "2023-05-28T10:38:10Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_2",
                            "type": "pickup",
                            "location": {
                                "lat": 52.534553,
                                "lng": 13.519429
                            },
                            "time": {
                                "start": "2023-05-28T10:28:10Z",
                                "end": "2023-05-28T10:38:10Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.534553,
                        "lng": 13.519429
                    },
                    "distance": 50609
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:45:14Z",
                        "departure": "2023-05-28T10:55:14Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "reload",
                            "type": "reload",
                            "location": {
                                "lat": 52.559049,
                                "lng": 13.533147
                            },
                            "time": {
                                "start": "2023-05-28T10:45:14Z",
                                "end": "2023-05-28T10:55:14Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.559049,
                        "lng": 13.533147
                    },
                    "distance": 54905
                },
                {
                    "time": {
                        "arrival": "2023-05-28T11:15:13Z",
                        "departure": "2023-05-28T11:25:13Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_3",
                            "type": "pickup",
                            "location": {
                                "lat": 52.482275,
                                "lng": 13.502456
                            },
                            "time": {
                                "start": "2023-05-28T11:15:13Z",
                                "end": "2023-05-28T11:25:13Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.482275,
                        "lng": 13.502456
                    },
                    "distance": 67409
                },
                {
                    "time": {
                        "arrival": "2023-05-28T11:27:13Z",
                        "departure": "2023-05-28T11:37:13Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_4",
                            "type": "pickup",
                            "location": {
                                "lat": 52.473537,
                                "lng": 13.505414
                            },
                            "time": {
                                "start": "2023-05-28T11:27:13Z",
                                "end": "2023-05-28T11:37:13Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.473537,
                        "lng": 13.505414
                    },
                    "distance": 68695
                },
                {
                    "time": {
                        "arrival": "2023-05-28T11:44:05Z",
                        "departure": "2023-05-28T11:54:05Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_5",
                            "type": "pickup",
                            "location": {
                                "lat": 52.463341,
                                "lng": 13.49061
                            },
                            "time": {
                                "start": "2023-05-28T11:44:05Z",
                                "end": "2023-05-28T11:54:05Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.463341,
                        "lng": 13.49061
                    },
                    "distance": 71636
                },
                {
                    "time": {
                        "arrival": "2023-05-28T12:03:34Z",
                        "departure": "2023-05-28T12:13:34Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "reload",
                            "type": "reload",
                            "location": {
                                "lat": 52.453058,
                                "lng": 13.429382
                            },
                            "time": {
                                "start": "2023-05-28T12:03:34Z",
                                "end": "2023-05-28T12:13:34Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.453058,
                        "lng": 13.429382
                    },
                    "distance": 76873
                },
                {
                    "time": {
                        "arrival": "2023-05-28T12:21:20Z",
                        "departure": "2023-05-28T12:31:20Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_6",
                            "type": "pickup",
                            "location": {
                                "lat": 52.434003,
                                "lng": 13.466142
                            },
                            "time": {
                                "start": "2023-05-28T12:21:20Z",
                                "end": "2023-05-28T12:31:20Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.434003,
                        "lng": 13.466142
                    },
                    "distance": 81122
                },
                {
                    "time": {
                        "arrival": "2023-05-28T12:37:44Z",
                        "departure": "2023-05-28T12:47:44Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_7",
                            "type": "pickup",
                            "location": {
                                "lat": 52.447476,
                                "lng": 13.433062
                            },
                            "time": {
                                "start": "2023-05-28T12:37:44Z",
                                "end": "2023-05-28T12:47:44Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.447476,
                        "lng": 13.433062
                    },
                    "distance": 84651
                },
                {
                    "time": {
                        "arrival": "2023-05-28T12:54:56Z",
                        "departure": "2023-05-28T13:04:56Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_8",
                            "type": "pickup",
                            "location": {
                                "lat": 52.458414,
                                "lng": 13.392079
                            },
                            "time": {
                                "start": "2023-05-28T12:54:56Z",
                                "end": "2023-05-28T13:04:56Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.458414,
                        "lng": 13.392079
                    },
                    "distance": 88675
                },
                {
                    "time": {
                        "arrival": "2023-05-28T13:16:00Z",
                        "departure": "2023-05-28T13:26:00Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "reload",
                            "type": "reload",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            },
                            "time": {
                                "start": "2023-05-28T13:16:00Z",
                                "end": "2023-05-28T13:26:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.488148,
                        "lng": 13.369797
                    },
                    "distance": 94080
                },
                {
                    "time": {
                        "arrival": "2023-05-28T13:38:20Z",
                        "departure": "2023-05-28T13:48:20Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_10",
                            "type": "pickup",
                            "location": {
                                "lat": 52.440807,
                                "lng": 13.351399
                            },
                            "time": {
                                "start": "2023-05-28T13:38:20Z",
                                "end": "2023-05-28T13:48:20Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.440807,
                        "lng": 13.351399
                    },
                    "distance": 100644
                },
                {
                    "time": {
                        "arrival": "2023-05-28T13:50:53Z",
                        "departure": "2023-05-28T14:00:53Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_9",
                            "type": "pickup",
                            "location": {
                                "lat": 52.446407,
                                "lng": 13.36047
                            },
                            "time": {
                                "start": "2023-05-28T13:50:53Z",
                                "end": "2023-05-28T14:00:53Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.446407,
                        "lng": 13.36047
                    },
                    "distance": 101738
                },
                {
                    "time": {
                        "arrival": "2023-05-28T14:03:50Z",
                        "departure": "2023-05-28T14:13:50Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_15",
                            "type": "pickup",
                            "location": {
                                "lat": 52.447377,
                                "lng": 13.363822
                            },
                            "time": {
                                "start": "2023-05-28T14:03:50Z",
                                "end": "2023-05-28T14:13:50Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.447377,
                        "lng": 13.363822
                    },
                    "distance": 102757
                },
                {
                    "time": {
                        "arrival": "2023-05-28T14:24:47Z",
                        "departure": "2023-05-28T14:24:47Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "arrival",
                            "type": "arrival",
                            "location": {
                                "lat": 52.488148,
                                "lng": 13.369797
                            },
                            "time": {
                                "start": "2023-05-28T14:24:47Z",
                                "end": "2023-05-28T14:24:47Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.488148,
                        "lng": 13.369797
                    },
                    "distance": 108253
                }
            ],
            "statistic": {
                "cost": 120.435,
                "distance": 108253,
                "duration": 23087,
                "times": {
                    "driving": 11687,
                    "serving": 11400,
                    "waiting": 0,
                    "stopping": 0,
                    "break": 0
                }
            },
            "shiftIndex": 0
        }
    ]
}

この場合、最適化アルゴリズムはルートを完了するための最も効率的な方法として、4回の再積載などすべてのジョブを遂行する1台の車両を指定しました。次の図はルートの内訳を視覚的に示したものです。

再積載場所として複数の廃棄場所を設定したルート

最適化アルゴリズムによって割り当てられた車両は、最大容量に達するまで廃棄物を収集してルートを完了します。車両は途中にある利用可能な場所をすべて利用しながら、最も近い廃棄場所で荷降ろしをします。これにより、廃棄場所への往復の運転時間が短縮され、ルートの効率が向上します。

オプション3:位置とスキルの特徴を組み合わせて廃棄場所を指定する

ユースケースの目的を達成するもう1つの方法は、positionskills機能を使用することです。まず、運行管理の各車両タイプにskills値を割り当てます。次に、skills値に一致する各車両タイプに対し配達ジョブを作成します。このジョブが常にルートの最後になるよう (集配センターに戻る前に荷台が空になるよう) 徹底するには、ジョブのpositionlastに設定します。

📘

この方法を使用すると、車両が空のときの最終廃棄場所から集配センターまでのルートがソリューションに含まれます。

この問題では、各車両タイプ (スキル"1""2""3") に、集配センターに戻る前に廃棄場所への最終訪問を表すジョブが割り当てられます。これらのジョブは同じ場所を共有し、positionパラメーターがlastに設定されます。reloads場所は廃棄場所と一致しているため、必要に応じて複数回訪問して荷降ろしをすることができます。

次のセクションには、問題のJSON全体が含まれています。

Click to expand/collapse the sample JSON
{
    "fleet": {
        "types": [
            {
                "id": "garbage_truck_1",
                "profile": "truck",
                "costs": {
                    "fixed": 5,
                    "distance": 0,
                    "time": 0.005
                },
                "shifts": [
                    {
                        "start": {
                            "time": "2023-05-28T08:00:00Z",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            }
                        },
                        "end": {
                            "time": "2023-05-28T16:00:00Z",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            }
                        },
                        "reloads": [
                            {
                                "location": {
                                    "lat": 52.559049,
                                    "lng": 13.533147
                                },
                                "duration": 600
                            }
                        ]
                    }
                ],
                "capacity": [30],
                "skills": ["1"],
                "amount": 1
            },
            {
                "id": "garbage_truck_2",
                "profile": "truck",
                "costs": {
                    "fixed": 5,
                    "distance": 0,
                    "time": 0.005
                },
                "shifts": [
                    {
                        "start": {
                            "time": "2023-05-28T08:00:00Z",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            }
                        },
                        "end": {
                            "time": "2023-05-28T15:30:00Z",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            }
                        },
                        "reloads": [
                            {
                                "location": {
                                    "lat": 52.559049,
                                    "lng": 13.533147
                                },
                                "duration": 600
                            }
                        ]
                    }
                ],
                "capacity": [30],
                "skills": ["2"],
                "amount": 1
            },
            {
                "id": "garbage_truck_3",
                "profile": "truck",
                "costs": {
                    "fixed": 5,
                    "distance": 0,
                    "time": 0.005
                },
                "shifts": [
                    {
                        "start": {
                            "time": "2023-05-28T08:00:00Z",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            }
                        },
                        "end": {
                            "time": "2023-05-28T15:30:00Z",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            }
                        },
                        "reloads": [
                            {
                                "location": {
                                    "lat": 52.559049,
                                    "lng": 13.533147
                                },
                                "duration": 600
                            }
                        ]
                    }
                ],
                "capacity": [30],
                "skills": ["3"],
                "amount": 1
            }
        ],
        "profiles": [
            {
                "name": "truck",
                "type": "truck",
                "avoid": {
                    "features": ["uTurns"]
                },
                "options": {
                    "speedCap": 20
                }
            }
        ]
    },
    "plan": {
        "jobs": [
            {
                "id": "Job_1",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.56182,
                                        "lng": 13.497167
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_2",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.534553,
                                        "lng": 13.519429
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_3",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.482275,
                                        "lng": 13.502456
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_4",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.473537,
                                        "lng": 13.505414
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_5",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.463341,
                                        "lng": 13.49061
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_6",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.434003,
                                        "lng": 13.466142
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_7",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.447476,
                                        "lng": 13.433062
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_8",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.458414,
                                        "lng": 13.392079
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_9",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.446407,
                                        "lng": 13.36047
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_10",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.440807,
                                        "lng": 13.351399
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_11",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.462867,
                                        "lng": 13.342188
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_12",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.458232,
                                        "lng": 13.338698
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_13",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.457629,
                                        "lng": 13.323742
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_14",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.552057,
                                        "lng": 13.349613
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Job_15",
                "tasks": {
                    "pickups": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.447377,
                                        "lng": 13.363822
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [10]
                        }
                    ]
                }
            },
            {
                "id": "Dumping_Site_1",
                "skills": ["1"],
                "tasks": {
                    "deliveries": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.559049,
                                        "lng": 13.533147
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [0],
                            "position": {
                                "type": "last"
                            }
                        }
                    ]
                }
            },
            {
                "id": "Dumping_Site_2",
                "skills": ["2"],
                "tasks": {
                    "deliveries": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.559049,
                                        "lng": 13.533147
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [0],
                            "position": {
                                "type": "last"
                            }
                        }
                    ]
                }
            },
            {
                "id": "Dumping_Site_3",
                "skills": ["3"],
                "tasks": {
                    "deliveries": [
                        {
                            "places": [
                                {
                                    "location": {
                                        "lat": 52.559049,
                                        "lng": 13.533147
                                    },
                                    "duration": 600
                                }
                            ],
                            "demand": [0],
                            "position": {
                                "type": "last"
                            }
                        }
                    ]
                }
            }
        ]
    },
    "advancedObjectives": [
        [
            {
                "type": "minimizeUnassigned"
            }
        ],
        [
            {
                "type": "minimizeTourOverlap"
            }
        ],
        [
            {
                "type": "optimizeTaskPosition"
            }
        ],
        [
            {
                "type": "minimizeCost"
            }
        ]
    ]
}

ソリューション

次のセクションでは、前の問題の完全なソリューションについて説明します。

Click to expand/collapse the sample JSON
{
    "statistic": {
        "cost": 191.005,
        "distance": 219765,
        "duration": 35201,
        "times": {
            "driving": 23201,
            "serving": 12000,
            "waiting": 0,
            "stopping": 0,
            "break": 0
        }
    },
    "tours": [
        {
            "vehicleId": "garbage_truck_1_1",
            "typeId": "garbage_truck_1",
            "stops": [
                {
                    "time": {
                        "arrival": "2023-05-28T08:00:00Z",
                        "departure": "2023-05-28T08:00:00Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "departure",
                            "type": "departure",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T08:00:00Z",
                                "end": "2023-05-28T08:00:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 0
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:20:26Z",
                        "departure": "2023-05-28T08:30:26Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_14",
                            "type": "pickup",
                            "location": {
                                "lat": 52.552057,
                                "lng": 13.349613
                            },
                            "time": {
                                "start": "2023-05-28T08:20:26Z",
                                "end": "2023-05-28T08:30:26Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.552057,
                        "lng": 13.349613
                    },
                    "distance": 9830
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:56:08Z",
                        "departure": "2023-05-28T09:06:08Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_1",
                            "type": "pickup",
                            "location": {
                                "lat": 52.56182,
                                "lng": 13.497167
                            },
                            "time": {
                                "start": "2023-05-28T08:56:08Z",
                                "end": "2023-05-28T09:06:08Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.56182,
                        "lng": 13.497167
                    },
                    "distance": 21377
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:13:27Z",
                        "departure": "2023-05-28T09:23:27Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_2",
                            "type": "pickup",
                            "location": {
                                "lat": 52.534553,
                                "lng": 13.519429
                            },
                            "time": {
                                "start": "2023-05-28T09:13:27Z",
                                "end": "2023-05-28T09:23:27Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.534553,
                        "lng": 13.519429
                    },
                    "distance": 25126
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:30:31Z",
                        "departure": "2023-05-28T09:40:31Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "reload",
                            "type": "reload",
                            "location": {
                                "lat": 52.559049,
                                "lng": 13.533147
                            },
                            "time": {
                                "start": "2023-05-28T09:30:31Z",
                                "end": "2023-05-28T09:40:31Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.559049,
                        "lng": 13.533147
                    },
                    "distance": 29422
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:03:44Z",
                        "departure": "2023-05-28T10:13:44Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_5",
                            "type": "pickup",
                            "location": {
                                "lat": 52.463341,
                                "lng": 13.49061
                            },
                            "time": {
                                "start": "2023-05-28T10:03:44Z",
                                "end": "2023-05-28T10:13:44Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.463341,
                        "lng": 13.49061
                    },
                    "distance": 43551
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:21:03Z",
                        "departure": "2023-05-28T10:31:03Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_3",
                            "type": "pickup",
                            "location": {
                                "lat": 52.482275,
                                "lng": 13.502456
                            },
                            "time": {
                                "start": "2023-05-28T10:21:03Z",
                                "end": "2023-05-28T10:31:03Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.482275,
                        "lng": 13.502456
                    },
                    "distance": 47269
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:33:03Z",
                        "departure": "2023-05-28T10:43:03Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_4",
                            "type": "pickup",
                            "location": {
                                "lat": 52.473537,
                                "lng": 13.505414
                            },
                            "time": {
                                "start": "2023-05-28T10:33:03Z",
                                "end": "2023-05-28T10:43:03Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.473537,
                        "lng": 13.505414
                    },
                    "distance": 48555
                },
                {
                    "time": {
                        "arrival": "2023-05-28T11:02:09Z",
                        "departure": "2023-05-28T11:12:09Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Dumping_Site_1",
                            "type": "delivery",
                            "location": {
                                "lat": 52.559049,
                                "lng": 13.533147
                            },
                            "time": {
                                "start": "2023-05-28T11:02:09Z",
                                "end": "2023-05-28T11:12:09Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.559049,
                        "lng": 13.533147
                    },
                    "distance": 61015
                },
                {
                    "time": {
                        "arrival": "2023-05-28T11:32:01Z",
                        "departure": "2023-05-28T11:32:01Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "arrival",
                            "type": "arrival",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T11:32:01Z",
                                "end": "2023-05-28T11:32:01Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 73024
                }
            ],
            "statistic": {
                "cost": 68.605,
                "distance": 73024,
                "duration": 12721,
                "times": {
                    "driving": 7921,
                    "serving": 4800,
                    "waiting": 0,
                    "stopping": 0,
                    "break": 0
                }
            },
            "shiftIndex": 0
        },
        {
            "vehicleId": "garbage_truck_2_1",
            "typeId": "garbage_truck_2",
            "stops": [
                {
                    "time": {
                        "arrival": "2023-05-28T08:00:00Z",
                        "departure": "2023-05-28T08:00:00Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "departure",
                            "type": "departure",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T08:00:00Z",
                                "end": "2023-05-28T08:00:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 0
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:21:57Z",
                        "departure": "2023-05-28T08:31:57Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_11",
                            "type": "pickup",
                            "location": {
                                "lat": 52.462867,
                                "lng": 13.342188
                            },
                            "time": {
                                "start": "2023-05-28T08:21:57Z",
                                "end": "2023-05-28T08:31:57Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.462867,
                        "lng": 13.342188
                    },
                    "distance": 11790
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:35:02Z",
                        "departure": "2023-05-28T08:45:02Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_12",
                            "type": "pickup",
                            "location": {
                                "lat": 52.458232,
                                "lng": 13.338698
                            },
                            "time": {
                                "start": "2023-05-28T08:35:02Z",
                                "end": "2023-05-28T08:45:02Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.458232,
                        "lng": 13.338698
                    },
                    "distance": 13001
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:49:29Z",
                        "departure": "2023-05-28T08:59:29Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_13",
                            "type": "pickup",
                            "location": {
                                "lat": 52.457629,
                                "lng": 13.323742
                            },
                            "time": {
                                "start": "2023-05-28T08:49:29Z",
                                "end": "2023-05-28T08:59:29Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.457629,
                        "lng": 13.323742
                    },
                    "distance": 15148
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:38:24Z",
                        "departure": "2023-05-28T09:48:24Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "reload",
                            "type": "reload",
                            "location": {
                                "lat": 52.559049,
                                "lng": 13.533147
                            },
                            "time": {
                                "start": "2023-05-28T09:38:24Z",
                                "end": "2023-05-28T09:48:24Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.559049,
                        "lng": 13.533147
                    },
                    "distance": 39313
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:20:22Z",
                        "departure": "2023-05-28T10:30:22Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_6",
                            "type": "pickup",
                            "location": {
                                "lat": 52.434003,
                                "lng": 13.466142
                            },
                            "time": {
                                "start": "2023-05-28T10:20:22Z",
                                "end": "2023-05-28T10:30:22Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.434003,
                        "lng": 13.466142
                    },
                    "distance": 58177
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:36:46Z",
                        "departure": "2023-05-28T10:46:46Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_7",
                            "type": "pickup",
                            "location": {
                                "lat": 52.447476,
                                "lng": 13.433062
                            },
                            "time": {
                                "start": "2023-05-28T10:36:46Z",
                                "end": "2023-05-28T10:46:46Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.447476,
                        "lng": 13.433062
                    },
                    "distance": 61706
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:53:58Z",
                        "departure": "2023-05-28T11:03:58Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_8",
                            "type": "pickup",
                            "location": {
                                "lat": 52.458414,
                                "lng": 13.392079
                            },
                            "time": {
                                "start": "2023-05-28T10:53:58Z",
                                "end": "2023-05-28T11:03:58Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.458414,
                        "lng": 13.392079
                    },
                    "distance": 65730
                },
                {
                    "time": {
                        "arrival": "2023-05-28T11:39:25Z",
                        "departure": "2023-05-28T11:49:25Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Dumping_Site_2",
                            "type": "delivery",
                            "location": {
                                "lat": 52.559049,
                                "lng": 13.533147
                            },
                            "time": {
                                "start": "2023-05-28T11:39:25Z",
                                "end": "2023-05-28T11:49:25Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.559049,
                        "lng": 13.533147
                    },
                    "distance": 88296
                },
                {
                    "time": {
                        "arrival": "2023-05-28T12:09:17Z",
                        "departure": "2023-05-28T12:09:17Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "arrival",
                            "type": "arrival",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T12:09:17Z",
                                "end": "2023-05-28T12:09:17Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 100305
                }
            ],
            "statistic": {
                "cost": 79.785,
                "distance": 100305,
                "duration": 14957,
                "times": {
                    "driving": 10157,
                    "serving": 4800,
                    "waiting": 0,
                    "stopping": 0,
                    "break": 0
                }
            },
            "shiftIndex": 0
        },
        {
            "vehicleId": "garbage_truck_3_1",
            "typeId": "garbage_truck_3",
            "stops": [
                {
                    "time": {
                        "arrival": "2023-05-28T08:00:00Z",
                        "departure": "2023-05-28T08:00:00Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "departure",
                            "type": "departure",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T08:00:00Z",
                                "end": "2023-05-28T08:00:00Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 0
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:22:19Z",
                        "departure": "2023-05-28T08:32:19Z"
                    },
                    "load": [10],
                    "activities": [
                        {
                            "jobId": "Job_10",
                            "type": "pickup",
                            "location": {
                                "lat": 52.440807,
                                "lng": 13.351399
                            },
                            "time": {
                                "start": "2023-05-28T08:22:19Z",
                                "end": "2023-05-28T08:32:19Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.440807,
                        "lng": 13.351399
                    },
                    "distance": 10902
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:34:52Z",
                        "departure": "2023-05-28T08:44:52Z"
                    },
                    "load": [20],
                    "activities": [
                        {
                            "jobId": "Job_9",
                            "type": "pickup",
                            "location": {
                                "lat": 52.446407,
                                "lng": 13.36047
                            },
                            "time": {
                                "start": "2023-05-28T08:34:52Z",
                                "end": "2023-05-28T08:44:52Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.446407,
                        "lng": 13.36047
                    },
                    "distance": 11996
                },
                {
                    "time": {
                        "arrival": "2023-05-28T08:47:49Z",
                        "departure": "2023-05-28T08:57:49Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Job_15",
                            "type": "pickup",
                            "location": {
                                "lat": 52.447377,
                                "lng": 13.363822
                            },
                            "time": {
                                "start": "2023-05-28T08:47:49Z",
                                "end": "2023-05-28T08:57:49Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.447377,
                        "lng": 13.363822
                    },
                    "distance": 13015
                },
                {
                    "time": {
                        "arrival": "2023-05-28T09:35:31Z",
                        "departure": "2023-05-28T09:45:31Z"
                    },
                    "load": [30],
                    "activities": [
                        {
                            "jobId": "Dumping_Site_3",
                            "type": "delivery",
                            "location": {
                                "lat": 52.559049,
                                "lng": 13.533147
                            },
                            "time": {
                                "start": "2023-05-28T09:35:31Z",
                                "end": "2023-05-28T09:45:31Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.559049,
                        "lng": 13.533147
                    },
                    "distance": 34427
                },
                {
                    "time": {
                        "arrival": "2023-05-28T10:05:23Z",
                        "departure": "2023-05-28T10:05:23Z"
                    },
                    "load": [0],
                    "activities": [
                        {
                            "jobId": "arrival",
                            "type": "arrival",
                            "location": {
                                "lat": 52.50935,
                                "lng": 13.41997
                            },
                            "time": {
                                "start": "2023-05-28T10:05:23Z",
                                "end": "2023-05-28T10:05:23Z"
                            }
                        }
                    ],
                    "location": {
                        "lat": 52.50935,
                        "lng": 13.41997
                    },
                    "distance": 46436
                }
            ],
            "statistic": {
                "cost": 42.615,
                "distance": 46436,
                "duration": 7523,
                "times": {
                    "driving": 5123,
                    "serving": 2400,
                    "waiting": 0,
                    "stopping": 0,
                    "break": 0
                }
            },
            "shiftIndex": 0
        }
    ]
}

次の図はルートの内訳を視覚的に示したものです。

集配センターに戻る前の最後のジョブとして廃棄場所を設定したルート

ソリューションと対応する視覚化の両方が示すように、すべての車両は集配センターの場所でルートを開始し終了しました。すべての車両にとって、廃棄場所は再積載場所 (積載量の上限である30に達した場合) であるとともに、集配センターに戻る前に残りのゴミを降ろす最終停車地でもありました。

結論

HERE Tour Planning APIには幅広い機能が用意されており、さまざまなユースケースに合わせてルートプランをカスタマイズできるため、特定のニーズに最適なソリューションを確実に提供できます。食品配達、乗客輸送、廃棄物管理などであっても、APIが提供するツールを使用することにより、物流業務を効率化できます。

次のステップ

  • HERE Tour Planning APIで問題を作成する方法の詳細については、「問題」を参照してください。
  • HERE Tour Planning APIのメソッド、エンドポイント、パラメーターの詳細については、「APIリファレンス」を参照してください。