Preconfigured SoPlex LP-solver. More...
#include <soplex.h>
Classes | |
struct | RowViolation |
struct | RowViolationCompare |
class | Settings |
class of parameter settings More... | |
class | Statistics |
Public Member Functions | |
SoPlex () | |
default constructor More... | |
SoPlex & | operator= (const SoPlex &rhs) |
assignment operator More... | |
SoPlex (const SoPlex &rhs) | |
copy constructor More... | |
virtual | ~SoPlex () |
destructor More... | |
int | numRowsReal () const |
returns number of rows More... | |
int | numColsReal () const |
returns number of columns More... | |
int | numNonzerosReal () const |
returns number of nonzeros More... | |
Real | minAbsNonzeroReal () const |
returns smallest non-zero element in absolute value More... | |
Real | maxAbsNonzeroReal () const |
returns biggest non-zero element in absolute value More... | |
Real | coefReal (int row, int col) const |
returns (unscaled) coefficient More... | |
const SVectorReal & | rowVectorRealInternal (int i) const |
returns vector of row i , ignoring scaling More... | |
void | getRowVectorReal (int i, DSVectorReal &row) const |
gets vector of row i More... | |
const VectorReal & | rhsRealInternal () const |
returns right-hand side vector, ignoring scaling More... | |
void | getRhsReal (DVectorReal &rhs) const |
gets right-hand side vector More... | |
Real | rhsReal (int i) const |
returns right-hand side of row i More... | |
const VectorReal & | lhsRealInternal () const |
returns left-hand side vector, ignoring scaling More... | |
void | getLhsReal (DVectorReal &lhs) const |
gets left-hand side vector More... | |
Real | lhsReal (int i) const |
returns left-hand side of row i More... | |
LPRowReal::Type | rowTypeReal (int i) const |
returns inequality type of row i More... | |
const SVectorReal & | colVectorRealInternal (int i) const |
returns vector of col i , ignoring scaling More... | |
void | getColVectorReal (int i, DSVectorReal &col) const |
gets vector of col i More... | |
const VectorReal & | upperRealInternal () const |
returns upper bound vector More... | |
Real | upperReal (int i) const |
returns upper bound of column i More... | |
void | getUpperReal (DVectorReal &upper) const |
gets upper bound vector More... | |
const VectorReal & | lowerRealInternal () const |
returns lower bound vector More... | |
Real | lowerReal (int i) const |
returns lower bound of column i More... | |
void | getLowerReal (DVectorReal &lower) const |
gets lower bound vector More... | |
void | getObjReal (VectorReal &obj) const |
gets objective function vector More... | |
Real | objReal (int i) const |
returns objective value of column i More... | |
const VectorReal & | maxObjRealInternal () const |
returns objective function vector after transformation to a maximization problem; since this is how it is stored internally, this is generally faster More... | |
Real | maxObjReal (int i) const |
returns objective value of column i after transformation to a maximization problem; since this is how it is stored internally, this is generally faster More... | |
void | getNdualNorms (int &nnormsRow, int &nnormsCol) const |
gets number of available dual norms More... | |
bool | getDualNorms (int &nnormsRow, int &nnormsCol, Real *norms) const |
gets steepest edge norms and returns false if they are not available More... | |
bool | setDualNorms (int nnormsRow, int nnormsCol, Real *norms) |
sets steepest edge norms and returns false if that's not possible More... | |
void | setIntegralityInformation (int ncols, int *intInfo) |
pass integrality information about the variables to the solver More... | |
int | numRowsRational () const |
returns number of rows More... | |
int | numColsRational () const |
returns number of columns More... | |
int | numNonzerosRational () const |
returns number of nonzeros More... | |
Rational | minAbsNonzeroRational () const |
returns smallest non-zero element in absolute value More... | |
Rational | maxAbsNonzeroRational () const |
returns biggest non-zero element in absolute value More... | |
void | getRowRational (int i, LPRowRational &lprow) const |
gets row i More... | |
void | getRowsRational (int start, int end, LPRowSetRational &lprowset) const |
gets rows start , ..., end . More... | |
const SVectorRational & | rowVectorRational (int i) const |
returns vector of row i More... | |
const VectorRational & | rhsRational () const |
returns right-hand side vector More... | |
const Rational & | rhsRational (int i) const |
returns right-hand side of row i More... | |
const VectorRational & | lhsRational () const |
returns left-hand side vector More... | |
const Rational & | lhsRational (int i) const |
returns left-hand side of row i More... | |
LPRowRational::Type | rowTypeRational (int i) const |
returns inequality type of row i More... | |
void | getColRational (int i, LPColRational &lpcol) const |
gets column i More... | |
void | getColsRational (int start, int end, LPColSetRational &lpcolset) const |
gets columns start , ..., end More... | |
const SVectorRational & | colVectorRational (int i) const |
returns vector of column i More... | |
const VectorRational & | upperRational () const |
returns upper bound vector More... | |
const Rational & | upperRational (int i) const |
returns upper bound of column i More... | |
const VectorRational & | lowerRational () const |
returns lower bound vector More... | |
const Rational & | lowerRational (int i) const |
returns lower bound of column i More... | |
void | getObjRational (VectorRational &obj) const |
gets objective function vector More... | |
void | getObjRational (int i, Rational &obj) const |
gets objective value of column i More... | |
Rational | objRational (int i) const |
returns objective value of column i More... | |
const VectorRational & | maxObjRational () const |
returns objective function vector after transformation to a maximization problem; since this is how it is stored internally, this is generally faster More... | |
const Rational & | maxObjRational (int i) const |
returns objective value of column i after transformation to a maximization problem; since this is how it is stored internally, this is generally faster More... | |
void | addRowReal (const LPRowReal &lprow) |
adds a single row More... | |
void | addRowsReal (const LPRowSetReal &lprowset) |
adds multiple rows More... | |
void | addColReal (const LPCol &lpcol) |
adds a single column More... | |
void | addColsReal (const LPColSetReal &lpcolset) |
adds multiple columns More... | |
void | changeRowReal (int i, const LPRowReal &lprow) |
replaces row i with lprow More... | |
void | changeLhsReal (const VectorReal &lhs) |
changes left-hand side vector for constraints to lhs More... | |
void | changeLhsReal (int i, const Real &lhs) |
changes left-hand side of row i to lhs More... | |
void | changeRhsReal (const VectorReal &rhs) |
changes right-hand side vector to rhs More... | |
void | changeRhsReal (int i, const Real &rhs) |
changes right-hand side of row i to rhs More... | |
void | changeRangeReal (const VectorReal &lhs, const VectorReal &rhs) |
changes left- and right-hand side vectors More... | |
void | changeRangeReal (int i, const Real &lhs, const Real &rhs) |
changes left- and right-hand side of row i More... | |
void | changeColReal (int i, const LPColReal &lpcol) |
replaces column i with lpcol More... | |
void | changeLowerReal (const VectorReal &lower) |
changes vector of lower bounds to lower More... | |
void | changeLowerReal (int i, const Real &lower) |
changes lower bound of column i to lower More... | |
void | changeUpperReal (const VectorReal &upper) |
changes vector of upper bounds to upper More... | |
void | changeUpperReal (int i, const Real &upper) |
changes i 'th upper bound to upper More... | |
void | changeBoundsReal (const VectorReal &lower, const VectorReal &upper) |
changes vectors of column bounds to lower and upper More... | |
void | changeBoundsReal (int i, const Real &lower, const Real &upper) |
changes bounds of column i to lower and upper More... | |
void | changeObjReal (const VectorReal &obj) |
changes objective function vector to obj More... | |
void | changeObjReal (int i, const Real &obj) |
changes objective coefficient of column i to obj More... | |
void | changeElementReal (int i, int j, const Real &val) |
changes matrix entry in row i and column j to val More... | |
void | removeRowReal (int i) |
removes row i More... | |
void | removeRowsReal (int perm[]) |
removes all rows with an index i such that perm [i] < 0; upon completion, perm [i] >= 0 indicates the new index where row i has been moved to; note that perm must point to an array of size at least numRowsReal() More... | |
void | removeRowsReal (int idx[], int n, int perm[]=0) |
remove all rows with indices in array idx of size n ; an array perm of size numRowsReal() may be passed as buffer memory More... | |
void | removeRowRangeReal (int start, int end, int perm[]=0) |
removes rows start to end including both; an array perm of size numRowsReal() may be passed as buffer memory More... | |
void | removeColReal (int i) |
removes column i More... | |
void | removeColsReal (int perm[]) |
removes all columns with an index i such that perm [i] < 0; upon completion, perm [i] >= 0 indicates the new index where column i has been moved to; note that perm must point to an array of size at least numColsReal() More... | |
void | removeColsReal (int idx[], int n, int perm[]=0) |
remove all columns with indices in array idx of size n ; an array perm of size numColsReal() may be passed as buffer memory More... | |
void | removeColRangeReal (int start, int end, int perm[]=0) |
removes columns start to end including both; an array perm of size numColsReal() may be passed as buffer memory More... | |
void | clearLPReal () |
clears the LP More... | |
void | syncLPReal () |
synchronizes real LP with rational LP, i.e., copies (rounded) rational LP into real LP, if sync mode is manual More... | |
void | addRowRational (const LPRowRational &lprow) |
adds a single row More... | |
void | addRowsRational (const LPRowSetRational &lprowset) |
adds multiple rows More... | |
void | addColRational (const LPColRational &lpcol) |
adds a single column More... | |
void | addColsRational (const LPColSetRational &lpcolset) |
adds multiple columns More... | |
void | changeRowRational (int i, const LPRowRational &lprow) |
replaces row i with lprow More... | |
void | changeLhsRational (const VectorRational &lhs) |
changes left-hand side vector for constraints to lhs More... | |
void | changeLhsRational (int i, const Rational &lhs) |
changes left-hand side of row i to lhs More... | |
void | changeRhsRational (const VectorRational &rhs) |
changes right-hand side vector to rhs More... | |
void | changeRhsRational (int i, const Rational &rhs) |
changes right-hand side of row i to rhs More... | |
void | changeRangeRational (const VectorRational &lhs, const VectorRational &rhs) |
changes left- and right-hand side vectors More... | |
void | changeRangeRational (int i, const Rational &lhs, const Rational &rhs) |
changes left- and right-hand side of row i More... | |
void | changeColRational (int i, const LPColRational &lpcol) |
replaces column i with lpcol More... | |
void | changeLowerRational (const VectorRational &lower) |
changes vector of lower bounds to lower More... | |
void | changeLowerRational (int i, const Rational &lower) |
changes lower bound of column i to lower More... | |
void | changeUpperRational (const VectorRational &upper) |
changes vector of upper bounds to upper More... | |
void | changeUpperRational (int i, const Rational &upper) |
changes i 'th upper bound to upper More... | |
void | changeBoundsRational (const VectorRational &lower, const VectorRational &upper) |
changes vectors of column bounds to lower and upper More... | |
void | changeBoundsRational (int i, const Rational &lower, const Rational &upper) |
changes bounds of column i to lower and upper More... | |
void | changeObjRational (const VectorRational &obj) |
changes objective function vector to obj More... | |
void | changeObjRational (int i, const Rational &obj) |
changes objective coefficient of column i to obj More... | |
void | changeElementRational (int i, int j, const Rational &val) |
changes matrix entry in row i and column j to val More... | |
void | removeRowRational (int i) |
removes row i More... | |
void | removeRowsRational (int perm[]) |
removes all rows with an index i such that perm [i] < 0; upon completion, perm [i] >= 0 indicates the new index where row i has been moved to; note that perm must point to an array of size at least numRowsRational() More... | |
void | removeRowsRational (int idx[], int n, int perm[]=0) |
remove all rows with indices in array idx of size n ; an array perm of size numRowsRational() may be passed as buffer memory More... | |
void | removeRowRangeRational (int start, int end, int perm[]=0) |
removes rows start to end including both; an array perm of size numRowsRational() may be passed as buffer memory More... | |
void | removeColRational (int i) |
removes column i More... | |
void | removeColsRational (int perm[]) |
removes all columns with an index i such that perm [i] < 0; upon completion, perm [i] >= 0 indicates the new index where column i has been moved to; note that perm must point to an array of size at least numColsRational() More... | |
void | removeColsRational (int idx[], int n, int perm[]=0) |
remove all columns with indices in array idx of size n ; an array perm of size numColsRational() may be passed as buffer memory More... | |
void | removeColRangeRational (int start, int end, int perm[]=0) |
removes columns start to end including both; an array perm of size numColsRational() may be passed as buffer memory More... | |
void | clearLPRational () |
clears the LP More... | |
void | syncLPRational () |
synchronizes rational LP with real LP, i.e., copies real LP to rational LP, if sync mode is manual More... | |
SPxSolver::Status | optimize () |
optimize the given LP More... | |
SPxSolver::Status | solve () |
SPxSolver::Status | status () const |
returns the current solver status More... | |
bool | isPrimalFeasible () const |
is stored primal solution feasible? More... | |
bool | hasPrimal () const |
is a primal feasible solution available? More... | |
bool | hasPrimalRay () const |
is a primal unbounded ray available? More... | |
bool | isDualFeasible () const |
is stored dual solution feasible? More... | |
bool | hasDual () const |
is a dual feasible solution available? More... | |
bool | hasDualFarkas () const |
is Farkas proof of infeasibility available? More... | |
bool | ignoreUnscaledViolations () |
sets the status to OPTIMAL in case the LP has been solved with unscaled violations More... | |
Real | objValueReal () |
returns the objective value if a primal solution is available More... | |
bool | getPrimalReal (VectorReal &vector) |
gets the primal solution vector if available; returns true on success More... | |
bool | getSlacksReal (VectorReal &vector) |
gets the vector of slack values if available; returns true on success More... | |
bool | getPrimalRayReal (VectorReal &vector) |
gets the primal ray if available; returns true on success More... | |
bool | getDualReal (VectorReal &vector) |
gets the dual solution vector if available; returns true on success More... | |
bool | getRedCostReal (VectorReal &vector) |
gets the vector of reduced cost values if available; returns true on success More... | |
bool | getDualFarkasReal (VectorReal &vector) |
gets the Farkas proof if available; returns true on success More... | |
bool | getBoundViolationReal (Real &maxviol, Real &sumviol) |
gets violation of bounds; returns true on success More... | |
bool | getRowViolationReal (Real &maxviol, Real &sumviol) |
gets violation of constraints; returns true on success More... | |
bool | getRedCostViolationReal (Real &maxviol, Real &sumviol) |
gets violation of reduced costs; returns true on success More... | |
bool | getDualViolationReal (Real &maxviol, Real &sumviol) |
gets violation of dual multipliers; returns true on success More... | |
Rational | objValueRational () |
returns the objective value if a primal solution is available More... | |
bool | getPrimalRational (VectorRational &vector) |
gets the primal solution vector if available; returns true on success More... | |
bool | getSlacksRational (VectorRational &vector) |
gets the vector of slack values if available; returns true on success More... | |
bool | getPrimalRayRational (VectorRational &vector) |
gets the primal ray if LP is unbounded; returns true on success More... | |
bool | getDualRational (VectorRational &vector) |
gets the dual solution vector if available; returns true on success More... | |
bool | getRedCostRational (VectorRational &vector) |
gets the vector of reduced cost values if available; returns true on success More... | |
bool | getDualFarkasRational (VectorRational &vector) |
gets the Farkas proof if LP is infeasible; returns true on success More... | |
bool | getBoundViolationRational (Rational &maxviol, Rational &sumviol) |
gets violation of bounds; returns true on success More... | |
bool | getRowViolationRational (Rational &maxviol, Rational &sumviol) |
gets violation of constraints; returns true on success More... | |
bool | getRedCostViolationRational (Rational &maxviol, Rational &sumviol) |
gets violation of reduced costs; returns true on success More... | |
bool | getDualViolationRational (Rational &maxviol, Rational &sumviol) |
gets violation of dual multipliers; returns true on success More... | |
int | totalSizePrimalRational (const int base=2) |
get size of primal solution More... | |
int | totalSizeDualRational (const int base=2) |
get size of dual solution More... | |
int | dlcmSizePrimalRational (const int base=2) |
get size of least common multiple of denominators in primal solution More... | |
int | dlcmSizeDualRational (const int base=2) |
get size of least common multiple of denominators in dual solution More... | |
int | dmaxSizePrimalRational (const int base=2) |
get size of largest denominator in primal solution More... | |
int | dmaxSizeDualRational (const int base=2) |
get size of largest denominator in dual solution More... | |
bool | hasBasis () const |
is an advanced starting basis available? More... | |
SPxBasis::SPxStatus | basisStatus () const |
returns the current basis status More... | |
SPxSolver::VarStatus | basisRowStatus (int row) const |
returns basis status for a single row More... | |
SPxSolver::VarStatus | basisColStatus (int col) const |
returns basis status for a single column More... | |
void | getBasis (SPxSolver::VarStatus rows[], SPxSolver::VarStatus cols[]) const |
gets current basis via arrays of statuses More... | |
void | getBasisInd (int *bind) const |
gets the indices of the basic columns and rows; basic column n gives value n, basic row m gives value -1-m More... | |
bool | getFastCondition (Real &condition, int type=0) |
compute condition number estimate based on the diagonal of the LU factorization; returns true on success type = 0: max/min ratio type = 1: trace of U (sum of diagonal elements) type = 2: product of diagonal elements More... | |
bool | getEstimatedCondition (Real &condition) |
computes an estimated condition number for the current basis matrix using the power method; returns true on success More... | |
bool | getExactCondition (Real &condition) |
computes the exact condition number for the current basis matrix using the power method; returns true on success More... | |
bool | getBasisInverseRowReal (int r, Real *coef, int *inds=NULL, int *ninds=NULL, bool unscale=true) |
computes row r of basis inverse; returns true on success More... | |
bool | getBasisInverseColReal (int c, Real *coef, int *inds=NULL, int *ninds=NULL, bool unscale=true) |
computes column c of basis inverse; returns true on success More... | |
bool | getBasisInverseTimesVecReal (Real *rhs, Real *sol, bool unscale=true) |
computes dense solution of basis matrix B * sol = rhs ; returns true on success More... | |
bool | multBasis (Real *vec, bool unscale=true) |
multiply with basis matrix; B * vec (inplace) More... | |
bool | multBasisTranspose (Real *vec, bool unscale=true) |
multiply with transpose of basis matrix; vec * B^T (inplace) More... | |
bool | computeBasisInverseRational () |
compute rational basis inverse; returns true on success More... | |
bool | getBasisIndRational (DataArray< int > &bind) |
gets an array of indices for the columns of the rational basis matrix; bind[i] >= 0 means that the i-th column of the basis matrix contains variable bind[i]; bind[i] < 0 means that the i-th column of the basis matrix contains the slack variable for row -bind[i]-1; performs rational factorization if not available; returns true on success More... | |
bool | getBasisInverseRowRational (const int r, SSVectorRational &vec) |
computes row r of basis inverse; performs rational factorization if not available; returns true on success More... | |
bool | getBasisInverseColRational (const int c, SSVectorRational &vec) |
computes column c of basis inverse; performs rational factorization if not available; returns true on success More... | |
bool | getBasisInverseTimesVecRational (const SVectorRational &rhs, SSVectorRational &sol) |
computes solution of basis matrix B * sol = rhs; performs rational factorization if not available; returns true on success More... | |
void | setBasis (const SPxSolver::VarStatus rows[], const SPxSolver::VarStatus cols[]) |
sets starting basis via arrays of statuses More... | |
void | clearBasis () |
clears starting basis More... | |
int | numIterations () const |
number of iterations since last call to solve More... | |
Real | solveTime () const |
time spent in last call to solve More... | |
std::string | statisticString () const |
statistical information in form of a string More... | |
const char * | getStarterName () |
name of starter More... | |
const char * | getSimplifierName () |
name of simplifier More... | |
const char * | getScalerName () |
name of scaling method More... | |
const char * | getPricerName () |
name of currently loaded pricer More... | |
const char * | getRatiotesterName () |
name of currently loaded ratiotester More... | |
bool | readFile (const char *filename, NameSet *rowNames=0, NameSet *colNames=0, DIdxSet *intVars=0) |
reads LP file in LP or MPS format according to READMODE parameter; gets row names, column names, and integer variables if desired; returns true on success More... | |
bool | writeFileReal (const char *filename, const NameSet *rowNames=0, const NameSet *colNames=0, const DIdxSet *intvars=0, const bool unscale=true) const |
writes real LP to file; LP or MPS format is chosen from the extension in filename ; if rowNames and colNames are NULL , default names are used; if intVars is not NULL , the variables contained in it are marked as integer; returns true on success More... | |
bool | writeFileRational (const char *filename, const NameSet *rowNames=0, const NameSet *colNames=0, const DIdxSet *intvars=0) const |
writes rational LP to file; LP or MPS format is chosen from the extension in filename ; if rowNames and colNames are NULL , default names are used; if intVars is not NULL , the variables contained in it are marked as integer; returns true on success More... | |
bool | writeDualFileReal (const char *filename, const NameSet *rowNames=0, const NameSet *colNames=0, const DIdxSet *intvars=0) const |
writes the dual of the real LP to file; LP or MPS format is chosen from the extension in filename ; if rowNames and colNames are NULL , default names are used; if intVars is not NULL , the variables contained in it are marked as integer; returns true on success More... | |
bool | readBasisFile (const char *filename, const NameSet *rowNames=0, const NameSet *colNames=0) |
reads basis information from filename and returns true on success; if rowNames and colNames are NULL , default names are assumed; returns true on success More... | |
bool | writeBasisFile (const char *filename, const NameSet *rowNames=0, const NameSet *colNames=0, const bool cpxFormat=false) const |
writes basis information to filename ; if rowNames and colNames are NULL , default names are used; returns true on success More... | |
void | writeStateReal (const char *filename, const NameSet *rowNames=0, const NameSet *colNames=0, const bool cpxFormat=false) const |
writes internal LP, basis information, and parameter settings; if rowNames and colNames are NULL , default names are used More... | |
void | writeStateRational (const char *filename, const NameSet *rowNames=0, const NameSet *colNames=0, const bool cpxFormat=false) const |
writes internal LP, basis information, and parameter settings; if rowNames and colNames are NULL , default names are used More... | |
void | printSolutionStatistics (std::ostream &os) |
prints solution statistics More... | |
void | printSolvingStatistics (std::ostream &os) |
prints statistics on solving process More... | |
void | printShortStatistics (std::ostream &os) |
prints short statistics More... | |
void | printStatistics (std::ostream &os) |
prints complete statistics More... | |
void | printStatus (std::ostream &os, SPxSolver::Status status) |
prints status More... | |
void | printVersion () const |
prints version and compilation options More... | |
bool | areLPsInSync (const bool checkVecVals=true, const bool checkMatVals=false, const bool quiet=false) const |
checks if real LP and rational LP are in sync; dimensions will always be compared, vector and matrix values only if the respective parameter is set to true. If quiet is set to true the function will only display which vectors are different. More... | |
void | setRandomSeed (unsigned int seed) |
set the random seeds of the solver instance More... | |
unsigned int | randomSeed () const |
returns the current random seed of the solver instance More... | |
Private Member Functions | |
void | _ensureDSVectorRationalMemory (DSVectorRational &vec, const int newmax) const |
extends sparse vector to hold newmax entries if and only if it holds no more free entries More... | |
void | _idxToPerm (int *idx, int idxSize, int *perm, int permSize) const |
creates a permutation for removing rows/columns from an array of indices More... | |
void | _rangeToPerm (int start, int end, int *perm, int permSize) const |
creates a permutation for removing rows/columns from a range of indices More... | |
bool | _isConsistent () const |
checks consistency More... | |
bool | _isSolveStopped (bool &stoppedTime, bool &stoppedIter) const |
should solving process be stopped? More... | |
RangeType | _rangeTypeReal (const Real &lower, const Real &upper) const |
determines RangeType from real bounds More... | |
RangeType | _rangeTypeRational (const Rational &lower, const Rational &upper) const |
determines RangeType from rational bounds More... | |
RangeType | _switchRangeType (const RangeType &rangeType) const |
switches RANGETYPE_LOWER to RANGETYPE_UPPER and vice versa More... | |
bool | _lowerFinite (const RangeType &rangeType) const |
checks whether RangeType corresponds to finite lower bound More... | |
bool | _upperFinite (const RangeType &rangeType) const |
checks whether RangeType corresponds to finite upper bound More... | |
void | _addRowReal (const LPRowReal &lprow) |
adds a single row to the real LP and adjusts basis More... | |
void | _addRowReal (Real lhs, const SVectorReal &lprow, Real rhs) |
adds a single row to the real LP and adjusts basis More... | |
void | _addRowsReal (const LPRowSetReal &lprowset) |
adds multiple rows to the real LP and adjusts basis More... | |
void | _addColReal (const LPColReal &lpcol) |
adds a single column to the real LP and adjusts basis More... | |
void | _addColReal (Real obj, Real lower, const SVectorReal &lpcol, Real upper) |
adds a single column to the real LP and adjusts basis More... | |
void | _addColsReal (const LPColSetReal &lpcolset) |
adds multiple columns to the real LP and adjusts basis More... | |
void | _changeRowReal (int i, const LPRowReal &lprow) |
replaces row i with lprow and adjusts basis More... | |
void | _changeLhsReal (const VectorReal &lhs) |
changes left-hand side vector for constraints to lhs and adjusts basis More... | |
void | _changeLhsReal (int i, const Real &lhs) |
changes left-hand side of row i to lhs and adjusts basis More... | |
void | _changeRhsReal (const VectorReal &rhs) |
changes right-hand side vector to rhs and adjusts basis More... | |
void | _changeRhsReal (int i, const Real &rhs) |
changes right-hand side of row i to rhs and adjusts basis More... | |
void | _changeRangeReal (const VectorReal &lhs, const VectorReal &rhs) |
changes left- and right-hand side vectors and adjusts basis More... | |
void | _changeRangeReal (int i, const Real &lhs, const Real &rhs) |
changes left- and right-hand side of row i and adjusts basis More... | |
void | _changeColReal (int i, const LPColReal &lpcol) |
replaces column i with lpcol and adjusts basis More... | |
void | _changeLowerReal (const VectorReal &lower) |
changes vector of lower bounds to lower and adjusts basis More... | |
void | _changeLowerReal (int i, const Real &lower) |
changes lower bound of column i to lower and adjusts basis More... | |
void | _changeUpperReal (const VectorReal &upper) |
changes vector of upper bounds to upper and adjusts basis More... | |
void | _changeUpperReal (int i, const Real &upper) |
changes i 'th upper bound to upper and adjusts basis More... | |
void | _changeBoundsReal (const VectorReal &lower, const VectorReal &upper) |
changes vectors of column bounds to lower and upper and adjusts basis More... | |
void | _changeBoundsReal (int i, const Real &lower, const Real &upper) |
changes bounds of column i to lower and upper and adjusts basis More... | |
void | _changeElementReal (int i, int j, const Real &val) |
changes matrix entry in row i and column j to val and adjusts basis More... | |
void | _removeRowReal (int i) |
removes row i and adjusts basis More... | |
void | _removeRowsReal (int perm[]) |
removes all rows with an index i such that perm [i] < 0; upon completion, perm [i] >= 0 indicates the new index where row i has been moved to; note that perm must point to an array of size at least numRowsReal() More... | |
void | _removeRowsReal (int idx[], int n, int perm[]) |
remove all rows with indices in array idx of size n ; an array perm of size numRowsReal() may be passed as buffer memory More... | |
void | _removeRowRangeReal (int start, int end, int perm[]) |
removes rows start to end including both; an array perm of size numRowsReal() may be passed as buffer memory More... | |
void | _removeColReal (int i) |
removes column i More... | |
void | _removeColsReal (int perm[]) |
removes all columns with an index i such that perm [i] < 0; upon completion, perm [i] >= 0 indicates the new index where column i has been moved to; note that perm must point to an array of size at least numColsReal() More... | |
void | _removeColsReal (int idx[], int n, int perm[]) |
remove all columns with indices in array idx of size n ; an array perm of size numColsReal() may be passed as buffer memory More... | |
void | _removeColRangeReal (int start, int end, int perm[]) |
removes columns start to end including both; an array perm of size numColsReal() may be passed as buffer memory More... | |
void | _invalidateSolution () |
invalidates solution More... | |
void | _enableSimplifierAndScaler () |
enables simplifier and scaler according to current parameters More... | |
void | _disableSimplifierAndScaler () |
disables simplifier and scaler More... | |
void | _ensureRationalLP () |
ensures that the rational LP is available; performs no sync More... | |
void | _ensureRealLPLoaded () |
ensures that the real LP and the basis are loaded in the solver; performs no sync More... | |
void | _solveRealLPAndRecordStatistics () |
call floating-point solver and update statistics on iterations etc. More... | |
bool | _readFileReal (const char *filename, NameSet *rowNames=0, NameSet *colNames=0, DIdxSet *intVars=0) |
reads real LP in LP or MPS format from file and returns true on success; gets row names, column names, and integer variables if desired More... | |
bool | _readFileRational (const char *filename, NameSet *rowNames=0, NameSet *colNames=0, DIdxSet *intVars=0) |
reads rational LP in LP or MPS format from file and returns true on success; gets row names, column names, and integer variables if desired More... | |
void | _completeRangeTypesRational () |
completes range type arrays after adding columns and/or rows More... | |
void | _recomputeRangeTypesReal () |
recomputes range types from scratch using real LP More... | |
void | _recomputeRangeTypesRational () |
recomputes range types from scratch using rational LP More... | |
void | _syncLPReal (bool time=true) |
synchronizes real LP with rational LP, i.e., copies (rounded) rational LP into real LP, without looking at the sync mode More... | |
void | _syncLPRational (bool time=true) |
synchronizes rational LP with real LP, i.e., copies real LP to rational LP, without looking at the sync mode More... | |
void | _syncRealSolution () |
synchronizes rational solution with real solution, i.e., copies (rounded) rational solution to real solution More... | |
void | _syncRationalSolution () |
synchronizes real solution with rational solution, i.e., copies real solution to rational solution More... | |
const UnitVectorRational * | _unitVectorRational (const int i) |
returns pointer to a constant unit vector available until destruction of the SoPlex class More... | |
bool | _parseSettingsLine (char *line, const int lineNumber) |
parses one line in a settings file and returns true on success; note that the string is modified More... | |
void | _optimizeRational () |
solves rational LP More... | |
void | _performOptIRStable (SolRational &sol, bool acceptUnbounded, bool acceptInfeasible, int minRounds, bool &primalFeasible, bool &dualFeasible, bool &infeasible, bool &unbounded, bool &stopped, bool &stoppedIter, bool &error) |
solves current problem with iterative refinement and recovery mechanism More... | |
void | _performUnboundedIRStable (SolRational &sol, bool &hasUnboundedRay, bool &stopped, bool &stoppedIter, bool &error) |
performs iterative refinement on the auxiliary problem for testing unboundedness More... | |
void | _performFeasIRStable (SolRational &sol, bool &withDualFarkas, bool &stopped, bool &stoppedIter, bool &error) |
performs iterative refinement on the auxiliary problem for testing feasibility More... | |
void | _lift () |
reduces matrix coefficient in absolute value by the lifting procedure of Thiele et al. 2013 More... | |
void | _project (SolRational &sol) |
undoes lifting More... | |
void | _storeBasis () |
store basis More... | |
void | _restoreBasis () |
restore basis More... | |
void | _storeLPReal () |
stores objective, bounds, and sides of real LP More... | |
void | _restoreLPReal () |
restores objective, bounds, and sides of real LP More... | |
void | _transformEquality () |
introduces slack variables to transform inequality constraints into equations for both rational and real LP, which should be in sync More... | |
void | _untransformEquality (SolRational &sol) |
undoes transformation to equality form More... | |
void | _transformUnbounded () |
transforms LP to unboundedness problem by moving the objective function to the constraints, changing right-hand side and bounds to zero, and adding an auxiliary variable for the decrease in the objective function More... | |
void | _untransformUnbounded (SolRational &sol, bool unbounded) |
undoes transformation to unboundedness problem More... | |
void | _transformFeasibility () |
transforms LP to feasibility problem by removing the objective function, shifting variables, and homogenizing the right-hand side More... | |
void | _untransformFeasibility (SolRational &sol, bool infeasible) |
undoes transformation to feasibility problem More... | |
void | _computeInfeasBox (SolRational &sol, bool transformed) |
SPxSolver::Status | _solveRealForRational (bool fromscratch, VectorReal &primal, VectorReal &dual, DataArray< SPxSolver::VarStatus > &basisStatusRows, DataArray< SPxSolver::VarStatus > &basisStatusCols, bool &returnedBasis) |
solves real LP during iterative refinement More... | |
SPxSolver::Status | _solveRealStable (bool acceptUnbounded, bool acceptInfeasible, VectorReal &primal, VectorReal &dual, DataArray< SPxSolver::VarStatus > &basisStatusRows, DataArray< SPxSolver::VarStatus > &basisStatusCols, bool &returnedBasis, const bool forceNoSimplifier=false) |
solves real LP with recovery mechanism More... | |
void | _computeBasisInverseRational () |
computes rational inverse of basis matrix as defined by _rationalLUSolverBind More... | |
void | _factorizeColumnRational (SolRational &sol, DataArray< SPxSolver::VarStatus > &basisStatusRows, DataArray< SPxSolver::VarStatus > &basisStatusCols, bool &stoppedTime, bool &stoppedIter, bool &error, bool &optimal) |
factorizes rational basis matrix in column representation More... | |
bool | _reconstructSolutionRational (SolRational &sol, DataArray< SPxSolver::VarStatus > &basisStatusRows, DataArray< SPxSolver::VarStatus > &basisStatusCols, const Rational &denomBoundSquared) |
attempts rational reconstruction of primal-dual solution More... | |
void | _optimizeReal () |
solves real LP More... | |
void | _evaluateSolutionReal (SPxSimplifier::Result simplificationStatus) |
checks result of the solving process and solves again without preprocessing if necessary More... | |
void | _preprocessAndSolveReal (bool applyPreprocessing) |
solves real LP with/without preprocessing More... | |
void | _resolveWithoutPreprocessing (SPxSimplifier::Result simplificationStatus) |
loads original problem into solver and solves again after it has been solved to optimality with preprocessing More... | |
void | _verifySolutionReal () |
verify computed solution and resolve if necessary More... | |
void | _storeSolutionReal (bool verify=true) |
stores solution of the real LP; before calling this, the real LP must be loaded in the solver and solved (again) More... | |
void | _storeSolutionRealFromPresol () |
stores solution from the simplifier because problem vanished in presolving step More... | |
void | _unscaleSolutionReal (SPxLPReal &LP, bool persistent=true) |
unscales stored solution to remove internal or external scaling of LP More... | |
void | _loadRealLP (bool initBasis) |
load original LP and possibly setup a slack basis More... | |
void | _checkScaling (SPxLPReal *origLP) const |
check scaling of LP More... | |
void | _checkBasisScaling () |
check correctness of (un)scaled basis matrix operations More... | |
bool | _reapplyPersistentScaling () const |
check whether persistent scaling is supposed to be reapplied again after unscaling More... | |
void | _solveDecompositionDualSimplex () |
solves LP using the decomposition based dual simplex More... | |
void | _createDecompReducedAndComplementaryProblems () |
creating copies of the original problem that will be manipulated to form the reduced and complementary problems More... | |
void | _formDecompReducedProblem (bool &stop) |
forms the reduced problem More... | |
void | _solveDecompReducedProblem () |
solves the reduced problem More... | |
void | _formDecompComplementaryProblem () |
forms the complementary problem More... | |
void | _decompSimplifyAndSolve (SPxSolver &solver, SLUFactor &sluFactor, bool fromScratch, bool applyPreprocessing) |
simplifies the problem and solves More... | |
void | _decompResolveWithoutPreprocessing (SPxSolver &solver, SLUFactor &sluFactor, SPxSimplifier::Result result) |
loads original problem into solver and solves again after it has been solved to optimality with preprocessing More... | |
void | _getZeroDualMultiplierIndices (Vector feasVector, int *nonposind, int *colsforremoval, int *nnonposind, bool &stop) |
identifies the columns of the row-form basis that correspond to rows with zero dual multipliers. More... | |
void | _getCompatibleColumns (Vector feasVector, int *nonposind, int *compatind, int *rowsforremoval, int *colsforremoval, int nnonposind, int *ncompatind, bool formRedProb, bool &stop) |
retrieves the compatible columns from the constraint matrix More... | |
void | _computeReducedProbObjCoeff (bool &stop) |
computes the reduced problem objective coefficients More... | |
void | _getCompatibleBoundCons (LPRowSet &boundcons, int *compatboundcons, int *nonposind, int *ncompatboundcons, int nnonposind, bool &stop) |
computes the compatible bound constraints and adds them to the reduced problem More... | |
void | _getRowsForRemovalComplementaryProblem (int *nonposind, int *bind, int *rowsforremoval, int *nrowsforremoval, int nnonposind) |
computes the rows to remove from the complementary problem More... | |
void | _deleteAndUpdateRowsComplementaryProblem (SPxRowId rangedRowIds[], int &naddedrows) |
removing rows from the complementary problem. More... | |
void | _evaluateSolutionDecomp (SPxSolver &solver, SLUFactor &sluFactor, SPxSimplifier::Result result) |
evaluates the solution of the reduced problem for the DBDS More... | |
void | _updateDecompReducedProblem (Real objVal, DVector dualVector, DVector redcostVector, DVector compPrimalVector, DVector compDualVector) |
update the reduced problem with additional columns and rows More... | |
void | _updateDecompReducedProblemViol (bool allrows) |
update the reduced problem with additional columns and rows based upon the violated original bounds and rows More... | |
void | _findViolatedRows (Real compObjValue, DataArray< RowViolation > &violatedrows, int &nviolatedrows) |
builds the update rows with those violated in the complmentary problem More... | |
void | _updateDecompComplementaryDualProblem (bool origObj) |
update the dual complementary problem with additional columns and rows More... | |
void | _updateDecompComplementaryPrimalProblem (bool origObj) |
update the primal complementary problem with additional columns and rows More... | |
void | _checkOriginalProblemOptimality (Vector primalVector, bool printViol) |
checking the optimality of the original problem. More... | |
void | _updateComplementaryDualSlackColCoeff () |
updating the slack column coefficients to adjust for equality constraints More... | |
void | _updateComplementaryPrimalSlackColCoeff () |
updating the slack column coefficients to adjust for equality constraints More... | |
void | _removeComplementaryDualFixedPrimalVars (int *currFixedVars) |
removing the dual columns related to the fixed variables More... | |
void | _identifyComplementaryDualFixedPrimalVars (int *currFixedVars) |
removing the dual columns related to the fixed variables More... | |
void | _updateComplementaryDualFixedPrimalVars (int *currFixedVars) |
updating the dual columns related to the fixed primal variables. More... | |
void | _identifyComplementaryPrimalFixedPrimalVars (int *currFixedVars) |
removing the dual columns related to the fixed variables More... | |
void | _updateComplementaryPrimalFixedPrimalVars (int *currFixedVars) |
updating the dual columns related to the fixed primal variables. More... | |
void | _setComplementaryDualOriginalObjective () |
updating the complementary dual problem with the original objective function More... | |
void | _setComplementaryPrimalOriginalObjective () |
updating the complementary primal problem with the original objective function More... | |
int | getOrigVarFixedDirection (int colNum) |
determining which bound the primal variables will be fixed to. More... | |
bool | checkBasisDualFeasibility (Vector feasVec) |
checks the dual feasibility of the current basis More... | |
DualSign | getExpectedDualVariableSign (int rowNumber) |
returns the expected sign of the dual variables for the reduced problem More... | |
DualSign | getOrigProbDualVariableSign (int rowNumber) |
returns the expected sign of the dual variables for the original problem More... | |
void | printDecompDisplayLine (SPxSolver &solver, const SPxOut::Verbosity origVerb, bool force, bool forceHead) |
prints a display line of the flying table for the DBDS More... | |
void | getOriginalProblemStatistics () |
stores the problem statistics of the original problem More... | |
void | printOriginalProblemStatistics (std::ostream &os) |
stores the problem statistics of the original problem More... | |
Real | getCompSlackVarCoeff (int primalRowNum) |
gets the coefficient of the slack variable in the primal complementary problem More... | |
bool | getDecompBoundViolation (Real &maxviol, Real &sumviol) |
gets violation of bounds; returns true on success More... | |
bool | getDecompRowViolation (Real &maxviol, Real &sumviol) |
gets violation of constraints; returns true on success More... | |
bool | decompTerminate (Real timeLimit) |
function call to terminate the decomposition simplex More... | |
void | _writeOriginalProblemBasis (const char *filename, NameSet *rowNames, NameSet *colNames, bool cpxFormat) |
function to build a basis for the original problem as given by the solution to the reduced problem More... | |
void | getOriginalProblemBasisRowStatus (DataArray< int > °enerateRowNums, DataArray< SPxSolver::VarStatus > °enerateRowStatus, int &nDegenerateRows, int &nNonBasicRows) |
function to retrieve the original problem row basis status from the reduced and complementary problems More... | |
void | getOriginalProblemBasisColStatus (int &nNonBasicCols) |
function to retrieve the column status for the original problem basis from the reduced and complementary problems More... | |
anonymous enum |
anonymous enum |
values for parameter PRICER
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
values for parameter SCALER
enum BoolParam |
boolean parameters
|
private |
enum IntParam |
integer parameters
|
private |
type of bounds and sides
enum RealParam |
real parameters
SoPlex | ( | ) |
default constructor
Definition at line 611 of file soplex.cpp.
References SoPlex::_applyPolishing, SoPlex::_currentProb, SoPlex::_currentSettings, SoPlex::_isConsistent(), SoPlex::_isRealLPLoaded, SoPlex::_isRealLPScaled, SoPlex::_lastSolveMode, SoPlex::_optimizeCalls, SoPlex::_realLP, SoPlex::_scalerBiequi, SoPlex::_scalerGeo1, SoPlex::_scalerGeo8, SoPlex::_scalerGeoequi, SoPlex::_scalerLeastsq, SoPlex::_scalerUniequi, SoPlex::_slufactor, SoPlex::_solver, SoPlex::_statistics, SoPlex::_unscaleCalls, SoPlex::DECOMP_ORIG, SoPlex::intParam(), SPxSolver::setBasisSolver(), SPxLPBase< R >::setOutstream(), SPxScaler::setOutstream(), SPxSolver::setOutstream(), SoPlex::setSettings(), SoPlex::SOLVEMODE, soplex::spx_alloc(), and SoPlex::spxout.
copy constructor
Definition at line 790 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::_statistics, and soplex::spx_alloc().
|
virtual |
destructor
Definition at line 808 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::_isConsistent(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_solver, SoPlex::_statistics, SoPlex::_unitMatrixRational, soplex::spx_free(), and SoPlex::Statistics::~Statistics().
Referenced by main().
|
private |
adds a single column to the real LP and adjusts basis
Definition at line 7877 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxLPBase< R >::addCol(), DataArray< T >::append(), SPxSolver::basis(), SLUFactorRational::clear(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), LPColBase< R >::lower(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), LPColBase< R >::upper(), and SPxSolver::ZERO.
Referenced by SoPlex::addColRational(), and SoPlex::addColReal().
|
private |
adds a single column to the real LP and adjusts basis
Definition at line 7902 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxLPBase< R >::addCol(), DataArray< T >::append(), SPxSolver::BASIC, SPxSolver::basis(), SLUFactorRational::clear(), SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
|
private |
adds multiple columns to the real LP and adjusts basis
Definition at line 7920 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxLPBase< R >::addCols(), DataArray< T >::append(), SPxSolver::basis(), SLUFactorRational::clear(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), LPColSetBase< R >::lower(), SPxBasis::NO_PROBLEM, LPColSetBase< R >::num(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), LPColSetBase< R >::upper(), and SPxSolver::ZERO.
Referenced by SoPlex::addColRational(), SoPlex::addColsRational(), and SoPlex::addColsReal().
|
private |
adds a single row to the real LP and adjusts basis
Definition at line 7824 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxLPBase< R >::addRow(), DataArray< T >::append(), SPxSolver::BASIC, SPxSolver::basis(), SLUFactorRational::clear(), SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
Referenced by SoPlex::addRowRational(), and SoPlex::addRowReal().
|
private |
adds a single row to the real LP and adjusts basis
Definition at line 7842 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxLPBase< R >::addRow(), DataArray< T >::append(), SPxSolver::BASIC, SPxSolver::basis(), SLUFactorRational::clear(), SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
|
private |
adds multiple rows to the real LP and adjusts basis
Definition at line 7860 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxLPBase< R >::addRows(), DataArray< T >::append(), SPxSolver::BASIC, SPxSolver::basis(), SLUFactorRational::clear(), SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, LPRowSetBase< R >::num(), and SPxBasis::status().
Referenced by SoPlex::addRowRational(), SoPlex::addRowsRational(), and SoPlex::addRowsReal().
|
private |
changes vectors of column bounds to lower
and upper
and adjusts basis
Definition at line 8229 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeBounds(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, SoPlex::numColsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), and SPxSolver::ZERO.
Referenced by SoPlex::changeBoundsRational(), and SoPlex::changeBoundsReal().
changes bounds of column i
to lower
and upper
and adjusts basis
Definition at line 8256 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeBounds(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), and SPxSolver::ZERO.
|
private |
replaces column i
with lpcol
and adjusts basis
Definition at line 8110 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SPxLPBase< R >::changeCol(), SLUFactorRational::clear(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), LPColBase< R >::lower(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), LPColBase< R >::upper(), and SPxSolver::ZERO.
Referenced by SoPlex::changeColRational(), and SoPlex::changeColReal().
|
private |
changes matrix entry in row i
and column j
to val
and adjusts basis
Definition at line 8279 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SPxLPBase< R >::changeElement(), SLUFactorRational::clear(), SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
Referenced by SoPlex::changeElementRational(), and SoPlex::changeElementReal().
|
private |
changes left-hand side vector for constraints to lhs
and adjusts basis
Definition at line 7974 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeLhs(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, SoPlex::numRowsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SoPlex::rhsReal(), SPxBasis::status(), and SPxSolver::ZERO.
Referenced by SoPlex::changeLhsRational(), and SoPlex::changeLhsReal().
|
private |
changes left-hand side of row i
to lhs
and adjusts basis
Definition at line 7997 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeLhs(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SoPlex::rhsReal(), SPxBasis::status(), and SPxSolver::ZERO.
|
private |
changes vector of lower bounds to lower
and adjusts basis
Definition at line 8139 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeLower(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, SoPlex::numColsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), SoPlex::upperReal(), and SPxSolver::ZERO.
Referenced by SoPlex::changeLowerRational(), and SoPlex::changeLowerReal().
|
private |
changes lower bound of column i to lower
and adjusts basis
Definition at line 8164 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeLower(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), SoPlex::upperReal(), and SPxSolver::ZERO.
|
private |
changes left- and right-hand side vectors and adjusts basis
Definition at line 8061 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeRange(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, SoPlex::numRowsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), and SPxSolver::ZERO.
Referenced by SoPlex::changeRangeRational(), and SoPlex::changeRangeReal().
changes left- and right-hand side of row i
and adjusts basis
Definition at line 8087 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeRange(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), and SPxSolver::ZERO.
|
private |
changes right-hand side vector to rhs
and adjusts basis
Definition at line 8017 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeRhs(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SoPlex::lhsReal(), SPxBasis::NO_PROBLEM, SoPlex::numRowsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), and SPxSolver::ZERO.
Referenced by SoPlex::changeRhsRational(), and SoPlex::changeRhsReal().
|
private |
changes right-hand side of row i
to rhs
and adjusts basis
Definition at line 8042 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeRhs(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SoPlex::lhsReal(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), and SPxSolver::ZERO.
|
private |
replaces row i
with lprow
and adjusts basis
Definition at line 7947 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SPxLPBase< R >::changeRow(), SLUFactorRational::clear(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), LPRowBase< R >::lhs(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), LPRowBase< R >::rhs(), SPxBasis::status(), and SPxSolver::ZERO.
Referenced by SoPlex::changeRowRational(), and SoPlex::changeRowReal().
|
private |
changes vector of upper bounds to upper
and adjusts basis
Definition at line 8184 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeUpper(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SoPlex::lowerReal(), SPxBasis::NO_PROBLEM, SoPlex::numColsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), and SPxSolver::ZERO.
Referenced by SoPlex::changeUpperRational(), and SoPlex::changeUpperReal().
|
private |
changes i
'th upper bound to upper
and adjusts basis
Definition at line 8209 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeUpper(), SoPlex::INFTY, SPxLPBase< R >::isScaled(), SoPlex::lowerReal(), SPxBasis::NO_PROBLEM, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), SPxBasis::status(), and SPxSolver::ZERO.
|
private |
check correctness of (un)scaled basis matrix operations
Definition at line 92 of file testsoplex.cpp.
References SoPlex::_realLP, SoPlex::_solver, SoPlex::_status, VectorBase< R >::clear(), SPxSolver::COLUMN, SPxSolver::feastol(), VectorBase< R >::get_ptr(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SPxLPBase< R >::isScaled(), MSG_INFO1, SoPlex::multBasis(), SoPlex::multBasisTranspose(), soplex::NE(), SPxLPBase< R >::nRows(), SPxSolver::OPTIMAL, SPxSolver::rep(), SPxSolver::ROW, soplex::spx_alloc(), soplex::spx_free(), soplex::spxAbs(), SoPlex::spxout, and SPxSolver::unscaleLPandReloadBasis().
Referenced by SoPlex::optimize().
|
private |
checking the optimality of the original problem.
Definition at line 2795 of file solvedbds.cpp.
References SoPlex::_decompTransBasis, SoPlex::_hasSolReal, SolBase< R >::_isPrimalFeasible, SolBase< R >::_primal, SoPlex::_realLP, SoPlex::_solReal, SoPlex::_solver, SoPlex::_statistics, SPxBasis::coSolve(), SoPlex::getDecompBoundViolation(), SoPlex::getDecompRowViolation(), SoPlex::Statistics::maxBoundViol, SPxLPBase< R >::maxObj(), SoPlex::Statistics::maxRowViol, MSG_INFO1, SPxLPBase< R >::nCols(), DVectorBase< R >::reDim(), SoPlex::spxout, SoPlex::Statistics::totalBoundViol, SoPlex::Statistics::totalRowViol, and SSVectorBase< R >::unSetup().
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
check scaling of LP
Definition at line 25 of file testsoplex.cpp.
References SoPlex::_realLP, SoPlex::_solver, SPxLPBase< R >::colVector(), soplex::EQ(), SPxSolver::feastol(), SPxLPBase< R >::getColVectorUnscaled(), SPxLPBase< R >::getRowVectorUnscaled(), SPxLPBase< R >::isScaled(), SPxLPBase< R >::lhs(), SPxLPBase< R >::lhsUnscaled(), SPxLPBase< R >::lower(), SPxLPBase< R >::lowerUnscaled(), MSG_INFO1, SPxLPBase< R >::nCols(), soplex::NE(), SPxLPBase< R >::nRows(), SPxLPBase< R >::obj(), SPxLPBase< R >::objUnscaled(), SPxLPBase< R >::rhs(), SPxLPBase< R >::rhsUnscaled(), SPxLPBase< R >::rowVector(), SVectorBase< R >::size(), SoPlex::spxout, SPxLPBase< R >::upper(), SPxLPBase< R >::upperUnscaled(), and SVectorBase< R >::value().
Referenced by SoPlex::_optimizeReal().
|
private |
completes range type arrays after adding columns and/or rows
Definition at line 8761 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, DataArray< T >::append(), SPxLPBase< R >::lhs(), SPxLPBase< R >::lower(), SoPlex::numColsRational(), SoPlex::numRowsRational(), SPxLPBase< R >::rhs(), DataArray< T >::size(), and SPxLPBase< R >::upper().
Referenced by SoPlex::addColRational(), SoPlex::addColReal(), SoPlex::addColsRational(), SoPlex::addColsReal(), SoPlex::addRowRational(), SoPlex::addRowReal(), SoPlex::addRowsRational(), SoPlex::addRowsReal(), SoPlex::changeColRational(), SoPlex::changeColReal(), SoPlex::changeRowRational(), and SoPlex::changeRowReal().
|
private |
computes rational inverse of basis matrix as defined by _rationalLUSolverBind
Definition at line 3718 of file solverational.cpp.
References SoPlex::_rationalLUSolver, SoPlex::_rationalLUSolverBind, SoPlex::_statistics, SoPlex::_unitVectorRational(), SoPlex::colVectorRational(), SLUFactorRational::getFactorCount(), SLUFactorRational::getFactorTime(), SoPlex::INFTY, SLUFactorRational::load(), SoPlex::Statistics::luFactorizationsRational, SoPlex::Statistics::luFactorizationTimeRational, MSG_INFO1, MSG_INFO2, SoPlex::numColsRational(), SoPlex::numRowsRational(), SLinSolverRational::OK, SoPlex::realParam(), SLUFactorRational::resetCounters(), DataArray< T >::reSize(), SLUFactorRational::setTimeLimit(), DataArray< T >::size(), SoPlex::Statistics::solvingTime, SoPlex::spxout, SLUFactorRational::status(), SLinSolverRational::TIME, Timer::time(), SoPlex::TIMELIMIT, and SLinSolverRational::UNLOADED.
Referenced by SoPlex::_factorizeColumnRational(), and SoPlex::computeBasisInverseRational().
|
private |
computes radius of infeasibility box implied by an approximate Farkas' proof
Given constraints of the form \( lhs <= Ax <= rhs \), a farkas proof y should satisfy \( y^T A = 0 \) and \( y_+^T lhs - y_-^T rhs > 0 \), where \( y_+, y_- \) denote the positive and negative parts of \( y \). If \( y \) is approximate, it may not satisfy \( y^T A = 0 \) exactly, but the proof is still valid as long as the following holds for all potentially feasible \( x \):
\[ y^T Ax < (y_+^T lhs - y_-^T rhs) (*) \]
we may therefore calculate \( y^T A \) and \( y_+^T lhs - y_-^T rhs \) exactly and check if the upper and lower bounds on \( x \) imply that all feasible \( x \) satisfy (*), and if not then compute bounds on \( x \) to guarantee (*). The simplest way to do this is to compute
\[ B = (y_+^T lhs - y_-^T rhs) / \sum_i(|(y^T A)_i|) \]
noting that if every component of \( x \) has \( |x_i| < B \), then (*) holds.
\( B \) can be increased by iteratively including variable bounds smaller than \( B \). The speed of this method can be further improved by using interval arithmetic for all computations. For related information see Sec. 4 of Neumaier and Shcherbina, Mathematical Programming A, 2004.
Set transformed to true if this method is called after _transformFeasibility().
Definition at line 3010 of file solverational.cpp.
References SoPlex::_colTypes, SolBase< R >::_dualFarkas, SoPlex::_feasLhs, SoPlex::_feasLower, SoPlex::_feasRhs, SoPlex::_feasUpper, SoPlex::_lowerFinite(), SoPlex::_rationalLP, SoPlex::_rationalNegInfty, SoPlex::_rationalPosInfty, SoPlex::_upperFinite(), Rational::addProduct(), SSVectorBase< R >::clear(), SSVectorBase< R >::clearNum(), SolBase< R >::hasDualFarkas(), SSVectorBase< R >::index(), SSVectorBase< R >::isSetup(), SoPlex::lhsRational(), SoPlex::lowerRational(), MSG_DEBUG, MSG_INFO1, SoPlex::numColsRational(), SoPlex::numRowsRational(), soplex::rationalToString(), SSVectorBase< R >::reDim(), SoPlex::rhsRational(), SPxLPBase< R >::rowVector(), SSVectorBase< R >::setEpsilon(), SSVectorBase< R >::setup(), SSVectorBase< R >::setValue(), SSVectorBase< R >::size(), soplex::spxAbs(), SoPlex::spxout, Rational::subProduct(), SoPlex::upperRational(), and SSVectorBase< R >::value().
Referenced by SoPlex::_performFeasIRStable().
|
private |
computes the reduced problem objective coefficients
Definition at line 1850 of file solvedbds.cpp.
References SoPlex::_decompLP, SoPlex::_solver, SoPlex::_transformedObj, SPxSolver::basis(), SPxLPBase< R >::changeObj(), SoPlex::decompTerminate(), SoPlex::EPSILON_ZERO, SoPlex::FEASTOL, SSVectorBase< R >::index(), SSVectorBase< R >::isSetup(), soplex::isZero(), SPxLPBase< R >::maxObj(), MSG_ERROR, SoPlex::numColsReal(), SoPlex::realParam(), DVectorBase< R >::reDim(), SSVectorBase< R >::size(), SPxBasis::solve(), SoPlex::spxout, SoPlex::TIMELIMIT, TIMELIMIT_FRAC, SSVectorBase< R >::unSetup(), SSVectorBase< R >::value(), and SPxException::what().
Referenced by SoPlex::_formDecompReducedProblem().
|
private |
creating copies of the original problem that will be manipulated to form the reduced and complementary problems
Definition at line 603 of file solvedbds.cpp.
References SoPlex::_compSlufactor, SoPlex::_compSolver, SoPlex::_decompReducedProbCols, SoPlex::_decompReducedProbRows, SoPlex::_decompViolatedBounds, SoPlex::_decompViolatedRows, SoPlex::_nDecompViolBounds, SoPlex::_nDecompViolRows, SoPlex::_realLP, SoPlex::_solver, SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::setBasisSolver(), SPxSolver::setOutstream(), soplex::spx_alloc(), and SoPlex::spxout.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
loads original problem into solver and solves again after it has been solved to optimality with preprocessing
Definition at line 1057 of file solvedbds.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_decompLP, SoPlex::_decompSimplifyAndSolve(), SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_scaler, SoPlex::_simplifier, SoPlex::_status, SPxSolver::ABORT_DECOMP, SPxSolver::ABORT_EXDECOMP, SPxSolver::ERROR, DataArray< T >::get_ptr(), SPxSimplifier::getBasis(), SPxSolver::getBasis(), SPxSolver::getDual(), SPxSolver::getPrimal(), SPxSolver::getRedCost(), SPxSolver::getSlacks(), SPxLPBase< R >::isScaled(), SPxSimplifier::isUnsimplified(), MSG_ERROR, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSimplifier::OKAY, SPxSolver::OPTIMAL, DataArray< T >::reSize(), DataArray< T >::size(), SoPlex::spxout, SPxSolver::status(), SPxScaler::unscaleDual(), SPxScaler::unscalePrimal(), SPxScaler::unscaleRedCost(), SPxScaler::unscaleSlacks(), SPxSimplifier::unsimplify(), SPxSimplifier::VANISHED, and SPxException::what().
Referenced by SoPlex::_evaluateSolutionDecomp().
|
private |
simplifies the problem and solves
Definition at line 881 of file solvedbds.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_currentProb, SoPlex::_decompLP, SoPlex::_disableSimplifierAndScaler(), SoPlex::_enableSimplifierAndScaler(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_scaler, SoPlex::_simplifier, SoPlex::_solver, SoPlex::_statistics, SoPlex::_status, SoPlex::Statistics::boundflips, SPxSolver::boundFlips(), SPxLPBase< R >::changeObjOffset(), SoPlex::DECOMP_COMP, SoPlex::DECOMP_ORIG, SoPlex::DECOMP_RED, SoPlex::Statistics::degenPivotsDual, SoPlex::Statistics::degenPivotsPrimal, SPxSolver::dualDegeneratePivots(), SoPlex::EPSILON_ZERO, SPxSolver::ERROR, SoPlex::FEASTOL, DataArray< T >::get_const_ptr(), SLUFactor::getFactorCount(), SLUFactor::getFactorTime(), SPxSimplifier::getObjoffset(), SLUFactor::getSolveCount(), SLUFactor::getSolveTime(), SoPlex::INFTY, SoPlex::Statistics::iterations, SPxSolver::iterations(), SoPlex::Statistics::iterationsCompProb, SoPlex::Statistics::iterationsFromBasis, SoPlex::Statistics::iterationsInit, SoPlex::Statistics::iterationsPrimal, SoPlex::Statistics::iterationsRedProb, SPxSolver::loadLP(), SoPlex::Statistics::luFactorizationsReal, SoPlex::Statistics::luFactorizationTimeReal, SoPlex::Statistics::luSolvesReal, SoPlex::Statistics::luSolveTimeReal, MSG_ERROR, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SoPlex::OBJ_OFFSET, SoPlex::OBJLIMIT_UPPER, SPxSimplifier::OKAY, SoPlex::OPTTOL, SoPlex::Statistics::preprocessingTime, SPxSolver::primalDegeneratePivots(), SPxSolver::primalIterations(), SoPlex::realParam(), SPxSolver::reLoad(), SLUFactor::resetCounters(), SPxScaler::scale(), SPxSolver::setBasis(), SPxSolver::setTerminationTime(), SPxSolver::setTerminationValue(), SoPlex::Statistics::simplexTime, SPxSimplifier::simplify(), DataArray< T >::size(), SPxSolver::solve(), SoPlex::Statistics::solvingTime, soplex::spx_alloc(), soplex::spx_free(), SoPlex::spxout, SPxLPBase< R >::spxSense(), Timer::start(), Timer::stop(), SoPlex::Statistics::sumDualDegen, SPxSolver::sumDualDegeneracy(), SoPlex::Statistics::sumPrimalDegen, SPxSolver::sumPrimalDegeneracy(), Timer::time(), SoPlex::TIMELIMIT, and SPxException::what().
Referenced by SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_evaluateSolutionDecomp(), and SoPlex::_solveDecompositionDualSimplex().
|
private |
removing rows from the complementary problem.
Definition at line 2062 of file solvedbds.cpp.
References SoPlex::_compSlackColId, SoPlex::_compSolver, SoPlex::_realLP, LPColSetBase< R >::add(), LPRowSetBase< R >::add(), SPxLPBase< R >::addCols(), SPxLPBase< R >::addRows(), SoPlex::boolParam(), SPxSolver::changeBounds(), SPxSolver::changeLhs(), SPxSolver::changeObj(), SPxLPBase< R >::cId(), soplex::GT(), soplex::infinity, SPxLPBase< R >::lhs(), soplex::LT(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxLPBase< R >::rhs(), SPxLPBase< R >::rowType(), SPxLPBase< R >::rowVector(), soplex::spx_alloc(), soplex::spx_free(), and SoPlex::USECOMPDUAL.
Referenced by SoPlex::_formDecompComplementaryProblem().
|
private |
disables simplifier and scaler
Definition at line 8503 of file soplex.cpp.
References SoPlex::_isRealLPScaled, SoPlex::_scaler, SoPlex::_simplifier, SoPlex::boolParam(), and SoPlex::PERSISTENTSCALING.
Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_preprocessAndSolveReal(), and SoPlex::_solveRealForRational().
|
private |
enables simplifier and scaler according to current parameters
enables simplifier and scaler
Definition at line 8445 of file soplex.cpp.
References SoPlex::_scaler, SoPlex::_scalerBiequi, SoPlex::_scalerGeo1, SoPlex::_scalerGeo8, SoPlex::_scalerGeoequi, SoPlex::_scalerLeastsq, SoPlex::_scalerUniequi, SoPlex::_simplifier, SoPlex::_simplifierMainSM, SoPlex::intParam(), SoPlex::MINRED, SoPlex::realParam(), SoPlex::SCALER, SoPlex::SCALER_BIEQUI, SoPlex::SCALER_GEO1, SoPlex::SCALER_GEO8, SoPlex::SCALER_GEOEQUI, SoPlex::SCALER_LEASTSQ, SoPlex::SCALER_OFF, SoPlex::SCALER_UNIEQUI, SPxSimplifier::setMinReduction(), SoPlex::SIMPLIFIER, SoPlex::SIMPLIFIER_AUTO, and SoPlex::SIMPLIFIER_OFF.
Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_preprocessAndSolveReal(), and SoPlex::_solveRealForRational().
|
private |
extends sparse vector to hold newmax entries if and only if it holds no more free entries
Definition at line 7655 of file soplex.cpp.
References SVectorBase< R >::max(), DSVectorBase< R >::setMax(), and SVectorBase< R >::size().
Referenced by SoPlex::_performOptIRStable().
|
private |
ensures that the rational LP is available; performs no sync
Definition at line 8517 of file soplex.cpp.
References SoPlex::_rationalLP, SPxLPBase< R >::setOutstream(), soplex::spx_alloc(), and SoPlex::spxout.
Referenced by SoPlex::_readFileRational(), SoPlex::_syncLPRational(), and SoPlex::setIntParam().
|
private |
ensures that the real LP and the basis are loaded in the solver; performs no sync
Definition at line 8530 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), DataArray< T >::get_const_ptr(), SPxSolver::loadLP(), SPxBasis::NO_PROBLEM, SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::setBasis(), DataArray< T >::size(), soplex::spx_free(), and SPxBasis::status().
Referenced by SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getEstimatedCondition(), SoPlex::getExactCondition(), SoPlex::getFastCondition(), SoPlex::multBasis(), and SoPlex::multBasisTranspose().
|
private |
evaluates the solution of the reduced problem for the DBDS
checks result of the solving process and solves again without preprocessing if necessary
Definition at line 3365 of file solvedbds.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_currentProb, SoPlex::_decompLP, SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_simplifier, SoPlex::_status, SPxSolver::ABORT_CYCLING, SPxSolver::ABORT_DECOMP, SPxSolver::ABORT_EXDECOMP, SPxSolver::ABORT_ITER, SPxSolver::ABORT_TIME, SPxSolver::ABORT_VALUE, SPxSolver::basis(), SPxLPBase< R >::changeObjOffset(), SoPlex::DECOMP_ORIG, SoPlex::DECOMP_RED, SPxSimplifier::DUAL_INFEASIBLE, DataArray< T >::get_ptr(), SPxSolver::getBasis(), SPxSimplifier::INFEASIBLE, SPxSolver::INFEASIBLE, SPxSolver::INForUNBD, SPxLPBase< R >::nCols(), SPxBasis::NO_PROBLEM, SPxLPBase< R >::nRows(), SoPlex::OBJ_OFFSET, SPxSimplifier::OKAY, SPxSolver::OPTIMAL, SoPlex::realParam(), SPxSolver::REGULAR, DataArray< T >::reSize(), SPxSolver::RUNNING, SPxSolver::SINGULAR, DataArray< T >::size(), SPxBasis::status(), SPxSolver::status(), SPxSimplifier::UNBOUNDED, SPxSolver::UNBOUNDED, SPxSolver::UNKNOWN, and SPxSimplifier::VANISHED.
Referenced by SoPlex::_decompSimplifyAndSolve().
|
private |
checks result of the solving process and solves again without preprocessing if necessary
Definition at line 96 of file solvereal.cpp.
References SoPlex::_applyPolishing, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_isRealLPScaled, SoPlex::_loadRealLP(), SoPlex::_preprocessAndSolveReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solReal, SoPlex::_solver, SoPlex::_status, SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SPxSolver::ABORT_CYCLING, SPxSolver::ABORT_ITER, SPxSolver::ABORT_TIME, SPxSolver::ABORT_VALUE, SoPlex::boolParam(), SPxLPBase< R >::changeObjOffset(), SPxSimplifier::DUAL_INFEASIBLE, SoPlex::ENSURERAY, SPxSimplifier::INFEASIBLE, SPxSolver::INFEASIBLE, SPxSolver::INForUNBD, SoPlex::intParam(), SolBase< R >::isDualFeasible(), SolBase< R >::isPrimalFeasible(), MSG_INFO1, SoPlex::OBJ_OFFSET, SPxSimplifier::OKAY, SPxSolver::OPTIMAL, SPxSolver::OPTIMAL_UNSCALED_VIOLATIONS, SoPlex::realParam(), SPxSolver::REGULAR, SPxSolver::RUNNING, SoPlex::setIntParam(), SPxSolver::SINGULAR, SoPlex::SOLUTION_POLISHING, SoPlex::spxout, SPxSolver::status(), SPxSimplifier::UNBOUNDED, SPxSolver::UNBOUNDED, and SPxSimplifier::VANISHED.
Referenced by SoPlex::_preprocessAndSolveReal().
|
private |
factorizes rational basis matrix in column representation
Definition at line 3772 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_colTypes, SoPlex::_computeBasisInverseRational(), SolBase< R >::_dual, SoPlex::_hasBasis, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_isSolveStopped(), SolBase< R >::_primal, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalLUSolverBind, SolBase< R >::_redCost, SoPlex::_rowTypes, SolBase< R >::_slacks, SoPlex::_statistics, SoPlex::_workSol, SPxSolver::BASIC, SoPlex::boolParam(), SoPlex::colVectorRational(), SPxLPBase< R >::computePrimalActivity(), SLUFactorRational::dim(), SPxSolver::FIXED, SLUFactorRational::getSolveTime(), SoPlex::INFTY, SoPlex::intParam(), SoPlex::lhsRational(), SoPlex::lowerRational(), SoPlex::Statistics::luSolveTimeRational, MSG_DEBUG, MSG_INFO1, MSG_INFO2, MSG_WARNING, VectorBase< R >::multAdd(), SoPlex::numColsRational(), SoPlex::numRowsRational(), SoPlex::objRational(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SLinSolverRational::OK, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::RANGETYPE_FIXED, SoPlex::RATFACJUMP, SoPlex::Statistics::rationalTime, soplex::rationalToString(), SoPlex::realParam(), DVectorBase< R >::reDim(), SLUFactorRational::resetCounters(), DataArray< T >::reSize(), SoPlex::rhsRational(), SLUFactorRational::setTimeLimit(), DataArray< T >::size(), SLUFactorRational::solveLeft(), SLUFactorRational::solveRight(), SoPlex::Statistics::solvingTime, SoPlex::spxout, Timer::start(), SLUFactorRational::status(), Timer::stop(), SLinSolverRational::TIME, Timer::time(), SoPlex::TIMELIMIT, SPxSolver::UNDEFINED, SLinSolverRational::UNLOADED, SoPlex::upperRational(), and SPxSolver::ZERO.
Referenced by SoPlex::_performOptIRStable().
|
private |
builds the update rows with those violated in the complmentary problem
Definition at line 1503 of file solvedbds.cpp.
References SoPlex::_compSlackColId, SoPlex::_compSolver, SoPlex::_decompDualColIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_decompReducedProbRows, SoPlex::_nPrimalRows, SoPlex::_realLP, SoPlex::boolParam(), SPxLPBase< R >::computePrimalActivity(), SoPlex::FEASTOL, SoPlex::getCompSlackVarCoeff(), SPxSolver::getPrimal(), SPxSolver::getRedCost(), SPxLPBase< R >::lhs(), soplex::LT(), SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SPxLPBase< R >::number(), SoPlex::numIncludedRows, SoPlex::realParam(), SPxLPBase< R >::rhs(), soplex::spxAbs(), and SoPlex::USECOMPDUAL.
Referenced by SoPlex::_updateDecompReducedProblem().
|
private |
forms the complementary problem
Definition at line 735 of file solvedbds.cpp.
References SoPlex::_compSlackColId, SoPlex::_compSlackDualRowId, SoPlex::_compSolver, SoPlex::_decompCompPrimalColIDs, SoPlex::_decompCompPrimalRowIDs, SoPlex::_decompCompProbColIDsIdx, SoPlex::_decompDualColIDs, SoPlex::_decompDualRowIDs, SoPlex::_decompElimPrimalRowIDs, SoPlex::_decompFixedVarDualIDs, SoPlex::_decompPrimalColIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_decompVarBoundDualIDs, SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_fixedOrigVars, SoPlex::_nCompPrimalCols, SoPlex::_nCompPrimalRows, SoPlex::_nDualCols, SoPlex::_nDualRows, SoPlex::_nElimPrimalRows, SoPlex::_nPrimalCols, SoPlex::_nPrimalRows, SoPlex::_realLP, SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::boolParam(), SPxLPBase< R >::buildDualProblem(), SPxLPBase< R >::cId(), soplex::EQ(), DataArray< T >::get_ptr(), DataKey::getIdx(), soplex::infinity, SPxSolver::init(), soplex::LE(), SPxLPBase< R >::lhs(), SPxSolver::loadLP(), soplex::LT(), SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SPxLPBase< R >::number(), SoPlex::numRowsReal(), SPxLPBase< R >::rhs(), SPxLPBase< R >::rId(), SPxLPBase< R >::rowType(), SPxLPBase< R >::setOutstream(), soplex::spx_alloc(), SoPlex::spxout, and SoPlex::USECOMPDUAL.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
forms the reduced problem
Definition at line 636 of file solvedbds.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_computeReducedProbObjCoeff(), SoPlex::_decompFeasVector, SoPlex::_decompLP, SoPlex::_decompReducedProbColRowIDs, SoPlex::_decompTransBasis, SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_getZeroDualMultiplierIndices(), SoPlex::_solver, SPxLPBase< R >::addRows(), SPxSolver::basis(), DataArray< T >::get_ptr(), SPxSolver::getBasis(), SPxSolver::loadLP(), MSG_INFO2, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SoPlex::numColsReal(), SoPlex::numIncludedRows, SoPlex::numRowsReal(), SPxLPBase< R >::removeRows(), DataArray< T >::reSize(), SoPlex::solveTime(), soplex::spx_alloc(), soplex::spx_free(), and SoPlex::spxout.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
computes the compatible bound constraints and adds them to the reduced problem
Definition at line 1918 of file solvedbds.cpp.
References SoPlex::_decompLP, SoPlex::_decompReducedProbColRowIDs, SoPlex::_solver, SoPlex::_transformedRows, DSVectorBase< R >::add(), LPRowSetBase< R >::add(), SPxSolver::basis(), SPxLPBase< R >::changeLower(), SPxLPBase< R >::changeUpper(), SoPlex::decompTerminate(), SoPlex::EPSILON_ZERO, SoPlex::FEASTOL, soplex::GT(), SSVectorBase< R >::index(), soplex::infinity, SSVectorBase< R >::isSetup(), soplex::isZero(), SPxLPBase< R >::lower(), soplex::LT(), MSG_ERROR, SoPlex::numColsReal(), SoPlex::realParam(), SSVectorBase< R >::size(), SPxBasis::solve(), SoPlex::spxout, SoPlex::TIMELIMIT, TIMELIMIT_FRAC, SPxSolver::unitVector(), SSVectorBase< R >::unSetup(), SPxLPBase< R >::upper(), SSVectorBase< R >::value(), and SPxException::what().
Referenced by SoPlex::_formDecompReducedProblem().
|
private |
retrieves the compatible columns from the constraint matrix
Definition at line 1685 of file solvedbds.cpp.
References SoPlex::_decompLP, SoPlex::_decompReducedProbColRowIDs, SoPlex::_decompReducedProbRowIDs, SoPlex::_decompReducedProbRows, SoPlex::_realLP, SoPlex::_solver, SoPlex::_transformedRows, DSVectorBase< R >::add(), LPRowSetBase< R >::add(), SPxBasis::baseId(), SPxSolver::basis(), SPxLPBase< R >::changeRow(), SoPlex::decompTerminate(), SoPlex::EPSILON_ZERO, soplex::EQ(), SoPlex::FEASTOL, SPxLPBase< R >::getRow(), SPxId::isSPxRowId(), soplex::isZero(), LPRowBase< R >::lhs(), MSG_ERROR, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SPxLPBase< R >::number(), SoPlex::numColsReal(), SoPlex::numIncludedRows, SoPlex::numRowsReal(), SoPlex::realParam(), LPRowBase< R >::rhs(), SPxSolver::rowId(), LPRowBase< R >::setRowVector(), SPxBasis::solve(), soplex::spx_alloc(), soplex::spx_free(), SoPlex::spxout, SoPlex::TIMELIMIT, TIMELIMIT_FRAC, SSVectorBase< R >::unSetup(), SPxSolver::vector(), and SPxException::what().
Referenced by SoPlex::_formDecompReducedProblem().
|
private |
computes the rows to remove from the complementary problem
Definition at line 2042 of file solvedbds.cpp.
|
private |
identifies the columns of the row-form basis that correspond to rows with zero dual multipliers.
Definition at line 1606 of file solvedbds.cpp.
References SoPlex::_decompReducedProbColIDs, SoPlex::_decompReducedProbCols, SoPlex::_solver, SPxBasis::baseId(), SPxSolver::basis(), SoPlex::decompTerminate(), SoPlex::EPSILON_ZERO, SoPlex::FEASTOL, SPxId::isSPxColId(), SPxId::isSPxRowId(), soplex::isZero(), SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), SoPlex::numColsReal(), SoPlex::realParam(), SPxSolver::rep(), SPxSolver::ROW, SoPlex::TIMELIMIT, and TIMELIMIT_FRAC.
Referenced by SoPlex::_formDecompReducedProblem().
|
private |
removing the dual columns related to the fixed variables
identify the dual columns related to the fixed variables
Definition at line 2905 of file solvedbds.cpp.
References SoPlex::_decompReducedProbColRowIDs, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxBasis::Desc::D_FREE, SPxBasis::Desc::D_ON_LOWER, SPxBasis::Desc::D_ON_UPPER, SPxBasis::desc(), soplex::EQ(), SoPlex::FEASTOL, SoPlex::getOrigVarFixedDirection(), SPxLPBase< R >::lhs(), MSG_INFO3, SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, SPxSolver::pVec(), SoPlex::realParam(), SPxLPBase< R >::rhs(), SPxBasis::Desc::rowStatus(), and SoPlex::spxout.
Referenced by SoPlex::_updateDecompComplementaryDualProblem().
|
private |
removing the dual columns related to the fixed variables
identify the dual columns related to the fixed variables
Definition at line 3170 of file solvedbds.cpp.
References SoPlex::_decompReducedProbColRowIDs, SoPlex::_realLP, SoPlex::_solver, SPxSolver::basis(), SPxBasis::desc(), SoPlex::getOrigVarFixedDirection(), MSG_INFO3, SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, SPxBasis::Desc::rowStatus(), and SoPlex::spxout.
Referenced by SoPlex::_updateDecompComplementaryPrimalProblem().
|
private |
creates a permutation for removing rows/columns from an array of indices
Definition at line 7666 of file soplex.cpp.
Referenced by SoPlex::removeColsRational(), SoPlex::removeColsReal(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
|
private |
invalidates solution
Definition at line 8430 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, SoPlex::_solReal, SoPlex::_status, SolBase< R >::invalidate(), and SPxSolver::UNKNOWN.
Referenced by SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::addColRational(), SoPlex::addColReal(), SoPlex::addColsRational(), SoPlex::addColsReal(), SoPlex::addRowRational(), SoPlex::addRowReal(), SoPlex::addRowsRational(), SoPlex::addRowsReal(), SoPlex::changeBoundsRational(), SoPlex::changeBoundsReal(), SoPlex::changeColRational(), SoPlex::changeColReal(), SoPlex::changeElementRational(), SoPlex::changeElementReal(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SoPlex::changeObjRational(), SoPlex::changeObjReal(), SoPlex::changeRangeRational(), SoPlex::changeRangeReal(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SoPlex::changeRowRational(), SoPlex::changeRowReal(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SoPlex::clearLPRational(), SoPlex::clearLPReal(), SoPlex::optimize(), SoPlex::removeColRational(), SoPlex::removeColReal(), SoPlex::removeColsRational(), SoPlex::removeColsReal(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SoPlex::removeRowsRational(), SoPlex::removeRowsReal(), and SoPlex::setIntParam().
|
private |
checks consistency
Definition at line 7699 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_colTypes, SoPlex::_currentSettings, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalLUSolverBind, SoPlex::_realLP, SoPlex::_rowTypes, SoPlex::_solver, SoPlex::_statistics, SLUFactorRational::dim(), SoPlex::intParam(), SoPlex::numColsRational(), SoPlex::numColsReal(), SoPlex::numRowsRational(), SoPlex::numRowsReal(), DataArray< T >::size(), SLUFactorRational::status(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_ONLYREAL, and SLinSolverRational::UNLOADED.
Referenced by SoPlex::_solveRealForRational(), SoPlex::operator=(), SoPlex::optimize(), SoPlex::setBoolParam(), SoPlex::setIntParam(), SoPlex::setRealParam(), SoPlex::setSettings(), SoPlex::SoPlex(), SoPlex::syncLPRational(), SoPlex::syncLPReal(), and SoPlex::~SoPlex().
|
private |
should solving process be stopped?
Definition at line 7727 of file soplex.cpp.
References SoPlex::_statistics, SoPlex::INFTY, SoPlex::intParam(), SoPlex::Statistics::iterations, SoPlex::ITERLIMIT, SoPlex::realParam(), SoPlex::Statistics::refinements, SoPlex::REFLIMIT, SoPlex::Statistics::solvingTime, SoPlex::Statistics::stallRefinements, SoPlex::STALLREFLIMIT, Timer::time(), and SoPlex::TIMELIMIT.
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_optimizeRational(), and SoPlex::_performOptIRStable().
|
private |
reduces matrix coefficient in absolute value by the lifting procedure of Thiele et al. 2013
Definition at line 1668 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_beforeLiftCols, SoPlex::_beforeLiftRows, SoPlex::_hasBasis, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalNegInfty, SoPlex::_rationalPosInfty, SoPlex::_realLP, SoPlex::_statistics, SVectorBase< R >::add(), SPxLPBase< R >::addRow(), DataArray< T >::append(), SPxSolver::BASIC, SPxLPBase< R >::changeBounds(), SPxLPBase< R >::changeElement(), SLUFactorRational::clear(), SVectorBase< R >::clear(), SoPlex::colVectorRational(), SPxSolver::FIXED, SVectorBase< R >::index(), SoPlex::INFTY, SoPlex::LIFTMAXVAL, SoPlex::LIFTMINVAL, MSG_DEBUG, MSG_INFO1, SoPlex::numColsRational(), SoPlex::numColsReal(), SoPlex::numRowsRational(), soplex::rationalToString(), SoPlex::realParam(), SVectorBase< R >::size(), soplex::spxAbs(), SoPlex::spxout, Timer::start(), Timer::stop(), SoPlex::Statistics::transformTime, SVectorBase< R >::value(), and SPxLPBase< R >::writeFile().
Referenced by SoPlex::_optimizeRational().
|
private |
load original LP and possibly setup a slack basis
Definition at line 688 of file solvereal.cpp.
References SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::init(), SPxSolver::loadLP(), and soplex::spx_free().
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_storeSolutionReal(), and SoPlex::_storeSolutionRealFromPresol().
|
private |
checks whether RangeType corresponds to finite lower bound
Definition at line 7806 of file soplex.cpp.
References SoPlex::RANGETYPE_BOXED, SoPlex::RANGETYPE_FIXED, and SoPlex::RANGETYPE_LOWER.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), and SoPlex::_untransformUnbounded().
|
private |
solves rational LP
Definition at line 27 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SolBase< R >::_dual, SoPlex::_hasBasis, SolBase< R >::_hasPrimalRay, SoPlex::_hasSolRational, SolBase< R >::_isDualFeasible, SoPlex::_isRealLPLoaded, SoPlex::_isSolveStopped(), SoPlex::_lastSolveMode, SoPlex::_lift(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SolBase< R >::_primalRay, SoPlex::_project(), SoPlex::_realLP, SolBase< R >::_redCost, SoPlex::_restoreBasis(), SoPlex::_restoreLPReal(), SoPlex::_solRational, SoPlex::_solver, SoPlex::_statistics, SoPlex::_status, SoPlex::_storeBasis(), SoPlex::_storedBasis, SoPlex::_storeLPReal(), SoPlex::_transformEquality(), SoPlex::_untransformEquality(), SPxSolver::ABORT_ITER, SPxSolver::ABORT_TIME, SPxSolver::basis(), SoPlex::boolParam(), SoPlex::EQTRANS, SPxSolver::ERROR, DataArray< T >::get_const_ptr(), DataArray< T >::get_ptr(), SPxSolver::getBasis(), SolBase< R >::hasPrimalRay(), SPxSolver::INFEASIBLE, SoPlex::INFTY, SoPlex::intParam(), SoPlex::LIFTING, SPxSolver::loadLP(), MSG_INFO1, MSG_INFO2, SPxBasis::NO_PROBLEM, SoPlex::numColsReal(), SoPlex::numRowsReal(), SoPlex::OBJLIMIT_LOWER, SoPlex::OBJLIMIT_UPPER, SPxSolver::OPTIMAL, SoPlex::Statistics::preprocessingTime, SoPlex::RATIOTESTER, SoPlex::RATIOTESTER_FAST, SoPlex::realParam(), SoPlex::REPRESENTATION, SoPlex::REPRESENTATION_COLUMN, DataArray< T >::reSize(), SPxSolver::setBasis(), SoPlex::setBoolParam(), SoPlex::setIntParam(), SPxSolver::setTerminationValue(), DataArray< T >::size(), SoPlex::SOLVEMODE_RATIONAL, SoPlex::Statistics::solvingTime, soplex::spx_free(), SoPlex::spxout, Timer::start(), SPxBasis::status(), Timer::stop(), SoPlex::TESTDUALINF, and SPxSolver::UNBOUNDED.
Referenced by SoPlex::optimize().
|
private |
solves real LP
Definition at line 28 of file solvereal.cpp.
References SoPlex::_checkScaling(), SoPlex::_hasBasis, SoPlex::_isRealLPScaled, SoPlex::_lastSolveMode, SoPlex::_optimizeCalls, SoPlex::_preprocessAndSolveReal(), SoPlex::_realLP, SoPlex::_reapplyPersistentScaling(), SoPlex::_scaler, SoPlex::_solReal, SoPlex::_solver, SoPlex::_statistics, SoPlex::_unscaleCalls, SoPlex::boolParam(), SoPlex::Statistics::finalBasisCondition, SPxSolver::getFastCondition(), SoPlex::INFTY, SolBase< R >::invalidate(), SPxLPBase< R >::isScaled(), SoPlex::OBJLIMIT_LOWER, SoPlex::OBJLIMIT_UPPER, SoPlex::PERSISTENTSCALING, SoPlex::realParam(), SPxScaler::scale(), SoPlex::SOLVEMODE_REAL, SoPlex::Statistics::solvingTime, soplex::spx_alloc(), Timer::start(), Timer::stop(), and SPxSolver::unscaleLPandReloadBasis().
Referenced by SoPlex::optimize().
|
private |
parses one line in a settings file and returns true on success; note that the string is modified
Definition at line 8899 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::Settings::boolParam, SoPlex::BOOLPARAM_COUNT, SoPlex::Settings::intParam, SoPlex::INTPARAM_COUNT, MSG_INFO1, MSG_WARNING, SoPlex::Settings::BoolParam::name, SoPlex::Settings::IntParam::name, SoPlex::Settings::RealParam::name, soplex::readStringRational(), SoPlex::Settings::realParam, SoPlex::REALPARAM_COUNT, SET_MAX_LINE_LEN, SoPlex::setBoolParam(), SoPlex::setIntParam(), SoPlex::setRandomSeed(), SoPlex::setRealParam(), and SoPlex::spxout.
Referenced by SoPlex::loadSettingsFile().
|
private |
performs iterative refinement on the auxiliary problem for testing feasibility
Definition at line 1566 of file solverational.cpp.
References SoPlex::_computeInfeasBox(), SolBase< R >::_dual, SolBase< R >::_dualFarkas, SolBase< R >::_hasDualFarkas, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_performOptIRStable(), SolBase< R >::_primal, SoPlex::_rationalFeastol, SoPlex::_rationalPosone, SoPlex::_solRational, SoPlex::_statistics, SoPlex::_transformFeasibility(), SoPlex::_untransformFeasibility(), SoPlex::Statistics::feasRefinements, SoPlex::FEASTOL, SolBase< R >::invalidate(), MSG_DEBUG, SoPlex::numColsRational(), soplex::rationalToString(), SoPlex::realParam(), and SoPlex::Statistics::refinements.
Referenced by SoPlex::_optimizeRational().
|
private |
solves current problem with iterative refinement and recovery mechanism
Definition at line 356 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_colTypes, SolBase< R >::_dual, SolBase< R >::_dualFarkas, SoPlex::_ensureDSVectorRationalMemory(), SoPlex::_factorizeColumnRational(), SoPlex::_hasBasis, SolBase< R >::_hasDualFarkas, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_isSolveStopped(), SoPlex::_lowerFinite(), SoPlex::_modLhs, SoPlex::_modLower, SoPlex::_modObj, SoPlex::_modRhs, SoPlex::_modUpper, SolBase< R >::_objVal, SolBase< R >::_primal, SoPlex::_primalDualDiff, SoPlex::_rationalFeastol, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalMaxscaleincr, SoPlex::_rationalNegInfty, SoPlex::_rationalOpttol, SoPlex::_rationalPosInfty, SoPlex::_rationalPosone, SoPlex::_realLP, SoPlex::_reconstructSolutionRational(), SolBase< R >::_redCost, SoPlex::_rowTypes, SoPlex::_slackCols, SolBase< R >::_slacks, SoPlex::_solver, SoPlex::_solveRealStable(), SoPlex::_statistics, SoPlex::_upperFinite(), SPxSolver::ABORT_ITER, SPxSolver::ABORT_TIME, DSVectorBase< R >::add(), SPxLPBase< R >::addDualActivity(), SPxLPBase< R >::addPrimalActivity(), SPxSolver::BASIC, SPxSolver::basis(), SoPlex::boolParam(), SPxSolver::changeLhs(), SPxSolver::changeLower(), SPxSolver::changeObj(), SPxSolver::changeRhs(), SPxSolver::changeRowObj(), SPxSolver::changeUpper(), SLUFactorRational::clear(), SVectorBase< R >::clear(), SPxSolver::clearRowObjs(), LPColSetBase< R >::colVector(), SPxLPBase< R >::computePrimalActivity(), SPxBasis::desc(), SPxBasis::Desc::dump(), SoPlex::EQTRANS, SPxSolver::FIXED, SoPlex::FPFEASTOL, SoPlex::FPOPTTOL, DataArray< T >::get_const_ptr(), SPxLPBase< R >::getObj(), SVectorBase< R >::index(), SPxSolver::INFEASIBLE, SoPlex::INFTY, SoPlex::intParam(), Rational::invert(), SoPlex::Statistics::iterations, SoPlex::lhsRational(), SoPlex::lowerRational(), SPxLPBase< R >::maxObj(), SPxLPBase< R >::maxRowObj(), MSG_DEBUG, MSG_INFO1, MSG_INFO2, MSG_WARNING, SPxBasis::NO_PROBLEM, LPColSetBase< R >::num(), SoPlex::numColsRational(), SoPlex::numRowsRational(), SPxLPBase< R >::obj(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SPxSolver::OPTIMAL, SPxSolver::opttol(), SoPlex::Statistics::pivotRefinements, SoPlex::POWERSCALING, Rational::powRound(), SoPlex::RANGETYPE_FIXED, SoPlex::RATFAC, SoPlex::RATFAC_MINSTALLS, SoPlex::RATFACJUMP, SoPlex::Statistics::rationalTime, soplex::rationalToString(), SoPlex::RATREC, SoPlex::RATREC_FREQ, SoPlex::realParam(), DVectorBase< R >::reDim(), SoPlex::Statistics::refinements, SPxBasis::REGULAR, SoPlex::rhsRational(), SPxSolver::setBasis(), SPxSolver::setFeastol(), SPxSolver::setOpttol(), SVectorBase< R >::size(), DataArray< T >::size(), SoPlex::Statistics::solvingTime, soplex::spxAbs(), SoPlex::spxout, SoPlex::Statistics::stallRefinements, Timer::start(), SPxBasis::status(), Timer::stop(), SPxLPBase< R >::subDualActivity(), Timer::time(), SPxSolver::UNBOUNDED, SPxSolver::UNKNOWN, SoPlex::upperRational(), SVectorBase< R >::value(), and SPxSolver::ZERO.
Referenced by SoPlex::_optimizeRational(), SoPlex::_performFeasIRStable(), and SoPlex::_performUnboundedIRStable().
|
private |
performs iterative refinement on the auxiliary problem for testing unboundedness
Definition at line 1499 of file solverational.cpp.
References SoPlex::_performOptIRStable(), SolBase< R >::_primal, SoPlex::_rationalFeastol, SoPlex::_rationalPosone, SoPlex::_statistics, SoPlex::_transformUnbounded(), SoPlex::_untransformUnbounded(), SoPlex::FEASTOL, SolBase< R >::invalidate(), MSG_DEBUG, SoPlex::numColsRational(), soplex::rationalToString(), SoPlex::realParam(), SoPlex::Statistics::refinements, and SoPlex::Statistics::unbdRefinements.
Referenced by SoPlex::_optimizeRational().
|
private |
solves real LP with/without preprocessing
Definition at line 223 of file solvereal.cpp.
References SoPlex::_applyPolishing, SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_disableSimplifierAndScaler(), SoPlex::_enableSimplifierAndScaler(), SoPlex::_evaluateSolutionReal(), SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_isRealLPScaled, SoPlex::_realLP, SoPlex::_scaler, SoPlex::_simplifier, SoPlex::_solver, SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_statistics, SoPlex::boolParam(), SPxLPBase< R >::changeObjOffset(), SoPlex::EPSILON_ZERO, SoPlex::FEASTOL, DataArray< T >::get_const_ptr(), SPxSimplifier::getObjoffset(), SoPlex::intParam(), SPxLPBase< R >::isScaled(), SPxSolver::loadLP(), SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SoPlex::OBJ_OFFSET, SoPlex::OBJLIMIT_LOWER, SoPlex::OBJLIMIT_UPPER, SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SPxSimplifier::OKAY, SoPlex::OPTTOL, SPxSolver::POLISH_OFF, SoPlex::Statistics::preprocessingTime, SoPlex::RATIOTESTER, SoPlex::RATIOTESTER_BOUNDFLIPPING, SoPlex::realParam(), SoPlex::REPRESENTATION, SoPlex::REPRESENTATION_AUTO, SoPlex::REPRESENTATION_ROW, SoPlex::REPRESENTATION_SWITCH, SoPlex::ROWBOUNDFLIPS, SPxScaler::scale(), SPxSolver::setBasis(), SPxLPBase< R >::setScalingInfo(), SPxSolver::setSolutionPolishing(), SPxSolver::setTerminationValue(), SPxSimplifier::simplify(), DataArray< T >::size(), soplex::spx_alloc(), soplex::spx_free(), Timer::start(), and Timer::stop().
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_optimizeReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), and SoPlex::_verifySolutionReal().
|
private |
undoes lifting
Definition at line 1848 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_beforeLiftCols, SoPlex::_beforeLiftRows, SolBase< R >::_dual, SolBase< R >::_dualFarkas, SoPlex::_hasBasis, SolBase< R >::_isDualFeasible, SolBase< R >::_primal, SolBase< R >::_primalRay, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalOpttol, SoPlex::_realLP, SolBase< R >::_redCost, SolBase< R >::_slacks, SoPlex::_statistics, SPxSolver::BASIC, SLUFactorRational::clear(), SolBase< R >::hasDualFarkas(), SolBase< R >::hasPrimalRay(), SolBase< R >::isDualFeasible(), SolBase< R >::isPrimalFeasible(), SoPlex::LIFTMAXVAL, MSG_DEBUG, MSG_INFO1, SoPlex::numColsRational(), SoPlex::numColsReal(), SoPlex::numRowsRational(), SoPlex::numRowsReal(), SoPlex::realParam(), DVectorBase< R >::reDim(), SPxLPBase< R >::removeColRange(), SPxLPBase< R >::removeRowRange(), DataArray< T >::reSize(), soplex::spxAbs(), SoPlex::spxout, Timer::start(), Timer::stop(), SoPlex::Statistics::transformTime, and SPxLPBase< R >::writeFile().
Referenced by SoPlex::_optimizeRational().
|
private |
creates a permutation for removing rows/columns from a range of indices
Definition at line 7687 of file soplex.cpp.
Referenced by SoPlex::removeColRangeRational(), SoPlex::removeColRangeReal(), SoPlex::removeRowRangeRational(), and SoPlex::removeRowRangeReal().
|
private |
determines RangeType from rational bounds
Definition at line 7768 of file soplex.cpp.
References SoPlex::_rationalNegInfty, SoPlex::_rationalPosInfty, SoPlex::RANGETYPE_BOXED, SoPlex::RANGETYPE_FIXED, SoPlex::RANGETYPE_FREE, SoPlex::RANGETYPE_LOWER, and SoPlex::RANGETYPE_UPPER.
Referenced by SoPlex::_completeRangeTypesRational(), SoPlex::_recomputeRangeTypesRational(), SoPlex::changeBoundsRational(), SoPlex::changeColRational(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SoPlex::changeRangeRational(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SoPlex::changeRowRational(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SoPlex::removeColRational(), SoPlex::removeColReal(), SoPlex::removeColsRational(), SoPlex::removeColsReal(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
|
private |
determines RangeType from real bounds
Definition at line 7743 of file soplex.cpp.
References soplex::infinity, SoPlex::RANGETYPE_BOXED, SoPlex::RANGETYPE_FIXED, SoPlex::RANGETYPE_FREE, SoPlex::RANGETYPE_LOWER, and SoPlex::RANGETYPE_UPPER.
Referenced by SoPlex::_recomputeRangeTypesReal(), SoPlex::changeBoundsReal(), SoPlex::changeColReal(), SoPlex::changeRangeReal(), and SoPlex::changeRowReal().
|
private |
reads rational LP in LP or MPS format from file and returns true on success; gets row names, column names, and integer variables if desired
Definition at line 8712 of file soplex.cpp.
References SoPlex::_ensureRationalLP(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_recomputeRangeTypesRational(), SoPlex::_statistics, SoPlex::_status, SoPlex::_syncLPReal(), SPxLPBase< R >::changeObjOffset(), SoPlex::Statistics::clearAllData(), SoPlex::clearBasis(), SoPlex::clearLPRational(), SoPlex::intParam(), SPxLPBase< R >::MAXIMIZE, SoPlex::OBJ_OFFSET, SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::OBJSENSE_MINIMIZE, SPxLPBase< R >::readFile(), SoPlex::Statistics::readingTime, SoPlex::realParam(), SoPlex::setIntParam(), soplex::spx_free(), SPxLPBase< R >::spxSense(), Timer::start(), Timer::stop(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, and SPxSolver::UNKNOWN.
Referenced by SoPlex::readFile().
|
private |
reads real LP in LP or MPS format from file and returns true on success; gets row names, column names, and integer variables if desired
Definition at line 8669 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_realLP, SoPlex::_statistics, SoPlex::_status, SoPlex::_syncLPRational(), SPxLPBase< R >::changeObjOffset(), SoPlex::Statistics::clearAllData(), SoPlex::clearBasis(), SoPlex::clearLPReal(), SoPlex::intParam(), SPxLPBase< Real >::MAXIMIZE, SoPlex::OBJ_OFFSET, SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::OBJSENSE_MINIMIZE, SPxLPBase< R >::readFile(), SoPlex::Statistics::readingTime, SoPlex::realParam(), SoPlex::setIntParam(), SPxLPBase< R >::spxSense(), Timer::start(), Timer::stop(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SPxSolver::UNKNOWN.
Referenced by SoPlex::readFile().
|
private |
check whether persistent scaling is supposed to be reapplied again after unscaling
Definition at line 84 of file solvereal.cpp.
References SoPlex::_optimizeCalls, SoPlex::_unscaleCalls, ALLOWED_UNSCALE_PERCENTAGE, and MIN_OPT_CALLS_WITH_SCALING.
Referenced by SoPlex::_optimizeReal().
|
private |
recomputes range types from scratch using rational LP
Definition at line 8791 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, SPxLPBase< R >::lhs(), SPxLPBase< R >::lower(), SoPlex::numColsRational(), SoPlex::numRowsRational(), DataArray< T >::reSize(), SPxLPBase< R >::rhs(), and SPxLPBase< R >::upper().
Referenced by SoPlex::_readFileRational(), SoPlex::_syncLPRational(), and SoPlex::setRealParam().
|
private |
recomputes range types from scratch using real LP
Definition at line 8775 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_rangeTypeReal(), SoPlex::_realLP, SoPlex::_rowTypes, SPxLPBase< R >::lhs(), SPxLPBase< R >::lower(), SoPlex::numColsReal(), SoPlex::numRowsReal(), DataArray< T >::reSize(), SPxLPBase< R >::rhs(), and SPxLPBase< R >::upper().
|
private |
attempts rational reconstruction of primal-dual solution
Definition at line 4230 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_colTypes, SolBase< R >::_dual, SoPlex::_hasBasis, SoPlex::_lowerFinite(), SolBase< R >::_primal, SoPlex::_rationalLP, SolBase< R >::_redCost, SoPlex::_rowTypes, SolBase< R >::_slacks, SoPlex::_statistics, SoPlex::_upperFinite(), SoPlex::_workSol, DIdxSet::addIdx(), SPxSolver::BASIC, SPxLPBase< R >::computePrimalActivity(), SPxSolver::FIXED, SPxLPBase< R >::getObj(), SoPlex::intParam(), SolBase< R >::isDualFeasible(), SolBase< R >::isPrimalFeasible(), SoPlex::lhsRational(), SoPlex::lowerRational(), MSG_DEBUG, MSG_INFO1, MSG_WARNING, SoPlex::numColsRational(), SoPlex::numRowsRational(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::Statistics::rationalReconstructions, soplex::rationalToString(), SoPlex::Statistics::reconstructionTime, soplex::reconstructVector(), DVectorBase< R >::reDim(), SoPlex::rhsRational(), soplex::sign(), SoPlex::spxout, Timer::start(), Timer::stop(), SPxLPBase< R >::subDualActivity(), SPxSolver::UNDEFINED, SoPlex::upperRational(), and SPxSolver::ZERO.
Referenced by SoPlex::_performOptIRStable().
|
private |
removes columns start
to end
including both; an array perm
of size numColsReal() may be passed as buffer memory
|
private |
removes column i
Definition at line 8366 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SLUFactorRational::clear(), SPxBasis::NO_PROBLEM, SPxLPBase< R >::removeCol(), DataArray< T >::removeLast(), DataArray< T >::size(), and SPxBasis::status().
Referenced by SoPlex::removeColRational(), and SoPlex::removeColReal().
|
private |
removes all columns with an index i
such that perm
[i] < 0; upon completion, perm
[i] >= 0 indicates the new index where column i
has been moved to; note that perm
must point to an array of size at least numColsReal()
Definition at line 8395 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SLUFactorRational::clear(), SPxBasis::NO_PROBLEM, SoPlex::numColsReal(), SPxLPBase< R >::removeCols(), DataArray< T >::reSize(), and SPxBasis::status().
Referenced by SoPlex::removeColsRational(), and SoPlex::removeColsReal().
|
private |
remove all columns with indices in array idx
of size n
; an array perm
of size numColsReal() may be passed as buffer memory
|
private |
removing the dual columns related to the fixed variables
Definition at line 2952 of file solvedbds.cpp.
References SoPlex::_compSolver, SoPlex::_decompCompProbColIDsIdx, SoPlex::_decompFixedVarDualIDs, SoPlex::_decompVarBoundDualIDs, SoPlex::_fixedOrigVars, SoPlex::_realLP, soplex::GE(), soplex::GT(), soplex::infinity, DataKey::inValidate(), soplex::LE(), SPxLPBase< R >::lower(), soplex::LT(), SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), SPxLPBase< R >::removeCols(), soplex::spx_alloc(), soplex::spx_free(), and SPxLPBase< R >::upper().
Referenced by SoPlex::_updateDecompComplementaryDualProblem().
|
private |
removes rows start
to end
including both; an array perm
of size numRowsReal() may be passed as buffer memory
|
private |
removes row i
and adjusts basis
Definition at line 8302 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SLUFactorRational::clear(), SPxBasis::NO_PROBLEM, DataArray< T >::removeLast(), SPxLPBase< R >::removeRow(), DataArray< T >::size(), and SPxBasis::status().
Referenced by SoPlex::removeRowRational(), and SoPlex::removeRowReal().
|
private |
removes all rows with an index i
such that perm
[i] < 0; upon completion, perm
[i] >= 0 indicates the new index where row i
has been moved to; note that perm
must point to an array of size at least numRowsReal()
Definition at line 8331 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SLUFactorRational::clear(), SPxBasis::NO_PROBLEM, SoPlex::numRowsReal(), SPxLPBase< R >::removeRows(), DataArray< T >::reSize(), and SPxBasis::status().
Referenced by SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
|
private |
remove all rows with indices in array idx
of size n
; an array perm
of size numRowsReal() may be passed as buffer memory
|
private |
loads original problem into solver and solves again after it has been solved to optimality with preprocessing
loads original problem into solver and solves again after it has been solved to infeasibility or unboundedness with preprocessing
Definition at line 328 of file solvereal.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_preprocessAndSolveReal(), SoPlex::_scaler, SoPlex::_simplifier, SoPlex::_solver, SoPlex::_status, DataArray< T >::get_ptr(), SPxSimplifier::getBasis(), SPxSolver::getBasis(), SPxSolver::getDual(), SPxSolver::getPrimal(), SPxSolver::getRedCost(), SPxSolver::getSlacks(), SPxSolver::INFEASIBLE, SPxSolver::INForUNBD, SPxLPBase< R >::isScaled(), SPxSimplifier::isUnsimplified(), MSG_INFO1, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSimplifier::OKAY, DataArray< T >::reSize(), DataArray< T >::size(), SoPlex::spxout, SPxSolver::UNBOUNDED, SPxScaler::unscaleDual(), SPxScaler::unscalePrimal(), SPxScaler::unscaleRedCost(), SPxScaler::unscaleSlacks(), SPxSimplifier::unsimplify(), and SPxException::what().
Referenced by SoPlex::_evaluateSolutionReal().
|
private |
restore basis
Definition at line 2505 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_storedBasis, SoPlex::_storedBasisStatusCols, and SoPlex::_storedBasisStatusRows.
Referenced by SoPlex::_optimizeRational().
|
private |
restores objective, bounds, and sides of real LP
Definition at line 1967 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SolBase< R >::_dual, SoPlex::_hasBasis, SoPlex::_hasSolRational, SoPlex::_manualLhs, SoPlex::_manualLower, SoPlex::_manualObj, SoPlex::_manualRealLP, SoPlex::_manualRhs, SoPlex::_manualUpper, SoPlex::_realLP, SoPlex::_solRational, SoPlex::_solver, SPxSolver::basis(), SPxLPBase< R >::changeLhs(), SPxLPBase< R >::changeLower(), SPxLPBase< R >::changeObj(), SPxLPBase< R >::changeRhs(), SPxLPBase< R >::changeUpper(), SPxSolver::FIXED, DataArray< T >::get_const_ptr(), soplex::infinity, SoPlex::intParam(), SolBase< R >::isDualFeasible(), SPxLPBase< R >::lhs(), SPxSolver::loadLP(), SPxBasis::NO_PROBLEM, SPxLPBase< R >::nRows(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SPxLPBase< R >::rhs(), SPxSolver::setBasis(), soplex::spxNextafter(), SPxBasis::status(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_MANUAL.
Referenced by SoPlex::_optimizeRational().
|
private |
updating the complementary dual problem with the original objective function
Definition at line 3243 of file solvedbds.cpp.
References SoPlex::_compSlackDualRowId, SoPlex::_compSolver, SoPlex::_decompCompProbColIDsIdx, SoPlex::_decompDualRowIDs, SoPlex::_realLP, SPxSolver::changeLhs(), SPxSolver::changeRhs(), soplex::GE(), soplex::infinity, soplex::isZero(), soplex::LE(), SPxLPBase< R >::lhs(), SPxLPBase< R >::lower(), SPxLPBase< R >::nCols(), soplex::NE(), SPxLPBase< R >::number(), SPxLPBase< R >::obj(), SPxLPBase< R >::removeRow(), SPxLPBase< R >::rhs(), and SPxLPBase< R >::upper().
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
updating the complementary primal problem with the original objective function
Definition at line 3316 of file solvedbds.cpp.
References SoPlex::_compSlackColId, SoPlex::_compSolver, SoPlex::_decompCompPrimalColIDs, SoPlex::_decompPrimalColIDs, SoPlex::_realLP, SPxSolver::changeObj(), SPxLPBase< R >::maxObj(), SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), and SPxLPBase< R >::removeCol().
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
solves LP using the decomposition based dual simplex
solves LP using the decomposition dual simplex
Definition at line 47 of file solvedbds.cpp.
References SoPlex::_checkOriginalProblemOptimality(), SoPlex::_compSlufactor, SoPlex::_compSolver, SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_currentProb, SoPlex::_decompCompProbColIDsIdx, SoPlex::_decompDisplayLine, SoPlex::_decompDualColIDs, SoPlex::_decompDualRowIDs, SoPlex::_decompFeasVector, SoPlex::_decompLP, SoPlex::_decompPrimalColIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_decompReducedProbCols, SoPlex::_decompReducedProbRows, SoPlex::_decompSimplifyAndSolve(), SoPlex::_decompViolatedBounds, SoPlex::_decompViolatedRows, SoPlex::_fixedOrigVars, SoPlex::_formDecompComplementaryProblem(), SoPlex::_formDecompReducedProblem(), SoPlex::_hasBasis, SoPlex::_hasSolReal, SoPlex::_isRealLPLoaded, SoPlex::_lastSolveMode, SoPlex::_nDecompViolBounds, SoPlex::_nDecompViolRows, SoPlex::_nDualCols, SoPlex::_nDualRows, SoPlex::_nPrimalCols, SoPlex::_nPrimalRows, SoPlex::_preprocessAndSolveReal(), SolBase< R >::_primal, SoPlex::_realLP, SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_setComplementaryPrimalOriginalObjective(), SoPlex::_slufactor, SoPlex::_solReal, SoPlex::_solver, SoPlex::_statistics, SoPlex::_storeSolutionReal(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SPxSolver::ABORT_EXDECOMP, SPxSolver::ABORT_ITER, SPxSolver::ABORT_TIME, SPxSolver::ABORT_VALUE, SPxSolver::basis(), SoPlex::boolParam(), SPxLPBase< R >::buildDualProblem(), SoPlex::Statistics::callsReducedProb, SPxSolver::changeObj(), SPxSolver::changeSense(), SoPlex::checkBasisDualFeasibility(), SoPlex::Statistics::compProbStatus, SoPlex::DECOMP_COMP, SoPlex::DECOMP_ITERLIMIT, SoPlex::DECOMP_ORIG, SoPlex::DECOMP_RED, SoPlex::DECOMP_VERBOSITY, SoPlex::decompTerminate(), DEGENCHECK_OFFSET, SPxSolver::DONTFINDSTARTBASIS, SoPlex::EXPLICITVIOL, SoPlex::Statistics::finalCompObj, SPxSolver::FINDSTARTBASIS, soplex::GE(), DataArray< T >::get_ptr(), SPxSolver::getBasis(), SoPlex::getDecompBoundViolation(), SoPlex::getDecompRowViolation(), SPxSolver::getDegeneracyLevel(), SPxSolver::getDual(), SoPlex::getOriginalProblemStatistics(), SPxSolver::getPrimal(), SPxSolver::getRedCost(), SPxOut::getVerbosity(), SPxSolver::INFEASIBLE, SoPlex::intParam(), SoPlex::Statistics::iterations, SPxSolver::iterations(), SPxSolver::LEAVE, SPxSolver::loadLP(), MAX_DEGENCHECK, SPxLPBase< R >::maxObj(), MSG_INFO1, MSG_INFO2, MSG_WARNING, SPxLPBase< R >::nCols(), SPxSolver::NO_PROBLEM, SPxSolver::NOT_INIT, SPxLPBase< R >::nRows(), SoPlex::numColsReal(), SoPlex::numCompProbIter, SoPlex::numDecompIter, SoPlex::numIncludedRows, SoPlex::Statistics::numRedProbCols, SoPlex::numRedProbIter, SoPlex::Statistics::numRedProbRows, SoPlex::numRowsReal(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::objValue(), SPxSolver::OPTIMAL, SoPlex::printDecompDisplayLine(), SPxSolver::printDisplayLine(), SoPlex::realParam(), DVectorBase< R >::reDim(), SoPlex::Statistics::redProbStatus, SPxSolver::rep(), DataArray< T >::reSize(), SPxSolver::ROW, SPxSolver::setDecompIterationLimit(), SPxSolver::setDecompStatus(), SPxSolver::setDegenCompOffset(), SPxOut::setVerbosity(), DataArray< T >::size(), SPxBasis::solve(), SoPlex::SOLVEMODE_REAL, SoPlex::Statistics::solvingTime, soplex::spx_free(), SoPlex::spxout, SPxLPBase< R >::spxSense(), Timer::start(), SPxSolver::status(), Timer::stop(), SoPlex::TIMELIMIT, SPxSolver::type(), SPxSolver::UNBOUNDED, and SoPlex::USECOMPDUAL.
Referenced by SoPlex::optimize().
|
private |
solves the reduced problem
|
private |
solves real LP during iterative refinement
Definition at line 3247 of file solverational.cpp.
References SoPlex::_disableSimplifierAndScaler(), SoPlex::_enableSimplifierAndScaler(), SoPlex::_hasBasis, SoPlex::_isConsistent(), SoPlex::_rationalLUSolver, SoPlex::_scaler, SoPlex::_simplifier, SoPlex::_solver, SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_statistics, SPxSolver::ABORT_CYCLING, SPxSolver::ABORT_ITER, SPxSolver::ABORT_TIME, SPxSolver::ABORT_VALUE, SoPlex::ACCEPTCYCLING, SoPlex::boolParam(), SLUFactorRational::clear(), VectorBase< R >::dim(), SPxSimplifier::DUAL_INFEASIBLE, SoPlex::EPSILON_ZERO, SPxSolver::ERROR, SoPlex::FPFEASTOL, SoPlex::FPOPTTOL, DataArray< T >::get_ptr(), SPxSimplifier::getBasis(), SPxSolver::getBasis(), SPxSolver::getDual(), SPxSolver::getDualfarkas(), SPxSolver::getPrimal(), SPxSolver::getRedCost(), SPxSolver::getSlacks(), SPxSimplifier::INFEASIBLE, SPxSolver::INFEASIBLE, SPxSolver::INForUNBD, SoPlex::intParam(), SPxSimplifier::isUnsimplified(), SPxSolver::loadLP(), MSG_INFO1, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SoPlex::numColsRational(), SoPlex::numRowsRational(), SPxSimplifier::OKAY, SPxSolver::OPTIMAL, SoPlex::RATIOTESTER, SoPlex::RATIOTESTER_BOUNDFLIPPING, SoPlex::realParam(), SPxSolver::REGULAR, DataArray< T >::reSize(), SPxSolver::RUNNING, SPxScaler::scale(), SPxSolver::setBasis(), SPxSimplifier::simplify(), SPxSolver::SINGULAR, DataArray< T >::size(), soplex::spx_alloc(), soplex::spx_free(), SoPlex::spxout, Timer::start(), SPxSolver::status(), Timer::stop(), SoPlex::Statistics::syncTime, SPxSimplifier::UNBOUNDED, SPxSolver::UNBOUNDED, SPxSolver::UNKNOWN, SPxScaler::unscaleDual(), SPxScaler::unscalePrimal(), SPxScaler::unscaleRedCost(), SPxScaler::unscaleSlacks(), SPxSimplifier::unsimplifiedDual(), SPxSimplifier::unsimplifiedPrimal(), SPxSimplifier::unsimplify(), and SPxSimplifier::VANISHED.
Referenced by SoPlex::_solveRealStable().
|
private |
call floating-point solver and update statistics on iterations etc.
Definition at line 8557 of file soplex.cpp.
References SoPlex::_hasBasis, SoPlex::_rationalLUSolver, SoPlex::_slufactor, SoPlex::_solver, SoPlex::_statistics, SoPlex::_status, SoPlex::ALGORITHM, SoPlex::ALGORITHM_DUAL, SoPlex::ALGORITHM_PRIMAL, SoPlex::Statistics::boundflips, SPxSolver::boundFlips(), SLUFactorRational::clear(), SPxSolver::COLUMN, SoPlex::Statistics::degenPivotsDual, SoPlex::Statistics::degenPivotsPrimal, SPxSolver::dualDegeneratePivots(), SPxSolver::ENTER, SPxSolver::ERROR, SPxSolver::feastol(), SLUFactor::getFactorCount(), SLUFactor::getFactorTime(), SLUFactor::getSolveCount(), SLUFactor::getSolveTime(), SoPlex::HYPER_PRICING, SoPlex::HYPER_PRICING_AUTO, SoPlex::HYPER_PRICING_OFF, SoPlex::HYPER_PRICING_ON, SPxSolver::hyperPricing(), HYPERPRICINGTHRESHOLD, SoPlex::INFTY, SoPlex::intParam(), SoPlex::Statistics::iterations, SPxSolver::iterations(), SoPlex::Statistics::iterationsFromBasis, SoPlex::Statistics::iterationsPolish, SoPlex::Statistics::iterationsPrimal, SoPlex::ITERLIMIT, SPxSolver::LEAVE, SoPlex::Statistics::luFactorizationsReal, SoPlex::Statistics::luFactorizationTimeReal, SoPlex::Statistics::luSolvesReal, SoPlex::Statistics::luSolveTimeReal, MSG_INFO1, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SPxSolver::opttol(), SPxSolver::polishIterations(), SPxSolver::primalDegeneratePivots(), SPxSolver::primalIterations(), SoPlex::realParam(), SoPlex::REFAC_BASIS_NNZ, SoPlex::REFAC_MEM_FACTOR, SoPlex::REFAC_UPDATE_FILL, SPxSolver::rep(), SoPlex::REPRESENTATION, SoPlex::REPRESENTATION_AUTO, SoPlex::REPRESENTATION_COLUMN, SoPlex::REPRESENTATION_ROW, SoPlex::REPRESENTATION_SWITCH, SLUFactor::resetCounters(), SPxSolver::ROW, SPxSolver::setFeastol(), SPxSolver::setFillFactor(), SPxSolver::setMemFactor(), SPxSolver::setNonzeroFactor(), SPxSolver::setOpttol(), SPxSolver::setRep(), SPxSolver::setSparsePricingFactor(), SPxSolver::setTerminationIter(), SPxSolver::setTerminationTime(), SPxSolver::setType(), SoPlex::Statistics::simplexTime, SPxSolver::solve(), SoPlex::Statistics::solvingTime, SoPlex::SPARSITY_THRESHOLD, SoPlex::spxout, Timer::start(), Timer::stop(), SoPlex::Statistics::sumDualDegen, SPxSolver::sumDualDegeneracy(), SoPlex::Statistics::sumPrimalDegen, SPxSolver::sumPrimalDegeneracy(), Timer::time(), SoPlex::TIMELIMIT, SPxSolver::type(), and SPxException::what().
Referenced by SoPlex::_preprocessAndSolveReal(), and SoPlex::_solveRealForRational().
|
private |
solves real LP with recovery mechanism
Definition at line 3500 of file solverational.cpp.
References SoPlex::_pricerDevex, SoPlex::_ratiotesterTextbook, SoPlex::_slufactor, SoPlex::_solver, SoPlex::_solveRealForRational(), SoPlex::ALGORITHM, SoPlex::ALGORITHM_DUAL, SoPlex::ALGORITHM_PRIMAL, SPxSolver::ENTER, SPxSolver::factorize(), SPxSolver::feastol(), SoPlex::FPFEASTOL, SoPlex::FPOPTTOL, soplex::GE(), SPxSolver::INFEASIBLE, SoPlex::intParam(), SPxSolver::LEAVE, SLUFactor::markowitz(), MSG_DEBUG, MSG_INFO1, SPxSolver::OPTIMAL, SoPlex::PRICER, SPxSolver::pricer(), SoPlex::PRICER_DEVEX, SoPlex::PRICER_STEEP, SoPlex::RATIOTESTER, SPxSolver::ratiotester(), SoPlex::RATIOTESTER_FAST, SoPlex::RATIOTESTER_TEXTBOOK, SoPlex::realParam(), SPxSolver::reLoad(), SoPlex::SCALER, SoPlex::SCALER_BIEQUI, SoPlex::SCALER_OFF, SPxSolver::setDelta(), SPxSolver::setFeastol(), SoPlex::setIntParam(), SLUFactor::setMarkowitz(), SPxSolver::setOpttol(), SPxSolver::setType(), SoPlex::SIMPLIFIER, SoPlex::SIMPLIFIER_AUTO, SoPlex::SIMPLIFIER_OFF, SoPlex::spxout, SPxSolver::type(), SPxSolver::UNBOUNDED, and SPxSolver::UNKNOWN.
Referenced by SoPlex::_performOptIRStable().
|
private |
store basis
Definition at line 2488 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_storedBasis, SoPlex::_storedBasisStatusCols, and SoPlex::_storedBasisStatusRows.
Referenced by SoPlex::_optimizeRational().
|
private |
stores objective, bounds, and sides of real LP
Definition at line 1944 of file solverational.cpp.
References SoPlex::_manualLhs, SoPlex::_manualLower, SoPlex::_manualObj, SoPlex::_manualRealLP, SoPlex::_manualRhs, SoPlex::_manualUpper, SoPlex::_realLP, SPxLPBase< R >::getObj(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SPxLPBase< R >::lower(), SPxLPBase< R >::nCols(), DVectorBase< R >::reDim(), SPxLPBase< R >::rhs(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_MANUAL, and SPxLPBase< R >::upper().
Referenced by SoPlex::_optimizeRational().
|
private |
stores solution of the real LP; before calling this, the real LP must be loaded in the solver and solved (again)
stores solution data from the solver, possibly after applying unscaling and unsimplifying
Definition at line 463 of file solvereal.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SolBase< R >::_dual, SolBase< R >::_dualFarkas, SoPlex::_hasBasis, SolBase< R >::_hasDualFarkas, SolBase< R >::_hasPrimalRay, SoPlex::_hasSolReal, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_isRealLPLoaded, SoPlex::_isRealLPScaled, SoPlex::_loadRealLP(), SolBase< R >::_objVal, SoPlex::_preprocessAndSolveReal(), SolBase< R >::_primal, SolBase< R >::_primalRay, SoPlex::_realLP, SolBase< R >::_redCost, SoPlex::_simplifier, SolBase< R >::_slacks, SoPlex::_solReal, SoPlex::_solver, SoPlex::_unscaleSolutionReal(), SoPlex::_verifySolutionReal(), SPxSolver::basis(), SPxBasis::DUAL, SoPlex::EPSILON_ZERO, SPxSolver::ERROR, SPxSolver::forceRecompNonbasicValue(), DataArray< T >::get_const_ptr(), DataArray< T >::get_ptr(), SPxSimplifier::getBasis(), SPxSolver::getBasis(), SPxSolver::getDual(), SPxSolver::getDualfarkas(), SPxSolver::getPrimal(), SPxSolver::getPrimalray(), SPxSolver::getRedCost(), SPxSolver::getSlacks(), SPxBasis::INFEASIBLE, SPxSolver::INFEASIBLE, SPxLPBase< R >::isScaled(), SPxSimplifier::isUnsimplified(), MSG_INFO1, SPxLPBase< R >::nCols(), SPxSolver::NO_PRICER, SPxBasis::NO_PROBLEM, SPxSolver::NO_PROBLEM, SPxSolver::NO_RATIOTESTER, SPxSolver::NO_SOLVER, SPxSolver::NOT_INIT, SPxLPBase< R >::nRows(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::objValue(), SPxSimplifier::OKAY, SPxSolver::OPTIMAL, SPxBasis::PRIMAL, SoPlex::realParam(), DVectorBase< R >::reDim(), SPxBasis::REGULAR, DataArray< T >::reSize(), SPxSimplifier::result(), SPxSolver::setBasis(), SPxSolver::setBasisStatus(), SPxSolver::shift(), SPxSolver::SINGULAR, DataArray< T >::size(), SoPlex::spxout, SPxBasis::status(), SoPlex::status(), SPxBasis::UNBOUNDED, SPxSolver::UNBOUNDED, SPxSimplifier::unsimplifiedDual(), SPxSimplifier::unsimplifiedPrimal(), SPxSimplifier::unsimplifiedRedCost(), SPxSimplifier::unsimplifiedSlacks(), SPxSimplifier::unsimplify(), and SPxException::what().
Referenced by SoPlex::_evaluateSolutionReal(), and SoPlex::_solveDecompositionDualSimplex().
|
private |
stores solution from the simplifier because problem vanished in presolving step
Definition at line 616 of file solvereal.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SolBase< R >::_dual, SoPlex::_hasBasis, SoPlex::_hasSolReal, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_isRealLPScaled, SoPlex::_loadRealLP(), SolBase< R >::_objVal, SoPlex::_preprocessAndSolveReal(), SolBase< R >::_primal, SoPlex::_realLP, SolBase< R >::_redCost, SoPlex::_simplifier, SolBase< R >::_slacks, SoPlex::_solReal, SoPlex::_solver, SoPlex::_unscaleSolutionReal(), SoPlex::_verifySolutionReal(), DataArray< T >::get_ptr(), SPxSimplifier::getBasis(), SPxSolver::getBasis(), SPxSimplifier::isUnsimplified(), MSG_INFO1, SoPlex::numColsReal(), SoPlex::numRowsReal(), SoPlex::OBJ_OFFSET, SoPlex::objReal(), SoPlex::realParam(), DVectorBase< R >::reDim(), DataArray< T >::reSize(), SPxSimplifier::result(), DataArray< T >::size(), SoPlex::spxout, SPxSimplifier::unsimplifiedDual(), SPxSimplifier::unsimplifiedPrimal(), SPxSimplifier::unsimplifiedRedCost(), SPxSimplifier::unsimplifiedSlacks(), SPxSimplifier::unsimplify(), SPxSimplifier::VANISHED, and SPxException::what().
Referenced by SoPlex::_evaluateSolutionReal().
|
private |
switches RANGETYPE_LOWER to RANGETYPE_UPPER and vice versa
Definition at line 7793 of file soplex.cpp.
References SoPlex::RANGETYPE_LOWER, and SoPlex::RANGETYPE_UPPER.
Referenced by SoPlex::_transformEquality(), and SoPlex::_untransformEquality().
|
private |
synchronizes rational LP with real LP, i.e., copies real LP to rational LP, without looking at the sync mode
Definition at line 8831 of file soplex.cpp.
References SoPlex::_ensureRationalLP(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_recomputeRangeTypesRational(), SoPlex::_statistics, Timer::start(), Timer::stop(), and SoPlex::Statistics::syncTime.
Referenced by SoPlex::_readFileReal(), SoPlex::getBoundViolationRational(), SoPlex::getDualViolationRational(), SoPlex::getRedCostViolationRational(), SoPlex::getRowViolationRational(), SoPlex::optimize(), SoPlex::setIntParam(), and SoPlex::syncLPRational().
|
private |
synchronizes real LP with rational LP, i.e., copies (rounded) rational LP into real LP, without looking at the sync mode
Definition at line 8807 of file soplex.cpp.
References SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_solver, SoPlex::_statistics, SLUFactorRational::clear(), SPxSolver::loadLP(), Timer::start(), Timer::stop(), and SoPlex::Statistics::syncTime.
Referenced by SoPlex::_readFileRational(), and SoPlex::syncLPReal().
|
private |
synchronizes real solution with rational solution, i.e., copies real solution to rational solution
Definition at line 8862 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, and SoPlex::_solReal.
Referenced by SoPlex::dlcmSizeDualRational(), SoPlex::dlcmSizePrimalRational(), SoPlex::dmaxSizeDualRational(), SoPlex::dmaxSizePrimalRational(), SoPlex::getBoundViolationRational(), SoPlex::getDualFarkasRational(), SoPlex::getDualRational(), SoPlex::getDualViolationRational(), SoPlex::getPrimalRational(), SoPlex::getPrimalRayRational(), SoPlex::getRedCostRational(), SoPlex::getRedCostViolationRational(), SoPlex::getRowViolationRational(), SoPlex::getSlacksRational(), SoPlex::objValueRational(), SoPlex::totalSizeDualRational(), and SoPlex::totalSizePrimalRational().
|
private |
synchronizes rational solution with real solution, i.e., copies (rounded) rational solution to real solution
Definition at line 8850 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, and SoPlex::_solReal.
Referenced by SoPlex::getBoundViolationReal(), SoPlex::getDualFarkasReal(), SoPlex::getDualReal(), SoPlex::getDualViolationReal(), SoPlex::getPrimalRayReal(), SoPlex::getPrimalReal(), SoPlex::getRedCostReal(), SoPlex::getRedCostViolationReal(), SoPlex::getRowViolationReal(), SoPlex::getSlacksReal(), and SoPlex::objValueReal().
|
private |
introduces slack variables to transform inequality constraints into equations for both rational and real LP, which should be in sync
Definition at line 2023 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_colTypes, SoPlex::_hasBasis, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalZero, SoPlex::_realLP, SoPlex::_rowTypes, SoPlex::_slackCols, SoPlex::_statistics, SoPlex::_switchRangeType(), SoPlex::_unitVectorRational(), LPColSetBase< R >::add(), SPxLPBase< R >::addCols(), DataArray< T >::append(), SPxSolver::BASIC, SPxLPBase< R >::changeLhs(), SPxLPBase< R >::changeRange(), SPxLPBase< R >::changeRhs(), SLUFactorRational::clear(), LPColSetBase< R >::clear(), LPColSetBase< R >::colVector(), SPxSolver::FIXED, SVectorBase< R >::index(), SPxLPBase< R >::lhs(), SoPlex::lhsRational(), MSG_DEBUG, MSG_INFO1, LPColSetBase< R >::num(), SoPlex::numRowsRational(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::RANGETYPE_FIXED, SPxLPBase< R >::rhs(), SoPlex::rhsRational(), SoPlex::spxout, Timer::start(), Timer::stop(), SoPlex::Statistics::transformTime, and SPxLPBase< R >::writeFile().
Referenced by SoPlex::_optimizeRational().
|
private |
transforms LP to feasibility problem by removing the objective function, shifting variables, and homogenizing the right-hand side
Definition at line 2520 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_colTypes, SoPlex::_feasLhs, SoPlex::_feasLower, SoPlex::_feasObj, SoPlex::_feasRhs, SoPlex::_feasUpper, SoPlex::_hasBasis, SoPlex::_lowerFinite(), SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalNegInfty, SoPlex::_rationalNegone, SoPlex::_rationalPosInfty, SoPlex::_rationalPosone, SoPlex::_realLP, SoPlex::_rowTypes, SoPlex::_statistics, SoPlex::_tauColVector, SoPlex::_upperFinite(), DSVectorBase< R >::add(), SPxLPBase< R >::addCol(), DataArray< T >::append(), SPxLPBase< R >::changeBounds(), SPxLPBase< R >::changeLhs(), SPxLPBase< R >::changeLower(), SPxLPBase< R >::changeMaxObj(), SPxLPBase< R >::changeRange(), SPxLPBase< R >::changeRhs(), SPxLPBase< R >::changeUpper(), SLUFactorRational::clear(), SVectorBase< R >::clear(), SoPlex::colVectorRational(), SVectorBase< R >::index(), SoPlex::INFTY, SoPlex::intParam(), SPxLPBase< R >::lhs(), SoPlex::lhsRational(), SPxLPBase< R >::lower(), SoPlex::lowerRational(), SoPlex::lowerReal(), SPxLPBase< R >::maxObj(), MSG_DEBUG, MSG_INFO1, MSG_INFO3, SoPlex::numColsRational(), SoPlex::numRowsRational(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SPxSolver::ON_UPPER, SoPlex::RANGETYPE_BOXED, SoPlex::realParam(), DVectorBase< R >::reDim(), SPxLPBase< R >::rhs(), SoPlex::rhsRational(), SoPlex::rhsReal(), SVectorBase< R >::size(), SoPlex::spxout, Timer::start(), Timer::stop(), SoPlex::Statistics::transformTime, SPxLPBase< R >::upper(), SoPlex::upperRational(), SoPlex::upperReal(), SVectorBase< R >::value(), and SPxLPBase< R >::writeFile().
Referenced by SoPlex::_performFeasIRStable().
|
private |
transforms LP to unboundedness problem by moving the objective function to the constraints, changing right-hand side and bounds to zero, and adding an auxiliary variable for the decrease in the objective function
Definition at line 2230 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_colTypes, SoPlex::_hasBasis, SoPlex::_lowerFinite(), SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalNegInfty, SoPlex::_rationalPosInfty, SoPlex::_realLP, SoPlex::_rowTypes, SoPlex::_statistics, SoPlex::_unboundedLhs, SoPlex::_unboundedLower, SoPlex::_unboundedRhs, SoPlex::_unboundedUpper, SoPlex::_upperFinite(), DSVectorBase< R >::add(), SPxLPBase< R >::addRow(), DataArray< T >::append(), SPxSolver::BASIC, SPxLPBase< R >::changeBounds(), SPxLPBase< R >::changeLhs(), SPxLPBase< R >::changeLower(), SPxLPBase< R >::changeMaxObj(), SPxLPBase< R >::changeObj(), SPxLPBase< R >::changeRhs(), SPxLPBase< R >::changeUpper(), SLUFactorRational::clear(), SoPlex::INFTY, SPxLPBase< R >::lhs(), SoPlex::lhsRational(), SPxLPBase< R >::lower(), SoPlex::lowerRational(), SPxLPBase< R >::maxObj(), MSG_DEBUG, MSG_INFO1, SoPlex::numColsRational(), SoPlex::numRowsRational(), SPxSolver::ON_UPPER, SoPlex::RANGETYPE_FIXED, SoPlex::RANGETYPE_UPPER, SoPlex::realParam(), DVectorBase< R >::reDim(), SPxLPBase< R >::rhs(), SoPlex::rhsRational(), SoPlex::spxout, Timer::start(), Timer::stop(), SoPlex::Statistics::transformTime, SPxLPBase< R >::upper(), SoPlex::upperRational(), and SPxLPBase< R >::writeFile().
Referenced by SoPlex::_performUnboundedIRStable().
|
private |
returns pointer to a constant unit vector available until destruction of the SoPlex class
Definition at line 8874 of file soplex.cpp.
References SoPlex::_unitMatrixRational, and soplex::spx_alloc().
Referenced by SoPlex::_computeBasisInverseRational(), SoPlex::_transformEquality(), SoPlex::getBasisInverseColRational(), and SoPlex::getBasisInverseRowRational().
|
private |
unscales stored solution to remove internal or external scaling of LP
Definition at line 703 of file solvereal.cpp.
References SolBase< R >::_dual, SolBase< R >::_dualFarkas, SoPlex::_isRealLPScaled, SolBase< R >::_primal, SolBase< R >::_primalRay, SolBase< R >::_redCost, SoPlex::_scaler, SolBase< R >::_slacks, SoPlex::_solReal, SoPlex::boolParam(), SolBase< R >::hasDualFarkas(), SolBase< R >::hasPrimalRay(), MSG_INFO1, SoPlex::PERSISTENTSCALING, SoPlex::spxout, SPxScaler::unscaleDual(), SPxScaler::unscaleDualray(), SPxScaler::unscalePrimal(), SPxScaler::unscalePrimalray(), SPxScaler::unscaleRedCost(), and SPxScaler::unscaleSlacks().
Referenced by SoPlex::_storeSolutionReal(), and SoPlex::_storeSolutionRealFromPresol().
|
private |
undoes transformation to equality form
restores original problem
Definition at line 2109 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_colTypes, SolBase< R >::_dual, SoPlex::_hasBasis, SolBase< R >::_primal, SolBase< R >::_primalRay, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_realLP, SolBase< R >::_redCost, SoPlex::_rowTypes, SoPlex::_slackCols, SolBase< R >::_slacks, SoPlex::_statistics, SoPlex::_switchRangeType(), SPxSolver::BASIC, SPxLPBase< R >::changeLhs(), SPxLPBase< R >::changeRhs(), SLUFactorRational::clear(), LPColSetBase< R >::colVector(), SPxSolver::FIXED, SolBase< R >::hasPrimalRay(), SVectorBase< R >::index(), SolBase< R >::isDualFeasible(), SolBase< R >::isPrimalFeasible(), SPxLPBase< R >::lhs(), SoPlex::lhsRational(), SoPlex::lowerRational(), MSG_DEBUG, LPColSetBase< R >::num(), SoPlex::numColsRational(), SoPlex::numRowsRational(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, soplex::rationalToString(), DVectorBase< R >::reDim(), SPxLPBase< R >::removeColRange(), DataArray< T >::reSize(), SPxLPBase< R >::rhs(), SoPlex::rhsRational(), Timer::start(), Timer::stop(), SoPlex::Statistics::transformTime, SPxSolver::UNDEFINED, SoPlex::upperRational(), SPxLPBase< R >::writeFile(), and SPxSolver::ZERO.
Referenced by SoPlex::_optimizeRational().
|
private |
undoes transformation to feasibility problem
Definition at line 2802 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_colTypes, SolBase< R >::_dual, SolBase< R >::_dualFarkas, SoPlex::_feasLhs, SoPlex::_feasLower, SoPlex::_feasObj, SoPlex::_feasRhs, SoPlex::_feasUpper, SoPlex::_hasBasis, SolBase< R >::_hasDualFarkas, SolBase< R >::_hasPrimalRay, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_lowerFinite(), SolBase< R >::_primal, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalNegInfty, SoPlex::_rationalPosInfty, SoPlex::_realLP, SoPlex::_rowTypes, SolBase< R >::_slacks, SoPlex::_statistics, SoPlex::_upperFinite(), SPxSolver::BASIC, SPxLPBase< R >::changeLhs(), SPxLPBase< R >::changeLower(), SPxLPBase< R >::changeMaxObj(), SPxLPBase< R >::changeRhs(), SPxLPBase< R >::changeUpper(), SLUFactorRational::clear(), SPxLPBase< R >::colVector(), SPxLPBase< R >::computePrimalActivity(), SoPlex::INFTY, SPxLPBase< R >::lhs(), SoPlex::lhsRational(), SoPlex::lhsReal(), SPxLPBase< R >::lower(), SoPlex::lowerRational(), SoPlex::lowerReal(), MSG_DEBUG, VectorBase< R >::multAdd(), SoPlex::numColsRational(), SoPlex::numRowsRational(), SoPlex::realParam(), DVectorBase< R >::reDim(), SPxLPBase< R >::removeCol(), DataArray< T >::reSize(), SPxLPBase< R >::rhs(), SoPlex::rhsRational(), SoPlex::rhsReal(), Timer::start(), Timer::stop(), SoPlex::Statistics::transformTime, SPxLPBase< R >::upper(), SoPlex::upperRational(), SoPlex::upperReal(), and SPxLPBase< R >::writeFile().
Referenced by SoPlex::_performFeasIRStable().
|
private |
undoes transformation to unboundedness problem
Definition at line 2355 of file solverational.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_colTypes, SolBase< R >::_dual, SoPlex::_hasBasis, SolBase< R >::_hasDualFarkas, SolBase< R >::_hasPrimalRay, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_lowerFinite(), SolBase< R >::_primal, SolBase< R >::_primalRay, SoPlex::_rationalFeastol, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalNegInfty, SoPlex::_rationalPosInfty, SoPlex::_rationalPosone, SoPlex::_realLP, SolBase< R >::_redCost, SoPlex::_rowTypes, SoPlex::_statistics, SoPlex::_unboundedLhs, SoPlex::_unboundedLower, SoPlex::_unboundedRhs, SoPlex::_unboundedUpper, SoPlex::_upperFinite(), SPxSolver::BASIC, SoPlex::boolParam(), SPxLPBase< R >::changeLhs(), SPxLPBase< R >::changeLower(), SPxLPBase< R >::changeMaxObj(), SPxLPBase< R >::changeRhs(), SPxLPBase< R >::changeUpper(), SLUFactorRational::clear(), SVectorBase< R >::index(), SoPlex::INFTY, SolBase< R >::invalidate(), SoPlex::lhsRational(), SoPlex::lhsReal(), SoPlex::lowerRational(), SoPlex::lowerReal(), MSG_DEBUG, SoPlex::numColsRational(), SoPlex::numRowsRational(), SoPlex::realParam(), DVectorBase< R >::reDim(), SPxLPBase< R >::removeCol(), SPxLPBase< R >::removeRow(), DataArray< T >::reSize(), SoPlex::rhsRational(), SoPlex::rhsReal(), SPxLPBase< R >::rowVector(), SVectorBase< R >::size(), Timer::start(), Timer::stop(), SoPlex::TESTDUALINF, SoPlex::Statistics::transformTime, SoPlex::upperRational(), SoPlex::upperReal(), SVectorBase< R >::value(), and SPxLPBase< R >::writeFile().
Referenced by SoPlex::_performUnboundedIRStable().
|
private |
updating the dual columns related to the fixed primal variables.
Definition at line 3021 of file solvedbds.cpp.
References SoPlex::_compSlackDualRowId, SoPlex::_compSolver, SoPlex::_decompCompProbColIDsIdx, SoPlex::_decompDualRowIDs, SoPlex::_decompFixedVarDualIDs, SoPlex::_decompReducedProbColRowIDs, SoPlex::_decompVarBoundDualIDs, SoPlex::_fixedOrigVars, SoPlex::_nPrimalCols, SoPlex::_realLP, SoPlex::_solver, DSVectorBase< R >::add(), LPColSetBase< R >::add(), SPxLPBase< R >::addCols(), SVectorBase< R >::clear(), soplex::GT(), soplex::infinity, DataKey::inValidate(), SPxLPBase< R >::lhs(), SPxLPBase< R >::lower(), soplex::LT(), SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), SVectorBase< R >::remove(), SPxLPBase< R >::rhs(), SVectorBase< R >::size(), SLACKCOEFF, soplex::spx_alloc(), soplex::spx_free(), and SPxLPBase< R >::upper().
Referenced by SoPlex::_updateDecompComplementaryDualProblem().
|
private |
updating the slack column coefficients to adjust for equality constraints
Definition at line 2865 of file solvedbds.cpp.
References SoPlex::_compSolver, SoPlex::_decompDualColIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_decompReducedProbRows, SoPlex::_nDualCols, SoPlex::_nPrimalRows, SoPlex::_realLP, SPxLPBase< R >::addCol(), SPxSolver::changeLower(), SPxLPBase< R >::colVector(), soplex::infinity, SPxLPBase< R >::lhs(), SPxLPBase< R >::number(), SPxLPBase< R >::rhs(), and SPxLPBase< R >::rowType().
Referenced by SoPlex::_formDecompComplementaryProblem().
|
private |
updating the dual columns related to the fixed primal variables.
Definition at line 3203 of file solvedbds.cpp.
References SoPlex::_compSolver, SoPlex::_decompCompPrimalColIDs, SoPlex::_decompPrimalColIDs, SoPlex::_fixedOrigVars, SoPlex::_nCompPrimalCols, SoPlex::_realLP, SPxSolver::changeBounds(), soplex::infinity, SPxLPBase< R >::lower(), SPxLPBase< R >::number(), and SPxLPBase< R >::upper().
Referenced by SoPlex::_updateDecompComplementaryPrimalProblem().
|
private |
updating the slack column coefficients to adjust for equality constraints
|
private |
update the dual complementary problem with additional columns and rows
Definition at line 2138 of file solvedbds.cpp.
References SoPlex::_compSlackDualRowId, SoPlex::_compSolver, SoPlex::_decompCompProbColIDsIdx, SoPlex::_decompDualColIDs, SoPlex::_decompDualRowIDs, SoPlex::_decompElimPrimalRowIDs, SoPlex::_decompPrimalColIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_decompReducedProbColIDs, SoPlex::_decompReducedProbRowIDs, SoPlex::_decompReducedProbRows, SoPlex::_fixedOrigVars, SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_nDualCols, SoPlex::_nDualRows, SoPlex::_nElimPrimalRows, SoPlex::_nPrimalCols, SoPlex::_nPrimalRows, SoPlex::_realLP, SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_solver, SoPlex::_updateComplementaryDualFixedPrimalVars(), DSVectorBase< R >::add(), LPColSetBase< R >::add(), SPxLPBase< R >::addCols(), SPxLPBase< R >::addRows(), SPxSolver::basis(), SPxSolver::changeBounds(), SPxSolver::changeObj(), SPxSolver::changeRow(), SPxLPBase< R >::cId(), SPxSolver::colId(), SPxBasis::Desc::D_FREE, SPxBasis::Desc::D_ON_LOWER, SPxBasis::Desc::D_ON_UPPER, SPxBasis::desc(), SoPlex::FEASTOL, SPxLPBase< R >::getRow(), soplex::GT(), soplex::infinity, soplex::LE(), SPxLPBase< R >::lhs(), soplex::LT(), SPxLPBase< R >::maxObj(), MSG_INFO2, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SPxLPBase< R >::number(), SPxLPBase< R >::obj(), SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, SPxSolver::pVec(), SoPlex::realParam(), SPxLPBase< R >::removeCols(), SPxLPBase< R >::rhs(), SPxBasis::Desc::rowStatus(), SPxLPBase< R >::rowType(), LPRowBase< R >::rowVector(), SLACKCOEFF, soplex::spx_alloc(), soplex::spx_free(), and SoPlex::spxout.
Referenced by SoPlex::_formDecompComplementaryProblem(), and SoPlex::_solveDecompositionDualSimplex().
|
private |
update the primal complementary problem with additional columns and rows
Definition at line 2545 of file solvedbds.cpp.
References SoPlex::_compSlackColId, SoPlex::_compSolver, SoPlex::_decompCompPrimalRowIDs, SoPlex::_decompElimPrimalRowIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_decompReducedProbRowIDs, SoPlex::_decompReducedProbRows, SoPlex::_identifyComplementaryPrimalFixedPrimalVars(), SoPlex::_nCompPrimalRows, SoPlex::_nElimPrimalRows, SoPlex::_nPrimalRows, SoPlex::_realLP, SoPlex::_solver, SoPlex::_updateComplementaryPrimalFixedPrimalVars(), LPRowSetBase< R >::add(), SPxLPBase< R >::addRows(), SPxSolver::basis(), SPxSolver::changeCol(), SPxSolver::changeLhs(), SPxSolver::changeRhs(), SPxBasis::Desc::D_FREE, SPxBasis::Desc::D_ON_LOWER, SPxBasis::Desc::D_ON_UPPER, SPxBasis::desc(), soplex::EQ(), SoPlex::FEASTOL, SPxLPBase< R >::getRow(), soplex::GT(), soplex::infinity, SPxLPBase< R >::lhs(), soplex::LT(), MSG_INFO2, SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SPxLPBase< R >::number(), SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, SPxSolver::pVec(), SoPlex::realParam(), SPxLPBase< R >::removeRows(), SPxLPBase< R >::rhs(), SPxSolver::rowId(), SPxBasis::Desc::rowStatus(), SPxLPBase< R >::rowType(), LPRowBase< R >::rowVector(), SLACKCOEFF, soplex::spx_alloc(), soplex::spx_free(), and SoPlex::spxout.
Referenced by SoPlex::_formDecompComplementaryProblem(), and SoPlex::_solveDecompositionDualSimplex().
|
private |
update the reduced problem with additional columns and rows
updates the reduced problem with additional rows using the solution to the complementary problem
Definition at line 1147 of file solvedbds.cpp.
References SoPlex::_compSolver, SoPlex::_decompCompPrimalRowIDs, SoPlex::_decompDualColIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_decompReducedProbRowIDs, SoPlex::_decompReducedProbRows, SoPlex::_findViolatedRows(), SoPlex::_nPrimalRows, SoPlex::_realLP, SoPlex::_solver, SoPlex::_transformedRows, LPRowSetBase< R >::add(), SPxLPBase< R >::addRows(), SoPlex::boolParam(), SoPlex::DECOMP_MAXADDEDROWS, SoPlex::RowViolationCompare::entry, soplex::EQ(), SoPlex::FEASTOL, soplex::GE(), DataArray< T >::get_const_ptr(), DataArray< T >::get_ptr(), SoPlex::getExpectedDualVariableSign(), SoPlex::getOrigProbDualVariableSign(), SPxSolver::getRedCost(), soplex::GT(), soplex::infinity, SoPlex::intParam(), SoPlex::IS_FREE, SoPlex::IS_NEG, SoPlex::IS_POS, SPxSolver::isBasic(), soplex::isZero(), soplex::LE(), LPRowSetBase< R >::lhs(), soplex::LT(), MINIMUM, MSG_WARNING, SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), SoPlex::numIncludedRows, SoPlex::realParam(), DataArray< T >::reSize(), LPRowSetBase< R >::rhs(), LPRowSetBase< R >::rowVector(), soplex::spx_alloc(), soplex::spx_free(), soplex::spxAbs(), SoPlex::spxout, soplex::SPxQuicksortPart(), and SoPlex::USECOMPDUAL.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
update the reduced problem with additional columns and rows based upon the violated original bounds and rows
Definition at line 1352 of file solvedbds.cpp.
References SoPlex::_decompReducedProbRowIDs, SoPlex::_decompReducedProbRows, SoPlex::_decompViolatedRows, SoPlex::_nDecompViolRows, SoPlex::_nPrimalRows, SoPlex::_solver, SoPlex::_transformedRows, LPRowSetBase< R >::add(), SPxLPBase< R >::addRows(), SPxSolver::basis(), SoPlex::DECOMP_MAXADDEDROWS, SoPlex::EPSILON_ZERO, SoPlex::FEASTOL, SPxSolver::fVec(), soplex::infinity, SoPlex::intParam(), soplex::isZero(), LPRowSetBase< R >::lhs(), soplex::LT(), MINIMUM, MSG_ERROR, SPxLPBase< R >::nCols(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SoPlex::realParam(), LPRowSetBase< R >::rhs(), LPRowSetBase< R >::rowVector(), SPxBasis::solve(), soplex::spx_alloc(), soplex::spx_free(), soplex::spxAbs(), SoPlex::spxout, soplex::spxSqrt(), SSVectorBase< R >::unSetup(), SPxSolver::vector(), and SPxException::what().
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
checks whether RangeType corresponds to finite upper bound
Definition at line 7815 of file soplex.cpp.
References SoPlex::RANGETYPE_BOXED, SoPlex::RANGETYPE_FIXED, and SoPlex::RANGETYPE_UPPER.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), and SoPlex::_untransformUnbounded().
|
private |
verify computed solution and resolve if necessary
verify computed solution based on status and resolve if claimed primal or dual feasibility is not fulfilled
Definition at line 407 of file solvereal.cpp.
References SoPlex::_hasSolReal, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_isRealLPLoaded, SoPlex::_isRealLPScaled, SoPlex::_preprocessAndSolveReal(), SoPlex::_realLP, SoPlex::_solReal, SoPlex::_solver, SoPlex::_unscaleCalls, SPxSolver::feastol(), SoPlex::getBoundViolationReal(), SoPlex::getDualViolationReal(), SoPlex::getRedCostViolationReal(), SoPlex::getRowViolationReal(), MSG_INFO1, MSG_INFO3, SPxSolver::opttol(), SoPlex::spxout, and SPxSolver::unscaleLPandReloadBasis().
Referenced by SoPlex::_storeSolutionReal(), and SoPlex::_storeSolutionRealFromPresol().
|
private |
function to build a basis for the original problem as given by the solution to the reduced problem
Definition at line 4220 of file solvedbds.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SPxSolver::BASIC, SoPlex::getOriginalProblemBasisColStatus(), SoPlex::getOriginalProblemBasisRowStatus(), SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), DataArray< T >::reSize(), and SoPlex::writeBasisFile().
void addColRational | ( | const LPColRational & | lpcol | ) |
adds a single column
Definition at line 2073 of file soplex.cpp.
References SoPlex::_addColReal(), SoPlex::_addColsReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, LPColSetBase< R >::add(), SPxLPBase< R >::addCol(), SPxLPBase< R >::addCols(), SoPlex::addColsRational(), SPxLPBase< R >::colVector(), SoPlex::intParam(), SoPlex::lowerRational(), SoPlex::maxObjRational(), SoPlex::numColsRational(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, and SoPlex::upperRational().
void addColReal | ( | const LPCol & | lpcol | ) |
adds a single column
Definition at line 1407 of file soplex.cpp.
References SoPlex::_addColReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::addCol(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
Referenced by main().
void addColsRational | ( | const LPColSetRational & | lpcolset | ) |
adds multiple columns
Definition at line 2148 of file soplex.cpp.
References SoPlex::_addColsReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SPxLPBase< R >::addCols(), SoPlex::intParam(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::addColRational().
void addColsReal | ( | const LPColSetReal & | lpcolset | ) |
adds multiple columns
Definition at line 1425 of file soplex.cpp.
References SoPlex::_addColsReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::addCols(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void addRowRational | ( | const LPRowRational & | lprow | ) |
adds a single row
Definition at line 1983 of file soplex.cpp.
References SoPlex::_addRowReal(), SoPlex::_addRowsReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, LPRowSetBase< R >::add(), SPxLPBase< R >::addRow(), SPxLPBase< R >::addRows(), SoPlex::addRowsRational(), SoPlex::intParam(), SoPlex::lhsRational(), SoPlex::numRowsRational(), SoPlex::rhsRational(), SPxLPBase< R >::rowVector(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void addRowReal | ( | const LPRowReal & | lprow | ) |
adds a single row
Definition at line 1371 of file soplex.cpp.
References SoPlex::_addRowReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::addRow(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
Referenced by main().
void addRowsRational | ( | const LPRowSetRational & | lprowset | ) |
adds multiple rows
Definition at line 2054 of file soplex.cpp.
References SoPlex::_addRowsReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SPxLPBase< R >::addRows(), SoPlex::intParam(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::addRowRational().
void addRowsReal | ( | const LPRowSetReal & | lprowset | ) |
adds multiple rows
Definition at line 1389 of file soplex.cpp.
References SoPlex::_addRowsReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::addRows(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
bool areLPsInSync | ( | const bool | checkVecVals = true , |
const bool | checkMatVals = false , |
||
const bool | quiet = false |
||
) | const |
checks if real LP and rational LP are in sync; dimensions will always be compared, vector and matrix values only if the respective parameter is set to true. If quiet is set to true the function will only display which vectors are different.
Definition at line 7349 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::_rationalNegInfty, SoPlex::_rationalPosInfty, SoPlex::_realLP, SPxLPBase< R >::colVector(), soplex::GE(), soplex::GT(), SoPlex::INFTY, soplex::LE(), SPxLPBase< R >::lhs(), SPxLPBase< R >::lower(), soplex::LT(), SPxLPBase< R >::maxObj(), SPxLPBase< R >::MINIMIZE, SPxLPBase< Real >::MINIMIZE, MSG_INFO1, SPxLPBase< R >::nCols(), SPxLPBase< R >::nNzos(), SPxLPBase< R >::nRows(), SoPlex::realParam(), SPxLPBase< R >::rhs(), SoPlex::spxout, SPxLPBase< R >::spxSense(), and SPxLPBase< R >::upper().
Referenced by SoPlex::optimize().
SPxSolver::VarStatus basisColStatus | ( | int | col | ) | const |
returns basis status for a single column
Definition at line 4079 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::getBasisColStatus(), SoPlex::hasBasis(), SoPlex::INFTY, SoPlex::lowerReal(), SoPlex::numColsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), DataArray< T >::size(), SoPlex::upperReal(), and SPxSolver::ZERO.
Referenced by SoPlex::getRedCostViolationRational(), SoPlex::getRedCostViolationReal(), and SoPlex::ignoreUnscaledViolations().
SPxSolver::VarStatus basisRowStatus | ( | int | row | ) | const |
returns basis status for a single row
Definition at line 4054 of file soplex.cpp.
References SoPlex::_basisStatusRows, SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::getBasisRowStatus(), SoPlex::hasBasis(), SoPlex::numRowsReal(), and DataArray< T >::size().
Referenced by SoPlex::getDualViolationRational(), SoPlex::getDualViolationReal(), and SoPlex::ignoreUnscaledViolations().
SPxBasis::SPxStatus basisStatus | ( | ) | const |
returns the current basis status
Definition at line 4033 of file soplex.cpp.
References SPxBasis::DUAL, SoPlex::hasBasis(), SoPlex::hasDual(), SoPlex::hasPrimal(), SPxBasis::INFEASIBLE, SPxSolver::INFEASIBLE, SPxBasis::NO_PROBLEM, SPxBasis::OPTIMAL, SPxSolver::OPTIMAL, SPxSolver::OPTIMAL_UNSCALED_VIOLATIONS, SPxBasis::PRIMAL, SPxBasis::REGULAR, SoPlex::status(), SPxBasis::UNBOUNDED, and SPxSolver::UNBOUNDED.
Referenced by SoPlex::ignoreUnscaledViolations().
bool boolParam | ( | const BoolParam | param | ) | const |
returns boolean parameter value
Definition at line 5765 of file soplex.cpp.
References SoPlex::Settings::_boolParamValues, SoPlex::_currentSettings, and SoPlex::BOOLPARAM_COUNT.
Referenced by SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_disableSimplifierAndScaler(), SoPlex::_evaluateSolutionReal(), SoPlex::_factorizeColumnRational(), SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_performOptIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_unscaleSolutionReal(), SoPlex::_untransformUnbounded(), SoPlex::_updateDecompReducedProblem(), SoPlex::optimize(), SoPlex::printStatistics(), and SoPlex::setBoolParam().
void changeBoundsRational | ( | const VectorRational & | lower, |
const VectorRational & | upper | ||
) |
changes vectors of column bounds to lower
and upper
Definition at line 2515 of file soplex.cpp.
References SoPlex::_changeBoundsReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SPxLPBase< R >::changeBounds(), SoPlex::intParam(), SoPlex::numColsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::changeBoundsRational().
changes bounds of column i
to lower
and upper
Definition at line 2536 of file soplex.cpp.
References SoPlex::_changeBoundsReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SPxLPBase< R >::changeBounds(), SoPlex::changeBoundsRational(), SoPlex::intParam(), SPxLPBase< R >::lower(), SoPlex::lowerRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, SPxLPBase< R >::upper(), and SoPlex::upperRational().
void changeBoundsReal | ( | const VectorReal & | lower, |
const VectorReal & | upper | ||
) |
changes vectors of column bounds to lower
and upper
Definition at line 1672 of file soplex.cpp.
References SoPlex::_changeBoundsReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeReal(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeBounds(), SoPlex::intParam(), SoPlex::numColsRational(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
changes bounds of column i
to lower
and upper
Definition at line 1692 of file soplex.cpp.
References SoPlex::_changeBoundsReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeReal(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeBounds(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeColRational | ( | int | i, |
const LPColRational & | lpcol | ||
) |
replaces column i
with lpcol
Definition at line 2373 of file soplex.cpp.
References SoPlex::_changeColReal(), SoPlex::_colTypes, SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SPxLPBase< R >::changeCol(), SoPlex::intParam(), LPColBase< R >::lower(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, and LPColBase< R >::upper().
void changeColReal | ( | int | i, |
const LPColReal & | lpcol | ||
) |
replaces column i
with lpcol
Definition at line 1576 of file soplex.cpp.
References SoPlex::_changeColReal(), SoPlex::_colTypes, SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeReal(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeCol(), SoPlex::intParam(), LPColBase< R >::lower(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and LPColBase< R >::upper().
void changeElementRational | ( | int | i, |
int | j, | ||
const Rational & | val | ||
) |
changes matrix entry in row i
and column j
to val
Definition at line 2632 of file soplex.cpp.
References SoPlex::_changeElementReal(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SPxLPBase< R >::changeElement(), SoPlex::intParam(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void changeElementReal | ( | int | i, |
int | j, | ||
const Real & | val | ||
) |
changes matrix entry in row i
and column j
to val
Definition at line 1742 of file soplex.cpp.
References SoPlex::_changeElementReal(), SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeElement(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeLhsRational | ( | const VectorRational & | lhs | ) |
changes left-hand side vector for constraints to lhs
Definition at line 2187 of file soplex.cpp.
References SoPlex::_changeLhsReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, SPxLPBase< R >::changeLhs(), SoPlex::intParam(), SoPlex::numRowsRational(), SPxLPBase< R >::rhs(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::changeLhsRational().
void changeLhsRational | ( | int | i, |
const Rational & | lhs | ||
) |
changes left-hand side of row i
to lhs
Definition at line 2208 of file soplex.cpp.
References SoPlex::_changeLhsReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, SPxLPBase< R >::changeLhs(), SoPlex::changeLhsRational(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SoPlex::lhsRational(), SPxLPBase< R >::rhs(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void changeLhsReal | ( | const VectorReal & | lhs | ) |
changes left-hand side vector for constraints to lhs
Definition at line 1462 of file soplex.cpp.
References SoPlex::_changeLhsReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_rowTypes, SPxLPBase< R >::changeLhs(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SoPlex::numRowsRational(), SPxLPBase< R >::rhs(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeLhsReal | ( | int | i, |
const Real & | lhs | ||
) |
changes left-hand side of row i
to lhs
Definition at line 1482 of file soplex.cpp.
References SoPlex::_changeLhsReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_rowTypes, SPxLPBase< R >::changeLhs(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SPxLPBase< R >::rhs(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeLowerRational | ( | const VectorRational & | lower | ) |
changes vector of lower bounds to lower
Definition at line 2393 of file soplex.cpp.
References SoPlex::_changeLowerReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SPxLPBase< R >::changeLower(), SoPlex::intParam(), SoPlex::numColsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, and SPxLPBase< R >::upper().
Referenced by SoPlex::changeLowerRational().
void changeLowerRational | ( | int | i, |
const Rational & | lower | ||
) |
changes lower bound of column i to lower
Definition at line 2414 of file soplex.cpp.
References SoPlex::_changeLowerReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SPxLPBase< R >::changeLower(), SoPlex::changeLowerRational(), SoPlex::intParam(), SPxLPBase< R >::lower(), SoPlex::lowerRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, and SPxLPBase< R >::upper().
void changeLowerReal | ( | const VectorReal & | lower | ) |
changes vector of lower bounds to lower
Definition at line 1595 of file soplex.cpp.
References SoPlex::_changeLowerReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeLower(), SoPlex::intParam(), SPxLPBase< R >::lower(), SoPlex::numColsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SPxLPBase< R >::upper().
void changeLowerReal | ( | int | i, |
const Real & | lower | ||
) |
changes lower bound of column i to lower
Definition at line 1616 of file soplex.cpp.
References SoPlex::_changeLowerReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeLower(), SoPlex::intParam(), SPxLPBase< R >::lower(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SPxLPBase< R >::upper().
void changeObjRational | ( | const VectorRational & | obj | ) |
changes objective function vector to obj
Definition at line 2576 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeObj(), SoPlex::intParam(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::changeObjRational().
void changeObjRational | ( | int | i, |
const Rational & | obj | ||
) |
changes objective coefficient of column i to obj
Definition at line 2594 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeObj(), SoPlex::changeObjRational(), SoPlex::intParam(), SoPlex::objRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void changeObjReal | ( | const VectorReal & | obj | ) |
changes objective function vector to obj
Definition at line 1710 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeObj(), SoPlex::intParam(), SPxLPBase< R >::isScaled(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeObjReal | ( | int | i, |
const Real & | obj | ||
) |
changes objective coefficient of column i to obj
Definition at line 1726 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeObj(), SoPlex::intParam(), SPxLPBase< R >::isScaled(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeRangeRational | ( | const VectorRational & | lhs, |
const VectorRational & | rhs | ||
) |
changes left- and right-hand side vectors
Definition at line 2312 of file soplex.cpp.
References SoPlex::_changeRangeReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRange(), SoPlex::intParam(), SoPlex::numRowsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::changeRangeRational().
changes left- and right-hand side of row i
Definition at line 2333 of file soplex.cpp.
References SoPlex::_changeRangeReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRange(), SoPlex::changeRangeRational(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SoPlex::lhsRational(), SPxLPBase< R >::rhs(), SoPlex::rhsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void changeRangeReal | ( | const VectorReal & | lhs, |
const VectorReal & | rhs | ||
) |
changes left- and right-hand side vectors
Definition at line 1538 of file soplex.cpp.
References SoPlex::_changeRangeReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeReal(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRange(), SoPlex::intParam(), SoPlex::numRowsRational(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
changes left- and right-hand side of row i
Definition at line 1558 of file soplex.cpp.
References SoPlex::_changeRangeReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeReal(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRange(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeRhsRational | ( | const VectorRational & | rhs | ) |
changes right-hand side vector to rhs
Definition at line 2248 of file soplex.cpp.
References SoPlex::_changeRhsReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRhs(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SoPlex::numRowsRational(), SPxLPBase< R >::rhs(), SoPlex::rhsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void changeRhsRational | ( | int | i, |
const Rational & | rhs | ||
) |
changes right-hand side of row i
to rhs
Definition at line 2293 of file soplex.cpp.
References SoPlex::_changeRhsReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRhs(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void changeRhsReal | ( | const VectorReal & | rhs | ) |
changes right-hand side vector to rhs
Definition at line 1500 of file soplex.cpp.
References SoPlex::_changeRhsReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRhs(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SoPlex::numRowsRational(), SPxLPBase< R >::rhs(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeRhsReal | ( | int | i, |
const Real & | rhs | ||
) |
changes right-hand side of row i
to rhs
Definition at line 1520 of file soplex.cpp.
References SoPlex::_changeRhsReal(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRhs(), SoPlex::intParam(), SPxLPBase< R >::lhs(), SPxLPBase< R >::rhs(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeRowRational | ( | int | i, |
const LPRowRational & | lprow | ||
) |
replaces row i
with lprow
Definition at line 2167 of file soplex.cpp.
References SoPlex::_changeRowReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRow(), SoPlex::intParam(), LPRowBase< R >::lhs(), LPRowBase< R >::rhs(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void changeRowReal | ( | int | i, |
const LPRowReal & | lprow | ||
) |
replaces row i
with lprow
Definition at line 1443 of file soplex.cpp.
References SoPlex::_changeRowReal(), SoPlex::_completeRangeTypesRational(), SoPlex::_invalidateSolution(), SoPlex::_rangeTypeReal(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_rowTypes, SPxLPBase< R >::changeRow(), SoPlex::intParam(), LPRowBase< R >::lhs(), LPRowBase< R >::rhs(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void changeUpperRational | ( | const VectorRational & | upper | ) |
changes vector of upper bounds to upper
Definition at line 2454 of file soplex.cpp.
References SoPlex::_changeUpperReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SPxLPBase< R >::changeUpper(), SoPlex::intParam(), SPxLPBase< R >::lower(), SoPlex::numColsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::changeUpperRational().
void changeUpperRational | ( | int | i, |
const Rational & | upper | ||
) |
changes i
'th upper bound to upper
Definition at line 2475 of file soplex.cpp.
References SoPlex::_changeUpperReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SPxLPBase< R >::changeUpper(), SoPlex::changeUpperRational(), SoPlex::intParam(), SPxLPBase< R >::lower(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, SPxLPBase< R >::upper(), and SoPlex::upperRational().
void changeUpperReal | ( | const VectorReal & | upper | ) |
changes vector of upper bounds to upper
Definition at line 1634 of file soplex.cpp.
References SoPlex::_changeUpperReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeUpper(), SoPlex::intParam(), SPxLPBase< R >::lower(), SoPlex::numColsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SPxLPBase< R >::upper().
void changeUpperReal | ( | int | i, |
const Real & | upper | ||
) |
changes i
'th upper bound to upper
Definition at line 1654 of file soplex.cpp.
References SoPlex::_changeUpperReal(), SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SPxLPBase< R >::changeUpper(), SoPlex::intParam(), SPxLPBase< R >::lower(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SPxLPBase< R >::upper().
|
private |
checks the dual feasibility of the current basis
Definition at line 3481 of file solvedbds.cpp.
References SoPlex::_solver, SPxBasis::baseId(), SPxSolver::basis(), SPxBasis::Desc::colStatus(), SPxBasis::desc(), SoPlex::FEASTOL, soplex::GT(), SPxId::isSPxColId(), SPxId::isSPxRowId(), soplex::LT(), SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, SoPlex::realParam(), SPxSolver::rep(), SPxSolver::ROW, SPxBasis::Desc::rowStatus(), and SPxLPBase< R >::spxSense().
Referenced by SoPlex::_solveDecompositionDualSimplex().
void clearBasis | ( | ) |
clears starting basis
Definition at line 5238 of file soplex.cpp.
References SoPlex::_hasBasis, SoPlex::_rationalLUSolver, SoPlex::_solver, SoPlex::_status, SLUFactorRational::clear(), SPxSolver::reLoad(), and SPxSolver::status().
Referenced by SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::ignoreUnscaledViolations(), and SoPlex::readBasisFile().
void clearLPRational | ( | ) |
clears the LP
Definition at line 2867 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_hasBasis, SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_rowTypes, SLUFactorRational::clear(), DataArray< T >::clear(), SPxLPBase< R >::clear(), SoPlex::intParam(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::_readFileRational().
void clearLPReal | ( | ) |
clears the LP
Definition at line 1951 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_hasBasis, SoPlex::_invalidateSolution(), SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_realLP, SoPlex::_rowTypes, SLUFactorRational::clear(), DataArray< T >::clear(), SPxLPBase< R >::clear(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
Referenced by SoPlex::_readFileReal().
Real coefReal | ( | int | row, |
int | col | ||
) | const |
returns (unscaled) coefficient
Definition at line 895 of file soplex.cpp.
References SoPlex::_realLP, SoPlex::_scaler, SoPlex::colVectorRealInternal(), SPxScaler::getCoefUnscaled(), and SPxLPBase< R >::isScaled().
const SVectorRational & colVectorRational | ( | int | i | ) | const |
returns vector of column i
Definition at line 1277 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::colVector().
Referenced by SoPlex::_computeBasisInverseRational(), SoPlex::_factorizeColumnRational(), SoPlex::_lift(), and SoPlex::_transformFeasibility().
const SVectorReal & colVectorRealInternal | ( | int | i | ) | const |
returns vector of col i
, ignoring scaling
Definition at line 998 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::colVector().
Referenced by SoPlex::coefReal().
bool computeBasisInverseRational | ( | ) |
compute rational basis inverse; returns true on success
Definition at line 5085 of file soplex.cpp.
References SoPlex::_computeBasisInverseRational(), SoPlex::_rationalLUSolver, SoPlex::_rationalLUSolverBind, SLUFactorRational::clear(), DataArray< T >::get_ptr(), SoPlex::getBasisInd(), SoPlex::hasBasis(), SoPlex::numRowsRational(), SLinSolverRational::OK, DataArray< T >::reSize(), SLUFactorRational::status(), SLinSolverRational::TIME, and SLinSolverRational::UNLOADED.
Referenced by SoPlex::getBasisIndRational(), SoPlex::getBasisInverseColRational(), SoPlex::getBasisInverseRowRational(), SoPlex::getBasisInverseTimesVecRational(), and SoPlex::ignoreUnscaledViolations().
|
private |
function call to terminate the decomposition simplex
Definition at line 3941 of file solvedbds.cpp.
References SoPlex::_solver, SoPlex::_statistics, SPxSolver::ABORT_TIME, SPxSolver::getMaxTime(), soplex::infinity, MSG_INFO2, SPxSolver::setSolverStatus(), SoPlex::Statistics::solvingTime, SoPlex::spxout, and Timer::time().
Referenced by SoPlex::_computeReducedProbObjCoeff(), SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_getZeroDualMultiplierIndices(), and SoPlex::_solveDecompositionDualSimplex().
int dlcmSizeDualRational | ( | const int | base = 2 | ) |
get size of least common multiple of denominators in dual solution
Definition at line 3983 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SolBase< R >::dlcmSizeDual(), SoPlex::hasDual(), and SoPlex::hasDualFarkas().
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
int dlcmSizePrimalRational | ( | const int | base = 2 | ) |
get size of least common multiple of denominators in primal solution
Definition at line 3969 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SolBase< R >::dlcmSizePrimal(), SoPlex::hasPrimal(), and SoPlex::hasPrimalRay().
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
int dmaxSizeDualRational | ( | const int | base = 2 | ) |
get size of largest denominator in dual solution
Definition at line 4011 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SolBase< R >::dmaxSizeDual(), SoPlex::hasDual(), and SoPlex::hasDualFarkas().
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
int dmaxSizePrimalRational | ( | const int | base = 2 | ) |
get size of largest denominator in primal solution
Definition at line 3997 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SolBase< R >::dmaxSizePrimal(), SoPlex::hasPrimal(), and SoPlex::hasPrimalRay().
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
void getBasis | ( | SPxSolver::VarStatus | rows[], |
SPxSolver::VarStatus | cols[] | ||
) | const |
gets current basis via arrays of statuses
gets current basis
Definition at line 4115 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::getBasis(), SoPlex::hasBasis(), SoPlex::INFTY, SoPlex::lowerReal(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::realParam(), DataArray< T >::size(), SoPlex::upperReal(), and SPxSolver::ZERO.
Referenced by SoPlex::ignoreUnscaledViolations().
void getBasisInd | ( | int * | bind | ) | const |
gets the indices of the basic columns and rows; basic column n gives value n, basic row m gives value -1-m
returns the indices of the basic columns and rows; basic column n gives value n, basic row m gives value -1-m
Definition at line 4155 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxBasis::baseId(), SPxSolver::BASIC, SPxSolver::basis(), SPxSolver::COLUMN, SoPlex::hasBasis(), SPxSolver::isColBasic(), SPxSolver::isRowBasic(), SPxLPBase< R >::number(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::rep(), SPxSolver::ROW, and DataArray< T >::size().
Referenced by SoPlex::computeBasisInverseRational(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::ignoreUnscaledViolations(), SoPlex::multBasis(), and SoPlex::multBasisTranspose().
bool getBasisIndRational | ( | DataArray< int > & | bind | ) |
gets an array of indices for the columns of the rational basis matrix; bind[i] >= 0 means that the i-th column of the basis matrix contains variable bind[i]; bind[i] < 0 means that the i-th column of the basis matrix contains the slack variable for row -bind[i]-1; performs rational factorization if not available; returns true on success
Definition at line 5113 of file soplex.cpp.
References SoPlex::_rationalLUSolver, SoPlex::_rationalLUSolverBind, SoPlex::computeBasisInverseRational(), SoPlex::numRowsRational(), SLinSolverRational::OK, DataArray< T >::size(), and SLUFactorRational::status().
Referenced by SoPlex::ignoreUnscaledViolations().
bool getBasisInverseColRational | ( | const int | c, |
SSVectorRational & | vec | ||
) |
computes column c of basis inverse; performs rational factorization if not available; returns true on success
Definition at line 5155 of file soplex.cpp.
References SoPlex::_rationalLUSolver, SoPlex::_unitVectorRational(), SoPlex::computeBasisInverseRational(), MSG_INFO1, SoPlex::numRowsRational(), SLinSolverRational::OK, SSVectorBase< R >::reDim(), SLUFactorRational::solveRight(), SoPlex::spxout, SLUFactorRational::status(), and SPxException::what().
Referenced by SoPlex::ignoreUnscaledViolations().
bool getBasisInverseColReal | ( | int | c, |
Real * | coef, | ||
int * | inds = NULL , |
||
int * | ninds = NULL , |
||
bool | unscale = true |
||
) |
computes column c
of basis inverse; returns true on success
computes column c of basis inverse; returns true on success
c | which column of the basis inverse is computed |
coef | values of result vector (not packed but scattered) |
inds | indices of result vector (NULL if not to be used) |
ninds | number of nonzeros in result vector |
unscale | determines whether the result should be unscaled according to the original LP data |
Definition at line 4476 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_scaler, SoPlex::_solver, SPxBasis::baseId(), SPxSolver::basis(), SPxSolver::COLUMN, SPxBasis::coSolve(), SoPlex::getBasisInd(), SPxScaler::getColScaleExp(), SPxScaler::getRowScaleExp(), SoPlex::hasBasis(), SSVectorBase< R >::index(), SPxSolver::isColBasic(), SPxSolver::isRowBasic(), SPxLPBase< R >::isScaled(), MSG_INFO1, SPxLPBase< R >::number(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::rep(), SPxSolver::ROW, SPxLPBase< R >::rowVector(), SSVectorBase< R >::scaleValue(), SSVectorBase< R >::setup(), SSVectorBase< R >::setValue(), SSVectorBase< R >::size(), SPxBasis::solve(), soplex::spx_alloc(), soplex::spx_free(), soplex::spxLdexp(), SoPlex::spxout, SPxSolver::unitVector(), SSVectorBase< R >::value(), and SPxException::what().
Referenced by SoPlex::_checkBasisScaling(), and SoPlex::ignoreUnscaledViolations().
bool getBasisInverseRowRational | ( | const int | r, |
SSVectorRational & | vec | ||
) |
computes row r of basis inverse; performs rational factorization if not available; returns true on success
Definition at line 5129 of file soplex.cpp.
References SoPlex::_rationalLUSolver, SoPlex::_unitVectorRational(), SoPlex::computeBasisInverseRational(), MSG_INFO1, SoPlex::numRowsRational(), SLinSolverRational::OK, SSVectorBase< R >::reDim(), SLUFactorRational::solveLeft(), SoPlex::spxout, SLUFactorRational::status(), and SPxException::what().
Referenced by SoPlex::ignoreUnscaledViolations().
bool getBasisInverseRowReal | ( | int | r, |
Real * | coef, | ||
int * | inds = NULL , |
||
int * | ninds = NULL , |
||
bool | unscale = true |
||
) |
computes row r
of basis inverse; returns true on success
computes row r of basis inverse; returns true on success
r | which row of the basis inverse is computed |
coef | values of result vector (not packed but scattered) |
inds | indices of result vector (NULL if not to be used) |
ninds | number of nonzeros in result vector |
unscale | determines whether the result should be unscaled according to the original LP data |
Definition at line 4284 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_scaler, SoPlex::_solver, SPxBasis::baseId(), SPxSolver::basis(), SPxSolver::COLUMN, SPxBasis::coSolve(), SoPlex::getBasisInd(), SPxScaler::getColScaleExp(), SPxScaler::getRowScaleExp(), SoPlex::hasBasis(), SSVectorBase< R >::index(), SPxSolver::isColBasic(), SPxSolver::isRowBasic(), SPxLPBase< R >::isScaled(), SPxId::isSPxColId(), MSG_INFO1, SPxLPBase< R >::number(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::rep(), SPxSolver::ROW, SPxLPBase< R >::rowVector(), SSVectorBase< R >::scaleValue(), SSVectorBase< R >::setup(), SSVectorBase< R >::size(), SPxBasis::solve(), soplex::spx_alloc(), soplex::spx_free(), soplex::spxLdexp(), SoPlex::spxout, SPxSolver::unitVector(), and SPxException::what().
Referenced by SoPlex::_checkBasisScaling(), and SoPlex::ignoreUnscaledViolations().
bool getBasisInverseTimesVecRational | ( | const SVectorRational & | rhs, |
SSVectorRational & | sol | ||
) |
computes solution of basis matrix B * sol = rhs; performs rational factorization if not available; returns true on success
Definition at line 5182 of file soplex.cpp.
References SoPlex::_rationalLUSolver, SoPlex::computeBasisInverseRational(), MSG_INFO1, SoPlex::numRowsRational(), SLinSolverRational::OK, SSVectorBase< R >::reDim(), SLUFactorRational::solveRight(), SoPlex::spxout, SLUFactorRational::status(), and SPxException::what().
Referenced by SoPlex::ignoreUnscaledViolations().
computes dense solution of basis matrix B * sol
= rhs
; returns true on success
computes dense solution of basis matrix B * sol = rhs; returns true on success
Definition at line 4687 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_scaler, SoPlex::_solver, SPxBasis::baseId(), SPxSolver::basis(), SPxSolver::COLUMN, SPxBasis::coSolve(), VectorBase< R >::dim(), SSVectorBase< R >::get_ptr(), SoPlex::getBasisInd(), SPxScaler::getColScaleExp(), SPxScaler::getRowScaleExp(), SoPlex::hasBasis(), SPxSolver::isColBasic(), soplex::isNotZero(), SPxSolver::isRowBasic(), SPxLPBase< R >::isScaled(), SPxId::isSPxColId(), MSG_INFO1, SPxLPBase< R >::number(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::rep(), SPxSolver::ROW, SoPlex::rowVectorRealInternal(), SPxBasis::solve(), soplex::spx_alloc(), soplex::spx_free(), soplex::spxLdexp(), SoPlex::spxout, and SPxException::what().
Referenced by SoPlex::ignoreUnscaledViolations().
gets violation of bounds; returns true on success
Definition at line 3498 of file soplex.cpp.
References SolBase< R >::_primal, SoPlex::_solRational, SoPlex::_syncLPRational(), SoPlex::_syncRationalSolution(), VectorBase< R >::dim(), SoPlex::intParam(), SoPlex::isPrimalFeasible(), SoPlex::lowerRational(), MSG_DEBUG, SoPlex::numColsRational(), soplex::rationalToString(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_ONLYREAL, and SoPlex::upperRational().
Referenced by checkSolutionRational(), SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
gets violation of bounds; returns true on success
Definition at line 3168 of file soplex.cpp.
References SolBase< R >::_primal, SoPlex::_realLP, SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SoPlex::isPrimalFeasible(), SPxLPBase< R >::lowerUnscaled(), SoPlex::numColsReal(), and SPxLPBase< R >::upperUnscaled().
Referenced by SoPlex::_verifySolutionReal(), checkSolutionReal(), SoPlex::ignoreUnscaledViolations(), SoPlex::printSolutionStatistics(), and Validation::validateSolveReal().
void getColRational | ( | int | i, |
LPColRational & | lpcol | ||
) | const |
gets column i
Definition at line 1259 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::getCol().
void getColsRational | ( | int | start, |
int | end, | ||
LPColSetRational & | lpcolset | ||
) | const |
gets columns start
, ..., end
Definition at line 1268 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::getCols().
void getColVectorReal | ( | int | i, |
DSVectorReal & | col | ||
) | const |
gets vector of col i
Definition at line 1007 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getColVectorUnscaled().
|
private |
gets the coefficient of the slack variable in the primal complementary problem
Definition at line 3724 of file solvedbds.cpp.
References SoPlex::_compSolver, SoPlex::_decompDualColIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_nPrimalRows, SoPlex::_realLP, SPxLPBase< R >::number(), SPxLPBase< R >::obj(), SPxLPBase< R >::rowType(), and SLACKCOEFF.
Referenced by SoPlex::_findViolatedRows().
gets violation of bounds; returns true on success
Definition at line 3776 of file solvedbds.cpp.
References SoPlex::_decompViolatedBounds, SoPlex::_nDecompViolBounds, SolBase< R >::_primal, SoPlex::_realLP, SoPlex::_solReal, VectorBase< R >::dim(), SoPlex::FEASTOL, soplex::GT(), SPxLPBase< R >::lower(), SPxLPBase< R >::nCols(), SoPlex::realParam(), and SPxLPBase< R >::upper().
Referenced by SoPlex::_checkOriginalProblemOptimality(), and SoPlex::_solveDecompositionDualSimplex().
gets violation of constraints; returns true on success
Definition at line 3857 of file solvedbds.cpp.
References SoPlex::_decompViolatedRows, SoPlex::_nDecompViolRows, SolBase< R >::_primal, SoPlex::_realLP, SoPlex::_solReal, SPxLPBase< R >::computePrimalActivity(), VectorBase< R >::dim(), SoPlex::FEASTOL, soplex::GT(), SPxLPBase< R >::lhs(), SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SoPlex::realParam(), and SPxLPBase< R >::rhs().
Referenced by SoPlex::_checkOriginalProblemOptimality(), and SoPlex::_solveDecompositionDualSimplex().
bool getDualFarkasRational | ( | VectorRational & | vector | ) |
gets the Farkas proof if LP is infeasible; returns true on success
Definition at line 3483 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::_solRational, SoPlex::_syncRationalSolution(), VectorBase< R >::dim(), SolBase< R >::getDualFarkas(), SoPlex::hasDualFarkas(), and SoPlex::numRowsRational().
Referenced by SoPlex::getDualViolationRational(), SoPlex::ignoreUnscaledViolations(), and printDualSolution().
bool getDualFarkasReal | ( | VectorReal & | vector | ) |
gets the Farkas proof if available; returns true on success
Definition at line 3153 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getDualFarkas(), SoPlex::hasDualFarkas(), and SoPlex::numRowsReal().
Referenced by SoPlex::ignoreUnscaledViolations(), and printDualSolution().
bool getDualNorms | ( | int & | nnormsRow, |
int & | nnormsCol, | ||
Real * | norms | ||
) | const |
gets steepest edge norms and returns false if they are not available
Definition at line 1117 of file soplex.cpp.
References SoPlex::_solver, and SPxSolver::getDualNorms().
bool getDualRational | ( | VectorRational & | vector | ) |
gets the dual solution vector if available; returns true on success
Definition at line 3453 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::_solRational, SoPlex::_syncRationalSolution(), VectorBase< R >::dim(), SolBase< R >::getDual(), SoPlex::hasDual(), and SoPlex::numRowsRational().
Referenced by SoPlex::getDualViolationRational(), SoPlex::ignoreUnscaledViolations(), and printDualSolution().
bool getDualReal | ( | VectorReal & | vector | ) |
gets the dual solution vector if available; returns true on success
Definition at line 3123 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getDual(), SoPlex::hasDual(), and SoPlex::numRowsReal().
Referenced by SoPlex::ignoreUnscaledViolations(), main(), and printDualSolution().
gets violation of dual multipliers; returns true on success
Definition at line 3709 of file soplex.cpp.
References SolBase< R >::_dual, SolBase< R >::_dualFarkas, SoPlex::_hasBasis, SolBase< R >::_primal, SolBase< R >::_primalRay, SoPlex::_rationalFeastol, SolBase< R >::_redCost, SoPlex::_rowTypes, SolBase< R >::_slacks, SoPlex::_solRational, SoPlex::_syncLPRational(), SoPlex::_syncRationalSolution(), SoPlex::basisRowStatus(), VectorBase< R >::dim(), SPxSolver::FIXED, SoPlex::getDualFarkasRational(), SoPlex::getDualRational(), SoPlex::getPrimalRational(), SoPlex::getPrimalRayRational(), SoPlex::getRedCostRational(), SoPlex::getSlacksRational(), SoPlex::hasDual(), SoPlex::hasDualFarkas(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), SoPlex::intParam(), SoPlex::isDualFeasible(), SoPlex::isPrimalFeasible(), SoPlex::lhsRational(), MSG_DEBUG, SoPlex::numColsRational(), SoPlex::numRowsRational(), SoPlex::numRowsReal(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::RANGETYPE_FIXED, soplex::rationalToString(), SoPlex::rhsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_ONLYREAL, and SPxSolver::UNDEFINED.
Referenced by checkSolutionRational(), SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
gets violation of dual multipliers; returns true on success
Definition at line 3317 of file soplex.cpp.
References SolBase< R >::_dual, SoPlex::_solReal, SoPlex::_syncRealSolution(), SoPlex::basisRowStatus(), VectorBase< R >::dim(), SPxSolver::FIXED, SoPlex::hasBasis(), SoPlex::intParam(), SoPlex::isDualFeasible(), SoPlex::numRowsReal(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::ON_LOWER, and SPxSolver::ON_UPPER.
Referenced by SoPlex::_verifySolutionReal(), checkSolutionReal(), SoPlex::ignoreUnscaledViolations(), SoPlex::printSolutionStatistics(), and Validation::validateSolveReal().
bool getEstimatedCondition | ( | Real & | condition | ) |
computes an estimated condition number for the current basis matrix using the power method; returns true on success
Definition at line 4252 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::basis(), SPxBasis::getEstimatedCondition(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
Referenced by SoPlex::ignoreUnscaledViolations().
bool getExactCondition | ( | Real & | condition | ) |
computes the exact condition number for the current basis matrix using the power method; returns true on success
Definition at line 4268 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::basis(), SPxBasis::getExactCondition(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
Referenced by SoPlex::ignoreUnscaledViolations().
|
private |
returns the expected sign of the dual variables for the reduced problem
Definition at line 3537 of file solvedbds.cpp.
References SoPlex::_solver, SPxSolver::basis(), SPxBasis::desc(), SoPlex::IS_FREE, SoPlex::IS_NEG, SoPlex::IS_POS, SPxSolver::isRowBasic(), SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, and SPxBasis::Desc::rowStatus().
Referenced by SoPlex::_updateDecompReducedProblem().
bool getFastCondition | ( | Real & | condition, |
int | type = 0 |
||
) |
compute condition number estimate based on the diagonal of the LU factorization; returns true on success type = 0: max/min ratio type = 1: trace of U (sum of diagonal elements) type = 2: product of diagonal elements
Definition at line 4236 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::basis(), SPxBasis::getFastCondition(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
Referenced by SoPlex::ignoreUnscaledViolations().
void getLhsReal | ( | DVectorReal & | lhs | ) | const |
gets left-hand side vector
Definition at line 971 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getLhsUnscaled().
void getLowerReal | ( | DVectorReal & | lower | ) | const |
gets lower bound vector
Definition at line 1061 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getLowerUnscaled().
void getNdualNorms | ( | int & | nnormsRow, |
int & | nnormsCol | ||
) | const |
gets number of available dual norms
Definition at line 1109 of file soplex.cpp.
References SoPlex::_solver, and SPxSolver::getNdualNorms().
void getObjRational | ( | VectorRational & | obj | ) | const |
gets objective function vector
Definition at line 1322 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::getObj().
void getObjRational | ( | int | i, |
Rational & | obj | ||
) | const |
gets objective value of column i
Definition at line 1331 of file soplex.cpp.
References SoPlex::intParam(), SoPlex::maxObjRational(), SoPlex::OBJSENSE, and SoPlex::OBJSENSE_MINIMIZE.
void getObjReal | ( | VectorReal & | obj | ) | const |
gets objective function vector
Definition at line 1071 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getObjUnscaled().
|
private |
function to retrieve the column status for the original problem basis from the reduced and complementary problems
Definition at line 4163 of file solvedbds.cpp.
References SoPlex::_basisStatusCols, SoPlex::_decompReducedProbColRowIDs, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SPxBasis::desc(), soplex::EQ(), SoPlex::FEASTOL, SPxSolver::FIXED, SPxSolver::fVec(), MSG_INFO2, SPxLPBase< R >::nCols(), SPxLPBase< R >::number(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_FREE, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, SoPlex::realParam(), SPxBasis::Desc::rowStatus(), SoPlex::spxout, and SPxSolver::ZERO.
Referenced by SoPlex::_writeOriginalProblemBasis().
|
private |
function to retrieve the original problem row basis status from the reduced and complementary problems
Definition at line 3965 of file solvedbds.cpp.
References SoPlex::_basisStatusRows, SoPlex::_decompElimPrimalRowIDs, SoPlex::_decompPrimalRowIDs, SoPlex::_decompReducedProbRowIDs, SoPlex::_decompReducedProbRows, SoPlex::_nElimPrimalRows, SoPlex::_nPrimalRows, SoPlex::_realLP, SoPlex::_solver, SPxSolver::BASIC, SPxSolver::basis(), SPxBasis::Desc::D_ON_LOWER, SPxBasis::Desc::D_ON_UPPER, SPxBasis::desc(), soplex::EQ(), SoPlex::FEASTOL, SPxSolver::FIXED, SPxLPBase< R >::lhs(), MSG_INFO2, SPxLPBase< R >::nRows(), SPxLPBase< R >::number(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_FREE, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, SPxSolver::pVec(), SoPlex::realParam(), SPxLPBase< R >::rhs(), SPxBasis::Desc::rowStatus(), SPxLPBase< R >::rowType(), SoPlex::spxout, and SPxSolver::ZERO.
Referenced by SoPlex::_writeOriginalProblemBasis().
|
private |
stores the problem statistics of the original problem
Definition at line 3620 of file solvedbds.cpp.
References SoPlex::_realLP, soplex::EQ(), soplex::infinity, SPxLPBase< R >::lhs(), SPxLPBase< R >::lower(), SoPlex::maxAbsNonzero, SPxLPBase< R >::maxAbsNzo(), SoPlex::minAbsNonzero, SPxLPBase< R >::minAbsNzo(), SPxLPBase< R >::nCols(), SPxLPBase< R >::nNzos(), SPxLPBase< R >::nRows(), SoPlex::numNonzeros, SoPlex::numProbCols, SoPlex::numProbRows, SoPlex::origCountBoxed, SoPlex::origCountEqual, SoPlex::origCountFreeCol, SoPlex::origCountFreeRow, SoPlex::origCountLhs, SoPlex::origCountLower, SoPlex::origCountRanged, SoPlex::origCountRhs, SoPlex::origCountUpper, SPxLPBase< R >::rhs(), and SPxLPBase< R >::upper().
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
returns the expected sign of the dual variables for the original problem
Definition at line 3556 of file solvedbds.cpp.
References SoPlex::_realLP, SoPlex::IS_FREE, SoPlex::IS_NEG, SoPlex::IS_POS, and SPxLPBase< R >::rowType().
Referenced by SoPlex::_updateDecompReducedProblem().
|
private |
determining which bound the primal variables will be fixed to.
Definition at line 3335 of file solvedbds.cpp.
References SoPlex::_decompReducedProbColRowIDs, SoPlex::_solver, SPxSolver::basis(), SPxBasis::Desc::D_FREE, SPxBasis::desc(), soplex::infinity, SPxLPBase< R >::lhs(), SPxLPBase< R >::number(), SPxBasis::Desc::P_FIXED, SPxBasis::Desc::P_ON_LOWER, SPxBasis::Desc::P_ON_UPPER, SPxLPBase< R >::rhs(), and SPxBasis::Desc::rowStatus().
Referenced by SoPlex::_identifyComplementaryDualFixedPrimalVars(), and SoPlex::_identifyComplementaryPrimalFixedPrimalVars().
const char * getPricerName | ( | ) |
name of currently loaded pricer
Definition at line 5316 of file soplex.cpp.
References SoPlex::_solver, SPxPricer::getName(), and SPxSolver::pricer().
Referenced by SoPlex::ignoreUnscaledViolations().
bool getPrimalRational | ( | VectorRational & | vector | ) |
gets the primal solution vector if available; returns true on success
Definition at line 3408 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::_solRational, SoPlex::_syncRationalSolution(), VectorBase< R >::dim(), SolBase< R >::getPrimal(), SoPlex::hasPrimal(), and SoPlex::numColsRational().
Referenced by SoPlex::getDualViolationRational(), SoPlex::ignoreUnscaledViolations(), and printPrimalSolution().
bool getPrimalRayRational | ( | VectorRational & | vector | ) |
gets the primal ray if LP is unbounded; returns true on success
Definition at line 3438 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::_solRational, SoPlex::_syncRationalSolution(), VectorBase< R >::dim(), SolBase< R >::getPrimalRay(), SoPlex::hasPrimalRay(), and SoPlex::numColsRational().
Referenced by SoPlex::getDualViolationRational(), SoPlex::ignoreUnscaledViolations(), and printPrimalSolution().
bool getPrimalRayReal | ( | VectorReal & | vector | ) |
gets the primal ray if available; returns true on success
Definition at line 3108 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getPrimalRay(), SoPlex::hasPrimalRay(), and SoPlex::numColsReal().
Referenced by SoPlex::ignoreUnscaledViolations(), and printPrimalSolution().
bool getPrimalReal | ( | VectorReal & | vector | ) |
gets the primal solution vector if available; returns true on success
Definition at line 3078 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getPrimal(), SoPlex::hasPrimal(), and SoPlex::numColsReal().
Referenced by SoPlex::ignoreUnscaledViolations(), main(), and printPrimalSolution().
const char * getRatiotesterName | ( | ) |
name of currently loaded ratiotester
Definition at line 5324 of file soplex.cpp.
References SoPlex::_solver, SPxRatioTester::getName(), and SPxSolver::ratiotester().
Referenced by SoPlex::ignoreUnscaledViolations().
bool getRedCostRational | ( | VectorRational & | vector | ) |
gets the vector of reduced cost values if available; returns true on success
Definition at line 3468 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::_solRational, SoPlex::_syncRationalSolution(), VectorBase< R >::dim(), SolBase< R >::getRedCost(), SoPlex::hasDual(), and SoPlex::numColsRational().
Referenced by SoPlex::getDualViolationRational(), SoPlex::ignoreUnscaledViolations(), and printDualSolution().
bool getRedCostReal | ( | VectorReal & | vector | ) |
gets the vector of reduced cost values if available; returns true on success
Definition at line 3138 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getRedCost(), SoPlex::hasDual(), and SoPlex::numColsReal().
Referenced by SoPlex::ignoreUnscaledViolations(), and printDualSolution().
gets violation of reduced costs; returns true on success
Definition at line 3614 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_hasBasis, SolBase< R >::_primal, SolBase< R >::_redCost, SoPlex::_solRational, SoPlex::_syncLPRational(), SoPlex::_syncRationalSolution(), SoPlex::basisColStatus(), VectorBase< R >::dim(), SPxSolver::FIXED, SoPlex::intParam(), SoPlex::isDualFeasible(), SoPlex::isPrimalFeasible(), SoPlex::lowerRational(), MSG_DEBUG, SoPlex::numColsRational(), SoPlex::numColsReal(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::RANGETYPE_FIXED, soplex::rationalToString(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_ONLYREAL, SPxSolver::UNDEFINED, and SoPlex::upperRational().
Referenced by checkSolutionRational(), SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
gets violation of reduced costs; returns true on success
Definition at line 3257 of file soplex.cpp.
References SolBase< R >::_redCost, SoPlex::_solReal, SoPlex::_syncRealSolution(), SoPlex::basisColStatus(), VectorBase< R >::dim(), SPxSolver::FIXED, SoPlex::hasBasis(), SoPlex::intParam(), SoPlex::isDualFeasible(), SoPlex::numColsReal(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::ON_LOWER, and SPxSolver::ON_UPPER.
Referenced by SoPlex::_verifySolutionReal(), checkSolutionReal(), SoPlex::ignoreUnscaledViolations(), SoPlex::printSolutionStatistics(), and Validation::validateSolveReal().
void getRhsReal | ( | DVectorReal & | rhs | ) | const |
gets right-hand side vector
Definition at line 944 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getRhsUnscaled().
void getRowRational | ( | int | i, |
LPRowRational & | lprow | ||
) | const |
gets row i
Definition at line 1187 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::getRow().
void getRowsRational | ( | int | start, |
int | end, | ||
LPRowSetRational & | lprowset | ||
) | const |
gets rows start
, ..., end
.
Definition at line 1196 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::getRows().
void getRowVectorReal | ( | int | i, |
DSVectorReal & | row | ||
) | const |
gets vector of row i
Definition at line 918 of file soplex.cpp.
References SoPlex::_realLP, SoPlex::_scaler, SPxScaler::getRowUnscaled(), SPxLPBase< R >::isScaled(), SPxLPBase< R >::rowVector(), and DSVectorBase< R >::setMax().
gets violation of constraints; returns true on success
Definition at line 3555 of file soplex.cpp.
References SolBase< R >::_primal, SoPlex::_rationalLP, SoPlex::_solRational, SoPlex::_syncLPRational(), SoPlex::_syncRationalSolution(), SPxLPBase< R >::computePrimalActivity(), VectorBase< R >::dim(), SoPlex::intParam(), SoPlex::isPrimalFeasible(), SoPlex::lhsRational(), MSG_DEBUG, SoPlex::numColsRational(), SoPlex::numRowsRational(), soplex::rationalToString(), SoPlex::rhsRational(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by checkSolutionRational(), SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
gets violation of constraints; returns true on success
Definition at line 3211 of file soplex.cpp.
References SolBase< R >::_primal, SoPlex::_realLP, SoPlex::_solReal, SoPlex::_syncRealSolution(), SPxLPBase< R >::computePrimalActivity(), VectorBase< R >::dim(), SoPlex::isPrimalFeasible(), SPxLPBase< R >::lhsUnscaled(), SoPlex::numColsReal(), SoPlex::numRowsReal(), and SPxLPBase< R >::rhsUnscaled().
Referenced by SoPlex::_verifySolutionReal(), checkSolutionReal(), SoPlex::ignoreUnscaledViolations(), SoPlex::printSolutionStatistics(), and Validation::validateSolveReal().
const char * getScalerName | ( | ) |
name of scaling method
name of scaling method after simplifier
Definition at line 5305 of file soplex.cpp.
References SoPlex::_scaler, and SPxScaler::getName().
Referenced by SoPlex::ignoreUnscaledViolations().
const char * getSimplifierName | ( | ) |
name of simplifier
Definition at line 5294 of file soplex.cpp.
References SoPlex::_simplifier, and SPxSimplifier::getName().
Referenced by SoPlex::ignoreUnscaledViolations().
bool getSlacksRational | ( | VectorRational & | vector | ) |
gets the vector of slack values if available; returns true on success
Definition at line 3423 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::_solRational, SoPlex::_syncRationalSolution(), VectorBase< R >::dim(), SolBase< R >::getSlacks(), SoPlex::hasPrimal(), and SoPlex::numRowsRational().
Referenced by SoPlex::getDualViolationRational(), and SoPlex::ignoreUnscaledViolations().
bool getSlacksReal | ( | VectorReal & | vector | ) |
gets the vector of slack values if available; returns true on success
Definition at line 3093 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getSlacks(), SoPlex::hasPrimal(), and SoPlex::numRowsReal().
Referenced by SoPlex::ignoreUnscaledViolations().
const char * getStarterName | ( | ) |
name of starter
Definition at line 5283 of file soplex.cpp.
References SoPlex::_starter, and SPxStarter::getName().
Referenced by SoPlex::ignoreUnscaledViolations().
void getUpperReal | ( | DVectorReal & | upper | ) | const |
gets upper bound vector
Definition at line 1034 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getUpperUnscaled().
bool hasBasis | ( | ) | const |
is an advanced starting basis available?
Definition at line 4025 of file soplex.cpp.
References SoPlex::_hasBasis.
Referenced by SoPlex::basisColStatus(), SoPlex::basisRowStatus(), SoPlex::basisStatus(), SoPlex::computeBasisInverseRational(), SoPlex::getBasis(), SoPlex::getBasisInd(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getDualViolationReal(), SoPlex::getRedCostViolationReal(), SoPlex::ignoreUnscaledViolations(), main(), SoPlex::multBasis(), and SoPlex::multBasisTranspose().
bool hasDual | ( | ) | const |
is a dual feasible solution available?
Definition at line 3040 of file soplex.cpp.
References SoPlex::_hasSolRational, and SoPlex::_hasSolReal.
Referenced by SoPlex::basisStatus(), checkSolutionRational(), checkSolutionReal(), SoPlex::dlcmSizeDualRational(), SoPlex::dmaxSizeDualRational(), SoPlex::getDualRational(), SoPlex::getDualReal(), SoPlex::getDualViolationRational(), SoPlex::getRedCostRational(), SoPlex::getRedCostReal(), SoPlex::objValueRational(), SoPlex::objValueReal(), SoPlex::solve(), and SoPlex::totalSizeDualRational().
bool hasDualFarkas | ( | ) | const |
is Farkas proof of infeasibility available?
Definition at line 3048 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, SoPlex::_solReal, and SolBase< R >::hasDualFarkas().
Referenced by SoPlex::dlcmSizeDualRational(), SoPlex::dmaxSizeDualRational(), SoPlex::getDualFarkasRational(), SoPlex::getDualFarkasReal(), SoPlex::getDualViolationRational(), SoPlex::solve(), and SoPlex::totalSizeDualRational().
bool hasPrimal | ( | ) | const |
is a primal feasible solution available?
Definition at line 3015 of file soplex.cpp.
References SoPlex::_hasSolRational, and SoPlex::_hasSolReal.
Referenced by SoPlex::basisStatus(), checkSolutionRational(), checkSolutionReal(), SoPlex::dlcmSizePrimalRational(), SoPlex::dmaxSizePrimalRational(), SoPlex::getDualViolationRational(), SoPlex::getPrimalRational(), SoPlex::getPrimalReal(), SoPlex::getSlacksRational(), SoPlex::getSlacksReal(), SoPlex::objValueRational(), SoPlex::objValueReal(), SoPlex::solve(), and SoPlex::totalSizePrimalRational().
bool hasPrimalRay | ( | ) | const |
is a primal unbounded ray available?
Definition at line 3023 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, SoPlex::_solReal, and SolBase< R >::hasPrimalRay().
Referenced by SoPlex::dlcmSizePrimalRational(), SoPlex::dmaxSizePrimalRational(), SoPlex::getDualViolationRational(), SoPlex::getPrimalRayRational(), SoPlex::getPrimalRayReal(), SoPlex::solve(), and SoPlex::totalSizePrimalRational().
bool ignoreUnscaledViolations | ( | ) |
sets the status to OPTIMAL in case the LP has been solved with unscaled violations
Definition at line 605 of file soplex.h.
References SoPlex::_status, SoPlex::basisColStatus(), SoPlex::basisRowStatus(), SoPlex::basisStatus(), SoPlex::clearBasis(), SoPlex::computeBasisInverseRational(), SoPlex::dlcmSizeDualRational(), SoPlex::dlcmSizePrimalRational(), SoPlex::dmaxSizeDualRational(), SoPlex::dmaxSizePrimalRational(), SoPlex::getBasis(), SoPlex::getBasisInd(), SoPlex::getBasisIndRational(), SoPlex::getBasisInverseColRational(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowRational(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecRational(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getBoundViolationRational(), SoPlex::getBoundViolationReal(), SoPlex::getDualFarkasRational(), SoPlex::getDualFarkasReal(), SoPlex::getDualRational(), SoPlex::getDualReal(), SoPlex::getDualViolationRational(), SoPlex::getDualViolationReal(), SoPlex::getEstimatedCondition(), SoPlex::getExactCondition(), SoPlex::getFastCondition(), SoPlex::getPricerName(), SoPlex::getPrimalRational(), SoPlex::getPrimalRayRational(), SoPlex::getPrimalRayReal(), SoPlex::getPrimalReal(), SoPlex::getRatiotesterName(), SoPlex::getRedCostRational(), SoPlex::getRedCostReal(), SoPlex::getRedCostViolationRational(), SoPlex::getRedCostViolationReal(), SoPlex::getRowViolationRational(), SoPlex::getRowViolationReal(), SoPlex::getScalerName(), SoPlex::getSimplifierName(), SoPlex::getSlacksRational(), SoPlex::getSlacksReal(), SoPlex::getStarterName(), SoPlex::hasBasis(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SoPlex::numIterations(), SoPlex::objValueRational(), SoPlex::objValueReal(), SPxSolver::OPTIMAL, SPxSolver::OPTIMAL_UNSCALED_VIOLATIONS, SoPlex::readBasisFile(), SoPlex::readFile(), SoPlex::setBasis(), SoPlex::solveTime(), SoPlex::statisticString(), SoPlex::totalSizeDualRational(), SoPlex::totalSizePrimalRational(), SoPlex::writeBasisFile(), SoPlex::writeDualFileReal(), SoPlex::writeFileRational(), SoPlex::writeFileReal(), SoPlex::writeStateRational(), and SoPlex::writeStateReal().
int intParam | ( | const IntParam | param | ) | const |
returns integer parameter value
Definition at line 5775 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::Settings::_intParamValues, and SoPlex::INTPARAM_COUNT.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::_evaluateSolutionReal(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_isSolveStopped(), SoPlex::_optimizeRational(), SoPlex::_performOptIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::_reconstructSolutionRational(), SoPlex::_restoreLPReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_solveRealStable(), SoPlex::_storeLPReal(), SoPlex::_transformFeasibility(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::addColRational(), SoPlex::addColReal(), SoPlex::addColsRational(), SoPlex::addColsReal(), SoPlex::addRowRational(), SoPlex::addRowReal(), SoPlex::addRowsRational(), SoPlex::addRowsReal(), SoPlex::changeBoundsRational(), SoPlex::changeBoundsReal(), SoPlex::changeColRational(), SoPlex::changeColReal(), SoPlex::changeElementRational(), SoPlex::changeElementReal(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SoPlex::changeObjRational(), SoPlex::changeObjReal(), SoPlex::changeRangeRational(), SoPlex::changeRangeReal(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SoPlex::changeRowRational(), SoPlex::changeRowReal(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), checkSolution(), SoPlex::clearLPRational(), SoPlex::clearLPReal(), SoPlex::getBoundViolationRational(), SoPlex::getDualViolationRational(), SoPlex::getDualViolationReal(), SoPlex::getObjRational(), SoPlex::getRedCostViolationRational(), SoPlex::getRedCostViolationReal(), SoPlex::getRowViolationRational(), main(), SoPlex::objValueRational(), SoPlex::objValueReal(), SoPlex::operator=(), SoPlex::optimize(), SoPlex::printDecompDisplayLine(), SoPlex::printSolutionStatistics(), SoPlex::printStatistics(), SoPlex::readFile(), SoPlex::removeColRational(), SoPlex::removeColReal(), SoPlex::removeColsRational(), SoPlex::removeColsReal(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SoPlex::removeRowsRational(), SoPlex::removeRowsReal(), SoPlex::setIntParam(), SoPlex::setRealParam(), SoPlex::SoPlex(), SoPlex::syncLPRational(), SoPlex::syncLPReal(), and SoPlex::writeFileRational().
bool isDualFeasible | ( | ) | const |
is stored dual solution feasible?
Definition at line 3031 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, SoPlex::_solReal, and SolBase< R >::isDualFeasible().
Referenced by SoPlex::getDualViolationRational(), SoPlex::getDualViolationReal(), SoPlex::getRedCostViolationRational(), SoPlex::getRedCostViolationReal(), printDualSolution(), and SoPlex::solve().
bool isPrimalFeasible | ( | ) | const |
is stored primal solution feasible?
Definition at line 3006 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, SoPlex::_solReal, and SolBase< R >::isPrimalFeasible().
Referenced by SoPlex::getBoundViolationRational(), SoPlex::getBoundViolationReal(), SoPlex::getDualViolationRational(), SoPlex::getRedCostViolationRational(), SoPlex::getRowViolationRational(), SoPlex::getRowViolationReal(), printPrimalSolution(), and SoPlex::solve().
const VectorRational & lhsRational | ( | ) | const |
returns left-hand side vector
Definition at line 1232 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::lhs().
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_factorizeColumnRational(), SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::addRowRational(), SoPlex::changeLhsRational(), SoPlex::changeRangeRational(), SoPlex::getDualViolationRational(), SoPlex::getRowViolationRational(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
const Rational & lhsRational | ( | int | i | ) | const |
returns left-hand side of row i
Definition at line 1241 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::lhs().
Real lhsReal | ( | int | i | ) | const |
returns left-hand side of row i
Definition at line 980 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::lhsUnscaled().
Referenced by SoPlex::_changeRhsReal(), SoPlex::_untransformFeasibility(), and SoPlex::_untransformUnbounded().
const VectorReal & lhsRealInternal | ( | ) | const |
returns left-hand side vector, ignoring scaling
Definition at line 962 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::lhs().
bool loadSettingsFile | ( | const char * | filename | ) |
reads settings file; returns true on success
Definition at line 6724 of file soplex.cpp.
References SoPlex::_parseSettingsLine(), SoPlex::_statistics, MSG_INFO1, SoPlex::Statistics::readingTime, SET_MAX_LINE_LEN, SoPlex::spxout, Timer::start(), and Timer::stop().
Referenced by main().
const VectorRational & lowerRational | ( | ) | const |
returns lower bound vector
Definition at line 1304 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::lower().
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_factorizeColumnRational(), SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::addColRational(), SoPlex::changeBoundsRational(), SoPlex::changeLowerRational(), SoPlex::getBoundViolationRational(), SoPlex::getRedCostViolationRational(), SoPlex::removeColRational(), SoPlex::removeColReal(), SoPlex::removeColsRational(), and SoPlex::removeColsReal().
const Rational & lowerRational | ( | int | i | ) | const |
returns lower bound of column i
Definition at line 1313 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::lower().
Real lowerReal | ( | int | i | ) | const |
returns lower bound of column i
Definition at line 1052 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::lowerUnscaled().
Referenced by SoPlex::_changeUpperReal(), SoPlex::_transformFeasibility(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::basisColStatus(), and SoPlex::getBasis().
const VectorReal & lowerRealInternal | ( | ) | const |
returns lower bound vector
Definition at line 1043 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::lower().
Referenced by SoPlex::readBasisFile().
Rational maxAbsNonzeroRational | ( | ) | const |
returns biggest non-zero element in absolute value
Definition at line 1178 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::maxAbsNzo().
Real maxAbsNonzeroReal | ( | ) | const |
returns biggest non-zero element in absolute value
Definition at line 886 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::maxAbsNzo().
const VectorRational & maxObjRational | ( | ) | const |
returns objective function vector after transformation to a maximization problem; since this is how it is stored internally, this is generally faster
Definition at line 1352 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::maxObj().
Referenced by SoPlex::addColRational(), and SoPlex::getObjRational().
const Rational & maxObjRational | ( | int | i | ) | const |
returns objective value of column i
after transformation to a maximization problem; since this is how it is stored internally, this is generally faster
Definition at line 1362 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::maxObj().
Real maxObjReal | ( | int | i | ) | const |
returns objective value of column i
after transformation to a maximization problem; since this is how it is stored internally, this is generally faster
Definition at line 1100 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::maxObjUnscaled().
const VectorReal & maxObjRealInternal | ( | ) | const |
returns objective function vector after transformation to a maximization problem; since this is how it is stored internally, this is generally faster
Definition at line 1090 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::maxObj().
Rational minAbsNonzeroRational | ( | ) | const |
returns smallest non-zero element in absolute value
Definition at line 1169 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::minAbsNzo().
Real minAbsNonzeroReal | ( | ) | const |
returns smallest non-zero element in absolute value
Definition at line 877 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::minAbsNzo().
bool multBasis | ( | Real * | vec, |
bool | unscale = true |
||
) |
multiply with basis matrix; B * vec
(inplace)
multiply with basis matrix; B * vec (inplace)
vec | (dense) vector to be multiplied with |
unscale | determines whether the result should be unscaled according to the original LP data |
Definition at line 4857 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_scaler, SoPlex::_solver, DSVectorBase< R >::add(), SPxBasis::baseId(), SPxSolver::basis(), SVectorBase< R >::clear(), SPxSolver::COLUMN, SPxLPBase< R >::colVector(), SoPlex::getBasisInd(), SPxScaler::getColScaleExp(), SPxLPBase< R >::getColVectorUnscaled(), SPxScaler::getRowScaleExp(), SoPlex::hasBasis(), SPxSolver::isColBasic(), soplex::isNotZero(), SPxSolver::isRowBasic(), SPxLPBase< R >::isScaled(), SPxId::isSPxColId(), SPxBasis::multBaseWith(), SPxLPBase< R >::number(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::rep(), soplex::spx_alloc(), soplex::spx_free(), and soplex::spxLdexp().
Referenced by SoPlex::_checkBasisScaling(), and SoPlex::ignoreUnscaledViolations().
bool multBasisTranspose | ( | Real * | vec, |
bool | unscale = true |
||
) |
multiply with transpose of basis matrix; vec
* B^T (inplace)
multiply with transpose of basis matrix; vec * B^T (inplace)
vec | (dense) vector to be multiplied with |
unscale | determines whether the result should be unscaled according to the original LP data |
Definition at line 4972 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_scaler, SoPlex::_solver, DSVectorBase< R >::add(), SPxBasis::baseId(), SPxSolver::basis(), SPxSolver::COLUMN, SPxLPBase< R >::colVector(), SoPlex::getBasisInd(), SPxScaler::getColScaleExp(), SPxLPBase< R >::getColVectorUnscaled(), SPxScaler::getRowScaleExp(), SoPlex::hasBasis(), SPxSolver::isColBasic(), soplex::isNotZero(), SPxSolver::isRowBasic(), SPxLPBase< R >::isScaled(), SPxId::isSPxColId(), SPxBasis::multWithBase(), SPxLPBase< R >::number(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::rep(), soplex::spx_alloc(), soplex::spx_free(), and soplex::spxLdexp().
Referenced by SoPlex::_checkBasisScaling(), and SoPlex::ignoreUnscaledViolations().
int numColsRational | ( | ) | const |
returns number of columns
Definition at line 1151 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::nCols().
Referenced by SoPlex::_completeRangeTypesRational(), SoPlex::_computeBasisInverseRational(), SoPlex::_computeInfeasBox(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_project(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_reconstructSolutionRational(), SoPlex::_solveRealForRational(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::addColRational(), SoPlex::changeBoundsRational(), SoPlex::changeBoundsReal(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SoPlex::getBoundViolationRational(), SoPlex::getDualViolationRational(), SoPlex::getPrimalRational(), SoPlex::getPrimalRayRational(), SoPlex::getRedCostRational(), SoPlex::getRedCostViolationRational(), SoPlex::getRowViolationRational(), printPrimalSolution(), SoPlex::removeColRangeRational(), SoPlex::removeColsRational(), and SoPlex::removeColsReal().
int numColsReal | ( | ) | const |
returns number of columns
Definition at line 859 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::nCols().
Referenced by SoPlex::_changeBoundsReal(), SoPlex::_changeLowerReal(), SoPlex::_changeUpperReal(), SoPlex::_computeReducedProbObjCoeff(), SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_ensureRealLPLoaded(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_getZeroDualMultiplierIndices(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_optimizeRational(), SoPlex::_preprocessAndSolveReal(), SoPlex::_project(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_removeColsReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::basisColStatus(), SoPlex::getBasis(), SoPlex::getBasisInd(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getBoundViolationReal(), SoPlex::getPrimalRayReal(), SoPlex::getPrimalReal(), SoPlex::getRedCostReal(), SoPlex::getRedCostViolationRational(), SoPlex::getRedCostViolationReal(), SoPlex::getRowViolationReal(), main(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), printDualSolution(), printPrimalSolution(), SoPlex::readBasisFile(), SoPlex::removeColRangeReal(), SoPlex::removeColsReal(), and SoPlex::setBasis().
int numIterations | ( | ) | const |
number of iterations since last call to solve
Definition at line 5249 of file soplex.cpp.
References SoPlex::_statistics, and SoPlex::Statistics::iterations.
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::statisticString().
int numNonzerosRational | ( | ) | const |
returns number of nonzeros
Definition at line 1160 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::nNzos().
int numNonzerosReal | ( | ) | const |
returns number of nonzeros
Definition at line 868 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::nNzos().
Referenced by main().
int numRowsRational | ( | ) | const |
returns number of rows
Definition at line 1142 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::nRows().
Referenced by SoPlex::_completeRangeTypesRational(), SoPlex::_computeBasisInverseRational(), SoPlex::_computeInfeasBox(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_reconstructSolutionRational(), SoPlex::_solveRealForRational(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::addRowRational(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SoPlex::changeRangeRational(), SoPlex::changeRangeReal(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SoPlex::computeBasisInverseRational(), SoPlex::getBasisIndRational(), SoPlex::getBasisInverseColRational(), SoPlex::getBasisInverseRowRational(), SoPlex::getBasisInverseTimesVecRational(), SoPlex::getDualFarkasRational(), SoPlex::getDualRational(), SoPlex::getDualViolationRational(), SoPlex::getRowViolationRational(), SoPlex::getSlacksRational(), printDualSolution(), SoPlex::removeRowRangeRational(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
int numRowsReal | ( | ) | const |
returns number of rows
Definition at line 850 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::nRows().
Referenced by SoPlex::_changeLhsReal(), SoPlex::_changeRangeReal(), SoPlex::_changeRhsReal(), SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_ensureRealLPLoaded(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_isConsistent(), SoPlex::_optimizeRational(), SoPlex::_preprocessAndSolveReal(), SoPlex::_project(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_removeRowsReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::basisRowStatus(), SoPlex::getBasis(), SoPlex::getBasisInd(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getDualFarkasReal(), SoPlex::getDualReal(), SoPlex::getDualViolationRational(), SoPlex::getDualViolationReal(), SoPlex::getRowViolationReal(), SoPlex::getSlacksReal(), main(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), printDualSolution(), SoPlex::readBasisFile(), SoPlex::removeRowRangeReal(), SoPlex::removeRowsReal(), and SoPlex::setBasis().
Rational objRational | ( | int | i | ) | const |
returns objective value of column i
Definition at line 1342 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::obj().
Referenced by SoPlex::_factorizeColumnRational(), and SoPlex::changeObjRational().
Real objReal | ( | int | i | ) | const |
returns objective value of column i
Definition at line 1080 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::objUnscaled().
Referenced by SoPlex::_storeSolutionRealFromPresol().
Rational objValueRational | ( | ) |
returns the objective value if a primal solution is available
returns the objective value if a primal or dual solution is available
Definition at line 3377 of file soplex.cpp.
References SolBase< R >::_objVal, SoPlex::_rationalNegInfty, SoPlex::_rationalPosInfty, SoPlex::_rationalZero, SoPlex::_solRational, SoPlex::_syncRationalSolution(), SoPlex::hasDual(), SoPlex::hasPrimal(), SPxSolver::INFEASIBLE, SoPlex::intParam(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::OBJSENSE_MINIMIZE, SoPlex::status(), and SPxSolver::UNBOUNDED.
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
Real objValueReal | ( | ) |
returns the objective value if a primal solution is available
returns the objective value if a primal or dual solution is available
Definition at line 3057 of file soplex.cpp.
References SolBase< R >::_objVal, SoPlex::_solReal, SoPlex::_syncRealSolution(), SoPlex::hasDual(), SoPlex::hasPrimal(), SPxSolver::INFEASIBLE, SoPlex::INFTY, SoPlex::intParam(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::OBJSENSE_MINIMIZE, SoPlex::realParam(), SoPlex::status(), and SPxSolver::UNBOUNDED.
Referenced by SoPlex::ignoreUnscaledViolations(), main(), SoPlex::printShortStatistics(), SoPlex::printSolutionStatistics(), and Validation::validateSolveReal().
assignment operator
Definition at line 673 of file soplex.cpp.
References SoPlex::_applyPolishing, SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_currentSettings, SoPlex::_hasBasis, SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_isConsistent(), SoPlex::_isRealLPLoaded, SoPlex::_isRealLPScaled, SoPlex::_lastSolveMode, SoPlex::_pricerAuto, SoPlex::_pricerDantzig, SoPlex::_pricerDevex, SoPlex::_pricerParMult, SoPlex::_pricerQuickSteep, SoPlex::_pricerSteep, SoPlex::_rationalLP, SoPlex::_rationalLUSolver, SoPlex::_rationalNegone, SoPlex::_rationalPosone, SoPlex::_rationalZero, SoPlex::_ratiotesterBoundFlipping, SoPlex::_ratiotesterFast, SoPlex::_ratiotesterHarris, SoPlex::_ratiotesterTextbook, SoPlex::_realLP, SoPlex::_scalerBiequi, SoPlex::_scalerGeo1, SoPlex::_scalerGeo8, SoPlex::_scalerGeoequi, SoPlex::_scalerLeastsq, SoPlex::_scalerUniequi, SoPlex::_simplifierMainSM, SoPlex::_slufactor, SoPlex::_solRational, SoPlex::_solReal, SoPlex::_solver, SoPlex::_starterSum, SoPlex::_starterVector, SoPlex::_starterWeight, SoPlex::_statistics, SoPlex::_status, SoPlex::intParam(), SLinSolverRational::OK, SoPlex::SCALER, SPxSolver::setBasisSolver(), SoPlex::setIntParam(), SPxScaler::setOutstream(), SPxSolver::setOutstream(), SoPlex::SIMPLIFIER, soplex::spx_alloc(), SoPlex::spxout, SoPlex::STARTER, SLUFactorRational::status(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_ONLYREAL.
SPxSolver::Status optimize | ( | ) |
optimize the given LP
solves the LP
Definition at line 2902 of file soplex.cpp.
References SoPlex::_checkBasisScaling(), SoPlex::_currentSettings, SoPlex::_invalidateSolution(), SoPlex::_isConsistent(), SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solver, SoPlex::_statistics, SoPlex::_syncLPRational(), SoPlex::ALGORITHM, SoPlex::ALGORITHM_DUAL, SoPlex::areLPsInSync(), SoPlex::boolParam(), SoPlex::Statistics::clearSolvingData(), SoPlex::COMPUTEDEGEN, SoPlex::FEASTOL, SoPlex::FPFEASTOL, SoPlex::FPOPTTOL, soplex::GE(), SPxOut::getStream(), SPxOut::INFO1, SoPlex::intParam(), SoPlex::Settings::RealParam::lower, MSG_INFO1, MSG_WARNING, SoPlex::OPTTOL, SoPlex::printShortStatistics(), SoPlex::Settings::realParam, SoPlex::realParam(), SoPlex::REPRESENTATION, SoPlex::REPRESENTATION_ROW, SPxSolver::setComputeDegenFlag(), SPxSolver::setFeastol(), SoPlex::setIntParam(), SPxSolver::setOpttol(), SoPlex::SOLVEMODE, SoPlex::SOLVEMODE_AUTO, SoPlex::SOLVEMODE_REAL, SoPlex::spxout, SoPlex::status(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_MANUAL, SoPlex::SYNCMODE_ONLYREAL, and SoPlex::USEDECOMPDUALSIMPLEX.
Referenced by main(), and SoPlex::solve().
bool parseSettingsString | ( | char * | line | ) |
parses one setting string and returns true on success; note that string is modified
parses one setting string and returns true on success
Definition at line 6776 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::Settings::boolParam, SoPlex::BOOLPARAM_COUNT, SoPlex::Settings::intParam, SoPlex::INTPARAM_COUNT, MSG_INFO1, MSG_WARNING, SoPlex::Settings::BoolParam::name, SoPlex::Settings::IntParam::name, SoPlex::Settings::RealParam::name, soplex::readStringRational(), SoPlex::Settings::realParam, SoPlex::REALPARAM_COUNT, SET_MAX_LINE_LEN, SoPlex::setBoolParam(), SoPlex::setIntParam(), SoPlex::setRandomSeed(), SoPlex::setRealParam(), SoPlex::spxout, and soplex::spxSnprintf().
Referenced by main().
|
private |
prints a display line of the flying table for the DBDS
print display line of flying table
Definition at line 3576 of file solvedbds.cpp.
References SoPlex::_decompDisplayLine, SoPlex::_statistics, SoPlex::Statistics::callsReducedProb, SoPlex::DECOMP_DISPLAYFREQ, SPxOut::getVerbosity(), SoPlex::intParam(), SoPlex::Statistics::iterations, SoPlex::Statistics::iterationsRedProb, SPxSolver::LEAVE, MSG_INFO1, SPxLPBase< R >::nCols(), SoPlex::numIncludedRows, SPxLPBase< R >::objOffset(), SPxOut::setVerbosity(), SPxSolver::shift(), SoPlex::Statistics::solvingTime, SoPlex::spxout, Timer::time(), SPxSolver::type(), and SPxSolver::value().
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
stores the problem statistics of the original problem
Definition at line 3700 of file solvedbds.cpp.
References SoPlex::maxAbsNonzero, SoPlex::minAbsNonzero, SoPlex::numNonzeros, SoPlex::numProbCols, SoPlex::numProbRows, SoPlex::origCountBoxed, SoPlex::origCountEqual, SoPlex::origCountFreeCol, SoPlex::origCountFreeRow, SoPlex::origCountLhs, SoPlex::origCountLower, SoPlex::origCountRanged, SoPlex::origCountRhs, and SoPlex::origCountUpper.
Referenced by SoPlex::printStatistics().
void printShortStatistics | ( | std::ostream & | os | ) |
prints short statistics
Definition at line 7185 of file soplex.cpp.
References SoPlex::_statistics, SoPlex::_status, SoPlex::Statistics::iterations, SoPlex::objValueReal(), SoPlex::printStatus(), SPxOut::setFixed(), SPxOut::setScientific(), SoPlex::Statistics::solvingTime, and Timer::time().
Referenced by SoPlex::optimize().
void printSolutionStatistics | ( | std::ostream & | os | ) |
prints solution statistics
Definition at line 7082 of file soplex.cpp.
References SoPlex::_lastSolveMode, SoPlex::CHECKMODE, SoPlex::CHECKMODE_AUTO, SoPlex::CHECKMODE_RATIONAL, SoPlex::dlcmSizeDualRational(), SoPlex::dlcmSizePrimalRational(), SoPlex::dmaxSizeDualRational(), SoPlex::dmaxSizePrimalRational(), SoPlex::getBoundViolationRational(), SoPlex::getBoundViolationReal(), SoPlex::getDualViolationRational(), SoPlex::getDualViolationReal(), SoPlex::getRedCostViolationRational(), SoPlex::getRedCostViolationReal(), SoPlex::getRowViolationRational(), SoPlex::getRowViolationReal(), SoPlex::intParam(), SoPlex::objValueRational(), SoPlex::objValueReal(), soplex::rationalToString(), SoPlex::READMODE, SoPlex::READMODE_RATIONAL, SPxOut::setScientific(), SoPlex::SOLVEMODE_RATIONAL, SoPlex::SOLVEMODE_REAL, SoPlex::totalSizeDualRational(), and SoPlex::totalSizePrimalRational().
Referenced by SoPlex::printStatistics().
void printSolvingStatistics | ( | std::ostream & | os | ) |
prints statistics on solving process
Definition at line 7176 of file soplex.cpp.
References SoPlex::_statistics, and SoPlex::Statistics::print().
Referenced by SoPlex::printStatistics().
void printStatistics | ( | std::ostream & | os | ) |
prints complete statistics
Definition at line 7198 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_status, SoPlex::boolParam(), SoPlex::intParam(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SoPlex::printOriginalProblemStatistics(), SPxLPBase< R >::printProblemStatistics(), SoPlex::printSolutionStatistics(), SoPlex::printSolvingStatistics(), SoPlex::printStatus(), SoPlex::READMODE, SoPlex::READMODE_REAL, SPxOut::setFixed(), and SoPlex::USEDECOMPDUALSIMPLEX.
Referenced by main().
void printStatus | ( | std::ostream & | os, |
SPxSolver::Status | status | ||
) |
prints status
Definition at line 7223 of file soplex.cpp.
References SPxSolver::ABORT_CYCLING, SPxSolver::ABORT_ITER, SPxSolver::ABORT_TIME, SPxSolver::ABORT_VALUE, SPxSolver::ERROR, SPxSolver::INFEASIBLE, SPxSolver::INForUNBD, SPxSolver::NO_PRICER, SPxSolver::NO_PROBLEM, SPxSolver::NO_RATIOTESTER, SPxSolver::NO_SOLVER, SPxSolver::NOT_INIT, SPxSolver::OPTIMAL, SPxSolver::OPTIMAL_UNSCALED_VIOLATIONS, SPxSolver::REGULAR, SPxSolver::SINGULAR, SPxSolver::UNBOUNDED, and SPxSolver::UNKNOWN.
Referenced by SoPlex::printShortStatistics(), and SoPlex::printStatistics().
void printUserSettings | ( | ) |
print non-default parameter values
Definition at line 6559 of file soplex.cpp.
References SoPlex::Settings::_boolParamValues, SoPlex::_currentSettings, SoPlex::Settings::_intParamValues, SoPlex::Settings::_realParamValues, SoPlex::_solver, SoPlex::Settings::boolParam, SoPlex::BOOLPARAM_COUNT, DEFAULT_RANDOM_SEED, SoPlex::Settings::BoolParam::defaultValue, SoPlex::Settings::IntParam::defaultValue, SoPlex::Settings::RealParam::defaultValue, SPxOut::getCurrentStream(), Random::getSeed(), SoPlex::Settings::intParam, SoPlex::INTPARAM_COUNT, SoPlex::Settings::BoolParam::name, SoPlex::Settings::IntParam::name, SoPlex::Settings::RealParam::name, SPxSolver::random, SoPlex::Settings::realParam, SoPlex::REALPARAM_COUNT, SPxOut::setFixed(), SPxOut::setScientific(), and SoPlex::spxout.
Referenced by main().
void printVersion | ( | ) | const |
prints version and compilation options
Definition at line 7309 of file soplex.cpp.
References soplex::getGitHash(), MSG_INFO1, SOPLEX_SUBVERSION, SOPLEX_VERSION, and SoPlex::spxout.
Referenced by main().
unsigned int randomSeed | ( | ) | const |
returns the current random seed of the solver instance
returns the current random seed of the solver instance or the one stored in the settings
Definition at line 7647 of file soplex.cpp.
References SoPlex::_solver, Random::getSeed(), and SPxSolver::random.
bool readBasisFile | ( | const char * | filename, |
const NameSet * | rowNames = 0 , |
||
const NameSet * | colNames = 0 |
||
) |
reads basis information from filename
and returns true on success; if rowNames
and colNames
are NULL
, default names are assumed; returns true on success
Definition at line 5415 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_rowTypes, SoPlex::_solver, SoPlex::_statistics, NameSet::add(), SPxSolver::BASIC, SPxSolver::basis(), SoPlex::clearBasis(), MPSInput::ENDATA, MPSInput::field0(), MPSInput::field1(), MPSInput::field2(), MPSInput::field3(), SPxSolver::FIXED, MPSInput::hasError(), SoPlex::INFTY, SPxSolver::loadLP(), SoPlex::lowerRealInternal(), SPxBasis::NO_PROBLEM, NameSet::number(), SoPlex::numColsReal(), SoPlex::numRowsReal(), SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SoPlex::RANGETYPE_FIXED, SoPlex::RANGETYPE_LOWER, SoPlex::RANGETYPE_UPPER, SPxSolver::readBasisFile(), SoPlex::Statistics::readingTime, MPSInput::readLine(), SoPlex::realParam(), NameSet::reMax(), DataArray< T >::reSize(), MPSInput::setSection(), soplex::spx_alloc(), soplex::spx_free(), Timer::start(), SPxBasis::status(), Timer::stop(), MPSInput::syntaxError(), SoPlex::upperRealInternal(), SPxSolver::ZERO, and NameSet::~NameSet().
Referenced by SoPlex::ignoreUnscaledViolations(), and main().
bool readFile | ( | const char * | filename, |
NameSet * | rowNames = 0 , |
||
NameSet * | colNames = 0 , |
||
DIdxSet * | intVars = 0 |
||
) |
reads LP file in LP or MPS format according to READMODE parameter; gets row names, column names, and integer variables if desired; returns true on success
Definition at line 5333 of file soplex.cpp.
References SoPlex::_colNames, SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::_rowNames, SoPlex::intParam(), SoPlex::READMODE, and SoPlex::READMODE_REAL.
Referenced by SoPlex::ignoreUnscaledViolations(), and main().
returns real parameter value
Definition at line 5785 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::Settings::_realParamValues, and SoPlex::REALPARAM_COUNT.
Referenced by SoPlex::_addColReal(), SoPlex::_addColsReal(), SoPlex::_changeBoundsReal(), SoPlex::_changeColReal(), SoPlex::_changeLhsReal(), SoPlex::_changeLowerReal(), SoPlex::_changeRangeReal(), SoPlex::_changeRhsReal(), SoPlex::_changeRowReal(), SoPlex::_changeUpperReal(), SoPlex::_computeBasisInverseRational(), SoPlex::_computeReducedProbObjCoeff(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_enableSimplifierAndScaler(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_evaluateSolutionReal(), SoPlex::_factorizeColumnRational(), SoPlex::_findViolatedRows(), SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_getZeroDualMultiplierIndices(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_isSolveStopped(), SoPlex::_lift(), SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_project(), SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_solveRealStable(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::areLPsInSync(), SoPlex::basisColStatus(), SoPlex::checkBasisDualFeasibility(), checkSolutionRational(), checkSolutionReal(), SoPlex::getBasis(), SoPlex::getDecompBoundViolation(), SoPlex::getDecompRowViolation(), SoPlex::getOriginalProblemBasisColStatus(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::objValueReal(), SoPlex::optimize(), SoPlex::readBasisFile(), SoPlex::setRealParam(), and Validation::validateSolveReal().
void removeColRangeRational | ( | int | start, |
int | end, | ||
int | perm[] = 0 |
||
) |
removes columns start
to end
including both; an array perm
of size numColsRational() may be passed as buffer memory
Definition at line 2849 of file soplex.cpp.
References SoPlex::_rangeToPerm(), DataArray< T >::get_ptr(), SoPlex::numColsRational(), and SoPlex::removeColsRational().
void removeColRangeReal | ( | int | start, |
int | end, | ||
int | perm[] = 0 |
||
) |
removes columns start
to end
including both; an array perm
of size numColsReal() may be passed as buffer memory
Definition at line 1933 of file soplex.cpp.
References SoPlex::_rangeToPerm(), DataArray< T >::get_ptr(), SoPlex::numColsReal(), and SoPlex::removeColsReal().
void removeColRational | ( | int | i | ) |
removes column i
Definition at line 2768 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_removeColReal(), SoPlex::intParam(), SoPlex::lowerRational(), SPxLPBase< R >::nCols(), SPxLPBase< R >::removeCol(), DataArray< T >::reSize(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, and SoPlex::upperRational().
void removeColReal | ( | int | i | ) |
removes column i
Definition at line 1854 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_removeColReal(), SoPlex::intParam(), SoPlex::lowerRational(), SPxLPBase< R >::nCols(), SPxLPBase< R >::removeCol(), DataArray< T >::reSize(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::upperRational().
void removeColsRational | ( | int | perm[] | ) |
removes all columns with an index i
such that perm
[i] < 0; upon completion, perm
[i] >= 0 indicates the new index where column i
has been moved to; note that perm
must point to an array of size at least numColsRational()
Definition at line 2797 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_removeColsReal(), SoPlex::intParam(), SoPlex::lowerRational(), SPxLPBase< R >::nCols(), SoPlex::numColsRational(), SPxLPBase< R >::removeCols(), DataArray< T >::reSize(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_ONLYREAL, and SoPlex::upperRational().
Referenced by SoPlex::removeColRangeRational(), and SoPlex::removeColsRational().
void removeColsRational | ( | int | idx[], |
int | n, | ||
int | perm[] = 0 |
||
) |
remove all columns with indices in array idx
of size n
; an array perm
of size numColsRational() may be passed as buffer memory
Definition at line 2830 of file soplex.cpp.
References SoPlex::_idxToPerm(), DataArray< T >::get_ptr(), SoPlex::numColsRational(), and SoPlex::removeColsRational().
void removeColsReal | ( | int | perm[] | ) |
removes all columns with an index i
such that perm
[i] < 0; upon completion, perm
[i] >= 0 indicates the new index where column i
has been moved to; note that perm
must point to an array of size at least numColsReal()
Definition at line 1882 of file soplex.cpp.
References SoPlex::_colTypes, SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_removeColsReal(), SoPlex::intParam(), SoPlex::lowerRational(), SPxLPBase< R >::nCols(), SoPlex::numColsRational(), SoPlex::numColsReal(), SPxLPBase< R >::removeCols(), DataArray< T >::reSize(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::upperRational().
Referenced by SoPlex::removeColRangeReal(), and SoPlex::removeColsReal().
void removeColsReal | ( | int | idx[], |
int | n, | ||
int | perm[] = 0 |
||
) |
remove all columns with indices in array idx
of size n
; an array perm
of size numColsReal() may be passed as buffer memory
Definition at line 1914 of file soplex.cpp.
References SoPlex::_idxToPerm(), DataArray< T >::get_ptr(), SoPlex::numColsReal(), and SoPlex::removeColsReal().
void removeRowRangeRational | ( | int | start, |
int | end, | ||
int | perm[] = 0 |
||
) |
removes rows start
to end
including both; an array perm
of size numRowsRational() may be passed as buffer memory
Definition at line 2750 of file soplex.cpp.
References SoPlex::_rangeToPerm(), DataArray< T >::get_ptr(), SoPlex::numRowsRational(), and SoPlex::removeRowsRational().
void removeRowRangeReal | ( | int | start, |
int | end, | ||
int | perm[] = 0 |
||
) |
removes rows start
to end
including both; an array perm
of size numRowsReal() may be passed as buffer memory
Definition at line 1836 of file soplex.cpp.
References SoPlex::_rangeToPerm(), DataArray< T >::get_ptr(), SoPlex::numRowsReal(), and SoPlex::removeRowsReal().
void removeRowRational | ( | int | i | ) |
removes row i
Definition at line 2668 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_removeRowReal(), SoPlex::_rowTypes, SoPlex::intParam(), SoPlex::lhsRational(), SPxLPBase< R >::nRows(), SPxLPBase< R >::removeRow(), DataArray< T >::reSize(), SoPlex::rhsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
void removeRowReal | ( | int | i | ) |
removes row i
Definition at line 1757 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_removeRowReal(), SoPlex::_rowTypes, SoPlex::intParam(), SoPlex::lhsRational(), SPxLPBase< R >::nRows(), SPxLPBase< R >::removeRow(), DataArray< T >::reSize(), SoPlex::rhsRational(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
void removeRowsRational | ( | int | perm[] | ) |
removes all rows with an index i
such that perm
[i] < 0; upon completion, perm
[i] >= 0 indicates the new index where row i
has been moved to; note that perm
must point to an array of size at least numRowsRational()
Definition at line 2697 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_removeRowsReal(), SoPlex::_rowTypes, SoPlex::intParam(), SoPlex::lhsRational(), SPxLPBase< R >::nRows(), SoPlex::numRowsRational(), SPxLPBase< R >::removeRows(), DataArray< T >::reSize(), SoPlex::rhsRational(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, and SoPlex::SYNCMODE_ONLYREAL.
Referenced by SoPlex::removeRowRangeRational(), and SoPlex::removeRowsRational().
void removeRowsRational | ( | int | idx[], |
int | n, | ||
int | perm[] = 0 |
||
) |
remove all rows with indices in array idx
of size n
; an array perm
of size numRowsRational() may be passed as buffer memory
Definition at line 2731 of file soplex.cpp.
References SoPlex::_idxToPerm(), DataArray< T >::get_ptr(), SoPlex::numRowsRational(), and SoPlex::removeRowsRational().
void removeRowsReal | ( | int | perm[] | ) |
removes all rows with an index i
such that perm
[i] < 0; upon completion, perm
[i] >= 0 indicates the new index where row i
has been moved to; note that perm
must point to an array of size at least numRowsReal()
Definition at line 1785 of file soplex.cpp.
References SoPlex::_invalidateSolution(), SoPlex::_rangeTypeRational(), SoPlex::_rationalLP, SoPlex::_realLP, SoPlex::_removeRowsReal(), SoPlex::_rowTypes, SoPlex::intParam(), SoPlex::lhsRational(), SPxLPBase< R >::nRows(), SoPlex::numRowsRational(), SoPlex::numRowsReal(), SPxLPBase< R >::removeRows(), DataArray< T >::reSize(), SoPlex::rhsRational(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_AUTO.
Referenced by SoPlex::removeRowRangeReal(), and SoPlex::removeRowsReal().
void removeRowsReal | ( | int | idx[], |
int | n, | ||
int | perm[] = 0 |
||
) |
remove all rows with indices in array idx
of size n
; an array perm
of size numRowsReal() may be passed as buffer memory
Definition at line 1817 of file soplex.cpp.
References SoPlex::_idxToPerm(), DataArray< T >::get_ptr(), SoPlex::numRowsReal(), and SoPlex::removeRowsReal().
void resetSettings | ( | const bool | quiet = false , |
const bool | init = true |
||
) |
resets default parameter settings
Definition at line 6537 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::Settings::boolParam, SoPlex::BOOLPARAM_COUNT, SoPlex::Settings::BoolParam::defaultValue, SoPlex::Settings::IntParam::defaultValue, SoPlex::Settings::RealParam::defaultValue, SoPlex::Settings::intParam, SoPlex::INTPARAM_COUNT, SoPlex::Settings::realParam, SoPlex::REALPARAM_COUNT, SoPlex::setBoolParam(), SoPlex::setIntParam(), and SoPlex::setRealParam().
const VectorRational & rhsRational | ( | ) | const |
returns right-hand side vector
Definition at line 1214 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::rhs().
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_factorizeColumnRational(), SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::addRowRational(), SoPlex::changeRangeRational(), SoPlex::changeRhsRational(), SoPlex::getDualViolationRational(), SoPlex::getRowViolationRational(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
const Rational & rhsRational | ( | int | i | ) | const |
returns right-hand side of row i
Definition at line 1223 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::rhs().
Real rhsReal | ( | int | i | ) | const |
returns right-hand side of row i
Definition at line 953 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::rhsUnscaled().
Referenced by SoPlex::_changeLhsReal(), SoPlex::_transformFeasibility(), SoPlex::_untransformFeasibility(), and SoPlex::_untransformUnbounded().
const VectorReal & rhsRealInternal | ( | ) | const |
returns right-hand side vector, ignoring scaling
Definition at line 935 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::rhs().
LPRowRational::Type rowTypeRational | ( | int | i | ) | const |
returns inequality type of row i
Definition at line 1250 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::rowType().
LPRowReal::Type rowTypeReal | ( | int | i | ) | const |
returns inequality type of row i
Definition at line 989 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::rowType().
const SVectorRational & rowVectorRational | ( | int | i | ) | const |
returns vector of row i
Definition at line 1205 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::rowVector().
const SVectorReal & rowVectorRealInternal | ( | int | i | ) | const |
returns vector of row i
, ignoring scaling
Definition at line 909 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::rowVector().
Referenced by SoPlex::getBasisInverseTimesVecReal().
bool saveSettingsFile | ( | const char * | filename, |
const bool | onlyChanged = false |
||
) | const |
writes settings file; returns true on success
Definition at line 6624 of file soplex.cpp.
References SoPlex::Settings::_boolParamValues, SoPlex::_currentSettings, SoPlex::Settings::_intParamValues, SoPlex::Settings::_realParamValues, SoPlex::_solver, SoPlex::Settings::boolParam, SoPlex::BOOLPARAM_COUNT, DEFAULT_RANDOM_SEED, SoPlex::Settings::BoolParam::defaultValue, SoPlex::Settings::IntParam::defaultValue, SoPlex::Settings::RealParam::defaultValue, SoPlex::Settings::BoolParam::description, SoPlex::Settings::IntParam::description, SoPlex::Settings::RealParam::description, Random::getSeed(), SoPlex::Settings::intParam, SoPlex::INTPARAM_COUNT, SoPlex::Settings::IntParam::lower, SoPlex::Settings::RealParam::lower, SoPlex::Settings::BoolParam::name, SoPlex::Settings::IntParam::name, SoPlex::Settings::RealParam::name, SPxSolver::random, SoPlex::Settings::realParam, SoPlex::REALPARAM_COUNT, SPxOut::setFixed(), SPxOut::setScientific(), SOPLEX_SUBVERSION, SOPLEX_VERSION, SoPlex::Settings::IntParam::upper, and SoPlex::Settings::RealParam::upper.
Referenced by main(), SoPlex::writeStateRational(), and SoPlex::writeStateReal().
void setBasis | ( | const SPxSolver::VarStatus | rows[], |
const SPxSolver::VarStatus | cols[] | ||
) |
sets starting basis via arrays of statuses
Definition at line 5208 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rationalLUSolver, SoPlex::_solver, SPxSolver::basis(), SLUFactorRational::clear(), SPxLPBase< R >::nCols(), SPxBasis::NO_PROBLEM, SPxLPBase< R >::nRows(), SoPlex::numColsReal(), SoPlex::numRowsReal(), DataArray< T >::reSize(), SPxSolver::setBasis(), and SPxBasis::status().
Referenced by SoPlex::ignoreUnscaledViolations().
bool setBoolParam | ( | const BoolParam | param, |
const bool | value, | ||
const bool | init = true |
||
) |
sets boolean parameter value; returns true on success
Definition at line 5815 of file soplex.cpp.
References SoPlex::Settings::_boolParamValues, SoPlex::_currentSettings, SoPlex::_isConsistent(), SoPlex::_ratiotesterBoundFlipping, SoPlex::_solver, SoPlex::ACCEPTCYCLING, SoPlex::boolParam(), SoPlex::BOOLPARAM_COUNT, SoPlex::COMPUTEDEGEN, SoPlex::ENSURERAY, SoPlex::EQTRANS, SoPlex::EXPLICITVIOL, SoPlex::FULLPERTURBATION, SoPlex::LIFTING, SoPlex::PERSISTENTSCALING, SoPlex::POWERSCALING, SoPlex::RATFAC, SoPlex::RATFACJUMP, SoPlex::RATREC, SoPlex::ROWBOUNDFLIPS, SoPlex::TESTDUALINF, SPxBoundFlippingRT::useBoundFlipsRow(), SoPlex::USECOMPDUAL, SoPlex::USEDECOMPDUALSIMPLEX, and SPxSolver::useFullPerturbation().
Referenced by SoPlex::_optimizeRational(), SoPlex::_parseSettingsLine(), SoPlex::parseSettingsString(), SoPlex::resetSettings(), and SoPlex::setSettings().
bool setDualNorms | ( | int | nnormsRow, |
int | nnormsCol, | ||
Real * | norms | ||
) |
sets steepest edge norms and returns false if that's not possible
Definition at line 1125 of file soplex.cpp.
References SoPlex::_solver, and SPxSolver::setDualNorms().
void setIntegralityInformation | ( | int | ncols, |
int * | intInfo | ||
) |
pass integrality information about the variables to the solver
Definition at line 1133 of file soplex.cpp.
References SoPlex::_solver, SPxLPBase< R >::nCols(), and SPxSolver::setIntegralityInformation().
bool setIntParam | ( | const IntParam | param, |
const int | value, | ||
const bool | init = true |
||
) |
sets integer parameter value; returns true on success
Definition at line 5887 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::_ensureRationalLP(), SoPlex::Settings::_intParamValues, SoPlex::_invalidateSolution(), SoPlex::_isConsistent(), SoPlex::_pricerAuto, SoPlex::_pricerDantzig, SoPlex::_pricerDevex, SoPlex::_pricerParMult, SoPlex::_pricerQuickSteep, SoPlex::_pricerSteep, SoPlex::_rationalLP, SoPlex::_ratiotesterBoundFlipping, SoPlex::_ratiotesterFast, SoPlex::_ratiotesterHarris, SoPlex::_ratiotesterTextbook, SoPlex::_realLP, SoPlex::_scaler, SoPlex::_scalerBiequi, SoPlex::_scalerGeo1, SoPlex::_scalerGeo8, SoPlex::_scalerGeoequi, SoPlex::_scalerLeastsq, SoPlex::_scalerUniequi, SoPlex::_simplifier, SoPlex::_simplifierMainSM, SoPlex::_slufactor, SoPlex::_solver, SoPlex::_starter, SoPlex::_starterSum, SoPlex::_starterVector, SoPlex::_starterWeight, SoPlex::_syncLPRational(), SoPlex::ALGORITHM, SPxSolver::basis(), SPxLPBase< R >::changeSense(), SoPlex::CHECKMODE, SoPlex::CHECKMODE_AUTO, SoPlex::CHECKMODE_RATIONAL, SoPlex::CHECKMODE_REAL, SPxOut::DEBUG, SoPlex::DECOMP_DISPLAYFREQ, SoPlex::DECOMP_ITERLIMIT, SoPlex::DECOMP_MAXADDEDROWS, SoPlex::DECOMP_VERBOSITY, DEFAULT_REFACTOR_INTERVAL, SoPlex::DISPLAYFREQ, SPxOut::ERROR, SLUFactor::ETA, SoPlex::FACTOR_UPDATE_MAX, SoPlex::FACTOR_UPDATE_TYPE, SoPlex::FACTOR_UPDATE_TYPE_ETA, SoPlex::FACTOR_UPDATE_TYPE_FT, SLUFactor::FOREST_TOMLIN, SoPlex::HYPER_PRICING, SoPlex::HYPER_PRICING_AUTO, SoPlex::HYPER_PRICING_OFF, SoPlex::HYPER_PRICING_ON, SPxOut::INFO1, SPxOut::INFO2, SPxOut::INFO3, SoPlex::Settings::intParam, SoPlex::intParam(), SoPlex::INTPARAM_COUNT, SoPlex::ITERLIMIT, SoPlex::LEASTSQ_MAXROUNDS, SPxLPBase< Real >::MAXIMIZE, SPxLPBase< R >::MAXIMIZE, SPxLPBase< R >::MINIMIZE, SPxLPBase< Real >::MINIMIZE, SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::OBJSENSE_MINIMIZE, Timer::OFF, SPxSolver::POLISH_FRACTIONALITY, SPxSolver::POLISH_INTEGRALITY, SPxSolver::POLISH_OFF, SoPlex::POLISHING_FRACTIONALITY, SoPlex::POLISHING_INTEGRALITY, SoPlex::POLISHING_OFF, SoPlex::PRICER, SoPlex::PRICER_AUTO, SoPlex::PRICER_DANTZIG, SoPlex::PRICER_DEVEX, SoPlex::PRICER_PARMULT, SoPlex::PRICER_QUICKSTEEP, SoPlex::PRICER_STEEP, SoPlex::PRINTCONDITION, SoPlex::RATFAC_MINSTALLS, SoPlex::RATIOTESTER, SoPlex::RATIOTESTER_BOUNDFLIPPING, SoPlex::RATIOTESTER_FAST, SoPlex::RATIOTESTER_HARRIS, SoPlex::RATIOTESTER_TEXTBOOK, SoPlex::READMODE, SoPlex::READMODE_RATIONAL, SoPlex::READMODE_REAL, SoPlex::REFLIMIT, SoPlex::REPRESENTATION, SoPlex::REPRESENTATION_AUTO, SoPlex::REPRESENTATION_COLUMN, SoPlex::REPRESENTATION_ROW, SoPlex::SCALER, SoPlex::SCALER_BIEQUI, SoPlex::SCALER_GEO1, SoPlex::SCALER_GEO8, SoPlex::SCALER_GEOEQUI, SoPlex::SCALER_LEASTSQ, SoPlex::SCALER_OFF, SoPlex::SCALER_UNIEQUI, SPxSolver::setConditionInformation(), SPxSolver::setDisplayFreq(), SPxScaler::setIntParam(), SPxBasis::setMaxUpdates(), SPxSolver::setPricer(), SPxSolver::setSolutionPolishing(), SPxSolver::setTester(), SPxSolver::setTiming(), SLUFactor::setUtype(), SPxOut::setVerbosity(), SoPlex::SIMPLIFIER, SoPlex::SIMPLIFIER_AUTO, SoPlex::SIMPLIFIER_OFF, SoPlex::SOLUTION_POLISHING, SoPlex::SOLVEMODE, SoPlex::SOLVEMODE_AUTO, SoPlex::SOLVEMODE_RATIONAL, SoPlex::SOLVEMODE_REAL, soplex::spx_free(), SoPlex::spxout, SoPlex::STALLREFLIMIT, SoPlex::STARTER, SoPlex::STARTER_OFF, SoPlex::STARTER_SUM, SoPlex::STARTER_VECTOR, SoPlex::STARTER_WEIGHT, SoPlex::SYNCMODE, SoPlex::SYNCMODE_AUTO, SoPlex::SYNCMODE_MANUAL, SoPlex::SYNCMODE_ONLYREAL, SoPlex::TIMER, SoPlex::TIMER_CPU, SoPlex::TIMER_OFF, SoPlex::TIMER_WALLCLOCK, SoPlex::Settings::IntParam::upper, Timer::USER_TIME, SoPlex::VERBOSITY, Timer::WALLCLOCK_TIME, and SPxOut::WARNING.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_optimizeRational(), SoPlex::_parseSettingsLine(), SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::_solveRealStable(), main(), SoPlex::operator=(), SoPlex::optimize(), SoPlex::parseSettingsString(), SoPlex::resetSettings(), and SoPlex::setSettings().
void setRandomSeed | ( | unsigned int | seed | ) |
set the random seeds of the solver instance
set the random seed of the solver instance
Definition at line 7639 of file soplex.cpp.
References SoPlex::_solver, SPxSolver::random, and Random::setSeed().
Referenced by SoPlex::_parseSettingsLine(), and SoPlex::parseSettingsString().
sets real parameter value; returns true on success
Definition at line 6312 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::_isConsistent(), SoPlex::_rationalFeastol, SoPlex::_rationalLP, SoPlex::_rationalMaxscaleincr, SoPlex::_rationalNegInfty, SoPlex::_rationalOpttol, SoPlex::_rationalPosInfty, SoPlex::_realLP, SoPlex::Settings::_realParamValues, SoPlex::_recomputeRangeTypesRational(), SoPlex::_scaler, SPxLPBase< R >::changeObjOffset(), DEFAULT_EPS_PIVOT, SoPlex::EPSILON_FACTORIZATION, SoPlex::EPSILON_PIVOT, SoPlex::EPSILON_UPDATE, SoPlex::EPSILON_ZERO, SoPlex::FEASTOL, SoPlex::FPFEASTOL, SoPlex::FPOPTTOL, SoPlex::INFTY, SoPlex::intParam(), SoPlex::LEASTSQ_ACRCY, SoPlex::LIFTMAXVAL, SoPlex::LIFTMINVAL, SoPlex::MAXSCALEINCR, SoPlex::MINRED, MSG_WARNING, SoPlex::OBJ_OFFSET, SoPlex::OBJLIMIT_LOWER, SoPlex::OBJLIMIT_UPPER, SoPlex::OPTTOL, SoPlex::RATREC_FREQ, SoPlex::Settings::realParam, SoPlex::realParam(), SoPlex::REALPARAM_COUNT, SoPlex::REFAC_BASIS_NNZ, SoPlex::REFAC_MEM_FACTOR, SoPlex::REFAC_UPDATE_FILL, SoPlex::REPRESENTATION_SWITCH, Param::setEpsilon(), Param::setEpsilonFactorization(), Param::setEpsilonPivot(), Param::setEpsilonUpdate(), SPxScaler::setRealParam(), SoPlex::SPARSITY_THRESHOLD, SoPlex::spxout, SoPlex::SYNCMODE, SoPlex::SYNCMODE_ONLYREAL, SoPlex::TIMELIMIT, and SoPlex::Settings::RealParam::upper.
Referenced by SoPlex::_parseSettingsLine(), main(), SoPlex::parseSettingsString(), SoPlex::resetSettings(), and SoPlex::setSettings().
bool setSettings | ( | const Settings & | newSettings, |
const bool | init = true |
||
) |
sets parameter settings; returns true on success
Definition at line 6507 of file soplex.cpp.
References SoPlex::Settings::_boolParamValues, SoPlex::_currentSettings, SoPlex::Settings::_intParamValues, SoPlex::_isConsistent(), SoPlex::Settings::_realParamValues, SoPlex::BOOLPARAM_COUNT, SoPlex::INTPARAM_COUNT, SoPlex::REALPARAM_COUNT, SoPlex::setBoolParam(), SoPlex::setIntParam(), and SoPlex::setRealParam().
Referenced by SoPlex::SoPlex().
const SoPlex::Settings & settings | ( | ) | const |
returns current parameter settings
Definition at line 5807 of file soplex.cpp.
References SoPlex::_currentSettings.
Referenced by SoPlex::Settings::Settings().
SPxSolver::Status solve | ( | ) |
Definition at line 578 of file soplex.h.
References SoPlex::hasDual(), SoPlex::hasDualFarkas(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), SoPlex::isDualFeasible(), SoPlex::isPrimalFeasible(), SoPlex::optimize(), and SoPlex::status().
Real solveTime | ( | ) | const |
time spent in last call to solve
Definition at line 5257 of file soplex.cpp.
References SoPlex::_statistics, SoPlex::Statistics::solvingTime, and Timer::time().
Referenced by SoPlex::_formDecompReducedProblem(), SoPlex::ignoreUnscaledViolations(), and SoPlex::statisticString().
std::string statisticString | ( | ) | const |
statistical information in form of a string
Definition at line 5265 of file soplex.cpp.
References SoPlex::_statistics, SoPlex::Statistics::luFactorizationsReal, SoPlex::Statistics::luFactorizationTimeReal, SoPlex::Statistics::luSolvesReal, SoPlex::Statistics::luSolveTimeReal, SoPlex::numIterations(), and SoPlex::solveTime().
Referenced by SoPlex::ignoreUnscaledViolations().
SPxSolver::Status status | ( | void | ) | const |
returns the current solver status
Definition at line 2998 of file soplex.cpp.
References SoPlex::_status.
Referenced by SoPlex::_storeSolutionReal(), SoPlex::basisStatus(), SoPlex::objValueRational(), SoPlex::objValueReal(), SoPlex::optimize(), SoPlex::solve(), and Validation::validateSolveReal().
void syncLPRational | ( | ) |
synchronizes rational LP with real LP, i.e., copies real LP to rational LP, if sync mode is manual
Definition at line 2891 of file soplex.cpp.
References SoPlex::_isConsistent(), SoPlex::_syncLPRational(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_MANUAL.
void syncLPReal | ( | ) |
synchronizes real LP with rational LP, i.e., copies (rounded) rational LP into real LP, if sync mode is manual
Definition at line 1972 of file soplex.cpp.
References SoPlex::_isConsistent(), SoPlex::_syncLPReal(), SoPlex::intParam(), SoPlex::SYNCMODE, and SoPlex::SYNCMODE_MANUAL.
int totalSizeDualRational | ( | const int | base = 2 | ) |
get size of dual solution
Definition at line 3955 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SoPlex::hasDual(), SoPlex::hasDualFarkas(), and SolBase< R >::totalSizeDual().
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
int totalSizePrimalRational | ( | const int | base = 2 | ) |
get size of primal solution
Definition at line 3941 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), and SolBase< R >::totalSizePrimal().
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::printSolutionStatistics().
const VectorRational & upperRational | ( | ) | const |
returns upper bound vector
Definition at line 1286 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::upper().
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_factorizeColumnRational(), SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::addColRational(), SoPlex::changeBoundsRational(), SoPlex::changeUpperRational(), SoPlex::getBoundViolationRational(), SoPlex::getRedCostViolationRational(), SoPlex::removeColRational(), SoPlex::removeColReal(), SoPlex::removeColsRational(), and SoPlex::removeColsReal().
const Rational & upperRational | ( | int | i | ) | const |
returns upper bound of column i
Definition at line 1295 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::upper().
Real upperReal | ( | int | i | ) | const |
returns upper bound of column i
Definition at line 1025 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::upperUnscaled().
Referenced by SoPlex::_changeLowerReal(), SoPlex::_transformFeasibility(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::basisColStatus(), and SoPlex::getBasis().
const VectorReal & upperRealInternal | ( | ) | const |
returns upper bound vector
Definition at line 1016 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::upper().
Referenced by SoPlex::readBasisFile().
bool writeBasisFile | ( | const char * | filename, |
const NameSet * | rowNames = 0 , |
||
const NameSet * | colNames = 0 , |
||
const bool | cpxFormat = false |
||
) | const |
writes basis information to filename
; if rowNames
and colNames
are NULL
, default names are used; returns true on success
Definition at line 5615 of file soplex.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_rowTypes, SoPlex::_solver, SPxSolver::BASIC, NameSet::has(), SPxSolver::ON_UPPER, SoPlex::RANGETYPE_BOXED, DataArray< T >::size(), SPxSolver::UNDEFINED, and SPxSolver::writeBasisFile().
Referenced by SoPlex::_writeOriginalProblemBasis(), SoPlex::ignoreUnscaledViolations(), main(), SoPlex::writeStateRational(), and SoPlex::writeStateReal().
bool writeDualFileReal | ( | const char * | filename, |
const NameSet * | rowNames = 0 , |
||
const NameSet * | colNames = 0 , |
||
const DIdxSet * | intvars = 0 |
||
) | const |
writes the dual of the real LP to file; LP or MPS format is chosen from the extension in filename
; if rowNames
and colNames
are NULL
, default names are used; if intVars
is not NULL
, the variables contained in it are marked as integer; returns true on success
Definition at line 5399 of file soplex.cpp.
References SoPlex::_realLP, SPxLPBase< R >::buildDualProblem(), SPxLPBase< R >::setOutstream(), SoPlex::spxout, and SPxLPBase< R >::writeFile().
Referenced by SoPlex::ignoreUnscaledViolations(), and main().
bool writeFileRational | ( | const char * | filename, |
const NameSet * | rowNames = 0 , |
||
const NameSet * | colNames = 0 , |
||
const DIdxSet * | intvars = 0 |
||
) | const |
writes rational LP to file; LP or MPS format is chosen from the extension in filename
; if rowNames
and colNames
are NULL
, default names are used; if intVars
is not NULL
, the variables contained in it are marked as integer; returns true on success
Definition at line 5379 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::intParam(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_ONLYREAL, and SPxLPBase< R >::writeFile().
Referenced by SoPlex::ignoreUnscaledViolations(), and SoPlex::writeStateRational().
bool writeFileReal | ( | const char * | filename, |
const NameSet * | rowNames = 0 , |
||
const NameSet * | colNames = 0 , |
||
const DIdxSet * | intvars = 0 , |
||
const bool | unscale = true |
||
) | const |
writes real LP to file; LP or MPS format is chosen from the extension in filename
; if rowNames
and colNames
are NULL
, default names are used; if intVars
is not NULL
, the variables contained in it are marked as integer; returns true on success
Definition at line 5352 of file soplex.cpp.
References SoPlex::_realLP, SPxLPBase< R >::isScaled(), MSG_INFO3, soplex::spx_alloc(), soplex::spx_free(), SoPlex::spxout, SPxLPBase< R >::unscaleLP(), and SPxLPBase< R >::writeFile().
Referenced by SoPlex::ignoreUnscaledViolations(), main(), and SoPlex::writeStateReal().
void writeStateRational | ( | const char * | filename, |
const NameSet * | rowNames = 0 , |
||
const NameSet * | colNames = 0 , |
||
const bool | cpxFormat = false |
||
) | const |
writes internal LP, basis information, and parameter settings; if rowNames
and colNames
are NULL
, default names are used
Definition at line 5744 of file soplex.cpp.
References SoPlex::saveSettingsFile(), SoPlex::writeBasisFile(), and SoPlex::writeFileRational().
Referenced by SoPlex::ignoreUnscaledViolations().
void writeStateReal | ( | const char * | filename, |
const NameSet * | rowNames = 0 , |
||
const NameSet * | colNames = 0 , |
||
const bool | cpxFormat = false |
||
) | const |
writes internal LP, basis information, and parameter settings; if rowNames
and colNames
are NULL
, default names are used
Definition at line 5722 of file soplex.cpp.
References SoPlex::saveSettingsFile(), SoPlex::writeBasisFile(), and SoPlex::writeFileReal().
Referenced by SoPlex::ignoreUnscaledViolations().
|
private |
Definition at line 1635 of file soplex.h.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::operator=(), and SoPlex::SoPlex().
|
private |
Definition at line 1861 of file soplex.h.
Referenced by SoPlex::_addColReal(), SoPlex::_addColsReal(), SoPlex::_changeBoundsReal(), SoPlex::_changeColReal(), SoPlex::_changeElementReal(), SoPlex::_changeLowerReal(), SoPlex::_changeUpperReal(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_ensureRealLPLoaded(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_factorizeColumnRational(), SoPlex::_formDecompReducedProblem(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_optimizeRational(), SoPlex::_performOptIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_removeColReal(), SoPlex::_removeColsReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_restoreBasis(), SoPlex::_restoreLPReal(), SoPlex::_storeBasis(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::_writeOriginalProblemBasis(), SoPlex::basisColStatus(), SoPlex::getBasis(), SoPlex::getBasisInd(), SoPlex::getOriginalProblemBasisColStatus(), SoPlex::operator=(), SoPlex::readBasisFile(), SoPlex::setBasis(), and SoPlex::writeBasisFile().
|
private |
Definition at line 1860 of file soplex.h.
Referenced by SoPlex::_addColReal(), SoPlex::_addRowReal(), SoPlex::_addRowsReal(), SoPlex::_changeElementReal(), SoPlex::_changeLhsReal(), SoPlex::_changeRangeReal(), SoPlex::_changeRhsReal(), SoPlex::_changeRowReal(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_ensureRealLPLoaded(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_factorizeColumnRational(), SoPlex::_formDecompReducedProblem(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_optimizeRational(), SoPlex::_performOptIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_removeRowReal(), SoPlex::_removeRowsReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_restoreBasis(), SoPlex::_restoreLPReal(), SoPlex::_storeBasis(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_transformEquality(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformUnbounded(), SoPlex::_writeOriginalProblemBasis(), SoPlex::basisRowStatus(), SoPlex::getBasis(), SoPlex::getBasisInd(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::operator=(), SoPlex::readBasisFile(), SoPlex::setBasis(), and SoPlex::writeBasisFile().
|
private |
Definition at line 1676 of file soplex.h.
Referenced by SoPlex::_lift(), and SoPlex::_project().
|
private |
Definition at line 1675 of file soplex.h.
Referenced by SoPlex::_lift(), and SoPlex::_project().
|
private |
Definition at line 1823 of file soplex.h.
Referenced by SoPlex::readFile().
Definition at line 1697 of file soplex.h.
Referenced by SoPlex::_completeRangeTypesRational(), SoPlex::_computeInfeasBox(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_performOptIRStable(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_reconstructSolutionRational(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::changeBoundsRational(), SoPlex::changeBoundsReal(), SoPlex::changeColRational(), SoPlex::changeColReal(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SoPlex::clearLPRational(), SoPlex::clearLPReal(), SoPlex::getRedCostViolationRational(), SoPlex::removeColRational(), SoPlex::removeColReal(), SoPlex::removeColsRational(), and SoPlex::removeColsReal().
|
private |
|
private |
Definition at line 1770 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1762 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), and SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1758 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_setComplementaryPrimalOriginalObjective(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), and SoPlex::getCompSlackVarCoeff().
|
private |
Definition at line 1849 of file soplex.h.
Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::SoPlex().
|
private |
Definition at line 1588 of file soplex.h.
Referenced by SoPlex::_isConsistent(), SoPlex::_parseSettingsLine(), SoPlex::boolParam(), SoPlex::intParam(), SoPlex::operator=(), SoPlex::optimize(), SoPlex::parseSettingsString(), SoPlex::printUserSettings(), SoPlex::realParam(), SoPlex::resetSettings(), SoPlex::saveSettingsFile(), SoPlex::setBoolParam(), SoPlex::setIntParam(), SoPlex::setRealParam(), SoPlex::setSettings(), SoPlex::settings(), SoPlex::SoPlex(), and SoPlex::~SoPlex().
Definition at line 1802 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_setComplementaryPrimalOriginalObjective(), and SoPlex::_updateComplementaryPrimalFixedPrimalVars().
Definition at line 1800 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::_updateDecompReducedProblem().
|
private |
Definition at line 1775 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1820 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex(), and SoPlex::printDecompDisplayLine().
Definition at line 1789 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompReducedProblem(), and SoPlex::getCompSlackVarCoeff().
Definition at line 1785 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1767 of file soplex.h.
Referenced by SoPlex::_formDecompReducedProblem(), and SoPlex::_solveDecompositionDualSimplex().
Definition at line 1790 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), and SoPlex::_updateComplementaryDualFixedPrimalVars().
|
private |
Definition at line 1627 of file soplex.h.
Referenced by SoPlex::_computeReducedProbObjCoeff(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), and SoPlex::_solveDecompositionDualSimplex().
Definition at line 1782 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::getCompSlackVarCoeff(), and SoPlex::getOriginalProblemBasisRowStatus().
Definition at line 1781 of file soplex.h.
Referenced by SoPlex::_getZeroDualMultiplierIndices(), and SoPlex::_updateDecompComplementaryDualProblem().
Definition at line 1779 of file soplex.h.
Referenced by SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_identifyComplementaryPrimalFixedPrimalVars(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::getOriginalProblemBasisColStatus(), and SoPlex::getOrigVarFixedDirection().
|
private |
Definition at line 1772 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_getZeroDualMultiplierIndices(), and SoPlex::_solveDecompositionDualSimplex().
Definition at line 1777 of file soplex.h.
Referenced by SoPlex::_getCompatibleColumns(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1771 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_findViolatedRows(), SoPlex::_getCompatibleColumns(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1764 of file soplex.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), and SoPlex::_formDecompReducedProblem().
Definition at line 1792 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), and SoPlex::_updateComplementaryDualFixedPrimalVars().
|
private |
Definition at line 1806 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::getDecompBoundViolation().
|
private |
Definition at line 1807 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getDecompRowViolation().
|
private |
Definition at line 1661 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1663 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1660 of file soplex.h.
Referenced by SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1662 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1664 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1810 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1867 of file soplex.h.
Referenced by SoPlex::_addColReal(), SoPlex::_addColsReal(), SoPlex::_addRowReal(), SoPlex::_addRowsReal(), SoPlex::_changeBoundsReal(), SoPlex::_changeColReal(), SoPlex::_changeElementReal(), SoPlex::_changeLhsReal(), SoPlex::_changeLowerReal(), SoPlex::_changeRangeReal(), SoPlex::_changeRhsReal(), SoPlex::_changeRowReal(), SoPlex::_changeUpperReal(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_ensureRealLPLoaded(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_evaluateSolutionReal(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_performOptIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_removeColReal(), SoPlex::_removeColsReal(), SoPlex::_removeRowReal(), SoPlex::_removeRowsReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_restoreBasis(), SoPlex::_restoreLPReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_storeBasis(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_syncLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::clearBasis(), SoPlex::clearLPRational(), SoPlex::clearLPReal(), SoPlex::getDualViolationRational(), SoPlex::getRedCostViolationRational(), SoPlex::hasBasis(), SoPlex::operator=(), SoPlex::readBasisFile(), SoPlex::setBasis(), and SoPlex::writeBasisFile().
|
private |
Definition at line 1869 of file soplex.h.
Referenced by SoPlex::_invalidateSolution(), SoPlex::_optimizeRational(), SoPlex::_restoreLPReal(), SoPlex::_syncRationalSolution(), SoPlex::_syncRealSolution(), SoPlex::hasDual(), SoPlex::hasDualFarkas(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), SoPlex::isDualFeasible(), SoPlex::isPrimalFeasible(), and SoPlex::operator=().
|
private |
Definition at line 1868 of file soplex.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::_invalidateSolution(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_syncRationalSolution(), SoPlex::_syncRealSolution(), SoPlex::_verifySolutionReal(), SoPlex::hasDual(), SoPlex::hasDualFarkas(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), SoPlex::isDualFeasible(), SoPlex::isPrimalFeasible(), and SoPlex::operator=().
|
private |
Definition at line 1632 of file soplex.h.
Referenced by SoPlex::_addColReal(), SoPlex::_addColsReal(), SoPlex::_addRowReal(), SoPlex::_addRowsReal(), SoPlex::_changeBoundsReal(), SoPlex::_changeColReal(), SoPlex::_changeElementReal(), SoPlex::_changeLhsReal(), SoPlex::_changeLowerReal(), SoPlex::_changeRangeReal(), SoPlex::_changeRhsReal(), SoPlex::_changeRowReal(), SoPlex::_changeUpperReal(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_ensureRealLPLoaded(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_evaluateSolutionReal(), SoPlex::_isConsistent(), SoPlex::_loadRealLP(), SoPlex::_optimizeRational(), SoPlex::_preprocessAndSolveReal(), SoPlex::_removeColReal(), SoPlex::_removeColsReal(), SoPlex::_removeRowReal(), SoPlex::_removeRowsReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_storeSolutionReal(), SoPlex::_syncLPReal(), SoPlex::_verifySolutionReal(), SoPlex::_writeOriginalProblemBasis(), SoPlex::basisColStatus(), SoPlex::basisRowStatus(), SoPlex::getBasis(), SoPlex::getBasisInd(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getEstimatedCondition(), SoPlex::getExactCondition(), SoPlex::getFastCondition(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SoPlex::operator=(), SoPlex::readBasisFile(), SoPlex::setBasis(), SoPlex::SoPlex(), and SoPlex::writeBasisFile().
|
private |
Definition at line 1634 of file soplex.h.
Referenced by SoPlex::_disableSimplifierAndScaler(), SoPlex::_evaluateSolutionReal(), SoPlex::_optimizeReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_unscaleSolutionReal(), SoPlex::_verifySolutionReal(), SoPlex::operator=(), and SoPlex::SoPlex().
|
private |
Definition at line 1858 of file soplex.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::operator=(), SoPlex::printSolutionStatistics(), and SoPlex::SoPlex().
|
private |
Definition at line 1639 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1637 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1641 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1642 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1640 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1638 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1667 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1665 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1669 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1668 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1666 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1818 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), and SoPlex::_updateComplementaryPrimalFixedPrimalVars().
|
private |
Definition at line 1817 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), and SoPlex::_updateDecompComplementaryPrimalProblem().
|
private |
Definition at line 1804 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::getDecompBoundViolation().
|
private |
Definition at line 1805 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getDecompRowViolation().
|
private |
Definition at line 1816 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1815 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1814 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1813 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1812 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::getCompSlackVarCoeff(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1876 of file soplex.h.
Referenced by SoPlex::_optimizeReal(), SoPlex::_reapplyPersistentScaling(), and SoPlex::SoPlex().
|
private |
Definition at line 1614 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1615 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1617 of file soplex.h.
Referenced by SoPlex::_solveRealStable(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1616 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1618 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1619 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1670 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1592 of file soplex.h.
Referenced by SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_untransformUnbounded(), SoPlex::getDualViolationRational(), and SoPlex::setRealParam().
|
private |
Definition at line 1650 of file soplex.h.
Referenced by SoPlex::_completeRangeTypesRational(), SoPlex::_computeInfeasBox(), SoPlex::_ensureRationalLP(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_readFileRational(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_reconstructSolutionRational(), SoPlex::_syncLPRational(), SoPlex::_syncLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::addColRational(), SoPlex::addColReal(), SoPlex::addColsRational(), SoPlex::addColsReal(), SoPlex::addRowRational(), SoPlex::addRowReal(), SoPlex::addRowsRational(), SoPlex::addRowsReal(), SoPlex::areLPsInSync(), SoPlex::changeBoundsRational(), SoPlex::changeBoundsReal(), SoPlex::changeColRational(), SoPlex::changeColReal(), SoPlex::changeElementRational(), SoPlex::changeElementReal(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SoPlex::changeObjRational(), SoPlex::changeObjReal(), SoPlex::changeRangeRational(), SoPlex::changeRangeReal(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SoPlex::changeRowRational(), SoPlex::changeRowReal(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SoPlex::clearLPRational(), SoPlex::clearLPReal(), SoPlex::colVectorRational(), SoPlex::getColRational(), SoPlex::getColsRational(), SoPlex::getDualFarkasRational(), SoPlex::getDualRational(), SoPlex::getObjRational(), SoPlex::getPrimalRational(), SoPlex::getPrimalRayRational(), SoPlex::getRedCostRational(), SoPlex::getRowRational(), SoPlex::getRowsRational(), SoPlex::getRowViolationRational(), SoPlex::getSlacksRational(), SoPlex::lhsRational(), SoPlex::lowerRational(), SoPlex::maxAbsNonzeroRational(), SoPlex::maxObjRational(), SoPlex::minAbsNonzeroRational(), SoPlex::numColsRational(), SoPlex::numNonzerosRational(), SoPlex::numRowsRational(), SoPlex::objRational(), SoPlex::operator=(), SoPlex::printStatistics(), SoPlex::removeColRational(), SoPlex::removeColReal(), SoPlex::removeColsRational(), SoPlex::removeColsReal(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SoPlex::removeRowsRational(), SoPlex::removeRowsReal(), SoPlex::rhsRational(), SoPlex::rowTypeRational(), SoPlex::rowVectorRational(), SoPlex::setIntParam(), SoPlex::setRealParam(), SoPlex::upperRational(), SoPlex::writeFileRational(), and SoPlex::~SoPlex().
|
private |
Definition at line 1651 of file soplex.h.
Referenced by SoPlex::_addColReal(), SoPlex::_addColsReal(), SoPlex::_addRowReal(), SoPlex::_addRowsReal(), SoPlex::_changeColReal(), SoPlex::_changeElementReal(), SoPlex::_changeRowReal(), SoPlex::_computeBasisInverseRational(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_removeColReal(), SoPlex::_removeColsReal(), SoPlex::_removeRowReal(), SoPlex::_removeRowsReal(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_syncLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::clearBasis(), SoPlex::clearLPRational(), SoPlex::clearLPReal(), SoPlex::computeBasisInverseRational(), SoPlex::getBasisIndRational(), SoPlex::getBasisInverseColRational(), SoPlex::getBasisInverseRowRational(), SoPlex::getBasisInverseTimesVecRational(), SoPlex::operator=(), and SoPlex::setBasis().
|
private |
Definition at line 1652 of file soplex.h.
Referenced by SoPlex::_computeBasisInverseRational(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::computeBasisInverseRational(), and SoPlex::getBasisIndRational().
|
private |
Definition at line 1594 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), and SoPlex::setRealParam().
|
private |
Definition at line 1591 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_lift(), SoPlex::_performOptIRStable(), SoPlex::_rangeTypeRational(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::areLPsInSync(), SoPlex::objValueRational(), and SoPlex::setRealParam().
|
private |
Definition at line 1880 of file soplex.h.
Referenced by SoPlex::_transformFeasibility(), and SoPlex::operator=().
|
private |
Definition at line 1593 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_project(), and SoPlex::setRealParam().
|
private |
Definition at line 1590 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_lift(), SoPlex::_performOptIRStable(), SoPlex::_rangeTypeRational(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::areLPsInSync(), SoPlex::objValueRational(), and SoPlex::setRealParam().
|
private |
Definition at line 1879 of file soplex.h.
Referenced by SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_transformFeasibility(), SoPlex::_untransformUnbounded(), and SoPlex::operator=().
|
private |
Definition at line 1881 of file soplex.h.
Referenced by SoPlex::_transformEquality(), SoPlex::objValueRational(), and SoPlex::operator=().
|
private |
Definition at line 1623 of file soplex.h.
Referenced by SoPlex::operator=(), SoPlex::setBoolParam(), and SoPlex::setIntParam().
|
private |
Definition at line 1622 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1621 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1620 of file soplex.h.
Referenced by SoPlex::_solveRealStable(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1626 of file soplex.h.
Referenced by SoPlex::_addColReal(), SoPlex::_addColsReal(), SoPlex::_addRowReal(), SoPlex::_addRowsReal(), SoPlex::_changeBoundsReal(), SoPlex::_changeColReal(), SoPlex::_changeElementReal(), SoPlex::_changeLhsReal(), SoPlex::_changeLowerReal(), SoPlex::_changeRangeReal(), SoPlex::_changeRhsReal(), SoPlex::_changeRowReal(), SoPlex::_changeUpperReal(), SoPlex::_checkBasisScaling(), SoPlex::_checkOriginalProblemOptimality(), SoPlex::_checkScaling(), SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_ensureRealLPLoaded(), SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_identifyComplementaryPrimalFixedPrimalVars(), SoPlex::_isConsistent(), SoPlex::_lift(), SoPlex::_loadRealLP(), SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_performOptIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_project(), SoPlex::_readFileReal(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_removeColReal(), SoPlex::_removeColsReal(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_removeRowReal(), SoPlex::_removeRowsReal(), SoPlex::_restoreLPReal(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_setComplementaryPrimalOriginalObjective(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_storeLPReal(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_syncLPRational(), SoPlex::_syncLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_verifySolutionReal(), SoPlex::_writeOriginalProblemBasis(), SoPlex::addColReal(), SoPlex::addColsReal(), SoPlex::addRowReal(), SoPlex::addRowsReal(), SoPlex::areLPsInSync(), SoPlex::changeBoundsReal(), SoPlex::changeColReal(), SoPlex::changeElementReal(), SoPlex::changeLhsReal(), SoPlex::changeLowerReal(), SoPlex::changeObjRational(), SoPlex::changeObjReal(), SoPlex::changeRangeReal(), SoPlex::changeRhsReal(), SoPlex::changeRowReal(), SoPlex::changeUpperReal(), SoPlex::clearLPRational(), SoPlex::clearLPReal(), SoPlex::coefReal(), SoPlex::colVectorRealInternal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getBoundViolationReal(), SoPlex::getColVectorReal(), SoPlex::getCompSlackVarCoeff(), SoPlex::getDecompBoundViolation(), SoPlex::getDecompRowViolation(), SoPlex::getLhsReal(), SoPlex::getLowerReal(), SoPlex::getObjReal(), SoPlex::getOriginalProblemBasisColStatus(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::getOriginalProblemStatistics(), SoPlex::getOrigProbDualVariableSign(), SoPlex::getRhsReal(), SoPlex::getRowVectorReal(), SoPlex::getRowViolationReal(), SoPlex::getUpperReal(), SoPlex::lhsReal(), SoPlex::lhsRealInternal(), SoPlex::lowerReal(), SoPlex::lowerRealInternal(), SoPlex::maxAbsNonzeroReal(), SoPlex::maxObjReal(), SoPlex::maxObjRealInternal(), SoPlex::minAbsNonzeroReal(), SoPlex::numColsReal(), SoPlex::numNonzerosReal(), SoPlex::numRowsReal(), SoPlex::objReal(), SoPlex::operator=(), SoPlex::printStatistics(), SoPlex::readBasisFile(), SoPlex::removeColReal(), SoPlex::removeColsReal(), SoPlex::removeRowReal(), SoPlex::removeRowsReal(), SoPlex::rhsReal(), SoPlex::rhsRealInternal(), SoPlex::rowTypeReal(), SoPlex::rowVectorRealInternal(), SoPlex::setIntParam(), SoPlex::setRealParam(), SoPlex::SoPlex(), SoPlex::upperReal(), SoPlex::upperRealInternal(), SoPlex::writeDualFileReal(), SoPlex::writeFileReal(), and SoPlex::~SoPlex().
|
private |
Definition at line 1822 of file soplex.h.
Referenced by SoPlex::readFile().
Definition at line 1698 of file soplex.h.
Referenced by SoPlex::_completeRangeTypesRational(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_performOptIRStable(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_reconstructSolutionRational(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SoPlex::changeRangeRational(), SoPlex::changeRangeReal(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SoPlex::changeRowRational(), SoPlex::changeRowReal(), SoPlex::clearLPRational(), SoPlex::clearLPReal(), SoPlex::getDualViolationRational(), SoPlex::readBasisFile(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SoPlex::removeRowsRational(), SoPlex::removeRowsReal(), and SoPlex::writeBasisFile().
|
private |
Definition at line 1629 of file soplex.h.
Referenced by SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_disableSimplifierAndScaler(), SoPlex::_enableSimplifierAndScaler(), SoPlex::_optimizeReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveRealForRational(), SoPlex::_unscaleSolutionReal(), SoPlex::coefReal(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getRowVectorReal(), SoPlex::getScalerName(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SoPlex::setIntParam(), and SoPlex::setRealParam().
|
private |
Definition at line 1606 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1607 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1608 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1609 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1610 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1605 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1628 of file soplex.h.
Referenced by SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_disableSimplifierAndScaler(), SoPlex::_enableSimplifierAndScaler(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_preprocessAndSolveReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveRealForRational(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::getSimplifierName(), and SoPlex::setIntParam().
|
private |
Definition at line 1604 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1654 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_transformEquality(), and SoPlex::_untransformEquality().
|
private |
Definition at line 1603 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_solveRealStable(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1864 of file soplex.h.
Referenced by SoPlex::_invalidateSolution(), SoPlex::_optimizeRational(), SoPlex::_performFeasIRStable(), SoPlex::_restoreLPReal(), SoPlex::_syncRationalSolution(), SoPlex::_syncRealSolution(), SoPlex::dlcmSizeDualRational(), SoPlex::dlcmSizePrimalRational(), SoPlex::dmaxSizeDualRational(), SoPlex::dmaxSizePrimalRational(), SoPlex::getBoundViolationRational(), SoPlex::getDualFarkasRational(), SoPlex::getDualRational(), SoPlex::getDualViolationRational(), SoPlex::getPrimalRational(), SoPlex::getPrimalRayRational(), SoPlex::getRedCostRational(), SoPlex::getRedCostViolationRational(), SoPlex::getRowViolationRational(), SoPlex::getSlacksRational(), SoPlex::hasDualFarkas(), SoPlex::hasPrimalRay(), SoPlex::isDualFeasible(), SoPlex::isPrimalFeasible(), SoPlex::objValueRational(), SoPlex::operator=(), SoPlex::totalSizeDualRational(), and SoPlex::totalSizePrimalRational().
|
private |
Definition at line 1863 of file soplex.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::_evaluateSolutionReal(), SoPlex::_invalidateSolution(), SoPlex::_optimizeReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_syncRationalSolution(), SoPlex::_syncRealSolution(), SoPlex::_unscaleSolutionReal(), SoPlex::_verifySolutionReal(), SoPlex::getBoundViolationReal(), SoPlex::getDecompBoundViolation(), SoPlex::getDecompRowViolation(), SoPlex::getDualFarkasReal(), SoPlex::getDualReal(), SoPlex::getDualViolationReal(), SoPlex::getPrimalRayReal(), SoPlex::getPrimalReal(), SoPlex::getRedCostReal(), SoPlex::getRedCostViolationReal(), SoPlex::getRowViolationReal(), SoPlex::getSlacksReal(), SoPlex::hasDualFarkas(), SoPlex::hasPrimalRay(), SoPlex::isDualFeasible(), SoPlex::isPrimalFeasible(), SoPlex::objValueReal(), and SoPlex::operator=().
|
private |
Definition at line 1602 of file soplex.h.
Referenced by SoPlex::_addColReal(), SoPlex::_addColsReal(), SoPlex::_addRowReal(), SoPlex::_addRowsReal(), SoPlex::_changeBoundsReal(), SoPlex::_changeColReal(), SoPlex::_changeElementReal(), SoPlex::_changeLhsReal(), SoPlex::_changeLowerReal(), SoPlex::_changeRangeReal(), SoPlex::_changeRhsReal(), SoPlex::_changeRowReal(), SoPlex::_changeUpperReal(), SoPlex::_checkBasisScaling(), SoPlex::_checkOriginalProblemOptimality(), SoPlex::_checkScaling(), SoPlex::_computeReducedProbObjCoeff(), SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_ensureRealLPLoaded(), SoPlex::_evaluateSolutionReal(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_getZeroDualMultiplierIndices(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_identifyComplementaryPrimalFixedPrimalVars(), SoPlex::_isConsistent(), SoPlex::_loadRealLP(), SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_performOptIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_removeColReal(), SoPlex::_removeColsReal(), SoPlex::_removeRowReal(), SoPlex::_removeRowsReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_restoreLPReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_solveRealStable(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_syncLPReal(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::_verifySolutionReal(), SoPlex::basisColStatus(), SoPlex::basisRowStatus(), SoPlex::checkBasisDualFeasibility(), SoPlex::clearBasis(), SoPlex::decompTerminate(), SoPlex::getBasis(), SoPlex::getBasisInd(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getDualNorms(), SoPlex::getEstimatedCondition(), SoPlex::getExactCondition(), SoPlex::getExpectedDualVariableSign(), SoPlex::getFastCondition(), SoPlex::getNdualNorms(), SoPlex::getOriginalProblemBasisColStatus(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::getOrigVarFixedDirection(), SoPlex::getPricerName(), SoPlex::getRatiotesterName(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SoPlex::operator=(), SoPlex::optimize(), SoPlex::printUserSettings(), SoPlex::randomSeed(), SoPlex::readBasisFile(), SoPlex::saveSettingsFile(), SoPlex::setBasis(), SoPlex::setBoolParam(), SoPlex::setDualNorms(), SoPlex::setIntegralityInformation(), SoPlex::setIntParam(), SoPlex::setRandomSeed(), SoPlex::SoPlex(), SoPlex::writeBasisFile(), and SoPlex::~SoPlex().
|
private |
Definition at line 1630 of file soplex.h.
Referenced by SoPlex::getStarterName(), and SoPlex::setIntParam().
|
private |
Definition at line 1612 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1613 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1611 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
statistics since last call to solveReal() or solveRational()
Definition at line 1577 of file soplex.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::_computeBasisInverseRational(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::_isSolveStopped(), SoPlex::_lift(), SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_preprocessAndSolveReal(), SoPlex::_project(), SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::_reconstructSolutionRational(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_syncLPRational(), SoPlex::_syncLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::decompTerminate(), SoPlex::loadSettingsFile(), SoPlex::numIterations(), SoPlex::operator=(), SoPlex::optimize(), SoPlex::printDecompDisplayLine(), SoPlex::printShortStatistics(), SoPlex::printSolvingStatistics(), SoPlex::readBasisFile(), SoPlex::solveTime(), SoPlex::SoPlex(), SoPlex::statisticString(), and SoPlex::~SoPlex().
|
private |
Definition at line 1857 of file soplex.h.
Referenced by SoPlex::_checkBasisScaling(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_evaluateSolutionReal(), SoPlex::_invalidateSolution(), SoPlex::_optimizeRational(), SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::clearBasis(), SoPlex::ignoreUnscaledViolations(), SoPlex::operator=(), SoPlex::printShortStatistics(), SoPlex::printStatistics(), and SoPlex::status().
|
private |
Definition at line 1674 of file soplex.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1672 of file soplex.h.
Referenced by SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1671 of file soplex.h.
Referenced by SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1659 of file soplex.h.
Referenced by SoPlex::_transformFeasibility().
|
private |
Definition at line 1766 of file soplex.h.
Referenced by SoPlex::_computeReducedProbObjCoeff().
|
private |
Definition at line 1768 of file soplex.h.
Referenced by SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_updateDecompReducedProblem(), and SoPlex::_updateDecompReducedProblemViol().
|
private |
Definition at line 1657 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1655 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1658 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1656 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1673 of file soplex.h.
Referenced by SoPlex::_unitVectorRational(), and SoPlex::~SoPlex().
|
private |
Definition at line 1877 of file soplex.h.
Referenced by SoPlex::_optimizeReal(), SoPlex::_reapplyPersistentScaling(), SoPlex::_verifySolutionReal(), and SoPlex::SoPlex().
|
private |
Definition at line 1865 of file soplex.h.
Referenced by SoPlex::_factorizeColumnRational(), and SoPlex::_reconstructSolutionRational().
|
private |
Definition at line 1836 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1835 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1829 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1827 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1826 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblem(), and SoPlex::printDecompDisplayLine().
|
private |
Definition at line 1834 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1833 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1832 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1828 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1840 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1843 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1841 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1847 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1844 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1838 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1846 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1845 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1839 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
mutable |
Definition at line 1476 of file soplex.h.
Referenced by SoPlex::_checkBasisScaling(), SoPlex::_checkOriginalProblemOptimality(), SoPlex::_checkScaling(), SoPlex::_computeBasisInverseRational(), SoPlex::_computeInfeasBox(), SoPlex::_computeReducedProbObjCoeff(), SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_ensureRationalLP(), SoPlex::_evaluateSolutionReal(), SoPlex::_factorizeColumnRational(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_identifyComplementaryPrimalFixedPrimalVars(), SoPlex::_lift(), SoPlex::_optimizeRational(), SoPlex::_parseSettingsLine(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_solveRealStable(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_unscaleSolutionReal(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::_verifySolutionReal(), SoPlex::areLPsInSync(), checkSolution(), checkSolutionRational(), checkSolutionReal(), SoPlex::decompTerminate(), SoPlex::getBasisInverseColRational(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowRational(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecRational(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::getOriginalProblemBasisColStatus(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::loadSettingsFile(), main(), SoPlex::operator=(), SoPlex::optimize(), SoPlex::parseSettingsString(), SoPlex::printDecompDisplayLine(), printDualSolution(), printPrimalSolution(), SoPlex::printUserSettings(), SoPlex::printVersion(), SoPlex::setIntParam(), SoPlex::setRealParam(), SoPlex::SoPlex(), Validation::validateSolveReal(), SoPlex::writeDualFileReal(), and SoPlex::writeFileReal().