25 #ifndef PAGMO_ALGORITHM_MOEAD_H
26 #define PAGMO_ALGORITHM_MOEAD_H
28 #include "../config.h"
29 #include "../serialization.h"
31 #include "../problem/decompose.h"
35 namespace pagmo {
namespace algorithm {
62 weight_generation_type = GRID,
65 unsigned int limit = 2,
69 bool preserve_diversity =
true
74 std::string get_name()
const;
75 std::vector<fitness_vector> generate_weights(
const unsigned int,
const unsigned int)
const;
78 std::string human_readable_extra()
const;
81 void reksum(std::vector<std::vector<double> > &,
const std::vector<unsigned int>&,
unsigned int,
unsigned int, std::vector<double> = std::vector<double>() )
const;
82 void compute_neighbours(std::vector<std::vector<int> > &,
const std::vector<std::vector <double> > &);
83 void mating_selection(std::vector<population::size_type> &,
int,
int,
const std::vector<std::vector<population::size_type> >&)
const;
86 friend class boost::serialization::access;
87 template <
class Archive>
88 void serialize(Archive &ar,
const unsigned int)
90 ar & boost::serialization::base_object<base>(*this);
91 ar &
const_cast<int &
>(m_gen);
93 ar &
const_cast<weight_generation_type &
>(m_weight_generation);
94 ar &
const_cast<double &
>(m_realb);
95 ar &
const_cast<unsigned int &
>(m_limit);
96 ar &
const_cast<double &
>(m_cr);
97 ar &
const_cast<double &
>(m_f);
98 ar &
const_cast<double &
>(m_eta_m);
99 ar &
const_cast<double &
>(m_preserve_diversity);
104 const weight_generation_type m_weight_generation;
106 const double m_realb;
107 const unsigned int m_limit;
110 const double m_eta_m;
111 const double m_preserve_diversity;
118 #endif // PAGMO_ALGORITHM_MOEAD_H
boost::shared_ptr< base > base_ptr
Alias for shared pointer to base algorithm.
std::vector< double > decision_vector
Decision vector type.
weight_generation_type
Mechanism used to generate the weight vectors.
container_type::size_type size_type
Population size type.