Trait vrp_core::construction::enablers::JobContextTransition
source · pub trait JobContextTransition {
// Required methods
fn remove_from_required(
&self,
solution_ctx: &SolutionContext,
route_index: Option<usize>,
job: &Job
) -> bool;
fn promote_to_required(
&self,
solution_ctx: &SolutionContext,
route_index: Option<usize>,
job: &Job
) -> bool;
fn remove_from_locked(
&self,
solution_ctx: &SolutionContext,
route_index: Option<usize>,
job: &Job
) -> bool;
fn promote_to_locked(
&self,
solution_ctx: &SolutionContext,
route_index: Option<usize>,
job: &Job
) -> bool;
}
Expand description
Defines how jobs are moved in solution context. Index of original affected route context is passed.
Required Methods§
sourcefn remove_from_required(
&self,
solution_ctx: &SolutionContext,
route_index: Option<usize>,
job: &Job
) -> bool
fn remove_from_required( &self, solution_ctx: &SolutionContext, route_index: Option<usize>, job: &Job ) -> bool
Returns true if job is moved from required to ignored.
sourcefn promote_to_required(
&self,
solution_ctx: &SolutionContext,
route_index: Option<usize>,
job: &Job
) -> bool
fn promote_to_required( &self, solution_ctx: &SolutionContext, route_index: Option<usize>, job: &Job ) -> bool
Returns true if job is moved from ignored to required.
sourcefn remove_from_locked(
&self,
solution_ctx: &SolutionContext,
route_index: Option<usize>,
job: &Job
) -> bool
fn remove_from_locked( &self, solution_ctx: &SolutionContext, route_index: Option<usize>, job: &Job ) -> bool
Returns true if job is removed from locked.
sourcefn promote_to_locked(
&self,
solution_ctx: &SolutionContext,
route_index: Option<usize>,
job: &Job
) -> bool
fn promote_to_locked( &self, solution_ctx: &SolutionContext, route_index: Option<usize>, job: &Job ) -> bool
Returns true if job is moved to locked.