CbcBranchUser.hpp

Go to the documentation of this file.
00001 // $Id: CbcBranchUser.hpp 1574 2011-01-05 01:13:55Z lou $
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 #ifndef CbcBranchUser_H
00007 #define CbcBranchUser_H
00008 
00009 #include "CbcBranchBase.hpp"
00010 #include "CbcBranchActual.hpp"
00011 
00014 class CbcBranchUserDecision : public CbcBranchDecision {
00015 public:
00016   // Default Constructor 
00017   CbcBranchUserDecision ();
00018 
00019   // Copy constructor 
00020   CbcBranchUserDecision ( const CbcBranchUserDecision &);
00021 
00022   virtual ~CbcBranchUserDecision();
00023 
00025   virtual CbcBranchDecision * clone() const;
00026 
00028   virtual void initialize(CbcModel * model);
00029 
00037   virtual int betterBranch(CbcBranchingObject * thisOne,
00038                             CbcBranchingObject * bestSoFar,
00039                             double changeUp, int numberInfeasibilitiesUp,
00040                             double changeDown, int numberInfeasibilitiesDown);
00041 
00049   virtual int
00050   bestBranch (CbcBranchingObject ** objects, int numberObjects, int numberUnsatisfied,
00051               double * changeUp, int * numberInfeasibilitiesUp,
00052               double * changeDown, int * numberInfeasibilitiesDown,
00053               double objectiveValue) ;
00054 private:
00055   
00057   CbcBranchUserDecision & operator=(const CbcBranchUserDecision& rhs);
00058 
00059 };
00060 
00062 
00063 
00064 class CbcSimpleIntegerFixed : public CbcSimpleInteger {
00065 
00066 public:
00067 
00068   // Default Constructor 
00069   CbcSimpleIntegerFixed ();
00070 
00071   // Useful constructor - passed integer index and model index
00072   CbcSimpleIntegerFixed (CbcModel * model, int iColumn, double breakEven=0.5);
00073   
00074   // Constructor from simple
00075   CbcSimpleIntegerFixed (const CbcSimpleInteger & simple);
00076   
00077   // Copy constructor 
00078   CbcSimpleIntegerFixed ( const CbcSimpleIntegerFixed &);
00079    
00081   virtual CbcObject * clone() const;
00082 
00083   // Assignment operator 
00084   CbcSimpleIntegerFixed & operator=( const CbcSimpleIntegerFixed& rhs);
00085 
00086   // Destructor 
00087   ~CbcSimpleIntegerFixed ();
00088   
00090   virtual double infeasibility(int & preferredWay) const;
00091 
00096   //virtual CbcBranchingObject * createBranch(int way) ;
00102   virtual CbcBranchingObject * createBranch(OsiSolverInterface * solver,
00103                                             const OsiBranchingInformation * info, int way) ;
00104 
00105 protected:
00107 };
00108 
00109 #endif

Generated on Sun Oct 23 03:09:14 2011 for Cbc by  doxygen 1.4.7