解決包含路線圖最佳化問題、車輛略過的運輸以及解決方案的整體成本後的回應。
JSON 表示法 |
---|
{ "routes": [ { object ( |
欄位 | |
---|---|
routes[] |
為每個車輛計算的路線, i-th 路線對應到模型中的 i-th 交通工具。 |
requestLabel |
|
skippedShipments[] |
已略過的所有出貨商品清單。 |
validationErrors[] |
這裡列出了我們可獨立偵測到的所有驗證錯誤。請參閱 |
metrics |
這個解決方案的時間長度、距離和用量指標。 |
OptimizeToursValidationError
說明驗證 OptimizeToursRequest
時發生的錯誤。
JSON 表示法 |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
欄位 | |
---|---|
code |
驗證錯誤是由一直顯示的組合 ( 其他欄位 (下方) 則提供與錯誤相關的更多內容。 多個錯誤:如有多個錯誤,驗證程序會嘗試輸出多個錯誤。與編譯器非常類似,這是不完美的過程。部分驗證錯誤屬於「嚴重」問題,這表示會停止整個驗證程序。這種情況包括 穩定性: REFERENCE:所有 (代碼、名稱) 組合的清單:
|
displayName |
錯誤顯示名稱。 |
fields[] |
錯誤內容可能涉及 0、1 (大部分時間) 或多個欄位。舉例來說,可以按照以下方式指定第 4 號車輛和第 2 件的第一件取貨:
不過請注意,錯誤代碼的 |
errorMessage |
使用者容易理解的錯誤說明字串。 STABILITY:不穩定:與特定 |
offendingValues |
可能包含欄位的值。但不一定每次都適用。這個 API 僅供手動模型偵錯使用,絕對不然。 |
FieldReference
指定驗證錯誤的背景資訊。FieldReference
一律是指這個檔案中的特定欄位,並採用相同的階層結構。舉例來說,我們可以使用以下方式指定 startTimeWindows
交通工具 #5 的元素 #2:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
但會省略頂層實體 (例如 OptimizeToursRequest
或 ShipmentModel
),以避免訊息擁擠。
JSON 表示法 |
---|
{ "name": string, "subField": { object ( |
欄位 | |
---|---|
name |
欄位名稱,例如「汽車」。 |
subField |
視需要建立遞迴巢狀子欄位。 |
聯集欄位
|
|
index |
欄位索引 (如果重複)。 |
key |
如果欄位是對應的鍵, |
指標
所有路線的匯總總體指標。
JSON 表示法 |
---|
{
"aggregatedRouteMetrics": {
object ( |
欄位 | |
---|---|
aggregatedRouteMetrics |
這些路徑的匯總資料。每項指標都是相同名稱所有 |
skippedMandatoryShipmentCount |
略過的必要運送數量。 |
usedVehicleCount |
使用的車輛數量。注意:如果車輛路線為空白且 |
earliestVehicleStartTime |
二手車輛的最早開始時間,以 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
latestVehicleEndTime |
二手車輛的最晚結束時間,以 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
costs |
解決方案的費用,按照費用相關要求欄位細分。索引鍵是相對於輸入最佳化工具 ToursRequest 的 proto 路徑 (例如「model.shipments.pickups.cost」),值則是對應費用欄位產生的總費用,並匯總到整個解決方案的資料。換句話說,cost["model.shipments.pickups.cost"] 是解決方案的所有取貨費用總和。這裡會列出模型定義的所有費用,但截至 2022 年 1 月為止,僅以匯總方式回報 TransitionAttributes 相關費用的情況除外。 這個物件中包含 |
totalCost |
解決方案的總費用。費用對應中所有值的總和。 |