Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Residuals Class Reference
[AbstractProblemFormulation]

#include <Residuals.h>

Inheritance diagram for Residuals:

HuberResiduals QpBoundResiduals QpExampleResids QpGenResiduals SvmResiduals List of all members.

Public Methods

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

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.


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 HuberResiduals, QpBoundResiduals, QpExampleResids, QpGenResiduals, and SvmResiduals.

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 HuberResiduals, QpBoundResiduals, QpExampleResids, QpGenResiduals, and SvmResiduals.

virtual void Residuals::clear_r1r2   [inline, virtual]
 

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

Reimplemented in HuberResiduals, QpBoundResiduals, QpExampleResids, QpGenResiduals, and SvmResiduals.

virtual void Residuals::clear_r3   [pure virtual]
 

set the complementarity component of the residuals to 0.

Implemented in HuberResiduals, QpBoundResiduals, QpExampleResids, QpGenResiduals, and SvmResiduals.

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 HuberResiduals, QpBoundResiduals, QpExampleResids, QpGenResiduals, and SvmResiduals.

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 HuberResiduals, QpBoundResiduals, QpExampleResids, QpGenResiduals, and SvmResiduals.


The documentation for this class was generated from the following file:
Generated on Mon May 24 17:40:46 2004 for OOQP by doxygen1.2.18