Class diff_evo_adapt (o2scl)¶
-
template<class func_t = multi_funct, class vec_t = boost::numeric::ublas::vector<double>, class init_funct_t = mm_funct>
class diff_evo_adapt : public o2scl::diff_evo<multi_funct, boost::numeric::ublas::vector<double>, mm_funct>¶ Multidimensional minimization by the differential evolution method.
This class minimizes a function using differential evolution. This method is a genetic algorithm and as such works well for non continuous problems, since it does not require the gradient of the function to be minimized.
This is an adaptive version of diff_evo as described in
Lower bound and range of F (defaults 0.1 and 0.9)
-
double fl¶
-
double fr¶
-
inline diff_evo_adapt()¶
-
inline virtual int mmin(size_t nvar, vec_t &x0, double &fmin, func_t &func)¶
Calculate the minimum
fmin
offunc
w.r.t the arrayx
of sizenvar
.
-
inline virtual void print_iter(size_t nvar, double fmin, int iter, vec_t &best_fit)¶
Print out iteration information.
-
inline virtual int initialize_population(size_t nvar, vec_t &x0)¶
Initialize a population of random agents.
-
diff_evo_adapt(const diff_evo_adapt<func_t, vec_t, init_funct_t>&)¶
-
diff_evo_adapt<func_t, vec_t, init_funct_t> &operator=(const diff_evo_adapt<func_t, vec_t, init_funct_t>&)¶
Public Types
-
typedef boost::numeric::ublas::vector<double> ubvector¶
-
double fl¶