GALib-Parallel
Header-only C++ library for parallel evolutionary algorithms
Loading...
Searching...
No Matches
Public Member Functions | List of all members
galib::SinglePointCrossover< GeneType > Class Template Reference

Performs traditional single-point crossover. More...

#include <SinglePointCrossover.h>

Inheritance diagram for galib::SinglePointCrossover< GeneType >:
[legend]

Public Member Functions

 SinglePointCrossover ()=default
 
std::pair< Individual< GeneType >, Individual< GeneType > > crossover (const Individual< GeneType > &parent1, const Individual< GeneType > &parent2) override
 Swaps genotype segments at a random crossover point.
 
- Public Member Functions inherited from galib::Crossover< GeneType >
virtual ~Crossover ()=default
 

Detailed Description

template<typename GeneType>
class galib::SinglePointCrossover< GeneType >

Performs traditional single-point crossover.

A random crossover point is chosen, and the genetic material after that point is swapped between the two parents to create two children.

Template Parameters
GeneTypeThe numeric type of the genes.

Definition at line 24 of file SinglePointCrossover.h.

Constructor & Destructor Documentation

◆ SinglePointCrossover()

template<typename GeneType >
galib::SinglePointCrossover< GeneType >::SinglePointCrossover ( )
default

Member Function Documentation

◆ crossover()

template<typename GeneType >
std::pair< Individual< GeneType >, Individual< GeneType > > galib::SinglePointCrossover< GeneType >::crossover ( const Individual< GeneType > &  parent1,
const Individual< GeneType > &  parent2 
)
inlineoverridevirtual

Swaps genotype segments at a random crossover point.

Parameters
parent1First parent.
parent2Second parent.
Returns
Pair of children.
Exceptions
std::invalid_argumentif parents have different genotype sizes.

Implements galib::Crossover< GeneType >.

Definition at line 35 of file SinglePointCrossover.h.

References galib::Individual< GeneType >::getGenotype().


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