00001 // Edwin 11/10/2009-- carved out of CbcBranchActual 00002 #ifndef CbcGeneral_H 00003 #define CbcGeneral_H 00004 00005 #include "CbcBranchBase.hpp" 00011 class CbcGeneral : public CbcObject { 00012 00013 public: 00014 00015 // Default Constructor 00016 CbcGeneral (); 00017 00021 CbcGeneral (CbcModel * model); 00022 00023 // Copy constructor 00024 CbcGeneral ( const CbcGeneral &); 00025 00027 virtual CbcObject * clone() const = 0; 00028 00029 // Assignment operator 00030 CbcGeneral & operator=( const CbcGeneral& rhs); 00031 00032 // Destructor 00033 ~CbcGeneral (); 00034 00036 virtual double infeasibility(const OsiBranchingInformation * info, 00037 int &preferredWay) const; 00038 00039 using CbcObject::feasibleRegion ; 00041 virtual void feasibleRegion() = 0; 00042 00044 virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ; 00045 00047 virtual void redoSequenceEtc(CbcModel * model, int numberColumns, const int * originalColumns) = 0; 00048 00049 protected: 00051 }; 00052 00053 #endif 00054