Respons setelah memecahkan 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. |
request |
Salinan |
skipped |
Daftar semua pengiriman yang dilewati. |
validation |
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 setelah bagian ini memberikan konteks selengkapnya tentang error. 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: |
display |
Nama tampilan error. |
fields[] |
Konteks error dapat melibatkan 0, 1 (sebagian besar waktu), atau beberapa kolom. Misalnya, merujuk pada kendaraan #4 dan pengambilan pertama pengiriman #2 dapat dilakukan sebagai berikut:
Namun, perhatikan bahwa kardinalitas |
error |
String yang dapat dibaca manusia yang menjelaskan error. Terdapat pemetaan 1:1 antara STABILITAS: Tidak stabil: pesan error yang terkait dengan |
offending |
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 hierarkis yang sama. Misalnya, kita dapat menentukan 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, misalnya, "vehicles". |
sub |
Sub-kolom bertingkat secara rekursif, jika diperlukan. |
Kolom union
|
|
index |
Indeks kolom jika diulang. |
key |
Kunci jika kolom adalah peta. |
Metrik
Metrik keseluruhan, yang digabungkan di semua rute.
Representasi JSON |
---|
{
"aggregatedRouteMetrics": {
object ( |
Kolom | |
---|---|
aggregated |
Digabungkan di seluruh rute. Setiap metrik adalah jumlah (atau maksimum, untuk pemuatan) di semua kolom |
skipped |
Jumlah pengiriman wajib yang dilewati. |
used |
Jumlah kendaraan yang digunakan. Catatan: jika rute kendaraan kosong dan |
earliest |
Waktu mulai paling awal untuk kendaraan bekas, dihitung sebagai minimum dari semua kendaraan bekas Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
latest |
Waktu akhir terbaru untuk kendaraan bekas, dihitung sebagai maksimum dari semua kendaraan bekas 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 yang terkait dengan TransitionAttributes yang hanya dilaporkan secara gabungan mulai 01/2022. |
total |
Total biaya solusi. Jumlah semua nilai dalam peta biaya. |