• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/tmp/buildd/coinor-cbc-2.5.0/debian/tmp/usr/include/coin/CbcFathom.hpp

Go to the documentation of this file.
00001 /* $Id: CbcFathom.hpp 1432 2010-02-07 19:33:53Z bjarni $ */
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 /*
00009   This file contains two classes, CbcFathom and CbcOsiSolver. It's unclear why
00010   they're in the same file. CbcOsiSolver is a base class for CbcLinked.
00011 
00012   --lh, 071031 --
00013 */
00014 
00015 
00016 class CbcModel;
00017 
00018 //#############################################################################
00030 class CbcFathom {
00031 public:
00032     // Default Constructor
00033     CbcFathom ();
00034 
00035     // Constructor with model - assumed before cuts
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     // Is this method possible
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 

Generated on Tue Sep 7 2010 20:23:52 by  doxygen 1.7.1