00001 //===========================================================================// 00002 // This file is part of the Decomp Solver Framework. // 00003 // // 00004 // Decomp is distributed under the Common Public License as part of the // 00005 // COIN-OR repository (http://www.coin-or.org). // 00006 // // 00007 // Author: Matthew Galati, SAS Institute Inc. (matthew.galati@sas.com) // 00008 // // 00009 // Copyright (C) 2002-2007, Lehigh University, Matthew Galati, and Ted Ralphs// 00010 // All Rights Reserved. // 00011 //===========================================================================// 00012 00013 #ifndef DECOMP_WAITING_COL_INCLUDE 00014 #define DECOMP_WAITING_COL_INCLUDE 00015 00016 //class DecompVar; 00017 #include "DecompVar.h" 00018 00019 // ---------------------------------------------------------------------- // 00020 class DecompWaitingCol { 00021 private: 00022 //THINK 00023 //DecompWaitingCol & operator=(const DecompWaitingCol &); 00024 00025 private: 00026 DecompVar* m_var; //s the variable 00027 CoinPackedVector* m_col; //(A'' s) the column 00028 00029 public: 00030 inline DecompVar* getVarPtr() const { 00031 return m_var; 00032 } 00033 inline CoinPackedVector* getColPtr() const { 00034 return m_col; 00035 } 00036 inline const double getReducedCost() const { 00037 return m_var->getReducedCost(); 00038 } 00039 inline const double getLowerBound() const { 00040 return m_var->getLowerBound(); 00041 } 00042 inline const double getUpperBound() const { 00043 return m_var->getUpperBound(); 00044 } 00045 inline const double getOrigCost() const { 00046 return m_var->getOriginalCost(); 00047 } 00048 00049 inline void deleteCol() { 00050 UTIL_DELPTR(m_col); 00051 } 00052 inline void deleteVar() { 00053 UTIL_DELPTR(m_var); 00054 } 00055 inline void clearVar() { 00056 m_var = 0; 00057 } 00058 inline void setCol(CoinPackedVector* col) { 00059 m_col = col; 00060 } 00061 00062 bool setReducedCost(const double* u, 00063 const decompStat stat); 00064 00065 public: 00066 DecompWaitingCol(const DecompWaitingCol& rhs) { 00067 m_var = rhs.m_var; 00068 m_col = rhs.m_col; 00069 } 00070 DecompWaitingCol(DecompVar* var, CoinPackedVector* col) : 00071 m_var(var), 00072 m_col(col) {} 00073 00074 ~DecompWaitingCol() {} 00075 }; 00076 00077 #endif