解決巡迴路線最佳化問題後的回應,其中包含每輛車輛的路線、已略過的貨件,以及解決方案的總成本。
| JSON 表示法 | 
|---|
{ "routes": [ { object (  | 
            
| 欄位 | |
|---|---|
routes[] | 
              
                 
 為每輛車輛計算的路線;第 i 條路線對應至模型中的第 i 輛車輛。  | 
            
requestLabel | 
              
                 
 如果要求中指定了標籤,則為   | 
            
skippedShipments[] | 
              
                 
 所有跳過的出貨清單。  | 
            
validationErrors[] | 
              
                 
 列出我們能夠獨立偵測到的所有驗證錯誤。請參閱「MULTIPLE ERRORS」一節,瞭解   | 
            
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 | 
                
                   
 驗證錯誤的定義是 ( 這個部分後方的欄位會提供更多錯誤相關資訊。 MULTIPLE ERRORS:如果發生多項錯誤,驗證程序會嘗試輸出其中幾項。這項程序與編譯器相似,並非完美無瑕。部分驗證錯誤會導致「致命」錯誤,也就是會停止整個驗證程序。 穩定性:  | 
              
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 的 proto 路徑,例如「model.shipments.pickups.cost」,而值則是相應費用欄位產生的總費用,並在整個解決方案中匯總。換句話說,costs["model.shipments.pickups.cost"] 是解決方案中所有提貨費用的總和。這裡會詳細列出模型中定義的所有費用,但 TransitionAttributes 相關費用除外,因為這類費用自 2022 年 1 月起只會以匯總方式呈報。  | 
              
totalCost | 
                
                   
 解決方案的總費用。成本對應項目中的所有值總和。  |