SkippedShipment

Menentukan detail pengiriman yang belum dilakukan dalam solusi. Untuk kasus kecil dan/atau jika kami dapat mengidentifikasi penyebab lewati, kami akan melaporkan alasannya di sini.

Representasi JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
Kolom
index

integer

Indeks sesuai dengan indeks pengiriman di sumber ShipmentModel.

label

string

Salinan Shipment.label terkait, jika ditentukan dalam Shipment.

reasons[]

object (Reason)

Daftar alasan yang menjelaskan mengapa pengiriman dilewati. Lihat komentar di atas Reason.

Alasan

Jika kami dapat menjelaskan alasan pengiriman dilewati, alasannya akan dicantumkan di sini. Jika alasannya tidak sama untuk semua kendaraan, reason akan memiliki lebih dari 1 elemen. Pengiriman yang dilewati tidak boleh memiliki alasan duplikat, yaitu semua kolom sama kecuali untuk exampleVehicleIndex. Contoh:

reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 1
  exampleExceededCapacityType: "Apples"
}
reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 3
  exampleExceededCapacityType: "Pears"
}
reasons {
  code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
  exampleVehicleIndex: 1
}

Pengiriman yang dilewati tidak kompatibel dengan semua kendaraan. Alasannya mungkin berbeda untuk semua kendaraan, tetapi setidaknya satu kapasitas "Apel" kendaraan terlampaui (termasuk kendaraan 1), setidaknya satu kapasitas "Pears" kendaraan akan terlampaui (termasuk kendaraan 3), dan batas jarak minimal satu kendaraan akan terlampaui (termasuk kendaraan 1).

Representasi JSON
{
  "code": enum (Code),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
Kolom
code

enum (Code)

Lihat komentar Kode.

exampleExceededCapacityType

string

Jika kode alasannya adalah DEMAND_EXCEEDS_VEHICLE_CAPACITY, dokumentasikan satu jenis kapasitas yang terlampaui.

exampleVehicleIndex

integer

Jika alasannya terkait dengan inkompatibilitas kendaraan pengiriman, kolom ini memberikan indeks satu kendaraan yang relevan.

Code

Kode yang mengidentifikasi jenis alasan. Urutan di sini tidak bermakna. Secara khusus, hasil ini tidak memberikan indikasi apakah alasan tertentu akan muncul sebelum alasan lain dalam solusi, jika keduanya berlaku.

Enum
CODE_UNSPECIFIED Metode ini tidak boleh digunakan. Jika kami tidak dapat memahami alasan pengiriman dilewati, kami hanya akan menampilkan kumpulan alasan kosong.
NO_VEHICLE Tidak ada kendaraan dalam model tersebut yang membuat semua pengiriman menjadi tidak mungkin.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Permintaan pengiriman melebihi kapasitas kendaraan untuk beberapa jenis kapasitas, salah satunya adalah exampleExceededCapacityType.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Jarak minimum yang diperlukan untuk melakukan pengiriman ini, yaitu dari startLocation kendaraan ke lokasi pengambilan dan/atau pengiriman pengiriman serta ke lokasi akhir kendaraan melebihi routeDistanceLimit kendaraan.

Perhatikan bahwa untuk komputasi ini, kita menggunakan jarak geodesi.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Waktu minimum yang diperlukan untuk melakukan pengiriman ini, termasuk waktu perjalanan, waktu tunggu, dan waktu servis melebihi routeDurationLimit kendaraan.

Catatan: waktu tempuh dihitung dalam skenario kasus terbaik, yaitu sebagai jarak geodesi x 36 m/s (sekitar 130 km/jam).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Sama seperti di atas, tetapi kita hanya membandingkan waktu perjalanan minimum dan travelDurationLimit kendaraan.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Kendaraan tidak dapat melakukan pengiriman ini dalam skenario kasus terbaik (lihat CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT untuk komputasi waktu) jika dimulai pada waktu mulai paling awal: waktu total akan membuat kendaraan berakhir setelah waktu berakhir yang terakhir.
VEHICLE_NOT_ALLOWED Kolom allowedVehicleIndices pengiriman tidak kosong dan kendaraan ini bukan bagian darinya.