ルート最適化問題を解決した後のレスポンス。各車両が走行するルート、スキップされた配送、ソリューションの総費用が含まれます。
| JSON 表現 | 
|---|
{ "routes": [ { object (  | 
            
| フィールド | |
|---|---|
routes[] | 
              
                 
 各車両に対して計算されたルート。i 番目のルートは、モデル内の i 番目の車両に対応します。  | 
            
requestLabel | 
              
                 
 リクエストでラベルが指定されている場合の   | 
            
skippedShipments[] | 
              
                 
 スキップされたすべての配送のリスト。  | 
            
validationErrors[] | 
              
                 
 独立して検出できたすべての検証エラーのリスト。  | 
            
processedRequest | 
              
                 
 場合によっては、解決前に受信したリクエストを変更することがあります(費用の追加など)。solvingMode == TRANSFORM_AND_RETURN_REQUEST の場合、変更されたリクエストが返されます。 試験運用版: 詳しくは、https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request をご覧ください。  | 
            
metrics | 
              
                 
 このソリューションの所要時間、距離、使用状況の指標。  | 
            
OptimizeToursValidationError
OptimizeToursRequest の検証中に発生したエラーまたは警告を説明します。
| JSON 表現 | 
|---|
{
  "code": integer,
  "displayName": string,
  "fields": [
    {
      object ( | 
              
| フィールド | |
|---|---|
code | 
                
                   
 検証エラーは、常に存在するペア( このセクションの後のフィールドには、エラーに関する詳細なコンテキストが表示されます。 複数のエラー: エラーが複数ある場合、検証プロセスは複数のエラーを出力しようとします。コンパイラと同様に、これは不完全なプロセスです。検証エラーの中には「致命的」なものがあり、検証プロセス全体が停止します。これは、 安定性:   | 
              
displayName | 
                
                   
 エラーの表示名。  | 
              
fields[] | 
                
                   
 エラーのコンテキストには、0、1(ほとんどの場合)、または複数のフィールドが含まれる場合があります。たとえば、車両番号 4 と配送番号 2 の最初の集荷を参照するには、次のようにします。 ただし、特定のエラーコードに対して   | 
              
errorMessage | 
                
                   
 エラーを説明する、人が読める形式の文字列。 安定性: 安定性なし: 特定の   | 
              
offendingValues | 
                
                   
 フィールドの値を含めることができます。これは常に利用できるとは限りません。絶対に頼らず、モデルの手動デバッグにのみ使用してください。  | 
              
FieldReference
検証エラーのコンテキストを指定します。FieldReference は常にこのファイル内の特定のフィールドを参照し、同じ階層構造に従います。たとえば、車両 #5 の startTimeWindows の要素 #2 を次のように指定できます。
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
ただし、メッセージが混雑しないように、OptimizeToursRequest や ShipmentModel などの最上位エンティティは省略されます。
| JSON 表現 | 
|---|
{ "name": string, "subField": { object (  | 
              
| フィールド | |
|---|---|
name | 
                
                   
 フィールドの名前(例: 「vehicles」  | 
              
subField | 
                
                   
 必要に応じて、再帰的にネストされたサブフィールド。  | 
              
共用体フィールド  
  | 
              |
index | 
                
                   
 フィールドが繰り返される場合のインデックス。  | 
              
key | 
                
                   
 フィールドがマップの場合のキー。  | 
              
指標
すべてのルートを集計した全体的な指標。
| JSON 表現 | 
|---|
{
  "aggregatedRouteMetrics": {
    object ( | 
              
| フィールド | |
|---|---|
aggregatedRouteMetrics | 
                
                   
 ルート全体で集計されます。各指標は、同じ名前のすべての   | 
              
skippedMandatoryShipmentCount | 
                
                   
 スキップされた必須配送の数。  | 
              
usedVehicleCount | 
                
                   
 使用される車両の数。注: 車両のルートが無効で   | 
              
earliestVehicleStartTime | 
                
                   
 中古車の開始時間の早い方。すべての中古車の  RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:   | 
              
latestVehicleEndTime | 
                
                   
 中古車の最終終了時間。すべての中古車の  RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:   | 
              
costs | 
                
                   
 費用関連のリクエスト フィールド別に分類されたソリューションの費用。キーは、入力 OptimizeToursRequest を基準としたプロトパスです(例: model.shipments.pickups.cost)。値は、対応する費用フィールドによって生成された合計費用で、ソリューション全体で集計されます。つまり、costs["model.shipments.pickups.cost"] は、ソリューション全体の集荷費用の合計です。モデルで定義されているすべての費用が、ここで詳細にレポートされます。ただし、TransitionAttributes に関連する費用は、2022 年 1 月時点では集計された形でのみレポートされます。  | 
              
totalCost | 
                
                   
 ソリューションの合計費用。費用マップ内のすべての値の合計。  |