Code(value)
Code identifying the reason type. The order here is meaningless. In particular, it gives no indication of whether a given reason will appear before another in the solution, if both apply.
Note that for this computation we use the geodesic
distances.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT (4):
The minimum time necessary to perform this shipment,
including travel time, wait time and service time exceeds
the vehicle's `route_duration_limit`.
Note: travel time is computed in the best-case scenario,
namely as geodesic distance x 36 m/s (roughly 130 km/hour).
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT (5):
Same as above but we only compare minimum travel time and
the vehicle's `travel_duration_limit`.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS (6):
The vehicle cannot perform this shipment in the best-case
scenario (see
`CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT` for
time computation) if it starts at its earliest start time:
the total time would make the vehicle end after its latest
end time.
VEHICLE_NOT_ALLOWED (7):
The `allowed_vehicle_indices` field of the shipment is not
empty and this vehicle does not belong to it.
Enums |
|
---|---|
Name | Description |
CODE_UNSPECIFIED |
This should never be used. If we are unable to understand why a shipment was skipped, we simply return an empty set of reasons. |
NO_VEHICLE |
There is no vehicle in the model making all shipments infeasible. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
The demand of the shipment exceeds a vehicle's capacity for some capacity types, one of which is `example_exceeded_capacity_type`. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
The minimum distance necessary to perform this shipment, i.e. from the vehicle's `start_location` to the shipment's pickup and/or delivery locations and to the vehicle's end location exceeds the vehicle's `route_distance_limit`. |