This is the abstract base class for classes that map the traditional NLP into something that is more useful for Ipopt. More...
#include <IpIpoptNLP.hpp>
Private Member Functions | |
Default Compiler Generated Methods | |
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. | |
IpoptNLP (const IpoptNLP &) | |
Copy Constructor. | |
void | operator= (const IpoptNLP &) |
Default Assignment Operator. | |
Private Attributes | |
SmartPtr< NLPScalingObject > | nlp_scaling_ |
This is the abstract base class for classes that map the traditional NLP into something that is more useful for Ipopt.
As for NLP, the represented NLP is
\begin{eqnarray*} \mathrm{min} && f(x), \\ \mathrm{s.t.} && c(x) = 0, &\qquad y_c\\ && d_L \leq d(x) \leq d_U, &\qquad y_d \\ && x_L \leq x \leq x_U, &\qquad z_L, z_U \end{eqnarray*}
where \(y_c\), \(y_d\), \(z_L\), \(z_U\) name the dual variables of the corresponding constraints.
This class takes care of storing the calculated model results, handles caching, scaling, and (some day) takes care of addition of slacks.
Definition at line 35 of file IpIpoptNLP.hpp.
|
inline |
Definition at line 40 of file IpIpoptNLP.hpp.
|
inlinevirtual |
Destructor.
Definition at line 47 of file IpIpoptNLP.hpp.
|
inlinevirtual |
Initialization method.
Set the internal options and initialize internal data structures.
Reimplemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Definition at line 55 of file IpIpoptNLP.hpp.
Ipopt::IpoptNLP::DECLARE_STD_EXCEPTION | ( | Eval_Error | ) |
thrown if there is any error evaluating values from the nlp
|
pure virtual |
Initialize (create) structures for the iteration data.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Method accessing the GetWarmStartIterate of the NLP.
Implemented in Ipopt::RestoIpoptNLP, and Ipopt::OrigIpoptNLP.
Accessor methods for model data.
Objective value
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Gradient of the objective.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Equality constraint residual.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Jacobian Matrix for equality constraints.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Inequality constraint residual (reformulated as equalities with slacks.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Jacobian Matrix for inequality constraints.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Hessian of the Lagrangian.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Lower bounds on x.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Permutation matrix (x_L_ -> x)
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Upper bounds on x.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Permutation matrix (x_U_ -> x.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Lower bounds on d.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Permutation matrix (d_L_ -> d)
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Upper bounds on d.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Permutation matrix (d_U_ -> d.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
x_space
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Accessor method to obtain the MatrixSpace for the Hessian matrix (or it's approximation)
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Accessor method for vector/matrix spaces pointers.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Method for adapting the variable bounds.
This is called if slacks are becoming too small
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Method for telling the IpoptCalculatedQuantities class whether the objective function depends on the barrier function.
This is only used for the restoration phase NLP formulation. Probably only RestoIpoptNLP should overwrite this.
Reimplemented in Ipopt::RestoIpoptNLP.
Definition at line 220 of file IpIpoptNLP.hpp.
Replacement for the default objective function method which knows about the barrier parameter.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Replacement for the default objective gradient method which knows about the barrier parameter.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Replacement for the default Lagrangian Hessian method which knows about the barrier parameter.
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
Provides a Hessian matrix from the correct matrix space with uninitialized values.
This can be used in LeastSquareMults to obtain a "zero Hessian".
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
pure virtual |
Implemented in Ipopt::OrigIpoptNLP, and Ipopt::RestoIpoptNLP.
|
inline |
Returns the scaling strategy object.
Definition at line 294 of file IpIpoptNLP.hpp.
|
private |
Definition at line 323 of file IpIpoptNLP.hpp.