pub trait StrategyState<G: Genotype>: Display {
Show 19 methods
// Required methods
fn chromosome_as_ref(&self) -> &Option<G::Chromosome>;
fn chromosome_as_mut(&mut self) -> &mut Option<G::Chromosome>;
fn population_as_ref(&self) -> &Population<G::Chromosome>;
fn population_as_mut(&mut self) -> &mut Population<G::Chromosome>;
fn best_fitness_score(&self) -> Option<FitnessValue>;
fn best_generation(&self) -> usize;
fn current_generation(&self) -> usize;
fn current_iteration(&self) -> usize;
fn stale_generations(&self) -> usize;
fn current_scale_index(&self) -> Option<usize>;
fn population_cardinality(&self) -> Option<usize>;
fn durations(&self) -> &HashMap<StrategyAction, Duration>;
fn add_duration(&mut self, action: StrategyAction, duration: Duration);
fn total_duration(&self) -> Duration;
fn increment_stale_generations(&mut self);
fn reset_stale_generations(&mut self);
// Provided methods
fn close_duration(&mut self, total_duration: Duration) { ... }
fn fitness_duration_rate(&self) -> f32 { ... }
fn is_better_chromosome(
&self,
contending_chromosome: &G::Chromosome,
fitness_ordering: &FitnessOrdering,
replace_on_equal_fitness: bool,
) -> (bool, bool) { ... }
}Expand description
Stores the state of the strategy. The expected general fields are:
- current_iteration:
usize - current_generation:
usize - best_generation:
usize - best_chromosome:
G::Chromosome - chromosome:
G::Chromosome - populatoin:
Population<G::Chromosome>// may be empty