14 #ifndef DECOMP_CUTOSI_HPP 15 #define DECOMP_CUTOSI_HPP 20 #include "OsiRowCut.hpp" 45 double lb_ = m_osiCut.lb();
46 double ub_ = m_osiCut.ub();
50 }
else if ( lb_ == -DecompInf && ub_ == DecompInf ) {
52 }
else if ( lb_ == -DecompInf ) {
54 }
else if ( ub_ == DecompInf ) {
62 double lb_ = m_osiCut.lb();
63 double ub_ = m_osiCut.ub();
67 }
else if ( lb_ == -DecompInf && ub_ == DecompInf ) {
69 }
else if ( lb_ == -DecompInf ) {
71 }
else if ( ub_ == DecompInf ) {
81 m_osiCut.row().getIndices(),
82 m_osiCut.row().getElements(),
109 row->setVector(m_osiCut.row().getNumElements(),
110 m_osiCut.row().getIndices(),
111 m_osiCut.row().getElements(),
117 void print(ostream* os = &cout)
const {
120 const int* ind = m_osiCut.row().getIndices();
121 const double* els = m_osiCut.row().getElements();
123 for (
int i = 0; i < m_osiCut.row().getNumElements(); i++) {
124 (*os) <<
" + " << els[i] <<
" x[" << ind[i] <<
"]";
128 (*os) <<
" lb: -INF";
double getUpperBound() const
void expandCutToRow(CoinPackedVector *row)
double getLowerBound() const
void setStringHash(CoinPackedVector *row)
string UtilCreateStringHash(const int len, const double *els, const int precision=6)
void setUpperBound(const double ub)
void setLowerBound(const double lb)
#define DECOMP_TEST_DUPINDEX
void print(ostream *os=&cout) const
DecompCutOsi(OsiRowCut &osiCut)
double getViolation() const