Struct vrp_core::construction::constraints::CapacityConstraintModule[][src]

pub struct CapacityConstraintModule<T: Load + Add<Output = T> + Sub<Output = T> + 'static> { /* fields omitted */ }
Expand description

A module which ensures vehicle capacity limitation while serving customer’s demand.

Implementations

impl<T: Load + Add<Output = T> + Sub<Output = T> + 'static> CapacityConstraintModule<T>[src]

pub fn new(transport: Arc<dyn TransportCost + Send + Sync>, code: i32) -> Self[src]

Creates a new instance of CapacityConstraintModule without multi trip (reload) functionality

pub fn new_with_multi_trip(
    transport: Arc<dyn TransportCost + Send + Sync>,
    code: i32,
    multi_trip: Arc<dyn MultiTrip<T> + Send + Sync>
) -> Self
[src]

Creates a new instance of CapacityConstraintModule with multi trip (reload) functionality

Trait Implementations

impl<T: Load + Add<Output = T> + Sub<Output = T> + 'static> ConstraintModule for CapacityConstraintModule<T>[src]

fn accept_insertion(
    &self,
    solution_ctx: &mut SolutionContext,
    route_index: usize,
    job: &Job
)
[src]

Accept insertion of specific job into the route. Called once job has been inserted into solution represented via solution_ctx. Target route is defined by route_index which refers to routes collection in solution context. Inserted job is job. This method should call accept_route_state internally. Read more

fn accept_route_state(&self, ctx: &mut RouteContext)[src]

Accept route and updates its state to allow more efficient constraint checks.

fn accept_solution_state(&self, ctx: &mut SolutionContext)[src]

Accepts insertion solution context allowing to update job insertion data. This method called twice: before insertion of all jobs starts and when it ends. Please note, that it is important to update only stale routes as this allows to avoid updating non changed route states. Read more

fn state_keys(&self) -> Iter<'_, i32>[src]

Returns unique constraint state keys. Used to avoid state key interference. Read more

fn get_constraints(&self) -> Iter<'_, ConstraintVariant>[src]

Returns list of constraints to be used.

Auto Trait Implementations

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

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

pub fn vzip(self) -> V