ShipmentModel を含む OptimizeToursRequest を送信し、ShipmentRoute(車両が実行するルートのセットで、全体的な費用を最小限に抑える)を含む OptimizeToursResponse を返します。
ShipmentModel モデルは、主に実行する必要がある Shipment と、Shipment の転送に使用できる Vehicle で構成されます。ShipmentRoute は Shipment を Vehicle に割り当てます。具体的には、一連の Visit を各車両に割り当てます。ここで、Visit は VisitRequest に対応します。これは、Shipment の集荷または配達です。
目標は、ShipmentModel で定義された多くのコンポーネントを含む総費用を最小限に抑える ShipmentRoute と Vehicle の割り当てを提供することです。
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 の場合、次のカテゴリのラベルは、カテゴリ内で 1 回だけ表示されます。
挿入されたソリューションの 挿入されたソリューションからルートの訪問やルート全体を削除すると、暗黙的な制約に影響する可能性があり、ソリューションの変更、検証エラー、実行不能につながる可能性があります。 注: 呼び出し元は、各 |
considerRoadTraffic |
|
populatePolylines |
true の場合、ポリラインがレスポンス |
populateTransitionPolylines |
true の場合、ポリラインとルートトークンがレスポンス |
allowLargeDeadlineDespiteInterruptionRisk |
この設定を行うと、リクエストの期限を最大 60 分に設定できます(https://grpc.io/blog/deadlines を参照)。それ以外の場合、最大期限は 30 分のみです。長時間実行されるリクエストは、中断のリスクが大幅に高くなります(ただし、リスク自体は小さいままです)。 |
useGeodesicDistances |
true の場合、移動距離は Google マップの距離ではなく測地線距離を使用して計算され、移動時間は |
label |
このリクエストの識別に使用できるラベル。 |
geodesicMetersPerSecond |
|
maxValidationErrors |
返される検証エラーの数を切り捨てます。これらのエラーは通常、solvingMode=VALIDATE_ONLY でない限り、BadRequest エラーの詳細(https://cloud.google.com/apis/design/errors#error_details)として INVALID_ARGUMENT エラー ペイロードに付加されます。 |
レスポンスの本文
成功した場合、レスポンスの本文には OptimizeToursResponse のインスタンスが含まれます。
認可スコープ
次の OAuth スコープが必要です。
https://www.googleapis.com/auth/cloud-platform
IAM 権限
parent リソースに対する次の IAM 権限が必要です。
routeoptimization.locations.use
詳細については、IAM のドキュメントをご覧ください。