pub struct BestFitForager<S, M> { /* private fields */ }Expand description
Best Fit forager - evaluates all moves and picks the best.
This forager evaluates each candidate move by executing it, calculating the score, and undoing it. The move with the best score is selected.
Implementations§
Source§impl<S, M> BestFitForager<S, M>
impl<S, M> BestFitForager<S, M>
Trait Implementations§
Source§impl<S, M> Clone for BestFitForager<S, M>
impl<S, M> Clone for BestFitForager<S, M>
Source§impl<S, M> ConstructionForager<S, M> for BestFitForager<S, M>where
S: PlanningSolution,
M: Move<S>,
impl<S, M> ConstructionForager<S, M> for BestFitForager<S, M>where
S: PlanningSolution,
M: Move<S>,
Source§fn pick_move_index<D: ScoreDirector<S>>(
&self,
placement: &Placement<S, M>,
score_director: &mut D,
) -> Option<usize>
fn pick_move_index<D: ScoreDirector<S>>( &self, placement: &Placement<S, M>, score_director: &mut D, ) -> Option<usize>
Picks a move index from the placement’s candidates. Read more
Source§impl<S, M> Debug for BestFitForager<S, M>
impl<S, M> Debug for BestFitForager<S, M>
Source§impl<S, M> Default for BestFitForager<S, M>
impl<S, M> Default for BestFitForager<S, M>
impl<S, M> Copy for BestFitForager<S, M>
Auto Trait Implementations§
impl<S, M> Freeze for BestFitForager<S, M>
impl<S, M> RefUnwindSafe for BestFitForager<S, M>
impl<S, M> Send for BestFitForager<S, M>
impl<S, M> Sync for BestFitForager<S, M>
impl<S, M> Unpin for BestFitForager<S, M>
impl<S, M> UnwindSafe for BestFitForager<S, M>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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