/home/coin/SVN-release/Cbc-2.4.1/Cbc/src/CbcFathom.hpp

Go to the documentation of this file.
00001 /* $Id: CbcFathom.hpp 1271 2009-11-05 15:57:25Z forrest $ */
00002 // Copyright (C) 2004, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef CbcFathom_H
00005 #define CbcFathom_H
00006 #include "CbcConfig.h"
00007 
00008 class CbcModel;
00009 
00010 //#############################################################################
00022 class CbcFathom {
00023 public:
00024   // Default Constructor 
00025   CbcFathom ();
00026 
00027   // Constructor with model - assumed before cuts
00028   CbcFathom (CbcModel & model);
00029 
00030   virtual ~CbcFathom();
00031 
00033   virtual void setModel(CbcModel * model);
00034   
00036   virtual CbcFathom * clone() const=0;
00037 
00039   virtual void resetModel(CbcModel * model)=0;
00040 
00049   virtual int fathom(double *& newSolution)=0;
00050 
00051   // Is this method possible
00052   inline bool possible() const
00053   { return possible_;}
00054 
00055 protected:
00056 
00058   CbcModel * model_;
00060   bool possible_;
00061 private:
00062   
00064   CbcFathom & operator=(const CbcFathom& rhs);
00065   
00066 };
00067 #ifdef COIN_HAS_CLP
00068 #include "OsiClpSolverInterface.hpp"
00069 
00070 //#############################################################################
00071 
00077 class CbcOsiSolver : public OsiClpSolverInterface {
00078   
00079 public:
00080   
00083 
00084   CbcOsiSolver ();
00085   
00087   virtual OsiSolverInterface * clone(bool copyData=true) const;
00088   
00090   CbcOsiSolver (const CbcOsiSolver &);
00091   
00093   CbcOsiSolver & operator=(const CbcOsiSolver& rhs);
00094   
00096   virtual ~CbcOsiSolver ();
00097   
00099   
00100   
00103 
00104   inline void setCbcModel(CbcModel * model)
00105   { cbcModel_=model;}
00107   inline CbcModel * cbcModel() const
00108   { return cbcModel_;}
00110   
00111   //---------------------------------------------------------------------------
00112   
00113 protected:
00114   
00115   
00118 
00119   CbcModel * cbcModel_;
00121 };
00122 #endif
00123 #endif

Generated on Thu Apr 8 03:02:02 2010 by  doxygen 1.4.7