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 | hasPrimal () const |
is a primal feasible solution available? More... | |
bool | hasPrimalRay () const |
is a primal unbounded ray available? 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 | 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=false) 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 real solution with rational solution, i.e., copies real solution to rational solution More... | |
void | _syncRationalSolution () |
synchronizes rational solution with real solution, i.e., copies (rounded) rational solution to real 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 550 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::_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 725 of file soplex.cpp.
References SoPlex::_currentSettings, SoPlex::_statistics, and soplex::spx_alloc().
|
virtual |
destructor
Definition at line 743 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 7323 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 7348 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 7366 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 7270 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 7288 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 7306 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 7661 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 7687 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 7550 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 7710 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 7418 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 7440 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 7577 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 7601 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 7501 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 7527 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 7459 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 7483 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 7393 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 7619 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 7643 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 2691 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 8169 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 3518 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 2853 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 7922 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 7876 of file soplex.cpp.
References SoPlex::_scaler, SoPlex::_scalerBiequi, SoPlex::_scalerGeo1, SoPlex::_scalerGeo8, 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_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 7107 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 7936 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 7949 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::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 3225 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 93 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 3571 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 2797 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 3041 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 7117 of file soplex.cpp.
Referenced by SoPlex::removeColsRational(), SoPlex::removeColsReal(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
|
private |
invalidates solution
Definition at line 7861 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 7150 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 7176 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 1575 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 632 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 7254 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::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 8298 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(), and SoPlex::spxout.
Referenced by SoPlex::loadSettingsFile().
|
private |
performs iterative refinement on the auxiliary problem for testing feasibility
Definition at line 1475 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, SolBase< R >::_dualObjVal, 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 >::_primal, SoPlex::_primalDualDiff, SolBase< R >::_primalObjVal, 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 1409 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 185 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, 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 1753 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 7138 of file soplex.cpp.
Referenced by SoPlex::removeColRangeRational(), SoPlex::removeColRangeReal(), SoPlex::removeRowRangeRational(), and SoPlex::removeRowRangeReal().
|
private |
determines RangeType from rational bounds
Definition at line 7216 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 7191 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 8122 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 8081 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 82 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 8195 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 8182 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 3976 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 7797 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 7826 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 2841 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 7733 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 7762 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 286 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 2377 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 1868 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 3108 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 3178 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 3080 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 7976 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 3310 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 2360 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 1847 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 410 of file solvereal.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SolBase< R >::_dual, SolBase< R >::_dualFarkas, SolBase< R >::_dualObjVal, SoPlex::_hasBasis, SolBase< R >::_hasDualFarkas, SolBase< R >::_hasPrimalRay, SoPlex::_hasSolReal, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_isRealLPLoaded, SoPlex::_isRealLPScaled, SoPlex::_loadRealLP(), SoPlex::_preprocessAndSolveReal(), SolBase< R >::_primal, SolBase< R >::_primalObjVal, SolBase< R >::_primalRay, SoPlex::_realLP, SolBase< R >::_redCost, SoPlex::_scaler, 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, SolBase< R >::isDualFeasible(), SolBase< R >::isPrimalFeasible(), 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 562 of file solvereal.cpp.
References SoPlex::_basisStatusCols, SoPlex::_basisStatusRows, SolBase< R >::_dual, SolBase< R >::_dualObjVal, SoPlex::_hasBasis, SoPlex::_hasSolReal, SolBase< R >::_isDualFeasible, SolBase< R >::_isPrimalFeasible, SoPlex::_isRealLPScaled, SoPlex::_loadRealLP(), SoPlex::_preprocessAndSolveReal(), SolBase< R >::_primal, SolBase< R >::_primalObjVal, 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 7241 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 8232 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 8208 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 rational solution with real solution, i.e., copies (rounded) rational solution to real solution
Definition at line 8263 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 real solution with rational solution, i.e., copies real solution to rational solution
Definition at line 8251 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 1923 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 2392 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 2118 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 8275 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 645 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 2002 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 2658 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 2235 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 2904 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 2760 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 3070 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 2449 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 7262 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 359 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 4028 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 1983 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 1340 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 2050 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 1358 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 1899 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 1304 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 1964 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 1322 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 6832 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 3882 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 3857 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 3836 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 5490 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 2412 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 2432 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 1600 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 1619 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 2272 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 1506 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 2528 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 1668 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 2089 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 2109 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 1395 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 1414 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 2292 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 2312 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 1525 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 1545 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 2472 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 2490 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 1636 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 1652 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 2212 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 2232 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 1469 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 1488 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 2149 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 2193 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 1432 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 1451 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 2069 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 1376 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 2352 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 2372 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 1563 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 1582 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 3331 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 4988 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 2753 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 1867 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 829 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 1211 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 932 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 4841 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 3760 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 3786 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 3772 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 3814 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 3800 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 3918 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 3958 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 4869 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 4909 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
unscale | determines whether the result should be unscaled according to the original LP data |
Definition at line 4253 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 4885 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
unscale | determines whether the result should be unscaled according to the original LP data |
Definition at line 4067 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 4934 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 4458 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 3353 of file soplex.cpp.
References SolBase< R >::_primal, SoPlex::_solRational, SoPlex::_syncLPRational(), SoPlex::_syncRationalSolution(), VectorBase< R >::dim(), SoPlex::hasPrimal(), SoPlex::intParam(), 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 3038 of file soplex.cpp.
References SolBase< R >::_primal, SoPlex::_realLP, SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SoPlex::hasPrimal(), SPxLPBase< R >::lowerUnscaled(), SoPlex::numColsReal(), and SPxLPBase< R >::upperUnscaled().
Referenced by SoPlex::_verifySolutionReal(), checkSolutionReal(), SoPlex::printSolutionStatistics(), and SoPlex::solve().
void getColRational | ( | int | i, |
LPColRational & | lpcol | ||
) | const |
gets column i
Definition at line 1193 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 1202 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 941 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 3555 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 3602 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 3680 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 3338 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(), and SoPlex::solve().
bool getDualFarkasReal | ( | VectorReal & | vector | ) |
gets the Farkas proof if available; returns true on success
Definition at line 3023 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getDualFarkas(), SoPlex::hasDualFarkas(), and SoPlex::numRowsReal().
Referenced by main(), 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 1051 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 3308 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(), main(), and SoPlex::solve().
bool getDualReal | ( | VectorReal & | vector | ) |
gets the dual solution vector if available; returns true on success
Definition at line 2993 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getDual(), SoPlex::hasDual(), and SoPlex::numRowsReal().
Referenced by main(), and SoPlex::solve().
gets violation of dual multipliers; returns true on success
Definition at line 3538 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::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 3173 of file soplex.cpp.
References SolBase< R >::_dual, SoPlex::_solReal, SoPlex::_syncRealSolution(), SoPlex::basisRowStatus(), VectorBase< R >::dim(), SPxSolver::FIXED, SoPlex::hasBasis(), SoPlex::hasDual(), SoPlex::intParam(), SoPlex::numRowsReal(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::ON_LOWER, and SPxSolver::ON_UPPER.
Referenced by SoPlex::_verifySolutionReal(), checkSolutionReal(), SoPlex::printSolutionStatistics(), and SoPlex::solve().
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 4037 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 4052 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 3383 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().
void getLhsReal | ( | DVectorReal & | lhs | ) | const |
gets left-hand side vector
Definition at line 905 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getLhsUnscaled().
void getLowerReal | ( | DVectorReal & | lower | ) | const |
gets lower bound vector
Definition at line 995 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 1043 of file soplex.cpp.
References SoPlex::_solver, and SPxSolver::getNdualNorms().
void getObjRational | ( | VectorRational & | obj | ) | const |
gets objective function vector
Definition at line 1256 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 1265 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 1005 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 3973 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 3783 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 3464 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 3402 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 3196 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 5064 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 3263 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(), main(), and SoPlex::solve().
bool getPrimalRayRational | ( | VectorRational & | vector | ) |
gets the primal ray if LP is unbounded; returns true on success
Definition at line 3293 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(), and SoPlex::solve().
bool getPrimalRayReal | ( | VectorReal & | vector | ) |
gets the primal ray if available; returns true on success
Definition at line 2978 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getPrimalRay(), SoPlex::hasPrimalRay(), and SoPlex::numColsReal().
Referenced by main(), and SoPlex::solve().
bool getPrimalReal | ( | VectorReal & | vector | ) |
gets the primal solution vector if available; returns true on success
Definition at line 2948 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getPrimal(), SoPlex::hasPrimal(), and SoPlex::numColsReal().
Referenced by main(), and SoPlex::solve().
const char * getRatiotesterName | ( | ) |
name of currently loaded ratiotester
Definition at line 5072 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 3323 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(), and SoPlex::solve().
bool getRedCostReal | ( | VectorReal & | vector | ) |
gets the vector of reduced cost values if available; returns true on success
Definition at line 3008 of file soplex.cpp.
References SoPlex::_solReal, SoPlex::_syncRealSolution(), VectorBase< R >::dim(), SolBase< R >::getRedCost(), SoPlex::hasDual(), and SoPlex::numColsReal().
Referenced by SoPlex::solve().
gets violation of reduced costs; returns true on success
Definition at line 3457 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::hasDual(), SoPlex::hasPrimal(), SoPlex::intParam(), 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 3119 of file soplex.cpp.
References SolBase< R >::_redCost, SoPlex::_solReal, SoPlex::_syncRealSolution(), SoPlex::basisColStatus(), VectorBase< R >::dim(), SPxSolver::FIXED, SoPlex::hasBasis(), SoPlex::hasDual(), SoPlex::intParam(), SoPlex::numColsReal(), SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE, SPxSolver::ON_LOWER, and SPxSolver::ON_UPPER.
Referenced by SoPlex::_verifySolutionReal(), checkSolutionReal(), SoPlex::printSolutionStatistics(), and SoPlex::solve().
void getRhsReal | ( | DVectorReal & | rhs | ) | const |
gets right-hand side vector
Definition at line 878 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getRhsUnscaled().
void getRowRational | ( | int | i, |
LPRowRational & | lprow | ||
) | const |
gets row i
Definition at line 1121 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 1130 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 852 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 3404 of file soplex.cpp.
References SolBase< R >::_primal, SoPlex::_rationalLP, SoPlex::_solRational, SoPlex::_syncLPRational(), SoPlex::_syncRationalSolution(), SPxLPBase< R >::computePrimalActivity(), VectorBase< R >::dim(), SoPlex::hasPrimal(), SoPlex::intParam(), 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 3077 of file soplex.cpp.
References SolBase< R >::_primal, SoPlex::_realLP, SoPlex::_solReal, SoPlex::_syncRealSolution(), SPxLPBase< R >::computePrimalActivity(), VectorBase< R >::dim(), SoPlex::hasPrimal(), SPxLPBase< R >::lhsUnscaled(), SoPlex::numColsReal(), SoPlex::numRowsReal(), and SPxLPBase< R >::rhsUnscaled().
Referenced by SoPlex::_verifySolutionReal(), checkSolutionReal(), SoPlex::printSolutionStatistics(), and SoPlex::solve().
const char * getScalerName | ( | ) |
name of scaling method
name of scaling method after simplifier
Definition at line 5053 of file soplex.cpp.
References SoPlex::_scaler, and SPxScaler::getName().
Referenced by SoPlex::solve().
const char * getSimplifierName | ( | ) |
name of simplifier
Definition at line 5042 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 3278 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 2963 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 5031 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 968 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::getUpperUnscaled().
bool hasBasis | ( | ) | const |
is an advanced starting basis available?
Definition at line 3828 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 2906 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, SoPlex::_solReal, and SolBase< R >::isDualFeasible().
Referenced by SoPlex::basisStatus(), checkSolutionRational(), checkSolutionReal(), SoPlex::dlcmSizeDualRational(), SoPlex::dmaxSizeDualRational(), SoPlex::getDualRational(), SoPlex::getDualReal(), SoPlex::getDualViolationRational(), SoPlex::getDualViolationReal(), SoPlex::getRedCostRational(), SoPlex::getRedCostReal(), SoPlex::getRedCostViolationRational(), SoPlex::getRedCostViolationReal(), SoPlex::objValueRational(), SoPlex::objValueReal(), SoPlex::solve(), and SoPlex::totalSizeDualRational().
bool hasDualFarkas | ( | ) | const |
is Farkas proof of infeasibility available?
Definition at line 2914 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 2890 of file soplex.cpp.
References SoPlex::_hasSolRational, SoPlex::_hasSolReal, SoPlex::_solRational, SoPlex::_solReal, and SolBase< R >::isPrimalFeasible().
Referenced by SoPlex::basisStatus(), checkSolutionRational(), checkSolutionReal(), SoPlex::dlcmSizePrimalRational(), SoPlex::dmaxSizePrimalRational(), SoPlex::getBoundViolationRational(), SoPlex::getBoundViolationReal(), SoPlex::getDualViolationRational(), SoPlex::getPrimalRational(), SoPlex::getPrimalReal(), SoPlex::getRedCostViolationRational(), SoPlex::getRowViolationRational(), SoPlex::getRowViolationReal(), 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 2898 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 5500 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().
const VectorRational & lhsRational | ( | ) | const |
returns left-hand side vector
Definition at line 1166 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 1175 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 914 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 896 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 6295 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 1238 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 1247 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 986 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 977 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 1112 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 820 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 1285 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 1295 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 1034 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 1024 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 1103 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 811 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)
unscale | determines whether the result should be unscaled according to the original LP data |
Definition at line 4623 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)
unscale | determines whether the result should be unscaled according to the original LP data |
Definition at line 4733 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 1085 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(), main(), SoPlex::removeColRangeRational(), SoPlex::removeColsRational(), and SoPlex::removeColsReal().
int numColsReal | ( | ) | const |
returns number of columns
Definition at line 793 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(), SoPlex::readBasisFile(), SoPlex::removeColRangeReal(), SoPlex::removeColsReal(), and SoPlex::setBasis().
int numIterations | ( | ) | const |
number of iterations since last call to solve
Definition at line 4999 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 1094 of file soplex.cpp.
References SoPlex::_rationalLP, and SPxLPBase< R >::nNzos().
int numNonzerosReal | ( | ) | const |
returns number of nonzeros
Definition at line 802 of file soplex.cpp.
References SoPlex::_realLP, and SPxLPBase< R >::nNzos().
Referenced by main().
int numRowsRational | ( | ) | const |
returns number of rows
Definition at line 1076 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(), main(), SoPlex::removeRowRangeRational(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
int numRowsReal | ( | ) | const |
returns number of rows
Definition at line 784 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(), SoPlex::readBasisFile(), SoPlex::removeRowRangeReal(), SoPlex::removeRowsReal(), and SoPlex::setBasis().
Rational objRational | ( | int | i | ) | const |
returns objective value of column i
Definition at line 1275 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 1014 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 3227 of file soplex.cpp.
References SolBase< R >::_dualObjVal, SolBase< R >::_primalObjVal, 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 2922 of file soplex.cpp.
References SolBase< R >::_dualObjVal, SolBase< R >::_primalObjVal, SoPlex::_solReal, SoPlex::_syncRealSolution(), SoPlex::hasDual(), SoPlex::hasPrimal(), SPxSolver::INFEASIBLE, SoPlex::INFTY, SoPlex::intParam(), SoPlex::OBJ_OFFSET, SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE, SoPlex::OBJSENSE_MINIMIZE, SoPlex::realParam(), SoPlex::status(), and SPxSolver::UNBOUNDED.
Referenced by main(), SoPlex::printShortStatistics(), SoPlex::printSolutionStatistics(), and SoPlex::solve().
assignment operator
Definition at line 610 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::_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 2788 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 6344 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(), and SoPlex::spxout.
Referenced by main().
|
private |
prints a display line of the flying table for the DBDS
print display line of flying table
Definition at line 3422 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 3532 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 6688 of file soplex.cpp.
References SoPlex::_statistics, SoPlex::_status, SoPlex::Statistics::iterations, SoPlex::objValueReal(), SoPlex::printStatus(), SoPlex::Statistics::solvingTime, and Timer::time().
Referenced by SoPlex::optimize().
void printSolutionStatistics | ( | std::ostream & | os | ) |
prints solution statistics
Definition at line 6599 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, 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 6679 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 6699 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, and SoPlex::USEDECOMPDUALSIMPLEX.
Referenced by main().
void printStatus | ( | std::ostream & | os, |
SPxSolver::Status | status | ||
) |
prints status
Definition at line 6726 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 6162 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, 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, and SoPlex::spxout.
Referenced by main().
void printVersion | ( | ) | const |
prints version and compilation options
Definition at line 6792 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 7099 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 5158 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 5081 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 5510 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(), and SoPlex::setRealParam().
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 2735 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 1849 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 2659 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 1775 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 2686 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 2716 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 1801 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 1830 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 2641 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 1757 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 2564 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 1683 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 2591 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 2622 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 1709 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 1738 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 6143 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 1148 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 1157 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 887 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 869 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 1184 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 923 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 1139 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 843 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 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, 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, 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 4958 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 5540 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 1059 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 1067 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 5594 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::_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, 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, SoPlex::POLISHING_MAXBASICSLACK, SoPlex::POLISHING_MINBASICSLACK, SoPlex::POLISHING_OFF, SoPlex::PRICER, SoPlex::PRICER_AUTO, SoPlex::PRICER_DANTZIG, SoPlex::PRICER_DEVEX, SoPlex::PRICER_PARMULT, SoPlex::PRICER_QUICKSTEEP, SoPlex::PRICER_STEEP, 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_LEASTSQ, SoPlex::SCALER_OFF, SoPlex::SCALER_UNIEQUI, 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 7091 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 5936 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_ZERO, 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 6115 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 5532 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::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::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 5007 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 5015 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 2882 of file soplex.cpp.
References SoPlex::_status.
Referenced by SoPlex::_storeSolutionReal(), SoPlex::basisStatus(), SoPlex::objValueRational(), SoPlex::objValueReal(), SoPlex::optimize(), and SoPlex::solve().
void syncLPRational | ( | ) |
synchronizes rational LP with real LP, i.e., copies real LP to rational LP, if sync mode is manual
Definition at line 2777 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 1888 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 3758 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 3744 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 1220 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 1229 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 959 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 950 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 5351 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 5144 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 5125 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 = false |
||
) | 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 5099 of file soplex.cpp.
References SoPlex::_realLP, SPxLPBase< R >::isScaled(), soplex::spx_alloc(), soplex::spx_free(), 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 5470 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 5449 of file soplex.cpp.
References SoPlex::saveSettingsFile(), SoPlex::writeBasisFile(), and SoPlex::writeFileReal().
Referenced by SoPlex::solve().
|
private |
Definition at line 1572 of file soplex.h.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::operator=(), and SoPlex::SoPlex().
|
private |
Definition at line 1787 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 1786 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 1613 of file soplex.h.
Referenced by SoPlex::_lift(), and SoPlex::_project().
|
private |
Definition at line 1612 of file soplex.h.
Referenced by SoPlex::_lift(), and SoPlex::_project().
|
private |
Definition at line 1749 of file soplex.h.
Referenced by SoPlex::readFile().
Definition at line 1634 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 1707 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1699 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), and SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1695 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 1775 of file soplex.h.
Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::SoPlex().
|
private |
Definition at line 1527 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 1728 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_setComplementaryPrimalOriginalObjective(), and SoPlex::_updateComplementaryPrimalFixedPrimalVars().
Definition at line 1727 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::_updateDecompReducedProblem().
|
private |
Definition at line 1712 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1746 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex(), and SoPlex::printDecompDisplayLine().
Definition at line 1720 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompReducedProblem(), and SoPlex::getCompSlackVarCoeff().
Definition at line 1718 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1704 of file soplex.h.
Referenced by SoPlex::_formDecompReducedProblem(), and SoPlex::_solveDecompositionDualSimplex().
Definition at line 1721 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), and SoPlex::_updateComplementaryDualFixedPrimalVars().
|
private |
Definition at line 1564 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 1716 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 1715 of file soplex.h.
Referenced by SoPlex::_getZeroDualMultiplierIndices(), and SoPlex::_updateDecompComplementaryDualProblem().
Definition at line 1714 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 1709 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_getZeroDualMultiplierIndices(), and SoPlex::_solveDecompositionDualSimplex().
Definition at line 1713 of file soplex.h.
Referenced by SoPlex::_getCompatibleColumns(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1708 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 1701 of file soplex.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), and SoPlex::_formDecompReducedProblem().
Definition at line 1722 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), and SoPlex::_updateComplementaryDualFixedPrimalVars().
|
private |
Definition at line 1732 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::getDecompBoundViolation().
|
private |
Definition at line 1733 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getDecompRowViolation().
|
private |
Definition at line 1598 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1600 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1597 of file soplex.h.
Referenced by SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1599 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1601 of file soplex.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_transformFeasibility(), and SoPlex::_untransformFeasibility().
|
private |
Definition at line 1736 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1793 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 1795 of file soplex.h.
Referenced by SoPlex::_invalidateSolution(), SoPlex::_optimizeRational(), SoPlex::_restoreLPReal(), SoPlex::_syncRationalSolution(), SoPlex::_syncRealSolution(), SoPlex::hasDual(), SoPlex::hasDualFarkas(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), and SoPlex::operator=().
|
private |
Definition at line 1794 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(), 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::_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::multBasis(), SoPlex::multBasisTranspose(), SoPlex::operator=(), SoPlex::readBasisFile(), SoPlex::setBasis(), SoPlex::SoPlex(), and SoPlex::writeBasisFile().
|
private |
Definition at line 1571 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 1784 of file soplex.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_optimizeReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::operator=(), SoPlex::printSolutionStatistics(), and SoPlex::SoPlex().
|
private |
Definition at line 1576 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1574 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1578 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1579 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1577 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1575 of file soplex.h.
Referenced by SoPlex::_restoreLPReal(), and SoPlex::_storeLPReal().
|
private |
Definition at line 1604 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1602 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1606 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1605 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1603 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1744 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), and SoPlex::_updateComplementaryPrimalFixedPrimalVars().
|
private |
Definition at line 1743 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), and SoPlex::_updateDecompComplementaryPrimalProblem().
|
private |
Definition at line 1730 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::getDecompBoundViolation().
|
private |
Definition at line 1731 of file soplex.h.
Referenced by SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblemViol(), and SoPlex::getDecompRowViolation().
|
private |
Definition at line 1742 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualSlackColCoeff(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1741 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1740 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), and SoPlex::getOriginalProblemBasisRowStatus().
|
private |
Definition at line 1739 of file soplex.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateComplementaryDualFixedPrimalVars(), and SoPlex::_updateDecompComplementaryDualProblem().
|
private |
Definition at line 1738 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 1802 of file soplex.h.
Referenced by SoPlex::_optimizeReal(), SoPlex::_reapplyPersistentScaling(), and SoPlex::SoPlex().
|
private |
Definition at line 1552 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1553 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1555 of file soplex.h.
Referenced by SoPlex::_solveRealStable(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1554 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1556 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1557 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1607 of file soplex.h.
Referenced by SoPlex::_performOptIRStable().
|
private |
Definition at line 1531 of file soplex.h.
Referenced by SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_untransformUnbounded(), SoPlex::getDualViolationRational(), and SoPlex::setRealParam().
|
private |
Definition at line 1587 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 1588 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 1589 of file soplex.h.
Referenced by SoPlex::_computeBasisInverseRational(), SoPlex::_factorizeColumnRational(), SoPlex::_isConsistent(), SoPlex::computeBasisInverseRational(), and SoPlex::getBasisIndRational().
|
private |
Definition at line 1533 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), and SoPlex::setRealParam().
|
private |
Definition at line 1530 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 1806 of file soplex.h.
Referenced by SoPlex::_transformFeasibility(), and SoPlex::operator=().
|
private |
Definition at line 1532 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_project(), and SoPlex::setRealParam().
|
private |
Definition at line 1529 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 1805 of file soplex.h.
Referenced by SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_transformFeasibility(), SoPlex::_untransformUnbounded(), and SoPlex::operator=().
|
private |
Definition at line 1807 of file soplex.h.
Referenced by SoPlex::_transformEquality(), SoPlex::objValueRational(), and SoPlex::operator=().
|
private |
Definition at line 1561 of file soplex.h.
Referenced by SoPlex::operator=(), SoPlex::setBoolParam(), and SoPlex::setIntParam().
|
private |
Definition at line 1560 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1559 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1558 of file soplex.h.
Referenced by SoPlex::_solveRealStable(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1563 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 1748 of file soplex.h.
Referenced by SoPlex::readFile().
Definition at line 1635 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 1566 of file soplex.h.
Referenced by SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_disableSimplifierAndScaler(), SoPlex::_enableSimplifierAndScaler(), SoPlex::_optimizeReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_solveRealForRational(), SoPlex::_storeSolutionReal(), 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 1545 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1546 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1547 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1548 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1544 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1565 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 1543 of file soplex.h.
Referenced by SoPlex::_enableSimplifierAndScaler(), SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1591 of file soplex.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_transformEquality(), and SoPlex::_untransformEquality().
|
private |
Definition at line 1542 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_solveRealStable(), SoPlex::operator=(), SoPlex::setIntParam(), and SoPlex::SoPlex().
|
private |
Definition at line 1790 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::hasDual(), SoPlex::hasDualFarkas(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), SoPlex::objValueRational(), SoPlex::operator=(), SoPlex::totalSizeDualRational(), and SoPlex::totalSizePrimalRational().
|
private |
Definition at line 1789 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::hasDual(), SoPlex::hasDualFarkas(), SoPlex::hasPrimal(), SoPlex::hasPrimalRay(), SoPlex::objValueReal(), and SoPlex::operator=().
|
private |
Definition at line 1541 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::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 1567 of file soplex.h.
Referenced by SoPlex::getStarterName(), and SoPlex::setIntParam().
|
private |
Definition at line 1550 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1551 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
Definition at line 1549 of file soplex.h.
Referenced by SoPlex::operator=(), and SoPlex::setIntParam().
|
private |
statistics since last call to solveReal() or solveRational()
Definition at line 1516 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 1783 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 1611 of file soplex.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1609 of file soplex.h.
Referenced by SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1608 of file soplex.h.
Referenced by SoPlex::_restoreBasis(), and SoPlex::_storeBasis().
|
private |
Definition at line 1596 of file soplex.h.
Referenced by SoPlex::_transformFeasibility().
|
private |
Definition at line 1703 of file soplex.h.
Referenced by SoPlex::_computeReducedProbObjCoeff().
|
private |
Definition at line 1705 of file soplex.h.
Referenced by SoPlex::_getCompatibleBoundCons(), SoPlex::_getCompatibleColumns(), SoPlex::_updateDecompReducedProblem(), and SoPlex::_updateDecompReducedProblemViol().
|
private |
Definition at line 1594 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1592 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1595 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1593 of file soplex.h.
Referenced by SoPlex::_transformUnbounded(), and SoPlex::_untransformUnbounded().
|
private |
Definition at line 1610 of file soplex.h.
Referenced by SoPlex::_unitVectorRational(), and SoPlex::~SoPlex().
|
private |
Definition at line 1803 of file soplex.h.
Referenced by SoPlex::_optimizeReal(), SoPlex::_reapplyPersistentScaling(), SoPlex::_verifySolutionReal(), and SoPlex::SoPlex().
|
private |
Definition at line 1791 of file soplex.h.
Referenced by SoPlex::_factorizeColumnRational(), and SoPlex::_reconstructSolutionRational().
|
private |
Definition at line 1762 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1761 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1755 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1753 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1752 of file soplex.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_updateDecompReducedProblem(), and SoPlex::printDecompDisplayLine().
|
private |
Definition at line 1760 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1759 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1758 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1754 of file soplex.h.
Referenced by SoPlex::_solveDecompositionDualSimplex().
|
private |
Definition at line 1766 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1767 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1772 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1769 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1764 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1771 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1770 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
private |
Definition at line 1765 of file soplex.h.
Referenced by SoPlex::getOriginalProblemStatistics(), and SoPlex::printOriginalProblemStatistics().
|
mutable |
Definition at line 1416 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(), SoPlex::printUserSettings(), SoPlex::printVersion(), SoPlex::setIntParam(), SoPlex::setRealParam(), SoPlex::SoPlex(), and SoPlex::writeDualFileReal().