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

QpExampleVars Class Reference
[QpExample]

#include <QpExampleVars.h>

Inheritance diagram for QpExampleVars:

Variables List of all members.

Public Member Functions

 QpExampleVars (LinearAlgebraPackage *la, int nx_in, int my_in, int mz_in)
virtual void saxpy (Variables *b, double alpha)
virtual void negate ()
virtual double mu ()
virtual double mustep (Variables *step, double alpha)
virtual double stepbound (Variables *b)
virtual double violation ()
virtual double findBlocking (Variables *step, double &primalValue, double &primalStep, double &dualValue, double &dualStep, int &firstOrSecond)
virtual void interiorPoint (double alpha, double beta)
virtual void shiftBoundVariables (double alpha, double beta)
virtual void print ()
virtual double onenorm ()
virtual double infnorm ()
virtual void copy (Variables *b)

Public Attributes

OoqpVectorx
OoqpVectors
OoqpVectory
OoqpVectorz

Protected Attributes

int nx
int my
int mz

Detailed Description

Variables for the example QP formulation.


Member Function Documentation

virtual void QpExampleVars::copy Variables b  )  [virtual]
 

copy the variables

Implements Variables.

virtual double QpExampleVars::findBlocking Variables step,
double &  primalValue,
double &  primalStep,
double &  dualValue,
double &  dualStep,
int &  firstOrSecond
[virtual]
 

Performs the same function as stepbound, and supplies additional information about which component of the nonnegative variables is responsible for restricting alpha. In terms of the abstract formulation, the components have the following meanings.

Parameters:
primalValue the value of the blocking component of the primal variables s.
primalStep the corresponding value of the blocking component of the primal step variables b->s.
dualValue the value of the blocking component of the dual variables z.
dualStep the corresponding value of the blocking component of the dual step variables b->z.
firstOrSecond 1 if the primal step is blocking, 2 if the dual step is block, 0 if no step is blocking.
See also:
stepbound

Implements Variables.

virtual double QpExampleVars::infnorm  )  [virtual]
 

compute the inf-norm of the variables

Implements Variables.

virtual void QpExampleVars::interiorPoint double  alpha,
double  beta
[virtual]
 

sets components of s to alpha and of z to beta

Implements Variables.

virtual double QpExampleVars::mu  )  [virtual]
 

compute complementarity gap, obtained by taking the inner product of the complementary vectors and dividing by the total number of components

Implements Variables.

virtual double QpExampleVars::mustep Variables step,
double  alpha
[virtual]
 

compute the complementarity gap resulting from a step of length "alpha" along direction "step"

Implements Variables.

virtual void QpExampleVars::negate  )  [virtual]
 

negate the value of all the variables in this structure

Implements Variables.

virtual double QpExampleVars::onenorm  )  [virtual]
 

compute the 1-norm of the variables

Implements Variables.

virtual void QpExampleVars::print  )  [virtual]
 

print the variables

Reimplemented from Variables.

virtual void QpExampleVars::saxpy Variables b,
double  alpha
[virtual]
 

given variables b, compute a <- a + alpha b, where a are the variables in this class

Implements Variables.

virtual void QpExampleVars::shiftBoundVariables double  alpha,
double  beta
[virtual]
 

adds alpha to components of s and beta to components of z

Implements Variables.

virtual double QpExampleVars::stepbound Variables b  )  [virtual]
 

calculate the largest alpha in (0,1] such that the nonnegative variables stay nonnegative in the given search direction. In the general QP problem formulation, this is the largest value of alpha such that (s,z) + alpha * (b->s,b->z) >= 0.

See also:
findBlocking

Implements Variables.

virtual double QpExampleVars::violation  )  [virtual]
 

The amount by which the current variables violate the non-negativity constraints.

Implements Variables.


Member Data Documentation

OoqpVector* QpExampleVars::s
 

primal slacks

OoqpVector* QpExampleVars::x
 

primal variables

OoqpVector* QpExampleVars::y
 

Lagrange multipliers for equality constraints

OoqpVector* QpExampleVars::z
 

Lagrange multipliers for inequality constraints


The documentation for this class was generated from the following file:
Generated on Wed Mar 22 13:58:34 2006 for OOQP by doxygen 1.3.5