Tujuan utama Route Optimization API adalah menemukan rute dengan biaya terendah. Dengan demikian, model biaya adalah pendorong utama untuk pengoptimalan rute.
Model biaya adalah kumpulan properti yang menentukan biaya global, kendaraan, dan pengiriman.
Properti model biaya mendukung jenis tujuan pengoptimalan berikut:
- Penetapan dan rute kendaraan yang efisien
- Waktu pengambilan dan pengiriman yang hemat biaya
- Prioritisasi pengiriman penting
Struktur
Seperti yang ditunjukkan dalam diagram, properti model biaya disusun sebagai berikut:
Shipmentberisi propertipenaltyCost.Vehicleberisi properti berikut:
Dokumen ini hanya merangkum parameter model biaya penting. Lihat dokumentasi referensi untuk mengetahui kumpulan parameter biaya yang lengkap.
Checklist Essentials
Checklist berikut menjelaskan pengetahuan penting yang mencegah potensi kesalahan terkait biaya. Daftar ini dapat membantu Anda memvalidasi permintaan dan memecahkan masalah respons Anda.
Properti
Tabel berikut mencantumkan dan menjelaskan properti model biaya.
| Orang tua | Nama properti | Jenis properti | Biaya per | Deskripsi properti |
|---|---|---|---|---|
Shipment |
penaltyCost |
angka | Pengiriman dilewati | Biaya yang dikeluarkan karena melewatkan pengiriman. API akan melewati pengiriman jika biaya untuk menyelesaikannya melebihi biaya penalti.
|
Vehicle |
fixedCost |
angka | Pengiriman | Biaya tetap yang diterapkan jika kendaraan ini digunakan untuk menangani pengiriman. |
costPerHour |
angka | Jam | Biaya pengoperasian kendaraan per jam termasuk waktu transit, tunggu, kunjungan, dan istirahat. Seiring meningkatnya biaya ini, pengoptimal akan mencoba menemukan rute yang lebih cepat, yang mungkin bukan rute terpendek. Properti ini dapat menjadi biaya per kendaraan mandiri yang efektif karena kesederhanaan dan kelengkapannya. |
|
costPerKilometer |
angka | Kilometer | Biaya per kilometer yang ditempuh oleh kendaraan, yang dapat mewakili biaya bahan bakar atau biaya pemeliharaan kendaraan yang diamortisasi. | |
costPerTraveledHour |
angka | Jam | Biaya pengoperasian kendaraan per jam hanya saat dalam pengiriman, tidak termasuk waktu tunggu, kunjungan, dan istirahat. Hal ini memprioritaskan rute perjalanan yang lebih cepat daripada rute yang lebih pendek. |
Contoh
Bagian ini membahas tiga jenis contoh:
- Contoh kode yang mengilustrasikan struktur properti model biaya.
- Contoh skenario yang menunjukkan salah satu cara menggunakan properti model biaya untuk mencapai tujuan bisnis.
- Contoh permintaan yang menyertakan nilai yang ditetapkan dalam skenario contoh.
Contoh kode
Contoh kode berikut menunjukkan struktur properti model biaya di
Shipment:
{ "model": { "shipments": [ ... { "penaltyCost": PENALTY_COST } ], "vehicles": [ ... ] } }
Contoh kode berikut menunjukkan struktur properti model biaya di
Vehicle:
{ "model": { "shipments": [ ... ], "vehicles": [ ... { "fixedCost": FIXED_COST, "costPerKilometer": KILOMETER_COST, "costPerHour": HOUR_COST, "costPerTraveledHour": TRAVELED_HOUR_COST } ] } }
Contoh skenario
Bagian ini menjelaskan skenario saat Anda memiliki bisnis penitipan. Anda sedang mengoptimalkan rute untuk truk yang Anda gunakan untuk menjemput dari rumahnya. Dalam skenario ini, Anda ingin pengoptimal mempertimbangkan biaya yang terkait dengan penjemputan dan pengoperasian kendaraan saat memberikan rute.
Untuk contoh ini, satu unit biaya mewakili 1 dolar. Artinya, nilai properti model biaya dalam permintaan Anda adalah sebagai berikut:
| Properti | Nilai | Skenario |
|---|---|---|
penaltyCost |
10 | Menunjukkan denda yang Anda tawarkan kepada pelanggan jika tidak menjemput mereka pada hari yang dijadwalkan. Setiap kali Anda tidak menjemput pada hari yang dijadwalkan, pelanggan akan mendapatkan diskon 40 dolar dari total layanan mereka. |
fixedCost |
30 | Menunjukkan biaya harian pembayaran pinjaman kendaraan Anda, yaitu 30 dolar per hari. |
costPerKilometer |
0,08 | Merepresentasikan jumlah bensin yang digunakan kendaraan Anda per kilometer. Kendaraan Anda membutuhkan 0,04 galon per kilometer untuk bergerak, dan biaya per galon di wilayah Anda adalah 2 dolar. |
costPerHour |
27 | Menunjukkan jumlah yang Anda bayarkan kepada pengemudi untuk mengemudikan kendaraan Anda. Anda membayar pengemudi $27 per jam. |
costPerTraveledHour |
2,5 | Menunjukkan jumlah yang harus Anda bayar untuk AC kendaraan per jam untuk saat dalam perjalanan. Setiap kali kendaraan tidak bergerak, pengemudi dapat membuka pintu di bagian belakang dan mematikan AC. |
Berdasarkan parameter biaya, pengoptimal dapat melakukan kompromi yang tidak jelas bagi pengguna, tetapi dapat ditemukan melalui pengoptimalan.
Diagram berikut mengilustrasikan contoh saat pengoptimal dapat memilih rute yang lebih panjang, tetapi lebih cepat melalui garis putus-putus hijau untuk menghindari kemacetan di garis putus-putus merah.

Dalam skenario ini, keseimbangan biaya kedua rute adalah sebagai berikut:
Garis putus-putus hijau memiliki
costPerHourdancostPerTraveledHouryang rendah karena merupakan rute cepat yang menghindari macet, yang lebih hemat biaya bahkan saatcostPerKilometertinggi.Garis putus-putus merah memiliki
costPerKilometeryang rendah karena merupakan rute langsung, tetapicostPerHourdancostPerTraveledHourterlalu tinggi karena waktu tunggu dalam lalu lintas, sehingga menjadikannya rute termahal.
Selain menyediakan rute yang hemat biaya, pengoptimal juga memberikan penjumlahan total biaya rute pengiriman dalam properti respons.
Contoh permintaan
Contoh berikut menunjukkan struktur permintaan optimizeTours dasar yang menggabungkan nilai yang ditetapkan dalam contoh skenario:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] "penaltyCost": 40 } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "fixedCost": 30, "costPerKilometer": 0.08, "costPerHour": 27, "costPerTraveledHour": 2.5 } ] } }
Properti respons
Pesan OptimizeToursResponse memiliki properti biaya
yang menjelaskan biaya yang timbul dalam proses penyelesaian rute:
metrics.costs: Total biaya di semua rute yang dikelompokkan berdasarkan kolom permintaan terkait biaya.metrics.totalCost: Total biaya di semua rute yang dijumlahkan.