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 CbcGeneral_H 00009 #define CbcGeneral_H 00010 00011 #include "CbcBranchBase.hpp" 00017 class CbcGeneral : public CbcObject { 00018 00019 public: 00020 00021 // Default Constructor 00022 CbcGeneral (); 00023 00027 CbcGeneral (CbcModel * model); 00028 00029 // Copy constructor 00030 CbcGeneral ( const CbcGeneral &); 00031 00033 virtual CbcObject * clone() const = 0; 00034 00035 // Assignment operator 00036 CbcGeneral & operator=( const CbcGeneral& rhs); 00037 00038 // Destructor 00039 ~CbcGeneral (); 00040 00042 virtual double infeasibility(const OsiBranchingInformation * info, 00043 int &preferredWay) const; 00044 00045 using CbcObject::feasibleRegion ; 00047 virtual void feasibleRegion() = 0; 00048 00050 virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ; 00051 00053 virtual void redoSequenceEtc(CbcModel * model, int numberColumns, const int * originalColumns) = 0; 00054 00055 protected: 00057 }; 00058 00059 #endif 00060