/home/coin/SVN-release/Smi-0.92.0/Cbc/src/CbcCountRowCut.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2002, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef CbcCountRowCut_H
00004 #define CbcCountRowCut_H
00005 
00006 
00007 class OsiCuts;
00008 class OsiRowCut;
00009 class CbcNodeInfo;
00010 
00011 //#############################################################################
00032 class CbcCountRowCut : public OsiRowCut {
00033 
00034 public:
00035   
00038 
00040     CbcCountRowCut ();
00041 
00043     CbcCountRowCut ( const OsiRowCut &);  
00044 
00046     CbcCountRowCut(const OsiRowCut &, CbcNodeInfo *, int whichOne,
00047                    int whichGenerator=-1);  
00048 
00055     virtual ~CbcCountRowCut ();
00057 
00059   void increment(int change=1);
00060 
00062   int decrement(int change=1);
00063 
00071   void setInfo(CbcNodeInfo *, int whichOne);
00072 
00074   inline int numberPointingToThis()
00075   { return numberPointingToThis_;}
00076 
00078   inline int whichCutGenerator() const
00079   { return whichCutGenerator_;}
00080   
00082   bool canDropCut(const OsiSolverInterface * solver, int row) const;
00083 
00084 #ifdef CHECK_CUT_COUNTS
00085   // Just for printing sanity checks
00086   int tempNumber_;
00087 #endif
00088 
00089 private:
00090 
00092   CbcCountRowCut(const CbcCountRowCut &);
00093   
00095   CbcCountRowCut & operator=(const CbcCountRowCut& rhs);
00096 
00098   CbcNodeInfo * owner_;
00099   
00102   int ownerCut_;
00103   
00105   int numberPointingToThis_;
00106 
00108   int whichCutGenerator_;
00109 
00110 };
00111 //#define CBC_DETERMINISTIC_THREAD
00112 
00113 #endif

Generated on Sat Sep 20 03:04:24 2008 by  doxygen 1.4.7