Free cookie consent management tool by TermsFeed Policy Generator
wiki:Crossover

Version 2 (modified by mkofler, 14 years ago) (diff)

Updated crossover descriptions

Crossover

Crossovers are HeuristicLab 3.3 operators that implement the ICrossover interface. Crossover operators for different encodings have already been implemented, such as:


Crossover for BinaryVectorEncoding

MultiBinaryVectorCrossover

Randomly selects and applies one of its crossovers every time it is called.

NPointCrossover

N point crossover for binary vectors. It is implemented as described in (Eiben and Smith 2003).

MultiBinaryVectorCrossover

Randomly selects and applies one of its crossovers every time it is called.

SinglePointCrossover

Single point crossover for binary vectors. It is implemented based on the NPointCrossover.

UniformCrossover

Uniform crossover for binary vectors. It is implemented as described in (Eiben and Smith 2003).


Crossover for IntegerVectorEncoding

DiscreteCrossover

Discrete crossover for integer vectors. It is implemented as described in (Gwiazda 2006, p. 17).

MultiIntegerVectorCrossover

Randomly selects and applies one of its crossovers every time it is called.

SinglePointCrossover

Single point crossover for integer vectors. It is implemented as described in (Michalewicz 1999).


Crossover for PermutationEncoding

CosaCrossover

An operator which performs the crossover described in the COSA optimization method. It is implemented as described in (Wendt 1994).

CyclicCrossover

An operator which performs the cyclic crossover on two permutations. It is implemented as described in (Eiben and Smith 2003).

!CyclicCrossover2

An operator which performs the cyclic crossover on two permutations. It is implemented as described in (Affenzeller et al. 2009, p. 136)

EdgeRecombinationCrossover

An operator which performs the edge recombination crossover on two permutations. It is implemented as described in (Whitley et al. 1991).

MaximalPreservativeCrossover

An operator which performs the maximal preservative crossover on two permutations. It is implemented as described in (Mühlenbein 1991).

MultiPermutationCrossover

Randomly selects and applies one of its crossovers every time it is called.

OrderBasedCrossover

An operator which performs an order based crossover of two permutations. It is implemented as described in (Syswerda 1991).

OrderCrossover

An operator which performs an order crossover of two permutations. It is implemented as described in (Eiben and Smith 2003).

!OrderCrossover2

An operator which performs an order crossover of two permutations. It is implemented as described in (Affenzeller et al. 2009, p. 135).

PartiallyMatchedCrossover

An operator which performs the partially matched crossover on two permutations. It is implemented as described in (Fogel 1988).

PositionBasedCrossover

An operator which performs the position based crossover on two permutations. It is implemented as described in (Syswerda 1991).


Crossover for RealVectorEncoding

AverageCrossover

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).

BlendAlphaBetaCrossover

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).

BlendAlphaCrossover

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).

DiscreteCrossover

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).

HeuristicCrossover

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).

LocalCrossover

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).

MultiRealVectorCrossover

Randomly selects and applies one of its crossovers every time it is called.

RandomConvexCrossover

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).

SimulatedBinaryCrossover

The simulated binary crossover (SBX) is implemented as described in (Deb and Agrawal 1995).

SinglePointCrossover

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).

UniformAllPositionsArithmeticCrossover

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).

UniformSomePositionsArithmeticCrossover

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.


Crossover for SymbolicExpressionTreeEncoding

SubTreeCrossover

An operator which performs subtree swapping crossover.


References

  • Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press.
  • Beyer, H.-G. and Schwefel, H.-P. 2002. Evolution Strategies - A Comprehensive Introduction Natural Computing, 1, pp. 3-52.
  • Deb, K. and Agrawal, R. B. 1995. Simulated binary crossover for continuous search space. Complex Systems, 9, pp. 115-148.
  • Dumitrescu, D. et al. 2000. Evolutionary computation. CRC Press. Boca Raton. FL.
  • Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg.
  • Fogel, D.B. 1988. An Evolutionary Approach to the Traveling Salesman Problem. Biological Cybernetics, 60, pp. 139-144, Springer-Verlag.
  • Gwiazda, T.D. 2006. Genetic algorithms reference Volume I Crossover for single-objective numerical optimization problems.
  • Michalewicz, Z. 1999. Genetic Algorithms + Data Structures = Evolution Programs. Third, Revised and Extended Edition, Springer-Verlag Berlin Heidelberg.
  • Mühlenbein, H. 1991. Evolution in time and space - the parallel genetic algorithm. FOUNDATIONS OF GENETIC ALGORITHMS. Morgan Kaufmann. pp. 316-337.
  • Syswerda, G. 1991. Schedule Optimization Using Genetic Algorithms. In Davis, L. (Ed.) Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, pp. 332-349.
  • Takahashi, M. and Kita, H. 2001. A crossover operator using independent component analysis for real-coded genetic algorithms Proceedings of the 2001 Congress on Evolutionary Computation, pp. 643-649.
  • Wendt, O. 1994. COSA: COoperative Simulated Annealing - Integration von Genetischen Algorithmen und Simulated Annealing am Beispiel der Tourenplanung. Dissertation Thesis. IWI Frankfurt.
  • Whitley et.al. 1991, The Traveling Salesman and Sequence Scheduling, in Davis, L. (Ed.), Handbook of Genetic Algorithms, New York. pp. 350-372
  • Wright, A.H. 1994. Genetic algorithms for real parameter optimization, Foundations of Genetic Algorithms. G.J.E. Rawlins (Ed.). Morgan Kaufmann. San Mateo. CA. pp. 205-218.

Attachments (2)

Download all attachments as: .zip