目標是預先定義常見最佳化目標的參數,例如最短行駛距離或行程時間、準時送達、司機之間的負載平衡。這項功能旨在讓開發人員更輕鬆地導入路線最佳化 API,無須先瞭解費用參數的細節和完整自訂設定。
設定後,ShipmentModel.objectives
會完全覆寫成本模式,因此與先前的費用不相容。每個 Objective
都會對應至多個預先定義的車輛、運送或轉換屬性費用。
指定 TRANSFORM_AND_RETURN_REQUEST
解題模式時,系統不會解決要求,只會驗證並填入與指定目標相對應的成本。系統會以 OptimizeToursResponse.processed_request
的形式傳回已修改的要求。所有其他解決模式都會傳回已解決的要求。
TRANSFORM_AND_RETURN_REQUEST
解決模式僅適用於 OptimizeTours
要求,不適用於其他 Route Optimization API 要求。
範例:提出 ShipmentModel.objectives
要求
提出申請前,請先完成下列步驟:
- 請確認您已按照「使用 OAuth」一節所述,設定應用程式預設憑證。
將 PROJECT_NUMBER_OR_ID 設為 Cloud 專案編號或 ID。
以下指令會將
OptimizeToursRequest
傳送至 Route Optimization API,並傳回OptimizeToursResponse
。curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ], } } EOM
範例:提出 TRANSFORM_AND_RETURN_REQUEST
要求
提出申請前,請先完成下列步驟:
- 請確認您已按照「使用 OAuth」一節所述,設定應用程式預設憑證。
將 PROJECT_NUMBER_OR_ID 設為 Cloud 專案編號或 ID。
下列指令會將
OptimizeToursRequest
傳送至 Route Optimization API,該 API 會傳回設定ProcessedRequest
欄位的OptimizeToursResponse
。 上述指令會產生類似以下的回應。curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } EOM
{ "processedRequest": { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.425062610009959, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.424215032060211, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerHour": 30, "costPerTraveledHour": 330, "costPerKilometer": 0.2 } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } }