00001 /* OOQP * 00002 * Authors: E. Michael Gertz, Stephen J. Wright * 00003 * (C) 2001 University of Chicago. See Copyright Notification in OOQP */ 00004 00005 #ifndef QPGENFACTORY 00006 #define QPGENFACTORY 00007 00008 #include "ProblemFormulation.h" 00009 00010 class Data; 00011 class Residuals; 00012 class LinearSystem; 00013 class Variables; 00014 class LinearAlgebraPackage; 00015 class OoqpVector; 00016 00034 class QpGen : public ProblemFormulation { 00035 protected: 00036 LinearAlgebraPackage * la; 00038 int nx; 00039 00041 int my; 00042 00044 int mz; 00045 00046 QpGen( int nx_, int my_, int mz_ ); 00047 public: 00048 virtual Residuals * makeResiduals( Data * prob_in ); 00049 virtual Variables * makeVariables( Data * prob_in ); 00050 00051 virtual void joinRHS( OoqpVector& rhs_in, OoqpVector& rhs1_in, 00052 OoqpVector& rhs2_in, OoqpVector& rhs3_in ) = 0; 00053 00054 virtual void separateVars( OoqpVector& x_in, OoqpVector& y_in, 00055 OoqpVector& z_in, OoqpVector& vars_in ) = 0; 00056 00057 virtual ~QpGen() {}; 00058 }; 00059 00060 #endif 00061 00062 00063