# 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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines