[][src]Struct vrp_solver::Solver

pub struct Solver {
    pub selection: Box<dyn Selection>,
    pub mutation: Box<dyn Mutation>,
    pub acceptance: Box<dyn Acceptance>,
    pub termination: Box<dyn Termination>,
    pub quota: Option<Box<dyn Quota + Sync + Send>>,
    pub initial: Option<InsertionContext>,
    pub logger: Box<dyn Fn(String)>,
}

A skeleton of metaheuristic with default ruin and recreate implementation.

Fields

selection: Box<dyn Selection>mutation: Box<dyn Mutation>acceptance: Box<dyn Acceptance>termination: Box<dyn Termination>quota: Option<Box<dyn Quota + Sync + Send>>initial: Option<InsertionContext>logger: Box<dyn Fn(String)>

Methods

impl Solver[src]

pub fn new(
    selection: Box<dyn Selection>,
    mutation: Box<dyn Mutation>,
    acceptance: Box<dyn Acceptance>,
    termination: Box<dyn Termination>,
    quota: Option<Box<dyn Quota + Sync + Send>>,
    initial: Option<InsertionContext>,
    logger: Box<dyn Fn(String)>
) -> Self
[src]

Creates a new instance of Solver.

pub fn solve(
    &mut self,
    problem: Arc<Problem>
) -> Option<(Solution, Box<dyn ObjectiveCost + Send + Sync>, usize)>
[src]

Solves given problem and returns solution, its cost and generation when it is found. Return None if no solution found.

Trait Implementations

impl Default for Solver[src]

Auto Trait Implementations

impl !RefUnwindSafe for Solver

impl !Send for Solver

impl !Sync for Solver

impl Unpin for Solver

impl !UnwindSafe for Solver

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, 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>,