Go to the documentation of this file.
7 #ifndef __IPORIGIPOPTNLP_HPP__
8 #define __IPORIGIPOPTNLP_HPP__
54 virtual bool Initialize(
57 const std::string& prefix
61 virtual bool InitializeStructures(
81 return nlp_->GetWarmStartIterate(warm_start_iterate);
220 virtual void GetSpaces(
239 virtual void AdjustVariableBounds(
254 return grad_f_evals_;
280 void FinalizeSolution(
294 bool IntermediateCallBack(
302 Number regularization_size,
312 static void RegisterOptions(
327 void PrintTimingStatistics(
339 return grad_f_eval_time_;
347 return jac_c_eval_time_;
355 return jac_d_eval_time_;
362 Number TotalFunctionEvaluationCpuTime()
const;
363 Number TotalFunctionEvaluationSysTime()
const;
364 Number TotalFunctionEvaluationWallclockTime()
const;
493 Number bound_relax_factor,
CachedResults< SmartPtr< const Vector > > d_cache_
Inequality constraint residual (reformulated as equalities with slacks.
CachedResults< SmartPtr< const Vector > > c_cache_
Equality constraint residuals.
SmartPtr< const Matrix > Px_L_
Permutation matrix (x_L_ -> x)
SmartPtr< const MatrixSpace > pd_l_space_
const TimedTask & jac_c_eval_time() const
Class to organize all the data required by the algorithm.
HessianApproximationType
enumeration for the Hessian information type.
TimedTask grad_f_eval_time_
SmartPtr< const VectorSpace > x_u_space_
SmartPtr< const VectorSpace > x_l_space_
SmartPtr< const MatrixSpace > scaled_jac_c_space_
virtual SmartPtr< const VectorSpace > x_space() const
x_space
const TimedTask & jac_d_eval_time() const
SmartPtr< const VectorSpace > x_space_
Necessary Vector/Matrix spaces.
bool hessian_constant_
Flag indicating if we need to ask for Hessian only once.
SmartPtr< const SymMatrixSpace > h_space_
SmartPtr< NLP > nlp()
Accessor method to the underlying NLP.
bool check_derivatives_for_naninf_
Flag indicating whether it is desired to check if there are Nan or Inf entries in first and second de...
Class for all IPOPT specific calculated quantities.
SmartPtr< const MatrixSpace > jac_d_space_
CachedResults< SmartPtr< const Vector > > unscaled_x_cache_
Unscaled version of x vector.
virtual SmartPtr< const Matrix > Px_L() const
Permutation matrix (x_L_ -> x)
This file contains a base class for all exceptions and a set of macros to help with exceptions.
double Number
Type of all numbers.
Number bound_relax_factor_
relaxation factor for the bounds
virtual SmartPtr< const Matrix > Pd_L() const
Permutation matrix (d_L_ -> d)
virtual bool GetWarmStartIterate(IteratesVector &warm_start_iterate)
Method accessing the GetWarmStartIterate of the NLP.
virtual Index f_evals() const
const TimedTask & h_eval_time() const
EJournalLevel
Print Level Enum.
CachedResults< SmartPtr< const Matrix > > jac_c_cache_
Jacobian Matrix for equality constraints (current iteration)
HessianApproximationSpace
enumeration for the Hessian approximation space.
virtual SmartPtr< const Vector > d_U() const
Upper bounds on d.
virtual Index h_evals() const
SmartPtr< const MatrixSpace > jac_c_space_
HessianApproximationType hessian_approximation_
Flag indicating what Hessian information is to be used.
bool initialized_
Flag indicating if initialization method has been called.
SmartPtr< const Vector > x_L_
Lower bounds on x.
SmartPtr< const MatrixSpace > px_u_space_
int Index
Type of all indices of vectors, matrices etc.
bool honor_original_bounds_
Flag indicating whether the primal variables should be projected back into original bounds are optimi...
virtual Index jac_d_evals() const
Template class for Smart Pointers.
EJournalCategory
Category Selection Enum.
CachedResults< SmartPtr< const SymMatrix > > h_cache_
Hessian of the lagrangian (current iteration)
CachedResults< Number > f_cache_
Objective function.
SmartPtr< const Journalist > jnlst_
Journalist.
SmartPtr< NLP > nlp_
Pointer to the NLP.
CachedResults< SmartPtr< const Matrix > > jac_d_cache_
Jacobian Matrix for inequality constraints (current iteration)
virtual Index jac_c_evals() const
SmartPtr< const Matrix > Pd_L_
Permutation matrix (d_L_ -> d)
const TimedTask & d_eval_time() const
SmartPtr< const Matrix > Px_U_
Permutation matrix (x_U_ -> x)
virtual Index d_evals() const
const TimedTask & f_eval_time() const
This class maps the traditional NLP into something that is more useful by Ipopt.
SmartPtr< const VectorSpace > d_l_space_
Class responsible for all message output.
SmartPtr< const VectorSpace > d_u_space_
CachedResults< SmartPtr< const Vector > > grad_f_cache_
Gradient of the objective function.
SmartPtr< const Vector > orig_x_L_
Original unmodified lower bounds on x.
virtual SmartPtr< const SymMatrixSpace > HessianMatrixSpace() const
Accessor method to obtain the MatrixSpace for the Hessian matrix (or it's approximation)
virtual SmartPtr< const Vector > x_U() const
Upper bounds on x.
TimedTask jac_c_eval_time_
const TimedTask & grad_f_eval_time() const
SmartPtr< const VectorSpace > d_space_
SmartPtr< const MatrixSpace > scaled_jac_d_space_
virtual SmartPtr< const Vector > d_L() const
Lower bounds on d.
virtual Index grad_f_evals() const
const TimedTask & c_eval_time() const
virtual Index c_evals() const
This class is used to collect timing information for a particular task.
TimedTask jac_d_eval_time_
virtual SmartPtr< const Matrix > Px_U() const
Permutation matrix (x_U_ -> x)
HessianApproximationSpace hessian_approximation_space_
Flag indicating in which space Hessian is to be approximated.
bool jac_d_constant_
Flag indicating if we need to ask for inequality constraint Jacobians only once.
virtual SmartPtr< const Matrix > Pd_U() const
Permutation matrix (d_U_ -> d)
SolverReturn
enum for the return from the optimize algorithm
SmartPtr< const MatrixSpace > px_l_space_
SmartPtr< const VectorSpace > c_space_
SmartPtr< const Vector > d_U_
Upper bounds on d.
This class stores a list of user set options.
SmartPtr< const SymMatrixSpace > scaled_h_space_
bool jac_c_constant_
Flag indicating if we need to ask for equality constraint Jacobians only once.
SmartPtr< const Matrix > Pd_U_
Permutation matrix (d_U_ -> d)
SmartPtr< const Vector > orig_x_U_
Original unmodified upper bounds on x.
SmartPtr< const MatrixSpace > pd_u_space_
SmartPtr< const Vector > d_L_
Lower bounds on d.
virtual SmartPtr< const Vector > x_L() const
Lower bounds on x.
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 ...
bool warm_start_same_structure_
Flag indicating whether the TNLP with identical structure has already been solved before.
Specialized CompoundVector class specifically for the algorithm iterates.
SmartPtr< const Vector > x_U_
Upper bounds on x.