112 for(i = 0; i <
nRows(); ++i)
120 for(i = 0; i <
nCols(); ++i)
140 for(i = 0; i <
nRows(); ++i)
148 for(i = 0; i <
nCols(); ++i)
167 assert(
baseId(i).isSPxRowId());
169 switch (
desc().rowStatus(n))
192 assert(
baseId(i).isSPxColId());
194 switch (
desc().colStatus(n))
218 for (
int i = 0; i <
dim(); ++i)
237 assert(
baseId(i).isSPxRowId());
239 switch (
desc().rowStatus(n))
269 assert(
baseId(i).isSPxColId());
272 switch (
desc().colStatus(n))
300 for (
int i = 0; i <
dim(); ++i)
317 int nlinesprinted = 0;
320 for(
int i = 0; i < m; ++i )
329 <<
" tolerance: " << viol_max
338 <<
" tolerance: " << viol_max
342 if( nlinesprinted >= 3 )
344 MSG_INFO2( (*
spxout), (*
spxout) <<
"WBOUND10 suppressing further warnings of type WBOUND{01,02} in this round" << std::endl );
352 int nlinesprinted = 0;
356 for(
int i = 0; i < m; ++i )
363 <<
" tolerance: " << viol_max
372 <<
" tolerance: " << viol_max
376 if( nlinesprinted >= 3 )
378 MSG_INFO2( (*
spxout), (*
spxout) <<
"WBOUND11 suppressing further warnings of type WBOUND{03,04} in this round" << std::endl );
384 for(
int i = 0; i < n; ++i )
391 <<
" tolerance: " << viol_max
400 <<
" tolerance: " << viol_max
404 if( nlinesprinted >= 3 )
406 MSG_INFO2( (*
spxout), (*
spxout) <<
"WBOUND12 suppressing further warnings of type WBOUND{05,06} in this round" << std::endl );
const VectorBase< Real > & rhs() const
Returns right hand side vector.
void setEnterBound4Col(int, int)
primal variable is fixed to both bounds
const VectorBase< Real > & upper() const
Returns upper bound vector.
Desc::Status dualColStatus(int i) const
dual Status for the i'th column variable of the loaded LP.
SPxOut * spxout
message handler
THREADLOCAL const Real infinity
DVector * theUbound
Upper bound for vars.
Real leavetol() const
feasibility tolerance maintained by ratio test during LEAVE algorithm.
DVector * theCoUbound
Upper bound for covars.
Status & rowStatus(int i)
void clearDualBounds(SPxBasis::Desc::Status, Real &, Real &) const
int number(const SPxRowId &id) const
Returns the row number of the row with identifier id.
int dim() const
dimension of basis matrix.
void setPrimalBounds()
setup feasibility bounds for entering algorithm
void setLeaveBound4Col(int i, int n)
Ids for LP columns.Class SPxColId provides DataKeys for the column indices of an SPxLP.
Desc::Status dualRowStatus(int i) const
dual Status for the i'th row variable of the loaded LP.
dual variable is left free, but unset
int nRows() const
Returns number of rows in LP.
primal variable is set to its upper bound
Generic Ids for LP rows or columns.Both SPxColIds and SPxRowIds may be treated uniformly as SPxIds: ...
DVector * theLbound
Lower bound for vars.
Real entertol() const
feasibility tolerance maintained by ratio test during ENTER algorithm.
#define MSG_INFO2(spxout, x)
Prints out message x if the verbosity level is at least SPxOut::INFO2.
virtual void setLeaveBounds()
dual variable is set to its upper bound
DVector theLBbound
Lower Basic Feasibility bound.
primal variable is left free, but unset
const VectorBase< Real > & lhs() const
Returns left hand side vector.
DVector theURbound
Upper Row Feasibility bound.
const VectorBase< Real > & maxRowObj() const
Status & colStatus(int i)
DVector theUBbound
Upper Basic Feasibility bound.
DVector * theCoLbound
Lower bound for covars.
Debugging, floating point type and parameter definitions.
DVector theLRbound
Lower Row Feasibility bound.
DVector theUCbound
Upper Column Feasibility bound.
Everything should be within this namespace.
primal variable is set to its lower bound
const VectorBase< Real > & maxObj() const
Returns objective vector for maximization problem.
void setEnterBound4Row(int, int)
DVector theLCbound
Lower Column Feasibility bound.
bool isSPxRowId() const
is id a row id?
dual variable is set to its lower bound
Type type() const
return current Type.
int coDim() const
codimension.
int nCols() const
Returns number of columns in LP.
virtual void setEnterBounds()
Ids for LP rows.Class SPxRowId provides DataKeys for the row indices of an SPxLP. ...
int iterCount
number of calls to change() since last manipulation
Status
Status of a variable.
void setLeaveBound4Row(int i, int n)
const VectorBase< Real > & lower() const
Returns (internal and possibly scaled) lower bound vector.
const Desc & desc() const
Representation rep() const
return the current basis representation.
columnwise representation.