Struct rosomaxa::TelemetryHeuristicContext
source · pub struct TelemetryHeuristicContext<O, S>where
O: HeuristicObjective<Solution = S>,
S: HeuristicSolution,{ /* private fields */ }
Expand description
A default heuristic context implementation which uses telemetry to track search progression parameters.
Implementations§
source§impl<O, S> TelemetryHeuristicContext<O, S>where
O: HeuristicObjective<Solution = S>,
S: HeuristicSolution,
impl<O, S> TelemetryHeuristicContext<O, S>where
O: HeuristicObjective<Solution = S>,
S: HeuristicSolution,
sourcepub fn new(
objective: Arc<O>,
population: Box<DynHeuristicPopulation<O, S>>,
telemetry_mode: TelemetryMode,
environment: Arc<Environment>
) -> Self
pub fn new( objective: Arc<O>, population: Box<DynHeuristicPopulation<O, S>>, telemetry_mode: TelemetryMode, environment: Arc<Environment> ) -> Self
Creates a new instance of TelemetryHeuristicContext
.
sourcepub fn add_solution(&mut self, solution: S)
pub fn add_solution(&mut self, solution: S)
Adds solution to population.
Trait Implementations§
source§impl<O, S> HeuristicContext for TelemetryHeuristicContext<O, S>where
O: HeuristicObjective<Solution = S>,
S: HeuristicSolution,
impl<O, S> HeuristicContext for TelemetryHeuristicContext<O, S>where
O: HeuristicObjective<Solution = S>,
S: HeuristicSolution,
source§fn selected<'a>(&'a self) -> Box<dyn Iterator<Item = &Self::Solution> + 'a>
fn selected<'a>(&'a self) -> Box<dyn Iterator<Item = &Self::Solution> + 'a>
Returns selected solutions base on current context.
source§fn ranked<'a>(
&'a self
) -> Box<dyn Iterator<Item = (&Self::Solution, usize)> + 'a>
fn ranked<'a>( &'a self ) -> Box<dyn Iterator<Item = (&Self::Solution, usize)> + 'a>
Returns subset of solutions within their rank sorted according their quality.
source§fn statistics(&self) -> &HeuristicStatistics
fn statistics(&self) -> &HeuristicStatistics
Returns current statistic used to track the search progress.
source§fn selection_phase(&self) -> SelectionPhase
fn selection_phase(&self) -> SelectionPhase
Returns selection phase.
source§fn environment(&self) -> &Environment
fn environment(&self) -> &Environment
Returns environment.
source§fn on_initial(&mut self, solution: Self::Solution, item_time: Timer)
fn on_initial(&mut self, solution: Self::Solution, item_time: Timer)
Updates population with initial solution.
source§fn on_generation(
&mut self,
offspring: Vec<Self::Solution>,
termination_estimate: f64,
generation_time: Timer
)
fn on_generation( &mut self, offspring: Vec<Self::Solution>, termination_estimate: f64, generation_time: Timer )
Updates population with a new offspring.
source§fn on_result(
self
) -> Result<(Box<DynHeuristicPopulation<O, S>>, Option<TelemetryMetrics>), GenericError>
fn on_result( self ) -> Result<(Box<DynHeuristicPopulation<O, S>>, Option<TelemetryMetrics>), GenericError>
Returns final population and telemetry metrics
Auto Trait Implementations§
impl<O, S> !RefUnwindSafe for TelemetryHeuristicContext<O, S>
impl<O, S> Send for TelemetryHeuristicContext<O, S>
impl<O, S> Sync for TelemetryHeuristicContext<O, S>
impl<O, S> Unpin for TelemetryHeuristicContext<O, S>
impl<O, S> !UnwindSafe for TelemetryHeuristicContext<O, 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