Struct vrp_core::construction::heuristics::InsertionHeuristic[][src]

pub struct InsertionHeuristic { /* fields omitted */ }

Implements generalized insertion heuristic. Using JobSelector, RouteSelector, and ResultSelector it tries to identify next job to be inserted until there are no jobs left or it is not possible to insert due to constraint limitations.

Implementations

impl InsertionHeuristic[src]

pub fn new(
    insertion_evaluator: Box<dyn InsertionEvaluator + Send + Sync>
) -> Self
[src]

Creates a new instance of InsertionHeuristic.

impl InsertionHeuristic[src]

pub fn process(
    &self,
    ctx: InsertionContext,
    job_selector: &(dyn JobSelector + Send + Sync),
    route_selector: &(dyn RouteSelector + Send + Sync),
    result_selector: &(dyn ResultSelector + Send + Sync),
    quota: &Option<Arc<dyn Quota + Send + Sync>>
) -> InsertionContext
[src]

Runs common insertion heuristic algorithm using given selector specializations.

Trait Implementations

impl Default for InsertionHeuristic[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,