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 dilewati. |
validationErrors[] |
Daftar semua error validasi yang dapat kami deteksi secara independen. Lihat "KESALAHAN BEBERAPA" penjelasan untuk pesan |
metrics |
Metrik durasi, jarak, dan penggunaan untuk solusi ini. |
OptimizeToursValidationError
Menjelaskan error atau peringatan yang ditemukan saat memvalidasi OptimizeToursRequest
.
Representasi JSON |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Kolom | |
---|---|
code |
Error validasi ditentukan oleh pasangan ( Kolom lain (di bawah) memberikan lebih banyak konteks tentang error tersebut. KESALAHAN BEBERAPA: Jika ada beberapa error, proses validasi akan mencoba menghasilkan beberapa error. 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: REFERENSI: Daftar semua pasangan (kode, nama):
|
displayName |
Nama tampilan error. |
fields[] |
Konteks error dapat melibatkan 0, 1 (sering kali) atau lebih banyak 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. Opsi ini tidak selalu tersedia. Sebaiknya Anda tidak 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
agar pesan tidak memenuhi kriteria.
Representasi JSON |
---|
{ "name": string, "subField": { object ( |
Kolom | |
---|---|
name |
Nama kolom, mis., "kendaraan". |
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 nilai maks, untuk pemuatan) pada semua 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, yang dihitung sebagai waktu mulai minimum untuk semua kendaraan bekas sebesar Stempel waktu dalam RFC3339 UTC "Zulu" , dengan resolusi nanodetik dan hingga 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 RFC3339 UTC "Zulu" , dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
costs |
Biaya solusi, yang diperinci berdasarkan kolom permintaan terkait biaya. Kuncinya adalah jalur proto, terkait dengan input OptimizeToursRequest, mis. "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 terkait TransitionAttributes yang hanya dilaporkan secara agregat mulai 01/2022. Objek yang berisi daftar pasangan |
totalCost |
Total biaya solusi. Jumlah semua nilai dalam peta biaya. |