PIPS-NLP
Public Member Functions | Public Attributes | Protected Attributes | List of all members
Residuals Class Referenceabstract

#include <Residuals.h>

Inheritance diagram for Residuals:
NlpGenResiduals sResiduals

Public Member Functions

double residualNorm ()
 
double dualityGap ()
 
virtual void calcresids (Data *problem, Variables *vars)=0
 
virtual void add_r3_xz_alpha (Variables *vars, double alpha)=0
 
virtual void set_r3_xz_alpha (Variables *vars, double alpha)=0
 
virtual void clear_r3 ()=0
 
virtual void clear_r1r2 ()
 
virtual void project_r3 (double rmin, double rmax)=0
 
virtual ~Residuals ()
 

Public Attributes

int m
 
int n
 

Protected Attributes

double mResidualNorm
 
double mDualityGap
 

Detailed Description

Represents the residuals of a QP when solved by an interior point QP solver. In terms of our abstract QP formulation, these residuals are rQ, rA, rC and r3.

Constructor & Destructor Documentation

virtual Residuals::~Residuals ( )
inlinevirtual

Member Function Documentation

virtual void Residuals::add_r3_xz_alpha ( Variables vars,
double  alpha 
)
pure virtual

Modify the "complementarity" component of the residuals, by adding the pairwise products of the complementary variables plus a constant alpha to this term.

Implemented in NlpGenResiduals.

virtual void Residuals::calcresids ( Data problem,
Variables vars 
)
pure virtual

calculate residuals, their norms, and duality/complementarity gap, given a problem and variable set.

Implemented in NlpGenResiduals.

virtual void Residuals::clear_r1r2 ( )
inlinevirtual

set the noncomplementarity components of the residual (the terms arising from the linear equalities in the KKT conditions) to 0.

Reimplemented in NlpGenResiduals.

virtual void Residuals::clear_r3 ( )
pure virtual

set the complementarity component of the residuals to 0.

Implemented in NlpGenResiduals.

double Residuals::dualityGap ( )
inline

A quantity that measures progress toward feasibility. IN terms of the abstract problem formulation, this quantity is defined as

x' * Q * x - b' * y + c' * x - d' * z
virtual void Residuals::project_r3 ( double  rmin,
double  rmax 
)
pure virtual

perform the projection operation required by Gondzio algorithm: replace each component r3_i of the complementarity component of the residuals by r3p_i - r3_i, where r3p_i is the projection of r3_i onto the box [rmin, rmax]. Then if the resulting value is less than -rmax, replace it by -rmax.

See also
SimpleVector::gondzioProjection

Implemented in NlpGenResiduals.

double Residuals::residualNorm ( )
inline

The norm of the residuals, ommiting the complementariy conditions

virtual void Residuals::set_r3_xz_alpha ( Variables vars,
double  alpha 
)
pure virtual

Set the "complementarity" component of the residuals to the pairwise products of the complementary variables plus a constant alpha

Implemented in NlpGenResiduals.

Member Data Documentation

int Residuals::m
double Residuals::mDualityGap
protected
double Residuals::mResidualNorm
protected
int Residuals::n

The documentation for this class was generated from the following file: