/home/coin/SVN-release/CoinAll-1.1.0/Cbc/examples/CbcBranchUser.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2002, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef CbcBranchUser_H
00004 #define CbcBranchUser_H
00005 
00006 #include "CbcBranchBase.hpp"
00007 #include "CbcBranchActual.hpp"
00008 
00011 class CbcBranchUserDecision : public CbcBranchDecision {
00012 public:
00013   // Default Constructor 
00014   CbcBranchUserDecision ();
00015 
00016   // Copy constructor 
00017   CbcBranchUserDecision ( const CbcBranchUserDecision &);
00018 
00019   virtual ~CbcBranchUserDecision();
00020 
00022   virtual CbcBranchDecision * clone() const;
00023 
00025   virtual void initialize(CbcModel * model);
00026 
00034   virtual int betterBranch(CbcBranchingObject * thisOne,
00035                             CbcBranchingObject * bestSoFar,
00036                             double changeUp, int numberInfeasibilitiesUp,
00037                             double changeDown, int numberInfeasibilitiesDown);
00038 
00046   virtual int
00047   bestBranch (CbcBranchingObject ** objects, int numberObjects, int numberUnsatisfied,
00048               double * changeUp, int * numberInfeasibilitiesUp,
00049               double * changeDown, int * numberInfeasibilitiesDown,
00050               double objectiveValue) ;
00051 private:
00052   
00054   CbcBranchUserDecision & operator=(const CbcBranchUserDecision& rhs);
00055 
00056 };
00057 
00059 
00060 
00061 class CbcSimpleIntegerFixed : public CbcSimpleInteger {
00062 
00063 public:
00064 
00065   // Default Constructor 
00066   CbcSimpleIntegerFixed ();
00067 
00068   // Useful constructor - passed integer index and model index
00069   CbcSimpleIntegerFixed (CbcModel * model, int iColumn, double breakEven=0.5);
00070   
00071   // Constructor from simple
00072   CbcSimpleIntegerFixed (const CbcSimpleInteger & simple);
00073   
00074   // Copy constructor 
00075   CbcSimpleIntegerFixed ( const CbcSimpleIntegerFixed &);
00076    
00078   virtual CbcObject * clone() const;
00079 
00080   // Assignment operator 
00081   CbcSimpleIntegerFixed & operator=( const CbcSimpleIntegerFixed& rhs);
00082 
00083   // Destructor 
00084   ~CbcSimpleIntegerFixed ();
00085   
00087   virtual double infeasibility(int & preferredWay) const;
00088 
00093   //virtual CbcBranchingObject * createBranch(int way) ;
00099   virtual CbcBranchingObject * createBranch(OsiSolverInterface * solver,
00100                                             const OsiBranchingInformation * info, int way) ;
00101 
00102 protected:
00104 };
00105 
00106 #endif

Generated on Sun Nov 14 14:06:30 2010 for Coin-All by  doxygen 1.4.7