Optimization problem. More...
Classes | |
| class | roboptim::Problem< T > |
| class | roboptim::ResultWithWarnings |
| Warnings have been merged to Result to simplify the API. More... | |
| class | roboptim::Result |
| Represents the solution of an optimization problem. More... | |
| class | roboptim::SolverError |
| Base exception class for solving errors. More... | |
| class | roboptim::SolverFactory< S > |
| Define a solver factory that instanciate the plug-ins. More... | |
| struct | roboptim::StateParameter< F > |
| Solver state parameters type. More... | |
| class | roboptim::SolverState< P > |
| State of the solver. More... | |
| class | roboptim::SolverWarning |
| Exception used for non-critical errors during optimization. More... | |
| struct | roboptim::Parameter |
| Solver parameter type. More... | |
| class | roboptim::Solver< T > |
| Solver for a specific problem class. More... | |
Functions | |
| template<typename F > | |
| std::ostream & | roboptim::operator<< (std::ostream &o, const StateParameter< F > ¶meter) |
| Override operator<< to display ``parameters'' objects. More... | |
| template<typename P > | |
| std::ostream & | roboptim::operator<< (std::ostream &o, const SolverState< P > &state) |
| Override operator<< to display ``parameters'' objects. More... | |
| ROBOPTIM_CORE_DLLAPI std::ostream & | roboptim::operator<< (std::ostream &o, const SolverWarning &w) |
| Override operator<< to handle warning display. More... | |
| ROBOPTIM_CORE_DLLAPI std::ostream & | roboptim::operator<< (std::ostream &o, const Parameter ¶meter) |
| Override operator<< to display ``parameters'' objects. More... | |
Optimization problem.
An optimization problem is defined as:
The goal of the optimization process is finding a point which minimizes the cost function and which respects the constraints (i.e. the result of some functions is inside of specific interval).
To use the class, one has to instantiate a problem with a reference to a cost function. Then, constraints can be added through the addConstraint method: a shared pointer to a function and an interval is needed.
The cost function is immutable.
Constraints are stored in a vector of smart pointers to function objects.
To add a constraint, use the following syntax:
where MyFunction is the function type.
Unlike other classes which just copy functions, pointers are used here in order to allow sub-classes of constraints to be inserted in the problem. For instance, a twice-differentiable function can be inserted in a problem which expects a differentiable function.
| T | matrix type |
| std::ostream & roboptim::operator<< | ( | std::ostream & | o, |
| const SolverWarning & | w | ||
| ) |
Override operator<< to handle warning display.
| o | output stream used for display |
| w | warning to be displayed |
References roboptim::SolverWarning::print().
| std::ostream & roboptim::operator<< | ( | std::ostream & | o, |
| const Parameter & | parameter | ||
| ) |
Override operator<< to display ``parameters'' objects.
| o | output stream used for display |
| parameter | parameter |
References roboptim::Parameter::description, and roboptim::Parameter::value.
| std::ostream & roboptim::operator<< | ( | std::ostream & | o, |
| const StateParameter< F > & | parameter | ||
| ) |
Override operator<< to display ``parameters'' objects.
| o | output stream used for display |
| parameter | parameter to display |
| F | function type. |
| std::ostream & roboptim::operator<< | ( | std::ostream & | o, |
| const SolverState< P > & | state | ||
| ) |
Override operator<< to display ``parameters'' objects.
| o | output stream used for display |
| state | solver state to display |
| P | problem type. |