ShipmentModel を含む OptimizeToursRequest を送信し、さらに ShipmentRoute を含む OptimizeToursResponse を返します。この一連のルートは、全体的なコストを最小化するために車両が実行します。
ShipmentModel モデルは主に、実行が必要な Shipment と、Shipment の転送に使用できる Vehicle で構成されています。ShipmentRoute は Shipment を Vehicle に割り当てます。具体的には、各車両に一連の Visit を割り当てます。Visit は VisitRequest に対応します。VisitRequest は Shipment の集荷または配達です。
目的は、費用に ShipmentModel で定義された多くのコンポーネントがある場合に総費用を最小限に抑えるように、Vehicle に ShipmentRoute を割り当てることです。
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 のドキュメントをご覧ください。