Struct genevo::ga::GeneticAlgorithm
[−]
[src]
pub struct GeneticAlgorithm<G, F, E, S, C, M, R> where
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>, { /* fields omitted */ }
A GeneticAlgorithm
declares the building blocks that make up the actual
algorithm for a specific optimization problem.
Methods
impl<G, F, E, S, C, M, R> GeneticAlgorithm<G, F, E, S, C, M, R> where
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
[src]
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
ⓘImportant traits for &'a mut Wpub fn evaluator(&self) -> &E
[src]
ⓘImportant traits for &'a mut W
ⓘImportant traits for &'a mut Wpub fn selector(&self) -> &S
[src]
ⓘImportant traits for &'a mut W
ⓘImportant traits for &'a mut Wpub fn breeder(&self) -> &C
[src]
ⓘImportant traits for &'a mut W
ⓘImportant traits for &'a mut Wpub fn mutator(&self) -> &M
[src]
ⓘImportant traits for &'a mut W
ⓘImportant traits for &'a mut Wpub fn reinserter(&self) -> &R
[src]
ⓘImportant traits for &'a mut W
pub fn min_population_size(&self) -> usize
[src]
Trait Implementations
impl<G: Clone, F: Clone, E: Clone, S: Clone, C: Clone, M: Clone, R: Clone> Clone for GeneticAlgorithm<G, F, E, S, C, M, R> where
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
[src]
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
fn clone(&self) -> GeneticAlgorithm<G, F, E, S, C, M, R>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<G: Debug, F: Debug, E: Debug, S: Debug, C: Debug, M: Debug, R: Debug> Debug for GeneticAlgorithm<G, F, E, S, C, M, R> where
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
[src]
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<G: PartialEq, F: PartialEq, E: PartialEq, S: PartialEq, C: PartialEq, M: PartialEq, R: PartialEq> PartialEq for GeneticAlgorithm<G, F, E, S, C, M, R> where
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
[src]
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
fn eq(&self, __arg_0: &GeneticAlgorithm<G, F, E, S, C, M, R>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &GeneticAlgorithm<G, F, E, S, C, M, R>) -> bool
[src]
This method tests for !=
.
impl<G, F, E, S, C, M, R> TrackProcessingTime for GeneticAlgorithm<G, F, E, S, C, M, R> where
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
[src]
G: Genotype,
F: Fitness,
E: FitnessFunction<G, F>,
S: SelectionOp<G, F>,
C: CrossoverOp<G>,
M: MutationOp<G>,
R: ReinsertionOp<G, F>,
fn processing_time(&self) -> &ProcessingTime
[src]
impl<G, F, E, S, C, M, R> Algorithm for GeneticAlgorithm<G, F, E, S, C, M, R> where
G: Genotype,
F: Fitness + Send + Sync,
E: FitnessFunction<G, F> + Sync,
S: SelectionOp<G, F>,
C: CrossoverOp<G> + Sync,
M: MutationOp<G> + Sync,
R: ReinsertionOp<G, F>,
[src]
G: Genotype,
F: Fitness + Send + Sync,
E: FitnessFunction<G, F> + Sync,
S: SelectionOp<G, F>,
C: CrossoverOp<G> + Sync,
M: MutationOp<G> + Sync,
R: ReinsertionOp<G, F>,
type Output = State<G, F>
type Error = GeneticAlgorithmError
fn reset(&mut self) -> Result<bool, Self::Error>
[src]
fn next(
&mut self,
iteration: u64,
rng: &mut Prng
) -> Result<Self::Output, Self::Error>
[src]
&mut self,
iteration: u64,
rng: &mut Prng
) -> Result<Self::Output, Self::Error>
impl<G, F, E, S, C, M, R> Termination<GeneticAlgorithm<G, F, E, S, C, M, R>> for FitnessLimit<G, F> where
G: Genotype,
F: Fitness + Send + Sync,
E: FitnessFunction<G, F>,
E: FitnessFunction<G, F> + Sync,
S: SelectionOp<G, F>,
C: CrossoverOp<G> + Sync,
M: MutationOp<G> + Sync,
R: ReinsertionOp<G, F>,
[src]
G: Genotype,
F: Fitness + Send + Sync,
E: FitnessFunction<G, F>,
E: FitnessFunction<G, F> + Sync,
S: SelectionOp<G, F>,
C: CrossoverOp<G> + Sync,
M: MutationOp<G> + Sync,
R: ReinsertionOp<G, F>,
fn evaluate(
&mut self,
state: &State<GeneticAlgorithm<G, F, E, S, C, M, R>>
) -> StopFlag
[src]
&mut self,
state: &State<GeneticAlgorithm<G, F, E, S, C, M, R>>
) -> StopFlag
Evaluates the termination condition and returns a StopFlag
depending on the result. The StopFlag
indicates whether the simulation shall stop or continue. Read more
fn reset(&mut self)
[src]
Resets the state of this Termination
condition. This function is called on each Termination
instance when the simulation is reset. Read more