pub trait MultiTrip {
    // Required methods
    fn get_route_intervals(&self) -> &dyn RouteIntervals;
    fn get_constraint(&self) -> &dyn FeatureConstraint;
    fn recalculate_states(&self, route_ctx: &mut RouteContext);
    fn try_recover(
        &self,
        solution_ctx: &mut SolutionContext,
        route_indices: &[usize],
        jobs: &[Job]
    ) -> bool;
}
Expand description

Specifies multi trip extension behavior.

Required Methods§

source

fn get_route_intervals(&self) -> &dyn RouteIntervals

Gets an actual route intervals.

source

fn get_constraint(&self) -> &dyn FeatureConstraint

Gets an actual feature constraint which restricts a route.

source

fn recalculate_states(&self, route_ctx: &mut RouteContext)

Recalculates inner states for given route.

source

fn try_recover( &self, solution_ctx: &mut SolutionContext, route_indices: &[usize], jobs: &[Job] ) -> bool

Provides the way to recover from inability of the solver to insert jobs. Returns true if some recovery actions were taken.

Implementors§