傳送包含 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/*/locations/*}:optimizeTours
這個網址使用 gRPC 轉碼語法。
路徑參數
參數 | |
---|---|
parent |
必要欄位。要呼叫的目標專案或位置。 格式:* 如果未指定位置,系統會自動選擇區域。 |
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 |
---|
{ "timeout": string, "model": { object ( |
欄位 | |
---|---|
timeout |
如果設定了這個逾時時間,伺服器會在逾時時間到期前或同步要求的伺服器期限到期前 (以先到者為準) 傳回回應。 對於非同步要求,伺服器會在逾時前產生解決方案 (如果可行)。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
model |
解決運送模型。 |
solving |
根據預設,解決模式為 |
search |
用於解決要求的搜尋模式。 |
injected |
引導最佳化演算法,找出與先前解決方案相似的第一個解決方案。 建立第一個解決方案時,模型會受到限制。在第一個解決方案中,凡是未在路線上執行的運送作業都會隱含略過,但可能會在後續解決方案中執行。 解決方案必須滿足一些基本有效性假設:
如果注入的解決方案不可行,系統不一定會傳回驗證錯誤,而是可能傳回表示不可行性的錯誤。 |
injected |
限制最佳化演算法,找出與先前解決方案相似的最終解決方案。舉例來說,您可以使用這項功能,將已完成或即將完成但不得修改的路線部分凍結。 如果注入的解決方案不可行,系統不一定會傳回驗證錯誤,而是可能傳回表示不可行性的錯誤。 |
refresh |
如果不為空白,系統會重新整理指定路線,但不會修改其基礎的造訪序列或行程時間:只會更新其他詳細資料。這並無法解決模型問題。 截至 2020 年 11 月,這個方法只會填入非空路線的多邊形,且需要 傳入路徑的 這個欄位不得與
|
interpret |
如果為 true:
這項解釋適用於 如果為 true,則下列類別中的標籤在該類別中最多只能出現一次:
如果插入的解決方案中的 從已插入的解決方案中移除路徑瀏覽或整個路徑,可能會影響隱含限制,進而導致解決方案變更、驗證錯誤或無法執行。 注意:呼叫端必須確保每個 |
consider |
在計算 |
populate |
如果為 true,回應 |
populate |
如果為 true,系統會在回應 |
allow |
如果設定了這個值,要求的期限 (請參閱 https://grpc.io/blog/deadlines) 最多可達 60 分鐘。否則,最長期限僅為 30 分鐘。請注意,長時間存在的要求有較高 (但仍很小) 的中斷風險。 |
use |
如果為 true,系統會使用大地測量距離 (而非 Google 地圖距離) 計算行程距離,並使用大地測量距離和 |
label |
可能用於識別此要求的標籤,會在 |
geodesic |
當 |
max |
截斷傳回的驗證錯誤數量。這些錯誤通常會附加至 INVALID_ARGUMENT 錯誤酬載,做為 BadRequest 錯誤詳細資料 (https://cloud.google.com/apis/design/errors#error_details),除非 solvingMode=VALIDATE_ONLY:請參閱 |
回應主體
如果成功,回應主體會包含 OptimizeToursResponse
的執行例項。
授權範圍
需要下列 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platform
身分與存取權管理權限
需要在 parent
資源上具備下列 IAM 權限:
routeoptimization.locations.use
詳情請參閱 IAM 說明文件。