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... | |
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 |
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
anonymous enum |
anonymous enum |
values for parameter PRICER
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 559 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 738 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::_statistics, and soplex::spx_alloc().
|
virtual |
destructor
Definition at line 756 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 7387 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 7412 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 7430 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 7334 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 7352 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 7370 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 7725 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 7751 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 7614 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 7774 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 7482 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 7504 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 7641 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 7665 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 7565 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 7591 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 7523 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 7547 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 7457 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 7683 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 7707 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 89 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 2694 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 26 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().
|
private |
completes range type arrays after adding columns and/or rows
Definition at line 8236 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 3517 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 2852 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 1792 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 591 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 1031 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 859 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 1998 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 7989 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 7940 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 7171 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 8003 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 8016 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 3229 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 95 of file solvereal.cpp.
References SoPlex::_applyPolishing, SoPlex::_hasBasis, SoPlex::_isRealLPLoaded, SoPlex::_isRealLPScaled, SoPlex::_preprocessAndSolveReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solver, SoPlex::_status, SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SPxSolver::ABORT_CYCLING, SPxSolver::ABORT_ITER, SPxSolver::ABORT_TIME, SPxSolver::ABORT_VALUE, SPxLPBase< R >::changeObjOffset(), SPxSimplifier::DUAL_INFEASIBLE, SPxSimplifier::INFEASIBLE, SPxSolver::INFEASIBLE, SPxSolver::INForUNBD, SoPlex::intParam(), MSG_INFO1, MSG_INFO3, SoPlex::OBJ_OFFSET, SPxSimplifier::OKAY, SPxSolver::OPTIMAL, 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 3570 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 1460 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 720 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 624 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 1858 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 1632 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 1978 of file solvedbds.cpp.
|
private |
identifies the columns of the row-form basis that correspond to rows with zero dual multipliers.
Definition at line 1556 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 2800 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 3045 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 7181 of file soplex.cpp.
Referenced by SoPlex::removeColsRational(), SoPlex::removeColsReal(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
|
private |
invalidates solution
Definition at line 7925 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 7214 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 7240 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 1574 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 627 of file solvereal.cpp.
References SoPlex::_isRealLPLoaded, SoPlex::_realLP, SoPlex::_solver, SPxSolver::init(), SPxSolver::loadLP(), and soplex::spx_free().
Referenced by SoPlex::_storeSolutionReal(), and SoPlex::_storeSolutionRealFromPresol().
|
private |
checks whether RangeType corresponds to finite lower bound
Definition at line 7318 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 28 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 29 of file solvereal.cpp.
References 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 8365 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::Settings::boolParam, SoPlex::BOOLPARAM_COUNT, SoPlex::Settings::intParam, SoPlex::INTPARAM_COUNT, MSG_INFO1, SoPlex::Settings::BoolParam::name, SoPlex::Settings::IntParam::name, SoPlex::Settings::RealParam::name, soplex::readStringRational(), REAL_FORMAT, SoPlex::Settings::realParam, SoPlex::REALPARAM_COUNT, SET_MAX_LINE_LEN, SoPlex::setBoolParam(), SoPlex::setIntParam(), SoPlex::setRandomSeed(), SoPlex::setRealParam(), SPX_MAXSTRLEN, SoPlex::spxout, and soplex::spxSnprintf().
Referenced by SoPlex::loadSettingsFile().
|
private |
performs iterative refinement on the auxiliary problem for testing feasibility
Definition at line 1474 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 353 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 1408 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 187 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 1752 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 7202 of file soplex.cpp.
Referenced by SoPlex::removeColRangeRational(), SoPlex::removeColRangeReal(), SoPlex::removeRowRangeRational(), and SoPlex::removeRowRangeReal().
|
private |
determines RangeType from rational bounds
Definition at line 7280 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 7255 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 8189 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 8148 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 8262 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 8249 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 3975 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 7861 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 7890 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 2844 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 7797 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 7826 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 288 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 2376 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 1867 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 3112 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 3182 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 48 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 3079 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 8043 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 3309 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 2359 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 1846 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 412 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 560 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 7305 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 8299 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 8275 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 8330 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 8318 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 1922 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 2391 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 2117 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 8342 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 641 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 2001 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 2657 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 2234 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 2907 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 2763 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 3074 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 2070 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 2452 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 1116 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 1311 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 7326 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 361 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 4031 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 1996 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 1353 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 2063 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 1371 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 1912 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 1317 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 1977 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 1335 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 6896 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 3902 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::solve().
SPxSolver::VarStatus basisRowStatus | ( | int | row | ) | const |
returns basis status for a single row
Definition at line 3877 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::solve().
SPxBasis::SPxStatus basisStatus | ( | ) | const |
returns the current basis status
Definition at line 3856 of file soplex.cpp.
References SPxBasis::DUAL, SoPlex::hasBasis(), SoPlex::hasDual(), SoPlex::hasPrimal(), SPxBasis::INFEASIBLE, SPxSolver::INFEASIBLE, SPxBasis::NO_PROBLEM, SPxBasis::OPTIMAL, SPxSolver::OPTIMAL, SPxBasis::PRIMAL, SPxBasis::REGULAR, SoPlex::status(), SPxBasis::UNBOUNDED, and SPxSolver::UNBOUNDED.
Referenced by SoPlex::solve().
bool boolParam | ( | const BoolParam | param | ) | const |
returns boolean parameter value
Definition at line 5528 of file soplex.cpp.
References SoPlex::Settings::_boolParamValues, SoPlex::_currentSettings, and SoPlex::BOOLPARAM_COUNT.
Referenced by SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_disableSimplifierAndScaler(), 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 2425 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 2445 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 1613 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 1632 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 2285 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 1519 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 2541 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 1681 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 2102 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 2122 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 1408 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 1427 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 2305 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 2325 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 1538 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 1558 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 2485 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 2503 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 1649 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 1665 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 2225 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 2245 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 1482 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 1501 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 2162 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 2206 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 1445 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 1464 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 2082 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 1389 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 2365 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 2385 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 1576 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 1595 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 3335 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 5025 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::readBasisFile(), and SoPlex::solve().
void clearLPRational | ( | ) |
clears the LP
Definition at line 2766 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 1880 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 842 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 1224 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 945 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 4878 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::solve().
|
private |
function call to terminate the decomposition simplex
Definition at line 3763 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 3806 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SolBase< R >::dlcmSizeDual(), SoPlex::hasDual(), and SoPlex::hasDualFarkas().
Referenced by SoPlex::printSolutionStatistics(), and SoPlex::solve().
int dlcmSizePrimalRational | ( | const int | base = 2 | ) |
get size of least common multiple of denominators in primal solution
Definition at line 3792 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SolBase< R >::dlcmSizePrimal(), SoPlex::hasPrimal(), and SoPlex::hasPrimalRay().
Referenced by SoPlex::printSolutionStatistics(), and SoPlex::solve().
int dmaxSizeDualRational | ( | const int | base = 2 | ) |
get size of largest denominator in dual solution
Definition at line 3834 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SolBase< R >::dmaxSizeDual(), SoPlex::hasDual(), and SoPlex::hasDualFarkas().
Referenced by SoPlex::printSolutionStatistics(), and SoPlex::solve().
int dmaxSizePrimalRational | ( | const int | base = 2 | ) |
get size of largest denominator in primal solution
Definition at line 3820 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SolBase< R >::dmaxSizePrimal(), SoPlex::hasPrimal(), and SoPlex::hasPrimalRay().
Referenced by SoPlex::printSolutionStatistics(), and SoPlex::solve().
void getBasis | ( | SPxSolver::VarStatus | rows[], |
SPxSolver::VarStatus | cols[] | ||
) | const |
gets current basis via arrays of statuses
gets current basis
Definition at line 3938 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::solve().
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 3978 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::multBasis(), SoPlex::multBasisTranspose(), and SoPlex::solve().
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 4906 of file soplex.cpp.
References SoPlex::_rationalLUSolver, SoPlex::_rationalLUSolverBind, SoPlex::computeBasisInverseRational(), SoPlex::numRowsRational(), SLinSolverRational::OK, DataArray< T >::size(), and SLUFactorRational::status().
Referenced by SoPlex::solve().
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 4946 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::solve().
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 4290 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::solve().
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 4922 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::solve().
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 4104 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(), SVectorBase< R >::value(), and SPxException::what().
Referenced by SoPlex::_checkBasisScaling(), and SoPlex::solve().
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 4971 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::solve().
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 4495 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::solve().
gets violation of bounds; returns true on success
Definition at line 3373 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::printSolutionStatistics(), and SoPlex::solve().
gets violation of bounds; returns true on success
Definition at line 3063 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::printSolutionStatistics(), SoPlex::solve(), and Validation::validateSolveReal().
void getColRational | ( | int | i, |
LPColRational & | lpcol | ||
) | const |
gets column i
Definition at line 1206 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 1215 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 954 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 3559 of file solvedbds.cpp.
References SoPlex::_compSolver, SoPlex::_decompDualColIDs, SoPlex::_decompPrimalRowIDs, 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 3605 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 3683 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 3358 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(), printDualSolution(), and SoPlex::solve().
bool getDualFarkasReal | ( | VectorReal & | vector | ) |
gets the Farkas proof if available; returns true on success
Definition at line 3048 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getDualFarkas(), SoPlex::hasDualFarkas(), and SoPlex::numRowsReal().
Referenced by printDualSolution(), and SoPlex::solve().
bool getDualNorms | ( | int & | nnormsRow, |
int & | nnormsCol, | ||
Real * | norms | ||
) | const |
gets steepest edge norms and returns false if they are not available
Definition at line 1064 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 3328 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(), printDualSolution(), and SoPlex::solve().
bool getDualReal | ( | VectorReal & | vector | ) |
gets the dual solution vector if available; returns true on success
Definition at line 3018 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getDual(), SoPlex::hasDual(), and SoPlex::numRowsReal().
Referenced by main(), printDualSolution(), and SoPlex::solve().
gets violation of dual multipliers; returns true on success
Definition at line 3558 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::printSolutionStatistics(), and SoPlex::solve().
gets violation of dual multipliers; returns true on success
Definition at line 3198 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::printSolutionStatistics(), SoPlex::solve(), 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 4074 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::basis(), SPxBasis::getEstimatedCondition(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
Referenced by SoPlex::solve().
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 4089 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::basis(), SPxBasis::getExactCondition(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
Referenced by SoPlex::solve().
|
private |
returns the expected sign of the dual variables for the reduced problem
Definition at line 3387 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 4059 of file soplex.cpp.
References SoPlex::_ensureRealLPLoaded(), SoPlex::_isRealLPLoaded, SoPlex::_solver, SPxSolver::basis(), SPxBasis::getFastCondition(), SPxBasis::NO_PROBLEM, and SPxBasis::status().
Referenced by SoPlex::solve().
void getLhsReal | ( | DVectorReal & | lhs | ) | const |
gets left-hand side vector
Definition at line 918 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getLhsUnscaled().
void getLowerReal | ( | DVectorReal & | lower | ) | const |
gets lower bound vector
Definition at line 1008 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 1056 of file soplex.cpp.
References SoPlex::_solver, and SPxSolver::getNdualNorms().
void getObjRational | ( | VectorRational & | obj | ) | const |
gets objective function vector
Definition at line 1269 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 1278 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 1018 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 3976 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 3786 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 3468 of file solvedbds.cpp.
References SoPlex::_realLP, 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::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 3406 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 3200 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 5101 of file soplex.cpp.
References SoPlex::_solver, SPxPricer::getName(), and SPxSolver::pricer().
Referenced by SoPlex::solve().
bool getPrimalRational | ( | VectorRational & | vector | ) |
gets the primal solution vector if available; returns true on success
Definition at line 3283 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(), printPrimalSolution(), and SoPlex::solve().
bool getPrimalRayRational | ( | VectorRational & | vector | ) |
gets the primal ray if LP is unbounded; returns true on success
Definition at line 3313 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(), printPrimalSolution(), and SoPlex::solve().
bool getPrimalRayReal | ( | VectorReal & | vector | ) |
gets the primal ray if available; returns true on success
Definition at line 3003 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getPrimalRay(), SoPlex::hasPrimalRay(), and SoPlex::numColsReal().
Referenced by printPrimalSolution(), and SoPlex::solve().
bool getPrimalReal | ( | VectorReal & | vector | ) |
gets the primal solution vector if available; returns true on success
Definition at line 2973 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getPrimal(), SoPlex::hasPrimal(), and SoPlex::numColsReal().
Referenced by main(), printPrimalSolution(), and SoPlex::solve().
const char * getRatiotesterName | ( | ) |
name of currently loaded ratiotester
Definition at line 5109 of file soplex.cpp.
References SoPlex::_solver, SPxRatioTester::getName(), and SPxSolver::ratiotester().
Referenced by SoPlex::solve().
bool getRedCostRational | ( | VectorRational & | vector | ) |
gets the vector of reduced cost values if available; returns true on success
Definition at line 3343 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(), printDualSolution(), and SoPlex::solve().
bool getRedCostReal | ( | VectorReal & | vector | ) |
gets the vector of reduced cost values if available; returns true on success
Definition at line 3033 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getRedCost(), SoPlex::hasDual(), and SoPlex::numColsReal().
Referenced by printDualSolution(), and SoPlex::solve().
gets violation of reduced costs; returns true on success
Definition at line 3477 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::printSolutionStatistics(), and SoPlex::solve().
gets violation of reduced costs; returns true on success
Definition at line 3144 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::printSolutionStatistics(), SoPlex::solve(), and Validation::validateSolveReal().
void getRhsReal | ( | DVectorReal & | rhs | ) | const |
gets right-hand side vector
Definition at line 891 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getRhsUnscaled().
void getRowRational | ( | int | i, |
LPRowRational & | lprow | ||
) | const |
gets row i
Definition at line 1134 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 1143 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 865 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 3424 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::printSolutionStatistics(), and SoPlex::solve().
gets violation of constraints; returns true on success
Definition at line 3102 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::printSolutionStatistics(), SoPlex::solve(), and Validation::validateSolveReal().
const char * getScalerName | ( | ) |
name of scaling method
name of scaling method after simplifier
Definition at line 5090 of file soplex.cpp.
References SoPlex::_scaler, and SPxScaler::getName().
Referenced by SoPlex::solve().
const char * getSimplifierName | ( | ) |
name of simplifier
Definition at line 5079 of file soplex.cpp.
References SoPlex::_simplifier, and SPxSimplifier::getName().
Referenced by SoPlex::solve().
bool getSlacksRational | ( | VectorRational & | vector | ) |
gets the vector of slack values if available; returns true on success
Definition at line 3298 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::solve().
bool getSlacksReal | ( | VectorReal & | vector | ) |
gets the vector of slack values if available; returns true on success
Definition at line 2988 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getSlacks(), SoPlex::hasPrimal(), and SoPlex::numRowsReal().
Referenced by SoPlex::solve().
const char * getStarterName | ( | ) |
name of starter
Definition at line 5068 of file soplex.cpp.
References SoPlex::_starter, and SPxStarter::getName().
Referenced by SoPlex::solve().
void getUpperReal | ( | DVectorReal & | upper | ) | const |
gets upper bound vector
Definition at line 981 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getUpperUnscaled().
bool hasBasis | ( | ) | const |
is an advanced starting basis available?
Definition at line 3848 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(), main(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), and SoPlex::solve().
bool hasDual | ( | ) | const |
is a dual feasible solution available?
Definition at line 2936 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 2944 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 2912 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 2920 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().
int intParam | ( | const IntParam | param | ) | const |
returns integer parameter value
Definition at line 5538 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 2928 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 2904 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 1179 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 1188 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 927 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 909 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 6361 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 1251 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 1260 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 999 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 990 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 1125 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 833 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 1298 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 1308 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 1047 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 1037 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 1116 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 824 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 4660 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::solve().
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 4770 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::solve().
int numColsRational | ( | ) | const |
returns number of columns
Definition at line 1098 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 806 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 5036 of file soplex.cpp.
References SoPlex::_statistics, and SoPlex::Statistics::iterations.
Referenced by SoPlex::solve(), and SoPlex::statisticString().
int numNonzerosRational | ( | ) | const |
returns number of nonzeros
Definition at line 1107 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::nNzos().
int numNonzerosReal | ( | ) | const |
returns number of nonzeros
Definition at line 815 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::nNzos().
Referenced by main().
int numRowsRational | ( | ) | const |
returns number of rows
Definition at line 1089 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 797 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 1288 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 1027 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 3252 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::printSolutionStatistics(), and SoPlex::solve().
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 2952 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 main(), SoPlex::printShortStatistics(), SoPlex::printSolutionStatistics(), SoPlex::solve(), and Validation::validateSolveReal().
assignment operator
Definition at line 621 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 2801 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 6410 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::Settings::boolParam, SoPlex::BOOLPARAM_COUNT, SoPlex::Settings::intParam, SoPlex::INTPARAM_COUNT, MSG_INFO1, SoPlex::Settings::BoolParam::name, SoPlex::Settings::IntParam::name, SoPlex::Settings::RealParam::name, soplex::readStringRational(), REAL_FORMAT, SoPlex::Settings::realParam, SoPlex::REALPARAM_COUNT, SET_MAX_LINE_LEN, SoPlex::setBoolParam(), SoPlex::setIntParam(), SoPlex::setRandomSeed(), SoPlex::setRealParam(), SPX_MAXSTRLEN, 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 3426 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 3536 of file solvedbds.cpp.
References SoPlex::maxAbsNonzero, SoPlex::minAbsNonzero, SoPlex::numNonzeros, SoPlex::numProbCols, SoPlex::numProbRows, SoPlex::origCountBoxed, 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 6754 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 6668 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 6745 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 6767 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 6790 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::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 6217 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 6856 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 7163 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 5196 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 main(), and SoPlex::solve().
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 5118 of file soplex.cpp.
References SoPlex::_colNames, SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::_rowNames, SoPlex::intParam(), SoPlex::READMODE, and SoPlex::READMODE_REAL.
Referenced by main(), and SoPlex::solve().
returns real parameter value
Definition at line 5548 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 2748 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 1862 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 2672 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 1788 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 2699 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 2729 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 1814 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 1843 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 2654 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 1770 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 2577 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 1696 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 2604 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 2635 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 1722 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 1751 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 6198 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 1161 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 1170 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 900 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 882 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 1197 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 936 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 1152 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 856 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 6276 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 4995 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::solve().
bool setBoolParam | ( | const BoolParam | param, |
const bool | value, | ||
const bool | init = true |
||
) |
sets boolean parameter value; returns true on success
Definition at line 5578 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::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 1072 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 1080 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 5632 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 7155 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 5986 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 6170 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 5570 of file soplex.cpp.
References SoPlex::_currentSettings.
Referenced by SoPlex::Settings::Settings().
SPxSolver::Status solve | ( | ) |
Definition at line 573 of file soplex.h.
References 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::hasDual(), SoPlex::hasDualFarkas(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), SoPlex::isDualFeasible(), SoPlex::isPrimalFeasible(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SoPlex::numIterations(), SoPlex::objValueRational(), SoPlex::objValueReal(), SoPlex::optimize(), SoPlex::readBasisFile(), SoPlex::readFile(), SoPlex::setBasis(), SoPlex::solveTime(), SoPlex::statisticString(), SoPlex::status(), SoPlex::totalSizeDualRational(), SoPlex::totalSizePrimalRational(), SoPlex::writeBasisFile(), SoPlex::writeDualFileReal(), SoPlex::writeFileRational(), SoPlex::writeFileReal(), SoPlex::writeStateRational(), and SoPlex::writeStateReal().
Real solveTime | ( | ) | const |
time spent in last call to solve
Definition at line 5044 of file soplex.cpp.
References SoPlex::_statistics, SoPlex::Statistics::solvingTime, and Timer::time().
Referenced by SoPlex::_formDecompReducedProblem(), SoPlex::solve(), and SoPlex::statisticString().
std::string statisticString | ( | ) | const |
statistical information in form of a string
Definition at line 5052 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::solve().
SPxSolver::Status status | ( | ) | const |
returns the current solver status
Definition at line 2896 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 2790 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 1901 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 3778 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SoPlex::hasDual(), SoPlex::hasDualFarkas(), and SolBase< R >::totalSizeDual().
Referenced by SoPlex::printSolutionStatistics(), and SoPlex::solve().
int totalSizePrimalRational | ( | const int | base = 2 | ) |
get size of primal solution
Definition at line 3764 of file soplex.cpp.
References SoPlex::_solRational, SoPlex::_syncRationalSolution(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), and SolBase< R >::totalSizePrimal().
Referenced by SoPlex::printSolutionStatistics(), and SoPlex::solve().
const VectorRational & upperRational | ( | ) | const |
returns upper bound vector
Definition at line 1233 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 1242 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 972 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 963 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 5389 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(), main(), SoPlex::solve(), 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 5181 of file soplex.cpp.
References SoPlex::_realLP, SPxLPBase< R >::buildDualProblem(), SPxLPBase< R >::setOutstream(), SoPlex::spxout, and SPxLPBase< R >::writeFile().
Referenced by main(), and SoPlex::solve().
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 5162 of file soplex.cpp.
References SoPlex::_rationalLP, SoPlex::intParam(), SoPlex::SYNCMODE, SoPlex::SYNCMODE_ONLYREAL, and SPxLPBase< R >::writeFile().
Referenced by SoPlex::solve(), 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 5136 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 main(), SoPlex::solve(), 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 5508 of file soplex.cpp.
References SoPlex::saveSettingsFile(), SoPlex::writeBasisFile(), and SoPlex::writeFileRational().
Referenced by SoPlex::solve().
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 5487 of file soplex.cpp.
References SoPlex::saveSettingsFile(), SoPlex::writeBasisFile(), and SoPlex::writeFileReal().
Referenced by SoPlex::solve().
|
private |
Definition at line 1601 of file soplex.h.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::operator=(), and SoPlex::SoPlex().
|
private |
Definition at line 1816 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 1815 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 1642 of file soplex.h.
Referenced by SoPlex::_lift(), and SoPlex::_project().
|
private |
Definition at line 1641 of file soplex.h.
Referenced by SoPlex::_lift(), and SoPlex::_project().
|
private |
Definition at line 1778 of file soplex.h.
Referenced by SoPlex::readFile().
Definition at line 1663 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 1736 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1728 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), and SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1724 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 1804 of file soplex.h.
Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::SoPlex().
|
private |
Definition at line 1555 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 1757 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_setComplementaryPrimalOriginalObjective(), and SoPlex::_updateComplementaryPrimalFixedPrimalVars().
Definition at line 1756 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::_updateDecompReducedProblem().
|
private |
Definition at line 1741 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1775 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex(), and SoPlex::printDecompDisplayLine().
Definition at line 1749 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompReducedProblem(), and SoPlex::getCompSlackVarCoeff().
Definition at line 1747 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1733 of file soplex.h.
Referenced by SoPlex::_formDecompReducedProblem(), and SoPlex::_solveDecompositionDualSimplex().
Definition at line 1750 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), and SoPlex::_updateComplementaryDualFixedPrimalVars().
|
private |
Definition at line 1593 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 1745 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 1744 of file soplex.h.
Referenced by SoPlex::_getZeroDualMultiplierIndices(), and SoPlex::_updateDecompComplementaryDualProblem().
Definition at line 1743 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 1738 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_getZeroDualMultiplierIndices(), and SoPlex::_solveDecompositionDualSimplex().
Definition at line 1742 of file soplex.h.
Referenced by SoPlex::_getCompatibleColumns(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1737 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 1730 of file soplex.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), and SoPlex::_formDecompReducedProblem().
Definition at line 1751 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), and SoPlex::_updateComplementaryDualFixedPrimalVars().
|
private |
Definition at line 1761 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::getDecompBoundViolation().
|
private |
Definition at line 1762 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getDecompRowViolation().
|
private |
Definition at line 1627 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1629 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1626 of file soplex.h.
Referenced by SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1628 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1630 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1765 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1822 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 1824 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 1823 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 1598 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 1600 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 1813 of file soplex.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::operator=(), SoPlex::printSolutionStatistics(), and SoPlex::SoPlex().
|
private |
Definition at line 1605 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1603 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1607 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1608 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1606 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1604 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1633 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1631 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1635 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1634 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1632 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1773 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), and SoPlex::_updateComplementaryPrimalFixedPrimalVars().
|
private |
Definition at line 1772 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), and SoPlex::_updateDecompComplementaryPrimalProblem().
|
private |
Definition at line 1759 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::getDecompBoundViolation().
|
private |
Definition at line 1760 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getDecompRowViolation().
|
private |
Definition at line 1771 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1770 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1769 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1768 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1767 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1831 of file soplex.h.
Referenced by SoPlex::_optimizeReal(), SoPlex::_reapplyPersistentScaling(), and SoPlex::SoPlex().
|
private |
Definition at line 1581 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1582 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1584 of file soplex.h.
Referenced by SoPlex::_solveRealStable(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1583 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1585 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1586 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1636 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1559 of file soplex.h.
Referenced by SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_untransformUnbounded(), SoPlex::getDualViolationRational(), and SoPlex::setRealParam().
|
private |
Definition at line 1616 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 1617 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 1618 of file soplex.h.
Referenced by SoPlex::_computeBasisInverseRational(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::computeBasisInverseRational(), and SoPlex::getBasisIndRational().
|
private |
Definition at line 1561 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), and SoPlex::setRealParam().
|
private |
Definition at line 1558 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 1835 of file soplex.h.
Referenced by SoPlex::_transformFeasibility(), and SoPlex::operator=().
|
private |
Definition at line 1560 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_project(), and SoPlex::setRealParam().
|
private |
Definition at line 1557 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 1834 of file soplex.h.
Referenced by SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_transformFeasibility(), SoPlex::_untransformUnbounded(), and SoPlex::operator=().
|
private |
Definition at line 1836 of file soplex.h.
Referenced by SoPlex::_transformEquality(), SoPlex::objValueRational(), and SoPlex::operator=().
|
private |
Definition at line 1590 of file soplex.h.
Referenced by SoPlex::operator=(), SoPlex::setBoolParam(), and SoPlex::setIntParam().
|
private |
Definition at line 1589 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1588 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1587 of file soplex.h.
Referenced by SoPlex::_solveRealStable(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1592 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 1777 of file soplex.h.
Referenced by SoPlex::readFile().
Definition at line 1664 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 1595 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 1573 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1574 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1575 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1576 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1577 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1572 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1594 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 1571 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1620 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_transformEquality(), and SoPlex::_untransformEquality().
|
private |
Definition at line 1570 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_solveRealStable(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1819 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 1818 of file soplex.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), 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 1569 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 1596 of file soplex.h.
Referenced by SoPlex::getStarterName(), and SoPlex::setIntParam().
|
private |
Definition at line 1579 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1580 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1578 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
statistics since last call to solveReal() or solveRational()
Definition at line 1544 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 1812 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::operator=(), SoPlex::printShortStatistics(), SoPlex::printStatistics(), and SoPlex::status().
|
private |
Definition at line 1640 of file soplex.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1638 of file soplex.h.
Referenced by SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1637 of file soplex.h.
Referenced by SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1625 of file soplex.h.
Referenced by SoPlex::_transformFeasibility().
|
private |
Definition at line 1732 of file soplex.h.
Referenced by SoPlex::_computeReducedProbObjCoeff().
|
private |
Definition at line 1734 of file soplex.h.
Referenced by SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_updateDecompReducedProblem(), and SoPlex::_updateDecompReducedProblemViol().
|
private |
Definition at line 1623 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1621 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1624 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1622 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1639 of file soplex.h.
Referenced by SoPlex::_unitVectorRational(), and SoPlex::~SoPlex().
|
private |
Definition at line 1832 of file soplex.h.
Referenced by SoPlex::_optimizeReal(), SoPlex::_reapplyPersistentScaling(), SoPlex::_verifySolutionReal(), and SoPlex::SoPlex().
|
private |
Definition at line 1820 of file soplex.h.
Referenced by SoPlex::_factorizeColumnRational(), and SoPlex::_reconstructSolutionRational().
|
private |
Definition at line 1791 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1790 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1784 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1782 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1781 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblem(), and SoPlex::printDecompDisplayLine().
|
private |
Definition at line 1789 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1788 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1787 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1783 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1795 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1796 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1801 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1798 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1793 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1800 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1799 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1794 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
mutable |
Definition at line 1444 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().