libcmaes 0.10.2
A C++11 library for stochastic optimization with CMA-ES
Loading...
Searching...
No Matches
contour.h
1
22#ifndef CONTOUR_H
23#define CONTOUR_H
24
25#include <vector>
26
27namespace libcmaes
28{
32 class fcross
33 {
34 public:
35 fcross() {}
36 fcross(const double &fvalue,
37 const int &nevals, const dVec &x)
38 :_fvalue(fvalue),_nevals(nevals),_x(x)
39 {};
40 ~fcross() {};
41
42 double _fvalue = 0.0;
43 int _nevals = 0.0;
44 dVec _x;
45 };
46
50 class contour
51 {
52 public:
53 contour() {}
54 ~contour() {}
55
61 void add_point(const double &x, const double &y)
62 {
63 _points.push_back(std::pair<double,double>(x,y));
64 }
65
66 void add_point(const std::vector<std::pair<double,double>>::iterator vit,
67 const double &x, const double &y)
68 {
69 _points.insert(vit,std::pair<double,double>(x,y));
70 }
71
72 std::ostream& print(std::ostream &out) const
73 {
74 out << "contour points: [";
75 for (size_t i=0;i<_points.size();i++)
76 {
77 out << "[" << _points.at(i).first << "," << _points.at(i).second << "]";
78 if (i!=_points.size()-1)
79 out << ",";
80 }
81 out << "]\n";
82 return out;
83 }
84
85 std::vector<std::pair<double,double>> _points;
86 };
87
88 std::ostream& operator<<(std::ostream &out, const contour &c)
89 {
90 c.print(out);
91 return out;
92 }
93
94}
95
96#endif
an optimizer main class.
Definition esoptimizer.h:72
function contour as a set of points and values.
Definition contour.h:51
void add_point(const double &x, const double &y)
add a contour point.
Definition contour.h:61
function crossing as point.
Definition contour.h:33
double _fvalue
Definition contour.h:42
dVec _x
Definition contour.h:44
int _nevals
Definition contour.h:43
linear scaling of the parameter space to achieve similar sensitivity across all components.
Definition acovarianceupdate.h:30