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 CbcFixVariable_H 00009 #define CbcFixVariable_H 00010 00011 #include "CbcBranchBase.hpp" 00022 class CbcFixVariable : public CbcConsequence { 00023 00024 public: 00025 00026 // Default Constructor 00027 CbcFixVariable (); 00028 00029 // One useful Constructor 00030 CbcFixVariable (int numberStates, const int * states, const int * numberNewLower, const int ** newLowerValue, 00031 const int ** lowerColumn, 00032 const int * numberNewUpper, const int ** newUpperValue, 00033 const int ** upperColumn); 00034 00035 // Copy constructor 00036 CbcFixVariable ( const CbcFixVariable & rhs); 00037 00038 // Assignment operator 00039 CbcFixVariable & operator=( const CbcFixVariable & rhs); 00040 00042 virtual CbcConsequence * clone() const; 00043 00045 virtual ~CbcFixVariable (); 00046 00049 virtual void applyToSolver(OsiSolverInterface * solver, int state) const; 00050 00051 protected: 00053 int numberStates_; 00055 int * states_; 00057 int * startLower_; 00059 int * startUpper_; 00061 double * newBound_; 00063 int * variable_; 00064 }; 00065 00066 #endif 00067