pub struct BasicLocalSearchPhase<S, G, T, E, V>where
S: PlanningSolution,
G: Fn(&S, usize) -> Option<usize> + Send,
T: Fn(&mut S, usize, Option<usize>) + Send,
E: Fn(&S) -> usize + Send,
V: Fn(&S) -> usize + Send,{ /* private fields */ }Expand description
Late acceptance local search phase for basic variable problems.
§Type Parameters
S- Solution typeG- Get variable function typeT- Set variable function typeE- Entity count function typeV- Value count function type
Implementations§
Source§impl<S, G, T, E, V> BasicLocalSearchPhase<S, G, T, E, V>
impl<S, G, T, E, V> BasicLocalSearchPhase<S, G, T, E, V>
Sourcepub fn new(
get_variable: G,
set_variable: T,
entity_count: E,
value_count: V,
sender: UnboundedSender<(S, S::Score)>,
) -> Self
pub fn new( get_variable: G, set_variable: T, entity_count: E, value_count: V, sender: UnboundedSender<(S, S::Score)>, ) -> Self
Creates a new local search phase with a channel sender.
Trait Implementations§
Source§impl<S, G, T, E, V> Debug for BasicLocalSearchPhase<S, G, T, E, V>
impl<S, G, T, E, V> Debug for BasicLocalSearchPhase<S, G, T, E, V>
Source§impl<S, D, G, T, E, V> Phase<S, D> for BasicLocalSearchPhase<S, G, T, E, V>
impl<S, D, G, T, E, V> Phase<S, D> for BasicLocalSearchPhase<S, G, T, E, V>
Source§fn solve(&mut self, solver_scope: &mut SolverScope<'_, S, D>)
fn solve(&mut self, solver_scope: &mut SolverScope<'_, S, D>)
Executes this phase. Read more
Source§fn phase_type_name(&self) -> &'static str
fn phase_type_name(&self) -> &'static str
Returns the name of this phase type.
Auto Trait Implementations§
impl<S, G, T, E, V> Freeze for BasicLocalSearchPhase<S, G, T, E, V>
impl<S, G, T, E, V> RefUnwindSafe for BasicLocalSearchPhase<S, G, T, E, V>
impl<S, G, T, E, V> Send for BasicLocalSearchPhase<S, G, T, E, V>
impl<S, G, T, E, V> Sync for BasicLocalSearchPhase<S, G, T, E, V>
impl<S, G, T, E, V> Unpin for BasicLocalSearchPhase<S, G, T, E, V>
impl<S, G, T, E, V> UnwindSafe for BasicLocalSearchPhase<S, G, T, E, V>
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