Trait vrp_core::construction::enablers::multi_trip::MultiTrip
source · 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§
sourcefn get_route_intervals(&self) -> &dyn RouteIntervals
fn get_route_intervals(&self) -> &dyn RouteIntervals
Gets an actual route intervals.
sourcefn get_constraint(&self) -> &dyn FeatureConstraint
fn get_constraint(&self) -> &dyn FeatureConstraint
Gets an actual feature constraint which restricts a route.
sourcefn recalculate_states(&self, route_ctx: &mut RouteContext)
fn recalculate_states(&self, route_ctx: &mut RouteContext)
Recalculates inner states for given route.
sourcefn try_recover(
&self,
solution_ctx: &mut SolutionContext,
route_indices: &[usize],
jobs: &[Job]
) -> bool
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.