pub struct ExhaustiveSearchPhase<S: PlanningSolution> { /* private fields */ }Expand description
Exhaustive search phase that explores all possible solutions.
This phase systematically explores the solution space using a branch-and-bound algorithm. It maintains a tree of partial solutions and uses pruning to avoid exploring branches that cannot improve on the best solution found.
Implementations§
Source§impl<S: PlanningSolution> ExhaustiveSearchPhase<S>
impl<S: PlanningSolution> ExhaustiveSearchPhase<S>
Sourcepub fn new(
decider: Box<dyn ExhaustiveSearchDecider<S>>,
config: ExhaustiveSearchConfig,
) -> Self
pub fn new( decider: Box<dyn ExhaustiveSearchDecider<S>>, config: ExhaustiveSearchConfig, ) -> Self
Creates a new exhaustive search phase.
Sourcepub fn depth_first(decider: Box<dyn ExhaustiveSearchDecider<S>>) -> Self
pub fn depth_first(decider: Box<dyn ExhaustiveSearchDecider<S>>) -> Self
Creates a depth-first exhaustive search phase.
Sourcepub fn breadth_first(decider: Box<dyn ExhaustiveSearchDecider<S>>) -> Self
pub fn breadth_first(decider: Box<dyn ExhaustiveSearchDecider<S>>) -> Self
Creates a breadth-first exhaustive search phase.
Sourcepub fn score_first(decider: Box<dyn ExhaustiveSearchDecider<S>>) -> Self
pub fn score_first(decider: Box<dyn ExhaustiveSearchDecider<S>>) -> Self
Creates a score-first exhaustive search phase.
Trait Implementations§
Source§impl<S: PlanningSolution> Debug for ExhaustiveSearchPhase<S>
impl<S: PlanningSolution> Debug for ExhaustiveSearchPhase<S>
Source§impl<S: PlanningSolution> Phase<S> for ExhaustiveSearchPhase<S>
impl<S: PlanningSolution> Phase<S> for ExhaustiveSearchPhase<S>
Source§fn solve(&mut self, solver_scope: &mut SolverScope<S>)
fn solve(&mut self, solver_scope: &mut SolverScope<S>)
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> Freeze for ExhaustiveSearchPhase<S>
impl<S> !RefUnwindSafe for ExhaustiveSearchPhase<S>
impl<S> Send for ExhaustiveSearchPhase<S>
impl<S> !Sync for ExhaustiveSearchPhase<S>
impl<S> Unpin for ExhaustiveSearchPhase<S>
impl<S> !UnwindSafe for ExhaustiveSearchPhase<S>
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