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