pub trait Phase<S: PlanningSolution>: Send + Debug {
// Required methods
fn solve(&mut self, solver_scope: &mut SolverScope<S>);
fn phase_type_name(&self) -> &'static str;
}Expand description
A phase of the solving process.
Phases are executed in sequence by the solver. Each phase has its own strategy for exploring or constructing solutions.
Required Methods§
Sourcefn solve(&mut self, solver_scope: &mut SolverScope<S>)
fn solve(&mut self, solver_scope: &mut SolverScope<S>)
Executes this phase.
The phase should modify the working solution in the solver scope and update the best solution when improvements are found.
Sourcefn phase_type_name(&self) -> &'static str
fn phase_type_name(&self) -> &'static str
Returns the name of this phase type.