pub struct FleetUsageConstraintModule { /* private fields */ }Expand description
A module which controls fleet size usage.
Implementations
sourceimpl FleetUsageConstraintModule
impl FleetUsageConstraintModule
sourcepub fn new_minimized() -> Self
pub fn new_minimized() -> Self
Creates FleetUsageConstraintModule to minimize used fleet size.
sourcepub fn new_maximized() -> Self
pub fn new_maximized() -> Self
Creates FleetUsageConstraintModule to maximize used fleet size.
sourcepub fn new_earliest() -> Self
pub fn new_earliest() -> Self
Creates FleetUsageConstraintModule to minimize total arrival time.
Trait Implementations
sourceimpl ConstraintModule for FleetUsageConstraintModule
impl ConstraintModule for FleetUsageConstraintModule
sourcefn accept_insertion(
&self,
_solution_ctx: &mut SolutionContext,
_route_index: usize,
_job: &Job
)
fn accept_insertion(
&self,
_solution_ctx: &mut SolutionContext,
_route_index: usize,
_job: &Job
)
Accept insertion of specific job into the route.
Called once job has been inserted into solution represented via solution_ctx.
Target route is defined by route_index which refers to routes collection in solution context.
Inserted job is job.
This method should call accept_route_state internally.
This method should NOT modify amount of job activities in the tour. Read more
sourcefn accept_route_state(&self, _ctx: &mut RouteContext)
fn accept_route_state(&self, _ctx: &mut RouteContext)
Accept route and updates its state to allow more efficient constraint checks. This method should NOT modify amount of job activities in the tour. Read more
sourcefn accept_solution_state(&self, _ctx: &mut SolutionContext)
fn accept_solution_state(&self, _ctx: &mut SolutionContext)
Accepts insertion solution context allowing to update job insertion data. This method called twice: before insertion of all jobs starts and when it ends. Please note, that it is important to update only stale routes as this allows to avoid updating non changed route states. Read more
sourcefn merge(&self, source: Job, _candidate: Job) -> Result<Job, i32>
fn merge(&self, source: Job, _candidate: Job) -> Result<Job, i32>
Tries to merge two jobs taking into account common constraints. Returns a new job, if it is possible to merge them together having theoretically assignable job. Otherwise returns violation error code. Read more
sourcefn state_keys(&self) -> Iter<'_, i32>
fn state_keys(&self) -> Iter<'_, i32>
Returns unique constraint state keys. Used to avoid state key interference. Read more
sourcefn get_constraints(&self) -> Iter<'_, ConstraintVariant>
fn get_constraints(&self) -> Iter<'_, ConstraintVariant>
Returns list of constraints to be used.
Auto Trait Implementations
impl !RefUnwindSafe for FleetUsageConstraintModule
impl Send for FleetUsageConstraintModule
impl Sync for FleetUsageConstraintModule
impl Unpin for FleetUsageConstraintModule
impl !UnwindSafe for FleetUsageConstraintModule
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more