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 + Send + Sync>,
pub transport: Arc<dyn TransportCost + Send + Sync>,
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 + Send + Sync>
Specifies activity costs.
transport: Arc<dyn TransportCost + Send + Sync>
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