Go to the documentation of this file.
9 #ifndef __IPINEXACTPDSOLVER_HPP__
10 #define __IPINEXACTPDSOLVER_HPP__
41 const std::string& prefix);
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.
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
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.
IpoptAdditionalCq & AdditionalCq()
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.