0

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)

これをどのように使用しますか?パラメータの目的は何ですか?

計算の同じ質問 (文字列)。

ありがとうございます、

よろしく

4

0 に答える 0