public class GeneticAlgorithm extends Object
| Constructor and Description | 
|---|
| GeneticAlgorithm(CrossoverPolicy crossoverPolicy,
                double crossoverRate,
                MutationPolicy mutationPolicy,
                double mutationRate,
                SelectionPolicy selectionPolicy)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  StoppingConditionin 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 crossoverPolicy, double crossoverRate, MutationPolicy mutationPolicy, double mutationRate, SelectionPolicy selectionPolicy) throws OutOfRangeException
crossoverPolicy - The CrossoverPolicycrossoverRate - The crossover rate as a percentage (0-1 inclusive)mutationPolicy - The MutationPolicymutationRate - The mutation rate as a percentage (0-1 inclusive)selectionPolicy - 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 © 2003–2016 The Apache Software Foundation. All rights reserved.