boundbranchrule.h

Go to the documentation of this file.
00001 
00032 #ifndef ABA_BOUNDBRANCHRULE_H
00033 #define ABA_BOUNDBRANCHRULE_H
00034 
00035 #include "abacus/branchrule.h"
00036 
00037 #ifdef ABACUS_PARALLEL
00038 class MESSAGE;
00039 #endif
00040   class  ABA_BOUNDBRANCHRULE :  public ABA_BRANCHRULE  { 
00041     public: 
00042 
00050       ABA_BOUNDBRANCHRULE(ABA_MASTER *master, int variable,
00051                           double lBound, double uBound);
00052 
00055       virtual ~ABA_BOUNDBRANCHRULE();
00056 #ifdef ABACUS_PARALLEL
00057 
00063       ABA_BOUNDBRANCHRULE(ABA_MASTER *master, ABA_MESSAGE &msg);
00064 
00071       virtual void pack(ABA_MESSAGE &msg) const;
00072 
00079       virtual int classId() const;
00080 #endif
00081 
00091       friend ostream &operator<<(ostream &out, const ABA_BOUNDBRANCHRULE &rhs);
00092       
00102       virtual int extract(ABA_SUB *sub);
00103 
00110       virtual void extract(ABA_LPSUB *lp);
00111       virtual void unExtract(ABA_LPSUB *lp);
00112 
00115       int variable() const;
00116 
00119       double lBound() const;
00120 
00123       double uBound() const;
00124 
00125     private: 
00126       int    variable_;
00127       double lBound_;
00128       double uBound_;
00129       double oldLpLBound_;
00130       double oldLpUBound_;
00131   };
00132 
00133 
00134 inline int ABA_BOUNDBRANCHRULE::variable() const
00135   {
00136     return variable_;
00137   }
00138 
00139 inline double ABA_BOUNDBRANCHRULE::lBound() const
00140   {
00141     return lBound_;
00142   }
00143 
00144 inline double ABA_BOUNDBRANCHRULE::uBound() const
00145   {
00146     return uBound_;
00147   }
00148 
00149 
00150 #endif  // !ABA_BOUNDBRANCHRULE_H
00151 

Generated on Tue Aug 14 18:09:53 2007 for ABACUS by  doxygen 1.5.1