25 #ifndef PAGMO_ALGORITHM_DE_1220_H
26 #define PAGMO_ALGORITHM_DE_1220_H
30 #include "../config.h"
31 #include "../population.h"
32 #include "../serialization.h"
35 namespace pagmo {
namespace algorithm {
60 de_1220(
int = 100,
int = 1,
const std::vector<int>& = construct_default_strategies(),
bool =
true,
double = 1e-6,
double = 1e-6);
63 std::string get_name()
const;
65 static const std::vector<int> construct_default_strategies() {
66 const int tmp[8] = {2,3,7,10,13,14,15,16};
67 std::vector<int> retval(tmp,tmp+8);
72 std::string human_readable_extra()
const;
74 friend class boost::serialization::access;
75 template <
class Archive>
76 void serialize(Archive &ar,
const unsigned int)
78 ar & boost::serialization::base_object<base>(*this);
79 ar &
const_cast<int &
>(m_gen);
80 ar &
const_cast<int &
>(m_variant_adptv);
81 ar &
const_cast<std::vector<int> &
>(m_allowed_variants);
82 ar &
const_cast<bool &
>(m_memory);
83 ar &
const_cast<double &
>(m_ftol);
84 ar &
const_cast<double &
>(m_xtol);
94 const int m_variant_adptv;
97 const std::vector<int> m_allowed_variants;
107 mutable std::vector<double> m_f;
110 mutable std::vector<double> m_cr;
113 mutable std::vector<int> m_variants;
boost::shared_ptr< base > base_ptr
Alias for shared pointer to base algorithm.
Differential Evolution Algorithm - 1220 (our version!!)