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-common.hh>

Public Types

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

Public Member Functions

 IpoptSolverCommon (const problem_t &pb, Ipopt::SmartPtr< Ipopt::TNLP > tnlp) throw ()
 Instantiate the solver from a problem.
virtual ~IpoptSolverCommon () throw ()
void solve () throw ()
 Solve the problem.
virtual Ipopt::SmartPtr
< Ipopt::IpoptApplication > 
getIpoptApplication () throw ()
 Get Ipopt Application object for Ipopt specific tuning.
const boost::shared_ptr
< UserIntermediateCallback > & 
userIntermediateCallback () const
 Retrieve user intermeditate callback.
boost::shared_ptr
< UserIntermediateCallback > & 
userIntermediateCallback ()
 Retrieve user intermeditate callback.

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 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 
) throw ()
explicit

Instantiate the solver from a problem.

Parameters
problemproblem that will be solved
template<typename T >
roboptim::IpoptSolverCommon< T >::~IpoptSolverCommon ( ) throw ()
virtual

Member Function Documentation

template<typename T >
Ipopt::SmartPtr< Ipopt::IpoptApplication > roboptim::IpoptSolverCommon< T >::getIpoptApplication ( ) throw ()
virtual

Get Ipopt Application object for Ipopt specific tuning.

Consult Ipopt documentation for information regarding IpoptApplication class.

template<typename T >
void roboptim::IpoptSolverCommon< T >::solve ( ) throw ()
template<typename T>
const boost::shared_ptr<UserIntermediateCallback>& roboptim::IpoptSolverCommon< T >::userIntermediateCallback ( ) const
inline

Retrieve user intermeditate callback.

template<typename T>
boost::shared_ptr<UserIntermediateCallback>& roboptim::IpoptSolverCommon< T >::userIntermediateCallback ( )
inline

Retrieve user intermeditate callback.