All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
roboptim::IpoptSolverCommon< T > Class Template Reference

Ipopt common solver. More...

#include <roboptim/core/plugin/ipopt/ipopt-common.hh>

Inheritance diagram for roboptim::IpoptSolverCommon< T >:

Public Types

enum  ConstraintType {
  LINEAR = 0,
  NONLINEAR = 1
}
 Categorize constraints. More...
 
typedef T parent_t
 Parent type. More...
 
typedef T::callback_t callback_t
 
typedef T::problem_t problem_t
 
typedef problem_t::function_t function_t
 
typedef problem_t::argument_t argument_t
 

Public Member Functions

 IpoptSolverCommon (const problem_t &pb, Ipopt::SmartPtr< Ipopt::TNLP > tnlp)
 Instantiate the solver from a problem. More...
 
virtual ~IpoptSolverCommon ()
 
void solve ()
 Solve the problem. More...
 
virtual Ipopt::SmartPtr
< Ipopt::IpoptApplication > 
getIpoptApplication ()
 Get Ipopt Application object for Ipopt specific tuning. More...
 
virtual void setIterationCallback (callback_t callback)
 
const callback_tcallback () const
 
const argument_tstartingPoint () const
 
bool userScaling () const
 Whether user scaling is used. More...
 

Detailed Description

template<typename T>
class roboptim::IpoptSolverCommon< T >

Ipopt common solver.

This solver shares common piece of code of the two solvers.

Member Typedef Documentation

template<typename T>
typedef problem_t::argument_t roboptim::IpoptSolverCommon< T >::argument_t
template<typename T>
typedef T::callback_t roboptim::IpoptSolverCommon< T >::callback_t
template<typename T>
typedef problem_t::function_t roboptim::IpoptSolverCommon< T >::function_t
template<typename T>
typedef T roboptim::IpoptSolverCommon< T >::parent_t

Parent type.

template<typename T>
typedef T::problem_t roboptim::IpoptSolverCommon< T >::problem_t

Member Enumeration Documentation

Categorize constraints.

Used with the which method of the Boost.Variant, it allows to check for a constraint's real type.

Warning
Make sure to keep enum values in the same order than the MPL vector used to specify CLIST.
Enumerator
LINEAR 

Constraint is a linear function.

NONLINEAR 

Constraint is a differentiable or a twice differentiable function depending on the solve.

Constructor & Destructor Documentation

template<typename T >
roboptim::IpoptSolverCommon< T >::IpoptSolverCommon ( const problem_t pb,
Ipopt::SmartPtr< Ipopt::TNLP >  tnlp 
)
explicit

Instantiate the solver from a problem.

Parameters
pbproblem that will be solved.
tnlppointer to Ipopt solver.

IPOPT_VERSION_MAJOR

template<typename T >
roboptim::IpoptSolverCommon< T >::~IpoptSolverCommon ( )
virtual

Member Function Documentation

template<typename T>
const callback_t& roboptim::IpoptSolverCommon< T >::callback ( ) const
inline
template<typename T >
Ipopt::SmartPtr< Ipopt::IpoptApplication > roboptim::IpoptSolverCommon< T >::getIpoptApplication ( )
virtual

Get Ipopt Application object for Ipopt specific tuning.

Consult Ipopt documentation for information regarding IpoptApplication class.

template<typename T>
virtual void roboptim::IpoptSolverCommon< T >::setIterationCallback ( callback_t  callback)
inlinevirtual
template<typename T >
void roboptim::IpoptSolverCommon< T >::solve ( )
template<typename T>
const argument_t& roboptim::IpoptSolverCommon< T >::startingPoint ( ) const
inline
template<typename T>
bool roboptim::IpoptSolverCommon< T >::userScaling ( ) const
inline

Whether user scaling is used.