00001
00002
00003
00004
00005 #ifndef QPEXAMPLEVARS_H
00006 #define QPEXAMPLEVARS_H
00007
00008 #include "Variables.h"
00009 class OoqpVector;
00010 class LinearAlgebraPackage;
00011
00018 class QpExampleVars : public Variables
00019 {
00020 protected:
00021 int nx, my, mz;
00022 public:
00023
00025 OoqpVector *x;
00026
00028 OoqpVector *s;
00029
00031 OoqpVector *y;
00032
00034 OoqpVector *z;
00035
00036 QpExampleVars( LinearAlgebraPackage * la, int nx_in, int my_in, int mz_in);
00037 virtual ~QpExampleVars();
00038
00039
00040 virtual void saxpy( Variables *b, double alpha);
00041 virtual void negate();
00042
00043 virtual double mu();
00044 virtual double mustep(Variables *step, double alpha);
00045
00052 virtual double stepbound( Variables *b);
00053 virtual double violation();
00054
00077 virtual double findBlocking( Variables * step,
00078 double & primalValue,
00079 double & primalStep,
00080 double & dualValue,
00081 double & dualStep,
00082 int& firstOrSecond );
00083
00085 virtual void interiorPoint( double alpha, double beta );
00086
00088 virtual void shiftBoundVariables( double alpha, double beta );
00089
00090 virtual void print();
00091 virtual double onenorm();
00092 virtual double infnorm();
00093
00094 virtual void copy(Variables *b);
00095 };
00096
00097
00098 #endif