Interface CrossoverOperator<T>

Type Parameters:
T - The type of object used to represent candidate solutions to the problem.
All Superinterfaces:
Splittable<CrossoverOperator<T>>
All Known Implementing Classes:
CycleCrossover, EdgeRecombination, EnhancedEdgeRecombination, HybridCrossover, KPointCrossover, KPointCrossover, KPointCrossover, NonWrappingOrderCrossover, OrderCrossover, OrderCrossoverTwo, PartiallyMatchedCrossover, PositionBasedCrossover, PrecedencePreservativeCrossover, SinglePointCrossover, SinglePointCrossover, SinglePointCrossover, TwoPointCrossover, TwoPointCrossover, TwoPointCrossover, UniformCrossover, UniformCrossover, UniformCrossover, UniformOrderBasedCrossover, UniformPartiallyMatchedCrossover, UniformPrecedencePreservativeCrossover, WeightedHybridCrossover

public interface CrossoverOperator<T> extends Splittable<CrossoverOperator<T>>
Implement the CrossoverOperator interface to implement a crossover operator for use in evolutionary algorithms.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cross(T c1, T c2)
    Performs a crossover for an evolutionary algorithm, such that crossover forms two children from two parents.

    Methods inherited from interface org.cicirello.search.concurrent.Splittable

    split
  • Method Details

    • cross

      void cross(T c1, T c2)
      Performs a crossover for an evolutionary algorithm, such that crossover forms two children from two parents. Implementations of this method modify the parameters, transforming the parents into the children.
      Parameters:
      c1 - A candidate solution subject to the crossover. This method changes the state of c1.
      c2 - A candidate solution subject to the crossover. This method changes the state of c2.