傳送包含 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:
此解釋適用於 如果設為「是」,以下類別的標籤最多只能出現一次:
如果插入解決方案中的 從插入的解決方案中移除路線造訪記錄或整個路徑可能會對隱含的限制產生影響,進而導致解決方案改變、驗證錯誤或無法發揮作用。 注意:呼叫端必須確保每個 |
considerRoadTraffic |
計算 |
populatePolylines |
如果為 true,回應 |
populateTransitionPolylines |
如果為 true,則回應 |
allowLargeDeadlineDespiteInterruptionRisk |
如果設定了這個值,該要求便會有最多 60 分鐘的期限 (請參閱 https://grpc.io/blog/deadlines)。否則,期限最長只有 30 分鐘。請注意,長期要求會大幅提高 (但仍然很少) 中斷風險。 |
useGeodesicDistances |
如果為 true,系統會使用測地距離 (而非 Google 地圖距離) 計算移動距離,並使用測地線距離 (由 |
label |
可用來識別這項要求的標籤,並回報至 |
geodesicMetersPerSecond |
如果 |
maxValidationErrors |
縮短傳回的驗證錯誤數量。除非 solvingMode=VALIDATE_ONLY:查看 |
回應主體
如果成功,回應主體會包含 OptimizeToursResponse
的執行例項。
授權範圍
需要下列 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platform