ECF 1.5
Public Member Functions | Public Attributes | List of all members

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 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 GEPChromosome::GEPChromosomeCrsGene GEPChromosome::GEPChromosomeCrsOnePoint GEPChromosome::GEPChromosomeCrsTwoPoint IntGenotype::IntGenotypeCrxAverage IntGenotype::IntGenotypeCrxOp 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::TreeCrxHomologous Tree::TreeCrxOnePoint Tree::TreeCrxSimple Tree::TreeCrxSizeFair Tree::TreeCrxUniform TreeCrxSimple cart::CartesianCrsOnePoint cartesian::CartesianCrxHalfUniform cartesian::CartesianCrxOnePoint cartesian::CartesianCrxUniform

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

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

◆ 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, 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.

◆ registerParameters()

virtual void CrossoverOp::registerParameters ( StateP  )
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.

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: