Określa szczegóły niewykonywanych dostaw w rozwiązaniu. W przypadku błahych przypadków lub gdy możemy zidentyfikować przyczynę pominięcia, podajemy go tutaj.
| Zapis JSON | 
|---|
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object ( | 
            
| Pola | |
|---|---|
index | 
              
                 
 Indeks odpowiada indeksowi przesyłki w źródle   | 
            
label | 
              
                 
 Kopia odpowiedniego elementu   | 
            
reasons[] | 
              
                 
 Lista powodów, dla których przesyłka została pominięta. Zobacz komentarz powyżej   | 
            
penaltyCost | 
              
                 
 To kopia  Eksperymentalne: zachowanie lub istnienie tego pola może się w przyszłości zmienić.  | 
            
estimatedIncompatibleVehicleRatio | 
              
                 
 Szacowany odsetek pojazdów, które nie mogą zrealizować tej dostawy z co najmniej jednego z poniższych powodów. Uwaga: pole to jest wypełniane tylko wtedy, gdy przyczyny dotyczą pojazdu. Eksperymentalne: zachowanie lub istnienie tego pola może się w przyszłości zmienić.  | 
            
Przyczyna
Jeśli możemy wyjaśnić, dlaczego przesyłka została pominięta, podamy tutaj powody. Jeśli przyczyna nie jest taka sama w przypadku wszystkich pojazdów, element reason będzie zawierał więcej niż 1 element. Przesyłka pominięta nie może mieć zduplikowanych przyczyn, czyli wszystkich pól, 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
}
Przesyłka, która została pominięta, jest niezgodna ze wszystkimi pojazdami. Powody mogą być różne w przypadku poszczególnych pojazdów, ale w przynajmniej jednym z nich przekroczona byłaby pojemność „jabłek” (w tym w pojazdzie 1), w przynajmniej jednym z nich przekroczona byłaby pojemność „gruszek” (w tym w pojazdzie 3), a w przynajmniej jednym z nich przekroczony byłby limit odległości (w tym w pojazdzie 1).
| Zapis JSON | 
|---|
{
  "code": enum ( | 
              
| Pola | |
|---|---|
code | 
                
                   
 Zapoznaj się z komentarzami w kodzie.  | 
              
exampleVehicleIndices[] | 
                
                   
 To samo co  Eksperymentalne: zachowanie lub istnienie tego pola może się w przyszłości zmienić.  | 
              
exampleExceededCapacityType | 
                
                   
 Jeśli kod powodu to   | 
              
exampleVehicleIndex | 
                
                   
 Jeśli przyczyna dotyczy niezgodności przesyłki z pojazdem, to pole zawiera indeks odpowiedniego pojazdu.  | 
              
Kod
Kod identyfikujący typ przyczyny. Kolejność nie ma znaczenia. W szczególności nie wskazuje, czy dana przyczyna pojawi się w rozwiązaniu przed inną, jeśli obie są prawidłowe.
| Wartości w polu enum | |
|---|---|
CODE_UNSPECIFIED | 
                Nigdy nie należy ich używać. | 
NO_VEHICLE | 
                W modelu nie ma żadnego pojazdu, przez co wszystkie przesyłki są niemożliwe. | 
DEMAND_EXCEEDS_VEHICLE_CAPACITY | 
                Zapotrzebowanie na przesyłkę przekracza pojemność pojazdu w przypadku niektórych typów pojemności, w tym exampleExceededCapacityType. | 
              
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT | 
                Minimalna odległość niezbędna do wykonania tej dostawy, czyli od  Pamiętaj, że do tego obliczenia używamy odległości geodezyjnych.  | 
              
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT | 
                Minimalny czas potrzebny do wykonania tej dostawy, w tym czas przejazdu, oczekiwania i obsługi, przekracza  Uwaga: czas przejazdu jest obliczany w najlepszym możliwym scenariuszu, czyli jako odległość geodezyjna × 36 m/s (około 130 km/h).  | 
              
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT | 
                To samo co powyżej, ale porównujemy tylko minimalny czas podróży i travelDurationLimit pojazdu. | 
              
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS | 
                Pojazd nie może wykonać tej dostawy w najlepszym scenariuszu (patrz CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT, aby poznać sposób obliczania czasu), jeśli rozpoczyna się o najwcześniejszej możliwej godzinie: łączny czas pracy pojazdu spowoduje, że zakończy on pracę po upływie najpóźniejszego możliwego czasu. | 
              
VEHICLE_NOT_ALLOWED | 
                Pole allowedVehicleIndices przesyłki nie jest puste, a ten pojazd do niego nie należy. | 
              
VEHICLE_IGNORED | 
                Pole  Eksperymentalne: zachowanie lub istnienie tego pola może się w przyszłości zmienić.  | 
              
SHIPMENT_IGNORED | 
                Pole  Eksperymentalne: zachowanie lub istnienie tego pola może się w przyszłości zmienić.  | 
              
SKIPPED_IN_INJECTED_SOLUTION_CONSTRAINT | 
                Dostawa została pominięta w  Eksperymentalne: zachowanie lub istnienie tego pola może się w przyszłości zmienić.  | 
              
VEHICLE_ROUTE_IS_FULLY_SEQUENCE_CONSTRAINED | 
                Zwolnienie z przepisów dotyczących trasy pojazdu określone w  Eksperymentalne: zachowanie lub istnienie tego pola może się w przyszłości zmienić.  | 
              
ZERO_PENALTY_COST | 
                Wysyłka ma zerowe koszty karne. Może to być przydatne jako zaawansowany wybór modelowania, ale może też wyjaśnić, dlaczego przesyłka została pominięta. Eksperymentalne: zachowanie lub istnienie tego pola może się w przyszłości zmienić.  |