傳送包含 ShipmentModel
的 OptimizeToursRequest
,並傳回內含 ShipmentRoute
的 OptimizeToursResponse
,也就是車輛將總成本降至最低的一組路線。
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 |
如果設定了這個項目,該要求的期限 (請參閱 https://grpc.io/blog/deadlines) 最多可以有 60 分鐘。否則,最長期限為 30 分鐘。請注意,長時間的要求具有極大 (但仍然很小) 的干擾風險。 |
useGeodesicDistances |
如果設為 true,系統會使用測地線距離 (而非 Google 地圖距離) 計算移動距離,並使用 |
label |
可能會用來識別這項要求的標籤,並回報於 |
geodesicMetersPerSecond |
如果 |
maxValidationErrors |
截斷傳回的驗證錯誤數量。這些錯誤通常會以 BadRequest 錯誤詳細資料的形式附加至 INVALID_src 錯誤酬載 (https://cloud.google.com/apis/design/errors#error_details),除非 ResolutionMode=VALIDATE_ONLY:請參閱 |
回應主體
如果成功,回應主體會包含 OptimizeToursResponse
的執行例項。
授權範圍
需要下列 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platform
身分與存取權管理權限
必須具備 parent
資源的下列 IAM 權限:
routeoptimization.locations.use
詳情請參閱身分與存取權管理說明文件。