Skip to main content

ExhaustiveSearchDecider

Trait ExhaustiveSearchDecider 

Source
pub trait ExhaustiveSearchDecider<S: PlanningSolution, D: Director<S>>: Send + Debug {
    // Required methods
    fn expand(
        &self,
        parent_index: usize,
        parent: &ExhaustiveSearchNode<S>,
        score_director: &mut D,
    ) -> Vec<ExhaustiveSearchNode<S>>;
    fn total_entities(&self, score_director: &D) -> usize;
}
Expand description

Decides how to expand nodes in the exhaustive search.

The decider is responsible for:

  • Finding the next entity to assign
  • Generating all possible value assignments
  • Creating child nodes for each assignment

Required Methods§

Source

fn expand( &self, parent_index: usize, parent: &ExhaustiveSearchNode<S>, score_director: &mut D, ) -> Vec<ExhaustiveSearchNode<S>>

Source

fn total_entities(&self, score_director: &D) -> usize

Implementors§

Source§

impl<S, V, B, D> ExhaustiveSearchDecider<S, D> for SimpleDecider<S, V, B>
where S: PlanningSolution, V: Clone + Send + Sync + Debug + 'static, B: ScoreBounder<S, D>, D: Director<S>,