pub struct PartitionedSearchPhase<S: PlanningSolution> { /* private fields */ }Expand description
Partitioned search phase that solves partitions in parallel.
This phase:
- Partitions the solution using the provided partitioner
- Creates a solver for each partition
- Runs child phases on each partition in parallel
- Merges the solved partitions back together
Each partition runs independently with its own solver scope.
Implementations§
Source§impl<S: PlanningSolution> PartitionedSearchPhase<S>
impl<S: PlanningSolution> PartitionedSearchPhase<S>
Sourcepub fn new(
partitioner: Box<dyn SolutionPartitioner<S>>,
score_director_factory: ScoreDirectorFactory<S>,
phase_factory: PhaseFactory<S>,
) -> Self
pub fn new( partitioner: Box<dyn SolutionPartitioner<S>>, score_director_factory: ScoreDirectorFactory<S>, phase_factory: PhaseFactory<S>, ) -> Self
Creates a new partitioned search phase.
Sourcepub fn with_config(
partitioner: Box<dyn SolutionPartitioner<S>>,
score_director_factory: ScoreDirectorFactory<S>,
phase_factory: PhaseFactory<S>,
config: PartitionedSearchConfig,
) -> Self
pub fn with_config( partitioner: Box<dyn SolutionPartitioner<S>>, score_director_factory: ScoreDirectorFactory<S>, phase_factory: PhaseFactory<S>, config: PartitionedSearchConfig, ) -> Self
Creates a partitioned search phase with custom configuration.
Trait Implementations§
Source§impl<S: PlanningSolution> Debug for PartitionedSearchPhase<S>
impl<S: PlanningSolution> Debug for PartitionedSearchPhase<S>
Source§impl<S: PlanningSolution + 'static> Phase<S> for PartitionedSearchPhase<S>
impl<S: PlanningSolution + 'static> Phase<S> for PartitionedSearchPhase<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 PartitionedSearchPhase<S>
impl<S> !RefUnwindSafe for PartitionedSearchPhase<S>
impl<S> Send for PartitionedSearchPhase<S>
impl<S> Sync for PartitionedSearchPhase<S>
impl<S> Unpin for PartitionedSearchPhase<S>
impl<S> !UnwindSafe for PartitionedSearchPhase<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