Abstract interface satisfied by all solvers. More...
#include <roboptim/core/generic-solver.hh>

Public Types | |
| enum | solutions { SOLVER_NO_SOLUTION, SOLVER_VALUE, SOLVER_VALUE_WARNINGS, SOLVER_ERROR } |
| Define the kind of solution which has been found. More... | |
| typedef Function::vector_t | vector_t |
| Vector type imported from function class. | |
| typedef boost::variant < NoSolution, Result, ResultWithWarnings, SolverError > | result_t |
| Result type. | |
Public Member Functions | |
| void | reset () throw () |
| Force to restart the optimization. | |
| virtual void | solve ()=0 throw () |
| Solve the problem. | |
| const result_t & | minimum () throw () |
| Returns the function minimum This solves the problem automatically, if it has not yet been solved. | |
| virtual std::ostream & | print (std::ostream &) const throw () |
| Display the solver on the specified output stream. | |
| solutions | minimumType () throw () |
| Determine real minimum type. | |
| template<typename T > | |
| const T & | getMinimum () throw (boost::bad_get) |
| Get real result. | |
Constructors and destructors. | |
| GenericSolver () throw () | |
| GenericSolver (const GenericSolver &) throw () | |
| virtual | ~GenericSolver () throw () |
Protected Attributes | |
| result_t | result_ |
| /brief Optimization result. | |
Static Protected Attributes | |
| static log4cxx::LoggerPtr | logger |
| Pointer to function logger (see log4cxx documentation). | |
Abstract interface satisfied by all solvers.
| typedef boost::variant<NoSolution, Result, ResultWithWarnings, SolverError> roboptim::GenericSolver::result_t |
Result type.
Uses a Boost.Variant to represent the different possible results:
Vector type imported from function class.
| roboptim::GenericSolver::GenericSolver | ( | ) | throw () [explicit] |
| roboptim::GenericSolver::GenericSolver | ( | const GenericSolver & | solver | ) | throw () [explicit] |
| roboptim::GenericSolver::~GenericSolver | ( | ) | throw () [virtual] |
| const T& roboptim::GenericSolver::getMinimum | ( | ) | throw (boost::bad_get) [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.
| const GenericSolver::result_t & roboptim::GenericSolver::minimum | ( | ) | throw () |
Returns the function minimum This solves the problem automatically, if it has not yet been solved.
References result_, solve(), and SOLVER_NO_SOLUTION.
| solutions roboptim::GenericSolver::minimumType | ( | ) | throw () [inline] |
Determine real minimum type.
| std::ostream & roboptim::GenericSolver::print | ( | std::ostream & | o | ) | const throw () [virtual] |
Display the solver on the specified output stream.
| o | output stream used for display |
Reimplemented in roboptim::Solver< F, C >, and roboptim::Solver< Function, boost::mpl::vector< Function > >.
Referenced by roboptim::operator<<().
| void roboptim::GenericSolver::reset | ( | ) | throw () |
| virtual void roboptim::GenericSolver::solve | ( | ) | throw () [pure virtual] |
Solve the problem.
Called automatically by getMinimum if required.
Implemented in roboptim::DummySolverLastState, and roboptim::DummySolver.
Referenced by minimum().
log4cxx::LoggerPtr roboptim::GenericSolver::logger [static, protected] |
Pointer to function logger (see log4cxx documentation).
Reimplemented in roboptim::Solver< F, C >, and roboptim::Solver< Function, boost::mpl::vector< Function > >.
Referenced by reset().
result_t roboptim::GenericSolver::result_ [protected] |
/brief Optimization result.
Referenced by minimum(), reset(), roboptim::DummySolver::solve(), and roboptim::DummySolverLastState::solve().