ShipmentModel
を含む OptimizeToursRequest
を送信し、ShipmentRoute
を含む OptimizeToursResponse
を返します。ShipmentRoute
は、全体的なコストを最小限に抑える車両で実行される一連のルートです。
ShipmentModel
モデルは主に、実行する必要がある Shipment
と、Shipment
の転送に使用できる Vehicle
で構成されています。ShipmentRoute
は Shipment
を Vehicle
に割り当てます。具体的には、一連の Visit
を各車両に割り当てます。Visit
は VisitRequest
(Shipment
の集荷または配達)に対応しています。
目標は、費用に多数のコンポーネントが ShipmentModel
で定義されている場合の合計費用を最小限に抑えるために、Vehicle
に ShipmentRoute
を割り当てることです。
HTTP リクエスト
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeTours
この URL は gRPC Transcoding 構文を使用します。
パスパラメータ
パラメータ | |
---|---|
parent |
必須。呼び出しを行うターゲット プロジェクトまたはロケーション。 形式: * ロケーションを指定しない場合、リージョンが自動的に選択されます。 |
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 |
---|
{ "timeout": string, "model": { object ( |
フィールド | |
---|---|
timeout |
このタイムアウトが設定されている場合、タイムアウト期間が経過するか、同期リクエストのサーバー期限に達するかのいずれか早い方の前に、サーバーはレスポンスを返します。 非同期リクエストの場合、タイムアウトが経過する前に、可能であればサーバーが解決策を生成します。 「 |
model |
解決する配送モデル。 |
solvingMode |
デフォルトの解モードは |
searchMode |
リクエストの解決に使用された検索モード。 |
injectedFirstSolutionRoutes[] |
最適化アルゴリズムを導き、以前のソリューションに類似した最初のソリューションを見つける。 最初のソリューションを構築する際に、モデルに制約が適用されます。ルート上で実施されていない配送は、最初のソリューションでは暗黙的にスキップされますが、後続のソリューションではスキップされます。 このソリューションは、妥当性に関するいくつかの基本的な前提条件を満たしている必要があります。
挿入したソリューションが実行可能でない場合、検証エラーは必ずしも返されず、代わりに実行不可能なことを示すエラーが返されることがあります。 |
injectedSolutionConstraint |
最適化アルゴリズムを制限して、以前の解とよく似た最終的な解を見つけます。たとえば、完了済みのルート、または完了する予定のが変更できないルートの一部を凍結するために使用できます。 挿入したソリューションが実行可能でない場合、検証エラーは必ずしも返されず、代わりに実行不可能なことを示すエラーが返されることがあります。 |
refreshDetailsRoutes[] |
空でない場合は、指定された経路の訪問順序や移動時間はそのままで更新されます。その他の詳細情報のみが更新されます。モデルは解決しません。 2020 年 11 月現在、空でないルートのポリラインのみが表示され、 渡されたルートの このフィールドを
|
interpretInjectedSolutionsUsingLabels |
true の場合:
この解釈は、 true の場合、次のカテゴリのラベルはカテゴリ内で 1 回だけ使用できます。
挿入されたソリューションの 挿入されたソリューションからルートの訪問またはルート全体を削除すると、暗黙の制約に影響が及び、ソリューションの変更、検証エラー、実行不能が生じることがあります。 注: 呼び出し元は、各 |
considerRoadTraffic |
|
populatePolylines |
true の場合、レスポンス |
populateTransitionPolylines |
true の場合、 |
allowLargeDeadlineDespiteInterruptionRisk |
これが設定されている場合、リクエストの期限(https://grpc.io/blog/deadlines を参照)は最大 60 分です。それ以外の場合、期限は最大 30 分です。リクエストが長時間継続すると、中断のリスクが非常に高くなります(ただし、それでもわずかなリスクです)。 |
useGeodesicDistances |
true の場合、移動距離は Google マップの距離ではなく測地線距離を使用して計算され、移動時間は |
label |
このリクエストを識別するために使用できるラベル。 |
geodesicMetersPerSecond |
|
maxValidationErrors |
返された検証エラーの数を切り捨てます。これらのエラーは通常、Solution=VALIDATE_ONLY である場合を除き、BadRequest エラーの詳細(https://cloud.google.com/apis/design/errors#error_details) として INVALID_ARGUMENT エラー ペイロードに添付されます。 |
レスポンスの本文
成功した場合、レスポンスの本文には OptimizeToursResponse
のインスタンスが含まれます。
承認スコープ
次の OAuth スコープが必要です。
https://www.googleapis.com/auth/cloud-platform