Sasaran adalah parameter yang telah menentukan target pengoptimalan umum, seperti jarak atau durasi perjalanan terpendek, pengiriman tepat waktu, dan menyeimbangkan beban antar-pengemudi. Tujuannya adalah untuk memudahkan developer melakukan orientasi ke Route Optimization API sebelum mempelajari kecanggihan dan penyesuaian penuh parameter biaya. (Lihat "cost model " untuk mengetahui cara menyesuaikan berbagai sasaran Anda sepenuhnya)
Jika ditetapkan, ShipmentModel.objectives akan menimpa model biaya
sepenuhnya, sehingga tidak kompatibel dengan biaya yang sudah ada. Setiap
Objective dipetakan ke sejumlah biaya yang telah ditentukan untuk atribut kendaraan, pengiriman, atau
transisi.
Saat menentukan mode penyelesaian TRANSFORM_AND_RETURN_REQUEST,
permintaan tidak diselesaikan, tetapi hanya divalidasi dan diisi dengan biaya
yang sesuai dengan sasaran yang diberikan. Permintaan yang diubah akan ditampilkan sebagai
OptimizeToursResponse.processed_request. Semua mode penyelesaian lainnya akan menampilkan permintaan yang diselesaikan.
Mode penyelesaian TRANSFORM_AND_RETURN_REQUEST hanya valid untuk permintaan OptimizeTours dan tidak tersedia untuk permintaan Route Optimization API lainnya.
Contoh: Membuat permintaan ShipmentModel.objectives
Sebelum membuat permintaan, selesaikan langkah-langkah berikut:
- Pastikan Anda telah mengonfigurasi Kredensial Default Aplikasi seperti yang dijelaskan dalam Menggunakan OAuth.
Tetapkan PROJECT_NUMBER_OR_ID ke nomor atau ID project Cloud Anda.
Perintah berikut mengirimkan
OptimizeToursRequestke Route Optimization API yang menampilkanOptimizeToursResponse.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
Contoh: Membuat permintaan TRANSFORM_AND_RETURN_REQUEST
Sebelum membuat permintaan, selesaikan langkah-langkah berikut:
- Pastikan Anda telah mengonfigurasi Kredensial Default Aplikasi seperti yang dijelaskan dalam Menggunakan OAuth.
Tetapkan PROJECT_NUMBER_OR_ID ke nomor atau ID project Cloud Anda.
Perintah berikut mengirimkan
OptimizeToursRequestke Route Optimization API yang menampilkanOptimizeToursResponsedenganProcessedRequestyang ditetapkan. Perintah sebelumnya akan menghasilkan respons yang mirip dengan berikut ini.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" } }