傳送包含 ShipmentModel 的 OptimizeToursRequest,並傳回包含 ShipmentRoute 的 OptimizeToursResponse,這些 ShipmentRoute 是車輛要執行的路線組合,可將整體成本降至最低。
ShipmentModel 模型主要由需要執行的 Shipment 和可用於運送 Shipment 的 Vehicle 組成。ShipmentRoute 會將 Shipment 指派給 Vehicle。具體來說,他們會為每輛車輛指派一系列 Visit,其中 Visit 對應至 VisitRequest,也就是 Shipment 的取貨或送貨。
目標是將 ShipmentRoute 指派給 Vehicle,盡量降低總成本,而成本有許多在 ShipmentModel 中定義的元件。
HTTP 要求
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeTours
這個網址使用 gRPC 轉碼語法。
路徑參數
| 參數 | |
|---|---|
parent |
必要欄位。要發出呼叫的目標專案或位置。 格式:
如未指定位置,系統會自動選擇區域。 |
要求主體
要求主體會包含結構如下的資料:
| JSON 表示法 |
|---|
{ "timeout": string, "model": { object ( |
| 欄位 | |
|---|---|
timeout |
如果設定這個逾時時間,伺服器會在逾時時間經過前或達到同步要求的伺服器期限前傳回回應 (以較早者為準)。 如果是非同步要求,伺服器會在逾時前產生解決方案 (如有可能)。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
model |
要解決的貨運模型。 |
solvingMode |
預設的求解模式為 |
searchMode |
用於解決要求的搜尋模式。 |
injectedFirstSolutionRoutes[] |
引導最佳化演算法找出與先前解決方案類似的初始解決方案。 建構第一個解決方案時,模型會受到限制。在第一個解決方案中,系統會隱含略過未在路線上執行的任何出貨作業,但可能會在後續解決方案中執行。 解決方案必須滿足一些基本有效性假設:
如果注入的解決方案不可行,系統不一定會傳回驗證錯誤,而是可能傳回指出不可行的錯誤。 |
injectedSolutionConstraint |
限制最佳化演算法,找出與先前解決方案類似的最終解決方案。舉例來說,這項功能可用於凍結已完成或即將完成但不得修改的部分路徑。 如果注入的解決方案不可行,系統不一定會傳回驗證錯誤,而是可能傳回指出不可行的錯誤。 |
refreshDetailsRoutes[] |
如果不是空白,系統會重新整理指定路徑,但不會修改基礎的造訪順序或行程時間,只會更新其他詳細資料。這無法解決模型問題。 自 2020 年 11 月起,這項功能只會填入非空白路線的折線,且需要將 傳入路線的 這個欄位不得與
|
interpretInjectedSolutionsUsingLabels |
如果為 true:
這項解讀適用於 如果是 true,下列類別中的標籤在所屬類別中最多只能出現一次:
如果插入解決方案中的 從插入的解決方案中移除路線拜訪或整條路線,可能會影響隱含限制,進而導致解決方案變更、驗證錯誤或不可行。 注意:呼叫者必須確保每個 |
considerRoadTraffic |
計算 |
populatePolylines |
如為 true,回應 |
populateTransitionPolylines |
如果為 true,回應 |
allowLargeDeadlineDespiteInterruptionRisk |
如果已設定此值,要求的最長期限為 60 分鐘 (請參閱 https://grpc.io/blog/deadlines)。否則,最長期限僅為 30 分鐘。請注意,長時間執行的要求中斷的風險較高 (但仍很小)。 |
useGeodesicDistances |
如果為 true,系統會使用測地距離 (而非 Google 地圖距離) 計算移動距離,並使用測地距離和 |
label |
可用於識別這項要求的標籤,會回報至 |
geodesicMetersPerSecond |
如果 |
maxValidationErrors |
截斷傳回的驗證錯誤數量。除非 solvingMode=VALIDATE_ONLY,否則這些錯誤通常會以 BadRequest 錯誤詳細資料 (https://cloud.google.com/apis/design/errors#error_details) 附加至 INVALID_ARGUMENT 錯誤酬載:請參閱 |
回應主體
如果成功,回應主體會包含 OptimizeToursResponse 的執行例項。
授權範圍
需要下列 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platform
IAM 權限
需要 parent 資源的下列 IAM 權限:
routeoptimization.locations.use
詳情請參閱 IAM 說明文件。