CrossoverOp base class. More...
#include <Crossover.h>
Public Member Functions | |
virtual bool | mate (GenotypeP, GenotypeP, GenotypeP)=0 |
virtual bool | initialize (StateP) |
Initialize crossover operator. Called before first crossover operation. | |
virtual void | registerParameters (StateP) |
Register parameters with the system. Called before CrossoverOp::initialize. | |
Public Attributes | |
StateP | state_ |
double | probability_ |
probability of usage of this crossover operator | |
GenotypeP | myGenotype_ |
pointer to the Genotype that defines this CrossoverOp |
CrossoverOp base class.
Each CrossoverOp class crosses a pair of _genotypes_. Each Genotype class must define its own set of CrossoverOp classes.
Definition at line 18 of file Crossover.h.
virtual bool CrossoverOp::mate | ( | GenotypeP | , | |
GenotypeP | , | |||
GenotypeP | ||||
) | [pure virtual] |
Performs crossover of two genotype objects. Each genotype object must be initialized!
Implemented in Binary::BinaryCrsHalfUniform, Binary::BinaryCrsMasked, Binary::BinaryCrsNonGeometric, Binary::BinaryCrsOnePoint, Binary::BinaryCrsRandomRespectful, Binary::BinaryCrsReducedSurrogate, Binary::BinaryCrsSegmented, Binary::BinaryCrsShuffle, Binary::BinaryCrsTwoPoint, Binary::BinaryCrsUniform, BitString::BitStringCrsOnePoint, BitString::BitStringCrsUniform, cart::CartesianCrsOnePoint, FloatingPoint::FloatingPointCrsArithmetic, FloatingPoint::FloatingPointCrsArithmeticSimple, FloatingPoint::FloatingPointCrsArithmeticSingle, FloatingPoint::FloatingPointCrsAverage, FloatingPoint::FloatingPointCrsBga, FloatingPoint::FloatingPointCrsBlx, FloatingPoint::FloatingPointCrsBlxAlpha, FloatingPoint::FloatingPointCrsBlxAlphaBeta, FloatingPoint::FloatingPointCrsDiscrete, FloatingPoint::FloatingPointCrsFlat, FloatingPoint::FloatingPointCrsHeuristic, FloatingPoint::FloatingPointCrsLocal, FloatingPoint::FloatingPointCrsOnePoint, FloatingPoint::FloatingPointCrsRandom, FloatingPoint::FloatingPointCrsSbx, Permutation::PermutationCrsCOSA, Permutation::PermutationCrsCyclic, Permutation::PermutationCrsCyclic2, Permutation::PermutationCrsDPX, Permutation::PermutationCrsOBX, Permutation::PermutationCrsOPX, Permutation::PermutationCrsOX, Permutation::PermutationCrsOX2, Permutation::PermutationCrsPBX, Permutation::PermutationCrsPMX, Permutation::PermutationCrsSPX, Permutation::PermutationCrsULX, Permutation::PermutationCrsUPMX, Tree::TreeCrxContextPreserved, Tree::TreeCrxOnePoint, Tree::TreeCrxSimple, TreeCrxSimple, Tree::TreeCrxSizeFair, and Tree::TreeCrxUniform.