PIPS-NLP
|
#include <Variables.h>
Public Member Functions | |
virtual double | mu ()=0 |
virtual double | mustep (Variables *step, double alpha)=0 |
virtual void | negate ()=0 |
virtual void | saxpy (Variables *b, double alpha)=0 |
virtual double | stepbound (Variables *b)=0 |
virtual double | findBlocking (Variables *step, double &primalValue, double &primalStep, double &dualValue, double &dualStep, int &firstOrSecond)=0 |
virtual void | interiorPoint (double alpha, double beta)=0 |
virtual void | shiftBoundVariables (double alpha, double beta)=0 |
virtual double | violation ()=0 |
virtual void | print () |
virtual void | copy (Variables *b)=0 |
virtual double | onenorm ()=0 |
virtual double | infnorm ()=0 |
virtual void | setZero ()=0 |
virtual void | mergeNTstep (Variables *Nstep, Variables *Tstep, Variables *Curr_Iter, Residuals *res_in)=0 |
virtual | ~Variables () |
Public Attributes | |
long long | nComplementaryVariables |
Holds the variables used by the interior point solver. In terms of in our abstract problem formulation, these variables are the vectors x, y, z and s.
|
inlinevirtual |
|
pure virtual |
copy the variables this->copyFrom(b)
Implemented in NlpGenVars.
|
pure 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.
step | step in the variables |
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. |
Implemented in NlpGenVars.
|
pure virtual |
compute the inf-norm of the variables
Implemented in NlpGenVars.
|
pure virtual |
In the abstract QP formulation, sets s to alpha, z to beta and the other variable components to zero.
Implemented in NlpGenVars.
|
pure virtual |
Implemented in NlpGenVars.
|
pure virtual |
compute complementarity gap, obtained by taking the inner product of the complementary vectors and dividing by the total number of components
Implemented in NlpGenVars.
|
pure virtual |
compute the complementarity gap resulting from a step of length "alpha" along direction "step"
Implemented in NlpGenVars.
|
pure virtual |
negate the value of all the variables in this structure
Implemented in NlpGenVars.
|
pure virtual |
compute the 1-norm of the variables
Implemented in NlpGenVars.
|
virtual |
print the variables
Reimplemented in NlpGenVars.
|
pure virtual |
given variables b, compute a <- a + alpha b, where a are the variables in this class
Implemented in NlpGenVars.
|
pure virtual |
set all componetn to zero
Implemented in NlpGenVars.
|
pure virtual |
In the standard QP formulation, sets s += alpha, z += beta
Implemented in NlpGenVars.
|
pure virtual |
calculate the largest alpha in (0,1] such that the nonnegative variables stay nonnegative in the given search direction. In the abstract problem formulation, this is the largest value of alpha such that (s,z) + alpha * (b->s,b->z) >= 0.
Implemented in NlpGenVars.
|
pure virtual |
The amount by which the current variables violate the non-negativity constraints.
Implemented in NlpGenVars.
long long Variables::nComplementaryVariables |
number of complementary primal-dual variables.