BonminCbcNode.hpp

Go to the documentation of this file.
00001 // (C) Copyright International Business Machines Corporation and Carnegie Mellon University 2006
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // Authors :
00006 // John J. Forrest, International Business Machines Corporation
00007 // Pierre Bonami, Carnegie Mellon University,
00008 //
00009 // Date : 03/15/2006
00010 
00011 #ifndef BonminCbcNode_H
00012 #define BonminCbcNode_H
00013 
00014 #include "CbcNode.hpp"
00015 
00016 
00017 
00026 class BonminCbcFullNodeInfo : public CbcFullNodeInfo
00027 {
00028 
00029 public:
00030   friend class BonminCbcPartialNodeInfo;
00031   // Default Constructor
00032   BonminCbcFullNodeInfo ();
00033 
00034   // Constructor from current state
00035   BonminCbcFullNodeInfo (CbcModel * model, int numberRowsAtContinuous);
00036 
00037   // Copy constructor
00038   BonminCbcFullNodeInfo ( const BonminCbcFullNodeInfo &);
00039 
00040   // Destructor
00041   ~BonminCbcFullNodeInfo ();
00042 
00044   virtual CbcNodeInfo * clone() const;
00045 
00048   virtual void allBranchesGone();
00049 
00051   inline int getSequenceOfInfeasiblesSize()
00052   {
00053     return sequenceOfInfeasiblesSize_;
00054   }
00056   inline int getSequenceOfUnsolvedSize()
00057   {
00058     return sequenceOfUnsolvedSize_;
00059   }
00060 private:
00061   /* Data values */
00063   int sequenceOfInfeasiblesSize_;
00065   int sequenceOfUnsolvedSize_;
00066 private:
00067 
00069   BonminCbcFullNodeInfo & operator=(const BonminCbcFullNodeInfo& rhs);
00070 };
00071 
00080 class BonminCbcPartialNodeInfo : public CbcPartialNodeInfo
00081 {
00082 
00083 public:
00084   // Default Constructor
00085   BonminCbcPartialNodeInfo ();
00086 
00087   // Constructor from current state
00088   BonminCbcPartialNodeInfo (CbcModel * model, CbcNodeInfo * parent, CbcNode * owner,
00089       int numberChangedBounds,const int * variables,
00090       const double * boundChanges,
00091       const CoinWarmStartDiff *basisDiff) ;
00092 
00093   // Copy constructor
00094   BonminCbcPartialNodeInfo ( const BonminCbcPartialNodeInfo &);
00095 
00096   // Destructor
00097   ~BonminCbcPartialNodeInfo ();
00098 
00100   virtual CbcNodeInfo * clone() const;
00101 
00104   virtual void allBranchesGone();
00105 
00107   inline int getSequenceOfInfeasiblesSize()
00108   {
00109     return sequenceOfInfeasiblesSize_;
00110   }
00112   inline int getSequenceOfUnsolvedSize()
00113   {
00114     return sequenceOfUnsolvedSize_;
00115   }
00116 private:
00117   /* Data values */
00119   int sequenceOfInfeasiblesSize_;
00121   int sequenceOfUnsolvedSize_;
00122 private:
00123 
00125   BonminCbcPartialNodeInfo & operator=(const BonminCbcPartialNodeInfo& rhs);
00126 };
00127 #endif

Generated on Fri May 16 21:05:57 2008 for Bonmin by  doxygen 1.4.7