Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
cart::Add< T >
Tree::Primitives::AddT< T >Add function primitive (Tree genotype)
AlgAEliGpeaAsynchronous elimination global parallel algorithm
AlgAEliGpea2Asynchronous elimination global parallel algorithm (outdated version)
AlgorithmAlgorithm base class
AlgSGenGpeaSynchronous generational global parallel algorithm
cart::And< T >
AntEvalOpArtificial ant evaluation class (and environment simulator)
ArtificialBeeColonyArtificial Bee Colony algorithm (see e.g. algorithm accepts only a single FloatingPoint genotype (vector of real values). Additionally, it adds the following genotype for algorithm implementation:

  • FloatingPoint genotype as trial (a cycle counter for each individual)
Binary::BinaryBinary class - implements genotype as a vector of binary coded real values with variable interval and precision
Binary::BinaryCrsHalfUniformBinary genotype: half uniform crossover operator
Binary::BinaryCrsMaskedBinary genotype: masked crossover operator. Described on Evolve only one child instead of two as described on-line
Binary::BinaryCrsNonGeometricBinary genotype: non geometric crossover operator
Binary::BinaryCrsOnePointBinary genotype: one point crossover operator
Binary::BinaryCrsRandomRespectfulBinary genotype: random respectful crossover operator. Described on Evolve only one child instead of two as described on-line
Binary::BinaryCrsReducedSurrogateBinary genotype: reduced surrogate crossover operator
Binary::BinaryCrsSegmentedBinary genotype: segmented crossover operator
Binary::BinaryCrsShuffleBinary genotype: shuffle crossover operator
Binary::BinaryCrsTwoPointBinary genotype: two point crossover operator
Binary::BinaryCrsUniformBinary genotype: uniform crossover operator
Binary::BinaryMutMixBinary genotype: mixing mutation operator
Binary::BinaryMutSimpleBinary genotype: simple (bit-flip) mutation operator
BitString::BitStringBitString class - implements genotype as a series of bits
BitString::BitStringCrsOnePointBitString genotype: one point crossover operator
BitString::BitStringCrsUniformBitString genotype uniform crossover operator
BitString::BitStringMutMixBitString genotype mixing mutation operator
BitString::BitStringMutSimpleBitString genotype simple (one bit) mutation operator
cart::CartesianCrsOnePointCartesian genotype: one point crossover operator
cart::CartesianMutOnePointCartesian genotype: one point mutation operator
ClassifierClassifier class that holds all parameters and pointer to individual to which the parameters belong
ClassifierParamsClassifier data structure in XCS algorithm
ClonalgClonal Selection Algorithm (see e.g. CLONALG implements:

  • cloning Versions:
    • static cloning : n of the best antibodies are cloned beta*populationSize times
    • proportional cloning: number of clones per antibody is proportional to that ab's fitness
  • inversely proportional hypermutation : better antibodies are mutated less
  • selectionSchemes:
    • CLONALG1 - at new generation each antibody will be substituded by the best individual of its set of beta*population clones
    • CLONALG2 - new generation will be formed by the best (1-d)*populationSize clones ( or all if the number of clones is less than that )
  • birthPhase: where d * populationSize of new antibodies are randomly created and added to the population for diversification
Comm::CommunicatorCommunicator class for interprocess communication
Tree::Primitives::CosCos function primitive (Tree genotype)
cart::Cos< T >
CrossoverCrossover class - handles crossover of _individuals_ (as opposed to CrossoverOp class that crosses genotypes)
CrossoverOpCrossoverOp base class
CuckooSearchCuckoo search (CS) optimization algorithm (see algorithm accepts only FloatingPoint genotype (vector of real values). This implementation is based on:
DemeDeme class - inherits a vector of Individual objects
DifferentialEvolutionDifferential evolution (DE) optimization algorithm (see e.g. algorithm accepts only a single FloatingPoint genotype (vector of real values)
cart::Div< T >
Tree::Primitives::DivT< T >Div function primitive (Tree genotype)
EliminationElimination (generation gap) algorithm with roulette wheel elimination selection operatorThis algorithm is genotype independent (it can be used with any Genotype)
EnvironmentEnvironment for the XCS algorithm
Tree::Primitives::ERC< T >Ephemereal random constant (ERC) node class (Tree genotype)
Tree::Primitives::ERCDEphemereal random constant (ERC) node of type double (Tree genotype)
EvaluateOpEvaluation base class
EvolutionContextEvolutionary context class
EvolutionStrategy(mu/rho +/, lambda) - Evolution Strategy (ES) algorithm.This algorithm is genotype independent (it can be used with any Genotype)
FitnessFitness base class
FitnessMaxFitness for maximization problems
FitnessMinFitness for minimization problems
FloatingPoint::FloatingPointFloatingPoint class - implements genotype as a vector of floating point values
FloatingPoint::FloatingPointCrsArithmeticFloatingPoint genotype: offspring is defined as a linear combination of two vectors
FloatingPoint::FloatingPointCrsArithmeticSimpleFloatingPoint genotype: take recombination point k. Child 1 is parent1 until k, rest is arithmetic average of parents
FloatingPoint::FloatingPointCrsArithmeticSingleFloatingPoint genotype: take random allele k. That point is arithmetic average of parents, other points are from parents
FloatingPoint::FloatingPointCrsAverageFloatingPoint genotype: child is average value of parent genes
FloatingPoint::FloatingPointCrsBgaFloatingPoint genotype: BGA crossover (,
FloatingPoint::FloatingPointCrsBlxFloatingPoint genotype: value on allele i is random value taken from min-max interval from parents plus/minus difference times rand
FloatingPoint::FloatingPointCrsBlxAlphaFloatingPoint genotype: BLX alpha crossover (
FloatingPoint::FloatingPointCrsBlxAlphaBetaFloatingPoint genotype: BLX alpha-beta crossover (
FloatingPoint::FloatingPointCrsDiscreteFloatingPoint genotype: allele value for each gene is either from parent1 or from parent2 with equal probability
FloatingPoint::FloatingPointCrsFlatFloatingPoint genotype: value on allele i is random value taken from min-max interval from parents
FloatingPoint::FloatingPointCrsHeuristicFloatingPoint genotype: value on allele i smaller gene value + rand value * (greater - smaller value)
FloatingPoint::FloatingPointCrsLocalFloatingPoint genotype: local crossover (
FloatingPoint::FloatingPointCrsOnePointFloatingPoint genotype: one point crossover operator with permissible split points only between dimensions
FloatingPoint::FloatingPointCrsRandomFloatingPoint genotype: random crossover, for testing purposes
FloatingPoint::FloatingPointCrsSbxFloatingPoint genotype: SBX crossover (,
FloatingPoint::FloatingPointMutSimpleFloatingPoint genotype: simple mutation where a single vector element is mutated. New value is random value from the given domain
FunctionMinEvalOpFunction minimization evaluation class
GeneticAnnealingGenetic annealing algorithm (see e.g., implemented only for minimization problems!
GenHookeJeevesNew algorithm, in development
GenotypeGenotype base class
HallOfFameRecords a set of best-so-far individuals
IfFoodAheadGP function, checks if the food is ahead
IndividualIndividual class - inherits a vector of Genotype objects
LoggerLogging class - handles screen output and file logging
Tree::Primitives::MaxT< T >Max function primitive (Tree genotype)
MigrationMigration class - handles individual migration between demes
Tree::Primitives::MinT< T >Min function primitive (Tree genotype)
MoveAheadGP terminal, moves the ant one square ahead
cart::Mul< T >
Tree::Primitives::MulT< T >Mul function primitive (Tree genotype)
MutationMutation class - handles mutation of _individuals_ (as opposed to MutationOp class that mutates genotypes)
MutationOpMutationOp base class
Tree::Primitives::NegT< T >Neg function primitive (Tree genotype)
Tree::NodeNode base class (Tree genotype)
cart::Not< T >
OneMaxEvalOpOneMax problem evaluation class
OperatorAbstract operator class
OptIAOptimization Immune Algorithm (opt-IA, see e.g. opt-IA implements:

  • static cloning: all antibodies are cloned dup times, making the size of the clone population equal dup * poplationSize
  • inversely proportional hypermutation: better antibodies are mutated less
  • static pure aging - if an antibody exceeds tauB number of trials, it is replaced with a new randomly created antibody
  • birthPhase: if the number of antibodies that survive the aging Phase is less than populationSize, new randomly created abs are added to the population
  • optional elitism
cart::Or< T >
ParallelAlgorithmParallel algorithm base class.All parallel algorithms should inherit this one
ECF::ParamECF parameter structure, as stored in the Registry
ParticleSwarmOptimizationParticle swarm optimization algorithm (see e.g. algorithm accepts only a single FloatingPoint genotype (vector of real values). Additionally, it adds the following genotypes for algorithm implementation:

  • FloatingPoint genotype as particle velocity
  • FloatingPoint genotype as best-so-far position
  • FloatingPoint genotype as best-so-far fitness value
Permutation::PermutationPermutation class - implements genotype as a vector of indices (permutation of indices)
Permutation::PermutationCrsCOSAPermutation genotype: COSA crossover operator (adapted from HeuristicLab)
Permutation::PermutationCrsCyclicPermutation genotype: Cyclic crossover operator (see e.g.
Permutation::PermutationCrsCyclic2Permutation genotype: Cyclic version 2 crossover operator (adapted from HeuristicLab)
Permutation::PermutationCrsDPXPermutation genotype: DPX crossover operator (see e.g.
Permutation::PermutationCrsOBXPermutation genotype: Order based crossover operator (see e.g.
Permutation::PermutationCrsOPXPermutation genotype: OPX crossover operator (see e.g.
Permutation::PermutationCrsOXPermutation genotype: OX crossover operator (see e.g.
Permutation::PermutationCrsOX2Permutation genotype: Order crossover operator variant where algorithm starts from the beginning when copying the values from second parent (adapted from HeuristicLab)
Permutation::PermutationCrsPBXPermutation genotype: PBX crossover operator (see e.g.
Permutation::PermutationCrsPMXPermutation genotype: PMX crossover operator (see e.g.
Permutation::PermutationCrsSPXPermutation genotype: SPX crossover operator (see e.g.
Permutation::PermutationCrsULXPermutation genotype: Uniform like crossover operator (see e.g.
Permutation::PermutationCrsUPMXPermutation genotype: UMPX crossover operator (see e.g.
Permutation::PermutationMutInsPermutation genotype: insert mutation operator (see e.g.
Permutation::PermutationMutInvPermutation genotype: inversion mutation operator (see e.g.
Permutation::PermutationMutTogglePermutation genotype: toggle mutation operator (see e.g.
PopulationPopulation class - inherits a vector of Deme objects
Tree::Primitives::PosT< T >Pos function primitive (Tree genotype)
Tree::Primitives::PrimitiveBase primitive class (Tree genotype)
Tree::PrimitiveSetPrimitive set class: collects all Tree Primitives
Prog2GP function, executes 2 subtrees in sequence
Prog3GP function, executes 3 subtrees in sequence
RandomizerAbstract Randomizer class
RandomSearchRandom search algorithmThe algorithm flow:
RealValueGenotypeRealValueGenotype class - abstract genotype class for genotypes that represent a vector of real values (Binary, FloatingPoint)
RegistryRepository for all the system parameters
RouletteWheelGenerational algorithm with roulette wheel selection operatorThis algorithm is genotype independent (it can be used with any Genotype)
SelBestOpBest individual selection operator
SelectionOperatorSelection operator base class
SelFitnessProportionalOpFitness proportional (and inverse proportional) individual selection operator
SelRandomOpRandom individual selection operator
SelWorstOpWorst individual selection operator
SimpleRandomizerA simple randomizer that uses in-built random number generator
cart::Sin< T >
Tree::Primitives::SinSin function primitive (Tree genotype)
StatCalcStatistics calculation class
StateState class - backbone of the framework
SteadyStateTournamentSteady state algorithm with tournament elimination operatorThis algorithm is genotype independent (it can be used with any Genotype)
cart::Sub< T >
Tree::Primitives::SubT< T >Sub function primitive (Tree genotype)
SymbRegEvalOpSymbolic regression evaluation operator
TermFitnessValOpTermination operator: terminates on a given fitness value
Tree::Primitives::TerminalT< T >Terminal tree node class (Tree genotype)
TermMaxEvalOpTermination operator: terminates on a given number of fitness evaluations
TermMaxGenOpTermination operator: terminates on a given number of generations
TermMaxTimeOpTermination operator: terminates on a given elapsed time
TermStagnationOpTermination operator: terminates when no improvement occurs in best individual for a given number of generations
Tree::TreeTree class - implements genotype as a tree
Tree::TreeCrxContextPreservedTree genotype: context presevation crx operator. Tries to make crossover at the 'same' point in both trees (with the same path from tree root node). Reference:
Tree::TreeCrxOnePointTree genotype: one point crx operator. Tries to select a crossing point in parent tree's common region. Reference:
Tree::TreeCrxSimpleTree genotype: simple tree crossover operator (with default 90% bias toward functional node) Reference:
TreeCrxSimpleTree genotype: simple tree crossover operator. Reference:
Tree::TreeCrxSizeFairTree genotype: size fair crx operator. Reference:
Tree::TreeCrxUniformTree genotype: uniform crx operator. Reference:
Tree::TreeMutGaussTree genotype: standard normal distribution noise mutation operator. Applicable only on ephemereal random constants (ERC) of type 'double'
Tree::TreeMutHoistTree genotype: mutation operator that replaces original tree with a randomly chosen subtree from the original tree
Tree::TreeMutNodeComplementTree genotype: complement node mutation operator. For the operator to succeed, the chosen primitive must have a defined complement
Tree::TreeMutNodeReplaceTree genotype: node replacement mutation operator. Tries to replace the selected primitive with a different one with the same number of arguments
Tree::TreeMutPermutationTree genotype: permutation mutation operator
Tree::TreeMutShrinkTree genotype: mutation operator that shrinks randomly chosen subtree
Tree::TreeMutSubtreeTree genotype: subtree size-fair mutation operator. This is a 'standard' GP subtree mutation
TSPEvalOpTSP evaluation operator
TurnLeftGP terminal, turns the ant left
TurnRightGP terminal, turns the ant right
XCSXCS classifier system
XCSParamsParameters for the XCS algorithm
cart::Xnor< T >
cart::Xor< T >