リクエスト メッセージを作成する

ルート最適化の概要で説明されているように、基本的なリクエスト は、必須のエンティティとして ModelShipmentsVehicles で構成されます。

  • モデル: リクエスト全体の設定と制約をキャプチャします。 ShipmentsVehicles の両方を含みます。
  • 配送は、受け取りと配送を含むタスクまたは実際の配送を表します。 送料は VisitRequest 秒です。配送にはローカルの設定と制約があります。
  • Vehicle(車両)は、車両、ドライバー、人員を表します。また、 制約を構成できます。

各エンティティのプロパティは、最適化の問題の一部を 粒度を指定しますモデル全体の制約は、 出荷と車両。ただし、出荷には制約とプロパティが指定されている 単一の配送または車両に固有であることを意味します。

各メッセージ タイプの詳細なドキュメントについては、リファレンス ドキュメントをご覧ください。 ShipmentModelRESTgRPC)、ShipmentRESTgRPC)の場合 VehicleRESTgRPC)メッセージ。

OptimizeToursRequest 件の宿泊施設

最上位の OptimizeToursRequest メッセージの一般的なプロパティ (RESTgRPC)には以下が含まれます。

  • searchMode は、次を満たす最初の解を返すかどうかを指定します セット内で最適な解を見つけることもできます。 あります。
  • considerRoadTraffic はライブ トラフィックを使用するかどうかを指定します ルートや到着予定時刻の予測に使用できます
  • populateTransitionPolylines は、ルートのポリラインを 返されます。

モデル プロパティ

ShipmentModel メッセージ(RESTgRPC)には以下が含まれます。

  • globalStartTime は、すべてのルートの中で最も早い開始時刻を表します。 把握することができますどの車両も最初の遷移を開始してはならず、 この時間より前には
  • globalEndTime は、すべての車両におけるルートの最も遅い終了時間を表します 役立ちます割り当てられた配送と移行がすべて完了していること この時間より前には

配送プロパティ

Shipment メッセージの一般的なプロパティ(RESTgRPC)のいくつか 含める:

  • pickups[]deliveries[] は、荷物を受け取ることができる場所を表します。 予測できますpickups[] プロパティと deliveries[] プロパティは、どちらも VisitRequest メッセージ(RESTgRPC)。
  • loadDemands は、車両が車両を完了するために必要な負荷を表します。 提供します。乗り物対応する load_limitsRESTgRPC) プロパティは、車両が一度に対応できる負荷の量を表します。 読み込みの詳細については、負荷の要求と制限をご覧ください。
  • penalty_cost は、配送がスキップされた場合の費用を表します。読む 費用の詳細については、費用モデル パラメータをご覧ください。

車両プロパティ

Vehicle メッセージの一般的なプロパティ(RESTgRPC)のいくつか 含める:

  • startLocation は、ルートの始点となる場所を表します。この プロパティは省略可能です。指定しない場合、車両のルートは 最初に割り当てられた配送先の場所を記録します。
  • endLocation は、車両がルートの終点となる場所を表します。このプロパティ オプションです。指定しない場合、車両のルートは 最後に割り当てられた配送です
  • startTimeWindows[] は、車両がルートを開始できるタイミングを表します。このプロパティは省略可能です。
  • endTimeWindows[] は、車両がルートを開始および終了するタイミングを表します。 どちらのプロパティも省略可能です。
  • loadLimits は、車両の 対応できます。負荷の要求と制限の詳細については、負荷の要求と制限に関する 制限

JSON 形式のリクエストの完全な例は、次のようになります。

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "costPerKilometer": 1.0
      }
    ],
   "globalStartTime": "2024-02-13T00:00:00.000Z",
   "globalEndTime": "2024-02-14T06:00:00.000Z"
  }
}

OptimizeToursBatchOptimizeTours はどちらも、次のようなリクエスト メッセージを使用します。 方法が異なります。ルートの最適化を行う前に 次の 2 つの方法の違いを理解することが重要です。

OptimizeTours と BatchOptimizeTours の比較