public class DoubleArrayCrossover extends AbstractCrossover<double[]>
Constructor and Description |
---|
DoubleArrayCrossover()
Default is single-point cross-over, applied to all parents.
|
DoubleArrayCrossover(int crossoverPoints)
Cross-over with a fixed number of cross-over points.
|
DoubleArrayCrossover(int crossoverPoints,
Probability crossoverProbability)
Cross-over with a fixed number of cross-over points.
|
DoubleArrayCrossover(NumberGenerator<Integer> crossoverPointsVariable)
Cross-over with a variable number of cross-over points.
|
DoubleArrayCrossover(NumberGenerator<Integer> crossoverPointsVariable,
NumberGenerator<Probability> crossoverProbabilityVariable)
Sets up a cross-over implementation that uses a variable number of cross-over
points.
|
Modifier and Type | Method and Description |
---|---|
protected List<double[]> |
mate(double[] parent1,
double[] parent2,
int numberOfCrossoverPoints,
Random rng)
Perform cross-over on a pair of parents to generate a pair of offspring.
|
apply
public DoubleArrayCrossover()
public DoubleArrayCrossover(int crossoverPoints)
crossoverPoints
- The constant number of cross-over points
to use for all cross-over operations.public DoubleArrayCrossover(int crossoverPoints, Probability crossoverProbability)
crossoverProbability
.crossoverPoints
- The constant number of cross-over points
to use for all cross-over operations.crossoverProbability
- The probability that, once selected,
a pair of parents will be subjected to cross-over rather than
being copied, unchanged, into the output population.public DoubleArrayCrossover(NumberGenerator<Integer> crossoverPointsVariable)
crossoverPointsVariable
- A random variable that provides a number
of cross-over points for each cross-over operation.public DoubleArrayCrossover(NumberGenerator<Integer> crossoverPointsVariable, NumberGenerator<Probability> crossoverProbabilityVariable)
crossoverProbabilityVariable
parameter.crossoverPointsVariable
- A variable that provides a (possibly constant,
possibly random) number of cross-over points for each cross-over operation.crossoverProbabilityVariable
- A variable that controls the probability
that, once selected, a pair of parents will be subjected to cross-over rather
than being copied, unchanged, into the output population.protected List<double[]> mate(double[] parent1, double[] parent2, int numberOfCrossoverPoints, Random rng)
mate
in class AbstractCrossover<double[]>
parent1
- One of two individuals that provides the source material
for generating offspring.parent2
- One of two individuals that provides the source material
for generating offspring.numberOfCrossoverPoints
- The number of cross-overs performed on the
two parents.rng
- A source of randomness used to determine the location of
cross-over points.