Package org.opt4j.operator.crossover
Class CrossoverPermutationBucket
java.lang.Object
org.opt4j.operator.crossover.CrossoverPermutationBucket
- All Implemented Interfaces:
Operator<PermutationGenotype<?>>
,Crossover<PermutationGenotype<?>>
,CrossoverPermutation
Crossover for the PermutationGenotype
.
The bucket operator randomly runs through to permutation from the beginning to the end, and fill the current element into the new permutation if not existent.
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 8 2 7 3 6 4 5
or 8 7 1 2 3 6 5 4
.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCrossoverPermutationBucket
(Rand random) Constructs a newCrossoverPermutationBucket
. -
Method Summary
Modifier and TypeMethodDescriptioncrossover
(PermutationGenotype<?> p1, PermutationGenotype<?> p2) Performs a crossover for twoGenotype
parents.
-
Field Details
-
random
-
-
Constructor Details
-
CrossoverPermutationBucket
Constructs a newCrossoverPermutationBucket
.- Parameters:
random
- the random number generator
-
-
Method Details
-
crossover
Description copied from interface:Crossover
Performs a crossover for twoGenotype
parents. The resulting pair ofGenotype
offspring is returned.- Specified by:
crossover
in interfaceCrossover<PermutationGenotype<?>>
- Parameters:
p1
- The first parent genotype for the crossoverp2
- The second parents genotype for the crossover- Returns:
- The resulting pair of offspring genotypes
-