Go to the documentation of this file.00001
00002
00003
00004 #ifndef CbcFathom_H
00005 #define CbcFathom_H
00006 #include "CbcConfig.h"
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 class CbcModel;
00017
00018
00030 class CbcFathom {
00031 public:
00032
00033 CbcFathom ();
00034
00035
00036 CbcFathom (CbcModel & model);
00037
00038 virtual ~CbcFathom();
00039
00041 virtual void setModel(CbcModel * model);
00042
00044 virtual CbcFathom * clone() const = 0;
00045
00047 virtual void resetModel(CbcModel * model) = 0;
00048
00057 virtual int fathom(double *& newSolution) = 0;
00058
00059
00060 inline bool possible() const {
00061 return possible_;
00062 }
00063
00064 protected:
00065
00067 CbcModel * model_;
00069 bool possible_;
00070 private:
00071
00073 CbcFathom & operator=(const CbcFathom& rhs);
00074
00075 };
00076 #ifdef COIN_HAS_CLP
00077 #include "OsiClpSolverInterface.hpp"
00078
00079
00080
00088 class CbcOsiSolver : public OsiClpSolverInterface {
00089
00090 public:
00091
00094
00095 CbcOsiSolver ();
00096
00098 virtual OsiSolverInterface * clone(bool copyData = true) const;
00099
00101 CbcOsiSolver (const CbcOsiSolver &);
00102
00104 CbcOsiSolver & operator=(const CbcOsiSolver& rhs);
00105
00107 virtual ~CbcOsiSolver ();
00108
00110
00111
00114
00115 inline void setCbcModel(CbcModel * model) {
00116 cbcModel_ = model;
00117 }
00119 inline CbcModel * cbcModel() const {
00120 return cbcModel_;
00121 }
00123
00124
00125
00126 protected:
00127
00128
00131
00132 CbcModel * cbcModel_;
00134 };
00135 #endif
00136 #endif
00137