00001 /* $Id: CbcFeasibilityBase.hpp 1432 2010-02-07 19:33:53Z bjarni $ */ 00002 // Copyright (C) 2005, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 #ifndef CbcFeasibilityBase_H 00005 #define CbcFeasibilityBase_H 00006 00007 00008 //############################################################################# 00009 /* There are cases where the user wants to control how CBC sees the problems feasibility. 00010 The user may want to examine the problem and say : 00011 a) The default looks OK 00012 b) Pretend this problem is Integer feasible 00013 c) Pretend this problem is infeasible even though it looks feasible 00014 00015 This simple class allows user to do that. 00016 00017 */ 00018 00019 class CbcModel; 00020 class CbcFeasibilityBase { 00021 public: 00022 // Default Constructor 00023 CbcFeasibilityBase () {} 00024 00034 virtual int feasible(CbcModel * , int ) { 00035 return 0; 00036 } 00037 00038 virtual ~CbcFeasibilityBase() {} 00039 00040 // Copy constructor 00041 CbcFeasibilityBase ( const CbcFeasibilityBase & ) {} 00042 00043 // Assignment operator 00044 CbcFeasibilityBase & operator=( const CbcFeasibilityBase& ) { 00045 return *this; 00046 } 00047 00049 virtual CbcFeasibilityBase * clone() const { 00050 return new CbcFeasibilityBase(*this); 00051 } 00052 }; 00053 #endif 00054