public class CrossoverPermutationBucket extends java.lang.Object implements 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
.
Modifier and Type | Field and Description |
---|---|
protected java.util.Random |
random |
Constructor and Description |
---|
CrossoverPermutationBucket(org.opt4j.core.common.random.Rand random)
Constructs a new
CrossoverPermutationBucket . |
Modifier and Type | Method and Description |
---|---|
Pair<org.opt4j.core.genotype.PermutationGenotype<?>> |
crossover(org.opt4j.core.genotype.PermutationGenotype<?> p1,
org.opt4j.core.genotype.PermutationGenotype<?> p2)
Performs a crossover for two
Genotype parents. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getOperatorType
@Inject public CrossoverPermutationBucket(org.opt4j.core.common.random.Rand random)
CrossoverPermutationBucket
.random
- the random number generatorpublic Pair<org.opt4j.core.genotype.PermutationGenotype<?>> crossover(org.opt4j.core.genotype.PermutationGenotype<?> p1, org.opt4j.core.genotype.PermutationGenotype<?> p2)
Crossover
Genotype
parents. The resulting pair
of Genotype
offspring is returned.