Saving LPs in a form suitable for SoPlex.Class SPxLPBase provides the data structures required for saving a linear program in the form
\[ \begin{array}{rl} \hbox{max} & c^T x \\ \hbox{s.t.} & l_r \le Ax \le u_r \\ & l_c \le x \le u_c \end{array} \]
suitable for solving with SoPlex. This includes: More...
#include <spxlpbase.h>
Public Types | |
Types | |
enum | SPxSense { MAXIMIZE = 1, MINIMIZE = -1 } |
Optimization sense. More... | |
Public Member Functions | |
void | setOutstream (SPxOut &newOutstream) |
void | unscaleLP () |
unscales the lp and clears basis More... | |
template<> | |
void | unscaleLP () |
template<> | |
void | computePrimalActivity (const VectorBase< Real > &primal, VectorBase< Real > &activity, const bool unscaled) const |
template<> | |
void | computeDualActivity (const VectorBase< Real > &dual, VectorBase< Real > &activity, const bool unscaled) const |
template<> | |
Real | maxAbsNzo (bool unscaled) const |
template<> | |
Real | minAbsNzo (bool unscaled) const |
template<> | |
void | getObjUnscaled (VectorBase< Real > &pobj) const |
template<> | |
void | getRowVectorUnscaled (int i, DSVectorBase< Real > &vec) const |
template<> | |
void | getRhsUnscaled (VectorBase< Real > &vec) const |
template<> | |
Real | rhsUnscaled (int i) const |
template<> | |
Real | rhsUnscaled (const SPxRowId &id) const |
template<> | |
void | getLhsUnscaled (VectorBase< Real > &vec) const |
template<> | |
Real | lhsUnscaled (int i) const |
template<> | |
Real | lhsUnscaled (const SPxRowId &id) const |
template<> | |
void | getColVectorUnscaled (int i, DSVectorBase< Real > &vec) const |
template<> | |
void | getColVectorUnscaled (const SPxColId &id, DSVectorBase< Real > &vec) const |
template<> | |
Real | objUnscaled (int i) const |
template<> | |
Real | objUnscaled (const SPxColId &id) const |
template<> | |
void | maxObjUnscaled (VectorBase< Real > &vec) const |
template<> | |
Real | maxObjUnscaled (int i) const |
template<> | |
Real | maxObjUnscaled (const SPxColId &id) const |
template<> | |
void | getUpperUnscaled (DVector &vec) const |
template<> | |
Real | upperUnscaled (int i) const |
template<> | |
Real | upperUnscaled (const SPxColId &id) const |
template<> | |
void | getLowerUnscaled (DVector &vec) const |
template<> | |
Real | lowerUnscaled (int i) const |
template<> | |
Real | lowerUnscaled (const SPxColId &id) const |
template<> | |
void | changeMaxObj (const VectorBase< Real > &newObj, bool scale) |
template<> | |
void | changeLower (const VectorBase< Real > &newLower, bool scale) |
template<> | |
void | changeUpper (const VectorBase< Real > &newUpper, bool scale) |
template<> | |
void | changeLhs (const VectorBase< Real > &newLhs, bool scale) |
template<> | |
void | changeRhs (const VectorBase< Real > &newRhs, bool scale) |
template<> | |
void | changeElement (int i, int j, const Real &val, bool scale) |
template<> | |
bool | readLPF (std::istream &p_input, NameSet *p_rnames, NameSet *p_cnames, DIdxSet *p_intvars) |
template<> | |
bool | readMPS (std::istream &p_input, NameSet *p_rnames, NameSet *p_cnames, DIdxSet *p_intvars) |
template<> | |
void | writeLPF (std::ostream &p_output, const NameSet *p_rnames, const NameSet *p_cnames, const DIdxSet *p_intvars) const |
template<> | |
void | writeMPS (std::ostream &p_output, const NameSet *p_rnames, const NameSet *p_cnames, const DIdxSet *p_intvars) const |
template<> | |
void | buildDualProblem (SPxLPBase< Real > &dualLP, SPxRowId primalRowIds[], SPxColId primalColIds[], SPxRowId dualRowIds[], SPxColId dualColIds[], int *nprimalrows, int *nprimalcols, int *ndualrows, int *ndualcols) |
template<> | |
void | computePrimalActivity (const VectorBase< Rational > &primal, VectorBase< Rational > &activity, const bool unscaled) const |
template<> | |
void | computeDualActivity (const VectorBase< Rational > &dual, VectorBase< Rational > &activity, const bool unscaled) const |
template<> | |
Rational | maxAbsNzo (bool) const |
template<> | |
Rational | minAbsNzo (bool) const |
template<> | |
bool | readLPF (std::istream &p_input, NameSet *p_rnames, NameSet *p_cnames, DIdxSet *p_intvars) |
Read LP in "CPLEX LP File Format". More... | |
template<> | |
bool | readMPS (std::istream &p_input, NameSet *p_rnames, NameSet *p_cnames, DIdxSet *p_intvars) |
template<> | |
void | writeLPF (std::ostream &p_output, const NameSet *p_rnames, const NameSet *p_cnames, const DIdxSet *p_intvars) const |
Write LP in LP Format. More... | |
template<> | |
void | writeMPS (std::ostream &p_output, const NameSet *p_rnames, const NameSet *p_cnames, const DIdxSet *p_intvars) const |
Write LP in MPS format. More... | |
template<> | |
void | buildDualProblem (SPxLPBase< Rational > &dualLP, SPxRowId primalRowIds[], SPxColId primalColIds[], SPxRowId dualRowIds[], SPxColId dualColIds[], int *nprimalrows, int *nprimalcols, int *ndualrows, int *ndualcols) |
Building the dual problem from a given LP. More... | |
template<> | |
void | unscaleLP () |
template<> | |
void | computePrimalActivity (const VectorBase< Real > &primal, VectorBase< Real > &activity, const bool unscaled) const |
template<> | |
void | computeDualActivity (const VectorBase< Real > &dual, VectorBase< Real > &activity, const bool unscaled) const |
template<> | |
Real | maxAbsNzo (bool unscaled) const |
template<> | |
Real | minAbsNzo (bool unscaled) const |
template<> | |
void | getObjUnscaled (VectorBase< Real > &pobj) const |
Gets unscaled objective vector. More... | |
template<> | |
void | getRowVectorUnscaled (int i, DSVectorBase< Real > &vec) const |
Gets unscaled row vector of row i . More... | |
template<> | |
void | getRhsUnscaled (VectorBase< Real > &vec) const |
Gets unscaled right hand side vector. More... | |
template<> | |
Real | rhsUnscaled (int i) const |
Returns unscaled right hand side of row number i . More... | |
template<> | |
Real | rhsUnscaled (const SPxRowId &id) const |
Returns unscaled right hand side of row with identifier id . More... | |
template<> | |
void | getLhsUnscaled (VectorBase< Real > &vec) const |
Returns unscaled left hand side vector. More... | |
template<> | |
Real | lhsUnscaled (int i) const |
Returns unscaled left hand side of row number i . More... | |
template<> | |
Real | lhsUnscaled (const SPxRowId &id) const |
Returns left hand side of row with identifier id . More... | |
template<> | |
void | getColVectorUnscaled (int i, DSVectorBase< Real > &vec) const |
Gets column vector of column i . More... | |
template<> | |
void | getColVectorUnscaled (const SPxColId &id, DSVectorBase< Real > &vec) const |
Gets column vector of column with identifier id . More... | |
template<> | |
Real | objUnscaled (int i) const |
Returns unscaled objective value of column i . More... | |
template<> | |
Real | objUnscaled (const SPxColId &id) const |
Returns unscaled objective value of column with identifier id . More... | |
template<> | |
void | maxObjUnscaled (VectorBase< Real > &vec) const |
Returns unscaled objective vector for maximization problem. More... | |
template<> | |
Real | maxObjUnscaled (int i) const |
Returns unscaled objective value of column i for maximization problem. More... | |
template<> | |
Real | maxObjUnscaled (const SPxColId &id) const |
Returns unscaled objective value of column with identifier id for maximization problem. More... | |
template<> | |
void | getUpperUnscaled (DVector &vec) const |
Returns unscaled upper bound vector. More... | |
template<> | |
Real | upperUnscaled (int i) const |
Returns unscaled upper bound of column i . More... | |
template<> | |
Real | upperUnscaled (const SPxColId &id) const |
Returns unscaled upper bound of column with identifier id . More... | |
template<> | |
void | getLowerUnscaled (DVector &vec) const |
Returns unscaled lower bound vector. More... | |
template<> | |
Real | lowerUnscaled (int i) const |
Returns unscaled lower bound of column i . More... | |
template<> | |
Real | lowerUnscaled (const SPxColId &id) const |
Returns unscaled lower bound of column with identifier id . More... | |
template<> | |
void | changeMaxObj (const VectorBase< Real > &newObj, bool scale) |
Changes objective vector to newObj . More... | |
template<> | |
void | changeLower (const VectorBase< Real > &newLower, bool scale) |
Changes vector of lower bounds to newLower . More... | |
template<> | |
void | changeUpper (const VectorBase< Real > &newUpper, bool scale) |
Changes vector of upper bounds to newUpper . More... | |
template<> | |
void | changeLhs (const VectorBase< Real > &newLhs, bool scale) |
Changes left hand side vector for constraints to newLhs . More... | |
template<> | |
void | changeRhs (const VectorBase< Real > &newRhs, bool scale) |
Changes right hand side vector for constraints to newRhs . More... | |
template<> | |
void | changeElement (int i, int j, const Real &val, bool scale) |
Changes LP element (i , j ) to val . scale determines whether the new data should be scaled. More... | |
template<> | |
bool | readLPF (std::istream &p_input, NameSet *p_rnames, NameSet *p_cnames, DIdxSet *p_intvars) |
Read LP in "CPLEX LP File Format". More... | |
template<> | |
bool | readMPS (std::istream &p_input, NameSet *p_rnames, NameSet *p_cnames, DIdxSet *p_intvars) |
template<> | |
void | writeLPF (std::ostream &p_output, const NameSet *p_rnames, const NameSet *p_cnames, const DIdxSet *p_intvars) const |
Write LP in LP Format. More... | |
template<> | |
void | writeMPS (std::ostream &p_output, const NameSet *p_rnames, const NameSet *p_cnames, const DIdxSet *p_intvars) const |
Write LP in MPS format. More... | |
template<> | |
void | buildDualProblem (SPxLPBase< Real > &dualLP, SPxRowId primalRowIds[], SPxColId primalColIds[], SPxRowId dualRowIds[], SPxColId dualColIds[], int *nprimalrows, int *nprimalcols, int *ndualrows, int *ndualcols) |
Building the dual problem from a given LP. More... | |
Inquiry | |
bool | isScaled () const |
Returns true if and only if the LP is scaled. More... | |
void | setScalingInfo (bool scaled) |
set whether the LP is scaled or not More... | |
int | nRows () const |
Returns number of rows in LP. More... | |
int | nCols () const |
Returns number of columns in LP. More... | |
int | nNzos () const |
Returns number of nonzeros in LP. More... | |
virtual R | minAbsNzo (bool unscaled=true) const |
Absolute smallest non-zero element in (possibly scaled) LP. More... | |
virtual R | maxAbsNzo (bool unscaled=true) const |
Absolute biggest non-zero element in (in rational case possibly scaled) LP. More... | |
void | getRow (int i, LPRowBase< R > &row) const |
Gets i 'th row. More... | |
void | getRow (const SPxRowId &id, LPRowBase< R > &row) const |
Gets row with identifier id . More... | |
void | getRows (int start, int end, LPRowSetBase< R > &set) const |
Gets rows start , ... end . More... | |
const SVectorBase< R > & | rowVector (int i) const |
Gets row vector of row i . More... | |
const SVectorBase< R > & | rowVector (const SPxRowId &id) const |
Gets row vector of row with identifier id . More... | |
void | getRowVectorUnscaled (int i, DSVectorBase< Real > &vec) const |
Gets unscaled row vector of row i . More... | |
const VectorBase< R > & | rhs () const |
Returns right hand side vector. More... | |
const R & | rhs (int i) const |
Returns right hand side of row number i . More... | |
const R & | rhs (const SPxRowId &id) const |
Returns right hand side of row with identifier id . More... | |
void | getRhs (VectorBase< R > &vec) const |
Gets (internal and possibly scaled) right hand side vector. More... | |
void | getRhsUnscaled (VectorBase< Real > &vec) const |
Gets unscaled right hand side vector. More... | |
R | rhsUnscaled (int i) const |
Returns unscaled right hand side of row number i . More... | |
R | rhsUnscaled (const SPxRowId &id) const |
Returns unscaled right hand side of row with identifier id . More... | |
const VectorBase< R > & | lhs () const |
Returns left hand side vector. More... | |
const R & | lhs (int i) const |
Returns left hand side of row number i . More... | |
const R & | lhs (const SPxRowId &id) const |
Returns left hand side of row with identifier id . More... | |
void | getRowObj (VectorBase< R > &prowobj) const |
Gets row objective function vector. More... | |
R | rowObj (int i) const |
R | rowObj (const SPxRowId &id) const |
Returns row objective function value of row with identifier id . More... | |
const VectorBase< R > & | maxRowObj () const |
const R & | maxRowObj (int i) const |
const R & | maxRowObj (const SPxRowId &id) const |
Returns row objective function value of row with identifier id . More... | |
void | getLhsUnscaled (VectorBase< Real > &vec) const |
Returns unscaled left hand side vector. More... | |
R | lhsUnscaled (int i) const |
Returns unscaled left hand side of row number i . More... | |
R | lhsUnscaled (const SPxRowId &id) const |
Returns left hand side of row with identifier id . More... | |
LPRowBase< R >::Type | rowType (int i) const |
Returns the inequality type of the i'th LPRow. More... | |
LPRowBase< R >::Type | rowType (const SPxRowId &id) const |
Returns the inequality type of the row with identifier key . More... | |
void | getCol (int i, LPColBase< R > &col) const |
Gets i 'th column. More... | |
void | getCol (const SPxColId &id, LPColBase< R > &col) const |
Gets column with identifier id . More... | |
void | getCols (int start, int end, LPColSetBase< R > &set) const |
Gets columns start , ..., end . More... | |
const SVectorBase< R > & | colVector (int i) const |
Returns column vector of column i . More... | |
const SVectorBase< R > & | colVector (const SPxColId &id) const |
Returns column vector of column with identifier id . More... | |
void | getColVectorUnscaled (int i, DSVectorBase< Real > &vec) const |
Gets column vector of column i . More... | |
void | getColVectorUnscaled (const SPxColId &id, DSVectorBase< Real > &vec) const |
Gets column vector of column with identifier id . More... | |
void | getObjUnscaled (VectorBase< Real > &pobj) const |
Gets unscaled objective vector. More... | |
void | getObj (VectorBase< R > &pobj) const |
Gets objective vector. More... | |
R | obj (int i) const |
Returns objective value of column i . More... | |
R | obj (const SPxColId &id) const |
Returns objective value of column with identifier id . More... | |
R | objUnscaled (int i) const |
Returns unscaled objective value of column i . More... | |
R | objUnscaled (const SPxColId &id) const |
Returns unscaled objective value of column with identifier id . More... | |
const VectorBase< R > & | maxObj () const |
Returns objective vector for maximization problem. More... | |
const R & | maxObj (int i) const |
Returns objective value of column i for maximization problem. More... | |
const R & | maxObj (const SPxColId &id) const |
Returns objective value of column with identifier id for maximization problem. More... | |
void | maxObjUnscaled (VectorBase< Real > &vec) const |
Returns unscaled objective vector for maximization problem. More... | |
R | maxObjUnscaled (int i) const |
Returns unscaled objective value of column i for maximization problem. More... | |
R | maxObjUnscaled (const SPxColId &id) const |
Returns unscaled objective value of column with identifier id for maximization problem. More... | |
const VectorBase< R > & | upper () const |
Returns upper bound vector. More... | |
const R & | upper (int i) const |
Returns upper bound of column i . More... | |
const R & | upper (const SPxColId &id) const |
Returns upper bound of column with identifier id . More... | |
void | getUpperUnscaled (DVector &vec) const |
Gets unscaled upper bound vector. More... | |
R | upperUnscaled (int i) const |
Returns unscaled upper bound of column i . More... | |
R | upperUnscaled (const SPxColId &id) const |
Returns unscaled upper bound of column with identifier id . More... | |
const VectorBase< R > & | lower () const |
Returns (internal and possibly scaled) lower bound vector. More... | |
const R & | lower (int i) const |
Returns (internal and possibly scaled) lower bound of column i . More... | |
const R & | lower (const SPxColId &id) const |
Returns (internal and possibly scaled) lower bound of column with identifier id . More... | |
void | getLowerUnscaled (DVector &vec) const |
Gets unscaled lower bound vector. More... | |
R | lowerUnscaled (int i) const |
Returns unscaled lower bound of column i . More... | |
R | lowerUnscaled (const SPxColId &id) const |
Returns unscaled lower bound of column with identifier id . More... | |
SPxSense | spxSense () const |
Returns the optimization sense. More... | |
const R & | objOffset () const |
Returns the objective function value offset. More... | |
int | number (const SPxRowId &id) const |
Returns the row number of the row with identifier id . More... | |
int | number (const SPxColId &id) const |
Returns the column number of the column with identifier id . More... | |
int | number (const SPxId &id) const |
Returns the row or column number for identifier id . More... | |
bool | has (const SPxRowId &id) const |
Returns the row number of the row with identifier id . More... | |
bool | has (const SPxColId &id) const |
Returns the column number of the column with identifier id . More... | |
bool | has (const SPxId &id) const |
Returns the row or column number for identifier id . More... | |
SPxRowId | rId (int n) const |
Returns the row identifier for row n . More... | |
SPxColId | cId (int n) const |
Returns the column identifier for column n . More... | |
Extension | |
virtual void | addRow (const LPRowBase< R > &row, bool scale=false) |
virtual void | addRow (const R &lhsValue, const SVectorBase< R > &rowVec, const R &rhsValue, bool scale=false) |
template<class S > | |
void | addRow (const S *lhsValue, const S *rowValues, const int *rowIndices, int rowSize, const S *rhsValue) |
virtual void | addRow (SPxRowId &id, const LPRowBase< R > &row, bool scale=false) |
Adds row to LPRowSetBase. More... | |
virtual void | addRows (const LPRowSetBase< R > &pset, bool scale=false) |
template<class S > | |
void | addRows (const S *lhsValues, const S *rowValues, const int *rowIndices, const int *rowStarts, const int *rowLengths, const int numRows, const int numValues, const S *rhsValues) |
virtual void | addRows (SPxRowId id[], const LPRowSetBase< R > &set, bool scale=false) |
adds all LPRowBases of pset to LPRowSetBase. More... | |
virtual void | addCol (const LPColBase< R > &col, bool scale=false) |
virtual void | addCol (const R &objValue, const R &lowerValue, const SVectorBase< R > &colVec, const R &upperValue, bool scale=false) |
template<class S > | |
void | addCol (const S *objValue, const S *lowerValue, const S *colValues, const int *colIndices, int colSize, const S *upperValue) |
virtual void | addCol (SPxColId &id, const LPColBase< R > &col, bool scale=false) |
Adds col to LPColSetVBase. More... | |
virtual void | addCols (const LPColSetBase< R > &pset, bool scale=false) |
template<class S > | |
void | addCols (const S *objValue, const S *lowerValues, const S *colValues, const int *colIndices, const int *colStarts, const int *colLengths, const int numCols, const int numValues, const S *upperValues) |
virtual void | addCols (SPxColId id[], const LPColSetBase< R > &set, bool scale=false) |
Adds all LPColBases of set to LPColSetBase. More... | |
Shrinking | |
virtual void | removeRow (int i) |
Removes i 'th row. More... | |
virtual void | removeRow (SPxRowId id) |
Removes row with identifier id . More... | |
virtual void | removeRows (int perm[]) |
Removes multiple rows. More... | |
virtual void | removeRows (SPxRowId id[], int n, int perm[]=0) |
virtual void | removeRows (int nums[], int n, int perm[]=0) |
Removes n LPRowBases. More... | |
virtual void | removeRowRange (int start, int end, int perm[]=0) |
Removes rows from start to end (including both). More... | |
virtual void | removeCol (int i) |
Removes i 'th column. More... | |
virtual void | removeCol (SPxColId id) |
Removes column with identifier id . More... | |
virtual void | removeCols (int perm[]) |
Removes multiple columns. More... | |
virtual void | removeCols (SPxColId id[], int n, int perm[]=0) |
virtual void | removeCols (int nums[], int n, int perm[]=0) |
Removes n LPCols. More... | |
virtual void | removeColRange (int start, int end, int perm[]=0) |
Removes columns from start to end (including both). More... | |
virtual void | clear () |
clears the LP. More... | |
IO | |
virtual bool | readLPF (std::istream &in, NameSet *rowNames=0, NameSet *colNames=0, DIdxSet *intVars=0) |
Reads LP in LP format from input stream in . More... | |
virtual bool | readMPS (std::istream &in, NameSet *rowNames=0, NameSet *colNames=0, DIdxSet *intVars=0) |
Reads an LP in MPS format from input stream in . More... | |
virtual bool | read (std::istream &in, NameSet *rowNames=0, NameSet *colNames=0, DIdxSet *intVars=0) |
Reads LP in LP or MPS format from input stream in . More... | |
virtual bool | readFile (const char *filename, NameSet *rowNames=0, NameSet *colNames=0, DIdxSet *intVars=0) |
Reads LP from a file. More... | |
virtual void | writeLPF (std::ostream &out, const NameSet *rowNames, const NameSet *colNames, const DIdxSet *p_intvars=0) const |
virtual void | writeMPS (std::ostream &out, const NameSet *rowNames, const NameSet *colNames, const DIdxSet *p_intvars=0) const |
Writes a file in MPS format to out . More... | |
virtual void | writeFile (const char *filename, const NameSet *rowNames=0, const NameSet *colNames=0, const DIdxSet *p_intvars=0) const |
Write loaded LP to filename . More... | |
void | printProblemStatistics (std::ostream &os) |
Manipulation | |
virtual void | changeObj (const VectorBase< R > &newObj, bool scale=false) |
Changes objective vector to newObj . scale determines whether the new data should be scaled. More... | |
virtual void | changeObj (int i, const R &newVal, bool scale=false) |
changes i 'th objective vector element to newVal . scale determines whether the new data should be scaled More... | |
template<class S > | |
void | changeObj (int i, const S *newVal) |
changes i 'th objective vector element to newVal . More... | |
virtual void | changeObj (SPxColId id, const R &newVal, bool scale=false) |
Changes objective value of column with identifier id to newVal . scale determines whether the new data should be scaled. More... | |
virtual void | changeMaxObj (const VectorBase< R > &newObj, bool scale=false) |
Changes objective vector to newObj . scale determines whether the new data should be scaled. More... | |
virtual void | changeMaxObj (int i, const R &newVal, bool scale=false) |
changes i 'th objective vector element to newVal . scale determines whether the new data should be scaled More... | |
template<class S > | |
void | changeMaxObj (int i, const S *newVal) |
changes i 'th objective vector element to newVal . More... | |
virtual void | changeMaxObj (SPxColId id, const R &newVal, bool scale=false) |
Changes objective value of column with identifier id to newVal . scale determines whether the new data should be scaled. More... | |
virtual void | changeLower (const VectorBase< R > &newLower, bool scale=false) |
Changes vector of lower bounds to newLower . scale determines whether the new data should be scaled. More... | |
virtual void | changeLower (int i, const R &newLower, bool scale=false) |
changes i 'th lower bound to newLower . scale determines whether the new data should be scaled More... | |
template<class S > | |
void | changeLower (int i, const S *newLower) |
changes i 'th lower bound to newLower . More... | |
virtual void | changeLower (SPxColId id, const R &newLower, bool scale=false) |
changes lower bound of column with identifier id to newLower . scale determines whether the new data should be scaled More... | |
virtual void | changeUpper (const VectorBase< R > &newUpper, bool scale=false) |
Changes vector of upper bounds to newUpper . scale determines whether the new data should be scaled. More... | |
virtual void | changeUpper (int i, const R &newUpper, bool scale=false) |
Changes i 'th upper bound to newUpper . scale determines whether the new data should be scaled. More... | |
template<class S > | |
void | changeUpper (int i, const S *newUpper) |
Changes i 'th upper bound to newUpper . More... | |
virtual void | changeUpper (SPxColId id, const R &newUpper, bool scale=false) |
Changes upper bound of column with identifier id to newLower . scale determines whether the new data should be scaled. More... | |
virtual void | changeBounds (const VectorBase< R > &newLower, const VectorBase< R > &newUpper, bool scale=false) |
Changes variable bounds to newLower and newUpper . scale determines whether the new data should be scaled. More... | |
virtual void | changeBounds (int i, const R &newLower, const R &newUpper, bool scale=false) |
Changes bounds of column i to newLower and newUpper . scale determines whether the new data should be scaled. More... | |
template<class S > | |
void | changeBounds (int i, const S *newLower, const S *newUpper) |
Changes bounds of column i to newLower and newUpper . More... | |
virtual void | changeBounds (SPxColId id, const R &newLower, const R &newUpper, bool scale=false) |
Changes bounds of column with identifier id . scale determines whether the new data should be scaled. More... | |
virtual void | changeLhs (const VectorBase< R > &newLhs, bool scale=false) |
Changes left hand side vector for constraints to newLhs . scale determines whether the new data should be scaled. More... | |
virtual void | changeLhs (int i, const R &newLhs, bool scale=false) |
Changes i 'th left hand side value to newLhs . scale determines whether the new data should be scaled. More... | |
template<class S > | |
void | changeLhs (int i, const S *newLhs) |
Changes i 'th left hand side value to newLhs . More... | |
virtual void | changeLhs (SPxRowId id, const R &newLhs, bool scale=false) |
Changes left hand side value for row with identifier id . scale determines whether the new data should be scaled. More... | |
virtual void | changeRhs (const VectorBase< R > &newRhs, bool scale=false) |
Changes right hand side vector for constraints to newRhs . scale determines whether the new data should be scaled. More... | |
virtual void | changeRhs (int i, const R &newRhs, bool scale=false) |
Changes i 'th right hand side value to newRhs . scale determines whether the new data should be scaled. More... | |
virtual void | changeRhs (SPxRowId id, const R &newRhs, bool scale=false) |
Changes right hand side value for row with identifier id . scale determines whether the new data should be scaled. More... | |
virtual void | changeRange (const VectorBase< R > &newLhs, const VectorBase< R > &newRhs, bool scale=false) |
Changes left and right hand side vectors. scale determines whether the new data should be scaled. More... | |
virtual void | changeRange (int i, const R &newLhs, const R &newRhs, bool scale=false) |
Changes left and right hand side of row i . scale determines whether the new data should be scaled. More... | |
template<class S > | |
void | changeRange (int i, const S *newLhs, const S *newRhs) |
Changes left and right hand side of row i . More... | |
virtual void | changeRange (SPxRowId id, const R &newLhs, const R &newRhs, bool scale=false) |
Changes left and right hand side of row with identifier id . scale determines whether the new data should be scaled. More... | |
virtual void | changeRowObj (const VectorBase< R > &newRowObj, bool scale=false) |
Changes row objective function vector to newRowObj . scale determines whether the new data should be scaled. More... | |
virtual void | changeRowObj (int i, const R &newRowObj, bool scale=false) |
Changes i 'th row objective function value to newRowObj . scale determines whether the new data should be scaled. More... | |
virtual void | changeRowObj (SPxRowId id, const R &newRowObj, bool scale=false) |
Changes row objective function value for row with identifier id . scale determines whether the new data should be scaled. More... | |
virtual void | clearRowObjs () |
Clears row objective function values for all rows. More... | |
virtual void | changeRow (int n, const LPRowBase< R > &newRow, bool scale=false) |
Replaces i 'th row of LP with newRow . scale determines whether the new data should be scaled. More... | |
virtual void | changeRow (SPxRowId id, const LPRowBase< R > &newRow, bool scale=false) |
Replaces row with identifier id with newRow . scale determines whether the new data should be scaled. More... | |
virtual void | changeCol (int n, const LPColBase< R > &newCol, bool scale=false) |
Replaces i 'th column of LP with newCol . scale determines whether the new data should be scaled. More... | |
virtual void | changeCol (SPxColId id, const LPColBase< R > &newCol, bool scale=false) |
Replaces column with identifier id with newCol . scale determines whether the new data should be scaled. More... | |
virtual void | changeElement (int i, int j, const R &val, bool scale=false) |
Changes LP element (i , j ) to val . scale determines whether the new data should be scaled. More... | |
template<class S > | |
void | changeElement (int i, int j, const S *val) |
Changes LP element (i , j ) to val . More... | |
virtual void | changeElement (SPxRowId rid, SPxColId cid, const R &val, bool scale=false) |
Changes LP element identified by (rid , cid ) to val . scale determines whether the new data should be scaled. More... | |
virtual void | changeSense (SPxSense sns) |
Changes optimization sense to sns . More... | |
virtual void | changeObjOffset (const R &o) |
virtual void | computePrimalActivity (const VectorBase< R > &primal, VectorBase< R > &activity, const bool unscaled=true) const |
Computes activity of the rows for a given primal vector; activity does not need to be zero. More... | |
virtual void | addPrimalActivity (const SVectorBase< R > &primal, VectorBase< R > &activity) const |
Updates activity of the rows for a given primal vector; activity does not need to be zero. More... | |
virtual void | computeDualActivity (const VectorBase< R > &dual, VectorBase< R > &activity, const bool unscaled=true) const |
Computes "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero. More... | |
virtual void | addDualActivity (const SVectorBase< R > &dual, VectorBase< R > &activity) const |
Updates "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero. More... | |
virtual void | subDualActivity (const VectorBase< R > &dual, VectorBase< R > &activity) const |
Updates "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero. More... | |
Construction of dual problem | |
virtual void | buildDualProblem (SPxLPBase< R > &dualLP, SPxRowId primalRowIds[]=0, SPxColId primalColIds[]=0, SPxRowId dualRowIds[]=0, SPxColId dualColIds[]=0, int *nprimalrows=0, int *nprimalcols=0, int *ndualrows=0, int *ndualcols=0) |
Building the dual problem from a given LP. More... | |
Miscellaneous | |
bool | isConsistent () const |
Consistency check. More... | |
Constructors / Destructors | |
SPxLPBase () | |
Default constructor. More... | |
virtual | ~SPxLPBase () |
Destructor. More... | |
SPxLPBase (const SPxLPBase< R > &old) | |
Copy constructor. More... | |
template<class S > | |
SPxLPBase (const SPxLPBase< S > &old) | |
Copy constructor. More... | |
SPxLPBase< R > & | operator= (const SPxLPBase< R > &old) |
Assignment operator. More... | |
template<class S > | |
SPxLPBase< R > & | operator= (const SPxLPBase< S > &old) |
Assignment operator. More... | |
Public Attributes | |
SPxOut * | spxout |
Protected Member Functions | |
Protected write access | |
R & | rhs_w (int i) |
Returns right hand side of row i . More... | |
R & | lhs_w (int i) |
Returns left hand side of row i . More... | |
R & | maxRowObj_w (int i) |
Returns objective function value of row i . More... | |
R & | maxObj_w (int i) |
Returns objective value of column i for maximization problem. More... | |
R & | upper_w (int i) |
Returns upper bound of column i . More... | |
R & | lower_w (int i) |
Returns lower bound of column i . More... | |
Protected helpers | |
const LPRowSetBase< R > * | lprowset () const |
Returns the LP as an LPRowSetBase. More... | |
const LPColSetBase< R > * | lpcolset () const |
Returns the LP as an LPColSetBase. More... | |
virtual void | doRemoveRow (int j) |
Internal helper method. More... | |
virtual void | doRemoveRows (int perm[]) |
Internal helper method. More... | |
virtual void | doRemoveCol (int j) |
Internal helper method. More... | |
virtual void | doRemoveCols (int perm[]) |
Internal helper method. More... | |
virtual void | addedRows (int newrows) |
Called after the last n rows have just been added. More... | |
virtual void | addedCols (int newcols) |
Called after the last n columns have just been added. More... | |
void | added2Set (SVSetBase< R > &set, const SVSetBase< R > &addset, int n) |
Protected Member Functions inherited from LPRowSetBase< R > | |
const SVSetBase< R > * | rowSet () const |
Returns the complete SVSet. More... | |
int | num () const |
Returns the number of LPRowBases in LPRowSetBase. More... | |
int | max () const |
Returns the maximum number of LPRowBases that fit. More... | |
const VectorBase< R > & | lhs () const |
Returns the vector of lhs values. More... | |
VectorBase< R > & | lhs_w () |
Returns the vector of lhs values. More... | |
const R & | lhs (int i) const |
Returns the lhs of the i 'th LPRowBase. More... | |
R & | lhs_w (int i) |
Returns the lhs of the i 'th LPRowBase. More... | |
const R & | lhs (const DataKey &k) const |
Returns the lhs of the LPRowBase with DataKey k in LPRowSetBase. More... | |
R & | lhs_w (const DataKey &k) |
Returns the lhs of the LPRowBase with DataKey k in LPRowSetBase. More... | |
const VectorBase< R > & | rhs () const |
Returns the vector of rhs values. More... | |
VectorBase< R > & | rhs_w () |
Returns the vector of rhs values (writeable). More... | |
const R & | rhs (int i) const |
Returns the rhs of the i 'th LPRowBase. More... | |
R & | rhs_w (int i) |
Returns the rhs of the i 'th LPRowBase (writeable). More... | |
const R & | rhs (const DataKey &k) const |
Returns the rhs of the LPRowBase with DataKey k in LPRowSetBase. More... | |
R & | rhs_w (const DataKey &k) |
Returns the rhs of the LPRowBase with DataKey k in LPRowSetBase (writeable). More... | |
const VectorBase< R > & | obj () const |
Returns the vector of objective coefficients. More... | |
VectorBase< R > & | obj_w () |
Returns the vector of objective coefficients (writeable). More... | |
const R & | obj (int i) const |
Returns the objective coefficient of the i 'th LPRowBase. More... | |
R & | obj_w (int i) |
Returns the objective coefficient of the i 'th LPRowBase (writeable). More... | |
const R & | obj (const DataKey &k) const |
Returns the objective coefficient of the LPRowBase with DataKey k in LPRowSetBase. More... | |
R & | obj_w (const DataKey &k) |
Returns the objective coefficient of the LPRowBase with DataKey k in LPRowSetBase (writeable). More... | |
SVectorBase< R > & | rowVector_w (int i) |
Returns a writable rowVector of the i 'th LPRowBase. More... | |
const SVectorBase< R > & | rowVector (int i) const |
Returns the rowVector of the i 'th LPRowBase. More... | |
SVectorBase< R > & | rowVector_w (const DataKey &k) |
Returns a writable rowVector of the LPRowBase with DataKey k . More... | |
const SVectorBase< R > & | rowVector (const DataKey &k) const |
Returns the rowVector of the LPRowBase with DataKey k . More... | |
LPRowBase< R >::Type | type (int i) const |
Returns the inequalitiy type of the i 'th LPRowBase. More... | |
LPRowBase< R >::Type | type (const DataKey &k) const |
Returns the inequality type of the LPRowBase with DataKey k . More... | |
void | setType (int i, typename LPRowBase< R >::Type t) |
Changes the inequality type of row i to type . More... | |
const R & | value (int i) const |
Returns the value of the i'th LPRowBase. More... | |
const R & | value (const DataKey &k) const |
Returns the value of the LPRowBase with DataKey k . More... | |
DataKey | key (int i) const |
Returns the DataKey of the i 'th LPRowBase in LPRowSetBase. More... | |
int | number (const DataKey &k) const |
Returns the number of the LPRowBase with DataKey k in LPRowSetBase. More... | |
bool | has (const DataKey &k) const |
does DataKey k belong to LPRowSetBase ? More... | |
void | add (const LPRowBase< R > &row) |
void | add (DataKey &pkey, const LPRowBase< R > &prow) |
Adds row to LPRowSetBase. More... | |
void | add (const R &plhs, const SVectorBase< R > &prowVector, const R &prhs, const R &pobj=0, const int &pscaleExp=0) |
Adds LPRowBase consisting of left hand side lhs , row vector rowVector , and right hand side rhs to LPRowSetBase. More... | |
template<class S > | |
void | add (const S *lhsValue, const S *rowValues, const int *rowIndices, int rowSize, const S *rhsValue, const S *objValue=0) |
Adds LPRowBase consisting of left hand side lhs , row vector rowVector , and right hand side rhs to LPRowSetBase. More... | |
template<class S > | |
void | add (DataKey &newkey, const S *lhsValue, const S *rowValues, const int *rowIndices, int rowSize, const S *rhsValue, const S *objValue=0) |
Adds LPRowBase consisting of left hand side lhs , row vector rowVector , and right hand side rhs to LPRowSetBase, with DataKey key . More... | |
void | add (DataKey &newkey, const R &newlhs, const SVectorBase< R > &newrowVector, const R &newrhs, const R &newobj=0, const int &newscaleExp=0) |
Adds LPRowBase consisting of left hand side lhs , row vector rowVector , and right hand side rhs to LPRowSetBase, with DataKey key . More... | |
void | add (const LPRowSetBase< R > &newset) |
void | add (DataKey keys[], const LPRowSetBase< R > &set) |
Adds all LPRowBases of set to LPRowSetBase. More... | |
void | xtend (int n, int newmax) |
Extends row n to fit newmax nonzeros. More... | |
void | xtend (const DataKey &pkey, int pnewmax) |
Extends row with DataKey key to fit newmax nonzeros. More... | |
void | add2 (const DataKey &k, int n, const int idx[], const R val[]) |
Adds n nonzero (idx , val )-pairs to rowVector with DataKey k . More... | |
void | add2 (int i, int n, const int idx[], const R val[]) |
Adds n nonzero (idx , val )-pairs to i 'th rowVector. More... | |
template<class S > | |
void | add2 (int i, int n, const int idx[], const S val[]) |
Adds n nonzero (idx , val )-pairs to i 'th rowVector. More... | |
SVectorBase< R > & | create (int pnonzeros=0, const R &plhs=0, const R &prhs=1, const R &pobj=0, const int &pscaleExp=0) |
Creates new LPRowBase with specified parameters and returns a reference to its row vector. More... | |
SVectorBase< R > & | create (DataKey &newkey, int nonzeros=0, const R &newlhs=0, const R &newrhs=1, const R &newobj=0, const int &newscaleExp=0) |
Creates new LPRowBase with specified parameters and returns a reference to its row vector. More... | |
void | remove (int i) |
Removes i 'th LPRowBase. More... | |
void | remove (const DataKey &k) |
Removes LPRowBase with DataKey k . More... | |
void | remove (int perm[]) |
Removes multiple LPRowBases. More... | |
void | remove (const int nums[], int n) |
Removes n LPRowBases with row numbers given by nums . More... | |
void | remove (const int nums[], int n, int *perm) |
Removes n LPRowBases with row numbers given by nums , Stores permutation of row indices in perm . More... | |
void | clear () |
Removes all LPRowBases. More... | |
void | reMax (int newmax=0) |
Reallocates memory to be able to store newmax LPRowBases. More... | |
int | memSize () const |
Returns number of used nonzero entries. More... | |
int | memMax () const |
Returns length of nonzero memory. More... | |
void | memRemax (int newmax) |
Reallocates memory to be able to store newmax nonzeros. More... | |
void | memPack () |
Garbage collection in nonzero memory. More... | |
bool | isConsistent () const |
Checks consistency. More... | |
LPRowSetBase (int pmax=-1, int pmemmax=-1) | |
Default constructor. More... | |
LPRowSetBase< R > & | operator= (const LPRowSetBase< R > &rs) |
Assignment operator. More... | |
template<class S > | |
LPRowSetBase< R > & | operator= (const LPRowSetBase< S > &rs) |
Assignment operator. More... | |
LPRowSetBase (const LPRowSetBase< R > &rs) | |
Copy constructor. More... | |
template<class S > | |
LPRowSetBase (const LPRowSetBase< S > &rs) | |
Copy constructor. More... | |
virtual | ~LPRowSetBase () |
Destructor. More... | |
Protected Member Functions inherited from SVSetBase< R > | |
void | add (const SVectorBase< R > &svec) |
Adds svec to the set. More... | |
void | add (DataKey &nkey, const SVectorBase< R > &svec) |
Adds svec to SVSetBase. More... | |
template<class S > | |
void | add (DataKey &nkey, const S *rowValues, const int *rowIndices, int rowSize) |
Adds svec to SVSetBase. More... | |
void | add (const SVectorBase< R > svec[], int n) |
Adds all n SVectorBases in the array svec to the set. More... | |
void | add (DataKey nkey[], const SVectorBase< R > svec[], int n) |
Adds n SVectorBases to SVSetBase. More... | |
template<class S > | |
void | add (const SVSetBase< S > &pset) |
Adds all SVectorBases in pset to SVSetBase. More... | |
template<class S > | |
void | add (DataKey nkey[], const SVSetBase< S > &pset) |
Adds all SVectorBases of pset to SVSetBase. More... | |
SVectorBase< R > * | create (int idxmax=0) |
Creates new SVectorBase in set. More... | |
SVectorBase< R > * | create (DataKey &nkey, int idxmax=-1) |
Creates new SVectorBase in set. More... | |
void | xtend (SVectorBase< R > &svec, int newmax) |
Extends svec to fit newmax nonzeros. More... | |
void | add2 (SVectorBase< R > &svec, int idx, R val) |
Adds nonzero (idx , val ) to svec of this SVSetBase. More... | |
void | add2 (SVectorBase< R > &svec, int n, const int idx[], const R val[]) |
Adds n nonzeros to svec of this SVSetBase. More... | |
template<class S > | |
void | add2 (SVectorBase< R > &svec, int n, const int idx[], const S val[]) |
Adds n nonzeros to svec of this SVSetBase. More... | |
void | remove (const DataKey &removekey) |
Removes the vector with key removekey from the set. More... | |
void | remove (int removenum) |
Removes the vector with number removenum from the set. More... | |
void | remove (const SVectorBase< R > *svec) |
Removes one SVectorBase from set. More... | |
void | remove (int perm[]) |
Removes multiple elements. More... | |
void | remove (const DataKey keys[], int n) |
Removes n SVectorBases from set. More... | |
void | remove (const int nums[], int n) |
Removes n SVectorBases from set. More... | |
void | remove (const DataKey keys[], int n, int *perm) |
void | remove (const int nums[], int n, int *perm) |
void | clear (int minNewSize=-1) |
Removes all SVectorBases from set. More... | |
SVectorBase< R > & | operator[] (int n) |
Gets SVectorBase by number, writeable. More... | |
const SVectorBase< R > & | operator[] (int n) const |
Gets SVectorBase by number. More... | |
SVectorBase< R > & | operator[] (const DataKey &k) |
Gets SVectorBase by DataKey, writeable. More... | |
const SVectorBase< R > & | operator[] (const DataKey &k) const |
Gets SVectorBase by DataKey. More... | |
int | num () const |
Current number of SVectorBases. More... | |
int | max () const |
Current maximum number of SVectorBases. More... | |
DataKey | key (int n) const |
Gets DataKey of vector number. More... | |
DataKey | key (const SVectorBase< R > *svec) const |
Gets DataKey of SVectorBase. More... | |
int | number (const DataKey &k) const |
Gets vector number of DataKey. More... | |
int | number (const SVectorBase< R > *svec) const |
Gets vector number of SVectorBase. More... | |
bool | has (const DataKey &k) const |
True iff SVSetBase contains a SVectorBase for DataKey k . More... | |
bool | has (int n) const |
True iff SVSetBase contains a SVectorBase for vector number n. More... | |
bool | has (const SVectorBase< R > *svec) const |
Is an SVectorBase in the set? More... | |
int | memSize () const |
Used nonzero memory. More... | |
int | memMax () const |
Length of nonzero memory. More... | |
void | memRemax (int newmax) |
Reset length of nonzero memory. More... | |
void | memPack () |
Garbage collection in nonzero memory. More... | |
void | reMax (int newmax=0) |
Resets maximum number of SVectorBases. More... | |
bool | isConsistent () const |
Consistency check. More... | |
SVSetBase (int pmax=-1, int pmemmax=-1, double pfac=1.1, double pmemFac=1.2) | |
Default constructor. More... | |
virtual | ~SVSetBase () |
Destructor. More... | |
SVSetBase< R > & | operator= (const SVSetBase< R > &rhs) |
Assignment operator. More... | |
template<class S > | |
SVSetBase< R > & | operator= (const SVSetBase< S > &rhs) |
Assignment operator. More... | |
SVSetBase (const SVSetBase< R > &old) | |
Copy constructor. More... | |
template<class S > | |
SVSetBase (const SVSetBase< S > &old) | |
Copy constructor. More... | |
Protected Member Functions inherited from ClassArray< Nonzero< R > > | |
Nonzero< R > & | operator[] (int n) |
Reference to n 'th element. More... | |
const Nonzero< R > & | operator[] (int n) const |
Reference to n 'th const element. More... | |
Nonzero< R > & | last () |
Reference to last element. More... | |
const Nonzero< R > & | last () const |
Reference to last const element. More... | |
Nonzero< R > * | get_ptr () |
Gets a C pointer to the data. More... | |
const Nonzero< R > * | get_const_ptr () const |
Gets a const C pointer to the data. More... | |
void | append (const Nonzero< R > &t) |
Appends element t . More... | |
void | append (int n, const Nonzero< R > t[]) |
Appends n elements from t . More... | |
void | append (const ClassArray< Nonzero< R > > &t) |
Appends all elements from t . More... | |
void | insert (int i, int n) |
Inserts n uninitialized elements before i 'th element. More... | |
void | insert (int i, int n, const Nonzero< R > t[]) |
Inserts n elements from t before i 'the element. More... | |
void | insert (int i, const ClassArray< Nonzero< R > > &t) |
Inserts all elements from t before i 'th element. More... | |
void | remove (int n=0, int m=1) |
Removes m elements starting at n . More... | |
void | removeLast (int m=1) |
Removes m last elements. More... | |
void | clear () |
Removes all elements. More... | |
int | size () const |
Returns number of elements. More... | |
void | reSize (int newsize) |
Resets size to newsize . More... | |
int | max () const |
Returns maximum number of elements. More... | |
ptrdiff_t | reMax (int newMax=1, int newSize=-1) |
Resets maximum number of elements. More... | |
ClassArray & | operator= (const ClassArray &rhs) |
Assignment operator. More... | |
bool | isConsistent () const |
Consistency check. More... | |
ClassArray (const ClassArray &old) | |
Copy constructor. More... | |
ClassArray (int p_size=0, int p_max=0, double p_fac=1.2) | |
Default constructor. More... | |
virtual | ~ClassArray () |
Destructor. More... | |
Protected Member Functions inherited from LPColSetBase< R > | |
const SVSetBase< R > * | colSet () const |
Returns the complete SVSetBase. More... | |
int | num () const |
Returns the number of LPColBases currently in LPColSetBase. More... | |
int | max () const |
Returns maximum number of LPColBases currently fitting into LPColSetBase. More... | |
const VectorBase< R > & | maxObj () const |
VectorBase< R > & | maxObj_w () |
Returns vector of objective values w.r.t. maximization. More... | |
const R & | maxObj (int i) const |
R & | maxObj_w (int i) |
Returns objective value (w.r.t. maximization) of i 'th LPColBase in LPColSetBase. More... | |
const R & | maxObj (const DataKey &k) const |
R & | maxObj_w (const DataKey &k) |
Returns objective value (w.r.t. maximization) of LPColBase with DataKey k in LPColSetBase. More... | |
const VectorBase< R > & | lower () const |
VectorBase< R > & | lower_w () |
Returns vector of lower bound values. More... | |
const R & | lower (int i) const |
R & | lower_w (int i) |
Returns lower bound of i 'th LPColBase in LPColSetBase. More... | |
const R & | lower (const DataKey &k) const |
R & | lower_w (const DataKey &k) |
Returns lower bound of LPColBase with DataKey k in LPColSetBase. More... | |
const VectorBase< R > & | upper () const |
VectorBase< R > & | upper_w () |
Returns vector of upper bound values. More... | |
const R & | upper (int i) const |
R & | upper_w (int i) |
Returns upper bound of i 'th LPColBase in LPColSetBase. More... | |
const R & | upper (const DataKey &k) const |
R & | upper_w (const DataKey &k) |
Returns upper bound of LPColBase with DataKey k in LPColSetBase. More... | |
SVectorBase< R > & | colVector_w (int i) |
const SVectorBase< R > & | colVector (int i) const |
Returns colVector of i 'th LPColBase in LPColSetBase. More... | |
SVectorBase< R > & | colVector_w (const DataKey &k) |
Returns writeable colVector of LPColBase with DataKey k in LPColSetBase. More... | |
const SVectorBase< R > & | colVector (const DataKey &k) const |
Returns colVector of LPColBase with DataKey k in LPColSetBase. More... | |
DataKey | key (int i) const |
Returns DataKey of i 'th LPColBase in LPColSetBase. More... | |
int | number (const DataKey &k) const |
Returns number of LPColBase with DataKey k in LPColSetBase. More... | |
bool | has (const DataKey &k) const |
Does DataKey k belong to LPColSetBase ? More... | |
void | add (const LPColBase< R > &pcol) |
void | add (DataKey &pkey, const LPColBase< R > &pcol) |
Adds p pcol to LPColSetBase. More... | |
void | add (const R &pobj, const R &plower, const SVectorBase< R > &pcolVector, const R &pupper, const int &pscaleExp=0) |
void | add (DataKey &newkey, const R &obj, const R &newlower, const SVectorBase< R > &newcolVector, const R &newupper, const int &newscaleExp=0) |
Adds LPColBase consisting of objective value obj , lower bound lower , column vector colVector and upper bound upper to LPColSetBase. More... | |
template<class S > | |
void | add (const S *obj, const S *lowerValue, const S *colValues, const int *colIndices, int colSize, const S *upperValue) |
Adds LPColBase consisting of left hand side lhs , column vector colVector , and right hand side rhs to LPColSetBase. More... | |
template<class S > | |
void | add (DataKey &newkey, const S *objValue, const S *lowerValue, const S *colValues, const int *colIndices, int colSize, const S *upperValue) |
Adds LPColBase consisting of left hand side lhs , column vector colVector , and right hand side rhs to LPColSetBase, with DataKey key . More... | |
void | add (const LPColSetBase< R > &newset) |
void | add (DataKey keys[], const LPColSetBase< R > &newset) |
Adds all LPColBases of set to LPColSetBase. More... | |
void | xtend (int n, int newmax) |
Extends column n to fit newmax nonzeros. More... | |
void | xtend (const DataKey &pkey, int pnewmax) |
Extends column with DataKey key to fit newmax nonzeros. More... | |
void | add2 (const DataKey &k, int n, const int idx[], const R val[]) |
void | add2 (int i, int n, const int idx[], const R val[]) |
Adds n nonzero (idx , val )-pairs to i 'th colVector. More... | |
template<class S > | |
void | add2 (int i, int n, const int idx[], const S val[]) |
Adds n nonzero (idx , val )-pairs to i 'th colVector. More... | |
SVectorBase< R > & | create (int pnonzeros=0, const R &pobj=1, const R &plw=0, const R &pupp=1, const int &pscaleExp=0) |
SVectorBase< R > & | create (DataKey &newkey, int nonzeros=0, const R &obj=1, const R &newlow=0, const R &newup=1, const int &newscaleExp=0) |
Creates new LPColBase with specified arguments and returns a reference to its column vector. More... | |
void | remove (int i) |
Removes i 'th LPColBase. More... | |
void | remove (const DataKey &k) |
Removes LPColBase with DataKey k . More... | |
void | remove (int perm[]) |
Removes multiple elements. More... | |
void | remove (const int nums[], int n) |
Removes LPColBases with numbers nums , where n is the length of the array nums . More... | |
void | remove (const int nums[], int n, int *perm) |
Removes LPColBases with numbers nums , where n is the length of the array nums , and stores the index permutation in array perm . More... | |
void | clear () |
Removes all LPColBases from the set. More... | |
void | reMax (int newmax=0) |
Reallocates memory to be able to store newmax LPColBases. More... | |
int | memSize () const |
Returns used nonzero memory. More... | |
int | memMax () const |
Returns length of nonzero memory. More... | |
void | memRemax (int newmax) |
Resets length of nonzero memory. More... | |
void | memPack () |
Garbage collection in nonzero memory. More... | |
bool | isConsistent () const |
Checks consistency. More... | |
LPColSetBase (int pmax=-1, int pmemmax=-1) | |
Default constructor. More... | |
LPColSetBase< R > & | operator= (const LPColSetBase< R > &rs) |
Assignment operator. More... | |
template<class S > | |
LPColSetBase< R > & | operator= (const LPColSetBase< S > &rs) |
Assignment operator. More... | |
LPColSetBase (const LPColSetBase< R > &rs) | |
Copy constructor. More... | |
template<class S > | |
LPColSetBase (const LPColSetBase< S > &rs) | |
Copy constructor. More... | |
virtual | ~LPColSetBase () |
Destructor. More... | |
Private Member Functions | |
Private helpers | |
SVectorBase< R > & | colVector_w (int i) |
Returns the LP as an LPRowSet. More... | |
SVectorBase< R > & | rowVector_w (int i) |
void | doAddRow (const LPRowBase< R > &row, bool scale=false) |
void | doAddRow (const R &lhsValue, const SVectorBase< R > &rowVec, const R &rhsValue, bool scale=false) |
void | doAddRows (const LPRowSetBase< R > &set, bool scale=false) |
void | doAddCol (const LPColBase< R > &col, bool scale=false) |
void | doAddCol (const R &objValue, const R &lowerValue, const SVectorBase< R > &colVec, const R &upperValue, bool scale=false) |
void | doAddCols (const LPColSetBase< R > &set, bool scale=false) |
Private Attributes | |
Data | |
SPxSense | thesense |
optimization sense. More... | |
R | offset |
offset computed, e.g., in simplification step More... | |
bool | _isScaled |
true, if scaling has been performed More... | |
SPxScaler * | lp_scaler |
points to the scaler if the lp has been scaled, to 0 otherwise More... | |
Friends | |
template<class S > | |
class | SPxLPBase |
class | SPxBasis |
class | SPxScaler |
class | SPxEquiliSC |
class | SPxLeastSqSC |
class | SPxGeometSC |
class | SPxMainSM |
Additional Inherited Members | |
Protected Attributes inherited from LPRowSetBase< R > | |
DataArray< int > | scaleExp |
row scaling factors (stored as bitshift) More... | |
Protected Attributes inherited from ClassArray< Nonzero< R > > | |
int | thesize |
number of used elements in array data More... | |
int | themax |
the length of array data and More... | |
Nonzero< R > * | data |
the array of elements More... | |
double | memFactor |
memory extension factor. More... | |
Protected Attributes inherited from LPColSetBase< R > | |
DataArray< int > | scaleExp |
column scaling factors (stored as bitshift) More... | |
Saving LPs in a form suitable for SoPlex.
Class SPxLPBase provides the data structures required for saving a linear program in the form
\[ \begin{array}{rl} \hbox{max} & c^T x \\ \hbox{s.t.} & l_r \le Ax \le u_r \\ & l_c \le x \le u_c \end{array} \]
suitable for solving with SoPlex. This includes:
Note, that the optimization sense is not saved directly. Instead, the objective function are multiplied by -1 to transform the LP to our standard form maximizing the objective function. However, the sense of the loaded LP can be retrieved with method spxSense().
Further, equality constraints are modeled by \(l_r = u_r\). Analogously, fixed variables have \(l_c = u_c\).
SPxLPBases are saved as an SVSet, both for columns and rows. Note that this is redundant but eases the access.
Definition at line 80 of file spxlpbase.h.
enum SPxSense |
SPxLPBase | ( | ) |
Default constructor.
Definition at line 2721 of file spxlpbase.h.
|
virtual |
Destructor.
Definition at line 2729 of file spxlpbase.h.
Copy constructor.
Definition at line 2733 of file spxlpbase.h.
Copy constructor.
Definition at line 2747 of file spxlpbase.h.
|
virtual |
Definition at line 757 of file spxlpbase.h.
Referenced by SoPlex::_addColReal(), SoPlex::_transformFeasibility(), SoPlex::_updateComplementaryDualSlackColCoeff(), SPxLPBase< Real >::addCol(), SoPlex::addColRational(), SoPlex::addColReal(), and SPxMainSM::handleRowObjectives().
|
virtual |
Definition at line 763 of file spxlpbase.h.
void addCol | ( | const S * | objValue, |
const S * | lowerValue, | ||
const S * | colValues, | ||
const int * | colIndices, | ||
int | colSize, | ||
const S * | upperValue | ||
) |
Definition at line 771 of file spxlpbase.h.
Adds col
to LPColSetVBase.
Definition at line 806 of file spxlpbase.h.
|
virtual |
Definition at line 813 of file spxlpbase.h.
Referenced by SoPlex::_addColsReal(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_transformEquality(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::addColRational(), SPxLPBase< Real >::addCols(), SoPlex::addColsRational(), SoPlex::addColsReal(), and SPxLPBase< Real >::buildDualProblem().
void addCols | ( | const S * | objValue, |
const S * | lowerValues, | ||
const S * | colValues, | ||
const int * | colIndices, | ||
const int * | colStarts, | ||
const int * | colLengths, | ||
const int | numCols, | ||
const int | numValues, | ||
const S * | upperValues | ||
) |
Definition at line 820 of file spxlpbase.h.
|
virtual |
Adds all LPColBases of set
to LPColSetBase.
Definition at line 916 of file spxlpbase.h.
|
virtual |
Updates "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero.
SPxInternalCodeException | if dimension of dual vector does not match number of rows or if the dimension of the activity vector does not match the number of columns |
Definition at line 1880 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable().
Definition at line 2178 of file spxlpbase.h.
|
protectedvirtual |
Called after the last n
columns have just been added.
Reimplemented in SPxSolver.
Definition at line 2174 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), and SPxLPBase< Real >::doAddRows().
|
protectedvirtual |
Called after the last n
rows have just been added.
Reimplemented in SPxSolver.
Definition at line 2170 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), and SPxLPBase< Real >::doAddRows().
|
virtual |
Updates activity of the rows for a given primal vector; activity does not need to be zero.
SPxInternalCodeException | if the dimension of primal vector does not match number of columns or if the dimension of the activity vector does not match the number of rows |
Definition at line 1856 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable().
|
virtual |
Definition at line 585 of file spxlpbase.h.
Referenced by SoPlex::_addRowReal(), SoPlex::_lift(), SoPlex::_transformUnbounded(), SPxLPBase< Real >::addRow(), SoPlex::addRowRational(), and SoPlex::addRowReal().
|
virtual |
Definition at line 591 of file spxlpbase.h.
void addRow | ( | const S * | lhsValue, |
const S * | rowValues, | ||
const int * | rowIndices, | ||
int | rowSize, | ||
const S * | rhsValue | ||
) |
Definition at line 599 of file spxlpbase.h.
Adds row
to LPRowSetBase.
Definition at line 636 of file spxlpbase.h.
|
virtual |
Definition at line 643 of file spxlpbase.h.
Referenced by SoPlex::_addRowsReal(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_formDecompReducedProblem(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::addRowRational(), SPxLPBase< Real >::addRows(), SoPlex::addRowsRational(), SoPlex::addRowsReal(), and SPxLPBase< Real >::buildDualProblem().
void addRows | ( | const S * | lhsValues, |
const S * | rowValues, | ||
const int * | rowIndices, | ||
const int * | rowStarts, | ||
const int * | rowLengths, | ||
const int | numRows, | ||
const int | numValues, | ||
const S * | rhsValues | ||
) |
Definition at line 650 of file spxlpbase.h.
|
virtual |
adds all LPRowBases of pset
to LPRowSetBase.
Definition at line 747 of file spxlpbase.h.
|
virtual |
Building the dual problem from a given LP.
Referenced by SoPlex::_formDecompComplementaryProblem(), SoPlex::_solveDecompositionDualSimplex(), SPxLPBase< Real >::operator=(), SPxLPBase< Real >::subDualActivity(), and SoPlex::writeDualFileReal().
void buildDualProblem | ( | SPxLPBase< Rational > & | dualLP, |
SPxRowId | primalRowIds[], | ||
SPxColId | primalColIds[], | ||
SPxRowId | dualRowIds[], | ||
SPxColId | dualColIds[], | ||
int * | nprimalrows, | ||
int * | nprimalcols, | ||
int * | ndualrows, | ||
int * | ndualcols | ||
) |
Building the dual problem from a given LP.
Definition at line 2499 of file spxlpbase_rational.cpp.
void buildDualProblem | ( | SPxLPBase< Real > & | dualLP, |
SPxRowId | primalRowIds[], | ||
SPxColId | primalColIds[], | ||
SPxRowId | dualRowIds[], | ||
SPxColId | dualColIds[], | ||
int * | nprimalrows, | ||
int * | nprimalcols, | ||
int * | ndualrows, | ||
int * | ndualcols | ||
) |
Building the dual problem from a given LP.
Definition at line 2795 of file spxlpbase_real.cpp.
void buildDualProblem | ( | SPxLPBase< Real > & | dualLP, |
SPxRowId | primalRowIds[], | ||
SPxColId | primalColIds[], | ||
SPxRowId | dualRowIds[], | ||
SPxColId | dualColIds[], | ||
int * | nprimalrows, | ||
int * | nprimalcols, | ||
int * | ndualrows, | ||
int * | ndualcols | ||
) |
|
virtual |
Changes variable bounds to newLower
and newUpper
. scale
determines whether the new data should be scaled.
Definition at line 1485 of file spxlpbase.h.
Referenced by SoPlex::_changeBoundsReal(), SoPlex::_lift(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SPxLPBase< Real >::changeBounds(), SoPlex::changeBoundsRational(), SoPlex::changeBoundsReal(), and SPxMainSM::simplifyCols().
|
virtual |
Changes bounds of column i
to newLower
and newUpper
. scale
determines whether the new data should be scaled.
Definition at line 1494 of file spxlpbase.h.
void changeBounds | ( | int | i, |
const S * | newLower, | ||
const S * | newUpper | ||
) |
Changes bounds of column i
to newLower
and newUpper
.
Definition at line 1503 of file spxlpbase.h.
|
virtual |
Changes bounds of column with identifier id
. scale
determines whether the new data should be scaled.
Definition at line 1511 of file spxlpbase.h.
|
virtual |
Replaces i
'th column of LP with newCol
. scale
determines whether the new data should be scaled.
Definition at line 1701 of file spxlpbase.h.
Referenced by SoPlex::_changeColReal(), SPxLPBase< Real >::changeCol(), SoPlex::changeColRational(), and SoPlex::changeColReal().
Replaces column with identifier id
with newCol
. scale
determines whether the new data should be scaled.
Definition at line 1744 of file spxlpbase.h.
void changeElement | ( | int | i, |
int | j, | ||
const Real & | val, | ||
bool | scale | ||
) |
Changes LP element (i
, j
) to val
. scale
determines whether the new data should be scaled.
Definition at line 535 of file spxlpbase_real.cpp.
|
virtual |
Changes LP element (i
, j
) to val
. scale
determines whether the new data should be scaled.
Definition at line 1750 of file spxlpbase.h.
Referenced by SoPlex::_changeElementReal(), SoPlex::_lift(), SPxMainSM::aggregateVars(), SPxLPBase< Real >::changeElement(), SoPlex::changeElementRational(), SoPlex::changeElementReal(), SPxMainSM::multiaggregation(), and SPxLPBase< Real >::operator=().
void changeElement | ( | int | i, |
int | j, | ||
const S * | val | ||
) |
Changes LP element (i
, j
) to val
.
Definition at line 1793 of file spxlpbase.h.
|
virtual |
Changes LP element identified by (rid
, cid
) to val
. scale
determines whether the new data should be scaled.
Definition at line 1824 of file spxlpbase.h.
void changeElement | ( | int | i, |
int | j, | ||
const Real & | val, | ||
bool | scale | ||
) |
void changeLhs | ( | const VectorBase< Real > & | newLhs, |
bool | scale | ||
) |
Changes left hand side vector for constraints to newLhs
.
Definition at line 499 of file spxlpbase_real.cpp.
|
virtual |
Changes left hand side vector for constraints to newLhs
. scale
determines whether the new data should be scaled.
Definition at line 1517 of file spxlpbase.h.
Referenced by SoPlex::_changeLhsReal(), SoPlex::_restoreLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxMainSM::aggregateVars(), SPxLPBase< Real >::changeLhs(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SPxLPBase< Real >::changeRange(), SPxLPBase< Real >::changeRow(), SPxMainSM::fixColumn(), SPxMainSM::handleExtremes(), SPxMainSM::multiaggregation(), SPxLPBase< Real >::operator=(), and SPxMainSM::simplifyRows().
|
virtual |
Changes i
'th left hand side value to newLhs
. scale
determines whether the new data should be scaled.
Definition at line 1526 of file spxlpbase.h.
void changeLhs | ( | int | i, |
const S * | newLhs | ||
) |
Changes i
'th left hand side value to newLhs
.
Definition at line 1542 of file spxlpbase.h.
|
virtual |
Changes left hand side value for row with identifier id
. scale
determines whether the new data should be scaled.
Definition at line 1549 of file spxlpbase.h.
void changeLhs | ( | const VectorBase< Real > & | newLhs, |
bool | scale | ||
) |
void changeLower | ( | const VectorBase< Real > & | newLower, |
bool | scale | ||
) |
Changes vector of lower bounds to newLower
.
Definition at line 460 of file spxlpbase_real.cpp.
|
virtual |
Changes vector of lower bounds to newLower
. scale
determines whether the new data should be scaled.
Definition at line 1409 of file spxlpbase.h.
Referenced by SoPlex::_changeLowerReal(), SoPlex::_getCompatibleBoundCons(), SoPlex::_restoreLPReal(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxMainSM::aggregateVars(), SPxLPBase< Real >::changeBounds(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeLower(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SPxMainSM::duplicateCols(), SPxMainSM::handleExtremes(), SPxLPBase< Real >::operator=(), SPxMainSM::propagatePseudoobj(), SPxMainSM::removeRowSingleton(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), and SPxMainSM::simplifyRows().
|
virtual |
changes i
'th lower bound to newLower
. scale
determines whether the new data should be scaled
Definition at line 1418 of file spxlpbase.h.
void changeLower | ( | int | i, |
const S * | newLower | ||
) |
changes i
'th lower bound to newLower
.
Definition at line 1434 of file spxlpbase.h.
|
virtual |
changes lower bound of column with identifier id
to newLower
. scale
determines whether the new data should be scaled
Definition at line 1441 of file spxlpbase.h.
void changeLower | ( | const VectorBase< Real > & | newLower, |
bool | scale | ||
) |
void changeMaxObj | ( | const VectorBase< Real > & | newObj, |
bool | scale | ||
) |
Changes objective vector to newObj
.
Definition at line 442 of file spxlpbase_real.cpp.
|
virtual |
Changes objective vector to newObj
. scale
determines whether the new data should be scaled.
Definition at line 1371 of file spxlpbase.h.
Referenced by SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::changeMaxObj(), SPxLPBase< Real >::changeObj(), SPxMainSM::multiaggregation(), and SPxLPBase< Real >::operator=().
|
virtual |
changes i
'th objective vector element to newVal
. scale
determines whether the new data should be scaled
Definition at line 1380 of file spxlpbase.h.
void changeMaxObj | ( | int | i, |
const S * | newVal | ||
) |
changes i
'th objective vector element to newVal
.
Definition at line 1396 of file spxlpbase.h.
|
virtual |
Changes objective value of column with identifier id
to newVal
. scale
determines whether the new data should be scaled.
Definition at line 1403 of file spxlpbase.h.
void changeMaxObj | ( | const VectorBase< Real > & | newObj, |
bool | scale | ||
) |
|
virtual |
Changes objective vector to newObj
. scale
determines whether the new data should be scaled.
Definition at line 1335 of file spxlpbase.h.
Referenced by SoPlex::_computeReducedProbObjCoeff(), SoPlex::_restoreLPReal(), SoPlex::_transformUnbounded(), SPxMainSM::aggregateVars(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeObj(), SoPlex::changeObjRational(), SoPlex::changeObjReal(), SPxMainSM::handleExtremes(), and SPxMainSM::simplifyCols().
|
virtual |
changes i
'th objective vector element to newVal
. scale
determines whether the new data should be scaled
Definition at line 1344 of file spxlpbase.h.
void changeObj | ( | int | i, |
const S * | newVal | ||
) |
changes i
'th objective vector element to newVal
.
Definition at line 1354 of file spxlpbase.h.
|
virtual |
Changes objective value of column with identifier id
to newVal
. scale
determines whether the new data should be scaled.
Definition at line 1365 of file spxlpbase.h.
|
virtual |
Definition at line 1841 of file spxlpbase.h.
Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_evaluateSolutionReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::_readFileRational(), SoPlex::_readFileReal(), and SoPlex::setRealParam().
|
virtual |
Changes left and right hand side vectors. scale
determines whether the new data should be scaled.
Definition at line 1585 of file spxlpbase.h.
Referenced by SoPlex::_changeRangeReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SPxLPBase< Real >::changeRange(), SoPlex::changeRangeRational(), SoPlex::changeRangeReal(), SPxMainSM::duplicateRows(), SPxMainSM::handleRowObjectives(), and SPxMainSM::simplifyCols().
|
virtual |
Changes left and right hand side of row i
. scale
determines whether the new data should be scaled.
Definition at line 1594 of file spxlpbase.h.
void changeRange | ( | int | i, |
const S * | newLhs, | ||
const S * | newRhs | ||
) |
Changes left and right hand side of row i
.
Definition at line 1603 of file spxlpbase.h.
|
virtual |
Changes left and right hand side of row with identifier id
. scale
determines whether the new data should be scaled.
Definition at line 1611 of file spxlpbase.h.
void changeRhs | ( | const VectorBase< Real > & | newRhs, |
bool | scale | ||
) |
Changes right hand side vector for constraints to newRhs
.
Definition at line 517 of file spxlpbase_real.cpp.
|
virtual |
Changes right hand side vector for constraints to newRhs
. scale
determines whether the new data should be scaled.
Definition at line 1555 of file spxlpbase.h.
Referenced by SoPlex::_changeRhsReal(), SoPlex::_restoreLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxMainSM::aggregateVars(), SPxLPBase< Real >::changeRange(), SPxLPBase< Real >::changeRhs(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SPxLPBase< Real >::changeRow(), SPxMainSM::fixColumn(), SPxMainSM::handleExtremes(), SPxMainSM::multiaggregation(), SPxLPBase< Real >::operator=(), and SPxMainSM::simplifyRows().
|
virtual |
Changes i
'th right hand side value to newRhs
. scale
determines whether the new data should be scaled.
Definition at line 1564 of file spxlpbase.h.
|
virtual |
Changes right hand side value for row with identifier id
. scale
determines whether the new data should be scaled.
Definition at line 1579 of file spxlpbase.h.
void changeRhs | ( | const VectorBase< Real > & | newRhs, |
bool | scale | ||
) |
|
virtual |
Replaces i
'th row of LP with newRow
. scale
determines whether the new data should be scaled.
Definition at line 1652 of file spxlpbase.h.
Referenced by SoPlex::_changeRowReal(), SoPlex::_getCompatibleColumns(), SPxLPBase< Real >::changeRow(), SoPlex::changeRowRational(), and SoPlex::changeRowReal().
Replaces row with identifier id
with newRow
. scale
determines whether the new data should be scaled.
Definition at line 1695 of file spxlpbase.h.
|
virtual |
Changes row objective function vector to newRowObj
. scale
determines whether the new data should be scaled.
Definition at line 1617 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::changeRowObj(), and SPxMainSM::handleRowObjectives().
|
virtual |
Changes i
'th row objective function value to newRowObj
. scale
determines whether the new data should be scaled.
Definition at line 1629 of file spxlpbase.h.
|
virtual |
Changes row objective function value for row with identifier id
. scale
determines whether the new data should be scaled.
Definition at line 1640 of file spxlpbase.h.
|
virtual |
Changes optimization sense to sns
.
Reimplemented in SPxSolver.
Definition at line 1830 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::buildDualProblem(), and SoPlex::setIntParam().
void changeUpper | ( | const VectorBase< Real > & | newUpper, |
bool | scale | ||
) |
Changes vector of upper bounds to newUpper
.
Definition at line 480 of file spxlpbase_real.cpp.
|
virtual |
Changes vector of upper bounds to newUpper
. scale
determines whether the new data should be scaled.
Definition at line 1447 of file spxlpbase.h.
Referenced by SoPlex::_changeUpperReal(), SoPlex::_getCompatibleBoundCons(), SoPlex::_restoreLPReal(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxMainSM::aggregateVars(), SPxLPBase< Real >::changeBounds(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeUpper(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SPxMainSM::duplicateCols(), SPxMainSM::handleExtremes(), SPxLPBase< Real >::operator=(), SPxMainSM::propagatePseudoobj(), SPxMainSM::removeRowSingleton(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), and SPxMainSM::simplifyRows().
|
virtual |
Changes i
'th upper bound to newUpper
. scale
determines whether the new data should be scaled.
Definition at line 1456 of file spxlpbase.h.
void changeUpper | ( | int | i, |
const S * | newUpper | ||
) |
Changes i
'th upper bound to newUpper
.
Definition at line 1472 of file spxlpbase.h.
|
virtual |
Changes upper bound of column with identifier id
to newLower
. scale
determines whether the new data should be scaled.
Definition at line 1479 of file spxlpbase.h.
void changeUpper | ( | const VectorBase< Real > & | newUpper, |
bool | scale | ||
) |
SPxColId cId | ( | int | n | ) | const |
Returns the column identifier for column n
.
Definition at line 573 of file spxlpbase.h.
Referenced by SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateDecompComplementaryDualProblem(), SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::buildDualProblem(), soplex::getColName(), soplex::initPrefs(), and SPxWeightPR::selectEnter().
|
virtual |
clears the LP.
Reimplemented in SPxSolver.
Definition at line 1133 of file spxlpbase.h.
Referenced by SoPlex::clearLPRational(), SoPlex::clearLPReal(), SPxLPBase< Real >::readLPF(), SPxLPBase< Real >::readMPS(), and SPxLPBase< Real >::SPxLPBase().
|
virtual |
Clears row objective function values for all rows.
Reimplemented in SPxSolver.
Definition at line 1646 of file spxlpbase.h.
const SVectorBase<R>& colVector | ( | int | i | ) | const |
Returns column vector of column i
.
Definition at line 377 of file spxlpbase.h.
Referenced by SoPlex::_checkScaling(), SoPlex::_untransformFeasibility(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::addColRational(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addPrimalActivity(), SPxLPBase< Real >::addRows(), SPxMainSM::aggregateVars(), SoPlex::areLPsInSync(), SoPlex::colVectorRational(), SoPlex::colVectorRealInternal(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveCol(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxMainSM::fixColumn(), SPxMainSM::ForceConstraintPS::ForceConstraintPS(), SPxScaler::getCoefUnscaled(), SPxLPBase< Real >::getCol(), SPxLPBase< Real >::getCols(), SPxScaler::getColUnscaled(), SPxLPBase< Real >::isConsistent(), SPxScaler::maxColRatio(), soplex::maxPrescaledRatio(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SPxMainSM::multiaggregation(), SPxLPBase< Real >::nNzos(), SPxMainSM::removeEmpty(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), and SPxMainSM::trivialHeuristic().
const SVectorBase<R>& colVector | ( | const SPxColId & | id | ) | const |
Returns column vector of column with identifier id
.
Definition at line 383 of file spxlpbase.h.
|
private |
Returns the LP as an LPRowSet.
Definition at line 2239 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addRows(), SPxScaler::applyScaling(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveRow(), SPxLPBase< Real >::doRemoveRows(), SPxMainSM::handleExtremes(), and SPxScaler::unscale().
void computeDualActivity | ( | const VectorBase< Rational > & | dual, |
VectorBase< Rational > & | activity, | ||
const bool | unscaled | ||
) | const |
Definition at line 76 of file spxlpbase_rational.cpp.
void computeDualActivity | ( | const VectorBase< Real > & | dual, |
VectorBase< Real > & | activity, | ||
const bool | unscaled | ||
) | const |
Definition at line 96 of file spxlpbase_real.cpp.
|
virtual |
Computes "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero.
SPxInternalCodeException | if dimension of dual vector does not match number of rows or if the dimension of the activity vector does not match the number of columns |
Referenced by SPxLPBase< Real >::addPrimalActivity(), and SPxLPBase< Real >::operator=().
void computeDualActivity | ( | const VectorBase< Real > & | dual, |
VectorBase< Real > & | activity, | ||
const bool | unscaled | ||
) | const |
void computePrimalActivity | ( | const VectorBase< Rational > & | primal, |
VectorBase< Rational > & | activity, | ||
const bool | unscaled | ||
) | const |
Definition at line 37 of file spxlpbase_rational.cpp.
void computePrimalActivity | ( | const VectorBase< Real > & | primal, |
VectorBase< Real > & | activity, | ||
const bool | unscaled | ||
) | const |
Definition at line 47 of file spxlpbase_real.cpp.
|
virtual |
Computes activity of the rows for a given primal vector; activity does not need to be zero.
SPxInternalCodeException | if the dimension of primal vector does not match number of columns or if the dimension of the activity vector does not match the number of rows unscaled determines whether the returned data should be unscaled (if scaling was applied prior) |
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_findViolatedRows(), SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_untransformFeasibility(), SPxLPBase< Real >::changeObjOffset(), SoPlex::getDecompRowViolation(), SoPlex::getRowViolationRational(), SoPlex::getRowViolationReal(), and SPxLPBase< Real >::operator=().
void computePrimalActivity | ( | const VectorBase< Real > & | primal, |
VectorBase< Real > & | activity, | ||
const bool | unscaled | ||
) | const |
|
private |
Definition at line 2481 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCol().
|
private |
Definition at line 2541 of file spxlpbase.h.
|
private |
Definition at line 2601 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCols().
|
private |
Definition at line 2251 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addRow().
|
private |
Definition at line 2308 of file spxlpbase.h.
|
private |
Definition at line 2366 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addRows().
|
protectedvirtual |
Internal helper method.
Reimplemented in SPxSolver.
Definition at line 2106 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::removeCol().
|
protectedvirtual |
Internal helper method.
Reimplemented in SPxSolver.
Definition at line 2147 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::removeCols().
|
protectedvirtual |
Internal helper method.
Reimplemented in SPxSolver.
Definition at line 2045 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::removeRow().
|
protectedvirtual |
Internal helper method.
Reimplemented in SPxSolver.
Definition at line 2083 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::removeRows().
void getCol | ( | int | i, |
LPColBase< R > & | col | ||
) | const |
Gets i
'th column.
Definition at line 339 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::getCol(), SoPlex::getColRational(), and SPxLPBase< Real >::getCols().
Gets column with identifier id
.
Definition at line 348 of file spxlpbase.h.
void getCols | ( | int | start, |
int | end, | ||
LPColSetBase< R > & | set | ||
) | const |
Gets columns start
, ..., end
.
Definition at line 354 of file spxlpbase.h.
Referenced by SoPlex::getColsRational().
void getColVectorUnscaled | ( | int | i, |
DSVectorBase< Real > & | vec | ||
) | const |
Gets column vector of column i
.
Definition at line 302 of file spxlpbase_real.cpp.
void getColVectorUnscaled | ( | const SPxColId & | id, |
DSVectorBase< Real > & | vec | ||
) | const |
Gets column vector of column with identifier id
.
Definition at line 314 of file spxlpbase_real.cpp.
void getColVectorUnscaled | ( | int | i, |
DSVectorBase< Real > & | vec | ||
) | const |
Gets column vector of column i
.
Referenced by SoPlex::_checkScaling(), SPxLPBase< Real >::colVector(), SoPlex::getColVectorReal(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), and SPxLPBase< Real >::operator=().
void getColVectorUnscaled | ( | const SPxColId & | id, |
DSVectorBase< Real > & | vec | ||
) | const |
Gets column vector of column with identifier id
.
void getColVectorUnscaled | ( | int | i, |
DSVectorBase< Real > & | vec | ||
) | const |
void getColVectorUnscaled | ( | const SPxColId & | id, |
DSVectorBase< Real > & | vec | ||
) | const |
void getLhsUnscaled | ( | VectorBase< Real > & | vec | ) | const |
Returns unscaled left hand side vector.
Definition at line 272 of file spxlpbase_real.cpp.
void getLhsUnscaled | ( | VectorBase< Real > & | vec | ) | const |
Returns unscaled left hand side vector.
Referenced by SoPlex::getLhsReal(), SPxLPBase< Real >::getLhsUnscaled(), SPxLPBase< Real >::maxRowObj(), and SPxLPBase< Real >::operator=().
void getLhsUnscaled | ( | VectorBase< Real > & | vec | ) | const |
void getLowerUnscaled | ( | DVector & | vec | ) | const |
Returns unscaled lower bound vector.
Definition at line 412 of file spxlpbase_real.cpp.
void getLowerUnscaled | ( | DVector & | vec | ) | const |
Gets unscaled lower bound vector.
Referenced by SoPlex::getLowerReal(), SPxLPBase< Real >::getLowerUnscaled(), SPxLPBase< Real >::lower(), and SPxLPBase< Real >::operator=().
void getLowerUnscaled | ( | DVector & | vec | ) | const |
void getObj | ( | VectorBase< R > & | pobj | ) | const |
Gets objective vector.
Definition at line 398 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_reconstructSolutionRational(), SoPlex::_storeLPReal(), and SoPlex::getObjRational().
void getObjUnscaled | ( | VectorBase< Real > & | pobj | ) | const |
Gets unscaled objective vector.
Definition at line 212 of file spxlpbase_real.cpp.
void getObjUnscaled | ( | VectorBase< Real > & | pobj | ) | const |
Gets unscaled objective vector.
Referenced by SPxLPBase< Real >::colVector(), SoPlex::getObjReal(), and SPxLPBase< Real >::operator=().
void getObjUnscaled | ( | VectorBase< Real > & | pobj | ) | const |
void getRhs | ( | VectorBase< R > & | vec | ) | const |
Gets (internal and possibly scaled) right hand side vector.
Definition at line 240 of file spxlpbase.h.
void getRhsUnscaled | ( | VectorBase< Real > & | vec | ) | const |
Gets unscaled right hand side vector.
Definition at line 242 of file spxlpbase_real.cpp.
void getRhsUnscaled | ( | VectorBase< Real > & | vec | ) | const |
Gets unscaled right hand side vector.
Referenced by SPxLPBase< Real >::getRhs(), SoPlex::getRhsReal(), SPxLPBase< Real >::getRhsUnscaled(), and SPxLPBase< Real >::operator=().
void getRhsUnscaled | ( | VectorBase< Real > & | vec | ) | const |
void getRow | ( | int | i, |
LPRowBase< R > & | row | ||
) | const |
Gets i
'th row.
Definition at line 182 of file spxlpbase.h.
Referenced by SoPlex::_getCompatibleColumns(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SPxLPBase< Real >::getRow(), and SoPlex::getRowRational().
Gets row with identifier id
.
Definition at line 191 of file spxlpbase.h.
void getRowObj | ( | VectorBase< R > & | prowobj | ) | const |
Gets row objective function vector.
Definition at line 273 of file spxlpbase.h.
void getRows | ( | int | start, |
int | end, | ||
LPRowSetBase< R > & | set | ||
) | const |
Gets rows start
, ... end
.
Definition at line 197 of file spxlpbase.h.
Referenced by SoPlex::getRowsRational().
void getRowVectorUnscaled | ( | int | i, |
DSVectorBase< Real > & | vec | ||
) | const |
Gets unscaled row vector of row i
.
Referenced by SoPlex::_checkScaling(), SPxLPBase< Real >::operator=(), and SPxLPBase< Real >::rowVector().
void getRowVectorUnscaled | ( | int | i, |
DSVectorBase< Real > & | vec | ||
) | const |
Gets unscaled row vector of row i
.
Definition at line 230 of file spxlpbase_real.cpp.
void getRowVectorUnscaled | ( | int | i, |
DSVectorBase< Real > & | vec | ||
) | const |
void getUpperUnscaled | ( | DVector & | vec | ) | const |
Returns unscaled upper bound vector.
Definition at line 382 of file spxlpbase_real.cpp.
void getUpperUnscaled | ( | DVector & | vec | ) | const |
Gets unscaled upper bound vector.
Referenced by SoPlex::getUpperReal(), SPxLPBase< Real >::getUpperUnscaled(), SPxLPBase< Real >::operator=(), and SPxLPBase< Real >::upper().
void getUpperUnscaled | ( | DVector & | vec | ) | const |
bool has | ( | const SPxRowId & | id | ) | const |
Returns the row number of the row with identifier id
.
Definition at line 547 of file spxlpbase.h.
Referenced by SPxBasis::removedCol(), and SPxBasis::removedRow().
bool has | ( | const SPxColId & | id | ) | const |
Returns the column number of the column with identifier id
.
Definition at line 553 of file spxlpbase.h.
bool has | ( | const SPxId & | id | ) | const |
Returns the row or column number for identifier id
.
Definition at line 559 of file spxlpbase.h.
bool isConsistent | ( | ) | const |
Consistency check.
Definition at line 1938 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling(), SPxLPBase< Real >::changeBounds(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeLhs(), SPxLPBase< Real >::changeLower(), SPxLPBase< Real >::changeMaxObj(), SPxLPBase< Real >::changeObj(), SPxLPBase< Real >::changeRange(), SPxLPBase< Real >::changeRhs(), SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::changeRowObj(), SPxLPBase< Real >::changeUpper(), SPxMainSM::handleExtremes(), SPxLPBase< Real >::operator=(), SPxScaler::setup(), SPxLPBase< Real >::SPxLPBase(), and SPxScaler::unscale().
bool isScaled | ( | ) | const |
Returns true if and only if the LP is scaled.
Definition at line 140 of file spxlpbase.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::_checkScaling(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_optimizeReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_storeSolutionReal(), SoPlex::changeObjReal(), SoPlex::coefReal(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SPxScaler::getCoefUnscaled(), SPxScaler::getColUnscaled(), SPxScaler::getLhsUnscaled(), SPxScaler::getLowerUnscaled(), SPxScaler::getMaxObjUnscaled(), SPxScaler::getRhsUnscaled(), SPxScaler::getRowUnscaled(), SoPlex::getRowVectorReal(), SPxScaler::getUpperUnscaled(), SPxScaler::lhsUnscaled(), SPxScaler::lowerUnscaled(), SPxScaler::maxObjUnscaled(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SPxScaler::rhsUnscaled(), SPxScaler::scaleElement(), SPxScaler::scaleLhs(), SPxScaler::scaleLower(), SPxScaler::scaleObj(), SPxScaler::scaleRhs(), SPxScaler::scaleUpper(), SPxScaler::unscale(), SPxScaler::unscaleDual(), SPxScaler::unscaleDualray(), SPxScaler::unscalePrimal(), SPxScaler::unscalePrimalray(), SPxScaler::unscaleRedCost(), SPxScaler::unscaleSlacks(), SPxScaler::upperUnscaled(), and SoPlex::writeFileReal().
const VectorBase<R>& lhs | ( | ) | const |
Returns left hand side vector.
Definition at line 255 of file spxlpbase.h.
Referenced by SoPlex::_checkScaling(), SoPlex::_completeRangeTypesRational(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_restoreLPReal(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_storeLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SPxMainSM::aggregateVars(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SPxSolver::calculateProblemRanges(), SPxSolver::changeLhs(), SPxLPBase< Real >::changeLhs(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SPxSolver::changeRange(), SoPlex::changeRangeRational(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SPxSolver::changeRhsStatus(), SPxMainSM::checkSolution(), SPxSolver::computeEnterCoPrhs4Row(), SPxSolver::computeFrhs(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxBasis::dualRowStatus(), SPxMainSM::duplicateRows(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SoPlex::getDecompRowViolation(), SPxSolver::getEnterVals(), SPxSolver::getEnterVals2(), SPxSolver::getLeaveVals(), SPxSolver::getLeaveVals2(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::getOriginalProblemStatistics(), SoPlex::getOrigVarFixedDirection(), SPxLPBase< Real >::getRow(), SPxLPBase< Real >::getRows(), SPxSolver::getSlacks(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), SPxSolver::isBasisValid(), SoPlex::lhsRational(), SoPlex::lhsRealInternal(), soplex::LPFwriteRows(), SPxMainSM::multiaggregation(), SPxSolver::nonbasicValue(), SPxLPBase< Real >::printProblemStatistics(), SPxSolver::qualConstraintViolation(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), SPxSolver::setLeaveBound4Row(), SPxSolver::setPrimalBounds(), SPxWeightST::setPrimalStatus(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), SPxSolver::test(), SPxMainSM::trivialHeuristic(), SPxScaler::unscale(), SPxSolver::unShift(), and SPxSolver::varStatusToBasisStatusRow().
const R& lhs | ( | int | i | ) | const |
Returns left hand side of row number i
.
Definition at line 261 of file spxlpbase.h.
const R& lhs | ( | const SPxRowId & | id | ) | const |
Returns left hand side of row with identifier id
.
Definition at line 267 of file spxlpbase.h.
|
protected |
Returns left hand side of row i
.
Definition at line 1997 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling(), and SPxScaler::unscale().
Real lhsUnscaled | ( | int | i | ) | const |
Returns unscaled left hand side of row number i
.
Definition at line 282 of file spxlpbase_real.cpp.
Returns left hand side of row with identifier id
.
Definition at line 294 of file spxlpbase_real.cpp.
R lhsUnscaled | ( | int | i | ) | const |
Returns unscaled left hand side of row number i
.
Referenced by SoPlex::_checkScaling(), SPxSolver::changeLhs(), SoPlex::getRowViolationReal(), SoPlex::lhsReal(), SPxLPBase< Real >::maxRowObj(), and SPxLPBase< Real >::operator=().
R lhsUnscaled | ( | const SPxRowId & | id | ) | const |
Returns left hand side of row with identifier id
.
Real lhsUnscaled | ( | int | i | ) | const |
const VectorBase<R>& lower | ( | ) | const |
Returns (internal and possibly scaled) lower bound vector.
Definition at line 488 of file spxlpbase.h.
Referenced by SoPlex::_checkScaling(), SoPlex::_completeRangeTypesRational(), SoPlex::_getCompatibleBoundCons(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_storeLPReal(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), SPxMainSM::aggregateVars(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SPxSolver::calculateProblemRanges(), SoPlex::changeBoundsRational(), SPxSolver::changeLower(), SPxLPBase< Real >::changeLower(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SPxSolver::changeUpperStatus(), SPxMainSM::computeMinMaxResidualActivity(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxMainSM::duplicateCols(), SPxMainSM::FixBoundsPS::FixBoundsPS(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxWeightST::generate(), SPxLPBase< Real >::getCol(), SPxLPBase< Real >::getCols(), SoPlex::getDecompBoundViolation(), SPxSolver::getEnterVals2(), SPxSolver::getLeaveVals2(), SoPlex::getOriginalProblemStatistics(), SPxMainSM::handleExtremes(), SPxSolver::isBasisValid(), SoPlex::lowerRational(), SoPlex::lowerRealInternal(), soplex::LPFwriteBounds(), SPxMainSM::multiaggregation(), SPxSolver::nonbasicValue(), soplex::primalColStatus(), SPxLPBase< Real >::printProblemStatistics(), SPxMainSM::propagatePseudoobj(), SPxSolver::qualBoundViolation(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), SPxSumST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), SPxMainSM::trivialHeuristic(), SPxScaler::unscale(), SPxSolver::unShift(), SPxSolver::varStatusToBasisStatusCol(), and SPxBasis::writeBasis().
const R& lower | ( | int | i | ) | const |
Returns (internal and possibly scaled) lower bound of column i
.
Definition at line 494 of file spxlpbase.h.
const R& lower | ( | const SPxColId & | id | ) | const |
Returns (internal and possibly scaled) lower bound of column with identifier id
.
Definition at line 500 of file spxlpbase.h.
|
protected |
Returns lower bound of column i
.
Definition at line 2021 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling(), and SPxScaler::unscale().
Real lowerUnscaled | ( | int | i | ) | const |
Returns unscaled lower bound of column i
.
Definition at line 422 of file spxlpbase_real.cpp.
Returns unscaled lower bound of column with identifier id
.
Definition at line 434 of file spxlpbase_real.cpp.
R lowerUnscaled | ( | int | i | ) | const |
Returns unscaled lower bound of column i
.
Referenced by SoPlex::_checkScaling(), SPxSolver::changeLower(), SoPlex::getBoundViolationReal(), SPxLPBase< Real >::lower(), SoPlex::lowerReal(), and SPxLPBase< Real >::operator=().
R lowerUnscaled | ( | const SPxColId & | id | ) | const |
Returns unscaled lower bound of column with identifier id
.
Real lowerUnscaled | ( | int | i | ) | const |
|
protected |
Returns the LP as an LPColSetBase.
Definition at line 2039 of file spxlpbase.h.
|
protected |
Returns the LP as an LPRowSetBase.
Definition at line 2033 of file spxlpbase.h.
Rational maxAbsNzo | ( | bool | ) | const |
Definition at line 115 of file spxlpbase_rational.cpp.
Real maxAbsNzo | ( | bool | unscaled | ) | const |
Definition at line 145 of file spxlpbase_real.cpp.
|
virtual |
Absolute biggest non-zero element in (in rational case possibly scaled) LP.
Referenced by SoPlex::getOriginalProblemStatistics(), SoPlex::maxAbsNonzeroRational(), SoPlex::maxAbsNonzeroReal(), SPxLPBase< Real >::nNzos(), SPxLPBase< Real >::operator=(), SPxLPBase< Real >::printProblemStatistics(), SPxLeastSqSC::scale(), SPxEquiliSC::scale(), and SPxGeometSC::scale().
Real maxAbsNzo | ( | bool | unscaled | ) | const |
const VectorBase<R>& maxObj | ( | ) | const |
Returns objective vector for maximization problem.
Methods maxObj() return the objective vector or its elements, after transformation to a maximization problem. Since this is how SPxLPBase internally stores any LP these methods are generally faster. The following condition holds: obj() = spxSense() * maxObj().
Definition at line 434 of file spxlpbase.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::_computeReducedProbObjCoeff(), SoPlex::_performOptIRStable(), SoPlex::_setComplementaryPrimalOriginalObjective(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::areLPsInSync(), SPxSolver::changeLowerStatus(), SPxLPBase< Real >::changeMaxObj(), SPxSolver::changeUpperStatus(), SPxWeightPR::computeCP(), SPxSolver::computeEnterCoPrhs4Col(), SPxSolver::computeFrhs(), SPxSolver::computeLeaveCoPrhs4Col(), SPxWeightPR::computeRP(), SPxMainSM::duplicateCols(), SPxWeightST::generate(), SPxSolver::getDegeneracyLevel(), SPxSolver::getEnterVals(), SPxSolver::getEnterVals2(), SPxSolver::getLeaveVals(), SPxSolver::getRedCost(), SPxWeightPR::load(), soplex::LPFwriteObjective(), SPxLPBase< Real >::maxObj(), SoPlex::maxObjRational(), SoPlex::maxObjRealInternal(), SPxMainSM::multiaggregation(), SPxSolver::nonbasicValue(), SPxLPBase< Real >::obj(), SPxSolver::performSolutionPolishing(), soplex::primalColStatus(), SPxMainSM::propagatePseudoobj(), SPxMainSM::removeEmpty(), SPxSolver::setDualColBounds(), SPxSolver::setRedCost(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxSolver::test(), SPxMainSM::trivialHeuristic(), SPxSolver::ungetEnterVal(), SPxSolver::unShift(), and SPxSolver::varStatusToBasisStatusCol().
const R& maxObj | ( | int | i | ) | const |
Returns objective value of column i
for maximization problem.
Definition at line 440 of file spxlpbase.h.
const R& maxObj | ( | const SPxColId & | id | ) | const |
Returns objective value of column with identifier id
for maximization problem.
Definition at line 446 of file spxlpbase.h.
|
protected |
Returns objective value of column i
for maximization problem.
Definition at line 2009 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling(), and SPxScaler::unscale().
void maxObjUnscaled | ( | VectorBase< Real > & | vec | ) | const |
Returns unscaled objective vector for maximization problem.
Definition at line 352 of file spxlpbase_real.cpp.
Real maxObjUnscaled | ( | int | i | ) | const |
Returns unscaled objective value of column i
for maximization problem.
Definition at line 362 of file spxlpbase_real.cpp.
Returns unscaled objective value of column with identifier id
for maximization problem.
Definition at line 374 of file spxlpbase_real.cpp.
void maxObjUnscaled | ( | VectorBase< Real > & | vec | ) | const |
Returns unscaled objective vector for maximization problem.
Referenced by SPxLPBase< Real >::maxObj(), SoPlex::maxObjReal(), and SPxLPBase< Real >::operator=().
R maxObjUnscaled | ( | int | i | ) | const |
Returns unscaled objective value of column i
for maximization problem.
R maxObjUnscaled | ( | const SPxColId & | id | ) | const |
Returns unscaled objective value of column with identifier id
for maximization problem.
void maxObjUnscaled | ( | VectorBase< Real > & | vec | ) | const |
Real maxObjUnscaled | ( | int | i | ) | const |
const VectorBase<R>& maxRowObj | ( | ) | const |
Definition at line 300 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable(), SPxScaler::applyScaling(), SPxSolver::changeLhsStatus(), SPxSolver::changeRhsStatus(), SPxLPBase< Real >::changeRowObj(), SPxSolver::computeEnterCoPrhs4Row(), SPxSolver::computeFrhs(), SPxSolver::computeLeaveCoPrhs4Row(), SPxSolver::coTest(), SPxSolver::getDual(), SPxSolver::getEnterVals(), SPxSolver::getEnterVals2(), SPxMainSM::handleRowObjectives(), SPxSolver::nonbasicValue(), SPxLPBase< Real >::rowObj(), SPxSolver::setDualColBounds(), SPxSolver::setLeaveBound4Row(), SPxSolver::ungetEnterVal(), SPxScaler::unscale(), and SPxSolver::unShift().
const R& maxRowObj | ( | int | i | ) | const |
Definition at line 306 of file spxlpbase.h.
const R& maxRowObj | ( | const SPxRowId & | id | ) | const |
Returns row objective function value of row with identifier id
.
Definition at line 312 of file spxlpbase.h.
|
protected |
Returns objective function value of row i
.
Definition at line 2003 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), and SPxScaler::unscale().
Rational minAbsNzo | ( | bool | ) | const |
Definition at line 133 of file spxlpbase_rational.cpp.
|
virtual |
Absolute smallest non-zero element in (possibly scaled) LP.
Referenced by SoPlex::getOriginalProblemStatistics(), SoPlex::minAbsNonzeroRational(), SoPlex::minAbsNonzeroReal(), SPxLPBase< Real >::nNzos(), SPxLPBase< Real >::operator=(), SPxLPBase< Real >::printProblemStatistics(), SPxLeastSqSC::scale(), SPxEquiliSC::scale(), and SPxGeometSC::scale().
Real minAbsNzo | ( | bool | unscaled | ) | const |
Definition at line 178 of file spxlpbase_real.cpp.
Real minAbsNzo | ( | bool | unscaled | ) | const |
int nCols | ( | ) | const |
Returns number of columns in LP.
Definition at line 158 of file spxlpbase.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::_checkScaling(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_getZeroDualMultiplierIndices(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_identifyComplementaryPrimalFixedPrimalVars(), SoPlex::_preprocessAndSolveReal(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_setComplementaryPrimalOriginalObjective(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_storeLPReal(), SoPlex::_storeSolutionReal(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SoPlex::_writeOriginalProblemBasis(), SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addDualActivity(), SPxBasis::addedCols(), SPxLPBase< Real >::addPrimalActivity(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SPxSolver::calculateProblemRanges(), SoPlex::checkBasisDualFeasibility(), SPxSolver::computeFrhsXtra(), SPxBasis::Desc::Desc(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveCol(), SPxLPBase< Real >::doRemoveRows(), SPxBasis::dump(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxWeightST::generate(), SPxSolver::getBasis(), SPxSolver::getBasisColStatus(), SPxScaler::getCoefUnscaled(), SPxScaler::getColMaxAbsUnscaled(), SPxScaler::getColMinAbsUnscaled(), soplex::getColName(), SPxScaler::getColUnscaled(), SoPlex::getDecompBoundViolation(), SoPlex::getDecompRowViolation(), SPxSolver::getDegeneracyLevel(), SPxSolver::getDual(), SoPlex::getOriginalProblemBasisColStatus(), SoPlex::getOriginalProblemStatistics(), SPxSolver::getPrimal(), SPxSolver::getRedCost(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), soplex::initPrefs(), SPxSolver::isBasisValid(), SPxWeightPR::isConsistent(), SPxBasis::isConsistent(), SPxLPBase< Real >::isConsistent(), SPxBasis::isDescValid(), SPxWeightPR::load(), SPxBasis::loadDesc(), SPxScaler::lowerUnscaled(), soplex::LPFwriteBounds(), soplex::LPFwriteGenerals(), soplex::LPFwriteSVector(), SPxScaler::maxColRatio(), SPxScaler::maxObjUnscaled(), soplex::maxPrescaledRatio(), SPxMainSM::multiaggregation(), SPxLPBase< Real >::nNzos(), SPxSolver::nonbasicValue(), SoPlex::numColsRational(), SoPlex::numColsReal(), SPxSolver::performSolutionPolishing(), SoPlex::printDecompDisplayLine(), SPxLPBase< Real >::printProblemStatistics(), SPxMainSM::propagatePseudoobj(), SPxSolver::qualBoundViolation(), SPxSolver::qualConstraintViolation(), SPxSolver::qualSlackViolation(), SPxBasis::readBasis(), SPxBasis::reDim(), SPxMainSM::removeCol(), SPxLPBase< Real >::removeColRange(), SoPlex::removeColRational(), SoPlex::removeColReal(), SPxLPBase< Real >::removeCols(), SoPlex::removeColsRational(), SoPlex::removeColsReal(), SPxBasis::removedCol(), SPxMainSM::removeEmpty(), SPxBasis::restoreInitialBasis(), SPxLeastSqSC::scale(), SPxGeometSC::scale(), SPxScaler::scaleElement(), SPxScaler::scaleLower(), SPxScaler::scaleObj(), SPxScaler::scaleUpper(), SPxFastRT::selectEnter(), SPxFastRT::selectLeave(), SoPlex::setBasis(), SPxSolver::setBasis(), SPxSolver::setDual(), SPxSolver::setDualColBounds(), SPxSolver::setDualRowBounds(), SoPlex::setIntegralityInformation(), SPxSolver::setIntegralityInformation(), SPxScaler::setup(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxSolver::solve(), SPxLPBase< Real >::subDualActivity(), SPxSolver::terminate(), SPxMainSM::trivialHeuristic(), SPxScaler::unscale(), SPxSolver::unShift(), SPxScaler::upperUnscaled(), and SPxBasis::writeBasis().
int nNzos | ( | ) | const |
Returns number of nonzeros in LP.
Definition at line 164 of file spxlpbase.h.
Referenced by SoPlex::areLPsInSync(), SoPlex::getOriginalProblemStatistics(), SoPlex::numNonzerosRational(), SoPlex::numNonzerosReal(), SPxLPBase< Real >::printProblemStatistics(), SPxLeastSqSC::scale(), and SPxMainSM::simplify().
int nRows | ( | ) | const |
Returns number of rows in LP.
Definition at line 152 of file spxlpbase.h.
Referenced by SoPlex::_checkBasisScaling(), SoPlex::_checkScaling(), SoPlex::_decompResolveWithoutPreprocessing(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_evaluateSolutionDecomp(), SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_preprocessAndSolveReal(), SoPlex::_resolveWithoutPreprocessing(), SoPlex::_restoreLPReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::_storeSolutionReal(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_writeOriginalProblemBasis(), SPxLPBase< Real >::addCol(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addDualActivity(), SPxBasis::addedRows(), SPxLPBase< Real >::addPrimalActivity(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SPxSolver::calculateProblemRanges(), SPxSolver::changeLhs(), SPxSolver::changeRange(), SPxSolver::changeRhs(), SPxMainSM::checkSolution(), SPxSolver::computeFrhs(), SPxBasis::Desc::Desc(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveCols(), SPxLPBase< Real >::doRemoveRow(), SPxBasis::dump(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxWeightST::generate(), SPxSolver::getBasis(), SPxSolver::getBasisRowStatus(), SPxScaler::getCoefUnscaled(), SoPlex::getDecompRowViolation(), SPxSolver::getDegeneracyLevel(), SPxSolver::getDual(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::getOriginalProblemStatistics(), SPxScaler::getRowMaxAbsUnscaled(), SPxScaler::getRowMinAbsUnscaled(), SPxScaler::getRowUnscaled(), SPxSolver::getSlacks(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), soplex::initPrefs(), SPxSolver::isBasisValid(), SPxWeightPR::isConsistent(), SPxBasis::isConsistent(), SPxLPBase< Real >::isConsistent(), SPxBasis::isDescValid(), SPxScaler::lhsUnscaled(), SPxWeightPR::load(), SPxBasis::loadDesc(), soplex::LPFgetRowName(), soplex::LPFwriteRows(), soplex::maxPrescaledRatio(), SPxScaler::maxRowRatio(), soplex::MPSgetRowName(), SPxMainSM::multiaggregation(), SPxSolver::nonbasicValue(), SoPlex::numRowsRational(), SoPlex::numRowsReal(), SPxSolver::performSolutionPolishing(), SPxLPBase< Real >::printProblemStatistics(), SPxSolver::qualConstraintViolation(), SPxSolver::qualSlackViolation(), SPxBasis::readBasis(), SPxBasis::reDim(), SPxBasis::removedRow(), SPxMainSM::removeEmpty(), SPxMainSM::removeRow(), SPxLPBase< Real >::removeRowRange(), SoPlex::removeRowRational(), SoPlex::removeRowReal(), SPxLPBase< Real >::removeRows(), SoPlex::removeRowsRational(), SoPlex::removeRowsReal(), SPxBasis::restoreInitialBasis(), SPxScaler::rhsUnscaled(), SPxLeastSqSC::scale(), SPxGeometSC::scale(), SPxScaler::scaleElement(), SPxScaler::scaleLhs(), SPxScaler::scaleRhs(), SoPlex::setBasis(), SPxSolver::setBasis(), SPxSolver::setDualColBounds(), SPxSolver::setDualRowBounds(), SPxScaler::setup(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), SPxLPBase< Real >::subDualActivity(), SPxSolver::terminate(), SPxScaler::unscale(), SPxSolver::unShift(), and SPxBasis::writeBasis().
int number | ( | const SPxRowId & | id | ) | const |
Returns the row number of the row with identifier id
.
Definition at line 527 of file spxlpbase.h.
Referenced by SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_getZeroDualMultiplierIndices(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_identifyComplementaryPrimalFixedPrimalVars(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_setComplementaryPrimalOriginalObjective(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SPxSolver::changeBounds(), SPxLPBase< Real >::changeBounds(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeLhs(), SPxLPBase< Real >::changeLower(), SPxLPBase< Real >::changeMaxObj(), SPxLPBase< Real >::changeObj(), SPxSolver::changeRange(), SPxLPBase< Real >::changeRange(), SPxLPBase< Real >::changeRhs(), SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::changeRowObj(), SPxLPBase< Real >::changeUpper(), SoPlex::checkBasisDualFeasibility(), SPxSolver::computeDualfarkas4Row(), SPxSolver::computeEnterCoPrhs(), SPxSolver::computeEnterCoPrhs4Col(), SPxSolver::computeEnterCoPrhs4Row(), SPxSolver::computeLeaveCoPrhs(), SPxSolver::computeLeaveCoPrhs4Col(), SPxSolver::computeLeaveCoPrhs4Row(), SPxWeightPR::computeLeavePenalty(), SPxSolver::computePrimalray4Col(), SPxBasis::dump(), SPxSolver::enter(), SPxBoundFlippingRT::flipAndUpdate(), SPxWeightST::generate(), SoPlex::getBasisInd(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SPxLPBase< Real >::getCol(), SoPlex::getCompSlackVarCoeff(), SPxSolver::getDual(), SPxSolver::getEnterVals(), SPxSolver::getEnterVals2(), SPxSolver::getLeaveVals(), SPxSolver::getLeaveVals2(), SoPlex::getOriginalProblemBasisColStatus(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::getOrigVarFixedDirection(), SPxSolver::getPrimal(), SPxSolver::getRedCost(), SPxLPBase< Real >::getRow(), SPxSolver::getSlacks(), SPxLPBase< Real >::maxObj(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SPxLPBase< Real >::obj(), SPxSolver::performSolutionPolishing(), SPxSolver::rejectEnter(), SPxLPBase< Real >::removeCol(), SPxLPBase< Real >::removeCols(), SPxLPBase< Real >::removeRow(), SPxLPBase< Real >::removeRows(), SPxParMultPR::selectEnter(), SPxFastRT::selectEnter(), SPxFastRT::selectLeave(), SPxBoundFlippingRT::selectLeave(), SPxSolver::setDual(), soplex::setDualStatus(), SPxSolver::setEnterBound4Col(), SPxSolver::setEnterBound4Row(), SPxSolver::setEnterBounds(), SPxSolver::setLeaveBound4Col(), SPxSolver::setLeaveBound4Row(), SPxSolver::setLeaveBounds(), SPxSolver::setPrimal(), SPxWeightST::setPrimalStatus(), SPxSolver::setRedCost(), SPxSolver::setSlacks(), SPxSolver::solve(), SPxSolver::ungetEnterVal(), and SPxSolver::unShift().
int number | ( | const SPxColId & | id | ) | const |
Returns the column number of the column with identifier id
.
Definition at line 533 of file spxlpbase.h.
int number | ( | const SPxId & | id | ) | const |
Returns the row or column number for identifier id
.
Definition at line 539 of file spxlpbase.h.
R obj | ( | int | i | ) | const |
Returns objective value of column i
.
Definition at line 407 of file spxlpbase.h.
Referenced by SoPlex::_checkScaling(), SoPlex::_performOptIRStable(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_updateDecompComplementaryDualProblem(), SPxMainSM::aggregateVars(), SPxMainSM::FixVariablePS::FixVariablePS(), SPxMainSM::ForceConstraintPS::ForceConstraintPS(), SPxMainSM::FreeColSingletonPS::FreeColSingletonPS(), SoPlex::getCompSlackVarCoeff(), SPxMainSM::handleExtremes(), SoPlex::objRational(), and SPxMainSM::simplifyCols().
R obj | ( | const SPxColId & | id | ) | const |
Returns objective value of column with identifier id
.
Definition at line 418 of file spxlpbase.h.
const R& objOffset | ( | ) | const |
Returns the objective function value offset.
Definition at line 521 of file spxlpbase.h.
Referenced by SoPlex::printDecompDisplayLine(), and SPxSolver::value().
Real objUnscaled | ( | int | i | ) | const |
Returns unscaled objective value of column i
.
Definition at line 322 of file spxlpbase_real.cpp.
Returns unscaled objective value of column with identifier id
.
Definition at line 344 of file spxlpbase_real.cpp.
R objUnscaled | ( | int | i | ) | const |
Returns unscaled objective value of column i
.
Referenced by SoPlex::_checkScaling(), SPxLPBase< Real >::obj(), SoPlex::objReal(), and SPxLPBase< Real >::operator=().
R objUnscaled | ( | const SPxColId & | id | ) | const |
Returns unscaled objective value of column with identifier id
.
Real objUnscaled | ( | int | i | ) | const |
Assignment operator.
Definition at line 2760 of file spxlpbase.h.
Assignment operator.
Definition at line 2780 of file spxlpbase.h.
void printProblemStatistics | ( | std::ostream & | os | ) |
prints problem statistics
Definition at line 1235 of file spxlpbase.h.
Referenced by SoPlex::printStatistics().
|
virtual |
Reads LP in LP or MPS format from input stream in
.
in | input stream. |
rowNames | contains after the call the names of the constraints (rows) in the same order as the rows in the LP. Constraints without a name (only possible with LPF files) are automatically assigned a name. Maybe 0 if the names are not needed. |
colNames | contains after the call the names of the variables (columns) in the same order as the columns in the LP. Maybe 0 if the names are not needed. |
intVars | contains after the call the indices of those variables that where marked as beeing integer in the file. Maybe 0 if the information is not needed. |
Reimplemented in SPxSolver.
Definition at line 1171 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::readFile().
|
virtual |
Reads LP from a file.
Definition at line 1192 of file spxlpbase.h.
Referenced by SoPlex::_readFileRational(), and SoPlex::_readFileReal().
bool readLPF | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
Read LP in "CPLEX LP File Format".
The specification is taken from the ILOG CPLEX 7.0 Reference Manual, Appendix E, Page 527.
This routine should read (most?) valid LP format files. What it will not do, is find all cases where a file is ill formed. If this happens it may complain and read nothing or read "something".
Problem: A line ending in '+' or '-' followed by a line starting with a number, will be regarded as an error.
The reader will accept the keyword INT[egers] as a synonym for GEN[erals] which is an undocumented feature in CPLEX.
A difference to the CPLEX reader, is that no name for the objective row is required.
The manual says the maximum allowed line length is 255 characters, but CPLEX does not complain if the lines are longer.
< row names.
< column names.
< the set of columns read.
< the set of rows read.
< reusable empty column.
< last assembled row.
< last assembled vector (from row).
p_input | input stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 542 of file spxlpbase_rational.cpp.
bool readLPF | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
Read LP in "CPLEX LP File Format".
The specification is taken from the ILOG CPLEX 7.0 Reference Manual, Appendix E, Page 527.
This routine should read (most?) valid LP format files. What it will not do, is find all cases where a file is ill formed. If this happens it may complain and read nothing or read "something".
Problem: A line ending in '+' or '-' followed by a line starting with a number, will be regarded as an error.
The reader will accept the keyword INT[egers] as a synonym for GEN[erals] which is an undocumented feature in CPLEX.
A difference to the CPLEX reader, is that no name for the objective row is required.
The manual says the maximum allowed line length is 255 characters, but CPLEX does not complain if the lines are longer.
< row names.
< column names.
< the set of columns read.
< the set of rows read.
< reusable empty column.
< last assembled row.
< last assembled vector (from row).
p_input | input stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 937 of file spxlpbase_real.cpp.
|
virtual |
Reads LP in LP format from input stream in
.
Referenced by SPxLPBase< Real >::clear(), SPxLPBase< Real >::operator=(), and SPxLPBase< Real >::read().
bool readLPF | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
|
virtual |
Reads an LP in MPS format from input stream in
.
Referenced by SPxLPBase< Real >::clear(), SPxLPBase< Real >::operator=(), and SPxLPBase< Real >::read().
bool readMPS | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
p_input | input stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 1746 of file spxlpbase_rational.cpp.
bool readMPS | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
p_input | input stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 2118 of file spxlpbase_real.cpp.
bool readMPS | ( | std::istream & | p_input, |
NameSet * | p_rnames, | ||
NameSet * | p_cnames, | ||
DIdxSet * | p_intvars | ||
) |
|
virtual |
Removes i
'th column.
Definition at line 1033 of file spxlpbase.h.
Referenced by SoPlex::_removeColReal(), SoPlex::_setComplementaryPrimalOriginalObjective(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::removeCol(), SPxMainSM::removeCol(), SoPlex::removeColRational(), and SoPlex::removeColReal().
|
virtual |
Removes column with identifier id
.
Definition at line 1042 of file spxlpbase.h.
|
virtual |
Removes columns from start
to end
(including both).
Definition at line 1103 of file spxlpbase.h.
Referenced by SoPlex::_project(), and SoPlex::_untransformEquality().
|
virtual |
Removes multiple columns.
This method removes all LPColBases from the SPxLPBase with an index i
such that perm
[i] < 0. Upon completion, perm
[i] >= 0 indicates the new index where the i
'th LPColBase has been moved to due to this removal. Note, that perm
must point to an array of at least nCols() ints.
Definition at line 1052 of file spxlpbase.h.
Referenced by SoPlex::_removeColsReal(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SPxMainSM::duplicateCols(), SPxLPBase< Real >::removeColRange(), SPxLPBase< Real >::removeCols(), SoPlex::removeColsRational(), and SoPlex::removeColsReal().
|
virtual |
Definition at line 1058 of file spxlpbase.h.
|
virtual |
Removes n
LPCols.
Removing multiple columns with one method invocation is available in two flavours. An array perm
can be passed as third argument or not. If given, perm
must be an array at least of size nCols(). It is used to return the permutations resulting from this removal: perm
[i] < 0 indicates, that the element to index i
has been removed. Otherwise, perm
[i] is the new index of the element with index i
before the removal.
Definition at line 1083 of file spxlpbase.h.
|
virtual |
Removes i
'th row.
Definition at line 933 of file spxlpbase.h.
Referenced by SoPlex::_removeRowReal(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::removeRow(), SPxMainSM::removeRow(), SoPlex::removeRowRational(), and SoPlex::removeRowReal().
|
virtual |
Removes row with identifier id
.
Definition at line 942 of file spxlpbase.h.
|
virtual |
Removes rows from start
to end
(including both).
Definition at line 1003 of file spxlpbase.h.
Referenced by SoPlex::_project().
|
virtual |
Removes multiple rows.
This method removes all LPRowBases from the SPxLPBase with an index i
such that perm
[i] < 0. Upon completion, perm
[i] >= 0 indicates the new index where the i'th
LPRow has been moved to due to this removal. Note that perm
must point to an array of at least nRows() ints.
Definition at line 952 of file spxlpbase.h.
Referenced by SoPlex::_formDecompReducedProblem(), SoPlex::_removeRowsReal(), SoPlex::_updateDecompComplementaryPrimalProblem(), SPxMainSM::duplicateRows(), SPxLPBase< Real >::removeRowRange(), SPxLPBase< Real >::removeRows(), SoPlex::removeRowsRational(), and SoPlex::removeRowsReal().
|
virtual |
Definition at line 958 of file spxlpbase.h.
|
virtual |
Removes n
LPRowBases.
Removing multiple rows with one method invocation is available in two flavours. An array perm
can be passed as third argument or not. If given, perm
must be an array at least of size nRows(). It is used to return the permutations resulting from this removal: perm
[i] < 0 indicates, that the element to index i
has been removed. Otherwise, perm
[i] is the new index of the element with index i
before the removal.
Definition at line 983 of file spxlpbase.h.
const VectorBase<R>& rhs | ( | ) | const |
Returns right hand side vector.
Definition at line 221 of file spxlpbase.h.
Referenced by SoPlex::_checkScaling(), SoPlex::_completeRangeTypesRational(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_findViolatedRows(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_identifyComplementaryDualFixedPrimalVars(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_restoreLPReal(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_storeLPReal(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SPxMainSM::aggregateVars(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SPxSolver::calculateProblemRanges(), SoPlex::changeLhsRational(), SoPlex::changeLhsReal(), SPxSolver::changeLhsStatus(), SPxSolver::changeRange(), SoPlex::changeRangeRational(), SPxSolver::changeRhs(), SPxLPBase< Real >::changeRhs(), SoPlex::changeRhsRational(), SoPlex::changeRhsReal(), SPxMainSM::checkSolution(), SPxSolver::computeEnterCoPrhs4Row(), SPxSolver::computeFrhs(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxBasis::dualRowStatus(), SPxMainSM::duplicateRows(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SoPlex::getDecompRowViolation(), SPxSolver::getEnterVals(), SPxSolver::getEnterVals2(), SPxSolver::getLeaveVals(), SPxSolver::getLeaveVals2(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::getOriginalProblemStatistics(), SoPlex::getOrigVarFixedDirection(), SPxLPBase< Real >::getRow(), SPxLPBase< Real >::getRows(), SPxSolver::getSlacks(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), SPxSolver::isBasisValid(), soplex::LPFwriteRows(), SPxMainSM::multiaggregation(), SPxSolver::nonbasicValue(), SPxLPBase< Real >::printProblemStatistics(), SPxSolver::qualConstraintViolation(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SoPlex::rhsRational(), SoPlex::rhsRealInternal(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), SPxSolver::setLeaveBound4Row(), SPxSolver::setPrimalBounds(), SPxWeightST::setPrimalStatus(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), SPxSolver::test(), SPxMainSM::trivialHeuristic(), SPxScaler::unscale(), SPxSolver::unShift(), and SPxSolver::varStatusToBasisStatusRow().
const R& rhs | ( | int | i | ) | const |
Returns right hand side of row number i
.
Definition at line 227 of file spxlpbase.h.
const R& rhs | ( | const SPxRowId & | id | ) | const |
Returns right hand side of row with identifier id
.
Definition at line 234 of file spxlpbase.h.
|
protected |
Returns right hand side of row i
.
Definition at line 1991 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling(), and SPxScaler::unscale().
R rhsUnscaled | ( | int | i | ) | const |
Returns unscaled right hand side of row number i
.
Referenced by SoPlex::_checkScaling(), SPxSolver::changeRhs(), SPxLPBase< Real >::getRhs(), SoPlex::getRowViolationReal(), SPxLPBase< Real >::operator=(), and SoPlex::rhsReal().
Real rhsUnscaled | ( | int | i | ) | const |
Returns unscaled right hand side of row number i
.
Definition at line 252 of file spxlpbase_real.cpp.
R rhsUnscaled | ( | const SPxRowId & | id | ) | const |
Returns unscaled right hand side of row with identifier id
.
Returns unscaled right hand side of row with identifier id
.
Definition at line 264 of file spxlpbase_real.cpp.
Real rhsUnscaled | ( | int | i | ) | const |
SPxRowId rId | ( | int | n | ) | const |
Returns the row identifier for row n
.
Definition at line 567 of file spxlpbase.h.
Referenced by SoPlex::_formDecompComplementaryProblem(), SPxLPBase< Real >::addRow(), SPxLPBase< Real >::addRows(), SPxLPBase< Real >::buildDualProblem(), soplex::getRowName(), soplex::initPrefs(), soplex::LPFgetRowName(), soplex::MPSgetRowName(), and SPxWeightPR::selectEnter().
R rowObj | ( | int | i | ) | const |
Definition at line 282 of file spxlpbase.h.
Referenced by SPxMainSM::DuplicateRowsPS::DuplicateRowsPS(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxLPBase< Real >::getRow(), SPxLPBase< Real >::getRows(), and SPxMainSM::handleRowObjectives().
R rowObj | ( | const SPxRowId & | id | ) | const |
Returns row objective function value of row with identifier id
.
Definition at line 291 of file spxlpbase.h.
LPRowBase<R>::Type rowType | ( | int | i | ) | const |
Returns the inequality type of the i'th
LPRow.
Definition at line 327 of file spxlpbase.h.
Referenced by SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::getCompSlackVarCoeff(), SoPlex::getOriginalProblemBasisRowStatus(), SoPlex::getOrigProbDualVariableSign(), SoPlex::rowTypeRational(), and SoPlex::rowTypeReal().
Returns the inequality type of the row with identifier key
.
Definition at line 333 of file spxlpbase.h.
const SVectorBase<R>& rowVector | ( | int | i | ) | const |
Gets row vector of row i
.
Definition at line 206 of file spxlpbase.h.
Referenced by SoPlex::_checkScaling(), SoPlex::_computeInfeasBox(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_untransformUnbounded(), SPxLPBase< Real >::addCols(), SPxLPBase< Real >::addDualActivity(), SoPlex::addRowRational(), SPxLPBase< Real >::addRows(), SPxMainSM::checkSolution(), SPxMainSM::computeMinMaxResidualActivity(), SPxWeightPR::computeRP(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doRemoveRow(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SPxLPBase< Real >::getRow(), SPxLPBase< Real >::getRows(), SPxScaler::getRowUnscaled(), SoPlex::getRowVectorReal(), SPxLPBase< Real >::isConsistent(), soplex::LPFwriteRows(), soplex::maxPrescaledRatio(), SPxScaler::maxRowRatio(), SPxMainSM::multiaggregation(), SPxSolver::qualConstraintViolation(), SPxSolver::qualSlackViolation(), SPxMainSM::removeEmpty(), SoPlex::rowVectorRational(), SoPlex::rowVectorRealInternal(), SPxSumST::setupWeights(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), and SPxLPBase< Real >::subDualActivity().
const SVectorBase<R>& rowVector | ( | const SPxRowId & | id | ) | const |
Gets row vector of row with identifier id
.
Definition at line 212 of file spxlpbase.h.
|
private |
Definition at line 2245 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::addCols(), SPxScaler::applyScaling(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeRow(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::doRemoveCol(), SPxLPBase< Real >::doRemoveCols(), SPxMainSM::handleExtremes(), and SPxScaler::unscale().
void setOutstream | ( | SPxOut & | newOutstream | ) |
Definition at line 126 of file spxlpbase.h.
Referenced by SoPlex::_ensureRationalLP(), SoPlex::_formDecompComplementaryProblem(), SoPlex::SoPlex(), and SoPlex::writeDualFileReal().
void setScalingInfo | ( | bool | scaled | ) |
set whether the LP is scaled or not
Definition at line 146 of file spxlpbase.h.
Referenced by SoPlex::_preprocessAndSolveReal(), SPxScaler::applyScaling(), and SPxGeometSC::scale().
SPxSense spxSense | ( | ) | const |
Returns the optimization sense.
Definition at line 515 of file spxlpbase.h.
Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_readFileRational(), SoPlex::_readFileReal(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::areLPsInSync(), SPxLPBase< Real >::changeObj(), SPxLPBase< Real >::changeRowObj(), SoPlex::checkBasisDualFeasibility(), SPxMainSM::ForceConstraintPS::ForceConstraintPS(), SPxSolver::getDual(), SPxLPBase< Real >::getObj(), SPxSolver::getRedCost(), SPxLPBase< Real >::getRowObj(), soplex::LPFwriteObjective(), SPxLPBase< Real >::obj(), SPxLPBase< Real >::rowObj(), SPxSolver::setDual(), SPxSolver::setRedCost(), SPxMainSM::simplify(), and SPxSolver::terminate().
|
virtual |
Updates "dual" activity of the columns for a given dual vector, i.e., y^T A; activity does not need to be zero.
SPxInternalCodeException | if dimension of dual vector does not match number of rows or if the dimension of the activity vector does not match the number of columns |
Definition at line 1898 of file spxlpbase.h.
Referenced by SoPlex::_performOptIRStable(), and SoPlex::_reconstructSolutionRational().
void unscaleLP | ( | ) |
Definition at line 36 of file spxlpbase_real.cpp.
void unscaleLP | ( | ) |
unscales the lp and clears basis
Referenced by SPxLPBase< Real >::operator=(), SPxLPBase< Real >::setOutstream(), SPxSolver::unscaleLPandReloadBasis(), and SoPlex::writeFileReal().
void unscaleLP | ( | ) |
const VectorBase<R>& upper | ( | ) | const |
Returns upper bound vector.
Definition at line 461 of file spxlpbase.h.
Referenced by SoPlex::_checkScaling(), SoPlex::_completeRangeTypesRational(), SoPlex::_getCompatibleBoundCons(), SoPlex::_recomputeRangeTypesRational(), SoPlex::_recomputeRangeTypesReal(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_storeLPReal(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformFeasibility(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), SPxMainSM::aggregateVars(), SPxScaler::applyScaling(), SoPlex::areLPsInSync(), SoPlex::changeBoundsRational(), SoPlex::changeLowerRational(), SoPlex::changeLowerReal(), SPxSolver::changeLowerStatus(), SPxSolver::changeUpper(), SPxLPBase< Real >::changeUpper(), SoPlex::changeUpperRational(), SoPlex::changeUpperReal(), SPxMainSM::computeMinMaxResidualActivity(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxMainSM::duplicateCols(), SPxMainSM::FixBoundsPS::FixBoundsPS(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxWeightST::generate(), SPxLPBase< Real >::getCol(), SPxLPBase< Real >::getCols(), SoPlex::getDecompBoundViolation(), SPxSolver::getEnterVals2(), SPxSolver::getLeaveVals2(), SoPlex::getOriginalProblemStatistics(), SPxMainSM::handleExtremes(), SPxSolver::isBasisValid(), soplex::LPFwriteBounds(), SPxMainSM::multiaggregation(), SPxSolver::nonbasicValue(), soplex::primalColStatus(), SPxLPBase< Real >::printProblemStatistics(), SPxMainSM::propagatePseudoobj(), SPxSolver::qualBoundViolation(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), SPxSumST::setupWeights(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), SPxMainSM::trivialHeuristic(), SPxScaler::unscale(), SPxSolver::unShift(), SoPlex::upperRational(), SoPlex::upperRealInternal(), SPxSolver::varStatusToBasisStatusCol(), and SPxBasis::writeBasis().
const R& upper | ( | int | i | ) | const |
Returns upper bound of column i
.
Definition at line 467 of file spxlpbase.h.
const R& upper | ( | const SPxColId & | id | ) | const |
Returns upper bound of column with identifier id
.
Definition at line 473 of file spxlpbase.h.
|
protected |
Returns upper bound of column i
.
Definition at line 2015 of file spxlpbase.h.
Referenced by SPxScaler::applyScaling(), and SPxScaler::unscale().
Real upperUnscaled | ( | int | i | ) | const |
Returns unscaled upper bound of column i
.
Definition at line 392 of file spxlpbase_real.cpp.
Returns unscaled upper bound of column with identifier id
.
Definition at line 404 of file spxlpbase_real.cpp.
R upperUnscaled | ( | int | i | ) | const |
Returns unscaled upper bound of column i
.
Referenced by SoPlex::_checkScaling(), SPxSolver::changeUpper(), SoPlex::getBoundViolationReal(), SPxLPBase< Real >::operator=(), SPxLPBase< Real >::upper(), and SoPlex::upperReal().
R upperUnscaled | ( | const SPxColId & | id | ) | const |
Returns unscaled upper bound of column with identifier id
.
Real upperUnscaled | ( | int | i | ) | const |
|
virtual |
Write loaded LP to filename
.
Definition at line 1216 of file spxlpbase.h.
Referenced by SoPlex::_lift(), SoPlex::_project(), SoPlex::_transformEquality(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::writeDualFileReal(), SoPlex::writeFileRational(), and SoPlex::writeFileReal().
|
virtual |
Writes a file in LP format to out
. If rowNames
and colNames
are NULL
, default names are used for the constraints and variables. If intVars
is not NULL
, the variables contained in it are marked as integer in the output.
Referenced by SPxLPBase< Real >::operator=(), SPxLPBase< Real >::readFile(), and SPxLPBase< Real >::writeFile().
void writeLPF | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
Write LP in LP Format.
p_output | output stream |
p_rnames | row names |
p_cnames | column names |
p_intvars | integer variables |
Definition at line 2191 of file spxlpbase_rational.cpp.
void writeLPF | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
Write LP in LP Format.
p_output | output stream |
p_rnames | row names |
p_cnames | column names |
p_intvars | integer variables |
Definition at line 2500 of file spxlpbase_real.cpp.
void writeLPF | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
|
virtual |
Writes a file in MPS format to out
.
Referenced by SPxLPBase< Real >::operator=(), SPxLPBase< Real >::readFile(), SPxLPBase< Real >::writeFile(), and SPxSolver::writeState().
void writeMPS | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
Write LP in MPS format.
p_output | output stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 2303 of file spxlpbase_rational.cpp.
void writeMPS | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
Write LP in MPS format.
p_output | output stream. |
p_rnames | row names. |
p_cnames | column names. |
p_intvars | integer variables. |
Definition at line 2602 of file spxlpbase_real.cpp.
void writeMPS | ( | std::ostream & | p_output, |
const NameSet * | p_rnames, | ||
const NameSet * | p_cnames, | ||
const DIdxSet * | p_intvars | ||
) | const |
|
friend |
Definition at line 83 of file spxlpbase.h.
|
friend |
Definition at line 85 of file spxlpbase.h.
|
friend |
Definition at line 87 of file spxlpbase.h.
|
friend |
Definition at line 86 of file spxlpbase.h.
|
friend |
Definition at line 82 of file spxlpbase.h.
|
friend |
Definition at line 88 of file spxlpbase.h.
|
friend |
Definition at line 84 of file spxlpbase.h.
|
private |
true, if scaling has been performed
Definition at line 113 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::isScaled(), SPxLPBase< Real >::operator=(), and SPxScaler::unscale().
|
private |
points to the scaler if the lp has been scaled, to 0 otherwise
Definition at line 115 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::changeElement(), SPxLPBase< Real >::changeLhs(), SPxLPBase< Real >::changeLower(), SPxLPBase< Real >::changeMaxObj(), SPxLPBase< Real >::changeRhs(), SPxLPBase< Real >::changeUpper(), SPxLPBase< Real >::clear(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxLPBase< Real >::operator=(), and SPxScaler::setup().
|
private |
offset computed, e.g., in simplification step
Definition at line 112 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::objOffset(), and SPxLPBase< Real >::operator=().
SPxOut* spxout |
Definition at line 122 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::operator=(), and SPxMainSM::simplify().
|
private |
optimization sense.
Definition at line 111 of file spxlpbase.h.
Referenced by SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::operator=(), and SPxLPBase< Real >::spxSense().