Class CrossoverListRate<G extends ListGenotype<?>>

java.lang.Object
org.opt4j.operator.crossover.CrossoverListRate<G>
All Implemented Interfaces:
Operator<G>, Crossover<G>
Direct Known Subclasses:
CrossoverBooleanRate, CrossoverIntegerRate

public abstract class CrossoverListRate<G extends ListGenotype<?>> extends Object implements Crossover<G>

The CrossoverListRate performs a crossover on Genotype objects that are lists of values.

A point of crossover of the list is selected with a given rate.

  • Field Details

    • random

      protected final Random random
    • rate

      protected final double rate
  • Constructor Details

    • CrossoverListRate

      @Inject public CrossoverListRate(double rate, Rand random)
      Constructs a new CrossoverListRate.
      Parameters:
      rate - the rate for a crossover
      random - the random number generator
  • Method Details

    • crossover

      public Pair<G> crossover(G p1, G p2)
      Description copied from interface: Crossover
      Performs a crossover for two Genotype parents. The resulting pair of Genotype offspring is returned.
      Specified by:
      crossover in interface Crossover<G extends ListGenotype<?>>
      Parameters:
      p1 - The first parent genotype for the crossover
      p2 - The second parents genotype for the crossover
      Returns:
      The resulting pair of offspring genotypes