pub struct ProblemData {
pub capacity: i64,
pub depot: usize,
pub demands: Vec<i32>,
pub distance_matrix: Vec<Vec<i64>>,
pub time_windows: Vec<(i64, i64)>,
pub service_durations: Vec<i64>,
pub travel_times: Vec<Vec<i64>>,
pub vehicle_departure_time: i64,
}Expand description
Immutable problem data shared by all vehicles.
Stored via raw pointer in each vehicle so the framework can clone vehicles freely during local search without copying matrices.
Fields§
§capacity: i64§depot: usize§demands: Vec<i32>§distance_matrix: Vec<Vec<i64>>§time_windows: Vec<(i64, i64)>§service_durations: Vec<i64>§travel_times: Vec<Vec<i64>>§vehicle_departure_time: i64Auto Trait Implementations§
impl Freeze for ProblemData
impl RefUnwindSafe for ProblemData
impl Send for ProblemData
impl Sync for ProblemData
impl Unpin for ProblemData
impl UnsafeUnpin for ProblemData
impl UnwindSafe for ProblemData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more