Permintaan dan batas beban adalah jenis batasan yang dapat Anda gunakan untuk mengelola kapasitas. Batasan ini menentukan kapasitas yang diperlukan pengiriman dan kapasitas maksimum kendaraan, yang memungkinkan Anda mengoptimalkan penetapan rute berdasarkan batasan ini.
Permintaan dan batas beban dapat mendukung tujuan seperti:
- Mencegah kendaraan kelebihan muatan.
- Pantau perubahan muatan kendaraan saat pengiriman diambil dan dikirim.
- Membatasi frekuensi kendaraan dapat mengunjungi lokasi tertentu.
Batas dan permintaan beban ditentukan dalam properti berikut:
loadDemands
menentukan jumlah kapasitas yang diperlukan pengiriman tertentu.loadLimits
menentukan kapasitas maksimum untuk kendaraan tertentu.
Struktur
Seperti yang ditunjukkan pada diagram, permintaan dan batas beban disusun sebagai berikut:
loadDemands
adalah properti dariShipment
.Shipment
dapat memiliki beberapa permintaan pemuatan.loadLimits
adalah properti dariVehicle
.Vehicle
dapat memiliki beberapa batas pemuatan.
Properti
Bagian ini menjelaskan properti untuk permintaan dan batas beban, yaitu berikut:
- Jenis beban: Properti bersama antara permintaan dan batas beban.
Load
danLoadLimit
: Properti unik yang masing-masing ada dalam permintaan beban dan batas beban.
Jenis pemuatan
Jenis muatan adalah kunci string yang mengidentifikasi jenis permintaan muatan untuk pengiriman dan batas muatan untuk kendaraan. Jenis beban memiliki karakteristik penting berikut:
- User-defined: Jenis beban adalah jenis yang Anda tentukan. Tidak ada variabel sistem yang telah ditentukan sebelumnya untuk jenis pemuatan.
- Bersama: Jenis muatan dimaksudkan untuk dibagikan antara pengiriman dan kendaraan. Artinya, pengiriman akan menggunakan kapasitas kendaraan hingga batasnya hanya jika jenis muatannya cocok. Jika tidak menentukan batas beban untuk jenis tertentu, kendaraan dapat membawa jenis beban tersebut dalam jumlah yang tidak terbatas.
Kunci string yang mewakili jenis pemuatan menggunakan sintaksis jenis peta Protocol Buffers. Kunci string ini tidak boleh null untuk menghindari masalah. Saat memberi nama jenis beban, sebaiknya gunakan ID yang menjelaskan jenis beban dan unitnya. Misalnya: weightKg, volume_gallons, palletcount, atau frequencyDaily.
Load
dan LoadLimit
Objek Load
dan LoadLimit
berisi properti tertentu untuk
menentukan persyaratan kapasitas pengiriman dan kendaraan, tabel berikut
menjelaskan properti ini:
Objek | Orang tua | Properti | Jenis properti | Deskripsi properti |
---|---|---|---|---|
Load |
loadDemands |
amount |
string (format int64) | Menentukan persyaratan kapasitas pengiriman dalam jenis yang ditentukan. |
LoadLimit |
loadLimits |
maxLoad |
string (format int64) | Menentukan kapasitas muatan maksimum kendaraan dalam jenis yang ditentukan. |
Contoh
Contoh berikut menunjukkan struktur permintaan beban tempat Anda dapat menetapkan
jenis loadDemands
sebagai string dan properti amount
sebagai string
dalam format int64:
"loadDemands": {
"MATCHING_LOAD_TYPE ": {
"amount": "YOUR_LOAD_AMOUNT "
}
}
Contoh berikut menunjukkan struktur paling dasar dari batas beban, tempat Anda
dapat menetapkan jenis loadLimits
sebagai string, dan properti maxLoad
sebagai string dalam format int64:
"loadLimits": {
"MATCHING_LOAD_TYPE ": {
"maxLoad": "YOUR_MAX_LOAD "
}
}
Cobalah
Gunakan contoh kode di atas untuk membuat skenario fiktif. Dalam skenario ini, Anda memiliki paket yang beratnya 10 kilogram, dan kendaraan yang dapat mengangkut 100 kilogram:
Dalam contoh
loadDemands
, tentukan jenis pemuatan sebagaiweightKg
.Setelah Anda melakukannya, jenis beban dalam contoh
loadLimits
juga akan terisi, yang berbagi jenis beban. Ingat bahwa jenisloadDemands
danloadLimits
harus cocok agar pengiriman menggunakan batas kendaraan.Dalam contoh
loadDemands
yang sama, tetapkan propertiamount
ke10
.Artinya, paket tersebut memiliki berat 10 kilogram.
Dalam contoh
loadLimits
, tetapkan propertimaxLoad
ke100
.Artinya, kendaraan dapat mengangkut maksimum 100 kilogram.
Ingat bahwa tidak ada kumpulan jenis yang telah ditetapkan. Dalam contoh ini, Anda dapat mengubah kilogram menjadi poin, atau mengubahnya menjadi pengukuran linear, bukan berat. Fleksibilitas ini memungkinkan Anda menyesuaikan permintaan dan batas beban dengan kebutuhan spesifik Anda.
Contoh permintaan
Contoh berikut menunjukkan struktur permintaan optimizeTours
dasar
dengan loadDemands
dalam pengiriman dan loadLimits
dalam kendaraan:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "loadDemands": { "MATCHING_LOAD_TYPE ": { "amount": "YOUR_LOAD_AMOUNT " } } } ], "vehicles": [ { "startLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "endLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "costPerKilometer": 1.0, "loadLimits": { "MATCHING_LOAD_TYPE ": { "maxLoad": "YOUR_MAX_LOAD " } } } ] } }
Ingat bahwa pengiriman dapat memiliki beberapa permintaan muatan, dan kendaraan dapat memiliki beberapa batas muatan, sehingga Anda dapat memberikan batasan yang kompleks untuk dipertimbangkan saat mengoptimalkan rute armada.