Struct genetic_algorithm::strategy::hill_climb::HillClimbBuilder
source · [−]pub struct HillClimbBuilder<G: IncrementalGenotype, F: Fitness<Genotype = G>> {
pub genotype: Option<G>,
pub variant: Option<HillClimbVariant>,
pub fitness: Option<F>,
pub fitness_ordering: FitnessOrdering,
pub multithreading: bool,
pub max_stale_generations: Option<usize>,
pub target_fitness_score: Option<FitnessValue>,
pub random_chromosome_probability: Option<RandomChromosomeProbability>,
pub scaling: Option<(f32, f32, f32)>,
}
Expand description
The builder for an HillClimb struct.
Fields
genotype: Option<G>
variant: Option<HillClimbVariant>
fitness: Option<F>
fitness_ordering: FitnessOrdering
multithreading: bool
max_stale_generations: Option<usize>
target_fitness_score: Option<FitnessValue>
random_chromosome_probability: Option<RandomChromosomeProbability>
scaling: Option<(f32, f32, f32)>
Implementations
sourceimpl<G: IncrementalGenotype, F: Fitness<Genotype = G>> Builder<G, F>
impl<G: IncrementalGenotype, F: Fitness<Genotype = G>> Builder<G, F>
pub fn new() -> Self
pub fn build(self) -> Result<HillClimb<G, F>, TryFromBuilderError>
pub fn call<R: Rng>(
self,
rng: &mut R
) -> Result<HillClimb<G, F>, TryFromBuilderError>
pub fn call_repeatedly<R: Rng>(
self,
max_repeats: usize,
rng: &mut R
) -> Result<HillClimb<G, F>, TryFromBuilderError>
pub fn with_genotype(self, genotype: G) -> Self
pub fn with_variant(self, variant: HillClimbVariant) -> Self
pub fn with_fitness_ordering(self, fitness_ordering: FitnessOrdering) -> Self
pub fn with_multithreading(self, multithreading: bool) -> Self
pub fn with_fitness(self, fitness: F) -> Self
pub fn with_max_stale_generations(self, max_stale_generations: usize) -> Self
pub fn with_max_stale_generations_option(
self,
max_stale_generations_option: Option<usize>
) -> Self
pub fn with_target_fitness_score(
self,
target_fitness_score: FitnessValue
) -> Self
pub fn with_target_fitness_score_option(
self,
target_fitness_score_option: Option<FitnessValue>
) -> Self
pub fn with_random_chromosome_probability(
self,
random_chromosome_probability: RandomChromosomeProbability
) -> Self
sourcepub fn with_scaling(self, scaling: (f32, f32, f32)) -> Self
pub fn with_scaling(self, scaling: (f32, f32, f32)) -> Self
scaling: (initial-scaling, scale-down-factor, min-scale)
Trait Implementations
sourceimpl<G: Clone + IncrementalGenotype, F: Clone + Fitness<Genotype = G>> Clone for Builder<G, F>
impl<G: Clone + IncrementalGenotype, F: Clone + Fitness<Genotype = G>> Clone for Builder<G, F>
sourceimpl<G: Debug + IncrementalGenotype, F: Debug + Fitness<Genotype = G>> Debug for Builder<G, F>
impl<G: Debug + IncrementalGenotype, F: Debug + Fitness<Genotype = G>> Debug for Builder<G, F>
sourceimpl<G: IncrementalGenotype, F: Fitness<Genotype = G>> Default for Builder<G, F>
impl<G: IncrementalGenotype, F: Fitness<Genotype = G>> Default for Builder<G, F>
sourceimpl<G: IncrementalGenotype, F: Fitness<Genotype = G>> TryFrom<Builder<G, F>> for HillClimb<G, F>
impl<G: IncrementalGenotype, F: Fitness<Genotype = G>> TryFrom<Builder<G, F>> for HillClimb<G, F>
type Error = TryFromBuilderError
type Error = TryFromBuilderError
The type returned in the event of a conversion error.
sourcefn try_from(builder: HillClimbBuilder<G, F>) -> Result<Self, Self::Error>
fn try_from(builder: HillClimbBuilder<G, F>) -> Result<Self, Self::Error>
Performs the conversion.
Auto Trait Implementations
impl<G, F> RefUnwindSafe for Builder<G, F> where
F: RefUnwindSafe,
G: RefUnwindSafe,
impl<G, F> Send for Builder<G, F>
impl<G, F> Sync for Builder<G, F> where
G: Sync,
impl<G, F> Unpin for Builder<G, F> where
F: Unpin,
G: Unpin,
impl<G, F> UnwindSafe for Builder<G, F> where
F: UnwindSafe,
G: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more