Solver for a specific problem class. More...
#include <roboptim/core/solver.hh>
Public Types | |
| typedef Problem< T > | problem_t |
| Solver problem type. More... | |
| typedef GenericFunction< T > ::vector_t | vector_t |
| Import vector type from cost function. More... | |
| typedef std::map< std::string, Parameter > | parameters_t |
| Map of parameters. More... | |
| typedef SolverState< problem_t > | solverState_t |
| State of the solver. More... | |
| typedef boost::function< void(const problem_t &problem, solverState_t &state)> | callback_t |
| Per-iteration callback type. More... | |
Public Types inherited from roboptim::GenericSolver | |
| enum | solutions { SOLVER_NO_SOLUTION, SOLVER_VALUE, SOLVER_ERROR, SOLVER_VALUE_WARNINGS } |
| Define the kind of solution which has been found. More... | |
Public Member Functions | |
| Solver (const problem_t &problem) | |
| Instantiate a solver from a problem. More... | |
| virtual | ~Solver () |
| const problem_t & | problem () const |
| Retrieve the problem. More... | |
| virtual void | setIterationCallback (callback_t) |
| Set the per-iteration callback. More... | |
| virtual std::ostream & | print (std::ostream &) const |
| Display the solver on the specified output stream. More... | |
Parameters | |
| const parameters_t & | parameters () const |
| parameters_t & | parameters () |
| template<typename U > | |
| const U & | getParameter (const std::string &key) const |
Plugin name | |
| const std::string & | pluginName () const |
| std::string & | pluginName () |
Public Member Functions inherited from roboptim::GenericSolver | |
| void | reset () |
| Force to restart the optimization. More... | |
| virtual void | solve ()=0 |
| Solve the problem. More... | |
| const result_t & | minimum () |
| Returns the function minimum. More... | |
| solutions | minimumType () |
| Determine real minimum type. More... | |
| template<typename T > | |
| const T & | getMinimum () |
| Get real result. More... | |
| GenericSolver () | |
| GenericSolver (const GenericSolver &) | |
| virtual | ~GenericSolver () |
Protected Attributes | |
| const problem_t | problem_ |
| Problem that will be solved. More... | |
| parameters_t | parameters_ |
| Solver parameters (run-time configuration). More... | |
| std::string | plugin_name_ |
| Plugin name. More... | |
Protected Attributes inherited from roboptim::GenericSolver | |
| result_t | result_ |
| Optimization result. More... | |
Additional Inherited Members | |
Public Attributes inherited from roboptim::GenericSolver | |
| ROBOPTIM_ALLOW_DEPRECATED_ON typedef boost::variant < NoSolution, Result, SolverError, ResultWithWarnings > | result_t |
| Result type. More... | |
Solver for a specific problem class.
This class is parametrized by two types: the cost function type and the constraints type.
Solver classes are immutable, the problem can not be changed after the class instantiation.
| T | matrix type |
| typedef boost::function<void (const problem_t& problem, solverState_t& state)> roboptim::Solver< T >::callback_t |
Per-iteration callback type.
Callback parameters:
| typedef std::map<std::string, Parameter> roboptim::Solver< T >::parameters_t |
Map of parameters.
| typedef Problem<T> roboptim::Solver< T >::problem_t |
Solver problem type.
The solver can solve problems of this type. If another kind of problem is given, a conversion will be required.
| typedef SolverState<problem_t> roboptim::Solver< T >::solverState_t |
State of the solver.
| typedef GenericFunction<T>::vector_t roboptim::Solver< T >::vector_t |
Import vector type from cost function.
|
explicit |
Instantiate a solver from a problem.
| problem | problem that should be solved |
|
virtual |
| const U & roboptim::Solver< T >::getParameter | ( | const std::string & | key | ) | const |
| const Solver< T >::parameters_t & roboptim::Solver< T >::parameters | ( | ) | const |
| Solver< T >::parameters_t & roboptim::Solver< T >::parameters | ( | ) |
| const std::string & roboptim::Solver< T >::pluginName | ( | ) | const |
| std::string & roboptim::Solver< T >::pluginName | ( | ) |
|
virtual |
Display the solver on the specified output stream.
| o | output stream used for display |
Reimplemented from roboptim::GenericSolver.
References roboptim::decindent(), roboptim::iendl(), roboptim::incindent(), and result_.
| const Solver< T >::problem_t & roboptim::Solver< T >::problem | ( | ) | const |
Retrieve the problem.
|
inlinevirtual |
Set the per-iteration callback.
The per-iteration callback is a callback called each time one iteration of the optimization process is finished.
Not all the solvers support such a callback so this method may throw a std::runtime_error to let you know this feature is unsupported.
| std::runtime_error |
Reimplemented in roboptim::GenericDummySolverLastState< T >.
|
protected |
Solver parameters (run-time configuration).
Referenced by roboptim::GenericDummySolver< T >::GenericDummySolver().
|
protected |
Plugin name.
|
protected |
Problem that will be solved.