Respons setelah menyelesaikan masalah pengoptimalan tur yang berisi rute yang diikuti oleh setiap kendaraan, pengiriman yang telah dilewati, dan biaya keseluruhan solusi.
Representasi JSON |
---|
{ "routes": [ { object ( |
Kolom | |
---|---|
routes[] |
Rute yang dihitung untuk setiap kendaraan; rute ke-i sesuai dengan kendaraan ke-i dalam model. |
requestLabel |
Salinan |
skippedShipments[] |
Daftar semua pengiriman yang dilewati. |
validationErrors[] |
Daftar semua error validasi yang dapat kami deteksi secara independen. Lihat penjelasan "MULTIPLE ERRORS" untuk pesan |
metrics |
Metrik durasi, jarak, dan penggunaan untuk solusi ini. |
OptimizeToursValidationError
Menjelaskan error atau peringatan yang dialami saat memvalidasi OptimizeToursRequest
.
Representasi JSON |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Kolom | |
---|---|
code |
Error validasi ditentukan oleh pasangan ( Kolom yang mengikuti bagian ini memberikan lebih banyak konteks tentang error tersebut. MULTIPLE ERRORS: Jika ada beberapa error, proses validasi akan mencoba menampilkan beberapa error tersebut. Sama seperti compiler, ini adalah proses yang tidak sempurna. Beberapa error validasi akan bersifat "fatal", yang berarti error tersebut menghentikan seluruh proses validasi. Hal ini berlaku untuk error STABILITAS: |
displayName |
Nama tampilan error. |
fields[] |
Konteks error dapat melibatkan 0, 1 (sebagian besar waktu), atau beberapa kolom. Misalnya, merujuk pada pengambilan pertama kendaraan #4 dan pengiriman #2 dapat dilakukan sebagai berikut:
Namun, perhatikan bahwa kardinalitas |
errorMessage |
String yang menjelaskan error dan dapat dibaca manusia. Ada pemetaan 1:1 antara STABILITAS: Tidak stabil: pesan error yang terkait dengan |
offendingValues |
Dapat berisi nilai kolom. Fitur ini tidak selalu tersedia. Anda tidak boleh mengandalkannya dan hanya menggunakannya untuk proses debug model manual. |
FieldReference
Menentukan konteks untuk error validasi. FieldReference
selalu merujuk ke kolom tertentu dalam file ini dan mengikuti struktur hierarki yang sama. Misalnya, kami dapat menetapkan elemen #2 dari startTimeWindows
kendaraan #5 menggunakan:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Namun, kami menghilangkan entitas tingkat atas seperti OptimizeToursRequest
atau ShipmentModel
untuk menghindari pesan yang terlalu panjang.
Representasi JSON |
---|
{ "name": string, "subField": { object ( |
Kolom | |
---|---|
name |
Nama kolom, mis., "vehicles". |
subField |
Sub-kolom bersarang rekursif, jika diperlukan. |
Kolom union
|
|
index |
Indeks kolom jika diulang. |
key |
Kunci jika kolomnya adalah peta. |
Metrik
Metrik keseluruhan, yang digabungkan dari semua rute.
Representasi JSON |
---|
{
"aggregatedRouteMetrics": {
object ( |
Kolom | |
---|---|
aggregatedRouteMetrics |
Digabungkan berdasarkan rute. Setiap metrik adalah jumlah (atau maksimum, untuk pemuatan) di semua kolom |
skippedMandatoryShipmentCount |
Jumlah pengiriman wajib yang dilewati. |
usedVehicleCount |
Jumlah kendaraan yang digunakan. Catatan: jika rute kendaraan kosong dan |
earliestVehicleStartTime |
Waktu mulai paling awal untuk kendaraan bekas, yang dihitung sebagai waktu mulai minimum untuk semua kendaraan bekas sebesar Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit pecahan. Contoh: |
latestVehicleEndTime |
Waktu berakhir terbaru untuk kendaraan bekas, yang dihitung sebagai waktu berakhir maksimum untuk semua kendaraan bekas sebesar Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
costs |
Biaya solusi, yang dikelompokkan berdasarkan kolom permintaan terkait biaya. Kuncinya adalah jalur proto, yang relatif terhadap input OptimizeToursRequest, misalnya "model.shipments.pickups.cost", dan nilainya adalah total biaya yang dihasilkan oleh kolom biaya yang sesuai, yang digabungkan di seluruh solusi. Dengan kata lain, costs["model.shipments.pickups.cost"] adalah jumlah semua biaya pengambilan di seluruh solusi. Semua biaya yang ditentukan dalam model dilaporkan secara mendetail di sini, kecuali biaya terkait TransitionAttributes yang hanya dilaporkan secara agregat mulai 01/2022. |
totalCost |
Total biaya solusi. Jumlah semua nilai dalam peta biaya. |