ECF 1.7

CrossoverOp base class. More...

#include <Crossover.h>

Inheritance diagram for CrossoverOp:
Binary::BinaryCrsHalfUniform Binary::BinaryCrsMasked Binary::BinaryCrsNonGeometric Binary::BinaryCrsOnePoint Binary::BinaryCrsRandomRespectful Binary::BinaryCrsReducedSurrogate Binary::BinaryCrsSegmented Binary::BinaryCrsShuffle Binary::BinaryCrsTwoPoint Binary::BinaryCrsUniform BitString::BitStringCrsOnePoint BitString::BitStringCrsUniform Cartesian::CartesianCrxHalfUniform Cartesian::CartesianCrxHalfUniform Cartesian::CartesianCrxOnePoint Cartesian::CartesianCrxOnePoint Cartesian::CartesianCrxUniform Cartesian::CartesianCrxUniform 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 GEP::GEPChromosomeCrsGene GEP::GEPChromosomeCrsOnePoint GEP::GEPChromosomeCrsTwoPoint IntGenotype::IntGenotypeCrxAverage IntGenotype::IntGenotypeCrxOp IntGenotype::IntGenotypeCrxTwoPoint 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 Tree::TreeCrxSizeFair Tree::TreeCrxUniform TreeCrxSimple

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ CrossoverOp()

CrossoverOp::CrossoverOp ( )
inline

Definition at line 21 of file Crossover.h.

◆ ~CrossoverOp()

virtual CrossoverOp::~CrossoverOp ( )
inlinevirtual

Definition at line 38 of file Crossover.h.

Member Function Documentation

◆ initialize()

virtual bool CrossoverOp::initialize ( StateP )
inlinevirtual

Initialize crossover operator. Called before first crossover operation.

Reimplemented 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, Cartesian::CartesianCrxHalfUniform, Cartesian::CartesianCrxHalfUniform, Cartesian::CartesianCrxOnePoint, Cartesian::CartesianCrxOnePoint, Cartesian::CartesianCrxUniform, Cartesian::CartesianCrxUniform, 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, GEP::GEPChromosomeCrsGene, GEP::GEPChromosomeCrsOnePoint, GEP::GEPChromosomeCrsTwoPoint, Permutation::PermutationCrsCOSA, Permutation::PermutationCrsCyclic2, Permutation::PermutationCrsCyclic, Permutation::PermutationCrsDPX, Permutation::PermutationCrsOBX, Permutation::PermutationCrsOPX, Permutation::PermutationCrsOX2, Permutation::PermutationCrsOX, Permutation::PermutationCrsPBX, Permutation::PermutationCrsPMX, Permutation::PermutationCrsSPX, Permutation::PermutationCrsULX, Permutation::PermutationCrsUPMX, Tree::TreeCrxContextPreserved, Tree::TreeCrxOnePoint, Tree::TreeCrxSimple, Tree::TreeCrxSizeFair, Tree::TreeCrxUniform, and TreeCrxSimple.

Definition at line 31 of file Crossover.h.

◆ mate()

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, Cartesian::CartesianCrxHalfUniform, Cartesian::CartesianCrxHalfUniform, Cartesian::CartesianCrxOnePoint, Cartesian::CartesianCrxOnePoint, Cartesian::CartesianCrxUniform, Cartesian::CartesianCrxUniform, 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, GEP::GEPChromosomeCrsGene, GEP::GEPChromosomeCrsOnePoint, GEP::GEPChromosomeCrsTwoPoint, IntGenotype::IntGenotypeCrxAverage, IntGenotype::IntGenotypeCrxOp, IntGenotype::IntGenotypeCrxTwoPoint, Permutation::PermutationCrsCOSA, Permutation::PermutationCrsCyclic2, Permutation::PermutationCrsCyclic, Permutation::PermutationCrsDPX, Permutation::PermutationCrsOBX, Permutation::PermutationCrsOPX, Permutation::PermutationCrsOX2, Permutation::PermutationCrsOX, Permutation::PermutationCrsPBX, Permutation::PermutationCrsPMX, Permutation::PermutationCrsSPX, Permutation::PermutationCrsULX, Permutation::PermutationCrsUPMX, Tree::TreeCrxContextPreserved, Tree::TreeCrxOnePoint, Tree::TreeCrxSimple, Tree::TreeCrxSizeFair, Tree::TreeCrxUniform, and TreeCrxSimple.

◆ registerParameters()

virtual void CrossoverOp::registerParameters ( StateP )
inlinevirtual

Register parameters with the system. Called before CrossoverOp::initialize.

Reimplemented 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, Cartesian::CartesianCrxHalfUniform, Cartesian::CartesianCrxHalfUniform, Cartesian::CartesianCrxOnePoint, Cartesian::CartesianCrxOnePoint, Cartesian::CartesianCrxUniform, Cartesian::CartesianCrxUniform, 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, GEP::GEPChromosomeCrsGene, GEP::GEPChromosomeCrsOnePoint, GEP::GEPChromosomeCrsTwoPoint, Permutation::PermutationCrsCOSA, Permutation::PermutationCrsCyclic2, Permutation::PermutationCrsCyclic, Permutation::PermutationCrsDPX, Permutation::PermutationCrsOBX, Permutation::PermutationCrsOPX, Permutation::PermutationCrsOX2, Permutation::PermutationCrsOX, Permutation::PermutationCrsPBX, Permutation::PermutationCrsPMX, Permutation::PermutationCrsSPX, Permutation::PermutationCrsULX, Permutation::PermutationCrsUPMX, Tree::TreeCrxContextPreserved, Tree::TreeCrxOnePoint, Tree::TreeCrxSimple, Tree::TreeCrxSizeFair, Tree::TreeCrxUniform, and TreeCrxSimple.

Definition at line 35 of file Crossover.h.

Member Data Documentation

◆ myGenotype_

GenotypeP CrossoverOp::myGenotype_

pointer to the Genotype that defines this CrossoverOp

Definition at line 43 of file Crossover.h.

◆ probability_

double CrossoverOp::probability_

probability of usage of this crossover operator

Definition at line 42 of file Crossover.h.

◆ state_

StateP CrossoverOp::state_

Definition at line 41 of file Crossover.h.


The documentation for this class was generated from the following file: