Określa szczegóły dotyczące niezrealizowanych dostaw w rozwiązaniu. W prostych przypadkach lub jeśli jesteśmy w stanie określić przyczynę pominięcia, podajemy ją tutaj.
Zapis JSON |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
Pola | |
---|---|
index |
Indeks odpowiada indeksowi przesyłki w źródle |
label |
Kopia odpowiedniej wartości |
reasons[] |
Lista powodów, dla których przesyłka została pominięta. Zobacz komentarz powyżej |
Przyczyna
Jeśli będziemy mogli wyjaśnić, dlaczego przesyłka została pominięta, podamy jej przyczynę. Jeśli przyczyna nie jest taka sama w przypadku wszystkich pojazdów, reason
będzie mieć więcej niż 1 element. Pominięta przesyłka nie może mieć zduplikowanych przyczyn, tj. wszystkie pola są takie same z wyjątkiem pola exampleVehicleIndex
. Przykład:
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
}
Pominięta przesyłka jest niezgodna ze wszystkimi pojazdami. Przyczyny mogą być różne w przypadku wszystkich pojazdów, ale w przypadku co najmniej jednego pojazdu „jabłko” zostanie przekroczony limit pojemności „jabłków” (łącznie z pojazdem 1), przekroczona zostanie pojemność co najmniej jednego pojazdu „Gruszki” (w tym pojazd 3) i co najmniej jednego z nich (w tym pojazd 1).
Zapis JSON |
---|
{
"code": enum ( |
Pola | |
---|---|
code |
Zapoznaj się z komentarzami do kodu. |
exampleExceededCapacityType |
Jeśli kod przyczyny to |
exampleVehicleIndex |
Jeśli przyczyna jest związana z niezgodnym pojazdem dostawczym, to pole zawiera indeks jednego odpowiedniego pojazdu. |
Kod
Kod określający typ przyczyny. Porządek ten nie ma sensu. W szczególności nie wskazuje, czy dana przyczyna pojawi się przed inną w rozwiązaniach, jeśli obie mają zastosowanie.
Wartości w polu enum | |
---|---|
CODE_UNSPECIFIED |
Nie należy go nigdy używać. Jeśli nie wiemy, dlaczego przesyłka została pominięta, zwracamy po prostu pusty zestaw powodów. |
NO_VEHICLE |
W tym modelu nie ma pojazdu, który uniemożliwia realizację wszystkich dostaw. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
Żądanie przesyłki przekracza pojemność pojazdu w przypadku niektórych typów pojemności, z których jeden to exampleExceededCapacityType . |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
Minimalna odległość niezbędna do realizacji tej przesyłki, tj. od Pamiętaj, że do obliczeń używamy odległości geodezyjnych. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
Minimalny czas potrzebny do realizacji tej dostawy, w tym czas podróży, czas oczekiwania i czas obsługi, przekracza Uwaga: czas podróży oblicza się w najlepszym przypadku, czyli jako odległość geodezyjną x 36 m/s (około 130 km/h). |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT |
Tak samo jak powyżej, ale porównujemy tylko minimalny czas podróży i travelDurationLimit pojazdu. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS |
Pojazd nie może zrealizować tej dostawy w najlepszym przypadku (zobacz CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT , aby obliczyć czas, jeśli rozpocznie się o najwcześniejszym czasie rozpoczęcia: całkowity czas spowoduje, że pojazd zakończy się po najpóźniejszej godzinie zakończenia). |
VEHICLE_NOT_ALLOWED |
Pole allowedVehicleIndices przesyłki nie jest puste i pojazd do niego nie należy. |