public class GeneticAlgorithm extends Object
| Constructor and Description |
|---|
GeneticAlgorithm(CrossoverPolicy crossoverPolicyIn,
double crossoverRateIn,
MutationPolicy mutationPolicyIn,
double mutationRateIn,
SelectionPolicy selectionPolicyIn)
Create a new genetic algorithm.
|
| Modifier and Type | Method and Description |
|---|---|
Population |
evolve(Population initial,
StoppingCondition condition)
Evolve the given population.
|
CrossoverPolicy |
getCrossoverPolicy()
Returns the crossover policy.
|
double |
getCrossoverRate()
Returns the crossover rate.
|
int |
getGenerationsEvolved()
Returns the number of generations evolved to reach
StoppingCondition in the last run. |
MutationPolicy |
getMutationPolicy()
Returns the mutation policy.
|
double |
getMutationRate()
Returns the mutation rate.
|
static RandomGenerator |
getRandomGenerator()
Returns the (static) random generator.
|
SelectionPolicy |
getSelectionPolicy()
Returns the selection policy.
|
Population |
nextGeneration(Population current)
Evolve the given population into the next generation.
|
static void |
setRandomGenerator(RandomGenerator random)
Set the (static) random generator.
|
public GeneticAlgorithm(CrossoverPolicy crossoverPolicyIn, double crossoverRateIn, MutationPolicy mutationPolicyIn, double mutationRateIn, SelectionPolicy selectionPolicyIn)
crossoverPolicyIn - The CrossoverPolicycrossoverRateIn - The crossover rate as a percentage (0-1 inclusive)mutationPolicyIn - The MutationPolicymutationRateIn - The mutation rate as a percentage (0-1 inclusive)selectionPolicyIn - The SelectionPolicyOutOfRangeException - if the crossover or mutation rate is outside the [0, 1] rangepublic static void setRandomGenerator(RandomGenerator random)
random - random generatorpublic static RandomGenerator getRandomGenerator()
public Population evolve(Population initial, StoppingCondition condition)
generationsEvolved property with the number of
generations evolved before the StoppingCondition
is satisfied.initial - the initial, seed population.condition - the stopping condition used to stop evolution.public Population nextGeneration(Population current)
current generation, using its
nextGeneration methodcurrentgetCrossoverRate(), apply configured CrossoverPolicy to parentsgetMutationRate(), apply configured MutationPolicy to each of the
offspringcurrent - the current population.public CrossoverPolicy getCrossoverPolicy()
public double getCrossoverRate()
public MutationPolicy getMutationPolicy()
public double getMutationRate()
public SelectionPolicy getSelectionPolicy()
public int getGenerationsEvolved()
StoppingCondition in the last run.Copyright © 2024 CNES. All rights reserved.