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 dihitung untuk setiap kendaraan; rute ke-i sesuai dengan kendaraan ke-i pada model. |
requestLabel |
Salinan |
skippedShipments[] |
Daftar semua pengiriman 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 yang terjadi saat memvalidasi OptimizeToursRequest
.
Representasi JSON |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Kolom | |
---|---|
code |
Error validasi ditentukan oleh pasangan ( Kolom lain (di bawah) memberikan konteks selengkapnya tentang error. BEBERAPA KESALAHAN: Jika ada beberapa error, proses validasi akan mencoba menghasilkan beberapa error. Mirip seperti compiler, ini adalah proses yang tidak sempurna. Beberapa error validasi akan bersifat "fatal", yang berarti error tersebut menghentikan seluruh proses validasi. Hal ini antara lain berlaku untuk error Stabilitas: REFERENSI: Daftar semua pasangan (kode, nama):
|
displayName |
Nama tampilan error. |
fields[] |
Konteks error dapat melibatkan 0, 1 (sering kali) atau beberapa kolom. Misalnya, mengacu pada kendaraan #4 dan pengambilan pertama pengiriman #2 dapat dilakukan sebagai berikut:
Namun, perlu diperhatikan 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 pada kolom tertentu dalam file ini dan mengikuti struktur hierarki yang sama. Misalnya, kami dapat menentukan elemen #2 dari startTimeWindows
kendaraan #5 menggunakan:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Namun, kami menghilangkan entity level teratas seperti OptimizeToursRequest
atau ShipmentModel
untuk menghindari pesan berdesakan.
Representasi JSON |
---|
{ "name": string, "subField": { object ( |
Kolom | |
---|---|
name |
Nama kolom, misalnya, "kendaraan". |
subField |
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 dari semua rute.
Representasi JSON |
---|
{
"aggregatedRouteMetrics": {
object ( |
Kolom | |
---|---|
aggregatedRouteMetrics |
Digabungkan berdasarkan rute. Setiap metrik adalah jumlah (atau jumlah maksimum, untuk pemuatan) di seluruh kolom |
skippedMandatoryShipmentCount |
Jumlah pengiriman wajib dilewati. |
usedVehicleCount |
Jumlah kendaraan yang digunakan. Catatan: jika rute kendaraan kosong dan |
earliestVehicleStartTime |
Waktu mulai paling awal untuk kendaraan bekas, dihitung sebagai waktu minimum untuk semua kendaraan bekas Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
latestVehicleEndTime |
Waktu berakhir terbaru untuk kendaraan bekas, dihitung sebagai waktu berakhir maksimum untuk semua kendaraan bekas sebesar Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
costs |
Biaya solusi, dikelompokkan berdasarkan kolom permintaan terkait biaya. Kuncinya adalah jalur proto, relatif terhadap input OptimizeToursRequest, misalnya "model.shipments.pickups.cost", dan nilainya adalah total biaya yang dihasilkan oleh kolom biaya yang sesuai, yang digabungkan dari keseluruhan solusi. Dengan kata lain, biaya["model.shipments.pickups.cost"] adalah jumlah semua biaya pengambilan atas solusi tersebut. Semua biaya yang ditentukan dalam model dilaporkan secara mendetail di sini, kecuali biaya yang terkait dengan TransitionAttributes yang hanya dilaporkan secara agregat mulai 2022/01. Objek yang berisi daftar pasangan |
totalCost |
Total biaya solusi. Jumlah semua nilai di peta biaya. |