Optimization problem without constraints. More...
Classes | |
| class | roboptim::Problem< F, boost::mpl::vector<> > |
| class | roboptim::Problem< F, CLIST > |
| class | roboptim::ResultWithWarnings |
| Represents the solution of an optimization problem when errors occurred during the solving process. 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< T > |
| 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< F, C > |
| Solver for a specific problem class. More... | |
Functions | |
| std::ostream & | roboptim::Problem< F, boost::mpl::vector<> >::print (std::ostream &o) const |
| Display the problem on the specified output stream. | |
| std::ostream & | roboptim::Problem< F, CLIST >::print (std::ostream &o) const |
| Display the problem on the specified output stream. | |
| template<typename F> | |
| std::ostream & | roboptim::operator<< (std::ostream &o, const Problem< F, boost::mpl::vector<> > &pb) |
| Override operator<< to handle problem display. | |
| template<typename F, typename CLIST> | |
| std::ostream & | roboptim::operator<< (std::ostream &o, const Problem< F, CLIST > &pb) |
| Override operator<< to handle problem display. | |
| virtual std::ostream & | roboptim::StateParameter< F >::print (std::ostream &) const |
| Display the solver parameter on the specified output stream. | |
| virtual | roboptim::StateParameter< F >::~StateParameter () |
| Virtual destructor. | |
| roboptim::SolverState< P >::SolverState (const problem_t &problem) | |
| Instantiate a solver from a problem. | |
| virtual | roboptim::SolverState< P >::~SolverState () |
| const argument_t & | roboptim::SolverState< P >::x () const |
| Retrieve the current optimization parameters. | |
| argument_t & | roboptim::SolverState< P >::x () |
| const boost::optional< value_type > & | roboptim::SolverState< P >::cost () const |
| Retrieve the current cost. | |
| boost::optional< value_type > & | roboptim::SolverState< P >::cost () |
| const boost::optional< value_type > & | roboptim::SolverState< P >::constraintViolation () const |
| Retrieve the current constraint violation. | |
| boost::optional< value_type > & | roboptim::SolverState< P >::constraintViolation () |
| virtual std::ostream & | roboptim::SolverState< P >::print (std::ostream &) const |
| Display the solver state on the specified output stream. | |
| ROBOPTIM_DLLAPI | roboptim::Parameter::Parameter () |
| Default constructor. | |
| roboptim::Solver< F, C >::Solver (const problem_t &problem) | |
| Instantiate a solver from a problem. | |
| template<typename F_, typename C_> | |
| roboptim::Solver< F, C >::Solver (const Problem< F_, C_ > &problem) | |
| Instantiate a solver from a problem in a different problem class. | |
| virtual | roboptim::Solver< F, C >::~Solver () |
| const problem_t & | roboptim::Solver< F, C >::problem () const |
| Retrieve the problem. | |
| virtual void | roboptim::Solver< F, C >::setIterationCallback (callback_t) |
| Set the per-iteration callback. | |
| virtual std::ostream & | roboptim::Solver< F, C >::print (std::ostream &) const |
| Display the solver on the specified output stream. | |
Friends | |
| template<typename F_, typename CLIST_> | |
| class | roboptim::Problem< F, boost::mpl::vector<> >::Problem |
| template<typename F_, typename CLIST_> | |
| class | roboptim::Problem< F, CLIST >::Problem |
Constructors and destructors. | |
| roboptim::Problem< F, boost::mpl::vector<> >::Problem (const function_t &) | |
| roboptim::Problem< F, boost::mpl::vector<> >::Problem (const Problem< F, boost::mpl::vector<> > &) | |
| Copy constructor. | |
| template<typename F_> | |
| roboptim::Problem< F, boost::mpl::vector<> >::Problem (const Problem< F_, boost::mpl::vector<> > &) | |
| Copy constructor (convert from another class of problem). | |
| virtual | roboptim::Problem< F, boost::mpl::vector<> >::~Problem () |
| Virtual destructor. | |
Starting point (initial guess). | |
| startingPoint_t & | roboptim::Problem< F, boost::mpl::vector<> >::startingPoint () |
| Set the initial guess. | |
| const startingPoint_t & | roboptim::Problem< F, boost::mpl::vector<> >::startingPoint () const |
| Get the initial guess. | |
Constructors and destructors. | |
| roboptim::Problem< F, CLIST >::Problem (const function_t &cost) | |
| roboptim::Problem< F, CLIST >::Problem (const Problem< F, CLIST > &pb) | |
| Copy constructor. | |
| template<typename F_, typename CLIST_> | |
| roboptim::Problem< F, CLIST >::Problem (const Problem< F_, CLIST_ > &pb) | |
| Copy constructor (convert from another class of problem). | |
| virtual | roboptim::Problem< F, CLIST >::~Problem () |
| Virtual destructor. | |
Cost function. | |
| const function_t & | roboptim::Problem< F, CLIST >::function () const |
| Retrieve cost function. | |
| intervals_t & | roboptim::Problem< F, CLIST >::argumentBounds () |
| Retrieve arguments bounds. | |
| const intervals_t & | roboptim::Problem< F, CLIST >::argumentBounds () const |
| Retrieve arguments bounds. | |
| scaling_t & | roboptim::Problem< F, CLIST >::argumentScaling () |
| Retrieve arguments scaling. | |
| const scaling_t & | roboptim::Problem< F, CLIST >::argumentScaling () const |
| Retrieve arguments scaling. | |
| scales_t & | roboptim::Problem< F, CLIST >::argumentScales () ROBOPTIM_CORE_DEPRECATED |
| Retrieve arguments scaling (deprecated version). | |
| const scales_t & | roboptim::Problem< F, CLIST >::argumentScales () const ROBOPTIM_CORE_DEPRECATED |
| Retrieve arguments scaling (deprecated version). | |
| names_t & | roboptim::Problem< F, CLIST >::argumentNames () |
| Retrieve arguments names. | |
| const names_t & | roboptim::Problem< F, CLIST >::argumentNames () const |
| Retrieve arguments names. | |
Constraints. | |
| const constraints_t & | roboptim::Problem< F, CLIST >::constraints () const |
| Retrieve constraints. | |
| template<typename C> | |
| void | roboptim::Problem< F, CLIST >::addConstraint (boost::shared_ptr< C > constraint, interval_t interval, value_type scale=1.) |
| Add a constraint to the problem. | |
| template<typename C> | |
| void | roboptim::Problem< F, CLIST >::addConstraint (boost::shared_ptr< C > constraint, intervals_t intervals, scaling_t scaling) |
| Add a constraint to the problem. | |
| const intervalsVect_t & | roboptim::Problem< F, CLIST >::boundsVector () const |
| Retrieve constraints bounds vector. | |
| const scalingVect_t & | roboptim::Problem< F, CLIST >::scalingVector () const |
| Retrieve constraints scaling vector. | |
| const scalesVect_t & | roboptim::Problem< F, CLIST >::scalesVector () const ROBOPTIM_CORE_DEPRECATED |
| Retrieve constraints scaling vector (deprecated version). | |
Starting point (initial guess). | |
| startingPoint_t & | roboptim::Problem< F, CLIST >::startingPoint () |
| Set the initial guess. | |
| const startingPoint_t & | roboptim::Problem< F, CLIST >::startingPoint () const |
| Get the initial guess. | |
Parameters | |
| const parameters_t & | roboptim::SolverState< P >::parameters () const |
| parameters_t & | roboptim::SolverState< P >::parameters () |
| template<typename T> | |
| const T & | roboptim::SolverState< P >::getParameter (const std::string &key) const |
| Get a parameter. | |
| template<typename T> | |
| T & | roboptim::SolverState< P >::getParameter (const std::string &key) |
| Get a parameter. | |
Parameters | |
| const parameters_t & | roboptim::Solver< F, C >::parameters () const |
| parameters_t & | roboptim::Solver< F, C >::parameters () |
| template<typename T> | |
| const T & | roboptim::Solver< F, C >::getParameter (const std::string &key) const |
Plugin name | |
| const std::string & | roboptim::Solver< F, C >::pluginName () const |
| std::string & | roboptim::Solver< F, C >::pluginName () |
Optimization problem without constraints.
Optimization problem.
An optimization problem is defined as:

The goal of the optimization process is finding a point which minimizes the cost function
To use the class, one has to instantiate a problem with a reference to a cost function. method: a reference to a function and an interval is needed.
The cost function is immutable.
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 derivable function can be inserted in a problem which expects a derivable function.
| F | function type |
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 reference to a function and an interval is needed.
The cost function is immutable.
Constraints are stored as a Boost.Variant of smart pointers (i.e. more precisely using a boost::shared_ptr) representing all the different possibles constraint types.
It is recommended to add a constraint using the following syntax:
where C is the constraint type and MyFunction 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.
| F | function type |
| CLIST | type list satisfying MPL's sequence concept |
| typedef function_t::argument_t roboptim::Problem< F, CLIST >::argument_t |
Argument type.
| typedef function_t::argument_t roboptim::Problem< F, boost::mpl::vector<> >::argument_t |
Argument type.
| typedef P::function_t::argument_t roboptim::SolverState< P >::argument_t |
Import argument types from problem.
| typedef boost::function<void (const problem_t& problem, solverState_t& state)> roboptim::Solver< F, C >::callback_t |
Per-iteration callback type.
Callback parameters:
| typedef detail::shared_ptr_variant<constraintsList_t>::type roboptim::Problem< F, CLIST >::constraint_t |
Constraint's type.
Generate a Boost.Variant of shared pointers from the static constraints types list.
| typedef std::vector<constraint_t> roboptim::Problem< F, CLIST >::constraints_t |
Constraints are represented as a vector of constraints.
| typedef detail::list_converter<CLIST>::type roboptim::Problem< F, CLIST >::constraintsList_t |
Constraints types list.
CLIST is converted to a boost::mpl::vector to ensure a similar behavior for codes using different random access sequences (vector, list, etc.).
| typedef boost::mpl::vector roboptim::Problem< F, boost::mpl::vector<> >::constraintsList_t |
| typedef F roboptim::Problem< F, CLIST >::function_t |
| typedef F roboptim::Problem< F, boost::mpl::vector<> >::function_t |
| typedef P::function_t roboptim::SolverState< P >::function_t |
Import function type from problem.
| typedef function_t::interval_t roboptim::Problem< F, CLIST >::interval_t |
Interval type (e.g. for bounds).
| typedef function_t::interval_t roboptim::Problem< F, boost::mpl::vector<> >::interval_t |
| typedef function_t::intervals_t roboptim::Problem< F, CLIST >::intervals_t |
Intervals type.
| typedef function_t::intervals_t roboptim::Problem< F, boost::mpl::vector<> >::intervals_t |
| typedef std::vector<intervals_t> roboptim::Problem< F, CLIST >::intervalsVect_t |
Vector of interval vectors.
This type is used to take into account the fact that constraints can have output values in 
If 
| typedef function_t::names_t roboptim::Problem< F, CLIST >::names_t |
Vector of names (e.g. for arguments).
| typedef function_t::names_t roboptim::Problem< F, boost::mpl::vector<> >::names_t |
Vector of names (e.g. for arguments).
| typedef std::map<std::string, Parameter> roboptim::Solver< F, C >::parameters_t |
Map of parameters.
| typedef std::map<std::string, StateParameter<function_t> > roboptim::SolverState< P >::parameters_t |
Map of parameters.
| typedef boost::variant<value_type, vector_t, int, std::string, bool> roboptim::Parameter::parameterValues_t |
Allowed types for solver parameters:
| typedef Problem<F, C> roboptim::Solver< F, C >::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 P roboptim::SolverState< P >::problem_t |
Problem type.
| typedef scalingVect_t scalesVect_t roboptim::Problem< F, CLIST >::ROBOPTIM_CORE_DEPRECATED |
Vector of scaling vectors (deprecated typedef).
| typedef scaling_t scales_t roboptim::Problem< F, CLIST >::ROBOPTIM_CORE_DEPRECATED |
Scaling vector (deprecated typedef).
| typedef scaling_t scales_t roboptim::Problem< F, boost::mpl::vector<> >::ROBOPTIM_CORE_DEPRECATED |
Scaling vector (deprecated typedef).
| typedef std::vector<value_type> roboptim::Problem< F, CLIST >::scaling_t |
Scaling vector.
| typedef std::vector<value_type> roboptim::Problem< F, boost::mpl::vector<> >::scaling_t |
Scaling vector.
| typedef std::vector<scaling_t> roboptim::Problem< F, CLIST >::scalingVect_t |
Vector of scaling vectors.
This type is used to take into account the fact that constraints can have output values in 
If 
| typedef function_t::size_type roboptim::Problem< F, CLIST >::size_type |
Size type.
| typedef function_t::size_type roboptim::Problem< F, boost::mpl::vector<> >::size_type |
Size type.
| typedef SolverState<problem_t> roboptim::Solver< F, C >::solverState_t |
State of the solver.
| typedef boost::optional<argument_t> roboptim::Problem< F, CLIST >::startingPoint_t |
Optional vector defines a starting point.
| typedef boost::optional<argument_t> roboptim::Problem< F, boost::mpl::vector<> >::startingPoint_t |
Optional vector defines a starting point.
| typedef boost::variant<value_type, vector_t, int, std::string, bool> roboptim::StateParameter< F >::stateParameterValues_t |
Allowed types for parameters:
| typedef function_t::value_type roboptim::Problem< F, CLIST >::value_type |
Import function's value_type type.
| typedef function_t::value_type roboptim::Problem< F, boost::mpl::vector<> >::value_type |
| typedef P::value_type roboptim::SolverState< P >::value_type |
Import value type from problem.
| typedef F::value_type roboptim::StateParameter< F >::value_type |
| typedef Function::vector_t roboptim::Parameter::vector_t |
| typedef function_t::vector_t roboptim::Problem< F, CLIST >::vector_t |
Vector type.
| typedef function_t::vector_t roboptim::Problem< F, boost::mpl::vector<> >::vector_t |
Vector type.
| typedef F::vector_t roboptim::Solver< F, C >::vector_t |
Import vector type from cost function.
| typedef F::vector_t roboptim::StateParameter< F >::vector_t |
| void roboptim::Problem< F, CLIST >::addConstraint | ( | boost::shared_ptr< C > | constraint, |
| interval_t | interval, | ||
| value_type | scale = 1. ) |
Add a constraint to the problem.
Useful only when 
| constraint | the constraint that will be added |
| interval | interval in which the constraint is satisfied |
| scale | constraint scale |
| C | constraint type (has to be in CLIST) |
| std::runtime_error |
References ASSERT_CONSTRAINT_TYPE.
| void roboptim::Problem< F, CLIST >::addConstraint | ( | boost::shared_ptr< C > | constraint, |
| intervals_t | intervals, | ||
| scaling_t | scaling ) |
Add a constraint to the problem.
The constraint can be multidimensional.
| constraint | the constraint that will be added |
| intervals | interval vector in which the constraint is satisfied |
| scaling | constraint scaling |
| C | constraint type (has to be in CLIST) |
| std::runtime_error |
References ASSERT_CONSTRAINT_TYPE, function(), and ROBOPTIM_DEBUG_ONLY.
| Problem< F, CLIST >::intervals_t & roboptim::Problem< F, CLIST >::argumentBounds | ( | ) |
Retrieve arguments bounds.
Arguments bounds define in which interval each argument is valid.
Referenced by print().
| const Problem< F, CLIST >::intervals_t & roboptim::Problem< F, CLIST >::argumentBounds | ( | ) | const |
Retrieve arguments bounds.
Arguments bounds define in which interval each argument is valid.
| Problem< F, boost::mpl::vector<> >::intervals_t & roboptim::Problem< F, boost::mpl::vector<> >::argumentBounds | ( | ) |
Retrieve arguments bounds.
Arguments bounds define in which interval each argument is valid.
References argumentBounds(), and Problem.
Referenced by argumentBounds(), argumentBounds(), and print().
| const Problem< F, boost::mpl::vector<> >::intervals_t & roboptim::Problem< F, boost::mpl::vector<> >::argumentBounds | ( | ) | const |
Retrieve arguments bounds.
Arguments bounds define in which interval each argument is valid.
References argumentBounds(), and Problem.
| Problem< F, CLIST >::names_t & roboptim::Problem< F, CLIST >::argumentNames | ( | ) |
Retrieve arguments names.
Arguments names define a name for each argument. This is particularly useful when logging data.
Referenced by print().
| const Problem< F, CLIST >::names_t & roboptim::Problem< F, CLIST >::argumentNames | ( | ) | const |
Retrieve arguments names.
Arguments names define a name for each argument. This is particularly useful when logging data.
| Problem< F, boost::mpl::vector<> >::names_t & roboptim::Problem< F, boost::mpl::vector<> >::argumentNames | ( | ) |
Retrieve arguments names.
Arguments names define a name for each argument. This is particularly useful when logging data. Note: memory is not allocated by default since this is optional.
References argumentNames(), and Problem.
Referenced by argumentNames(), argumentNames(), and print().
| const Problem< F, boost::mpl::vector<> >::names_t & roboptim::Problem< F, boost::mpl::vector<> >::argumentNames | ( | ) | const |
Retrieve arguments names.
Arguments names define a name for each argument. This is particularly useful when logging data. Note: memory is not allocated by default since this is optional.
References argumentNames(), and Problem.
| const Problem< F, CLIST >::scales_t & roboptim::Problem< F, CLIST >::argumentScales | ( | ) | const |
Retrieve arguments scaling (deprecated version).
References argumentScaling().
| Problem< F, CLIST >::scales_t & roboptim::Problem< F, CLIST >::argumentScales | ( | ) |
Retrieve arguments scaling (deprecated version).
References argumentScaling().
| const Problem< F, boost::mpl::vector<> >::scales_t & roboptim::Problem< F, boost::mpl::vector<> >::argumentScales | ( | ) | const |
Retrieve arguments scaling (deprecated version).
References argumentScales(), argumentScaling(), and Problem.
| Problem< F, boost::mpl::vector<> >::scales_t & roboptim::Problem< F, boost::mpl::vector<> >::argumentScales | ( | ) |
Retrieve arguments scaling (deprecated version).
References argumentScales(), argumentScaling(), and Problem.
Referenced by argumentScales(), and argumentScales().
| Problem< F, CLIST >::scaling_t & roboptim::Problem< F, CLIST >::argumentScaling | ( | ) |
Retrieve arguments scaling.
Arguments scaling define which scale factor is applied for each argument.
Referenced by argumentScales(), argumentScales(), and print().
| const Problem< F, CLIST >::scaling_t & roboptim::Problem< F, CLIST >::argumentScaling | ( | ) | const |
Retrieve arguments scaling.
Arguments scaling define which scale factor is applied for each argument.
| Problem< F, boost::mpl::vector<> >::scaling_t & roboptim::Problem< F, boost::mpl::vector<> >::argumentScaling | ( | ) |
Retrieve arguments scaling.
Arguments scaling define which scale factor is applied for each argument.
References argumentScaling(), and Problem.
Referenced by argumentScales(), argumentScales(), argumentScaling(), argumentScaling(), and print().
| const Problem< F, boost::mpl::vector<> >::scaling_t & roboptim::Problem< F, boost::mpl::vector<> >::argumentScaling | ( | ) | const |
Retrieve arguments scaling.
Arguments scaling define which scale factor is applied for each argument.
References argumentScaling(), and Problem.
| const Problem< F, CLIST >::intervalsVect_t & roboptim::Problem< F, CLIST >::boundsVector | ( | ) | const |
Retrieve constraints bounds vector.
| const Problem< F, CLIST >::constraints_t & roboptim::Problem< F, CLIST >::constraints | ( | ) | const |
| boost::optional< typename SolverState< P >::value_type > & roboptim::SolverState< P >::constraintViolation | ( | ) |
References constraintViolation_.
| const boost::optional< typename SolverState< P >::value_type > & roboptim::SolverState< P >::constraintViolation | ( | ) | const |
Retrieve the current constraint violation.
References constraintViolation_.
| boost::optional< typename SolverState< P >::value_type > & roboptim::SolverState< P >::cost | ( | ) |
References cost_.
| const boost::optional< typename SolverState< P >::value_type > & roboptim::SolverState< P >::cost | ( | ) | const |
| const Problem< F, CLIST >::function_t & roboptim::Problem< F, CLIST >::function | ( | ) | const |
| const Problem< F, boost::mpl::vector<> >::function_t & roboptim::Problem< F, boost::mpl::vector<> >::function | ( | ) | const |
Retrieve cost function.
References function(), and Problem.
Referenced by function(), and print().
| const T & roboptim::Solver< F, C >::getParameter | ( | const std::string & | key | ) | const |
References parameters_.
| T & roboptim::SolverState< P >::getParameter | ( | const std::string & | key | ) |
Get a parameter.
| T | parameter type. |
| key | parameter key. |
| std::out_of_range |
References parameters_.
| const T & roboptim::SolverState< P >::getParameter | ( | const std::string & | key | ) | const |
Get a parameter.
| T | parameter type. |
| key | parameter key. |
| std::out_of_range |
References parameters_.
| std::ostream & roboptim::operator<< | ( | std::ostream & | o, |
| const Problem< F, boost::mpl::vector<> > & | pb ) |
Override operator<< to handle problem display.
| o | output stream used for display |
| pb | problem to be displayed |
| std::ostream & roboptim::operator<< | ( | std::ostream & | o, |
| const Problem< F, CLIST > & | pb ) |
Override operator<< to handle problem display.
| o | output stream used for display |
| pb | problem to be displayed |
References roboptim::Problem< F, CLIST >::print().
| roboptim::Parameter::Parameter | ( | ) |
Default constructor.
References description, and value.
| Solver< F, C >::parameters_t & roboptim::Solver< F, C >::parameters | ( | ) |
References parameters_.
| const Solver< F, C >::parameters_t & roboptim::Solver< F, C >::parameters | ( | ) | const |
References parameters_.
| SolverState< P >::parameters_t & roboptim::SolverState< P >::parameters | ( | ) |
References parameters_.
| const SolverState< P >::parameters_t & roboptim::SolverState< P >::parameters | ( | ) | const |
References parameters_.
| std::string & roboptim::Solver< F, C >::pluginName | ( | ) |
References plugin_name_.
| const std::string & roboptim::Solver< F, C >::pluginName | ( | ) | const |
References plugin_name_.
| std::ostream & roboptim::Problem< F, CLIST >::print | ( | std::ostream & | o | ) | const |
Display the problem on the specified output stream.
| o | output stream used for display |
References argumentBounds(), argumentNames(), argumentScaling(), constraints(), roboptim::decindent(), roboptim::fg::fail(), function(), roboptim::iendl(), roboptim::incendl(), roboptim::fg::ok(), roboptim::fg::reset(), and roboptim::fg::warn().
Referenced by roboptim::operator<<().
| std::ostream & roboptim::Problem< F, boost::mpl::vector<> >::print | ( | std::ostream & | o | ) | const |
Display the problem on the specified output stream.
| o | output stream used for display |
References argumentBounds(), argumentNames(), argumentScaling(), roboptim::decindent(), roboptim::fg::fail(), function(), roboptim::iendl(), roboptim::incendl(), roboptim::fg::ok(), Problem, roboptim::fg::reset(), and roboptim::fg::warn().
|
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(), parameters_, plugin_name_, problem_, roboptim::GenericSolver::result_, and roboptim::GenericSolver::SOLVER_NO_SOLUTION.
|
virtual |
Display the solver state on the specified output stream.
| o | output stream used for display |
References constraintViolation_, cost_, roboptim::decindent(), roboptim::iendl(), roboptim::incindent(), parameters_, and x_.
Referenced by roboptim::operator<<().
|
virtual |
Display the solver parameter on the specified output stream.
| o | output stream used for display |
References description, and value.
Referenced by roboptim::operator<<().
|
explicit |

| cost | cost function. |
|
explicit |
|
explicit |
Copy constructor (convert from another class of problem).
| pb | problem to copy and convert. |
References Problem.
|
explicit |

References Problem.
|
explicit |
Copy constructor.
References Problem.
|
explicit |
Copy constructor (convert from another class of problem).
References Problem.
| const Solver< F, C >::problem_t & roboptim::Solver< F, C >::problem | ( | ) | const |
| const Problem< F, CLIST >::scalesVect_t & roboptim::Problem< F, CLIST >::scalesVector | ( | ) | const |
Retrieve constraints scaling vector (deprecated version).
References scalingVector().
| const Problem< F, CLIST >::scalingVect_t & roboptim::Problem< F, CLIST >::scalingVector | ( | ) | const |
Retrieve constraints scaling vector.
Referenced by scalesVector().
|
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< F >, roboptim::GenericDummySolverLastState< DifferentiableSparseFunction >, and roboptim::GenericDummySolverLastState< Function >.
|
explicit |
Instantiate a solver from a problem in a different problem class.
This constructor is called when the problem cost function or/and constraints type does not match solver's types.
This is only possible if the problem provides too much information compared to the solver requirements: if the problem contains twice derivable function and the solver requires only derivable function, it will work however the opposite will fail. Problem compatibility is known at compile-time, so the failure will be at compile-time.
| F_ | original cost function type |
| C_ | original constraints functions type |
| problem | problem that should be solved |
References roboptim::GenericSolver::GenericSolver(), plugin_name_, and problem_.
|
explicit |
Instantiate a solver from a problem.
| problem | problem that should be solved |
References roboptim::GenericSolver::GenericSolver(), plugin_name_, and problem_.
|
explicit |
Instantiate a solver from a problem.
| problem | problem that should be solved |
References constraintViolation_, cost_, and x_.
| Problem< F, CLIST >::startingPoint_t & roboptim::Problem< F, CLIST >::startingPoint | ( | ) |
Set the initial guess.
| std::runtime_error |
| const Problem< F, CLIST >::startingPoint_t & roboptim::Problem< F, CLIST >::startingPoint | ( | ) | const |
Get the initial guess.
| std::runtime_error |
| Problem< F, boost::mpl::vector<> >::startingPoint_t & roboptim::Problem< F, boost::mpl::vector<> >::startingPoint | ( | ) |
Set the initial guess.
| std::runtime_error |
References Problem, and startingPoint().
Referenced by startingPoint(), and startingPoint().
| const Problem< F, boost::mpl::vector<> >::startingPoint_t & roboptim::Problem< F, boost::mpl::vector<> >::startingPoint | ( | ) | const |
Get the initial guess.
| std::runtime_error |
References Problem, and startingPoint().
| SolverState< P >::argument_t & roboptim::SolverState< P >::x | ( | ) |
References x_.
| const SolverState< P >::argument_t & roboptim::SolverState< P >::x | ( | ) | const |
Retrieve the current optimization parameters.
Note: we do not use (const_)argument_ref here since this would return a reference to a local temporary variable when dealing with Eigen::Ref: const Eigen::Ref<const argument_t>&
References x_.
|
virtual |
Virtual destructor.
One may want to inherit from Problem to provide extra information to a solver plugin.
|
virtual |
Virtual destructor.
One may want to inherit from Problem to provide extra information to a solver plugin.
References Problem, and ~Problem().
Referenced by ~Problem().
|
virtual |
|
virtual |
|
inlinevirtual |
Virtual destructor.
|
protected |
Current constraint violation.
The solver may not provide the constraint violation at each iteration, hence the use of boost::optional.
Referenced by constraintViolation(), constraintViolation(), print(), and SolverState().
|
protected |
Current cost.
The solver may not provide the cost at each iteration, hence the use of boost::optional.
Referenced by cost(), cost(), print(), and SolverState().
| std::string roboptim::Parameter::description |
Parameter description (for humans).
Referenced by roboptim::operator<<(), and Parameter().
| std::string roboptim::StateParameter< F >::description |
|
staticprotected |
Pointer to function logger (see log4cxx documentation).
|
protected |
Solver parameters (run-time configuration).
Referenced by getParameter(), parameters(), parameters(), and print().
|
protected |
Solver state extra parameters (solver-specific parameters etc.).
Referenced by getParameter(), getParameter(), parameters(), parameters(), and print().
|
protected |
Plugin name.
Referenced by pluginName(), pluginName(), print(), Solver(), and Solver().
|
protected |
| parameterValues_t roboptim::Parameter::value |
Value.
Referenced by roboptim::operator<<(), and Parameter().
| stateParameterValues_t roboptim::StateParameter< F >::value |
Value.
Referenced by print().
|
protected |
Current optimization parameters.
Referenced by print(), SolverState(), x(), and x().
|
friend |
|
friend |
References Problem.
Referenced by argumentBounds(), argumentBounds(), argumentNames(), argumentNames(), argumentScales(), argumentScales(), argumentScaling(), argumentScaling(), function(), print(), Problem(), Problem(), Problem(), Problem, startingPoint(), startingPoint(), and ~Problem().