Trait vrp_core::construction::heuristics::InsertionEvaluator
source · pub trait InsertionEvaluator {
// Required methods
fn evaluate_job(
&self,
insertion_ctx: &InsertionContext,
job: &Job,
routes: &[&RouteContext],
leg_selection: &LegSelection,
result_selector: &(dyn ResultSelector + Send + Sync)
) -> InsertionResult;
fn evaluate_route(
&self,
insertion_ctx: &InsertionContext,
route_ctx: &RouteContext,
jobs: &[&Job],
leg_selection: &LegSelection,
result_selector: &(dyn ResultSelector + Send + Sync)
) -> InsertionResult;
fn evaluate_all(
&self,
insertion_ctx: &InsertionContext,
jobs: &[&Job],
routes: &[&RouteContext],
leg_selection: &LegSelection,
result_selector: &(dyn ResultSelector + Send + Sync)
) -> InsertionResult;
}
Expand description
Evaluates insertion.
Required Methods§
sourcefn evaluate_job(
&self,
insertion_ctx: &InsertionContext,
job: &Job,
routes: &[&RouteContext],
leg_selection: &LegSelection,
result_selector: &(dyn ResultSelector + Send + Sync)
) -> InsertionResult
fn evaluate_job( &self, insertion_ctx: &InsertionContext, job: &Job, routes: &[&RouteContext], leg_selection: &LegSelection, result_selector: &(dyn ResultSelector + Send + Sync) ) -> InsertionResult
Evaluates insertion of a single job into given collection of routes.
sourcefn evaluate_route(
&self,
insertion_ctx: &InsertionContext,
route_ctx: &RouteContext,
jobs: &[&Job],
leg_selection: &LegSelection,
result_selector: &(dyn ResultSelector + Send + Sync)
) -> InsertionResult
fn evaluate_route( &self, insertion_ctx: &InsertionContext, route_ctx: &RouteContext, jobs: &[&Job], leg_selection: &LegSelection, result_selector: &(dyn ResultSelector + Send + Sync) ) -> InsertionResult
Evaluates insertion of multiple jobs into given route.
sourcefn evaluate_all(
&self,
insertion_ctx: &InsertionContext,
jobs: &[&Job],
routes: &[&RouteContext],
leg_selection: &LegSelection,
result_selector: &(dyn ResultSelector + Send + Sync)
) -> InsertionResult
fn evaluate_all( &self, insertion_ctx: &InsertionContext, jobs: &[&Job], routes: &[&RouteContext], leg_selection: &LegSelection, result_selector: &(dyn ResultSelector + Send + Sync) ) -> InsertionResult
Evaluates insertion of a job collection into given collection of routes.