| 68 | == Crossover for !RealVectorEncoding == |
| 69 | === !AverageCrossover === |
| 70 | The average crossover (intermediate recombination) produces a new offspring by calculating in each position the average of a number of parents. It is implemented as described by (Beyer and Schwefel 2002). |
| 71 | |
| 72 | === !BlendAlphaBetaCrossover === |
| 73 | The blend alpha beta crossover (BLX-a-b) for real vectors is similar to the blend alpha crossover (BLX-a), but distinguishes between the better and worse of the parents. The interval from which to choose the new offspring can be extended more around the better parent by specifying a higher alpha value. It is implemented as described in (Takahashi and Kita 2001). |
| 74 | |
| 75 | === !BlendAlphaCrossover === |
| 76 | The blend alpha crossover (BLX-a) for real vectors creates new offspring by sampling a new value in the range [min_i - d * alpha, max_i + d * alpha) at each position i. Here min_i and max_i are the smaller and larger value of the two parents at position i and d is max_i - min_i. It is implemented as described in (Takahashi and Kita 2001). |
| 77 | |
| 78 | === !DiscreteCrossover === |
| 79 | Discrete crossover for real vectors: Creates a new offspring by combining the alleles in the parents such that each allele is randomly selected from one parent. It is implemented as described in (Beyer and Schwefel 2002). |
| 80 | |
| 81 | === !HeuristicCrossover === |
| 82 | The heuristic crossover produces offspring that extend the better parent in direction from the worse to the better parent. It is implemented as described in (Wright 1994). |
| 83 | |
| 84 | === !LocalCrossover === |
| 85 | The local crossover is similar to the arithmetic all positions crossover, but uses a random alpha for each position x = alpha * p1 + (1-alpha) * p2. It is implemented as described in (Dumitrescu et al. 2000, p. 194). |
| 86 | |
| 87 | === !MultiRealVectorCrossover === |
| 88 | Randomly selects and applies one of its crossovers every time it is called. |
| 89 | |
| 90 | === !RandomConvexCrossover === |
| 91 | The random convex crossover acts like the local crossover, but with just one randomly chosen alpha for all crossed positions. It is implementes as described in (Dumitrescu et al. 2000, pp. 193 - 194). |
| 92 | |
| 93 | === !SimulatedBinaryCrossover === |
| 94 | The simulated binary crossover (SBX) is implemented as described in (Deb and Agrawal 1995). |
| 95 | |
| 96 | === !SinglePointCrossover === |
| 97 | Breaks both parent chromosomes at a randomly chosen point and assembles a child by taking one part of the first parent and the other part of the second pard. It is implemented as described in (Michalewicz 1999). |
| 98 | |
| 99 | === !UniformAllPositionsArithmeticCrossover === |
| 100 | The uniform all positions arithmetic crossover constructs an offspring by calculating x = alpha * p1 + (1-alpha) * p2 for every position x in the vector. Note that for alpha = 0.5 it is the same as the !AverageCrossover. It is implemented as described in (Michalewicz 1999). |
| 101 | |
| 102 | === !UniformSomePositionsArithmeticCrossover === |
| 103 | The uniform some positions arithmetic crossover (continuous recombination) constructs an offspring by calculating x = alpha * p1 + (1-alpha) * p2 for a position x in the vector with a given probability (otherwise p1 is taken at this position). It is implemented as described in (Dumitrescu et al. 2000, p. 191). Note that Dumitrescu et al. specify the alpha to be 0.5. |
| 104 | |
| 105 | ---- |
| 106 | == Crossover for !SymbolicExpressionTreeEncoding == |
| 107 | === !SubTreeCrossover === |
| 108 | An operator which performs subtree swapping crossover. |
| 109 | ---- |