public abstract class GeneticAlgorithmBO<H extends Chromosome<C>,C,T> extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
GeneticAlgorithmBO(EvoRunTask evoRunTask,
EvoTaskBO<H,C,T> evoTaskBO,
ReflectionProvider<Chromosome<C>> chromosomeRF) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addNewGenerationChromosome(H newGenerationChromosome)
Adds the value to attribute newGenerationChromosomes.
|
protected void |
addNewGenerationChromosomes(Collection<H> newGenerationChromosomes)
Adds the value to attribute newGenerationChromosomes.
|
protected abstract void |
crossOver() |
protected void |
crossOver(H parent1,
H parent2,
boolean twoOffspringsFlag)
Crosses over two parent chromosomes creating one or two new offsprings.
|
protected Collection<H> |
crossOverByType(H parent1,
H parent2)
Crosses over two chromosomes and produce two offsprings
|
void |
evaluateChromosome(H chromosome) |
void |
evaluateChromosomes(Collection<H> chromosomes) |
void |
evolve()
Evolves the chromosomes for defined number of steps (generations).
|
H |
getBestChromosome()
Gets the actually best chromosome in evolution.
|
protected EvoChromManipulatorBO<H,C> |
getChromManipulatorBO() |
protected int |
getChromosomeNumber()
Gets the number of chromosomes.
|
protected List<H> |
getChromosomes() |
EvoRun<C> |
getEvoRun() |
protected EvoFitnessEvaluatorBO<H,T> |
getFitnessEvaluatorBO() |
EvoGaSetting |
getGaSetting() |
protected Double |
getMeanFitness()
Gets the mean fitness of chromosomes in the current population.
|
protected double |
getMeanScore()
Gets the mean score of chromosomes in the current population.
|
protected int |
getNewGenerationChromosomeNumber()
Gets the number of chromosomes in new generation.
|
protected List<H> |
getNewGenerationChromosomes() |
protected H[] |
getNewGenerationChromosomesAsArray() |
protected double |
getPopulationFitnessSum()
Gets the sum of all fitnesses of chromosome in a population.
|
protected EvoTestSampleGeneratorBO<T> |
getTestSampleGeneratorBO() |
H |
getWorstChromosome()
Gets the actually worst chromosome in evolution.
|
protected void |
initFirstGenerationChromosomes() |
protected abstract void |
mutate() |
protected void |
mutate(H chromosome)
Mutates given chromosome.
|
protected void |
mutateByType(H chromosome)
Mutates the code of the chromosome by selected mutation type.
|
protected void |
refreshChromosomes()
Replaces the chromosome collection with newly evolved one.
|
protected void |
renormalizeFitnessesGroupIncreasing()
Processes the renormalize fitness operation for all chromosomes with group increasing fitness.
|
protected void |
renormalizeFitnessesGroupJumpIncreasing()
Processes the renormalize fitness operation for all chromosomes with group jump increasing fitness.
|
protected void |
renormalizeFitnessesStrictlyIncreasing()
Processes the renormalize fitness operation for all chromosomes with strictly increasing fitness.
|
void |
setAutoSaveHandler(GeneticAlgorithmBOAutoSaveHandler<C> autoSaveHandler) |
protected void |
setChromosomes(List<H> chromosomes) |
protected void |
sortChromosomesByScore()
Sorts the chromosomes by their scores.
|
void |
storeResults()
Store results (best chromosomes) and actual population if needed.
|
protected GeneticAlgorithmBO(EvoRunTask evoRunTask, EvoTaskBO<H,C,T> evoTaskBO, ReflectionProvider<Chromosome<C>> chromosomeRF)
public void evolve()
public void setAutoSaveHandler(GeneticAlgorithmBOAutoSaveHandler<C> autoSaveHandler)
protected void initFirstGenerationChromosomes()
protected H[] getNewGenerationChromosomesAsArray()
protected int getNewGenerationChromosomeNumber()
protected int getChromosomeNumber()
protected void addNewGenerationChromosome(H newGenerationChromosome)
newGenerationChromosome - The value to add.protected void addNewGenerationChromosomes(Collection<H> newGenerationChromosomes)
newGenerationChromosomes - The value to add.public H getBestChromosome()
public H getWorstChromosome()
protected void renormalizeFitnessesGroupIncreasing()
protected void renormalizeFitnessesGroupJumpIncreasing()
protected void renormalizeFitnessesStrictlyIncreasing()
protected double getPopulationFitnessSum()
protected double getMeanScore()
protected Double getMeanFitness()
protected void refreshChromosomes()
protected void sortChromosomesByScore()
protected void crossOver(H parent1, H parent2, boolean twoOffspringsFlag)
aParent1 - The first parent chromosome to crossover.aParent2 - The second parent chromosome to crossover.aBothFlag - The flag indicating two children offspring.protected Collection<H> crossOverByType(H parent1, H parent2)
protected abstract void crossOver()
protected void mutate(H chromosome)
aChromosomeDO - The chromosome to mutate.protected void mutateByType(H chromosome)
protected abstract void mutate()
public void evaluateChromosome(H chromosome)
public void evaluateChromosomes(Collection<H> chromosomes)
public void storeResults()
public EvoGaSetting getGaSetting()
protected EvoChromManipulatorBO<H,C> getChromManipulatorBO()
protected EvoFitnessEvaluatorBO<H,T> getFitnessEvaluatorBO()
protected EvoTestSampleGeneratorBO<T> getTestSampleGeneratorBO()
Copyright © 2014. All Rights Reserved.