00001 // Edwin 11/10/2009-- carved out of CbcBranchActual 00002 #ifndef CbcFixVariable_H 00003 #define CbcFixVariable_H 00004 00005 #include "CbcBranchBase.hpp" 00016 class CbcFixVariable : public CbcConsequence { 00017 00018 public: 00019 00020 // Default Constructor 00021 CbcFixVariable (); 00022 00023 // One useful Constructor 00024 CbcFixVariable (int numberStates, const int * states, const int * numberNewLower, const int ** newLowerValue, 00025 const int ** lowerColumn, 00026 const int * numberNewUpper, const int ** newUpperValue, 00027 const int ** upperColumn); 00028 00029 // Copy constructor 00030 CbcFixVariable ( const CbcFixVariable & rhs); 00031 00032 // Assignment operator 00033 CbcFixVariable & operator=( const CbcFixVariable & rhs); 00034 00036 virtual CbcConsequence * clone() const; 00037 00039 virtual ~CbcFixVariable (); 00040 00043 virtual void applyToSolver(OsiSolverInterface * solver, int state) const; 00044 00045 protected: 00047 int numberStates_; 00049 int * states_; 00051 int * startLower_; 00053 int * startUpper_; 00055 double * newBound_; 00057 int * variable_; 00058 }; 00059 00060 #endif 00061