ECF 1.5
|
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. More... | |
virtual void | registerParameters (StateP) |
Register parameters with the system. Called before CrossoverOp::initialize. More... | |
Public Attributes | |
StateP | state_ |
double | probability_ |
probability of usage of this crossover operator More... | |
GenotypeP | myGenotype_ |
pointer to the Genotype that defines this CrossoverOp More... | |
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.
|
inline |
Definition at line 21 of file Crossover.h.
|
inlinevirtual |
Definition at line 38 of file Crossover.h.
|
inlinevirtual |
Initialize crossover operator. Called before first crossover operation.
Reimplemented in cartesian::CartesianCrxHalfUniform, cartesian::CartesianCrxOnePoint, cartesian::CartesianCrxUniform, 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, Tree::TreeCrxUniform, GEPChromosome::GEPChromosomeCrsGene, GEPChromosome::GEPChromosomeCrsOnePoint, and GEPChromosome::GEPChromosomeCrsTwoPoint.
Definition at line 31 of file Crossover.h.
|
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, Tree::TreeCrxUniform, cartesian::CartesianCrxHalfUniform, cartesian::CartesianCrxOnePoint, cartesian::CartesianCrxUniform, IntGenotype::IntGenotypeCrxOp, IntGenotype::IntGenotypeCrxAverage, IntGenotype::IntGenotypeCrxOp, IntGenotype::IntGenotypeCrxTwoPoint, GEPChromosome::GEPChromosomeCrsGene, GEPChromosome::GEPChromosomeCrsOnePoint, and GEPChromosome::GEPChromosomeCrsTwoPoint.
|
inlinevirtual |
Register parameters with the system. Called before CrossoverOp::initialize.
Reimplemented in cartesian::CartesianCrxHalfUniform, cartesian::CartesianCrxOnePoint, cartesian::CartesianCrxUniform, 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, Tree::TreeCrxUniform, GEPChromosome::GEPChromosomeCrsGene, GEPChromosome::GEPChromosomeCrsOnePoint, and GEPChromosome::GEPChromosomeCrsTwoPoint.
Definition at line 35 of file Crossover.h.
GenotypeP CrossoverOp::myGenotype_ |
pointer to the Genotype that defines this CrossoverOp
Definition at line 43 of file Crossover.h.
double CrossoverOp::probability_ |
probability of usage of this crossover operator
Definition at line 42 of file Crossover.h.
StateP CrossoverOp::state_ |
Definition at line 41 of file Crossover.h.