Class SimulatedBinaryCrossover<G extends NumericGene<?,G>,C extends Comparable<? super C>>

java.lang.Object
io.jenetics.AbstractAlterer<G,C>
io.jenetics.Recombinator<G,C>
io.jenetics.Crossover<G,C>
io.jenetics.ext.SimulatedBinaryCrossover<G,C>
All Implemented Interfaces:
Alterer<G,C>

public class SimulatedBinaryCrossover<G extends NumericGene<?,G>,C extends Comparable<? super C>> extends Crossover<G,C>
Performs the simulated binary crossover (SBX) on a 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.

Since:
3.5
Version:
6.0
  • Constructor Details

    • SimulatedBinaryCrossover

      public SimulatedBinaryCrossover(double probability, double contiguity)
      Create a new simulated binary crossover alterer with the given parameters.
      Parameters:
      probability - the recombination probability
      contiguity - 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].
      Throws:
      IllegalArgumentException - if the probability is not in the valid range of [0, 1]
      IllegalArgumentException - if contiguity is smaller than zero
    • SimulatedBinaryCrossover

      public SimulatedBinaryCrossover(double probability)
      Create a new simulated binary crossover alterer with the given parameters. The contiguity value is set to 2.5.
      Parameters:
      probability - the recombination probability
      Throws:
      IllegalArgumentException - if the probability is not in the valid range of [0, 1]
      IllegalArgumentException - if contiguity is smaller than zero
  • Method Details