pub struct Code(/* private fields */);Expand description
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.
Implementations§
Source§impl Code
impl Code
Sourcepub const CODE_UNSPECIFIED: Code
pub const CODE_UNSPECIFIED: Code
This should never be used. If we are unable to understand why a shipment was skipped, we simply return an empty set of reasons.
Sourcepub const NO_VEHICLE: Code
pub const NO_VEHICLE: Code
There is no vehicle in the model making all shipments infeasible.
Sourcepub const DEMAND_EXCEEDS_VEHICLE_CAPACITY: Code
pub const DEMAND_EXCEEDS_VEHICLE_CAPACITY: Code
The demand of the shipment exceeds a vehicle’s capacity for some
capacity types, one of which is example_exceeded_capacity_type.
Sourcepub const CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT: Code
pub const CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT: Code
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.
Note that for this computation we use the geodesic distances.
Sourcepub const CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT: Code
pub const CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT: Code
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).
Sourcepub const CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT: Code
pub const CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT: Code
Same as above but we only compare minimum travel time and the
vehicle’s travel_duration_limit.
Sourcepub const CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS: Code
pub const CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS: Code
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.
Sourcepub const VEHICLE_NOT_ALLOWED: Code
pub const VEHICLE_NOT_ALLOWED: Code
The allowed_vehicle_indices field of the shipment is not empty and
this vehicle does not belong to it.
Sourcepub fn as_str_name(&self) -> Cow<'static, str>
pub fn as_str_name(&self) -> Cow<'static, str>
Gets the enum value as a string.
Sourcepub fn from_str_name(name: &str) -> Option<Self>
pub fn from_str_name(name: &str) -> Option<Self>
Creates an enum value from the value name.