public class PatternGA extends GeneticAlgorithm<IntegerChromosome>
GeneticAlgorithm
and how to use
the flexible and configurable breeding structure in Jenes.
The problem consists in searching a pattern of integers with a given precision.
Solutions flow through two different crossovers in parallel. Some are processed by
a single point crossover, the other by a double point crossover.
After solutions are mutated.
This class implements the algorithm by extending GeneticAlgorithm
.GeneticAlgorithm.ElitismStrategy, GeneticAlgorithm.ResizeStrategy, GeneticAlgorithm.Statistics
algorithmListeners, body, DEFAULT_GENERATION_LIMIT, DEFAULT_HISTORY_SIZE, elitism, elitismStrategy, fullEvaluationForced, generation, generationLimit, generationListeners, initialPopulation, MAX_HISTORY_SIZE, MIN_HISTORY_SIZE, random, randomization, resizeStrategy, statistics
Constructor and Description |
---|
PatternGA(Population<IntegerChromosome> pop,
int numGen) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
end()
Provides the algorithm termination condition.
|
void |
evaluateIndividual(Individual<IntegerChromosome> individual)
Evaluates a single individual.
|
void |
setPrecision(int precision) |
void |
setTarget(int[] target) |
addAlgorithmEventListener, addGenerationEventListener, addStage, applyElitism, evaluatePopulation, evaluatePopulation, evolve, evolve, evolve, getBody, getCurrentPopulation, getElitism, getElitismStrategy, getFitness, getGeneration, getGenerationLimit, getHistoryAt, getHistorySize, getInitialPopulation, getLastPopulation, getNextPopulation, getPool, getRandomization, getResizeStrategy, getRunner, getStatistics, isBiggerBetter, isFitnessChanged, isFullEvaluationForced, onGeneration, onInit, onStart, onStop, randomizeIndividual, randomizePopulation, removeAlgorithmEventListener, removeGenerationEventListener, setBiggerIsBetter, setElitism, setElitismStrategy, setFitness, setFullEvaluationForced, setGenerationLimit, setHistorySize, setRandomization, setRandomization, setRandomSeed, setResizeStrategy, setRunner, start, stop, toString, updateStatistics
public PatternGA(Population<IntegerChromosome> pop, int numGen)
public void setTarget(int[] target)
public void setPrecision(int precision)
public void evaluateIndividual(Individual<IntegerChromosome> individual)
GeneticAlgorithm
Fitness
, this method calls Fitness.evaluate(jenes.population.Individual)
method, otherwise method requiring an implementation by the sublass.
evaluateIndividual
in class GeneticAlgorithm<IntegerChromosome>
individual
- the individual to be evaluatedprotected boolean end()
GeneticAlgorithm
end
in class GeneticAlgorithm<IntegerChromosome>