This class creates a composite NLP from a list of NLP's. More...
#include <CompositeNLP.hpp>
Public Member Functions | |
Constructors/Destructors | |
CompositeNLP (std::vector< SmartPtr< NLP > > nlps, SmartPtr< VectorSpace > q_space, std::vector< SmartPtr< VectorSpace > > linking_eqn_c_spaces, std::vector< SmartPtr< Matrix > > Jx_linking_eqns, std::vector< SmartPtr< Matrix > > Jq_linking_eqns) | |
Default constructor. | |
virtual | ~CompositeNLP () |
Default destructor. | |
Exceptions | |
DECLARE_STD_EXCEPTION (INVALID_JACOBIAN_DIMENSION_FOR_LINKING_EQUATIONS) | |
CompositeNLP Initialization. | |
virtual bool | ProcessOptions (const OptionsList &options, const std::string &prefix) |
Method for creating the derived vector / matrix types (Do not delete these, the ). | |
virtual bool | GetSpaces (SmartPtr< const VectorSpace > &x_space, SmartPtr< const VectorSpace > &c_space, SmartPtr< const VectorSpace > &d_space, SmartPtr< const VectorSpace > &x_l_space, SmartPtr< const MatrixSpace > &px_l_space, SmartPtr< const VectorSpace > &x_u_space, SmartPtr< const MatrixSpace > &px_u_space, SmartPtr< const VectorSpace > &d_l_space, SmartPtr< const MatrixSpace > &pd_l_space, SmartPtr< const VectorSpace > &d_u_space, SmartPtr< const MatrixSpace > &pd_u_space, SmartPtr< const MatrixSpace > &Jac_c_space, SmartPtr< const MatrixSpace > &Jac_d_space, SmartPtr< const SymMatrixSpace > &Hess_lagrangian_space) |
Method for creating the derived vector / matrix types (Do not delete these, the ). | |
virtual bool | GetBoundsInformation (const Matrix &Px_L, Vector &x_L, const Matrix &Px_U, Vector &x_U, const Matrix &Pd_L, Vector &d_L, const Matrix &Pd_U, Vector &d_U) |
Method for obtaining the bounds information. | |
virtual bool | GetStartingPoint (SmartPtr< Vector > x, bool need_x, SmartPtr< Vector > y_c, bool need_y_c, SmartPtr< Vector > y_d, bool need_y_d, SmartPtr< Vector > z_L, bool need_z_L, SmartPtr< Vector > z_U, bool need_z_U) |
Method for obtaining the starting point for all the iterates. | |
CompositeNLP evaluation routines. | |
virtual bool | Eval_f (const Vector &x, Number &f) |
virtual bool | Eval_grad_f (const Vector &x, Vector &g_f) |
virtual bool | Eval_c (const Vector &x, Vector &c) |
virtual bool | Eval_jac_c (const Vector &x, Matrix &jac_c) |
virtual bool | Eval_d (const Vector &x, Vector &d) |
virtual bool | Eval_jac_d (const Vector &x, Matrix &jac_d) |
virtual bool | Eval_h (const Vector &x, Number obj_factor, const Vector &yc, const Vector &yd, SymMatrix &h) |
Information about the Composite Structure | |
SmartPtr< SymLinearSolver > | CreateLinearSolver () |
returns an appropriate linear solver for the problem structure | |
Private Member Functions | |
Default Compiler Generated Methods | |
CompositeNLP () | |
Default Constructor. | |
CompositeNLP (const CompositeNLP &) | |
Copy Constructor. | |
void | operator= (const CompositeNLP &) |
Overloaded Equals Operator. | |
Private Attributes | |
SmartPtr< const Journalist > | jnlst_ |
Journalist. | |
std::vector< SmartPtr< NLP > > | nlps_ |
std::vector of nlps | |
SmartPtr< VectorSpace > | q_space_ |
vector space for the linking variables, q | |
std::vector< SmartPtr < VectorSpace > > | linking_eqn_c_spaces_ |
std::vector of VectorSpaces for the linking equations | |
Data about Linking Equations. For now, | |
std::vector< SmartPtr< Matrix > > | Jx_linking_eqns_ |
std::vector of Jacobian of the linking eqns (one for each nlp) with respect to x variables | |
std::vector< SmartPtr< Matrix > > | Jq_linking_eqns_ |
std::vector of Jacobian of the linking eqns (one for each nlp) with respect to linking variables (q) |
This class creates a composite NLP from a list of NLP's.
This is a Composite class (Design Patterns) that creates a single NLP from a list of NLP's with some common variables. This allows users to "link" different NLP's into a single NLP easily
Definition at line 25 of file CompositeNLP.hpp.
Ipopt::CompositeNLP::CompositeNLP | ( | std::vector< SmartPtr< NLP > > | nlps, | |
SmartPtr< VectorSpace > | q_space, | |||
std::vector< SmartPtr< VectorSpace > > | linking_eqn_c_spaces, | |||
std::vector< SmartPtr< Matrix > > | Jx_linking_eqns, | |||
std::vector< SmartPtr< Matrix > > | Jq_linking_eqns | |||
) |
Default constructor.
virtual Ipopt::CompositeNLP::~CompositeNLP | ( | ) | [virtual] |
Default destructor.
Ipopt::CompositeNLP::CompositeNLP | ( | ) | [private] |
Default Constructor.
Ipopt::CompositeNLP::CompositeNLP | ( | const CompositeNLP & | ) | [private] |
Copy Constructor.
Ipopt::CompositeNLP::DECLARE_STD_EXCEPTION | ( | INVALID_JACOBIAN_DIMENSION_FOR_LINKING_EQUATIONS | ) |
virtual bool Ipopt::CompositeNLP::ProcessOptions | ( | const OptionsList & | options, | |
const std::string & | prefix | |||
) | [virtual] |
Method for creating the derived vector / matrix types (Do not delete these, the ).
Reimplemented from Ipopt::NLP.
virtual bool Ipopt::CompositeNLP::GetSpaces | ( | SmartPtr< const VectorSpace > & | x_space, | |
SmartPtr< const VectorSpace > & | c_space, | |||
SmartPtr< const VectorSpace > & | d_space, | |||
SmartPtr< const VectorSpace > & | x_l_space, | |||
SmartPtr< const MatrixSpace > & | px_l_space, | |||
SmartPtr< const VectorSpace > & | x_u_space, | |||
SmartPtr< const MatrixSpace > & | px_u_space, | |||
SmartPtr< const VectorSpace > & | d_l_space, | |||
SmartPtr< const MatrixSpace > & | pd_l_space, | |||
SmartPtr< const VectorSpace > & | d_u_space, | |||
SmartPtr< const MatrixSpace > & | pd_u_space, | |||
SmartPtr< const MatrixSpace > & | Jac_c_space, | |||
SmartPtr< const MatrixSpace > & | Jac_d_space, | |||
SmartPtr< const SymMatrixSpace > & | Hess_lagrangian_space | |||
) | [virtual] |
Method for creating the derived vector / matrix types (Do not delete these, the ).
Implements Ipopt::NLP.
virtual bool Ipopt::CompositeNLP::GetBoundsInformation | ( | const Matrix & | Px_L, | |
Vector & | x_L, | |||
const Matrix & | Px_U, | |||
Vector & | x_U, | |||
const Matrix & | Pd_L, | |||
Vector & | d_L, | |||
const Matrix & | Pd_U, | |||
Vector & | d_U | |||
) | [virtual] |
Method for obtaining the bounds information.
Implements Ipopt::NLP.
virtual bool Ipopt::CompositeNLP::GetStartingPoint | ( | SmartPtr< Vector > | x, | |
bool | need_x, | |||
SmartPtr< Vector > | y_c, | |||
bool | need_y_c, | |||
SmartPtr< Vector > | y_d, | |||
bool | need_y_d, | |||
SmartPtr< Vector > | z_L, | |||
bool | need_z_L, | |||
SmartPtr< Vector > | z_U, | |||
bool | need_z_U | |||
) | [virtual] |
Method for obtaining the starting point for all the iterates.
Implements Ipopt::NLP.
Implements Ipopt::NLP.
Implements Ipopt::NLP.
Implements Ipopt::NLP.
Implements Ipopt::NLP.
Implements Ipopt::NLP.
Implements Ipopt::NLP.
virtual bool Ipopt::CompositeNLP::Eval_h | ( | const Vector & | x, | |
Number | obj_factor, | |||
const Vector & | yc, | |||
const Vector & | yd, | |||
SymMatrix & | h | |||
) | [virtual] |
Implements Ipopt::NLP.
SmartPtr<SymLinearSolver> Ipopt::CompositeNLP::CreateLinearSolver | ( | ) |
returns an appropriate linear solver for the problem structure
void Ipopt::CompositeNLP::operator= | ( | const CompositeNLP & | ) | [private] |
Overloaded Equals Operator.
Reimplemented from Ipopt::NLP.
SmartPtr<const Journalist> Ipopt::CompositeNLP::jnlst_ [private] |
Definition at line 139 of file CompositeNLP.hpp.
std::vector<SmartPtr<NLP> > Ipopt::CompositeNLP::nlps_ [private] |
std::vector of nlps
Definition at line 142 of file CompositeNLP.hpp.
SmartPtr<VectorSpace> Ipopt::CompositeNLP::q_space_ [private] |
vector space for the linking variables, q
Definition at line 145 of file CompositeNLP.hpp.
std::vector<SmartPtr<VectorSpace> > Ipopt::CompositeNLP::linking_eqn_c_spaces_ [private] |
std::vector of VectorSpaces for the linking equations
Definition at line 148 of file CompositeNLP.hpp.
std::vector<SmartPtr<Matrix> > Ipopt::CompositeNLP::Jx_linking_eqns_ [private] |
std::vector of Jacobian of the linking eqns (one for each nlp) with respect to x variables
Definition at line 157 of file CompositeNLP.hpp.
std::vector<SmartPtr<Matrix> > Ipopt::CompositeNLP::Jq_linking_eqns_ [private] |
std::vector of Jacobian of the linking eqns (one for each nlp) with respect to linking variables (q)
Definition at line 161 of file CompositeNLP.hpp.