Cbc
trunk
|
00001 // $Id$ 00002 // Copyright (C) 2002, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 // This code is licensed under the terms of the Eclipse Public License (EPL). 00005 00006 // Edwin 11/10/2009-- carved out of CbcBranchActual 00007 00008 #ifndef CbcBranchDefaultDecision_H 00009 #define CbcBranchDefaultDecision_H 00010 00011 #include "CbcBranchBase.hpp" 00018 class CbcBranchDefaultDecision : public CbcBranchDecision { 00019 public: 00020 // Default Constructor 00021 CbcBranchDefaultDecision (); 00022 00023 // Copy constructor 00024 CbcBranchDefaultDecision ( const CbcBranchDefaultDecision &); 00025 00026 virtual ~CbcBranchDefaultDecision(); 00027 00029 virtual CbcBranchDecision * clone() const; 00030 00032 virtual void initialize(CbcModel * model); 00033 00053 virtual int betterBranch(CbcBranchingObject * thisOne, 00054 CbcBranchingObject * bestSoFar, 00055 double changeUp, int numInfUp, 00056 double changeDn, int numInfDn); 00058 virtual void setBestCriterion(double value); 00059 virtual double getBestCriterion() const; 00060 00067 virtual int 00068 bestBranch (CbcBranchingObject ** objects, int numberObjects, int numberUnsatisfied, 00069 double * changeUp, int * numberInfeasibilitiesUp, 00070 double * changeDown, int * numberInfeasibilitiesDown, 00071 double objectiveValue) ; 00072 private: 00073 00075 CbcBranchDefaultDecision & operator=(const CbcBranchDefaultDecision& rhs); 00076 00078 00080 double bestCriterion_; 00081 00083 double bestChangeUp_; 00084 00086 int bestNumberUp_; 00087 00089 double bestChangeDown_; 00090 00092 CbcBranchingObject * bestObject_; 00093 00095 int bestNumberDown_; 00096 00097 }; 00098 00099 #endif 00100