Go to the documentation of this file.
9 #ifndef __IPINEXACTPDSOLVER_HPP__
10 #define __IPINEXACTPDSOLVER_HPP__
41 const std::string& prefix);
72 static_cast<InexactData&>(
IpData().AdditionalData());
81 static_cast<InexactCq&>(
IpCq().AdditionalCq());
Index inexact_regularization_ls_count_trigger_
Threshold on line search evaluation count to trigger Hessia modification.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
IpoptCalculatedQuantities & IpCq() const
bool HessianRequiresChange()
Method for checking if the Hessian matrix has to be modified.
Class for handling the perturbation factors delta_x, delta_s, delta_c, and delta_d in the primal dual...
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm.
double Number
Type of all numbers.
IpoptData & IpData() const
Number tcc_theta_
theta factor in the tangential component condition
int Index
Type of all indices of vectors, matrices etc.
Index last_info_ls_count_
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
Template class for Smart Pointers.
bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Implementation of the initialization method that has to be overloaded by for each derived class.
void ComputeResiduals(const SymMatrix &W, const Matrix &J_c, const Matrix &J_d, const Matrix &Pd_L, const Matrix &Pd_U, const Vector &v_L, const Vector &v_U, const Vector &slack_s_L, const Vector &slack_s_U, const Vector &sigma_s, const IteratesVector &rhs, const IteratesVector &res, IteratesVector &resid)
Internal function for computing the residual (resid) given the right hand side (rhs) and the solution...
InexactPDSolver()
Default Constructor.
SmartPtr< PDPerturbationHandler > perturbHandler_
Pointer to the Perturbation Handler.
InexactData & InexData()
Method to easily access Inexact data.
Base class for Solver for the augmented system.
This is the base class for all algorithm strategy objects.
This is the base class for all derived symmetric matrix types.
InexactPDSolver & operator=(const InexactPDSolver &)
Overloaded Equals Operator.
virtual bool Solve(const IteratesVector &rhs, IteratesVector &sol)
Solve the primal dual system, given one right hand side.
Number tcc_psi_
Psi factor in the tangential component condition.
bool modify_hessian_with_slacks_
flag indicating if the Hessian for the (s,s) part should be modified with the slacks instead of the i...
This is the implemetation of the Primal-Dual System, allowing the usage of an inexact linear solver.
This class stores a list of user set options.
SmartPtr< AugSystemSolver > augSysSolver_
Pointer to the Solver for the augmented system.
virtual ~InexactPDSolver()
Default destructor.
bool is_pardiso_
flag indicating if we are dealing with the Pardiso solver (temporary)
Number tcc_theta_mu_exponent_
mu exponent when multiplied to theta in the tangential component condition
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Specialized CompoundVector class specifically for the algorithm iterates.