25 #ifndef PAGMO_PROBLEM_NOISY_H
26 #define PAGMO_PROBLEM_NOISY_H
29 #include <boost/functional/hash.hpp>
30 #include <boost/random/normal_distribution.hpp>
31 #include <boost/random/uniform_real_distribution.hpp>
33 #include "../serialization.h"
36 #include "base_stochastic.h"
40 namespace pagmo{
namespace problem {
66 unsigned int trials = 1,
67 const double param_first = 0.0,
68 const double param_second = 0.1,
70 unsigned int seed = 0u);
75 std::string get_name()
const;
77 void set_noise_param(
double,
double);
78 double get_param_first()
const;
79 double get_param_second()
const;
82 std::string human_readable_extra()
const;
90 friend class boost::serialization::access;
91 template <
class Archive>
92 void serialize(Archive &ar,
const unsigned int)
94 ar & boost::serialization::base_object<base_stochastic>(*this);
95 ar & m_original_problem;
96 ar &
const_cast<unsigned int &
>(m_trials);
105 const unsigned int m_trials;
106 mutable boost::normal_distribution<double> m_normal_dist;
107 mutable boost::random::uniform_real_distribution<double> m_uniform_dist;
108 mutable boost::hash<std::vector<double> > m_decision_vector_hash;
109 double m_param_first;
110 double m_param_second;
111 noise_type m_noise_type;
118 #endif // PAGMO_PROBLEM_NOISY_H
boost::shared_ptr< base > base_ptr
Alias for shared pointer to base problem.
std::vector< double > decision_vector
Decision vector type.
noise_type
Distribution type of the noise.
std::vector< double > fitness_vector
Fitness vector type.
std::vector< double > constraint_vector
Constraint vector type.
Base Stochastic Optimization Problem.