[][src]Trait vrp_core::construction::constraints::JobContextTransition

pub trait JobContextTransition {
    fn remove_from_required(&self, ctx: &SolutionContext, job: &Job) -> bool;
fn promote_to_required(&self, ctx: &SolutionContext, job: &Job) -> bool;
fn remove_from_locked(&self, ctx: &SolutionContext, job: &Job) -> bool;
fn promote_to_locked(&self, ctx: &SolutionContext, job: &Job) -> bool; }

Defines how jobs are moved in context.

Required methods

fn remove_from_required(&self, ctx: &SolutionContext, job: &Job) -> bool

Returns true if job is moved from required to ignored.

fn promote_to_required(&self, ctx: &SolutionContext, job: &Job) -> bool

Returns true if job is moved from ignored to required.

fn remove_from_locked(&self, ctx: &SolutionContext, job: &Job) -> bool

Returns true if job is removed from locked.

fn promote_to_locked(&self, ctx: &SolutionContext, job: &Job) -> bool

Returns true if job is moved to locked.

Loading content...

Implementors

impl<FRemoveRequired, FPromoteRequired, FRemoveLocked, FPromoteLocked> JobContextTransition for ConcreteJobContextTransition<FRemoveRequired, FPromoteRequired, FRemoveLocked, FPromoteLocked> where
    FRemoveRequired: Fn(&SolutionContext, &Job) -> bool,
    FPromoteRequired: Fn(&SolutionContext, &Job) -> bool,
    FRemoveLocked: Fn(&SolutionContext, &Job) -> bool,
    FPromoteLocked: Fn(&SolutionContext, &Job) -> bool
[src]

Loading content...