OpenANN  1.1.0
An open source library for artificial neural networks.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Optimizer.h
Go to the documentation of this file.
1 #ifndef OPENANN_OPTIMIZATION_OPTIMIZER_H_
2 #define OPENANN_OPTIMIZATION_OPTIMIZER_H_
3 
4 #include <Eigen/Core>
5 #include <string>
6 
7 namespace OpenANN
8 {
9 
10 class Optimizable;
11 class StoppingCriteria;
12 
18 class Optimizer
19 {
20 public:
21  virtual ~Optimizer() {}
26  virtual void setOptimizable(Optimizable& optimizable) = 0;
31  virtual void setStopCriteria(const StoppingCriteria& sc) = 0;
35  virtual void optimize() = 0;
39  virtual bool step() = 0;
44  virtual Eigen::VectorXd result() = 0;
49  virtual std::string name() = 0;
50 };
51 
52 } // namespace OpenANN
53 
54 #endif // OPENANN_OPTIMIZATION_OPTIMIZER_H_