Differential Evolution C++ library
|
#include <mutation_strategy.hpp>
Classes | |
class | Urn |
Public Types | |
typedef boost::tuple < individual_ptr, de::DVectorPtr > | mutation_info |
Public Member Functions | |
mutation_strategy (size_t varCount, const mutation_strategy_arguments &args) | |
virtual mutation_info | operator() (const population &pop, individual_ptr bestIt, size_t i)=0 |
size_t | varCount () const |
double | weight () const |
double | crossover () const |
double | dither () const |
A an abstract based class for mutation strategies
A mutation strategy defines how varaibles values are adjusted during the optimization process
typedef boost::tuple< individual_ptr, de::DVectorPtr > de::mutation_strategy::mutation_info |
type for the tuple returned by the operator() member.
de::mutation_strategy::mutation_strategy | ( | size_t | varCount, |
const mutation_strategy_arguments & | args | ||
) | [inline] |
constructs a mutation strategy
varCount | number of variables |
args | mutation strategy arguments |
double de::mutation_strategy::crossover | ( | ) | const [inline] |
returns the crossover factor
double de::mutation_strategy::dither | ( | ) | const [inline] |
returns the dither factor
virtual mutation_info de::mutation_strategy::operator() | ( | const population & | pop, |
individual_ptr | bestIt, | ||
size_t | i | ||
) | [pure virtual] |
performs the mutation
pop | a reference to the current population |
bestIt | the best individual of the previous generation |
i | the current individual index |
Implemented in de::mutation_strategy_5, de::mutation_strategy_4, de::mutation_strategy_3, de::mutation_strategy_2, and de::mutation_strategy_1.
size_t de::mutation_strategy::varCount | ( | ) | const [inline] |
returns the number of variables
double de::mutation_strategy::weight | ( | ) | const [inline] |
returns the weight factor