/build/buildd/coinor-cbc-2.5.0/debian/tmp/usr/include/coin/CbcBranchDefaultDecision.hpp
Go to the documentation of this file.
00001 // Edwin 11/10/2009-- carved out of CbcBranchActual
00002 #ifndef CbcBranchDefaultDecision_H
00003 #define CbcBranchDefaultDecision_H
00004 
00005 #include "CbcBranchBase.hpp"
00012 class CbcBranchDefaultDecision : public CbcBranchDecision {
00013 public:
00014     // Default Constructor
00015     CbcBranchDefaultDecision ();
00016 
00017     // Copy constructor
00018     CbcBranchDefaultDecision ( const CbcBranchDefaultDecision &);
00019 
00020     virtual ~CbcBranchDefaultDecision();
00021 
00023     virtual CbcBranchDecision * clone() const;
00024 
00026     virtual void initialize(CbcModel * model);
00027 
00047     virtual int betterBranch(CbcBranchingObject * thisOne,
00048                              CbcBranchingObject * bestSoFar,
00049                              double changeUp, int numInfUp,
00050                              double changeDn, int numInfDn);
00052     virtual void setBestCriterion(double value);
00053     virtual double getBestCriterion() const;
00054 
00061     virtual int
00062     bestBranch (CbcBranchingObject ** objects, int numberObjects, int numberUnsatisfied,
00063                 double * changeUp, int * numberInfeasibilitiesUp,
00064                 double * changeDown, int * numberInfeasibilitiesDown,
00065                 double objectiveValue) ;
00066 private:
00067 
00069     CbcBranchDefaultDecision & operator=(const CbcBranchDefaultDecision& rhs);
00070 
00072 
00074     double bestCriterion_;
00075 
00077     double bestChangeUp_;
00078 
00080     int bestNumberUp_;
00081 
00083     double bestChangeDown_;
00084 
00086     CbcBranchingObject * bestObject_;
00087 
00089     int bestNumberDown_;
00090 
00091 };
00092 
00093 #endif
00094