Class 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 Detail

      • random

        protected final Random random
      • rotation

        protected final boolean rotation
    • Constructor Detail

      • CrossoverPermutationOnePoint

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