目標是預先定義的常見最佳化目標參數,例如最短的行車距離或時間、準時送達、平衡駕駛員之間的負載。這項功能旨在協助開發人員更輕鬆地開始使用路線最佳化 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,並傳回設定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" } }