public class SimulatedBinaryCrossover<G extends NumericGene<?,G>,C extends Comparable<? super C>> extends Crossover<G,C>
Chromosome of
NumericGenes such that each position is either crossed contracted or
expanded with a certain probability. The probability distribution is designed
such that the children will lie closer to their parents as is the case with
the single point binary crossover.
It is implemented as described in Deb, K. and Agrawal, R. B. 1995. Simulated binary crossover for continuous search space. Complex Systems, 9, pp. 115-148.
_probabilityDEFAULT_ALTER_PROBABILITY| Constructor and Description |
|---|
SimulatedBinaryCrossover(double probability)
Create a new simulated binary crossover alterer with the given
parameters.
|
SimulatedBinaryCrossover(double probability,
double contiguity)
Create a new simulated binary crossover alterer with the given
parameters.
|
| Modifier and Type | Method and Description |
|---|---|
protected int |
crossover(MSeq<G> that,
MSeq<G> other) |
double |
getContiguity()
Return the contiguity value of the crossover.
|
String |
toString() |
alter, getOrdergetProbabilitypublic SimulatedBinaryCrossover(double probability, double contiguity)
probability - the recombination probabilitycontiguity - the contiguity value that specifies how close a child
should be to its parents (larger value means closer). The value
must be greater or equal than 0. Typical values are in the range
[2..5].IllegalArgumentException - if the probability is not in the
valid range of [0, 1]IllegalArgumentException - if contiguity is smaller than
zeropublic SimulatedBinaryCrossover(double probability)
2.5.probability - the recombination probabilityIllegalArgumentException - if the probability is not in the
valid range of [0, 1]IllegalArgumentException - if contiguity is smaller than
zeropublic double getContiguity()
protected int crossover(MSeq<G> that, MSeq<G> other)
crossover in class Crossover<G extends NumericGene<?,G>,C extends Comparable<? super C>>© 2007-2019 Franz Wilhelmstötter (2019-11-18 20:30)