ツアー最適化の問題を解決した後の対応
| JSON 表現 | 
|---|
{ "routes": [ { object (  | 
            
| フィールド | |
|---|---|
routes[] | 
              
                 
 各車両に対して計算されたルート。i 番目のルートは、モデル内の i 番目の車両に対応します。  | 
            
requestLabel | 
              
                 
 
  | 
            
skippedShipments[] | 
              
                 
 スキップされたすべての配送のリスト。  | 
            
validationErrors[] | 
              
                 
 個別に検出できたすべての検証エラーのリスト。  | 
            
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 | 
                
                   
 中古車の最も早い開始時間。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例:   | 
              
latestVehicleEndTime | 
                
                   
 中古車の最終終了時間。すべての中古車の  RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例:   | 
              
costs | 
                
                   
 ソリューションのコスト。費用関連のリクエスト フィールド別に分類されます。キーは、入力 OptimizeToursRequest を基準としたプロトパスです(例: model.shipments.pickups.cost)。値は、対応する費用フィールドによって生成された合計費用で、ソリューション全体で集計されます。つまり、costs["model.shipments.pickups.cost"] は、ソリューション全体の集荷費用の合計です。2022 年 1 月時点で集計された形でのみ報告される TransitionAttributes に関連する費用を除き、モデルで定義されたすべての費用は、ここで詳細に報告されます。 
  | 
              
totalCost | 
                
                   
 ソリューションの総費用。費用マップ内のすべての値の合計。  |