Class CrossoverPermutationOnePoint

java.lang.Object
org.opt4j.operator.crossover.CrossoverPermutationOnePoint
All Implemented Interfaces:
Operator<PermutationGenotype<?>>, Crossover<PermutationGenotype<?>>, CrossoverPermutation
Direct Known Subclasses:
CrossoverPermutationDefault

public class CrossoverPermutationOnePoint extends Object implements CrossoverPermutation

Crossover for the PermutationGenotype.

This operator takes sublist of the first permutation from the beginning to a random cut point and fills the remaining elements from the second permutation.

Given two permutations
1 2 3 4 5 6 7 8 and 8 7 6 5 4 3 2 1.
This results, for instance, in
1 2 3 4 5 8 7 6 or 1 2 8 7 6 5 4 3.

Additionally, a rotation value defines if the initial permutation are randomly rotated. With the rotation possible results would be
4 5 6 8 7 3 2 1 and 7 8 1 2 4 3 6 5.

  • Field Details

    • random

      protected final Random random
    • rotation

      protected final boolean rotation
  • Constructor Details

    • CrossoverPermutationOnePoint

      @Inject public CrossoverPermutationOnePoint(Rand random, boolean rotation)
      Parameters:
      random - the random number generator
      rotation - use rotation
  • Method Details