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

Internal factory for instantiating GA operators from YAML configurations. More...

#include <OperatorBuilder.h>

Static Public Member Functions

static std::unique_ptr< Selection< GeneType > > buildSelection (const YAML::Node &node)
 Builds a selection operator.
 
static std::unique_ptr< LocalSelection< GeneType > > buildLocalSelection (const YAML::Node &node)
 Builds a local selection operator (for Cellular GA).
 
static std::unique_ptr< Mutation< GeneType > > buildMutation (const YAML::Node &node, GeneType lb=0, GeneType ub=0)
 Builds a mutation operator.
 
static std::unique_ptr< Crossover< GeneType > > buildCrossover (const YAML::Node &node)
 Builds a crossover operator.
 
static std::unique_ptr< DemeReplacer< GeneType > > buildDemeReplacer (const YAML::Node &node)
 Builds a deme replacer policy (for Island GA).
 
static std::unique_ptr< DemeSelector< GeneType > > buildDemeSelector (const YAML::Node &node)
 Builds a deme selector policy (for Island GA).
 

Detailed Description

template<typename GeneType = double>
class galib::internal::OperatorBuilder< GeneType >

Internal factory for instantiating GA operators from YAML configurations.

This class is primarily used by AlgorithmBuilder to map configuration strings to concrete operator instances.

Template Parameters
GeneTypeThe numeric type of each gene.

Definition at line 43 of file OperatorBuilder.h.

Member Function Documentation

◆ buildCrossover()

template<typename GeneType = double>
static std::unique_ptr< Crossover< GeneType > > galib::internal::OperatorBuilder< GeneType >::buildCrossover ( const YAML::Node &  node)
inlinestatic

Builds a crossover operator.

Parameters
nodeYAML node for crossover config.
Returns
unique_ptr to Crossover.

Definition at line 103 of file OperatorBuilder.h.

Referenced by galib::utils::AlgorithmBuilder< GeneType >::buildCellularGA(), galib::utils::AlgorithmBuilder< GeneType >::buildIslandGA(), and galib::utils::AlgorithmBuilder< GeneType >::buildStandardGA().

◆ buildDemeReplacer()

template<typename GeneType = double>
static std::unique_ptr< DemeReplacer< GeneType > > galib::internal::OperatorBuilder< GeneType >::buildDemeReplacer ( const YAML::Node &  node)
inlinestatic

Builds a deme replacer policy (for Island GA).

Parameters
nodeYAML node for replacer config.
Returns
unique_ptr to DemeReplacer.

Definition at line 122 of file OperatorBuilder.h.

Referenced by galib::utils::AlgorithmBuilder< GeneType >::buildIslandGA().

◆ buildDemeSelector()

template<typename GeneType = double>
static std::unique_ptr< DemeSelector< GeneType > > galib::internal::OperatorBuilder< GeneType >::buildDemeSelector ( const YAML::Node &  node)
inlinestatic

Builds a deme selector policy (for Island GA).

Parameters
nodeYAML node for selector config.
Returns
unique_ptr to DemeSelector.

Definition at line 137 of file OperatorBuilder.h.

Referenced by galib::utils::AlgorithmBuilder< GeneType >::buildIslandGA().

◆ buildLocalSelection()

template<typename GeneType = double>
static std::unique_ptr< LocalSelection< GeneType > > galib::internal::OperatorBuilder< GeneType >::buildLocalSelection ( const YAML::Node &  node)
inlinestatic

Builds a local selection operator (for Cellular GA).

Parameters
nodeYAML node for selection config.
Returns
unique_ptr to LocalSelection.

Definition at line 66 of file OperatorBuilder.h.

Referenced by galib::utils::AlgorithmBuilder< GeneType >::buildCellularGA().

◆ buildMutation()

template<typename GeneType = double>
static std::unique_ptr< Mutation< GeneType > > galib::internal::OperatorBuilder< GeneType >::buildMutation ( const YAML::Node &  node,
GeneType  lb = 0,
GeneType  ub = 0 
)
inlinestatic

Builds a mutation operator.

Parameters
nodeYAML node for mutation config.
lbLower bound (for uniform/boundary mutation).
ubUpper bound (for uniform/boundary mutation).
Returns
unique_ptr to Mutation.

Definition at line 83 of file OperatorBuilder.h.

Referenced by galib::utils::AlgorithmBuilder< GeneType >::buildCellularGA(), galib::utils::AlgorithmBuilder< GeneType >::buildIslandGA(), and galib::utils::AlgorithmBuilder< GeneType >::buildStandardGA().

◆ buildSelection()

template<typename GeneType = double>
static std::unique_ptr< Selection< GeneType > > galib::internal::OperatorBuilder< GeneType >::buildSelection ( const YAML::Node &  node)
inlinestatic

Builds a selection operator.

Parameters
nodeYAML node for selection config.
Returns
unique_ptr to Selection.

Definition at line 50 of file OperatorBuilder.h.

Referenced by galib::utils::AlgorithmBuilder< GeneType >::buildIslandGA(), and galib::utils::AlgorithmBuilder< GeneType >::buildStandardGA().


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