OpenANN
1.1.0
An open source library for artificial neural networks.
Main Page
Classes
Files
List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
OpenANN
optimization
IPOPCMAES.h
Go to the documentation of this file.
1
#ifndef OPENANN_OPTIMIZATION_IPOPCMAES_H_
2
#define OPENANN_OPTIMIZATION_IPOPCMAES_H_
3
4
#include <
OpenANN/io/Logger.h
>
5
#include <
OpenANN/optimization/StoppingCriteria.h
>
6
#include <
OpenANN/optimization/Optimizer.h
>
7
#include <Eigen/Core>
8
9
template
<
typename
T>
class
CMAES
;
10
template
<
typename
T>
class
Parameters
;
11
12
namespace
OpenANN
13
{
14
43
class
IPOPCMAES
:
public
Optimizer
44
{
45
Logger
logger;
46
StoppingCriteria
stop;
47
bool
maxFunEvalsActive;
48
Optimizable
* opt;
// do not delete
49
CMAES<double>
* cmaes;
50
Parameters<double>
* parameters;
51
52
int
currentIndividual;
53
double
* initialX;
54
double
* initialStdDev;
55
double
*
const
* population;
56
double
* fitnessValues;
57
int
restarts;
58
int
evaluations;
59
int
evaluationsAfterRestart;
60
bool
stopped;
61
62
Eigen::VectorXd optimum;
63
double
optimumValue;
64
65
double
sigma0;
66
67
public
:
71
IPOPCMAES
();
72
virtual
~IPOPCMAES
();
73
virtual
void
setOptimizable
(
Optimizable
& opt);
74
virtual
void
setStopCriteria
(
const
StoppingCriteria
& stop);
79
bool
restart
();
80
virtual
void
optimize
();
81
virtual
bool
step
();
86
Eigen::VectorXd
getNext
();
91
void
setError
(
double
fitness);
96
bool
terminated
();
97
virtual
Eigen::VectorXd
result
();
98
virtual
std::string
name
();
103
void
setSigma0
(
double
sigma0);
104
};
105
106
}
// namespace OpenANN
107
108
#endif // OPENANN_OPTIMIZATION_IPOPCMAES_H_
Generated on Wed Jul 9 2014 08:57:52 for OpenANN by
1.8.4