1 #ifndef ICbcModel_H 2 #define ICbcModel_H 3 4 //#define NPY_NO_DEPRECATED_API 5 6 //#include "ClpModel.hpp" 7 #include "ClpPackedMatrix.hpp" 8 #include "Python.h" 9 #include <numpy/arrayobject.h> 10 #include "CoinFinite.hpp" 11 #include "CoinPragma.hpp" 12 #include "CbcModel.hpp" 13 #include "Python.h" 14 #include <numpy/arrayobject.h> 15 #include "OsiClpSolverInterface.hpp" 16 #include "ICbcNode.hpp" 17 //#include "CbcSolver.hpp" 18 //#include "CbcCompareUser.hpp" 19 20 class ICbcModel; 21 typedef int (*runTest_t)(void *instance, ICbcNode * x, ICbcNode * y); 22 typedef bool (*runNewSolution_t)(void *instance,ICbcModel * model, 23 double objectiveAtContinuous, 24 int numberInfeasibilitiesAtContinuous); 25 typedef int (*runEvery1000Nodes_t)(void *instance, 26 ICbcModel * model,int numberNodes); 27 28 29 30 class ICbcModel : public CbcModel{ 31 public: 32 ICbcModel(OsiClpSolverInterface&); 33 PyObject * getPrimalVariableSolution(); 34 35 void setNodeCompare(PyObject* obj, 36 runTest_t runTest, runNewSolution_t runNewSolution, 37 runEvery1000Nodes_t runEvery1000Nodes); 38 int cbcMain(); 39 }; 40 41 42 #endif 43