00001 /* $Id: OSDipBlockSolver.h 3038 2009-11-07 11:43:44Z Gassmann $ */ 00018 #ifndef OSDIPBLOCKSOLVER_H 00019 #define OSDIPBLOCKSOLVER_H 00020 00021 // --------------------------------------------------------------------- // 00022 #include "OSInstance.h" 00023 #include "OSResult.h" 00024 #include "OSDataStructures.h" 00025 #include "OSErrorClass.h" 00026 #include <vector> 00027 #include <string> 00028 #include <map> 00029 00030 00031 00032 00033 // --------------------------------------------------------------------- // 00041 // --------------------------------------------------------------------- // 00042 class OSDipBlockSolver{ 00043 public: 00044 00045 00046 00050 double *m_cost; 00051 00055 SparseVector *m_sparseVec; 00056 00060 double m_optVal; 00061 00062 00066 int m_whichBlock; 00067 00079 virtual void solve(double *cost, std::vector<IndexValuePair*> *solIndexValPair, double *optVal) = 0; 00080 00081 00092 virtual void solve(double *cost, std::string *osrl) = 0 ; 00093 00094 00099 OSDipBlockSolver(); 00100 00105 virtual ~OSDipBlockSolver() = 0; 00106 00107 00108 // 00109 };//end class OSDipBlockSolver 00110 00111 00112 00113 #endif