Go to the documentation of this file.00001
00002 #ifndef CbcBranchDefaultDecision_H
00003 #define CbcBranchDefaultDecision_H
00004
00005 #include "CbcBranchBase.hpp"
00012 class CbcBranchDefaultDecision : public CbcBranchDecision {
00013 public:
00014
00015 CbcBranchDefaultDecision ();
00016
00017
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