21#ifndef mia_core_minimizer_hh
22#define mia_core_minimizer_hh
52 typedef std::shared_ptr<CMinimizer>
Pointer;
93 double f(
size_t n,
const double *x);
104 void df(
size_t n,
const double *x,
double *g);
113 double fdf(
size_t n,
const double *x,
double *g);
122 double f(
const std::vector<double>& x);
131 void df(
const std::vector<double>& x, std::vector<double>& g);
140 double fdf(
const std::vector<double>& x, std::vector<double>& g);
176 virtual size_t do_size()
const = 0;
214 virtual void do_set_problem();
Base class for all optimization problems that can be run by CMinimizer.
double fdf(size_t n, const double *x, double *g)
double fdf(const CDoubleVector &x, CDoubleVector &g)
void df(size_t n, const double *x, double *g)
void df(const CDoubleVector &x, CDoubleVector &g)
double f(const CDoubleVector &x)
double f(size_t n, const double *x)
void df(const std::vector< double > &x, std::vector< double > &g)
double fdf(const std::vector< double > &x, std::vector< double > &g)
double f(const std::vector< double > &x)
A class for generalized minimization problems.
std::shared_ptr< Problem > PProblem
pointer type for the optimization problem
CMinimizer plugin_type
plug-in searchpath typedef helper
static const char *const data_descr
plug-in searchpath helper
CMinimizer plugin_data
plug-in searchpath typedef helper
static const char *const type_descr
plug-in searchpath helper
EMinimizerResult
enum to describe whether optimization succeeded
void set_problem(PProblem x)
Problem * get_problem_pointer()
std::shared_ptr< CMinimizer > Pointer
Pointer type of this minimizer.
int run(CDoubleVector &x)
The base class for all plug-in created object.
This class holds a set of properties.
A wrapper around the c-array to provide an STL like interface for iterators.
This is tha base of all plugins that create "things", like filters, cost functions time step operator...
the singleton that a plug-in handler really is
static const T & instance()
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport.
#define NS_MIA_END
conveniance define to end the mia namespace
CMinimizer::Pointer PMinimizer
Pointer type for the CMinimizer class.
PMinimizer produce_minimizer(const std::string &descr)
TFactory< CMinimizer > CMinimizerPlugin
Base class for the CMinimizer creator plugins.
THandlerSingleton< TFactoryPluginHandler< CMinimizerPlugin > > CMinimizerPluginHandler
The minimizer plugin handler.