25 #ifndef PAGMO_ALGORITHM_SMS_EMOA_H
26 #define PAGMO_ALGORITHM_SMS_EMOA_H
29 #include "../config.h"
30 #include "../serialization.h"
31 #include "../util/hypervolume.h"
32 #include "../util/hv_algorithm/base.h"
35 namespace pagmo {
namespace algorithm {
50 sms_emoa(
int gen=100,
int sel_m = 2,
double cr = 0.95,
double eta_c = 10,
double m = 0.01,
double eta_m = 50);
55 std::string get_name()
const;
58 std::string human_readable_extra()
const;
61 void validate_parameters();
66 friend class boost::serialization::access;
67 template <
class Archive>
68 void serialize(Archive &ar,
const unsigned int)
70 ar & boost::serialization::base_object<base>(*this);
72 ar &
const_cast<int &
>(m_gen);
73 ar &
const_cast<int &
>(m_sel_m);
74 ar &
const_cast<double &
>(m_cr);
75 ar &
const_cast<double &
>(m_eta_c);
76 ar &
const_cast<double &
>(m_m);
77 ar &
const_cast<double &
>(m_eta_m);
103 #endif // PAGMO_ALGORITHM_SMS_EMOA_H
boost::shared_ptr< base > base_ptr
Alias for shared pointer to base algorithm.
std::vector< double > decision_vector
Decision vector type.
S-metric selection evolutionary multiobjective optimisation algorithm (SMS-EMOA)
boost::shared_ptr< base > base_ptr
Base hypervolume algorithm class.
container_type::size_type size_type
Population size type.