ConstructionForager

Trait ConstructionForager 

Source
pub trait ConstructionForager<S, M>: Send + Debug
where S: PlanningSolution, M: Move<S>,
{ // Required method fn pick_move_index<D: ScoreDirector<S>>( &self, placement: &Placement<S, M>, score_director: &mut D, ) -> Option<usize>; }
Expand description

Trait for selecting a move during construction.

Foragers evaluate candidate moves and pick one based on their strategy. Returns the index of the selected move, not a cloned move.

§Type Parameters

  • S - The planning solution type
  • M - The move type

Required Methods§

Source

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.

Returns None if no suitable move is found.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<S, M> ConstructionForager<S, M> for BestFitForager<S, M>
where S: PlanningSolution, M: Move<S>,

Source§

impl<S, M> ConstructionForager<S, M> for FirstFeasibleForager<S, M>
where S: PlanningSolution, M: Move<S>,

Source§

impl<S, M> ConstructionForager<S, M> for FirstFitForager<S, M>
where S: PlanningSolution, M: Move<S>,

Source§

impl<S, M> ConstructionForager<S, M> for StrongestFitForager<S, M>
where S: PlanningSolution, M: Move<S>,

Source§

impl<S, M> ConstructionForager<S, M> for WeakestFitForager<S, M>
where S: PlanningSolution, M: Move<S>,