public class HeuristicCrossover<T extends DoubleChromosome> extends Crossover<T>
code
.Crossover.Statistics
Modifier and Type | Field and Description |
---|---|
protected double |
ratio
Ratio of convex combination
|
probability
random, statistics
biggerIsBetter, fitness, ga
Constructor and Description |
---|
HeuristicCrossover(double p)
Creates HeuristicCrossover
|
HeuristicCrossover(double p,
double r)
Creates HeuristicCrossover
|
Modifier and Type | Method and Description |
---|---|
protected void |
cross(Individual<T>[] offsprings)
Executes the crossover.
|
double |
getRatio()
Returns ratio
|
boolean |
isRandom()
Says if the ratio is random
|
void |
setRandom()
Sets the ratio random
|
void |
setRatio(double r)
Sets the ratio
|
int |
spread()
Returns the number of individuals involved by this crossover operator
|
getProbability, init, process, setProbability
getStatistics, updateStatistics
dispose, getFitness, isBiggerBetter, isFitnessChanged, setBiggerIsBetter, setBiggerIsBetter, setFitness, setFitness
public HeuristicCrossover(double p)
p
- crossover probabilitypublic HeuristicCrossover(double p, double r)
p
- crossover probabilityr
- ratiopublic final double getRatio()
public void setRatio(double r)
r
- a value between 0 and 1; if r = NaN, the ratio is set randomly at each iterationpublic final boolean isRandom()
public final void setRandom()
public int spread()
Crossover
spread
in class Crossover<T extends DoubleChromosome>
protected void cross(Individual<T>[] offsprings)
Crossover
cross
in class Crossover<T extends DoubleChromosome>
offsprings
- the individuals to be modified.