Abstract interface satisfied by all solvers. More...
#include <roboptim/core/generic-solver.hh>
Public Types | |
| 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 | |
| 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... | |
| virtual std::ostream & | print (std::ostream &) const |
| Display the solver on the specified output stream. More... | |
| solutions | minimumType () |
| Determine real minimum type. More... | |
| template<typename T > | |
| const T & | getMinimum () |
| Get real result. More... | |
Constructors and destructors. | |
| GenericSolver () | |
| GenericSolver (const GenericSolver &) | |
| virtual | ~GenericSolver () |
Public Attributes | |
| ROBOPTIM_ALLOW_DEPRECATED_ON typedef boost::variant < NoSolution, Result, SolverError, ResultWithWarnings > | result_t |
| Result type. More... | |
Protected Attributes | |
| result_t | result_ |
| Optimization result. More... | |
Abstract interface satisfied by all solvers.
|
explicit |
|
explicit |
|
virtual |
|
inline |
Get real result.
Optimization results is wrapped in a Boost.Variant class, this method has to be used to retrieve the real result type.
| boost::bad_get | if a wrong type is used. |
| const GenericSolver::result_t & roboptim::GenericSolver::minimum | ( | ) |
Returns the function minimum.
This solves the problem automatically, if it has not yet been solved.
References result_, solve(), and SOLVER_NO_SOLUTION.
|
inline |
Determine real minimum type.
|
virtual |
Display the solver on the specified output stream.
| o | output stream used for display |
Reimplemented in roboptim::Solver< T >, and roboptim::Solver< EigenMatrixDense >.
Referenced by roboptim::operator<<().
| void roboptim::GenericSolver::reset | ( | ) |
Force to restart the optimization.
Reset the internal mechanism to force the solution to be re-computed next time getMinimum() is called.
References result_.
|
pure virtual |
Solve the problem.
Called automatically by getMinimum() if required.
Implemented in roboptim::GenericDummySolverLastState< T >, roboptim::GenericDummySolver< T >, and roboptim::DummySolverTd.
Referenced by minimum().
|
protected |
Optimization result.
Referenced by minimum(), reset(), and roboptim::DummySolverTd::solve().
| ROBOPTIM_ALLOW_DEPRECATED_ON typedef boost::variant<NoSolution, Result, SolverError, ResultWithWarnings> roboptim::GenericSolver::result_t |
Result type.
Uses a Boost.Variant to represent the different possible results: