pub struct Problem {
pub fleet: Arc<Fleet>,
pub jobs: Arc<Jobs>,
pub locks: Vec<Arc<Lock>>,
pub goal: Arc<GoalContext>,
pub activity: Arc<dyn ActivityCost>,
pub transport: Arc<dyn TransportCost>,
pub extras: Arc<Extras>,
}Expand description
Defines a VRP problem. You can use a ProblemBuilder to create the one.
Fields§
§fleet: Arc<Fleet>Specifies used fleet.
jobs: Arc<Jobs>Specifies all jobs.
locks: Vec<Arc<Lock>>Specifies jobs which preassigned to specific vehicles and/or drivers.
goal: Arc<GoalContext>Specifies optimization goal with the corresponding global/local objectives and invariants.
activity: Arc<dyn ActivityCost>Specifies activity costs.
transport: Arc<dyn TransportCost>Specifies transport costs.
extras: Arc<Extras>Specifies index for storing extra parameters of arbitrary type.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Problem
impl !RefUnwindSafe for Problem
impl Send for Problem
impl Sync for Problem
impl Unpin for Problem
impl !UnwindSafe for Problem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more