pub enum UnassignedCode {
TimeWindowInfeasible,
CapacityExceeded,
MissingSkill,
MaxTravelTime,
NoCompatibleVehicle,
}Expand description
Why a stop could not be placed. Stable, machine-readable diagnostic codes.
MissingSkill and MaxTravelTime
are reserved: the current model has neither skills nor a per-vehicle
travel-time bound, so the solver never emits them yet. They are part of the
enum so the contract is stable for when those constraints land.
Variants§
TimeWindowInfeasible
The stop cannot be reached, serviced within its window, and returned before the depot closes — even alone on an otherwise empty route.
CapacityExceeded
The stop’s demand exceeds the capacity of the (smallest) vehicle, so it fits on no route on its own.
MissingSkill
The stop requires a skill no vehicle provides. Reserved — not emitted yet (the model has no skills).
MaxTravelTime
Serving the stop would exceed a vehicle’s maximum travel time. Reserved — not emitted yet (the model has no max-travel bound).
NoCompatibleVehicle
Every vehicle is already assigned and none of the built routes can absorb the stop — the fleet is exhausted.
Implementations§
Trait Implementations§
Source§impl Clone for UnassignedCode
impl Clone for UnassignedCode
Source§fn clone(&self) -> UnassignedCode
fn clone(&self) -> UnassignedCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for UnassignedCode
Source§impl Debug for UnassignedCode
impl Debug for UnassignedCode
impl Eq for UnassignedCode
Source§impl Hash for UnassignedCode
impl Hash for UnassignedCode
Source§impl PartialEq for UnassignedCode
impl PartialEq for UnassignedCode
Source§fn eq(&self, other: &UnassignedCode) -> bool
fn eq(&self, other: &UnassignedCode) -> bool
self and other values to be equal, and is used by ==.