Differential Evolution C++ library
|
#include <differential_evolution.hpp>
Public Member Functions | |
differential_evolution (size_t varCount, size_t popSize, typename processors< T >::processors_ptr processors, constraints_ptr constraints, bool minimize, termination_strategy_ptr terminationStrategy, selection_strategy_ptr selectionStrategy, mutation_strategy_ptr mutationStrategy, de::listener_ptr listener) | |
void | run () |
individual_ptr | best () const |
Differential evolution main class
Runs an optimization session based on various input parameters or strategies
de::differential_evolution< T >::differential_evolution | ( | size_t | varCount, |
size_t | popSize, | ||
typename processors< T >::processors_ptr | processors, | ||
constraints_ptr | constraints, | ||
bool | minimize, | ||
termination_strategy_ptr | terminationStrategy, | ||
selection_strategy_ptr | selectionStrategy, | ||
mutation_strategy_ptr | mutationStrategy, | ||
de::listener_ptr | listener | ||
) | [inline] |
constructs a differential_evolution object
varCount | total number of variables. It includes the variables required by the objective function but has many more elements as required by the algorithm |
popSize | total number of individuals in a population |
processors | number of parallel processors used during an optimization session |
constraints | a vector of constraints that contains the constraints for the variables used by the objective function as well as constraints for all other variables used internally by the algorithm |
minimize | will attempt to minimize the cost if true, or maximize the cost if false |
terminationStrategy | a termination strategy |
selectionStrategy | a selection strategy |
mutationStrategy | a mutation strategy |
listener | a listener |
individual_ptr de::differential_evolution< T >::best | ( | ) | const [inline] |
returns the best individual resulted from the optimization process
void de::differential_evolution< T >::run | ( | ) | [inline] |
starts a differential evolution optimization process
although the processing is done in parallel, this function is synchronous and won't return until the optimization is complete, or an error triggered an exception