SPxLPBase< R > Class Template Reference Saving LPs in a form suitable for SoPlex.Class SPxLPBase provides the data structures required for saving a linear program in the form
suitable for solving with SoPlex. This includes: More...
Inheritance diagram for SPxLPBase< R >:
![]()
Detailed Descriptiontemplate<class R>
|
enum SPxSense |
SPxLPBase | ( | ) |
Default constructor.
Definition at line 2350 of file spxlpbase.h.
|
virtual |
Destructor.
Definition at line 2358 of file spxlpbase.h.
Copy constructor.
Definition at line 2362 of file spxlpbase.h.
Copy constructor.
Definition at line 2374 of file spxlpbase.h.
|
virtual |
Definition at line 650 of file spxlpbase.h.
Referenced by SoPlex::_addColReal(), SoPlex::_transformFeasibility(), SPxLPBase< Real >::addCol(), SoPlex::addColRational(), SoPlex::addColReal(), and SPxMainSM::handleRowObjectives().
|
virtual |
Definition at line 656 of file spxlpbase.h.
void addCol | ( | const S * | objValue, |
const S * | lowerValue, | ||
const S * | colValues, | ||
const int * | colIndices, | ||
int | colSize, | ||
const S * | upperValue | ||
) |
Definition at line 663 of file spxlpbase.h.
Adds col
to LPColSetVBase.
Definition at line 695 of file spxlpbase.h.
|
virtual |
Definition at line 702 of file spxlpbase.h.
Referenced by SoPlex::_addColsReal(), SoPlex::_transformEquality(), SoPlex::addColRational(), SPxLPBase< Real >::addCols(), SoPlex::addColsRational(), and SoPlex::addColsReal().
void addCols | ( | const S * | objValue, |
const S * | lowerValues, | ||
const S * | colValues, | ||
const int * | colIndices, | ||
const int * | colStarts, | ||
const int * | colLengths, | ||
const int | numCols, | ||
const int | numValues, | ||
const S * | upperValues | ||
) |
Definition at line 709 of file spxlpbase.h.
|
virtual |
Adds all LPColBases of set
to LPColSetBase.
Definition at line 797 of file spxlpbase.h.
|
virtual |
Updates "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero.
SPxInternalCodeException | if dimension of dual vector does not match number of rows or if the dimension of the activity vector does not match the number of columns |
Definition at line 1709 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable().
Definition at line 1970 of file spxlpbase.h.
|
protectedvirtual |
Called after the last n
columns have just been added.
Reimplemented in SPxSolver.
Definition at line 1966 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), and SPxLPBase< Real >::doAddRows().
|
protectedvirtual |
Called after the last n
rows have just been added.
Reimplemented in SPxSolver.
Definition at line 1962 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), and SPxLPBase< Real >::doAddRows().
|
virtual |
Updates activity of the rows for a given primal vector; activity does not need to be zero.
SPxInternalCodeException | if the dimension of primal vector does not match number of columns or if the dimension of the activity vector does not match the number of rows |
Definition at line 1655 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable().
|
virtual |
Definition at line 488 of file spxlpbase.h.
Referenced by SoPlex::_addRowReal(), SoPlex::_lift(), SoPlex::_transformUnbounded(), SPxLPBase< Real >::addRow(), SoPlex::addRowRational(), and SoPlex::addRowReal().
|
virtual |
Definition at line 494 of file spxlpbase.h.
void addRow | ( | const S * | lhsValue, |
const S * | rowValues, | ||
const int * | rowIndices, | ||
int | rowSize, | ||
const S * | rhsValue | ||
) |
Definition at line 501 of file spxlpbase.h.
Adds row
to LPRowSetBase.
Definition at line 536 of file spxlpbase.h.
|
virtual |
Definition at line 543 of file spxlpbase.h.
Referenced by SoPlex::_addRowsReal(), SoPlex::addRowRational(), SPxLPBase< Real >::addRows(), SoPlex::addRowsRational(), and SoPlex::addRowsReal().
void addRows | ( | const S * | lhsValues, |
const S * | rowValues, | ||
const int * | rowIndices, | ||
const int * | rowStarts, | ||
const int * | rowLengths, | ||
const int | numRows, | ||
const int | numValues, | ||
const S * | rhsValues | ||
) |
Definition at line 550 of file spxlpbase.h.
|
virtual |
adds all LPRowBases of pset
to LPRowSetBase.
Definition at line 640 of file spxlpbase.h.
|
virtual |
Changes variable bounds to newLower
and newUpper
.
Definition at line 1309 of file spxlpbase.h.
Referenced by SoPlex::_changeBoundsReal(), SoPlex::_lift(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SPxLPBase< Real >::changeBounds(), SoPlex::changeBoundsRational(), SoPlex::changeBoundsReal(), and SPxMainSM::simplifyCols().
|
virtual |
Changes bounds of column i
to newLower
and newUpper
.
Reimplemented in SPxSolver.
Definition at line 1318 of file spxlpbase.h.
void changeBounds | ( | int | i, |
const S * | newLower, | ||
const S * | newUpper | ||
) |
Changes bounds of column i
to newLower
and newUpper
.
Definition at line 1328 of file spxlpbase.h.
|
virtual |
Changes bounds of column with identifier id
.
Reimplemented in SPxSolver.
Definition at line 1336 of file spxlpbase.h.
|
virtual |
Replaces i
'th column of LP with newCol
.
Definition at line 1494 of file spxlpbase.h.
Referenced by SoPlex::_changeColReal(), SPxLPBase< Real >::changeCol(), SoPlex::changeColRational(), and SoPlex::changeColReal().
Replaces column with identifier id
with newCol
.
Definition at line 1526 of file spxlpbase.h.
|
virtual |
Changes LP element (i
, j
) to val
.
Reimplemented in SPxSolver.
Definition at line 1532 of file spxlpbase.h.
Referenced by SoPlex::_changeElementReal(), SoPlex::_lift(), SPxLPBase< Real >::changeElement(), SoPlex::changeElementRational(), and SoPlex::changeElementReal().
void changeElement | ( | int | i, |
int | j, | ||
const S * | val | ||
) |
Changes LP element (i
, j
) to val
.
Definition at line 1564 of file spxlpbase.h.
Changes LP element identified by (rid
, cid
) to val
.
Reimplemented in SPxSolver.
Definition at line 1595 of file spxlpbase.h.
|
virtual |
Changes left hand side vector for constraints to newLhs
.
Definition at line 1342 of file spxlpbase.h.
Referenced by SoPlex::_changeLhsReal(), SoPlex::_restoreLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::changeLhs(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SPxLPBase< Real >::changeRange(), SPxLPBase< Real >::changeRow(), SPxMainSM::fixColumn(), SPxMainSM::handleExtremes(), and SPxMainSM::simplifyRows().
|
virtual |
Changes i
'th left hand side value to newLhs
.
Reimplemented in SPxSolver.
Definition at line 1350 of file spxlpbase.h.
void changeLhs | ( | int | i, |
const S * | newLhs | ||
) |
Changes i
'th left hand side value to newLhs
.
Definition at line 1358 of file spxlpbase.h.
|
virtual |
Changes left hand side value for row with identifier id
.
Reimplemented in SPxSolver.
Definition at line 1365 of file spxlpbase.h.
|
virtual |
Changes vector of lower bounds to newLower
.
Definition at line 1247 of file spxlpbase.h.
Referenced by SoPlex::_changeLowerReal(), SoPlex::_restoreLPReal(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::changeBounds(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeLower(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SPxMainSM::duplicateCols(), SPxMainSM::handleExtremes(), SPxMainSM::removeRowSingleton(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), and SPxMainSM::simplifyRows().
|
virtual |
changes i
'th lower bound to newLower
.
Reimplemented in SPxSolver.
Definition at line 1256 of file spxlpbase.h.
void changeLower | ( | int | i, |
const S * | newLower | ||
) |
changes i
'th lower bound to newLower
.
Definition at line 1265 of file spxlpbase.h.
|
virtual |
changes lower bound of column with identifier id
to newLower
.
Reimplemented in SPxSolver.
Definition at line 1272 of file spxlpbase.h.
|
virtual |
Changes objective vector to newObj
.
Definition at line 1218 of file spxlpbase.h.
Referenced by SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), and SPxLPBase< Real >::changeMaxObj().
|
virtual |
changes i
'th objective vector element to newVal
.
Reimplemented in SPxSolver.
Definition at line 1226 of file spxlpbase.h.
void changeMaxObj | ( | int | i, |
const S * | newVal | ||
) |
changes i
'th objective vector element to newVal
.
Definition at line 1234 of file spxlpbase.h.
|
virtual |
Changes objective value of column with identifier id
to newVal
.
Reimplemented in SPxSolver.
Definition at line 1241 of file spxlpbase.h.
|
virtual |
Changes objective vector to newObj
.
Definition at line 1182 of file spxlpbase.h.
Referenced by SoPlex::_restoreLPReal(), SoPlex::_transformUnbounded(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeObj(), SoPlex::changeObjRational(), SoPlex::changeObjReal(), SPxMainSM::handleExtremes(), and SPxMainSM::simplifyCols().
|
virtual |
changes i
'th objective vector element to newVal
.
Reimplemented in SPxSolver.
Definition at line 1193 of file spxlpbase.h.
void changeObj | ( | int | i, |
const S * | newVal | ||
) |
changes i
'th objective vector element to newVal
.
Definition at line 1203 of file spxlpbase.h.
|
virtual |
Changes objective value of column with identifier id
to newVal
.
Reimplemented in SPxSolver.
Definition at line 1212 of file spxlpbase.h.
|
virtual |
Definition at line 1611 of file spxlpbase.h.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::_readFileRational(), and SoPlex::_readFileReal().
|
virtual |
Changes left and right hand side vectors.
Definition at line 1392 of file spxlpbase.h.
Referenced by SoPlex::_changeRangeReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SPxLPBase< Real >::changeRange(), SoPlex::changeRangeRational(), SoPlex::changeRangeReal(), SPxMainSM::duplicateRows(), SPxMainSM::handleRowObjectives(), and SPxMainSM::simplifyCols().
|
virtual |
Changes left and right hand side of row i
.
Reimplemented in SPxSolver.
Definition at line 1401 of file spxlpbase.h.
void changeRange | ( | int | i, |
const S * | newLhs, | ||
const S * | newRhs | ||
) |
Changes left and right hand side of row i
.
Definition at line 1411 of file spxlpbase.h.
|
virtual |
Changes left and right hand side of row with identifier id
.
Reimplemented in SPxSolver.
Definition at line 1419 of file spxlpbase.h.
|
virtual |
Changes right hand side vector for constraints to newRhs
.
Definition at line 1371 of file spxlpbase.h.
Referenced by SoPlex::_changeRhsReal(), SoPlex::_restoreLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::changeRange(), SPxLPBase< Real >::changeRhs(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SPxLPBase< Real >::changeRow(), SPxMainSM::fixColumn(), SPxMainSM::handleExtremes(), and SPxMainSM::simplifyRows().
|
virtual |
Changes i
'th right hand side value to newRhs
.
Reimplemented in SPxSolver.
Definition at line 1379 of file spxlpbase.h.
|
virtual |
Changes right hand side value for row with identifier id
.
Reimplemented in SPxSolver.
Definition at line 1386 of file spxlpbase.h.
|
virtual |
Replaces i
'th row of LP with newRow
.
Definition at line 1456 of file spxlpbase.h.
Referenced by SoPlex::_changeRowReal(), SPxLPBase< Real >::changeRow(), SoPlex::changeRowRational(), and SoPlex::changeRowReal().
Replaces row with identifier id
with newRow
.
Definition at line 1488 of file spxlpbase.h.
|
virtual |
Changes row objective function vector to newRowObj
.
Definition at line 1425 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::changeRowObj(), and SPxMainSM::handleRowObjectives().
|
virtual |
Changes i
'th row objective function value to newRowObj
.
Reimplemented in SPxSolver.
Definition at line 1435 of file spxlpbase.h.
|
virtual |
Changes row objective function value for row with identifier id
.
Reimplemented in SPxSolver.
Definition at line 1444 of file spxlpbase.h.
|
virtual |
Changes optimization sense to sns
.
Definition at line 1601 of file spxlpbase.h.
Referenced by SoPlex::setIntParam().
|
virtual |
Changes vector of upper bounds to newUpper
.
Definition at line 1278 of file spxlpbase.h.
Referenced by SoPlex::_changeUpperReal(), SoPlex::_restoreLPReal(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::changeBounds(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeUpper(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SPxMainSM::duplicateCols(), SPxMainSM::handleExtremes(), SPxMainSM::removeRowSingleton(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), and SPxMainSM::simplifyRows().
|
virtual |
Changes i
'th upper bound to newUpper
.
Reimplemented in SPxSolver.
Definition at line 1287 of file spxlpbase.h.
void changeUpper | ( | int | i, |
const S * | newUpper | ||
) |
Changes i
'th upper bound to newUpper
.
Definition at line 1296 of file spxlpbase.h.
|
virtual |
Changes upper bound of column with identifier id
to newLower
.
Reimplemented in SPxSolver.
Definition at line 1303 of file spxlpbase.h.
SPxColId cId | ( | int | n | ) | const |
Returns the column identifier for column n
.
Definition at line 476 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SoPlexLegacy::getColName(), soplex::getColName(), soplex::initPrefs(), and SPxWeightPR::selectEnter().
|
virtual |
clears the LP.
Reimplemented in SPxSolver.
Definition at line 1007 of file spxlpbase.h.
Referenced by SoPlex::clearLPRational(), SoPlex::clearLPReal(), SPxLPBase< R >::readLPF(), SPxLPBase< R >::readMPS(), and SPxLPBase< Real >::SPxLPBase().
|
virtual |
Clears row objective function values for all rows.
Reimplemented in SPxSolver.
Definition at line 1450 of file spxlpbase.h.
const SVectorBase<R>& colVector | ( | int | i | ) | const |
Returns column vector of column i
.
Definition at line 341 of file spxlpbase.h.
Referenced by SoPlex::_untransformFeasibility(), SoPlex::addColRational(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addPrimalActivity(), SPxLPBase< Real >::addRows(), SoPlex::areLPsInSync(), SoPlex::colVectorRational(), SoPlex::colVectorReal(), SPxLPBase< Real >::computePrimalActivity(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveCol(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxMainSM::fixColumn(), SPxMainSM::ForceConstraintPS::ForceConstraintPS(), SPxLPBase< Real >::getCol(), SPxLPBase< Real >::getCols(), SPxLPBase< Real >::isConsistent(), SPxLPBase< Real >::maxAbsNzo(), SPxScaler::maxColRatio(), SPxLPBase< Real >::minAbsNzo(), SPxLPBase< Real >::nNzos(), SPxMainSM::removeEmpty(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplifyCols(), and SPxMainSM::simplifyDual().
const SVectorBase<R>& colVector | ( | const SPxColId & | id | ) | const |
Returns column vector of column with identifier id
.
Definition at line 347 of file spxlpbase.h.
|
private |
Returns the LP as an LPRowSet.
Definition at line 2030 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addRows(), SPxScaler::applyScaling(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveRow(), SPxLPBase< Real >::doRemoveRows(), and SPxMainSM::handleExtremes().
|
virtual |
Computes "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero.
SPxInternalCodeException | if dimension of dual vector does not match number of rows or if the dimension of the activity vector does not match the number of columns |
Definition at line 1673 of file spxlpbase.h.
|
virtual |
Computes activity of the rows for a given primal vector; activity does not need to be zero.
SPxInternalCodeException | if the dimension of primal vector does not match number of columns or if the dimension of the activity vector does not match the number of rows |
Definition at line 1619 of file spxlpbase.h.
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_untransformFeasibility(), SoPlex::getRowViolationRational(), and SoPlex::getRowViolationReal().
|
private |
Definition at line 2191 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCol().
|
private |
Definition at line 2225 of file spxlpbase.h.
|
private |
Definition at line 2257 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCols().
|
private |
Definition at line 2042 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addRow().
|
private |
Definition at line 2074 of file spxlpbase.h.
|
private |
Definition at line 2104 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addRows().
|
protectedvirtual |
Internal helper method.
Reimplemented in SPxSolver.
Definition at line 1910 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::removeCol().
|
protectedvirtual |
Internal helper method.
Reimplemented in SPxSolver.
Definition at line 1939 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::removeCols().
|
protectedvirtual |
Internal helper method.
Reimplemented in SPxSolver.
Definition at line 1860 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::removeRow().
|
protectedvirtual |
Internal helper method.
Reimplemented in SPxSolver.
Definition at line 1888 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::removeRows().
void getCol | ( | int | i, |
LPColBase< R > & | col | ||
) | const |
Gets i
'th column.
Definition at line 316 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::getCol(), SoPlex::getColRational(), and SoPlex::getColReal().
Gets column with identifier id
.
Definition at line 326 of file spxlpbase.h.
void getCols | ( | int | start, |
int | end, | ||
LPColSetBase< R > & | set | ||
) | const |
Gets columns start
, ..., end
.
Definition at line 332 of file spxlpbase.h.
Referenced by SoPlex::getColsRational(), and SoPlex::getColsReal().
void getObj | ( | VectorBase< R > & | pobj | ) | const |
Gets objective vector.
Definition at line 353 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_storeLPReal(), SoPlex::getObjRational(), and SoPlex::getObjReal().
void getRow | ( | int | i, |
LPRowBase< R > & | row | ||
) | const |
Gets i
'th row.
Definition at line 188 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::getRow(), SoPlex::getRowRational(), and SoPlex::getRowReal().
Gets row with identifier id
.
Definition at line 197 of file spxlpbase.h.
void getRowObj | ( | VectorBase< R > & | prowobj | ) | const |
Gets row objective function vector.
Definition at line 260 of file spxlpbase.h.
void getRows | ( | int | start, |
int | end, | ||
LPRowSetBase< R > & | set | ||
) | const |
Gets rows start
, ... end
.
Definition at line 203 of file spxlpbase.h.
Referenced by SoPlex::getRowsRational(), and SoPlex::getRowsReal().
bool isConsistent | ( | ) | const |
Consistency check.
Definition at line 1753 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling(), SPxLPBase< Real >::changeBounds(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeLhs(), SPxLPBase< Real >::changeLower(), SPxLPBase< Real >::changeMaxObj(), SPxLPBase< Real >::changeObj(), SPxLPBase< Real >::changeRange(), SPxLPBase< Real >::changeRhs(), SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::changeRowObj(), SPxLPBase< Real >::changeUpper(), SPxMainSM::handleExtremes(), SPxLPBase< Real >::operator=(), SPxScaler::setup(), SoPlexLegacy::SoPlexLegacy(), and SPxLPBase< Real >::SPxLPBase().
const VectorBase<R>& lhs | ( | ) | const |
Returns left hand side vector.
Definition at line 242 of file spxlpbase.h.
Referenced by SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_restoreLPReal(), SoPlex::_storeLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::addRowRational(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SPxLPBase< Real >::changeLhs(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SoPlex::changeRangeRational(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SPxBasis::dualRowStatus(), SPxMainSM::duplicateRows(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxLPBase< Real >::getRow(), SPxLPBase< Real >::getRows(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), SoPlex::lhsRational(), SoPlex::lhsReal(), soplex::LPFwriteRows(), SPxLPBase< Real >::printProblemStatistics(), SoPlexLegacy::qualConstraintViolation(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), SPxWeightST::setPrimalStatus(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), and SPxMainSM::simplifyRows().
const R& lhs | ( | int | i | ) | const |
Definition at line 248 of file spxlpbase.h.
const R& lhs | ( | const SPxRowId & | id | ) | const |
Returns left hand side of row with identifier id
.
Definition at line 254 of file spxlpbase.h.
|
protected |
Returns left hand side of row i
.
Definition at line 1812 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling().
const VectorBase<R>& lower | ( | ) | const |
Returns lower bound vector.
Definition at line 420 of file spxlpbase.h.
Referenced by SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_storeLPReal(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SoPlex::changeBoundsRational(), SPxLPBase< Real >::changeLower(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SPxMainSM::duplicateCols(), SPxMainSM::FixBoundsPS::FixBoundsPS(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxWeightST::generate(), SPxLPBase< Real >::getCol(), SPxLPBase< Real >::getCols(), SPxMainSM::handleExtremes(), SoPlex::lowerRational(), SoPlex::lowerReal(), soplex::LPFwriteBounds(), soplex::primalColStatus(), SPxLPBase< Real >::printProblemStatistics(), SoPlexLegacy::qualBoundViolation(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), SPxSumST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), and SPxBasis::writeBasis().
const R& lower | ( | int | i | ) | const |
Returns lower bound of column i
.
Definition at line 426 of file spxlpbase.h.
const R& lower | ( | const SPxColId & | id | ) | const |
Returns lower bound of column with identifier id
.
Definition at line 432 of file spxlpbase.h.
|
protected |
Returns lower bound of column i
.
Definition at line 1836 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling().
|
protected |
Returns the LP as an LPColSetBase.
Definition at line 1854 of file spxlpbase.h.
|
protected |
Returns the LP as an LPRowSetBase.
Definition at line 1848 of file spxlpbase.h.
R maxAbsNzo | ( | ) | const |
Absolute biggest non-zero element in LP.
Definition at line 169 of file spxlpbase.h.
Referenced by SoPlex::maxAbsNonzeroRational(), SoPlex::maxAbsNonzeroReal(), SPxLPBase< Real >::printProblemStatistics(), SPxEquiliSC::scale(), and SPxGeometSC::scale().
const VectorBase<R>& maxObj | ( | ) | const |
Returns objective vector for maximization problem.
Methods maxObj() return the objective vector or its elements, after transformation to a maximization problem. Since this is how SPxLPBase internally stores any LP these methods are generally faster. The following condition holds: obj() = spxSense() * maxObj().
Definition at line 384 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::areLPsInSync(), SPxLPBase< Real >::changeMaxObj(), SPxLPBase< Real >::changeObj(), SPxWeightPR::computeCP(), SPxWeightPR::computeRP(), SPxMainSM::duplicateCols(), SPxWeightST::generate(), SPxWeightPR::load(), soplex::LPFwriteObjective(), SoPlex::maxObjRational(), SoPlex::maxObjReal(), SPxLPBase< Real >::obj(), SoPlexLegacy::objValue(), soplex::primalColStatus(), SPxMainSM::removeEmpty(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplifyCols(), and SPxMainSM::simplifyDual().
const R& maxObj | ( | int | i | ) | const |
Returns objective value of column i
for maximization problem.
Definition at line 390 of file spxlpbase.h.
const R& maxObj | ( | const SPxColId & | id | ) | const |
Returns objective value of column with identifier id
for maximization problem.
Definition at line 396 of file spxlpbase.h.
|
protected |
Returns objective value of column i
for maximization problem.
Definition at line 1824 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling().
const VectorBase<R>& maxRowObj | ( | ) | const |
Definition at line 286 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable(), SPxLPBase< Real >::changeRowObj(), SPxMainSM::handleRowObjectives(), and SPxLPBase< Real >::rowObj().
const R& maxRowObj | ( | int | i | ) | const |
Definition at line 292 of file spxlpbase.h.
const R& maxRowObj | ( | const SPxRowId & | id | ) | const |
Returns row objective function value of row with identifier id
.
Definition at line 298 of file spxlpbase.h.
|
protected |
Returns objective function value of row i
.
Definition at line 1818 of file spxlpbase.h.
R minAbsNzo | ( | ) | const |
Absolute smallest non-zero element in LP.
Definition at line 150 of file spxlpbase.h.
Referenced by SoPlex::minAbsNonzeroRational(), SoPlex::minAbsNonzeroReal(), SPxLPBase< Real >::printProblemStatistics(), SPxEquiliSC::scale(), and SPxGeometSC::scale().
int nCols | ( | ) | const |
Returns number of columns in LP.
Definition at line 133 of file spxlpbase.h.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_storeLPReal(), SoPlex::_storeSolutionReal(), SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addDualActivity(), SPxBasis::addedCols(), SPxLPBase< Real >::addPrimalActivity(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SPxLPBase< Real >::computeDualActivity(), SPxLPBase< Real >::computePrimalActivity(), SPxBasis::Desc::Desc(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveCol(), SPxLPBase< Real >::doRemoveRows(), SPxBasis::dump(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxWeightST::generate(), SoPlexLegacy::getBasis(), SoPlexLegacy::getColName(), soplex::getColName(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), soplex::initPrefs(), SPxWeightPR::isConsistent(), SPxBasis::isConsistent(), SPxLPBase< Real >::isConsistent(), SPxBasis::isDescValid(), SPxWeightPR::load(), SPxBasis::loadDesc(), soplex::LPFwriteBounds(), soplex::LPFwriteGenerals(), soplex::LPFwriteSVector(), SPxLPBase< Real >::maxAbsNzo(), SPxScaler::maxColRatio(), SPxLPBase< Real >::minAbsNzo(), SPxLPBase< Real >::nNzos(), SoPlex::numColsRational(), SoPlex::numColsReal(), SoPlexLegacy::objValue(), SPxLPBase< Real >::printProblemStatistics(), SoPlexLegacy::qualBoundViolation(), SoPlexLegacy::qualConstraintViolation(), SPxBasis::readBasis(), SPxBasis::reDim(), SPxMainSM::removeCol(), SPxLPBase< Real >::removeColRange(), SoPlex::removeColRational(), SoPlex::removeColReal(), SPxLPBase< Real >::removeCols(), SoPlex::removeColsRational(), SoPlex::removeColsReal(), SPxBasis::removedCol(), SPxMainSM::removeEmpty(), SPxBasis::restoreInitialBasis(), SoPlexLegacy::setBasis(), SoPlex::setBasis(), SPxScaler::setup(), SPxSteepPR::setupPrefsX(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SoPlexLegacy::solve(), SPxLPBase< Real >::subDualActivity(), SoPlexLegacy::unsimplify(), SPxBasis::writeBasis(), and SoPlexLegacy::writeBasisFile().
int nNzos | ( | ) | const |
Returns number of nonzeros in LP.
Definition at line 139 of file spxlpbase.h.
Referenced by SoPlex::areLPsInSync(), SoPlex::numNonzerosRational(), SoPlex::numNonzerosReal(), SPxLPBase< Real >::printProblemStatistics(), and SPxMainSM::simplify().
int nRows | ( | ) | const |
Returns number of rows in LP.
Definition at line 127 of file spxlpbase.h.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_restoreLPReal(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_storeSolutionReal(), SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addDualActivity(), SPxBasis::addedRows(), SPxLPBase< Real >::addPrimalActivity(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SPxLPBase< Real >::computeDualActivity(), SPxLPBase< Real >::computePrimalActivity(), SPxBasis::Desc::Desc(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveCols(), SPxLPBase< Real >::doRemoveRow(), SPxBasis::dump(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxWeightST::generate(), SoPlexLegacy::getBasis(), SoPlexLegacy::getRowName(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), soplex::initPrefs(), SPxWeightPR::isConsistent(), SPxBasis::isConsistent(), SPxLPBase< Real >::isConsistent(), SPxBasis::isDescValid(), SPxWeightPR::load(), SPxBasis::loadDesc(), soplex::LPFgetRowName(), soplex::LPFwriteRows(), SPxScaler::maxRowRatio(), soplex::MPSgetRowName(), SoPlex::numRowsRational(), SoPlex::numRowsReal(), SPxLPBase< Real >::printProblemStatistics(), SoPlexLegacy::qualConstraintViolation(), SPxBasis::readBasis(), SPxBasis::reDim(), SPxBasis::removedRow(), SPxMainSM::removeEmpty(), SPxMainSM::removeRow(), SPxLPBase< Real >::removeRowRange(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SPxLPBase< Real >::removeRows(), SoPlex::removeRowsRational(), SoPlex::removeRowsReal(), SPxBasis::restoreInitialBasis(), SoPlexLegacy::setBasis(), SoPlex::setBasis(), SPxScaler::setup(), SPxSteepPR::setupPrefsX(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SoPlexLegacy::solve(), SPxLPBase< Real >::subDualActivity(), SoPlexLegacy::unsimplify(), SPxBasis::writeBasis(), and SoPlexLegacy::writeBasisFile().
int number | ( | const SPxRowId & | id | ) | const |
Returns the row number of the row with identifier id
.
Definition at line 450 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::changeBounds(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeLhs(), SPxLPBase< Real >::changeLower(), SPxLPBase< Real >::changeMaxObj(), SPxLPBase< Real >::changeObj(), SPxLPBase< Real >::changeRange(), SPxLPBase< Real >::changeRhs(), SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::changeRowObj(), SPxLPBase< Real >::changeUpper(), SPxWeightPR::computeLeavePenalty(), SPxBasis::dump(), SPxBoundFlippingRT::flipAndUpdate(), SPxWeightST::generate(), SoPlex::getBasisInd(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SPxLPBase< Real >::getCol(), SPxLPBase< Real >::getRow(), SPxSteepPR::left4(), SPxLPBase< Real >::removeCol(), SPxLPBase< Real >::removeCols(), SPxBasis::removedCol(), SPxBasis::removedRow(), SPxLPBase< Real >::removeRow(), SPxLPBase< Real >::removeRows(), SPxParMultPR::selectEnter(), SPxFastRT::selectEnter(), SPxFastRT::selectLeave(), SPxBoundFlippingRT::selectLeave(), soplex::setDualStatus(), SPxWeightST::setPrimalStatus(), and SPxSteepPR::setupWeights().
int number | ( | const SPxColId & | id | ) | const |
Returns the column number of the column with identifier id
.
Definition at line 456 of file spxlpbase.h.
int number | ( | const SPxId & | id | ) | const |
Returns the row or column number for identifier id
.
Definition at line 462 of file spxlpbase.h.
R obj | ( | int | i | ) | const |
Returns objective value of column i
.
Definition at line 362 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable(), SPxMainSM::FixVariablePS::FixVariablePS(), SPxMainSM::ForceConstraintPS::ForceConstraintPS(), SPxMainSM::FreeColSingletonPS::FreeColSingletonPS(), SPxMainSM::handleExtremes(), SoPlex::objRational(), SoPlex::objReal(), and SPxMainSM::simplifyCols().
R obj | ( | const SPxColId & | id | ) | const |
Returns objective value of column with identifier id
.
Definition at line 371 of file spxlpbase.h.
const R& objOffset | ( | ) | const |
Returns the objective function value offset.
Definition at line 444 of file spxlpbase.h.
Assignment operator.
Definition at line 2385 of file spxlpbase.h.
Assignment operator.
Definition at line 2402 of file spxlpbase.h.
void printProblemStatistics | ( | std::ostream & | os | ) |
prints problem statistics
Definition at line 1097 of file spxlpbase.h.
Referenced by SoPlex::printStatistics().
|
virtual |
Reads LP in LP or MPS format from input stream in
.
in | input stream. |
rowNames | contains after the call the names of the constraints (rows) in the same order as the rows in the LP. Constraints without a name (only possible with LPF files) are automatically assigned a name. Maybe 0 if the names are not needed. |
colNames | contains after the call the names of the variables (columns) in the same order as the columns in the LP. Maybe 0 if the names are not needed. |
intVars | contains after the call the indices of those variables that where marked as beeing integer in the file. Maybe 0 if the information is not needed. |
Reimplemented in SPxSolver.
Definition at line 1039 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::readFile().
|
virtual |
Reads LP from a file.
Definition at line 1059 of file spxlpbase.h.
Referenced by SoPlex::_readFileRational(), and SoPlex::_readFileReal().
bool readLPF | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
Read LP in "CPLEX LP File Format".
The specification is taken from the ILOG CPLEX 7.0 Reference Manual, Appendix E, Page 527.
This routine should read (most?) valid LP format files. What it will not do, is find all cases where a file is ill formed. If this happens it may complain and read nothing or read "something".
Problem: A line ending in '+' or '-' followed by a line starting with a number, will be regarded as an error.
The reader will accept the keyword INT[egers] as a synonym for GEN[erals] which is an undocumented feature in CPLEX.
A difference to the CPLEX reader, is that no name for the objective row is required.
The manual says the maximum allowed line length is 255 characters, but CPLEX does not complain if the lines are longer.
< row names.
< column names.
< the set of columns read.
< the set of rows read.
< reusable empty column.
< last assembled row.
< last assembled vector (from row).
p_input | input stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 387 of file spxlpbase_real.cpp.
References DSVectorBase< R >::add(), NameSet::add(), LPRowSetBase< R >::add(), DIdxSet::addIdx(), NameSet::clear(), SVectorBase< R >::clear(), soplex::EQ(), NameSet::has(), SVectorBase< R >::index(), soplex::infinity, LPColSetBase< R >::lower(), LPColSetBase< R >::lower_w(), LPF_MAX_LINE_LEN, soplex::LPFhasKeyword(), soplex::LPFhasRowName(), soplex::LPFisColName(), soplex::LPFisFree(), soplex::LPFisInfinity(), soplex::LPFisSense(), soplex::LPFisSpace(), soplex::LPFisValue(), soplex::LPFreadColName(), soplex::LPFreadInfinity(), soplex::LPFreadSense(), soplex::LPFreadValue(), LPColSetBase< R >::maxObj_w(), MSG_DEBUG, MSG_ERROR, MSG_INFO2, MSG_WARNING, soplex::NE(), LPRowSetBase< R >::num(), SVectorBase< R >::number(), SVectorBase< R >::remove(), LPRowBase< R >::setLhs(), LPRowBase< R >::setRhs(), LPRowBase< R >::setRowVector(), SVectorBase< R >::size(), soplex::spx_alloc(), soplex::spx_free(), soplex::spxAbs(), LPColSetBase< R >::upper(), LPColSetBase< R >::upper_w(), SVectorBase< R >::value(), and NameSet::~NameSet().
bool readLPF | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
Read LP in "CPLEX LP File Format".
The specification is taken from the ILOG CPLEX 7.0 Reference Manual, Appendix E, Page 527.
This routine should read (most?) valid LP format files. What it will not do, is find all cases where a file is ill formed. If this happens it may complain and read nothing or read "something".
Problem: A line ending in '+' or '-' followed by a line starting with a number, will be regarded as an error.
The reader will accept the keyword INT[egers] as a synonym for GEN[erals] which is an undocumented feature in CPLEX.
A difference to the CPLEX reader, is that no name for the objective row is required.
The manual says the maximum allowed line length is 255 characters, but CPLEX does not complain if the lines are longer.
< row names.
< column names.
< the set of columns read.
< the set of rows read.
< reusable empty column.
< last assembled row.
< last assembled vector (from row).
p_input | input stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 418 of file spxlpbase_rational.cpp.
References DSVectorBase< R >::add(), NameSet::add(), LPRowSetBase< R >::add(), DIdxSet::addIdx(), NameSet::clear(), SVectorBase< R >::clear(), SPxLPBase< R >::clear(), NameSet::has(), SVectorBase< R >::index(), soplex::infinity, LPColSetBase< R >::lower(), LPColSetBase< R >::lower_w(), LPF_MAX_LINE_LEN, soplex::LPFhasKeyword(), soplex::LPFhasRowName(), soplex::LPFisColName(), soplex::LPFisFree(), soplex::LPFisInfinity(), soplex::LPFisSense(), soplex::LPFisSpace(), soplex::LPFisValue(), soplex::LPFreadColName(), soplex::LPFreadInfinity(), soplex::LPFreadSense(), soplex::LPFreadValue(), LPColSetBase< R >::maxObj_w(), MSG_DEBUG, MSG_ERROR, MSG_INFO2, MSG_WARNING, LPRowSetBase< R >::num(), SVectorBase< R >::number(), SVectorBase< R >::remove(), LPRowBase< R >::setLhs(), LPRowBase< R >::setRhs(), LPRowBase< R >::setRowVector(), SVectorBase< R >::size(), soplex::spx_alloc(), soplex::spx_free(), soplex::spxAbs(), LPColSetBase< R >::upper(), LPColSetBase< R >::upper_w(), SVectorBase< R >::value(), and NameSet::~NameSet().
|
virtual |
Reads LP in LP format from input stream in
.
Referenced by SPxLPBase< Real >::clear(), and SPxLPBase< Real >::read().
|
virtual |
Reads an LP in MPS format from input stream in
.
Referenced by SPxLPBase< Real >::clear(), and SPxLPBase< Real >::read().
bool readMPS | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
p_input | input stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 1493 of file spxlpbase_real.cpp.
References NameSet::clear(), MPSInput::hasError(), INIT_COLS, INIT_NZOS, LPColSetBase< R >::memRemax(), soplex::MPSreadBounds(), soplex::MPSreadCols(), soplex::MPSreadName(), soplex::MPSreadObjname(), soplex::MPSreadObjsen(), soplex::MPSreadRanges(), soplex::MPSreadRhs(), soplex::MPSreadRows(), MSG_INFO2, LPColSetBase< R >::num(), LPRowSetBase< R >::num(), MPSInput::objSense(), LPColSetBase< R >::reMax(), ROWS, MPSInput::section(), soplex::spx_alloc(), soplex::spx_free(), MPSInput::syntaxError(), and NameSet::~NameSet().
bool readMPS | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
p_input | input stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 1562 of file spxlpbase_rational.cpp.
References MPSInput::BOUNDS, NameSet::clear(), SPxLPBase< R >::clear(), MPSInput::COLUMNS, MPSInput::ENDATA, MPSInput::hasError(), INIT_COLS, INIT_NZOS, LPColSetBase< R >::memRemax(), MPSInput::MINIMIZE, soplex::MPSreadBounds(), soplex::MPSreadCols(), soplex::MPSreadName(), soplex::MPSreadObjname(), soplex::MPSreadObjsen(), soplex::MPSreadRanges(), soplex::MPSreadRhs(), soplex::MPSreadRows(), MSG_INFO2, LPColSetBase< R >::num(), LPRowSetBase< R >::num(), MPSInput::OBJNAME, MPSInput::OBJSEN, MPSInput::objSense(), MPSInput::RANGES, LPColSetBase< R >::reMax(), MPSInput::RHS, MPSInput::ROWS, MPSInput::section(), soplex::spx_alloc(), soplex::spx_free(), MPSInput::syntaxError(), and NameSet::~NameSet().
|
virtual |
Removes i
'th column.
Definition at line 910 of file spxlpbase.h.
Referenced by SoPlex::_removeColReal(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::removeCol(), SPxMainSM::removeCol(), SoPlex::removeColRational(), and SoPlex::removeColReal().
|
virtual |
Removes column with identifier id
.
Definition at line 919 of file spxlpbase.h.
|
virtual |
Removes columns from start
to end
(including both).
Definition at line 980 of file spxlpbase.h.
Referenced by SoPlex::_project(), and SoPlex::_untransformEquality().
|
virtual |
Removes multiple columns.
This method removes all LPColBases from the SPxLPBase with an index i
such that perm
[i] < 0. Upon completion, perm
[i] >= 0 indicates the new index where the i
'th LPColBase has been moved to due to this removal. Note, that perm
must point to an array of at least nCols() ints.
Definition at line 929 of file spxlpbase.h.
Referenced by SoPlex::_removeColsReal(), SPxMainSM::duplicateCols(), SPxLPBase< Real >::removeColRange(), SPxLPBase< Real >::removeCols(), SoPlex::removeColsRational(), and SoPlex::removeColsReal().
|
virtual |
Definition at line 935 of file spxlpbase.h.
|
virtual |
Removes n
LPCols.
Removing multiple columns with one method invocation is available in two flavours. An array perm
can be passed as third argument or not. If given, perm
must be an array at least of size nCols(). It is used to return the permutations resulting from this removal: perm
[i] < 0 indicates, that the element to index i
has been removed. Otherwise, perm
[i] is the new index of the element with index i
before the removal.
Definition at line 960 of file spxlpbase.h.
|
virtual |
Removes i
'th row.
Definition at line 813 of file spxlpbase.h.
Referenced by SoPlex::_removeRowReal(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::removeRow(), SPxMainSM::removeRow(), SoPlex::removeRowRational(), and SoPlex::removeRowReal().
|
virtual |
Removes row with identifier id
.
Definition at line 822 of file spxlpbase.h.
|
virtual |
Removes rows from start
to end
(including both).
Definition at line 883 of file spxlpbase.h.
Referenced by SoPlex::_project().
|
virtual |
Removes multiple rows.
This method removes all LPRowBases from the SPxLPBase with an index i
such that perm
[i] < 0. Upon completion, perm
[i] >= 0 indicates the new index where the i'th
LPRow has been moved to due to this removal. Note that perm
must point to an array of at least nRows() ints.
Definition at line 832 of file spxlpbase.h.
Referenced by SoPlex::_removeRowsReal(), SPxMainSM::duplicateRows(), SPxLPBase< Real >::removeRowRange(), SPxLPBase< Real >::removeRows(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
|
virtual |
Definition at line 838 of file spxlpbase.h.
|
virtual |
Removes n
LPRowBases.
Removing multiple rows with one method invocation is available in two flavours. An array perm
can be passed as third argument or not. If given, perm
must be an array at least of size nRows(). It is used to return the permutations resulting from this removal: perm
[i] < 0 indicates, that the element to index i
has been removed. Otherwise, perm
[i] is the new index of the element with index i
before the removal.
Definition at line 863 of file spxlpbase.h.
const VectorBase<R>& rhs | ( | ) | const |
Returns right hand side vector.
Definition at line 224 of file spxlpbase.h.
Referenced by SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_restoreLPReal(), SoPlex::_storeLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::addRowRational(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SoPlex::changeRangeRational(), SPxLPBase< Real >::changeRhs(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SPxBasis::dualRowStatus(), SPxMainSM::duplicateRows(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxLPBase< Real >::getRow(), SPxLPBase< Real >::getRows(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), soplex::LPFwriteRows(), SPxLPBase< Real >::printProblemStatistics(), SoPlexLegacy::qualConstraintViolation(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SoPlex::rhsRational(), SoPlex::rhsReal(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), SPxWeightST::setPrimalStatus(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), and SPxMainSM::simplifyRows().
const R& rhs | ( | int | i | ) | const |
Definition at line 230 of file spxlpbase.h.
const R& rhs | ( | const SPxRowId & | id | ) | const |
Returns right hand side of row with identifier id
.
Definition at line 236 of file spxlpbase.h.
|
protected |
Returns right hand side of row i
.
Definition at line 1806 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling().
SPxRowId rId | ( | int | n | ) | const |
Returns the row identifier for row n
.
Definition at line 470 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SoPlexLegacy::getRowName(), soplex::getRowName(), soplex::initPrefs(), soplex::LPFgetRowName(), soplex::MPSgetRowName(), and SPxWeightPR::selectEnter().
R rowObj | ( | int | i | ) | const |
Definition at line 268 of file spxlpbase.h.
Referenced by SPxMainSM::DuplicateRowsPS::DuplicateRowsPS(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxLPBase< Real >::getRow(), SPxLPBase< Real >::getRows(), and SPxMainSM::handleRowObjectives().
R rowObj | ( | const SPxRowId & | id | ) | const |
Returns row objective function value of row with identifier id
.
Definition at line 277 of file spxlpbase.h.
LPRowBase<R>::Type rowType | ( | int | i | ) | const |
Returns the inequality type of the i'th
LPRow.
Definition at line 304 of file spxlpbase.h.
Referenced by SoPlex::rowTypeRational(), and SoPlex::rowTypeReal().
Returns the inequality type of the row with identifier key
.
Definition at line 310 of file spxlpbase.h.
const SVectorBase<R>& rowVector | ( | int | i | ) | const |
Gets row vector of row i
.
Definition at line 212 of file spxlpbase.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addDualActivity(), SoPlex::addRowRational(), SPxLPBase< Real >::addRows(), SPxLPBase< Real >::computeDualActivity(), SPxWeightPR::computeRP(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveRow(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SPxLPBase< Real >::getRow(), SPxLPBase< Real >::getRows(), SPxLPBase< Real >::isConsistent(), soplex::LPFwriteRows(), SPxScaler::maxRowRatio(), SoPlexLegacy::qualConstraintViolation(), SPxMainSM::removeEmpty(), SoPlex::rowVectorRational(), SoPlex::rowVectorReal(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), and SPxLPBase< Real >::subDualActivity().
const SVectorBase<R>& rowVector | ( | const SPxRowId & | id | ) | const |
Gets row vector of row with identifier id
.
Definition at line 218 of file spxlpbase.h.
|
private |
Definition at line 2036 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCols(), SPxScaler::applyScaling(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doRemoveCol(), SPxLPBase< Real >::doRemoveCols(), and SPxMainSM::handleExtremes().
void setOutstream | ( | SPxOut & | newOutstream | ) |
Definition at line 118 of file spxlpbase.h.
Referenced by SoPlex::_ensureRationalLP(), SoPlexLegacy::solve(), and SoPlex::SoPlex().
SPxSense spxSense | ( | ) | const |
Returns the optimization sense.
Definition at line 438 of file spxlpbase.h.
Referenced by SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::areLPsInSync(), SPxLPBase< Real >::changeObj(), SPxLPBase< Real >::changeRowObj(), SPxMainSM::ForceConstraintPS::ForceConstraintPS(), SPxLPBase< Real >::getObj(), SPxLPBase< Real >::getRowObj(), soplex::LPFwriteObjective(), SPxLPBase< Real >::obj(), SoPlexLegacy::objValue(), SPxLPBase< Real >::rowObj(), and SPxMainSM::simplify().
|
virtual |
Updates "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero.
SPxInternalCodeException | if dimension of dual vector does not match number of rows or if the dimension of the activity vector does not match the number of columns |
Definition at line 1727 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable(), and SoPlex::_reconstructSolutionRational().
const VectorBase<R>& upper | ( | ) | const |
Returns upper bound vector.
Definition at line 402 of file spxlpbase.h.
Referenced by SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_storeLPReal(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SoPlex::changeBoundsRational(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SPxLPBase< Real >::changeUpper(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SPxMainSM::duplicateCols(), SPxMainSM::FixBoundsPS::FixBoundsPS(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxWeightST::generate(), SPxLPBase< Real >::getCol(), SPxLPBase< Real >::getCols(), SPxMainSM::handleExtremes(), soplex::LPFwriteBounds(), soplex::primalColStatus(), SPxLPBase< Real >::printProblemStatistics(), SoPlexLegacy::qualBoundViolation(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), SPxSumST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SoPlex::upperRational(), SoPlex::upperReal(), and SPxBasis::writeBasis().
const R& upper | ( | int | i | ) | const |
Returns upper bound of column i
.
Definition at line 408 of file spxlpbase.h.
const R& upper | ( | const SPxColId & | id | ) | const |
Returns upper bound of column with identifier id
.
Definition at line 414 of file spxlpbase.h.
|
protected |
Returns upper bound of column i
.
Definition at line 1830 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling().
|
virtual |
Write loaded LP to filename
.
Definition at line 1080 of file spxlpbase.h.
Referenced by SoPlex::_lift(), SoPlex::_project(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::writeFileRational(), and SoPlex::writeFileReal().
|
virtual |
Writes a file in LP format to out
. If rowNames
and colNames
are NULL
, default names are used for the constraints and variables. If intVars
is not NULL
, the variables contained in it are marked as integer in the output.
Referenced by SPxLPBase< Real >::readFile(), and SPxLPBase< Real >::writeFile().
void writeLPF | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
Write LP in LP Format.
p_output | output stream |
p_rnames | row names |
p_cnames | column names |
p_intvars | integer variables |
Definition at line 1873 of file spxlpbase_real.cpp.
References soplex::LPFwriteBounds(), soplex::LPFwriteGenerals(), soplex::LPFwriteObjective(), and soplex::LPFwriteRows().
void writeLPF | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
Write LP in LP Format.
p_output | output stream |
p_rnames | row names |
p_cnames | column names |
p_intvars | integer variables |
Definition at line 1993 of file spxlpbase_rational.cpp.
References soplex::LPFwriteBounds(), soplex::LPFwriteGenerals(), soplex::LPFwriteObjective(), and soplex::LPFwriteRows().
|
virtual |
Writes a file in MPS format to out
.
Referenced by SPxLPBase< Real >::readFile(), and SPxLPBase< Real >::writeFile().
void writeMPS | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
Write LP in MPS format.
p_output | output stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 1974 of file spxlpbase_real.cpp.
References soplex::getColName(), SVectorBase< R >::index(), soplex::infinity, soplex::isNotZero(), soplex::isZero(), soplex::MPSgetRHS(), soplex::MPSgetRowName(), soplex::MPSwriteRecord(), MSG_WARNING, IdxSet::number(), IdxSet::size(), SVectorBase< R >::size(), and SVectorBase< R >::value().
void writeMPS | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
Write LP in MPS format.
p_output | output stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 2100 of file spxlpbase_rational.cpp.
References soplex::getColName(), SVectorBase< R >::index(), soplex::infinity, soplex::MPSgetRHS(), soplex::MPSgetRowName(), soplex::MPSwriteRecord(), MSG_WARNING, IdxSet::number(), IdxSet::size(), SVectorBase< R >::size(), and SVectorBase< R >::value().
|
friend |
Definition at line 79 of file spxlpbase.h.
|
friend |
Definition at line 81 of file spxlpbase.h.
|
friend |
Definition at line 82 of file spxlpbase.h.
|
friend |
Definition at line 78 of file spxlpbase.h.
|
friend |
Definition at line 83 of file spxlpbase.h.
|
friend |
Definition at line 80 of file spxlpbase.h.
|
private |
offset computed, e.g., in simplification step
Definition at line 107 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::objOffset(), and SPxLPBase< Real >::operator=().
SPxOut* spxout |
Definition at line 114 of file spxlpbase.h.
Referenced by SoPlexLegacy::setPostScaler(), SoPlexLegacy::setPreScaler(), SPxMainSM::simplify(), and SoPlexLegacy::solve().
|
private |
optimization sense.
Definition at line 106 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::operator=(), and SPxLPBase< Real >::spxSense().