25 #ifndef PAGMO_ALGORITHM_CSTRS_IMMUNE_SYSTEM_H
26 #define PAGMO_ALGORITHM_CSTRS_IMMUNE_SYSTEM_H
30 #include "../config.h"
31 #include "../population.h"
32 #include "../serialization.h"
37 namespace pagmo {
namespace algorithm {
89 select_method_type = BEST_ANTIBODY,
90 inject_method_type = CHAMPION,
91 distance_method_type = EUCLIDEAN,
95 double = 1e-15,
double = 1e-15);
101 std::string get_name()
const;
103 void set_algorithm(
const base &);
104 base_ptr get_algorithm_immune()
const;
105 void set_algorithm_immune(
const base &);
108 std::string human_readable_extra()
const;
111 friend class boost::serialization::access;
112 template <
class Archive>
113 void serialize(Archive &ar,
const unsigned int)
115 ar & boost::serialization::base_object<base>(*this);
116 ar & m_original_algo;
117 ar & m_original_algo_immune;
118 ar &
const_cast<int &
>(m_gen);
119 ar & m_select_method;
120 ar & m_inject_method;
121 ar & m_distance_method;
122 ar &
const_cast<double &
>(m_phi);
123 ar &
const_cast<double &
>(m_gamma);
124 ar &
const_cast<double &
>(m_sigma);
125 ar &
const_cast<double &
>(m_ftol);
126 ar &
const_cast<double &
>(m_xtol);
133 select_method_type m_select_method;
134 inject_method_type m_inject_method;
135 distance_method_type m_distance_method;
138 const double m_gamma;
139 const double m_sigma;
149 #endif // PAGMO_ALGORITHM_CSTRS_IMMUNE_SYSTEM_H
boost::shared_ptr< base > base_ptr
Alias for shared pointer to base algorithm.
Immune system constraints handling meta-algorithm.
distance_method_type
Type of antibodies problem distance method.
select_method_type
Type of immune system antibody selection method.
inject_method_type
Type of immune system antibody injection method.
The Simple Genetic Algorithm (SGA)
jDE - Differential Evolution Algorithm - Self-Adaptive C and R (2011)