00001 /* $Id: OSDipBlockSolver.h 3038 2009-11-07 11:43:44Z Gassmann $ */ 00016 #ifndef OSDIPBLOCKSOLVER_H 00017 #define OSDIPBLOCKSOLVER_H 00018 00019 // --------------------------------------------------------------------- // 00020 #include "OSInstance.h" 00021 #include "OSResult.h" 00022 #include "OSDataStructures.h" 00023 #include "OSErrorClass.h" 00024 #include <vector> 00025 #include <string> 00026 #include <map> 00027 00028 00029 00030 00031 // --------------------------------------------------------------------- // 00039 // --------------------------------------------------------------------- // 00040 class OSDipBlockSolver{ 00041 public: 00042 00043 00044 00048 double *m_cost; 00049 00053 SparseVector *m_sparseVec; 00054 00058 double m_optVal; 00059 00060 00064 int m_whichBlock; 00065 00077 virtual void solve(double *cost, std::vector<IndexValuePair*> *solIndexValPair, double *optVal) = 0; 00078 00079 00090 virtual void solve(double *cost, std::string *osrl) = 0 ; 00091 00092 00097 OSDipBlockSolver(); 00098 00103 virtual ~OSDipBlockSolver() = 0; 00104 00105 00106 // 00107 };//end class OSDipBlockSolver 00108 00109 00110 00111 #endif