findsequence または findsequence2 を使用して配送スケジュールを作成したいと考えています。ユースケースは、ドライバーの配達時間 (シフト) 中に指定された数の配達ポイントにサービスを提供し、配達の時間枠を尊重すること (顧客の約束) です。
例として、午後 2 時 45 分から午後 5 時まで 1 つのシフトがあり、その間に 4 人の顧客 (うち 2 人は午後 3 時から 4 時の間に、他の 2 人は午後 3 時 45 分から午後 4 時 45 分の間) に配達する必要があります。車でデポに戻るまでの 15 分前後 (必要な場合)。
次に、JSON 本文を次のように準備します。
{
"configuration": {
"optimizations": {
"traffic": "automatic",
"waitingTime": {
"bufferTime": 0,
"reduce": true
}
}
},
"fleet": {
"profiles": [
{
"type":"truck",
"name":"truck1",
"avoid":["dirtRoad","tunnel","tollRoad","motorway","ferry"],
"grossWeight":"1500",
"height":"270",
"length":"500",
"width":"200"
}
],
"types": [
{
"amount": 1,
"capacity": [48],
"costs": {
"distance": 0.0001,
"fixed": 22,
"time": 0.0048
},
"id": "trucktour",
"limits": {
"maxDistance": 90000,
"shiftTime": 10800
},
"profile": "truck1",
"shifts": [
{
"breaks": [],
"end": {
"location": {
"lat": 50.641637553647136,
"lng": 3.1477106404827118
},
"time": "2021-08-27T17:00:00.000+00:00"
},
"start": {
"location": {
"lat": 50.641637553647136,
"lng": 3.1477106404827118
},
"time": "2021-08-27T14:45:00.000+00:00"
}
}
],
"skills": []
}
]
},
"id": "slot-15h",
"plan": {
"jobs": [
{
"id": "truck1",
"places": {
"deliveries": [
{
"demand": [4],
"duration": 300,
"location": {
"lat": 50.6595992042328,
"lng": 3.1470162269920223
},
"tag": "customer1",
"times": [["2021-08-27T15:00:00.000+00:00","2021-08-27T16:00:00.000+00:00"]]
},
{
"demand": [4],
"duration": 300,
"location": {
"lat": 50.65862409934626,
"lng": 3.1391219088675673
},
"tag": "customer2",
"times": [["2021-08-27T15:00:00.000+00:00","2021-08-27T16:00:00.000+00:00"]]
},
{
"demand": [4],
"duration": 300,
"location": {
"lat": 50.60789339043843,
"lng": 3.162205326990276
},
"tag": "customer3",
"times": [["2021-08-27T15:45:00.000+00:00","2021-08-27T16:45:00.000+00:00"]]
},
{
"demand": [4],
"duration": 300,
"location": {
"lat": 50.67137277026562,
"lng": 3.091246340483741
},
"tag": "customer4",
"times": [["2021-08-27T15:45:00.000+00:00","2021-08-27T16:45:00.000+00:00"]]
}
],
"pickups": []
},
"skills": []
}
],
"relations": [
]
}
}
私はこのエンドポイントを使用します: https://wps.hereapi.com/v8/findsequence
=>このブロックを軽蔑する:
"waitingTime": {
"bufferTime": 0,
"reduce": true
}
適用される配信フレームの縮小や最適化 (シフト時間の短縮) はありません。最初の顧客は、設定された時間枠の外 (15:00 ではなく 14:50) に配信されます。
{
"problemId": "slot-15h",
"statistic": {
"cost": null,
"distance": 30934,
"duration": 5709,
"times": {
"break": 0,
"driving": 4509,
"serving": 1200,
"waiting": 0
}
},
"tours": [
{
"vehicleId": "truck1",
"typeId": null,
"stops": [
{
"location": {
"lat": 50.641637553647136,
"lng": 3.1477106404827118
},
"time": {
"arrival": null,
"departure": "2021-08-27T14:45:00.000+0000"
},
"load": [],
"activities": [
{
"jobId": "departure",
"jobTag": "departure",
"type": null,
"location": null,
"time": null
}
]
},
{
"location": {
"lat": 50.65862409934626,
"lng": 3.1391219088675673
},
"time": {
"arrival": "2021-08-27T14:54:06.000+0000",
"departure": "2021-08-27T14:59:06.000+0000"
},
"load": [],
"activities": [
{
"jobId": "customer2",
"jobTag": "customer2",
"type": null,
"location": null,
"time": null
}
]
},
{
"location": {
"lat": 50.6595992042328,
"lng": 3.1470162269920223
},
"time": {
"arrival": "2021-08-27T15:03:49.000+0000",
"departure": "2021-08-27T15:08:49.000+0000"
},
"load": [],
"activities": [
{
"jobId": "customer1",
"jobTag": "customer1",
"type": null,
"location": null,
"time": null
}
]
},
{
"location": {
"lat": 50.67137277026562,
"lng": 3.091246340483741
},
"time": {
"arrival": "2021-08-27T15:24:23.000+0000",
"departure": "2021-08-27T15:29:23.000+0000"
},
"load": [],
"activities": [
{
"jobId": "customer4",
"jobTag": "customer4",
"type": null,
"location": null,
"time": null
}
]
},
{
"location": {
"lat": 50.60789339043843,
"lng": 3.162205326990276
},
"time": {
"arrival": "2021-08-27T15:58:16.000+0000",
"departure": "2021-08-27T16:03:16.000+0000"
},
"load": [],
"activities": [
{
"jobId": "customer3",
"jobTag": "customer3",
"type": null,
"location": null,
"time": null
}
]
},
{
"location": {
"lat": 50.641637553647136,
"lng": 3.1477106404827118
},
"time": {
"arrival": "2021-08-27T16:20:09.000+0000",
"departure": null
},
"load": [],
"activities": [
{
"jobId": "arrival",
"jobTag": "arrival",
"type": null,
"location": null,
"time": null
}
]
}
],
"statistic": {
"cost": null,
"distance": 30934,
"duration": 5709,
"times": {
"break": 0,
"driving": 4509,
"serving": 1200,
"waiting": 0
}
}
}
],
"unassigned": null
}
ここで同じ説明の別の問題を見たように: Here Waypoint Sequencing API doesn't Honor Delivery Windows (バックアップしようとしたが削除されたので、自分で問題を開く必要があると思いますか?)
この API に問題があるかどうか (プレビューのように思われるため)、同じ間違いを行っているかどうかを推測します。サポートしていただけますか?
2 番目の API を試してみました: https://wps.hereapi.com/v8/findsequence2
今回は、私の時間枠が考慮され、待ち時間がシフトに追加されます。素晴らしいニュース!今回は、前の API で提案された「waitingTime」/「reduce」パラメータで提案されたように、スケジュールを最適化し、トラックの出発を遅らせたいと思います。そのようなパラメータは findsequence2 に存在しますか?
私はこれを見つけました(文書化されていません):timingCompatibility(string)
これをどのように使用しますか?パラメータの目的は何ですか?
計算の同じ質問 (文字列)。
ありがとうございます、
よろしく