Go to the documentation of this file.
7 #ifndef __IPIPOPTNLP_HPP__
8 #define __IPIPOPTNLP_HPP__
35 : nlp_scaling_(nlp_scaling)
50 const std::string& prefix
56 ret = nlp_scaling_->Initialize(jnlst, options, prefix);
276 Number regularization_size,
virtual Index grad_f_evals() const =0
virtual SmartPtr< const Vector > x_L() const =0
Lower bounds on x.
Class to organize all the data required by the algorithm.
virtual ~IpoptNLP()
Destructor.
virtual void 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)=0
Accessor method for vector/matrix spaces pointers.
virtual Index d_evals() const =0
Class for all IPOPT specific calculated quantities.
virtual void AdjustVariableBounds(const Vector &new_x_L, const Vector &new_x_U, const Vector &new_d_L, const Vector &new_d_U)=0
Method for adapting the variable bounds.
virtual SmartPtr< const SymMatrix > h(const Vector &x, Number obj_factor, const Vector &yc, const Vector &yd)=0
Hessian of the Lagrangian.
virtual SmartPtr< const Vector > d_L() const =0
Lower bounds on d.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
double Number
Type of all numbers.
IpoptNLP(const IpoptNLP &)
Copy Constructor.
IpoptNLP(const SmartPtr< NLPScalingObject > nlp_scaling)
virtual SmartPtr< const Matrix > jac_d(const Vector &x)=0
Jacobian Matrix for inequality constraints.
virtual Index h_evals() const =0
virtual SmartPtr< const SymMatrixSpace > HessianMatrixSpace() const =0
Accessor method to obtain the MatrixSpace for the Hessian matrix (or it's approximation)
virtual bool objective_depends_on_mu() const
Method for telling the IpoptCalculatedQuantities class whether the objective function depends on the ...
virtual SmartPtr< const Matrix > Pd_U() const =0
Permutation matrix (d_U_ -> d.
virtual Number f(const Vector &x, Number mu)=0
Replacement for the default objective function method which knows about the barrier parameter.
virtual Index c_evals() const =0
int Index
Type of all indices of vectors, matrices etc.
DECLARE_STD_EXCEPTION(Eval_Error)
thrown if there is any error evaluating values from the nlp
virtual SmartPtr< const SymMatrix > h(const Vector &x, Number obj_factor, const Vector &yc, const Vector &yd, Number mu)=0
Replacement for the default Lagrangian Hessian method which knows about the barrier parameter.
virtual Number f(const Vector &x)=0
Accessor methods for model data.
virtual bool GetWarmStartIterate(IteratesVector &warm_start_iterate)=0
Method accessing the GetWarmStartIterate of the NLP.
virtual SmartPtr< const Matrix > Px_U() const =0
Permutation matrix (x_U_ -> x.
Template class for Smart Pointers.
virtual SmartPtr< const Matrix > Px_L() const =0
Permutation matrix (x_L_ -> x)
virtual Index f_evals() const =0
virtual SmartPtr< const Vector > d(const Vector &x)=0
Inequality constraint residual (reformulated as equalities with slacks.
virtual SmartPtr< const Vector > x_U() const =0
Upper bounds on x.
virtual SmartPtr< const Matrix > jac_c(const Vector &x)=0
Jacobian Matrix for equality constraints.
virtual SmartPtr< const Vector > grad_f(const Vector &x, Number mu)=0
Replacement for the default objective gradient method which knows about the barrier parameter.
virtual bool IntermediateCallBack(AlgorithmMode mode, Index iter, Number obj_value, Number inf_pr, Number inf_du, Number mu, Number d_norm, Number regularization_size, Number alpha_du, Number alpha_pr, Index ls_trials, SmartPtr< const IpoptData > ip_data, SmartPtr< IpoptCalculatedQuantities > ip_cq)=0
virtual SmartPtr< const Matrix > Pd_L() const =0
Permutation matrix (d_L_ -> d)
virtual SmartPtr< const Vector > grad_f(const Vector &x)=0
Gradient of the objective.
SmartPtr< NLPScalingObject > nlp_scaling_
virtual Index jac_c_evals() const =0
Class responsible for all message output.
SmartPtr< NLPScalingObject > NLP_scaling() const
Returns the scaling strategy object.
virtual bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Initialization method.
virtual bool InitializeStructures(SmartPtr< Vector > &x, bool init_x, SmartPtr< Vector > &y_c, bool init_y_c, SmartPtr< Vector > &y_d, bool init_y_d, SmartPtr< Vector > &z_L, bool init_z_L, SmartPtr< Vector > &z_U, bool init_z_U, SmartPtr< Vector > &v_L, SmartPtr< Vector > &v_U)=0
Initialize (create) structures for the iteration data.
virtual Index jac_d_evals() const =0
virtual SmartPtr< const Vector > c(const Vector &x)=0
Equality constraint residual.
bool IsValid(const SmartPtr< U > &smart_ptr)
virtual void FinalizeSolution(SolverReturn status, const Vector &x, const Vector &z_L, const Vector &z_U, const Vector &c, const Vector &d, const Vector &y_c, const Vector &y_d, Number obj_value, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)=0
SolverReturn
enum for the return from the optimize algorithm
void operator=(const IpoptNLP &)
Default Assignment Operator.
virtual SmartPtr< const Vector > d_U() const =0
Upper bounds on d.
This class stores a list of user set options.
Storing the reference count of all the smart pointers that currently reference it.
virtual SmartPtr< const SymMatrix > uninitialized_h()=0
Provides a Hessian matrix from the correct matrix space with uninitialized values.
AlgorithmMode
enum to indicate the mode in which the algorithm is
This is the abstract base class for classes that map the traditional NLP into something that is more ...
virtual SmartPtr< const VectorSpace > x_space() const =0
x_space
Specialized CompoundVector class specifically for the algorithm iterates.