Scippy

SoPlex

Sequential object-oriented simPlex

soplex Namespace Reference

Everything should be within this namespace. More...

Classes

class  Array
 Safe arrays of arbitrary types.Class Array provides safe arrays of arbitrary type. Array elements are accessed just like ordinary C++ array elements by means of the index operator[](). Safety is provided by. More...
 
class  ClassArray
 Safe arrays of class objects.Class ClassArray provides safe arrays of general C++ objects (in contrast to data objects). The elements of an instance of ClassArray can be accessed just like ordinary C++ array elements by means of the index operator[](). Safety is provided by. More...
 
class  CLUFactor
 Implementation of sparse LU factorization.This class implements a sparse LU factorization with either FOREST-TOMLIN or ETA updates, using dynamic Markowitz pivoting. More...
 
class  CLUFactorRational
 Implementation of sparse LU factorization with Rational precision.This class implements a sparse LU factorization with either FOREST-TOMLIN or ETA updates, using dynamic Markowitz pivoting. More...
 
struct  Compare
 Compare class for row weights, used for sorting. More...
 
class  DataArray
 Safe arrays of data objects.Class DataArray provides safe arrays of Data Objects. For general C++ objects (in contrast to data objects) class Array is provided which manages memory in a C++ compliant way. More...
 
class  DataHashTable
 Generic hash table for data objects.Class DataHashTable provides a generic hash table for Data Objects, i.e., a map that maps arguments called HashItems to values called Infos. HashItem and Info types are passed as template arguments. HashItems must provide a comparison operator==(). Furthermore, both the HashItem and Info must be data objects in the sense that the assignment operator is equivalent to a memcpy() of the structure and no destructor is required. More...
 
class  DataKey
 Entry identifier class for items of a DataSet.Every item in a DataSet is assigned a DataKey by which it can be accessed (using DataSet::operator[]()). A DataKey consists of an integer member idx, which is a positive number for any valid DataKey. No idx of an element in a DataSet may exceed the sets max(). This property may be used to build arrays with additional information to the elements of a DataSet. More...
 
class  DataSet
 Set of data objects.Class DataSet manages of sets of data objects of a template type DATA. For constructing a DataSet the maximum number of entries must be given. The current maximum number may be inquired with method max(). More...
 
class  DIdxSet
 Dynamic index set.Class DIdxSet provides dynamic IdxSet in the sense, that no restrictions are posed on the use of methods add(). However, method indexMem() has been moved to the private members. This is because DIdxSet adds its own memory management to class IdxSet and the user must not interfere with it. More...
 
class  DSVectorBase
 Dynamic sparse vectors.Class DSVectorBase implements dynamic sparse vectors, i.e. SVectorBases with an automatic memory management. This allows the user to freely add() as many nonzeros to a DSVectorBase as desired, without any precautions. For saving memory method setMax() allows to reduce memory consumption to the amount really required. More...
 
class  DVectorBase
 Dynamic dense vectors.Class DVectorBase is a derived class of VectorBase adding automatic memory management to such objects. This allows to implement maths operations operator+() and operator-(). Further, it is possible to reset the dimension of a DVectorBase via method reDim(). However, this may render all references to values of a reDim()ed DVectorBase invalid. More...
 
class  IdElement
 Elements for IdLists.IdElements are derived from the template parameter class T and can hence be used as such. The additional methods next() and prev() provide access to the links for the list. They may freely be used by the programmer as long as an IdElement is not member of a IdList. In this case, the IdList controls members next() and prev(). However, IdList should provide enough functionality for the user not to require any modification to these members. More...
 
class  IdList
 Generic Real linked list.Class IdList implements an intrusive Real linked list as a template class. As such, the list elements must provide the links themselfs. For conveniance, we also provide class IdElement that adds both links to an arbitrary class as template parameter. More...
 
class  IdxSet
 Set of indices.Class IdxSet provides a set of indices. At construction it must be given an array of int where to store the indice and its length. The array will from then on be managed by the IdxSet. More...
 
class  IsElement
 Elements for IsLists.Class IsElement allows to easily construct list elements for an intrusive single linked list IsList out of a template class T. It adds a next pointer to each element. An instance of IdElement<T> a can be used just like an instance of T itself, except that method next() has been added (thereby overriding any method next() defined in T). More...
 
class  IsList
 Generic single linked list.Class IsList implements an intrusive single linked list of elements of a template class T. As an intrusive list, the objects of type T must provide methods next() for setting and inquiring a pointer to the next element in a list. The user is responsible for not modifying the next() pointer of elements currently residing in a list, which may destroy the lists integrity. For this, class IsList provides enough methods for modifying a list in a save way. See the method list for a description. More...
 
class  LPColBase
 LP column.Class LPColBase provides a datatype for storing the column of an LP a the form similar to

\[ \begin{array}{rl} \hbox{max} & c^T x \\ \hbox{s.t.} & Ax \le b \\ & l \le x \le u \end{array} \]

Hence, an LPColBase consists of an objective value, a column DSVector and an upper and lower bound to the corresponding variable, which may include \(\pm\infty\). However, it depends on the LP code to use, what values are actually treated as \(\infty\). More...

 
class  LPColSetBase
 Set of LP columns.Class LPColSetBase implements a set of LPColBase%s. Unless for memory limitations, any number of LPColBases may be added to an LPColSetBase. Single or multiple LPColBases may be added to an LPColSetBase, where each method add() comes with two different signatures. One with and one without a parameter, used for returning the DataKeys assigned to the new LPColBases by the set. See DataKey for a more detailed description of the concept of keys. For the concept of renumbering LPColBases within an LPColSetBase after removal of some LPColBases, see DataSet. More...
 
class  LPRowBase
 (In)equality for LPs.Class LPRowBase provides constraints for linear programs in the form

\[ l \le a^Tx \le r, \]

where a is a DSVector. l is referred to as left hand side, r as right hand side and a as row vector or the constraint vector. l and r may also take values \(\pm\) infinity. This static member is predefined, but may be overridden to meet the needs of the LP solver to be used. More...

 
class  LPRowSetBase
 Set of LP rows.Class LPRowSetBase implements a set of LPRowBase%s. Unless for memory limitations, any number of LPRowBases may be added to an LPRowSetBase. Single or multiple LPRowBases may be added to an LPRowSetBase, where each method add() comes with two different signatures. One with and one without a parameter, used for returning the Keys assigned to the new LPRowBases by the set. See DataKey for a more detailed description of the concept of keys. For the concept of renumbering LPRowBases within an LPRowSetBase after removal of some LPRows see DataSet. More...
 
class  MPSInput
 
class  NameSet
 Set of strings.Class NameSet implements a symbol or name table. It allows to store or remove names (i.e., char*), but does not provide means for manipulating stored names. More...
 
class  Nonzero
 Sparse vector nonzero element. More...
 
class  NoTimer
 
class  Param
 
class  Random
 Random numbers.Class Random provides random Real variables, i.e. a value variable that gives another value each time it is accessed. It may be used just like an ordinary Real by means of an overloaded cast operator Real()%. More...
 
class  Rational
 Wrapper for GMP type mpq_class.We wrap mpq_class so that we can replace it by a double type if GMP is not available. More...
 
class  SLinSolver
 Sparse Linear Solver virtual base class.Class SLinSolver provides a class for solving sparse linear systems with a matrix \(A\) and arbitrary right-hand side vectors. For doing so, the matrix must be first loaded to an SLinSolver object as an array of pointers to the column SVectors of this matrix. More...
 
class  SLinSolverRational
 Sparse Linear Solver virtual base class with Rational precision.Class SLinSolverRational provides a class for solving sparse linear systems with a matrix \(A\) and arbitrary right-hand side vectors. For doing so, the matrix must be first loaded to an SLinSolverRational object as an array of pointers to the column SVectorsRational of this matrix. More...
 
class  SLUFactor
 Implementation of Sparse Linear Solver.This class implements a SLinSolver interface by using the sparse LU factorization implementet in #CLUFactor. More...
 
class  SLUFactorRational
 Implementation of Sparse Linear Solver with Rational precision.This class implements a SLinSolverRational interface by using the sparse LU factorization implemented in #CLUFactorRational. More...
 
class  SolBase
 Class for storing a primal-dual solution with basis information. More...
 
class  SoPlex
 Preconfigured SoPlex LP-solver. More...
 
class  SoPlexLegacy
 Preconfigured SoPlexLegacy LP-solver. More...
 
class  SPxAutoPR
 Auto pricer.This pricer switches between Devex and Steepest edge pricer based on the difficulty of the problem which is determined by the number of iterations. More...
 
class  SPxBasis
 Simplex basis.Consider the linear program as provided from class SPxLP:

\[ \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} \]

where \(c, l_c, u_c, x \in {\bf R}^n\), \(l_r, u_r \in {\bf R}^m\) and \(A \in {\bf R}^{m \times n}\). Solving this LP with the simplex algorithm requires the definition of a basis. Such can be defined as a set of column vectors or a set of row vectors building a non-singular matrix. We will refer to the first case as the columnwise representation and the latter case will be called the rowwise representation. In both cases, a basis is a set of vectors forming a non-singular matrix. The dimension of the vectors is referred to as the basis' dimension, whereas the number of vectors belonging to the LP is called the basis' codimension. More...

 
class  SPxBoundFlippingRT
 Bound flipping ratio test ("long step dual") for SoPlex.Class SPxBoundFlippingRT provides an implementation of the bound flipping ratio test as a derived class of SPxRatioTester. Dual step length is increased beyond some breakpoints and corresponding primal nonbasic variables are set to their other bound to handle the resulting dual infeasibility. More...
 
class  SPxColId
 Ids for LP columns.Class SPxColId provides DataKeys for the column indices of an SPxLP. More...
 
class  SPxDantzigPR
 Dantzig pricer.Class SPxDantzigPR is an implementation class of an SPxPricer implementing Dantzig's default pricing strategy, i.e., maximal/minimal reduced cost or maximally violated constraint. More...
 
class  SPxDefaultRT
 Textbook ratio test for SoPlex.Class SPxDefaultRT provides an implementation of the textbook ratio test as a derived class of SPxRatioTester. This class is not intended for reliably solving LPs (even though it does the job for ``numerically simple'' LPs). Instead, it should serve as a demonstration of how to write ratio tester classes. More...
 
class  SPxDevexPR
 Devex pricer.The Devex Pricer for SoPlex implements an approximate steepest edge pricing, that does without solving an extra linear system and computing the scalar products. More...
 
class  SPxEquiliSC
 Equilibrium row/column scaling.This SPxScaler implementation performs equilibrium scaling of the LPs rows and columns. More...
 
class  SPxException
 Exception base class.This class implements a base class for our SoPlex exceptions We provide a what() function which returns the exception message. More...
 
class  SPxFastRT
 Fast shifting ratio test.Class SPxFastRT is an implementation class of SPxRatioTester providing fast and stable ratio test. Stability is achieved by allowing some infeasibility to ensure numerical stability such as the Harris procedure. Performance is achieved by skipping the second phase if the first phase already shows a stable enough pivot. More...
 
class  SPxGeometSC
 Geometric mean row/column scaling.This SPxScaler implementation performs geometric mean scaling of the LPs rows and columns. More...
 
class  SPxHarrisRT
 Harris pricing with shifting.Class SPxHarrisRT is a stable implementation of a SPxRatioTester class along the lines of Harris' two phase algorithm. Additionally it uses shifting of bounds in order to avoid cycling. More...
 
class  SPxHybridPR
 Hybrid pricer.The hybrid pricer for SoPlex tries to guess the best pricing strategy to use for pricing the loaded LP with the loaded algorithm type and basis representation. Currently it does so by switching between SPxSteepPR, SPxDevexPR and SPxParMultPR. More...
 
class  SPxId
 Generic Ids for LP rows or columns.Both SPxColIds and SPxRowIds may be treated uniformly as SPxIds: More...
 
class  SPxInterfaceException
 Exception class for incorrect usage of interface methods. More...
 
class  SPxInternalCodeException
 Exception class for things that should NEVER happen.This class is derived from the SoPlex exception base class. It does not provide any new functionality. Most often it is used to replace assert(false) terms in earlier code. More...
 
class  SPxLeastSqSC
 Least squares scaling.This SPxScaler implementation performs least squares scaling as suggested by Curtis and Reid in: On the Automatic Scaling of Matrices for Gaussian Elimination (1972). More...
 
class  SPxLPBase
 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...

 
class  SPxMainSM
 LP simplifier for removing uneccessary row/columns.This SPxSimplifier is mainly based on the paper "Presolving in linear programming" by E. Andersen and K. Andersen (Mathematical Programming, 1995). It implements all proposed methods and some other preprocessing techniques for removing redundant rows and columns and bounds. Also infeasibility and unboundedness may be detected. More...
 
class  SPxMemoryException
 Exception class for out of memory exceptions.This class is derived from the SoPlex exception base class. It does not provide any new functionality. More...
 
class  SPxOut
 Wrapper for several output streams. A verbosity level is used to decide which stream to use and whether to really print a given message. Regardless of whether the verbosity level is set via a manipulator or via the member function, it is persistent until a new value is set. More...
 
class  SPxParMultPR
 Partial multiple pricing.Class SPxParMultPr is an implementation class for SPxPricer implementing Dantzig's default pricing strategy with partial multiple pricing. Partial multiple pricing applies to the entering Simplex only. A set of partialSize eligible pivot indices is selected (partial pricing). In the following Simplex iterations pricing is restricted to these indices (multiple pricing) until no more eliiable pivots are available. Partial multiple pricing significantly reduces the computation time for computing the matrix-vector-product in the Simplex algorithm. More...
 
class  SPxPricer
 Abstract pricer base class.Class SPxPricer is a pure virtual class defining the interface for pricer classes to be used by SoPlex. The pricer's task is to select a vector to enter or leave the simplex basis, depending on the chosen simplex type. More...
 
class  SPxRatioTester
 Abstract ratio test base class.Class SPxRatioTester is the virtual base class for computing the ratio test within the Simplex algorithm driven by SoPlex. After a SoPlex solver has been load()ed to an SPxRatioTester, the solver calls selectLeave() for computing the ratio test for the entering simplex and selectEnter() for computing the ratio test in leaving simplex. More...
 
class  SPxRowId
 Ids for LP rows.Class SPxRowId provides DataKeys for the row indices of an SPxLP. More...
 
class  SPxScaler
 LP scaler abstract base class.Instances of classes derived from SPxScaler may be loaded to SoPlex in order to scale LPs before solving them. SoPlex will load() itself to the SPxScaler and then call scale(). Generally any SPxLP can be loaded to a SPxScaler for scale()ing it. The scaling can be undone by calling unscale(). More...
 
class  SPxSimplifier
 LP simplification abstract base class.Instances of classes derived from SPxSimplifier may be loaded to SoPlex in order to simplify LPs before solving them. SoPlex will call simplify() on itself. Generally any SPxLP can be given to a SPxSimplifier for simplify()ing it. The simplification cannot be undone, but given an primal/dual solution for the simplified SPxLP, the simplifier can reconstruct the primal/dual solution of the unsimplified LP. More...
 
class  SPxSolver
 Sequential object-oriented SimPlex.SPxSolver is an LP solver class using the revised Simplex algorithm. It provides two basis representations, namely a column basis and a row basis (see Representation). For both representations, a primal and dual algorithm is available (see Type). More...
 
class  SPxStarter
 SoPlex start basis generation base class.SPxStarter is the virtual base class for classes generating a starter basis for the Simplex solver SoPlex. When a SPxStarter object has been loaded to a SoPlex solver, the latter will call method generate() in order to have a start basis generated. Implementations of method generate() must terminate by loading the generated basis to SoPlex. Loaded bases must be nonsingular. More...
 
class  SPxStatusException
 Exception class for status exceptions during the computationsThis class is derived from the SoPlex exception base class. It does not provide any new functionality. More...
 
class  SPxSteepExPR
 Steepest edge pricer.Class SPxSteepExPR implements a steepest edge pricer to be used with SoPlex. Exact initialization of weights is used. More...
 
class  SPxSteepPR
 Steepest edge pricer.Class SPxSteepPR implements a steepest edge pricer to be used with SoPlex. More...
 
class  SPxSumST
 Simple heuristic SPxStarter.Testing version of an SPxVectorST using a very simplistic heuristic to build up an approximated solution vector. More...
 
class  SPxVectorST
 Solution vector based start basis.This version of SPxWeightST can be used to construct a starting basis for an LP to be solved with SoPlex if an approximate solution vector or dual vector (possibly optained by a heuristic) is available. This is done by setting up weights for the SPxWeightST it is derived from. More...
 
class  SPxWeightPR
 Weighted pricing.Class SPxWeightPR is an implemantation class of SPxPricer that uses weights for columns and rows for selecting the Simplex pivots. The weights are computed by methods computeCP() and computeRP() which may be overridden by derived classes. More...
 
class  SPxWeightST
 Weighted start basis.Class SPxWeightST is an implementation of a SPxStarter for generating a Simplex starting basis. Using method setupWeights() it sets up arrays weight and coWeight, or equivalently rowWeight and colWeight. (rowWeight and colWeight are just pointers initialized to weight and coWeight according to the representation of SoPlex base passed to method generate().) More...
 
class  SSVectorBase
 Semi sparse vector.This class implements semi-sparse vectors. Such are DVectorBases where the indices of its nonzero elements can be stored in an extra IdxSet. Only elements with absolute value > epsilon are considered to be nonzero. Since really storing the nonzeros is not always convenient, an SSVectorBase provides two different stati: setup and not setup. An SSVectorBase being setup means that the nonzero indices are available, otherwise an SSVectorBase is just an ordinary DVectorBase with an empty IdxSet. Note that due to arithmetic operation, zeros can slip in, i.e., it is only guaranteed that at least every non-zero is in the IdxSet. More...
 
class  SVectorBase
 Sparse vectors.Class SVectorBase provides packed sparse vectors. Such are a sparse vectors, with a storage scheme that keeps all data in one contiguous block of memory. This is best suited for using them for parallel computing on a distributed memory multiprocessor. More...
 
class  SVSetBase
 Sparse vector set.Class SVSetBase provides a set of sparse vectors SVectorBase. All SVectorBases in an SVSetBase share one big memory block for their nonzeros. This memory is referred to as the nonzero memory. The SVectorBases themselves are saved in another memory block referred to as the vector memory. Both memory blocks will grow automatically if required, when adding more SVectorBases to the set or enlarging SVectorBases within the set. For controlling memory consumption, methods are provided to inquire and reset the size of the memory blocks used for vectors and nonzeros. More...
 
class  Timer
 Wrapper for the system time query methods. More...
 
class  TimerFactory
 Class to create new timers and to switch types of exiting ones. More...
 
class  UnitVectorBase
 Sparse vector \(e_i\).A UnitVectorBase is an SVectorBase that can take only one nonzero value with value 1 but arbitrary index. More...
 
class  UpdateVector
 Dense vector with semi-sparse vector for updatesIn many algorithms vectors are updated in every iteration, by adding a multiple of another vector to it, i.e., given a vector x, a scalar \(\alpha\) and another vector \(\delta\), the update to x constists of substituting it by \(x \leftarrow x + \alpha\cdot\delta\). More...
 
class  UserTimer
 
class  Validation
 
class  VectorBase
 Dense vector.Class VectorBase provides dense linear algebra vectors. It does not provide memory management for the array of values. Instead, the constructor requires a pointer to a memory block large enough to fit the desired dimension of Real or Rational values. More...
 
class  WallclockTimer
 

Typedefs

typedef DSVectorBase< RealDSVector
 
typedef DSVectorBase< RealDSVectorReal
 
typedef DSVectorBase< RationalDSVectorRational
 
typedef DVectorBase< RealDVector
 
typedef DVectorBase< RealDVectorReal
 
typedef DVectorBase< RationalDVectorRational
 
typedef LPColBase< RealLPCol
 
typedef LPColBase< RealLPColReal
 
typedef LPColBase< RationalLPColRational
 
typedef LPColSetBase< RealLPColSet
 
typedef LPColSetBase< RealLPColSetReal
 
typedef LPColSetBase< RationalLPColSetRational
 
typedef LPRowBase< RealLPRow
 
typedef LPRowBase< RealLPRowReal
 
typedef LPRowBase< RationalLPRowRational
 
typedef LPRowSetBase< RealLPRowSet
 
typedef LPRowSetBase< RealLPRowSetReal
 
typedef LPRowSetBase< RationalLPRowSetRational
 
typedef SolBase< RealSolReal
 
typedef SolBase< RationalSolRational
 
typedef double Real
 
typedef std::ifstream spxifstream
 
typedef SPxLPBase< RealSPxLP
 
typedef SPxLPBase< RealSPxLPReal
 
typedef SPxLPBase< RationalSPxLPRational
 
typedef SSVectorBase< RealSSVector
 
typedef SSVectorBase< RealSSVectorReal
 
typedef SSVectorBase< RationalSSVectorRational
 
typedef SVectorBase< RealSVector
 
typedef SVectorBase< RealSVectorReal
 
typedef SVectorBase< RationalSVectorRational
 
typedef SVSetBase< RealSVSet
 
typedef UnitVectorBase< RealUnitVector
 
typedef UnitVectorBase< RealUnitVectorReal
 
typedef UnitVectorBase< RationalUnitVectorRational
 
typedef VectorBase< RealVector
 
typedef VectorBase< RealVectorReal
 
typedef VectorBase< RationalVectorRational
 

Functions

template<class R >
std::ostream & operator<< (std::ostream &s, const VectorBase< R > &vec)
 Output operator. More...
 
template<class R >
DVectorBase< R > operator- (const VectorBase< R > &vec)
 Negation. More...
 
template<class R >
DVectorBase< R > operator+ (const VectorBase< R > &v, const VectorBase< R > &w)
 Addition. More...
 
template<class R >
DVectorBase< R > operator+ (const VectorBase< R > &v, const SVectorBase< R > &w)
 Addition. More...
 
template<class R >
DVectorBase< R > operator+ (const SVectorBase< R > &v, const VectorBase< R > &w)
 Addition. More...
 
template<class R >
DVectorBase< R > operator- (const VectorBase< R > &v, const VectorBase< R > &w)
 Subtraction. More...
 
template<class R >
DVectorBase< R > operator- (const VectorBase< R > &v, const SVectorBase< R > &w)
 Subtraction. More...
 
template<class R >
DVectorBase< R > operator- (const SVectorBase< R > &v, const VectorBase< R > &w)
 Subtraction. More...
 
template<class R >
DVectorBase< R > operator* (const VectorBase< R > &v, R x)
 Scaling. More...
 
template<class R >
DVectorBase< R > operator* (R x, const VectorBase< R > &v)
 Scaling. More...
 
template<class R >
DSVectorBase< R > operator* (const SVectorBase< R > &v, R x)
 Scaling. More...
 
template<class R >
DSVectorBase< R > operator* (R x, const SVectorBase< R > &v)
 Scaling. More...
 
template<class R >
std::istream & operator>> (std::istream &s, DVectorBase< R > &vec)
 Input operator. More...
 
template<class R >
std::ostream & operator<< (std::ostream &os, const SVectorBase< R > &v)
 Output operator. More...
 
template<class R >
std::ostream & operator<< (std::ostream &os, const SVSetBase< R > &s)
 Output operator. More...
 
static void enQueueMax (int *heap, int *size, int elem)
 
static int deQueueMax (int *heap, int *size)
 
static void enQueueMin (int *heap, int *size, int elem)
 
static int deQueueMin (int *heap, int *size)
 
static void enQueueMax (int *heap, int *size, int elem)
 
static int deQueueMax (int *heap, int *size)
 
static void enQueueMin (int *heap, int *size, int elem)
 
static int deQueueMin (int *heap, int *size)
 
static void clear_from (char *buf, int pos)
 fill the line from pos up to column 80 with blanks. More...
 
static void patch_field (char *buf, int beg, int end)
 change all blanks inside a field to PATCH_CHAR. More...
 
static int NameSetNameHashFunction (const NameSet::Name *str)
 returns the hash value of the name. More...
 
std::ostream & operator<< (std::ostream &s, const NameSet &nset)
 
Rational operator- (const double &d, const Rational &r)
 subtraction operator for double and Rational More...
 
Rational operator* (const double &d, const Rational &r)
 multiplication operator for double and Rational More...
 
Rational operator/ (const double &d, const Rational &r)
 division operator for double and Rational More...
 
Rational operator- (const int &d, const Rational &r)
 subtraction operator for int and Rational More...
 
Rational operator* (const int &d, const Rational &r)
 multiplication operator for int and Rational More...
 
Rational operator/ (const int &d, const Rational &r)
 division operator for int and Rational More...
 
bool reconstructVector (VectorRational &input, const Rational &denomBoundSquared, const DIdxSet *indexSet)
 
bool reconstructSol (SolRational &solution)
 
static Real betterThreshold (Real th)
 
static Rational betterThreshold (Rational th)
 
template<class T , class COMPARATOR >
void SPxShellsort (T *keys, int end, COMPARATOR &compare, int start=0)
 
template<class T , class COMPARATOR >
void SPxQuicksort (T *keys, int end, COMPARATOR &compare, int start=0, bool type=true)
 Generic QuickSort implementation. More...
 
template<class T , class COMPARATOR >
int SPxQuicksortPart (T *keys, COMPARATOR &compare, int start, int end, int size, int start2=0, int end2=0, bool type=true)
 Generic implementation of Partial QuickSort. More...
 
static const char * getRowName (const SPxLP *lp, int idx, const NameSet *rnames, char *buf)
 
static const char * getColName (const SPxLP *lp, int idx, const NameSet *cnames, char *buf)
 
std::ostream & operator<< (std::ostream &os, const SPxBasis::SPxStatus &status)
 Pretty-printing of basis status. More...
 
static SPxBasis::Desc::Status primalColStatus (int i, const SPxLP *theLP)
 
bool msginconsistent (const char *name, const char *file, int line)
 
Real spxAbs (Real a)
 returns |a| More...
 
Real spxSqrt (Real a)
 returns square root More...
 
Real spxNextafter (Real x, Real y)
 
Real spxLdexp (Real x, int exp)
 returns x * 2^exp More...
 
Real spxFrexp (Real y, int *exp)
 
Real maxAbs (Real a, Real b)
 returns max(|a|,|b|) More...
 
Real relDiff (Real a, Real b)
 returns (a-b) / max(|a|,|b|,1.0) More...
 
bool EQ (Real a, Real b, Real eps=Param::epsilon())
 returns true iff |a-b| <= eps More...
 
bool NE (Real a, Real b, Real eps=Param::epsilon())
 returns true iff |a-b| > eps More...
 
bool LT (Real a, Real b, Real eps=Param::epsilon())
 returns true iff a < b + eps More...
 
bool LE (Real a, Real b, Real eps=Param::epsilon())
 returns true iff a <= b + eps More...
 
bool GT (Real a, Real b, Real eps=Param::epsilon())
 returns true iff a > b + eps More...
 
bool GE (Real a, Real b, Real eps=Param::epsilon())
 returns true iff a >= b + eps More...
 
bool isZero (Real a, Real eps=Param::epsilon())
 returns true iff |a| <= eps More...
 
bool isNotZero (Real a, Real eps=Param::epsilon())
 returns true iff |a| > eps More...
 
bool EQrel (Real a, Real b, Real eps=Param::epsilon())
 returns true iff |relDiff(a,b)| <= eps More...
 
bool NErel (Real a, Real b, Real eps=Param::epsilon())
 returns true iff |relDiff(a,b)| > eps More...
 
bool LTrel (Real a, Real b, Real eps=Param::epsilon())
 returns true iff relDiff(a,b) <= -eps More...
 
bool LErel (Real a, Real b, Real eps=Param::epsilon())
 returns true iff relDiff(a,b) <= eps More...
 
bool GTrel (Real a, Real b, Real eps=Param::epsilon())
 returns true iff relDiff(a,b) > eps More...
 
bool GErel (Real a, Real b, Real eps=Param::epsilon())
 returns true iff relDiff(a,b) > -eps More...
 
int spxSnprintf (char *t, int len, const char *s,...)
 safe version of snprintf More...
 
std::ostream & operator<< (std::ostream &os, const SPxBasis::Desc::Status &stat)
 
Real computePrice (Real viol, Real weight, Real tol)
 
static const char * makename (bool doBoth)
 
static Real maxPrescaledRatio (const SPxLP &lp, const std::vector< Real > &coScaleval, bool rowRatio)
 maximum ratio between absolute biggest and smallest element in any scaled row/column. More...
 
static Real computeScalingVec (const SVSet *vecset, const std::vector< Real > &coScaleval, std::vector< Real > &scaleval)
 
const char * getGitHash ()
 
std::ostream & operator<< (std::ostream &os, const SPxId &id)
 
static void updateScale (const SSVector vecnnzeroes, const SSVector resnvec, SSVector &tmpvec, SSVector *&psccurr, SSVector *&pscprev, Real qcurr, Real qprev, Real eprev1, Real eprev2)
 
static void updateScaleFinal (const SSVector vecnnzeroes, const SSVector resnvec, SSVector &tmpvec, SSVector *&psccurr, SSVector *&pscprev, Real q, Real eprev1, Real eprev2)
 
static void updateRes (const SVSet facset, const SSVector resvecprev, SSVector &resvec, SSVector &tmpvec, Real eprev, Real qcurr)
 
static void initConstVecs (const SVSet *vecset, SVSet &facset, SSVector &veclogs, SSVector &vecnnzinv)
 
static const char * makename ()
 
static bool LPFisSpace (int c)
 Is c a space, tab, nl or cr ? More...
 
static bool LPFisValue (const char *s)
 Is there a number at the beginning of s ? More...
 
static bool LPFisColName (const char *s)
 Is there a possible column name at the beginning of s ? More...
 
static bool LPFisSense (const char *s)
 Is there a comparison operator at the beginning of s ? More...
 
static bool LPFisInfinity (const char *s)
 
static bool LPFisFree (const char *s)
 
static Rational LPFreadValue (char *&pos, SPxOut *spxout, const int lineno=-1)
 Read the next number and advance pos. More...
 
static int LPFreadColName (char *&pos, NameSet *colnames, LPColSetBase< Rational > &colset, const LPColBase< Rational > *emptycol, SPxOut *spxout)
 Read the next column name from the input. More...
 
static int LPFreadSense (char *&pos)
 Read the next <,>,=,==,<=,=<,>=,=> and advance pos. More...
 
static bool LPFhasKeyword (char *&pos, const char *keyword)
 Is the keyword present in buf ? If yes, advance pos. More...
 
static bool LPFhasRowName (char *&pos, NameSet *rownames)
 If buf start with "name:" store the name in rownames and advance pos. More...
 
static Rational LPFreadInfinity (char *&pos)
 
static void MPSreadName (MPSInput &mps, SPxOut *spxout)
 Process NAME section. More...
 
static void MPSreadObjsen (MPSInput &mps)
 Process OBJSEN section. This Section is an ILOG extension. More...
 
static void MPSreadObjname (MPSInput &mps)
 Process OBJNAME section. This Section is an ILOG extension. More...
 
static void MPSreadRows (MPSInput &mps, LPRowSetBase< Rational > &rset, NameSet &rnames, SPxOut *spxout)
 Process ROWS section. More...
 
static void MPSreadCols (MPSInput &mps, const LPRowSetBase< Rational > &rset, const NameSet &rnames, LPColSetBase< Rational > &cset, NameSet &cnames, DIdxSet *intvars, SPxOut *spxout)
 Process COLUMNS section. More...
 
static void MPSreadRhs (MPSInput &mps, LPRowSetBase< Rational > &rset, const NameSet &rnames, SPxOut *spxout)
 Process RHS section. More...
 
static void MPSreadRanges (MPSInput &mps, LPRowSetBase< Rational > &rset, const NameSet &rnames, SPxOut *spxout)
 Process RANGES section. More...
 
static void MPSreadBounds (MPSInput &mps, LPColSetBase< Rational > &cset, const NameSet &cnames, DIdxSet *intvars, SPxOut *spxout)
 Process BOUNDS section. More...
 
static const char * LPFgetRowName (const SPxLPBase< Rational > &p_lp, int p_idx, const NameSet *p_rnames, char *p_buf, int p_num_written_rows)
 
static const char * getColName (const SPxLPBase< Rational > &p_lp, int p_idx, const NameSet *p_cnames, char *p_buf)
 
static void LPFwriteSVector (const SPxLPBase< Rational > &p_lp, std::ostream &p_output, const NameSet *p_cnames, const SVectorBase< Rational > &p_svec, SPxOut *spxout)
 
static void LPFwriteObjective (const SPxLPBase< Rational > &p_lp, std::ostream &p_output, const NameSet *p_cnames, SPxOut *spxout)
 
static void LPFwriteRow (const SPxLPBase< Rational > &p_lp, std::ostream &p_output, const NameSet *p_cnames, const SVectorBase< Rational > &p_svec, const Rational &p_lhs, const Rational &p_rhs, SPxOut *spxout)
 
static void LPFwriteRows (const SPxLPBase< Rational > &p_lp, std::ostream &p_output, const NameSet *p_rnames, const NameSet *p_cnames, SPxOut *spxout)
 
static void LPFwriteBounds (const SPxLPBase< Rational > &p_lp, std::ostream &p_output, const NameSet *p_cnames, SPxOut *spxout)
 
static void LPFwriteGenerals (const SPxLPBase< Rational > &p_lp, std::ostream &p_output, const NameSet *p_cnames, const DIdxSet *p_intvars)
 
static void MPSwriteRecord (std::ostream &os, const char *indicator, const char *name, SPxOut *spxout, const char *name1=0, const Rational value1=0, const char *name2=0, const Rational value2=0)
 
static Rational MPSgetRHS (Rational left, Rational right)
 
static const char * MPSgetRowName (const SPxLPBase< Rational > &lp, int idx, const NameSet *rnames, char *buf)
 
static bool LPFisSpace (int c)
 Is c a space, tab, nl or cr ? More...
 
static bool LPFisValue (const char *s)
 Is there a number at the beginning of s ? More...
 
static bool LPFisColName (const char *s)
 Is there a possible column name at the beginning of s ? More...
 
static bool LPFisSense (const char *s)
 Is there a comparison operator at the beginning of s ? More...
 
static bool LPFisInfinity (const char *s)
 
static bool LPFisFree (const char *s)
 
static Real LPFreadValue (char *&pos, SPxOut *spxout)
 Read the next number and advance pos. More...
 
static int LPFreadColName (char *&pos, NameSet *colnames, LPColSetBase< Real > &colset, const LPColBase< Real > *emptycol, SPxOut *spxout)
 Read the next column name from the input. More...
 
static int LPFreadSense (char *&pos)
 Read the next <,>,=,==,<=,=<,>=,=> and advance pos. More...
 
static bool LPFhasKeyword (char *&pos, const char *keyword)
 Is the keyword present in buf ? If yes, advance pos. More...
 
static bool LPFhasRowName (char *&pos, NameSet *rownames)
 If buf start with "name:" store the name in rownames and advance pos. More...
 
static Real LPFreadInfinity (char *&pos)
 
static void MPSreadName (MPSInput &mps, SPxOut *spxout)
 Process NAME section. More...
 
static void MPSreadObjsen (MPSInput &mps)
 Process OBJSEN section. This Section is an ILOG extension. More...
 
static void MPSreadObjname (MPSInput &mps)
 Process OBJNAME section. This Section is an ILOG extension. More...
 
static void MPSreadRows (MPSInput &mps, LPRowSetBase< Real > &rset, NameSet &rnames, SPxOut *spxout)
 Process ROWS section. More...
 
static void MPSreadCols (MPSInput &mps, const LPRowSetBase< Real > &rset, const NameSet &rnames, LPColSetBase< Real > &cset, NameSet &cnames, DIdxSet *intvars)
 Process COLUMNS section. More...
 
static void MPSreadRhs (MPSInput &mps, LPRowSetBase< Real > &rset, const NameSet &rnames, SPxOut *spxout)
 Process RHS section. More...
 
static void MPSreadRanges (MPSInput &mps, LPRowSetBase< Real > &rset, const NameSet &rnames, SPxOut *spxout)
 Process RANGES section. More...
 
static void MPSreadBounds (MPSInput &mps, LPColSetBase< Real > &cset, const NameSet &cnames, DIdxSet *intvars, SPxOut *spxout)
 Process BOUNDS section. More...
 
static const char * LPFgetRowName (const SPxLPBase< Real > &p_lp, int p_idx, const NameSet *p_rnames, char *p_buf, int p_num_written_rows)
 
static const char * getColName (const SPxLPBase< Real > &p_lp, int p_idx, const NameSet *p_cnames, char *p_buf)
 
static void LPFwriteSVector (const SPxLPBase< Real > &p_lp, std::ostream &p_output, const NameSet *p_cnames, const SVectorBase< Real > &p_svec)
 
static void LPFwriteObjective (const SPxLPBase< Real > &p_lp, std::ostream &p_output, const NameSet *p_cnames)
 
static void LPFwriteRow (const SPxLPBase< Real > &p_lp, std::ostream &p_output, const NameSet *p_cnames, const SVectorBase< Real > &p_svec, const Real &p_lhs, const Real &p_rhs)
 
static void LPFwriteRows (const SPxLPBase< Real > &p_lp, std::ostream &p_output, const NameSet *p_rnames, const NameSet *p_cnames)
 
static void LPFwriteBounds (const SPxLPBase< Real > &p_lp, std::ostream &p_output, const NameSet *p_cnames)
 
static void LPFwriteGenerals (const SPxLPBase< Real > &p_lp, std::ostream &p_output, const NameSet *p_cnames, const DIdxSet *p_intvars)
 
static void MPSwriteRecord (std::ostream &os, const char *indicator, const char *name, const char *name1=0, const Real value1=0.0, const char *name2=0, const Real value2=0.0)
 
static Real MPSgetRHS (Real left, Real right)
 
static const char * MPSgetRowName (const SPxLPBase< Real > &lp, int idx, const NameSet *rnames, char *buf)
 
std::ostream & operator<< (std::ostream &os, const SPxSimplifier::Result &status)
 Pretty-printing of simplifier status. More...
 
std::ostream & operator<< (std::ostream &s, const SPxScaler &sc)
 
std::ostream & operator<< (std::ostream &os, const SPxSolver::VarStatus &status)
 Pretty-printing of variable status. More...
 
std::ostream & operator<< (std::ostream &os, const SPxSolver::Status &status)
 Pretty-printing of solver status. More...
 
std::ostream & operator<< (std::ostream &os, const SPxSolver::Type &status)
 Pretty-printing of algorithm. More...
 
std::ostream & operator<< (std::ostream &os, const SPxSolver::Representation &status)
 Pretty-printing of representation. More...
 
static void setDualStatus (SPxBasis::Desc &desc, const SPxSolver &base, const SPxId &id)
 
static void initPrefs (DataArray< SPxId > &pref, const SPxSolver &base, const DataArray< Real > &rowWeight, const DataArray< Real > &colWeight)
 
std::string rationalToString (const Rational &r, const int precision)
 convert rational number to string More...
 
bool readStringRational (const char *s, Rational &value)
 read Rational from string More...
 
std::ostream & operator<< (std::ostream &os, const Rational &r)
 print Rational More...
 
int compareRational (const Rational &r, const Rational &s)
 comparison operator returning a positive value if r > s, zero if r = s, and a negative value if r < s More...
 
bool operator== (const Rational &r, const Rational &s)
 equality operator More...
 
bool operator!= (const Rational &r, const Rational &s)
 inequality operator More...
 
bool operator< (const Rational &r, const Rational &s)
 less than operator More...
 
bool operator<= (const Rational &r, const Rational &s)
 less than or equal to operator More...
 
bool operator> (const Rational &r, const Rational &s)
 greater than operator More...
 
bool operator>= (const Rational &r, const Rational &s)
 greater than or equal to operator More...
 
bool operator== (const Rational &r, const double &s)
 equality operator for Rational and double More...
 
bool operator!= (const Rational &r, const double &s)
 inequality operator for Rational and double More...
 
bool operator< (const Rational &r, const double &s)
 less than operator for Rational and double More...
 
bool operator<= (const Rational &r, const double &s)
 less than or equal to operator for Rational and double More...
 
bool operator> (const Rational &r, const double &s)
 greater than operator for Rational and double More...
 
bool operator>= (const Rational &r, const double &s)
 greater than or equal to operator for Rational and double More...
 
bool operator== (const double &r, const Rational &s)
 equality operator for double and Rational More...
 
bool operator!= (const double &r, const Rational &s)
 inequality operator double and Rational More...
 
bool operator< (const double &r, const Rational &s)
 less than operator double and Rational More...
 
bool operator<= (const double &r, const Rational &s)
 less than or equal to operator double and Rational More...
 
bool operator> (const double &r, const Rational &s)
 greater than operator double and Rational More...
 
bool operator>= (const double &r, const Rational &s)
 greater than or equal to operator double and Rational More...
 
bool operator== (const Rational &r, const long double &s)
 equality operator for Rational and long double More...
 
bool operator!= (const Rational &r, const long double &s)
 inequality operator for Rational and long double More...
 
bool operator< (const Rational &r, const long double &s)
 less than operator for Rational and long double More...
 
bool operator<= (const Rational &r, const long double &s)
 less than or equal to operator for Rational and long double More...
 
bool operator> (const Rational &r, const long double &s)
 greater than operator for Rational and long double More...
 
bool operator>= (const Rational &r, const long double &s)
 greater than or equal to operator for Rational and long double More...
 
bool operator== (const long double &r, const Rational &s)
 equality operator for long double and Rational More...
 
bool operator!= (const long double &r, const Rational &s)
 inequality operator long double and Rational More...
 
bool operator< (const long double &r, const Rational &s)
 less than operator long double and Rational More...
 
bool operator<= (const long double &r, const Rational &s)
 less than or equal to operator long double and Rational More...
 
bool operator> (const long double &r, const Rational &s)
 greater than operator long double and Rational More...
 
bool operator>= (const long double &r, const Rational &s)
 greater than or equal to operator long double and Rational More...
 
bool operator== (const Rational &r, const int &s)
 equality operator for Rational and int More...
 
bool operator!= (const Rational &r, const int &s)
 inequality operator for Rational and int More...
 
bool operator< (const Rational &r, const int &s)
 less than operator for Rational and int More...
 
bool operator<= (const Rational &r, const int &s)
 less than or equal to operator for Rational and int More...
 
bool operator> (const Rational &r, const int &s)
 greater than operator for Rational and int More...
 
bool operator>= (const Rational &r, const int &s)
 greater than or equal to operator for Rational and int More...
 
bool operator== (const int &r, const Rational &s)
 equality operator for int and Rational More...
 
bool operator!= (const int &r, const Rational &s)
 inequality operator for int and Rational More...
 
bool operator< (const int &r, const Rational &s)
 less than operator for int and Rational More...
 
bool operator<= (const int &r, const Rational &s)
 less than or equal to operator for int and Rational More...
 
bool operator> (const int &r, const Rational &s)
 greater than operator for int and Rational More...
 
bool operator>= (const int &r, const Rational &s)
 greater than or equal to operator for int and Rational More...
 
Rational operator+ (const double &d, const Rational &r)
 addition operator for double and Rational More...
 
Rational operator+ (const int &d, const Rational &r)
 addition operator for int and Rational More...
 
Rational spxAbs (const Rational &r)
 Absolute. More...
 
int sign (const Rational &r)
 Sign function; returns 1 if r > 0, 0 if r = 0, and -1 if r < 0. More...
 
Rational operator- (const Rational &r)
 Negation. More...
 
int totalSizeRational (const Rational *vector, const int length, const int base)
 Total size of rational vector. More...
 
int dlcmSizeRational (const Rational *vector, const int length, const int base)
 Size of least common multiple of denominators in rational vector. More...
 
int dmaxSizeRational (const Rational *vector, const int length, const int base)
 Size of largest denominator in rational vector. More...
 
Memory allocation routines

Here we have cover functions for malloc/realloc/free, to make sure that we allays succeed. Otherwise an exception is thrown.

We use templates to get the types right, otherwise casts would have been neccessary.

template<class T >
void spx_alloc (T &p, int n=1)
 Allocate memory. More...
 
template<class T >
void spx_realloc (T &p, int n)
 Change amount of allocated memory. More...
 
template<class T >
void spx_free (T &p)
 Release memory. More...
 
Verbosity manipulator

Manipulators are implemented in a similar way as done for setw(), setprecision(), etc. in the standard library file iomanip. For instance, the non-member function verb(v) returns a struct struct_Severity which contains only the verbosity level. Calling

SPxOut spxout;
spxout << verb( SPxOut::ERROR ) << "This is an error!" << std::endl;

passes such a struct to the output operator defined below, which extracts the verbosity level from the struct and passes it to the member function SPxOut::setVerbosity().

SPxOut::struct_Verbosity verb (const SPxOut::Verbosity &v)
 manipulator to be used in an output statement More...
 
SPxOutoperator<< (SPxOut &stream, const SPxOut::struct_Verbosity &verbosity)
 output operator with verbosity level struct More...
 
Output of standard manipulators and other types

We have to define an output operator for many kinds of numeric types here because they can all be more or less casted into each other. When using only a template type, it is not clear what the compiler makes out of it (according to lint).

SPxOutoperator<< (SPxOut &_spxout, std::ostream &(*manip)(std::ostream &))
 Passes standard manipulators without arguments, like std::endl or std::ios::right to the current stream. More...
 
template<typename T >
SPxOutoperator<< (SPxOut &_spxout, T t)
 Passes everything else to the current stream. In particular, this includes structs corresponding to manipulators with arguments, such as the struct _Setw for the setw() manipulator. More...
 

Variables

static const Real verySparseFactor = 0.001
 
static const Real verySparseFactor4right = 0.2
 
static const Real verySparseFactor4left = 0.1
 
static const Real verySparseFactor = 0.001
 
static const Real verySparseFactor4right = 0.2
 
static const Real reject_leave_tol = 1e-10
 
THREADLOCAL const Real infinity = DEFAULT_INFINITY
 

Detailed Description

Everything should be within this namespace.

We have put the whole class library in the namespace soplex. If anything here is defined outside, this is a mistake and should be reported.

Todo:

implement automatic rep switch, based on row/col dim

introduce status codes for SoPlex, especially for rational solving

implement main IR loop for primal and dual feasible case with fail otherwise (Ambros)

implement statistical info (time, factor time, iters, ...) since last call to solveReal() or solveRational() (Ambros?)

implement performInfeasibilityIR (Ambros?)

extend IR loop to infeasible case (Dan?)

extend IR loop to unbounded case (Dan?)

integrate rational reconstruction into IR loop

templatize SPxSolver and necessary components (SLUFactor, pricer, ratiotester)

integrate rational SPxSolver and distinguish between original and transformed rational LP

rational scalers

rational simplifier

Todo:
record and return "best" solutions found during IR (Ambros)
Todo:
interface rational reconstruction code for rational vectors

Typedef Documentation

◆ DSVector

Definition at line 28 of file dsvector.h.

◆ DSVectorRational

Definition at line 30 of file dsvector.h.

◆ DSVectorReal

Definition at line 29 of file dsvector.h.

◆ DVector

typedef DVectorBase< Real > DVector

Definition at line 28 of file dvector.h.

◆ DVectorRational

Definition at line 30 of file dvector.h.

◆ DVectorReal

Definition at line 29 of file dvector.h.

◆ LPCol

typedef LPColBase< Real > LPCol

Definition at line 29 of file lpcol.h.

◆ LPColRational

Definition at line 31 of file lpcol.h.

◆ LPColReal

typedef LPColBase< Real > LPColReal

Definition at line 30 of file lpcol.h.

◆ LPColSet

Definition at line 27 of file lpcolset.h.

◆ LPColSetRational

Definition at line 29 of file lpcolset.h.

◆ LPColSetReal

Definition at line 28 of file lpcolset.h.

◆ LPRow

typedef LPRowBase< Real > LPRow

Definition at line 27 of file lprow.h.

◆ LPRowRational

Definition at line 29 of file lprow.h.

◆ LPRowReal

typedef LPRowBase< Real > LPRowReal

Definition at line 28 of file lprow.h.

◆ LPRowSet

Definition at line 27 of file lprowset.h.

◆ LPRowSetRational

Definition at line 29 of file lprowset.h.

◆ LPRowSetReal

Definition at line 28 of file lprowset.h.

◆ Real

typedef double Real

Definition at line 218 of file spxdefines.h.

◆ SolRational

Definition at line 29 of file sol.h.

◆ SolReal

typedef SolBase<Real> SolReal

Definition at line 28 of file sol.h.

◆ spxifstream

typedef std::ifstream spxifstream

Definition at line 43 of file spxfileio.h.

◆ SPxLP

typedef SPxLPBase< Real > SPxLP

Definition at line 35 of file spxlp.h.

◆ SPxLPRational

Definition at line 37 of file spxlp.h.

◆ SPxLPReal

typedef SPxLPBase< Real > SPxLPReal

Definition at line 36 of file spxlp.h.

◆ SSVector

Definition at line 28 of file ssvector.h.

◆ SSVectorRational

Definition at line 30 of file ssvector.h.

◆ SSVectorReal

Definition at line 29 of file ssvector.h.

◆ SVector

typedef SVectorBase< Real > SVector

Definition at line 29 of file svector.h.

◆ SVectorRational

Definition at line 31 of file svector.h.

◆ SVectorReal

Definition at line 30 of file svector.h.

◆ SVSet

typedef SVSetBase<Real> SVSet

Definition at line 28 of file svset.h.

◆ UnitVector

Definition at line 29 of file unitvector.h.

◆ UnitVectorRational

Definition at line 31 of file unitvector.h.

◆ UnitVectorReal

Definition at line 30 of file unitvector.h.

◆ Vector

typedef VectorBase< Real > Vector

Definition at line 29 of file vector.h.

◆ VectorRational

Definition at line 31 of file vector.h.

◆ VectorReal

Definition at line 30 of file vector.h.

Function Documentation

◆ betterThreshold() [1/2]

static Rational soplex::betterThreshold ( Rational  th)
static

Definition at line 912 of file slufactor_rational.cpp.

◆ betterThreshold() [2/2]

static Real soplex::betterThreshold ( Real  th)
static

Definition at line 1253 of file slufactor.cpp.

References LT(), and REAL.

Referenced by SLUFactor::load(), and SLUFactorRational::load().

◆ clear_from()

static void soplex::clear_from ( char *  buf,
int  pos 
)
static

fill the line from pos up to column 80 with blanks.

Definition at line 35 of file mpsinput.cpp.

References BLANK.

Referenced by MPSInput::readLine().

◆ compareRational()

int compareRational ( const Rational r,
const Rational s 
)

comparison operator returning a positive value if r > s, zero if r = s, and a negative value if r < s

Definition at line 3479 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ computePrice()

◆ computeScalingVec()

static Real soplex::computeScalingVec ( const SVSet vecset,
const std::vector< Real > &  coScaleval,
std::vector< Real > &  scaleval 
)
static

◆ deQueueMax() [1/2]

static int soplex::deQueueMax ( int *  heap,
int *  size 
)
static

Definition at line 69 of file clufactor_rational.cpp.

◆ deQueueMax() [2/2]

◆ deQueueMin() [1/2]

static int soplex::deQueueMin ( int *  heap,
int *  size 
)
static

◆ deQueueMin() [2/2]

static int soplex::deQueueMin ( int *  heap,
int *  size 
)
static

Definition at line 153 of file clufactor_rational.cpp.

◆ dlcmSizeRational()

int dlcmSizeRational ( const Rational vector,
const int  length,
const int  base 
)

Size of least common multiple of denominators in rational vector.

Definition at line 3957 of file rational.cpp.

Referenced by SolBase< Real >::dlcmSizeDual(), and SolBase< Real >::dlcmSizePrimal().

◆ dmaxSizeRational()

int dmaxSizeRational ( const Rational vector,
const int  length,
const int  base 
)

Size of largest denominator in rational vector.

Definition at line 3969 of file rational.cpp.

Referenced by SolBase< Real >::dmaxSizeDual(), and SolBase< Real >::dmaxSizePrimal().

◆ enQueueMax() [1/2]

◆ enQueueMax() [2/2]

static void soplex::enQueueMax ( int *  heap,
int *  size,
int  elem 
)
static

Definition at line 39 of file clufactor_rational.cpp.

◆ enQueueMin() [1/2]

static void soplex::enQueueMin ( int *  heap,
int *  size,
int  elem 
)
static

◆ enQueueMin() [2/2]

static void soplex::enQueueMin ( int *  heap,
int *  size,
int  elem 
)
static

Definition at line 123 of file clufactor_rational.cpp.

◆ EQ()

◆ EQrel()

◆ GE()

◆ GErel()

bool soplex::GErel ( Real  a,
Real  b,
Real  eps = Param::epsilon() 
)

returns true iff relDiff(a,b) > -eps

Definition at line 458 of file spxdefines.h.

References relDiff().

Referenced by SPxMainSM::duplicateCols(), SPxMainSM::ZeroObjColSingletonPS::execute(), SPxMainSM::DuplicateColsPS::execute(), and SPxMainSM::simplifyRows().

◆ getColName() [1/3]

static const char* soplex::getColName ( const SPxLP lp,
int  idx,
const NameSet cnames,
char *  buf 
)
static

◆ getColName() [2/3]

static const char* soplex::getColName ( const SPxLPBase< Rational > &  p_lp,
int  p_idx,
const NameSet p_cnames,
char *  p_buf 
)
static

◆ getColName() [3/3]

static const char* soplex::getColName ( const SPxLPBase< Real > &  p_lp,
int  p_idx,
const NameSet p_cnames,
char *  p_buf 
)
static

◆ getGitHash()

const char * getGitHash ( )

returns the current git hash of SoPlex

Definition at line 23 of file spxgithash.cpp.

References SPX_GITHASH.

Referenced by main(), and SoPlex::printVersion().

◆ getRowName()

static const char* soplex::getRowName ( const SPxLP lp,
int  idx,
const NameSet rnames,
char *  buf 
)
static

Definition at line 558 of file spxbasis.cpp.

References NameSet::has(), SPxLPBase< R >::rId(), and spxSnprintf().

Referenced by SPxBasis::writeBasis().

◆ GT()

◆ GTrel()

bool soplex::GTrel ( Real  a,
Real  b,
Real  eps = Param::epsilon() 
)

returns true iff relDiff(a,b) > eps

Definition at line 452 of file spxdefines.h.

References relDiff().

Referenced by SPxMainSM::removeRowSingleton(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), and SPxMainSM::simplifyRows().

◆ initConstVecs()

◆ initPrefs()

static void soplex::initPrefs ( DataArray< SPxId > &  pref,
const SPxSolver base,
const DataArray< Real > &  rowWeight,
const DataArray< Real > &  colWeight 
)
static

The following method initializes pref such that it contains the set of SPxIds ordered following rowWeight and colWeight. For the sorting we take the following approach: first we sort the rows, then the columns. Finally we perform a mergesort of both.

Definition at line 157 of file spxweightst.cpp.

References SPxLPBase< R >::cId(), DataArray< T >::get_const_ptr(), SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SPxLPBase< R >::rId(), DataArray< T >::size(), SPxQuicksort(), and Compare::weight.

Referenced by SPxWeightST::generate().

◆ isNotZero()

bool soplex::isNotZero ( Real  a,
Real  eps = Param::epsilon() 
)

returns true iff |a| > eps

Definition at line 422 of file spxdefines.h.

References spxAbs().

Referenced by SSVectorBase< Real >::assign2product(), SSVectorBase< Real >::assign2productAndSetup(), SSVectorBase< Real >::assign2productShort(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxMainSM::ZeroObjColSingletonPS::execute(), SPxMainSM::DoubletonEquationPS::execute(), SPxMainSM::DuplicateRowsPS::execute(), SPxMainSM::DuplicateColsPS::execute(), SPxMainSM::fixColumn(), CLUFactor::forestUpdate(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SoPlex::getBasisInverseTimesVecReal(), CLUFactor::initFactorMatrix(), main(), SSVectorBase< Real >::multAdd(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SPxMainSM::multiaggregation(), printDualSolution(), printPrimalSolution(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), CLUFactor::solveLleft(), CLUFactor::solveLleftEps(), CLUFactor::solveLleftForest(), CLUFactor::solveUleft(), CLUFactor::solveUleftNoNZ(), CLUFactor::solveUpdateLeft(), CLUFactor::solveUright2eps(), CLUFactor::solveUrightEps(), SPxMainSM::trivialHeuristic(), CLUFactor::updateRow(), CLUFactor::vSolveLright(), CLUFactor::vSolveLright2(), CLUFactor::vSolveLright3(), CLUFactor::vSolveRight4update(), CLUFactor::vSolveRight4update2(), CLUFactor::vSolveRight4update2sparse(), CLUFactor::vSolveRight4update3(), CLUFactor::vSolveRight4update3sparse(), CLUFactor::vSolveUpdateRight(), CLUFactor::vSolveUright(), CLUFactor::vSolveUright2(), CLUFactor::vSolveUrightNoNZ(), and SPxLPBase< Real >::writeMPS().

◆ isZero()

◆ LE()

◆ LErel()

bool soplex::LErel ( Real  a,
Real  b,
Real  eps = Param::epsilon() 
)

returns true iff relDiff(a,b) <= eps

Definition at line 446 of file spxdefines.h.

References relDiff().

Referenced by SPxMainSM::duplicateCols(), SPxMainSM::ZeroObjColSingletonPS::execute(), SPxMainSM::DuplicateColsPS::execute(), and SPxMainSM::simplifyRows().

◆ LPFgetRowName() [1/2]

static const char* soplex::LPFgetRowName ( const SPxLPBase< Rational > &  p_lp,
int  p_idx,
const NameSet p_rnames,
char *  p_buf,
int  p_num_written_rows 
)
static

◆ LPFgetRowName() [2/2]

static const char* soplex::LPFgetRowName ( const SPxLPBase< Real > &  p_lp,
int  p_idx,
const NameSet p_rnames,
char *  p_buf,
int  p_num_written_rows 
)
static

◆ LPFhasKeyword() [1/2]

static bool soplex::LPFhasKeyword ( char *&  pos,
const char *  keyword 
)
static

Is the keyword present in buf ? If yes, advance pos.

keyword should be lower case. It can contain optional sections which are enclosed in '[' ']' like "min[imize]".

Definition at line 399 of file spxlpbase_rational.cpp.

References LPFisSense(), LPFisSpace(), and MSG_DEBUG.

Referenced by LPFreadInfinity(), and SPxLPBase< Real >::readLPF().

◆ LPFhasKeyword() [2/2]

static bool soplex::LPFhasKeyword ( char *&  pos,
const char *  keyword 
)
static

Is the keyword present in buf ? If yes, advance pos.

keyword should be lower case. It can contain optional sections which are enclosed in '[' ']' like "min[imize]".

Definition at line 734 of file spxlpbase_real.cpp.

References LPFisSense(), LPFisSpace(), and MSG_DEBUG.

Referenced by LPFreadInfinity(), and SPxLPBase< Real >::readLPF().

◆ LPFhasRowName() [1/2]

static bool soplex::LPFhasRowName ( char *&  pos,
NameSet rownames 
)
static

If buf start with "name:" store the name in rownames and advance pos.

Definition at line 446 of file spxlpbase_rational.cpp.

References NameSet::add(), and LPF_MAX_LINE_LEN.

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFhasRowName() [2/2]

static bool soplex::LPFhasRowName ( char *&  pos,
NameSet rownames 
)
static

If buf start with "name:" store the name in rownames and advance pos.

Definition at line 781 of file spxlpbase_real.cpp.

References NameSet::add(), and LPF_MAX_LINE_LEN.

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFisColName() [1/2]

static bool soplex::LPFisColName ( const char *  s)
static

Is there a possible column name at the beginning of s ?

Definition at line 172 of file spxlpbase_rational.cpp.

Referenced by LPFreadColName(), and SPxLPBase< Real >::readLPF().

◆ LPFisColName() [2/2]

static bool soplex::LPFisColName ( const char *  s)
static

Is there a possible column name at the beginning of s ?

Definition at line 534 of file spxlpbase_real.cpp.

Referenced by LPFreadColName(), and SPxLPBase< Real >::readLPF().

◆ LPFisFree() [1/2]

static bool soplex::LPFisFree ( const char *  s)
static

Definition at line 203 of file spxlpbase_rational.cpp.

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFisFree() [2/2]

static bool soplex::LPFisFree ( const char *  s)
static

Definition at line 565 of file spxlpbase_real.cpp.

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFisInfinity() [1/2]

static bool soplex::LPFisInfinity ( const char *  s)
static

Definition at line 193 of file spxlpbase_rational.cpp.

Referenced by LPFreadInfinity(), and SPxLPBase< Real >::readLPF().

◆ LPFisInfinity() [2/2]

static bool soplex::LPFisInfinity ( const char *  s)
static

Definition at line 555 of file spxlpbase_real.cpp.

Referenced by LPFreadInfinity(), and SPxLPBase< Real >::readLPF().

◆ LPFisSense() [1/2]

static bool soplex::LPFisSense ( const char *  s)
static

Is there a comparison operator at the beginning of s ?

Definition at line 186 of file spxlpbase_rational.cpp.

Referenced by LPFhasKeyword(), LPFreadSense(), and SPxLPBase< Real >::readLPF().

◆ LPFisSense() [2/2]

static bool soplex::LPFisSense ( const char *  s)
static

Is there a comparison operator at the beginning of s ?

Definition at line 548 of file spxlpbase_real.cpp.

Referenced by LPFhasKeyword(), LPFreadSense(), and SPxLPBase< Real >::readLPF().

◆ LPFisSpace() [1/2]

static bool soplex::LPFisSpace ( int  c)
static

Is c a space, tab, nl or cr ?

Definition at line 156 of file spxlpbase_rational.cpp.

Referenced by LPFhasKeyword(), LPFreadColName(), LPFreadSense(), LPFreadValue(), and SPxLPBase< Real >::readLPF().

◆ LPFisSpace() [2/2]

static bool soplex::LPFisSpace ( int  c)
static

Is c a space, tab, nl or cr ?

Definition at line 518 of file spxlpbase_real.cpp.

Referenced by LPFhasKeyword(), LPFreadColName(), LPFreadSense(), LPFreadValue(), and SPxLPBase< Real >::readLPF().

◆ LPFisValue() [1/2]

static bool soplex::LPFisValue ( const char *  s)
static

Is there a number at the beginning of s ?

Definition at line 164 of file spxlpbase_rational.cpp.

Referenced by LPFreadValue(), and SPxLPBase< Real >::readLPF().

◆ LPFisValue() [2/2]

static bool soplex::LPFisValue ( const char *  s)
static

Is there a number at the beginning of s ?

Definition at line 526 of file spxlpbase_real.cpp.

Referenced by LPFreadValue(), and SPxLPBase< Real >::readLPF().

◆ LPFreadColName() [1/2]

static int soplex::LPFreadColName ( char *&  pos,
NameSet colnames,
LPColSetBase< Rational > &  colset,
const LPColBase< Rational > *  emptycol,
SPxOut spxout 
)
static

Read the next column name from the input.

The name read is looked up and if not found emptycol is added to colset. pos is advanced behind the name.

Returns
The Index of the named column.

Definition at line 332 of file spxlpbase_rational.cpp.

References NameSet::add(), LPColSetBase< R >::add(), LPF_MAX_LINE_LEN, LPFisColName(), LPFisSpace(), MSG_DEBUG, MSG_WARNING, NameSet::num(), and NameSet::number().

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFreadColName() [2/2]

static int soplex::LPFreadColName ( char *&  pos,
NameSet colnames,
LPColSetBase< Real > &  colset,
const LPColBase< Real > *  emptycol,
SPxOut spxout 
)
static

Read the next column name from the input.

The name read is looked up and if not found emptycol is added to colset. pos is advanced behind the name.

Returns
The Index of the named column.

Definition at line 667 of file spxlpbase_real.cpp.

References NameSet::add(), LPColSetBase< R >::add(), LPF_MAX_LINE_LEN, LPFisColName(), LPFisSpace(), MSG_DEBUG, MSG_WARNING, NameSet::num(), and NameSet::number().

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFreadInfinity() [1/2]

static Rational soplex::LPFreadInfinity ( char *&  pos)
static

Definition at line 499 of file spxlpbase_rational.cpp.

References infinity, LPFhasKeyword(), and LPFisInfinity().

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFreadInfinity() [2/2]

static Real soplex::LPFreadInfinity ( char *&  pos)
static

Definition at line 834 of file spxlpbase_real.cpp.

References infinity, LPFhasKeyword(), and LPFisInfinity().

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFreadSense() [1/2]

static int soplex::LPFreadSense ( char *&  pos)
static

Read the next <,>,=,==,<=,=<,>=,=> and advance pos.

Definition at line 375 of file spxlpbase_rational.cpp.

References LPFisSense(), LPFisSpace(), and MSG_DEBUG.

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFreadSense() [2/2]

static int soplex::LPFreadSense ( char *&  pos)
static

Read the next <,>,=,==,<=,=<,>=,=> and advance pos.

Definition at line 710 of file spxlpbase_real.cpp.

References LPFisSense(), LPFisSpace(), and MSG_DEBUG.

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFreadValue() [1/2]

static Rational soplex::LPFreadValue ( char *&  pos,
SPxOut spxout,
const int  lineno = -1 
)
static

Read the next number and advance pos.

If only a sign is encountered, the number is assumed to be sign * 1. This routine will not catch malformatted numbers like .e10 !

Definition at line 217 of file spxlpbase_rational.cpp.

References LPF_MAX_LINE_LEN, LPFisSpace(), LPFisValue(), MSG_DEBUG, MSG_WARNING, and Rational::readString().

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFreadValue() [2/2]

static Real soplex::LPFreadValue ( char *&  pos,
SPxOut spxout 
)
static

Read the next number and advance pos.

If only a sign is encountered, the number is assumed to be sign * 1.0. This routine will not catch malformatted numbers like .e10 !

Definition at line 579 of file spxlpbase_real.cpp.

References LPF_MAX_LINE_LEN, LPFisSpace(), LPFisValue(), MSG_DEBUG, and MSG_WARNING.

Referenced by SPxLPBase< Real >::readLPF().

◆ LPFwriteBounds() [1/2]

static void soplex::LPFwriteBounds ( const SPxLPBase< Rational > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames,
SPxOut spxout 
)
static
Parameters
p_lpthe LP to write
p_outputoutput stream
p_cnamescolumn names
spxoutout stream

Definition at line 2023 of file spxlpbase_rational.cpp.

References getColName(), infinity, SPxLPBase< R >::lower(), MAX_LINE_WRITE_LEN, MSG_WARNING, SPxLPBase< R >::nCols(), and SPxLPBase< R >::upper().

Referenced by SPxLPBase< Real >::writeLPF().

◆ LPFwriteBounds() [2/2]

static void soplex::LPFwriteBounds ( const SPxLPBase< Real > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames 
)
static
Parameters
p_lpthe LP to write
p_outputoutput stream
p_cnamescolumn names

Definition at line 2283 of file spxlpbase_real.cpp.

References getColName(), infinity, SPxLPBase< R >::lower(), SPxLPBase< R >::nCols(), and SPxLPBase< R >::upper().

Referenced by SPxLPBase< Real >::writeLPF().

◆ LPFwriteGenerals() [1/2]

static void soplex::LPFwriteGenerals ( const SPxLPBase< Rational > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames,
const DIdxSet p_intvars 
)
static
Parameters
p_lpthe LP to write
p_outputoutput stream
p_cnamescolumn names
p_intvarsinteger variables

Definition at line 2085 of file spxlpbase_rational.cpp.

References getColName(), SPxLPBase< R >::nCols(), IdxSet::pos(), and IdxSet::size().

Referenced by SPxLPBase< Real >::writeLPF().

◆ LPFwriteGenerals() [2/2]

static void soplex::LPFwriteGenerals ( const SPxLPBase< Real > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames,
const DIdxSet p_intvars 
)
static
Parameters
p_lpthe LP to write
p_outputoutput stream
p_cnamescolumn names
p_intvarsinteger variables

Definition at line 2334 of file spxlpbase_real.cpp.

References getColName(), SPxLPBase< R >::nCols(), IdxSet::pos(), and IdxSet::size().

Referenced by SPxLPBase< Real >::writeLPF().

◆ LPFwriteObjective() [1/2]

static void soplex::LPFwriteObjective ( const SPxLPBase< Rational > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames,
SPxOut spxout 
)
static
Parameters
p_lpthe LP
p_outputoutput stream
p_cnamescolumn names
spxoutout stream

Definition at line 1907 of file spxlpbase_rational.cpp.

References VectorBase< R >::dim(), LPFwriteSVector(), SPxLPBase< R >::maxObj(), and SPxLPBase< R >::spxSense().

Referenced by SPxLPBase< Real >::writeLPF().

◆ LPFwriteObjective() [2/2]

static void soplex::LPFwriteObjective ( const SPxLPBase< Real > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames 
)
static
Parameters
p_lpthe LP
p_outputoutput stream
p_cnamescolumn names

Definition at line 2193 of file spxlpbase_real.cpp.

References VectorBase< R >::dim(), LPFwriteSVector(), SPxLPBase< R >::maxObj(), and SPxLPBase< R >::spxSense().

Referenced by SPxLPBase< Real >::writeLPF().

◆ LPFwriteRow() [1/2]

static void soplex::LPFwriteRow ( const SPxLPBase< Rational > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames,
const SVectorBase< Rational > &  p_svec,
const Rational p_lhs,
const Rational p_rhs,
SPxOut spxout 
)
static
Parameters
p_lpthe LP
p_outputoutput stream
p_cnamescolumn names
p_svecvector of the row
p_lhslhs of the row
p_rhsrhs of the row
spxoutout stream

Definition at line 1931 of file spxlpbase_rational.cpp.

References infinity, LPFwriteSVector(), MAX_LINE_WRITE_LEN, MSG_WARNING, and rationalToString().

Referenced by LPFwriteRows().

◆ LPFwriteRow() [2/2]

static void soplex::LPFwriteRow ( const SPxLPBase< Real > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames,
const SVectorBase< Real > &  p_svec,
const Real p_lhs,
const Real p_rhs 
)
static
Parameters
p_lpthe LP
p_outputoutput stream
p_cnamescolumn names
p_svecvector of the row
p_lhslhs of the row
p_rhsrhs of the row

Definition at line 2216 of file spxlpbase_real.cpp.

References infinity, and LPFwriteSVector().

Referenced by LPFwriteRows().

◆ LPFwriteRows() [1/2]

static void soplex::LPFwriteRows ( const SPxLPBase< Rational > &  p_lp,
std::ostream &  p_output,
const NameSet p_rnames,
const NameSet p_cnames,
SPxOut spxout 
)
static
Parameters
p_lpthe LP
p_outputoutput stream
p_rnamesrow names
p_cnamescolumn names
spxoutout stream

Definition at line 1983 of file spxlpbase_rational.cpp.

References infinity, SPxLPBase< R >::lhs(), LPFgetRowName(), LPFwriteRow(), SPxLPBase< R >::nRows(), SPxLPBase< R >::rhs(), and SPxLPBase< R >::rowVector().

Referenced by SPxLPBase< Real >::writeLPF().

◆ LPFwriteRows() [2/2]

static void soplex::LPFwriteRows ( const SPxLPBase< Real > &  p_lp,
std::ostream &  p_output,
const NameSet p_rnames,
const NameSet p_cnames 
)
static
Parameters
p_lpthe LP
p_outputoutput stream
p_rnamesrow names
p_cnamescolumn names

Definition at line 2244 of file spxlpbase_real.cpp.

References infinity, SPxLPBase< R >::lhs(), LPFgetRowName(), LPFwriteRow(), SPxLPBase< R >::nRows(), SPxLPBase< R >::rhs(), and SPxLPBase< R >::rowVector().

Referenced by SPxLPBase< Real >::writeLPF().

◆ LPFwriteSVector() [1/2]

static void soplex::LPFwriteSVector ( const SPxLPBase< Rational > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames,
const SVectorBase< Rational > &  p_svec,
SPxOut spxout 
)
static
Parameters
p_lpthe LP
p_outputoutput stream
p_cnamescolumn names
p_svecvector to write
spxoutout stream

Definition at line 1853 of file spxlpbase_rational.cpp.

References getColName(), MAX_LINE_WRITE_LEN, MSG_WARNING, SPxLPBase< R >::nCols(), NUM_ENTRIES_PER_LINE, and rationalToString().

Referenced by LPFwriteObjective(), and LPFwriteRow().

◆ LPFwriteSVector() [2/2]

static void soplex::LPFwriteSVector ( const SPxLPBase< Real > &  p_lp,
std::ostream &  p_output,
const NameSet p_cnames,
const SVectorBase< Real > &  p_svec 
)
static
Parameters
p_lpthe LP
p_outputoutput stream
p_cnamescolumn names
p_svecvector to write

Definition at line 2153 of file spxlpbase_real.cpp.

References getColName(), SPxLPBase< R >::nCols(), and NUM_ENTRIES_PER_LINE.

Referenced by LPFwriteObjective(), and LPFwriteRow().

◆ LT()

◆ LTrel()

bool soplex::LTrel ( Real  a,
Real  b,
Real  eps = Param::epsilon() 
)

◆ makename() [1/2]

static const char* soplex::makename ( bool  doBoth)
static

Definition at line 29 of file spxequilisc.cpp.

◆ makename() [2/2]

static const char* soplex::makename ( )
static

Definition at line 187 of file spxleastsqsc.cpp.

◆ maxAbs()

◆ maxPrescaledRatio()

static Real soplex::maxPrescaledRatio ( const SPxLP lp,
const std::vector< Real > &  coScaleval,
bool  rowRatio 
)
static

maximum ratio between absolute biggest and smallest element in any scaled row/column.

Definition at line 35 of file spxequilisc.cpp.

References SPxLPBase< R >::colVector(), SVectorBase< R >::index(), infinity, isZero(), SPxLPBase< R >::nCols(), SPxLPBase< R >::nRows(), SPxLPBase< R >::rowVector(), SVectorBase< R >::size(), spxAbs(), and SVectorBase< R >::value().

Referenced by SPxEquiliSC::computePostequiExpVecs().

◆ MPSgetRHS() [1/2]

static Rational soplex::MPSgetRHS ( Rational  left,
Rational  right 
)
static

This includes ranges

Definition at line 2170 of file spxlpbase_rational.cpp.

References infinity.

Referenced by SPxLPBase< Real >::writeMPS().

◆ MPSgetRHS() [2/2]

static Real soplex::MPSgetRHS ( Real  left,
Real  right 
)
static

This includes ranges

Definition at line 2413 of file spxlpbase_real.cpp.

References infinity.

Referenced by SPxLPBase< Real >::writeMPS().

◆ MPSgetRowName() [1/2]

static const char* soplex::MPSgetRowName ( const SPxLPBase< Rational > &  lp,
int  idx,
const NameSet rnames,
char *  buf 
)
static

◆ MPSgetRowName() [2/2]

static const char* soplex::MPSgetRowName ( const SPxLPBase< Real > &  lp,
int  idx,
const NameSet rnames,
char *  buf 
)
static

◆ MPSreadBounds() [1/2]

◆ MPSreadBounds() [2/2]

◆ MPSreadCols() [1/2]

◆ MPSreadCols() [2/2]

◆ MPSreadName() [1/2]

◆ MPSreadName() [2/2]

static void soplex::MPSreadName ( MPSInput mps,
SPxOut spxout 
)
static

◆ MPSreadObjname() [1/2]

static void soplex::MPSreadObjname ( MPSInput mps)
static

Process OBJNAME section. This Section is an ILOG extension.

Definition at line 1122 of file spxlpbase_rational.cpp.

References MPSInput::field0(), MPSInput::field1(), MPSInput::readLine(), MPSInput::ROWS, MPSInput::setObjName(), MPSInput::setSection(), and MPSInput::syntaxError().

Referenced by SPxLPBase< Real >::readMPS().

◆ MPSreadObjname() [2/2]

static void soplex::MPSreadObjname ( MPSInput mps)
static

Process OBJNAME section. This Section is an ILOG extension.

Definition at line 1454 of file spxlpbase_real.cpp.

References MPSInput::field0(), MPSInput::field1(), MPSInput::readLine(), ROWS, MPSInput::setObjName(), MPSInput::setSection(), and MPSInput::syntaxError().

Referenced by SPxLPBase< Real >::readMPS().

◆ MPSreadObjsen() [1/2]

static void soplex::MPSreadObjsen ( MPSInput mps)
static

◆ MPSreadObjsen() [2/2]

static void soplex::MPSreadObjsen ( MPSInput mps)
static

Process OBJSEN section. This Section is an ILOG extension.

Definition at line 1418 of file spxlpbase_real.cpp.

References MPSInput::field0(), MPSInput::field1(), MPSInput::readLine(), ROWS, MPSInput::setObjSense(), MPSInput::setSection(), and MPSInput::syntaxError().

Referenced by SPxLPBase< Real >::readMPS().

◆ MPSreadRanges() [1/2]

◆ MPSreadRanges() [2/2]

◆ MPSreadRhs() [1/2]

◆ MPSreadRhs() [2/2]

◆ MPSreadRows() [1/2]

◆ MPSreadRows() [2/2]

◆ MPSwriteRecord() [1/2]

static void soplex::MPSwriteRecord ( std::ostream &  os,
const char *  indicator,
const char *  name,
SPxOut spxout,
const char *  name1 = 0,
const Rational  value1 = 0,
const char *  name2 = 0,
const Rational  value2 = 0 
)
static

Definition at line 2132 of file spxlpbase_rational.cpp.

References MAX_LINE_WRITE_LEN, MSG_WARNING, and spxSnprintf().

Referenced by SPxLPBase< Real >::writeMPS().

◆ MPSwriteRecord() [2/2]

static void soplex::MPSwriteRecord ( std::ostream &  os,
const char *  indicator,
const char *  name,
const char *  name1 = 0,
const Real  value1 = 0.0,
const char *  name2 = 0,
const Real  value2 = 0.0 
)
static

Definition at line 2381 of file spxlpbase_real.cpp.

References REAL_FORMAT, and spxSnprintf().

Referenced by SPxLPBase< Real >::writeMPS().

◆ msginconsistent()

bool msginconsistent ( const char *  name,
const char *  file,
int  line 
)

Definition at line 33 of file spxdefines.cpp.

References MSG_ERROR.

◆ NameSetNameHashFunction()

◆ NE()

◆ NErel()

bool soplex::NErel ( Real  a,
Real  b,
Real  eps = Param::epsilon() 
)

returns true iff |relDiff(a,b)| > eps

Definition at line 434 of file spxdefines.h.

References relDiff(), and spxAbs().

Referenced by SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxMainSM::simplifyCols(), and SPxMainSM::simplifyRows().

◆ operator!=() [1/7]

bool operator!= ( const Rational r,
const Rational s 
)

inequality operator

Definition at line 3500 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator!=() [2/7]

bool operator!= ( const Rational r,
const double &  s 
)

inequality operator for Rational and double

Definition at line 3549 of file rational.cpp.

References DEFAULT_EPS_ZERO, Rational::dpointer, and Rational::Private::privatevalue.

◆ operator!=() [3/7]

bool operator!= ( const double &  r,
const Rational s 
)

inequality operator double and Rational

inequality operator for double and Rational

Definition at line 3599 of file rational.cpp.

References DEFAULT_EPS_ZERO, Rational::dpointer, and Rational::Private::privatevalue.

◆ operator!=() [4/7]

bool operator!= ( const Rational r,
const long double &  s 
)

inequality operator for Rational and long double

Definition at line 3650 of file rational.cpp.

References DEFAULT_EPS_ZERO, Rational::dpointer, and Rational::Private::privatevalue.

◆ operator!=() [5/7]

bool operator!= ( const long double &  r,
const Rational s 
)

inequality operator long double and Rational

inequality operator for long double and Rational

Definition at line 3700 of file rational.cpp.

References DEFAULT_EPS_ZERO, Rational::dpointer, and Rational::Private::privatevalue.

◆ operator!=() [6/7]

bool operator!= ( const Rational r,
const int &  s 
)

inequality operator for Rational and int

Definition at line 3749 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator!=() [7/7]

bool operator!= ( const int &  r,
const Rational s 
)

inequality operator for int and Rational

Definition at line 3797 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator*() [1/6]

DVectorBase<R> soplex::operator* ( const VectorBase< R > &  v,
x 
)

Scaling.

Definition at line 1282 of file basevectors.h.

References VectorBase< R >::dim().

Referenced by VectorBase< Real >::operator*(), and SVectorBase< Real >::operator*=().

◆ operator*() [2/6]

DVectorBase<R> soplex::operator* ( x,
const VectorBase< R > &  v 
)

Scaling.

Definition at line 1297 of file basevectors.h.

◆ operator*() [3/6]

DSVectorBase<R> soplex::operator* ( const SVectorBase< R > &  v,
x 
)

◆ operator*() [4/6]

DSVectorBase<R> soplex::operator* ( x,
const SVectorBase< R > &  v 
)

Scaling.

Definition at line 1322 of file basevectors.h.

◆ operator*() [5/6]

Rational soplex::operator* ( const double &  d,
const Rational r 
)

multiplication operator for double and Rational

Definition at line 3857 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator*() [6/6]

Rational soplex::operator* ( const int &  d,
const Rational r 
)

multiplication operator for int and Rational

Definition at line 3893 of file rational.cpp.

◆ operator+() [1/5]

DVectorBase<R> soplex::operator+ ( const VectorBase< R > &  v,
const VectorBase< R > &  w 
)

Addition.

Definition at line 1193 of file basevectors.h.

References VectorBase< R >::dim().

◆ operator+() [2/5]

DVectorBase<R> soplex::operator+ ( const VectorBase< R > &  v,
const SVectorBase< R > &  w 
)

Addition.

Definition at line 1210 of file basevectors.h.

◆ operator+() [3/5]

DVectorBase<R> soplex::operator+ ( const SVectorBase< R > &  v,
const VectorBase< R > &  w 
)

Addition.

Definition at line 1224 of file basevectors.h.

◆ operator+() [4/5]

Rational operator+ ( const double &  d,
const Rational r 
)

addition operator for double and Rational

Definition at line 3837 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator+() [5/5]

Rational operator+ ( const int &  d,
const Rational r 
)

addition operator for int and Rational

Definition at line 3877 of file rational.cpp.

◆ operator-() [1/7]

DVectorBase<R> soplex::operator- ( const VectorBase< R > &  vec)

Negation.

Definition at line 1178 of file basevectors.h.

References VectorBase< R >::dim().

◆ operator-() [2/7]

DVectorBase<R> soplex::operator- ( const VectorBase< R > &  v,
const VectorBase< R > &  w 
)

Subtraction.

Definition at line 1234 of file basevectors.h.

References VectorBase< R >::dim().

◆ operator-() [3/7]

DVectorBase<R> soplex::operator- ( const VectorBase< R > &  v,
const SVectorBase< R > &  w 
)

Subtraction.

Definition at line 1251 of file basevectors.h.

◆ operator-() [4/7]

DVectorBase<R> soplex::operator- ( const SVectorBase< R > &  v,
const VectorBase< R > &  w 
)

Subtraction.

Definition at line 1265 of file basevectors.h.

References VectorBase< R >::dim().

◆ operator-() [5/7]

Rational soplex::operator- ( const double &  d,
const Rational r 
)

subtraction operator for double and Rational

Definition at line 3847 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator-() [6/7]

Rational soplex::operator- ( const int &  d,
const Rational r 
)

subtraction operator for int and Rational

Definition at line 3885 of file rational.cpp.

◆ operator-() [7/7]

Rational operator- ( const Rational r)

Negation.

Definition at line 3930 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator/() [1/2]

Rational soplex::operator/ ( const double &  d,
const Rational r 
)

division operator for double and Rational

Definition at line 3867 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator/() [2/2]

Rational soplex::operator/ ( const int &  d,
const Rational r 
)

division operator for int and Rational

Definition at line 3901 of file rational.cpp.

◆ operator<() [1/7]

bool operator< ( const Rational r,
const Rational s 
)

less than operator

Definition at line 3508 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<() [2/7]

bool operator< ( const Rational r,
const double &  s 
)

less than operator for Rational and double

Definition at line 3558 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<() [3/7]

bool operator< ( const double &  r,
const Rational s 
)

less than operator double and Rational

less than operator for double and Rational

Definition at line 3608 of file rational.cpp.

References Rational::Private::privatevalue.

◆ operator<() [4/7]

bool operator< ( const Rational r,
const long double &  s 
)

less than operator for Rational and long double

Definition at line 3659 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<() [5/7]

bool operator< ( const long double &  r,
const Rational s 
)

less than operator long double and Rational

less than operator for long double and Rational

Definition at line 3709 of file rational.cpp.

References Rational::Private::privatevalue.

◆ operator<() [6/7]

bool operator< ( const Rational r,
const int &  s 
)

less than operator for Rational and int

Definition at line 3757 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<() [7/7]

bool operator< ( const int &  r,
const Rational s 
)

less than operator for int and Rational

Definition at line 3805 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<<() [1/17]

std::ostream& soplex::operator<< ( std::ostream &  s,
const SPxScaler sc 
)

◆ operator<<() [2/17]

std::ostream& soplex::operator<< ( std::ostream &  os,
const SPxId id 
)

Definition at line 52 of file spxid.cpp.

References SPxId::COL_ID, SPxId::INVALID, and SPxId::ROW_ID.

◆ operator<<() [3/17]

◆ operator<<() [4/17]

SPxOut& soplex::operator<< ( SPxOut stream,
const SPxOut::struct_Verbosity verbosity 
)

output operator with verbosity level struct

Definition at line 227 of file spxout.h.

References SPxOut::setVerbosity(), and SPxOut::struct_Verbosity::v_.

◆ operator<<() [5/17]

SPxOut& soplex::operator<< ( SPxOut _spxout,
std::ostream &(*)(std::ostream &)  manip 
)

Passes standard manipulators without arguments, like std::endl or std::ios::right to the current stream.

Definition at line 270 of file spxout.h.

References PASS_TO_CURRENT_OSTREAM.

◆ operator<<() [6/17]

SPxOut& soplex::operator<< ( SPxOut _spxout,
t 
)

Passes everything else to the current stream. In particular, this includes structs corresponding to manipulators with arguments, such as the struct _Setw for the setw() manipulator.

Definition at line 280 of file spxout.h.

References PASS_TO_CURRENT_OSTREAM.

◆ operator<<() [7/17]

std::ostream & operator<< ( std::ostream &  s,
const NameSet nset 
)

Definition at line 288 of file nameset.cpp.

References DataKey::idx, DataKey::info, NameSet::key(), and NameSet::num().

◆ operator<<() [8/17]

std::ostream& soplex::operator<< ( std::ostream &  s,
const VectorBase< R > &  vec 
)

Output operator.

Definition at line 1159 of file basevectors.h.

Referenced by SPxSimplifier::isConsistent().

◆ operator<<() [9/17]

std::ostream & operator<< ( std::ostream &  os,
const SPxBasis::SPxStatus status 
)

◆ operator<<() [10/17]

std::ostream& soplex::operator<< ( std::ostream &  os,
const SVectorBase< R > &  v 
)

Output operator.

Definition at line 1382 of file basevectors.h.

◆ operator<<() [11/17]

std::ostream& soplex::operator<< ( std::ostream &  os,
const SVSetBase< R > &  s 
)

Output operator.

Definition at line 1411 of file basevectors.h.

◆ operator<<() [12/17]

std::ostream & operator<< ( std::ostream &  os,
const SPxSolver::VarStatus status 
)

Pretty-printing of variable status.

Definition at line 2067 of file spxsolver.cpp.

References SPxSolver::BASIC, SPxSolver::FIXED, SPxSolver::ON_LOWER, SPxSolver::ON_UPPER, SPxSolver::UNDEFINED, and SPxSolver::ZERO.

◆ operator<<() [13/17]

◆ operator<<() [14/17]

std::ostream & operator<< ( std::ostream &  os,
const SPxSolver::Type status 
)

Pretty-printing of algorithm.

Definition at line 2162 of file spxsolver.cpp.

References SPxSolver::ENTER, and SPxSolver::LEAVE.

◆ operator<<() [15/17]

std::ostream & operator<< ( std::ostream &  os,
const SPxSolver::Representation status 
)

Pretty-printing of representation.

Definition at line 2181 of file spxsolver.cpp.

References SPxSolver::COLUMN, and SPxSolver::ROW.

◆ operator<<() [16/17]

std::ostream & operator<< ( std::ostream &  os,
const Rational r 
)

print Rational

Definition at line 3470 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<<() [17/17]

std::ostream & operator<< ( std::ostream &  os,
const SPxSimplifier::Result status 
)

Pretty-printing of simplifier status.

Definition at line 4753 of file spxmainsm.cpp.

References SPxSimplifier::DUAL_INFEASIBLE, SPxSimplifier::INFEASIBLE, SPxSimplifier::OKAY, SPxSimplifier::UNBOUNDED, and SPxSimplifier::VANISHED.

◆ operator<=() [1/7]

bool operator<= ( const Rational r,
const Rational s 
)

less than or equal to operator

Definition at line 3516 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<=() [2/7]

bool operator<= ( const Rational r,
const double &  s 
)

less than or equal to operator for Rational and double

Definition at line 3566 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<=() [3/7]

bool operator<= ( const double &  r,
const Rational s 
)

less than or equal to operator double and Rational

less than or equal to operator for double and Rational

Definition at line 3616 of file rational.cpp.

References Rational::Private::privatevalue.

◆ operator<=() [4/7]

bool operator<= ( const Rational r,
const long double &  s 
)

less than or equal to operator for Rational and long double

Definition at line 3667 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<=() [5/7]

bool operator<= ( const long double &  r,
const Rational s 
)

less than or equal to operator long double and Rational

less than or equal to operator for long double and Rational

Definition at line 3717 of file rational.cpp.

References Rational::Private::privatevalue.

◆ operator<=() [6/7]

bool operator<= ( const Rational r,
const int &  s 
)

less than or equal to operator for Rational and int

Definition at line 3765 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator<=() [7/7]

bool operator<= ( const int &  r,
const Rational s 
)

less than or equal to operator for int and Rational

Definition at line 3813 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator==() [1/7]

bool operator== ( const Rational r,
const Rational s 
)

equality operator

Definition at line 3492 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator==() [2/7]

bool operator== ( const Rational r,
const double &  s 
)

equality operator for Rational and double

Definition at line 3540 of file rational.cpp.

References DEFAULT_EPS_ZERO, Rational::dpointer, and Rational::Private::privatevalue.

◆ operator==() [3/7]

bool operator== ( const double &  r,
const Rational s 
)

equality operator for double and Rational

Definition at line 3590 of file rational.cpp.

References DEFAULT_EPS_ZERO, Rational::dpointer, and Rational::Private::privatevalue.

◆ operator==() [4/7]

bool operator== ( const Rational r,
const long double &  s 
)

equality operator for Rational and long double

Definition at line 3641 of file rational.cpp.

References DEFAULT_EPS_ZERO, Rational::dpointer, and Rational::Private::privatevalue.

◆ operator==() [5/7]

bool operator== ( const long double &  r,
const Rational s 
)

equality operator for long double and Rational

Definition at line 3691 of file rational.cpp.

References DEFAULT_EPS_ZERO, Rational::dpointer, and Rational::Private::privatevalue.

◆ operator==() [6/7]

bool operator== ( const Rational r,
const int &  s 
)

equality operator for Rational and int

Definition at line 3741 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator==() [7/7]

bool operator== ( const int &  r,
const Rational s 
)

equality operator for int and Rational

Definition at line 3789 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>() [1/7]

bool operator> ( const Rational r,
const Rational s 
)

greater than operator

Definition at line 3524 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>() [2/7]

bool operator> ( const Rational r,
const double &  s 
)

greater than operator for Rational and double

Definition at line 3574 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>() [3/7]

bool operator> ( const double &  r,
const Rational s 
)

greater than operator double and Rational

greater than operator for double and Rational

Definition at line 3624 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>() [4/7]

bool operator> ( const Rational r,
const long double &  s 
)

greater than operator for Rational and long double

Definition at line 3675 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>() [5/7]

bool operator> ( const long double &  r,
const Rational s 
)

greater than operator long double and Rational

greater than operator for long double and Rational

Definition at line 3725 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>() [6/7]

bool operator> ( const Rational r,
const int &  s 
)

greater than operator for Rational and int

Definition at line 3773 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>() [7/7]

bool operator> ( const int &  r,
const Rational s 
)

greater than operator for int and Rational

Definition at line 3821 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>=() [1/7]

bool operator>= ( const Rational r,
const Rational s 
)

greater than or equal to operator

Definition at line 3532 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>=() [2/7]

bool operator>= ( const Rational r,
const double &  s 
)

greater than or equal to operator for Rational and double

Definition at line 3582 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>=() [3/7]

bool operator>= ( const double &  r,
const Rational s 
)

greater than or equal to operator double and Rational

greater than or equal to operator for double and Rational

Definition at line 3632 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>=() [4/7]

bool operator>= ( const Rational r,
const long double &  s 
)

greater than or equal to operator for Rational and long double

Definition at line 3683 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>=() [5/7]

bool operator>= ( const long double &  r,
const Rational s 
)

greater than or equal to operator long double and Rational

greater than or equal to operator for long double and Rational

Definition at line 3733 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>=() [6/7]

bool operator>= ( const Rational r,
const int &  s 
)

greater than or equal to operator for Rational and int

Definition at line 3781 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>=() [7/7]

bool operator>= ( const int &  r,
const Rational s 
)

greater than or equal to operator for int and Rational

Definition at line 3829 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

◆ operator>>()

std::istream& soplex::operator>> ( std::istream &  s,
DVectorBase< R > &  vec 
)

Input operator.

Definition at line 1332 of file basevectors.h.

References VectorBase< R >::dim(), and DVectorBase< R >::reDim().

◆ patch_field()

static void soplex::patch_field ( char *  buf,
int  beg,
int  end 
)
static

change all blanks inside a field to PATCH_CHAR.

Definition at line 43 of file mpsinput.cpp.

References BLANK, and PATCH_CHAR.

Referenced by MPSInput::readLine().

◆ primalColStatus()

◆ rationalToString()

◆ readStringRational()

bool readStringRational ( const char *  s,
Rational value 
)

read Rational from string

Definition at line 3462 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

Referenced by SoPlex::_parseSettingsLine(), and SoPlex::parseSettingsString().

◆ reconstructSol()

bool reconstructSol ( SolRational solution)

reconstruct a rational solution

Todo:
make this a method of class SoPlex

reconstruct a rational solution

Definition at line 292 of file ratrecon.cpp.

References SolBase< R >::_dual, SolBase< R >::_primal, SolBase< R >::_slacks, SolBase< R >::getDual(), SolBase< R >::getPrimal(), SolBase< R >::getSlacks(), reconstructVector(), and DVectorBase< R >::reDim().

◆ reconstructVector()

bool reconstructVector ( VectorRational input,
const Rational denomBoundSquared,
const DIdxSet indexSet 
)

reconstruct a rational vector

Definition at line 227 of file ratrecon.cpp.

References VectorBase< R >::dim(), IdxSet::index(), MSG_DEBUG, IdxSet::size(), spx_alloc(), and spx_free().

Referenced by SoPlex::_reconstructSolutionRational(), and reconstructSol().

◆ relDiff()

Real soplex::relDiff ( Real  a,
Real  b 
)

returns (a-b) / max(|a|,|b|,1.0)

Definition at line 374 of file spxdefines.h.

References maxAbs().

Referenced by EQrel(), GErel(), GTrel(), LErel(), LTrel(), and NErel().

◆ setDualStatus()

static void soplex::setDualStatus ( SPxBasis::Desc desc,
const SPxSolver base,
const SPxId id 
)
static

◆ sign()

int sign ( const Rational r)

◆ spx_alloc()

void soplex::spx_alloc ( T &  p,
int  n = 1 
)

Allocate memory.

Parameters
psome pointer
nthe number of elements p will point to.
Exceptions
SPxMemoryExceptionif memory could not be allocated.

Definition at line 48 of file spxalloc.h.

Referenced by SoPlex::_checkBasisScaling(), SoPlex::_createDecompReducedAndComplementaryProblems(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_ensureRationalLP(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_optimizeReal(), SoPlex::_preprocessAndSolveReal(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_solveRealForRational(), SoPlex::_unitVectorRational(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), DSVectorBase< Real >::allocMem(), Array< soplex::UnitVectorBase >::Array(), SLUFactorRational::assign(), SLUFactor::assign(), ClassArray< Nonzero< Real > >::ClassArray(), SLUFactor::clear(), SLUFactorRational::clear(), SPxMainSM::FixBoundsPS::clone(), SPxMainSM::FreeZeroObjVariablePS::clone(), SPxMainSM::ZeroObjColSingletonPS::clone(), SPxMainSM::FreeColSingletonPS::clone(), SPxMainSM::DoubletonEquationPS::clone(), SPxMainSM::DuplicateRowsPS::clone(), SPxMainSM::DuplicateColsPS::clone(), SPxMainSM::MultiAggregationPS::clone(), SPxMainSM::TightenBoundsPS::clone(), TimerFactory::createTimer(), DataArray< const soplex::SVectorBase * >::DataArray(), DataSet< soplex::SVSetBase::DLPSV >::DataSet(), DIdxSet::DIdxSet(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), DVectorBase< Real >::DVectorBase(), SPxMainSM::fixColumn(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SPxMainSM::handleExtremes(), SPxMainSM::handleRowObjectives(), IdxSet::IdxSet(), CLUFactor::initFactorRings(), CLUFactorRational::initFactorRings(), Array< soplex::UnitVectorBase >::insert(), main(), NameSet::memPack(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SPxMainSM::multiaggregation(), NameSet::NameSet(), NameSetNameHashFunction(), SoPlex::operator=(), IdxSet::operator=(), SPxMainSM::propagatePseudoobj(), Rational::Rational(), SPxBasis::readBasis(), SoPlex::readBasisFile(), SPxLPBase< Real >::readLPF(), SPxLPBase< Real >::readMPS(), reconstructVector(), ClassArray< Nonzero< Real > >::reMax(), DataArray< const soplex::SVectorBase * >::reMax(), Array< soplex::UnitVectorBase >::remove(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), DVectorBase< Real >::reSize(), DSVectorBase< Real >::setMax(), CLUFactor::setupColVals(), CLUFactor::setupRowVals(), CLUFactorRational::setupRowVals(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SLUFactor::SLUFactor(), SLUFactorRational::SLUFactorRational(), SoPlex::SoPlex(), SPxOut::SPxOut(), SSVectorBase< Real >::SSVectorBase(), SoPlexLegacy::unsimplify(), and SoPlex::writeFileReal().

◆ spx_free()

void soplex::spx_free ( T &  p)

Release memory.

Definition at line 109 of file spxalloc.h.

Referenced by SoPlex::_checkBasisScaling(), SoPlex::_decompSimplifyAndSolve(), SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_ensureRealLPLoaded(), SoPlex::_formDecompReducedProblem(), SoPlex::_getCompatibleColumns(), SoPlex::_loadRealLP(), SoPlex::_optimizeRational(), SoPlex::_preprocessAndSolveReal(), SoPlex::_readFileRational(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_solveRealForRational(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), CLUFactor::Temp::clear(), CLUFactorRational::Temp::clear(), SLUFactor::clear(), SLUFactorRational::clear(), Array< soplex::UnitVectorBase >::clear(), IsList< soplex::SVSetBase::DLPSV >::clear(), DataSet< soplex::SVSetBase::DLPSV >::DataSet(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SLUFactorRational::freeAll(), SLUFactor::freeAll(), CLUFactor::freeFactorRings(), CLUFactorRational::freeFactorRings(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), Array< soplex::UnitVectorBase >::insert(), main(), NameSet::memPack(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), IdxSet::operator=(), SPxMainSM::operator=(), SPxBasis::readBasis(), SoPlex::readBasisFile(), SPxLPBase< Real >::readLPF(), SPxLPBase< Real >::readMPS(), reconstructVector(), ClassArray< Nonzero< Real > >::reMax(), DataArray< const soplex::SVectorBase * >::reMax(), Array< soplex::UnitVectorBase >::remove(), DVectorBase< Real >::reSize(), SoPlex::setIntParam(), DSVectorBase< Real >::setMax(), CLUFactor::setupColVals(), CLUFactor::setupRowVals(), CLUFactorRational::setupRowVals(), SPxMainSM::simplify(), TimerFactory::switchTimer(), SoPlexLegacy::unsimplify(), SPxMainSM::unsimplify(), SoPlex::writeFileReal(), Array< soplex::UnitVectorBase >::~Array(), ClassArray< Nonzero< Real > >::~ClassArray(), DataArray< const soplex::SVectorBase * >::~DataArray(), DataSet< soplex::SVSetBase::DLPSV >::~DataSet(), DIdxSet::~DIdxSet(), DSVectorBase< Real >::~DSVectorBase(), DVectorBase< Real >::~DVectorBase(), IdxSet::~IdxSet(), NameSet::~NameSet(), Rational::~Rational(), SLUFactor::~SLUFactor(), SoPlex::~SoPlex(), SPxBasis::~SPxBasis(), SPxMainSM::~SPxMainSM(), SPxOut::~SPxOut(), SPxSimplifier::~SPxSimplifier(), SPxSolver::~SPxSolver(), SSVectorBase< Real >::~SSVectorBase(), and SoPlex::Statistics::~Statistics().

◆ spx_realloc()

◆ spxAbs() [1/2]

Real soplex::spxAbs ( Real  a)

returns |a|

Definition at line 328 of file spxdefines.h.

◆ spxAbs() [2/2]

Rational spxAbs ( const Rational r)

Absolute.

absolute function

Definition at line 3909 of file rational.cpp.

References Rational::dpointer, and Rational::Private::privatevalue.

Referenced by SoPlex::_checkBasisScaling(), SoPlex::_computeInfeasBox(), SoPlex::_findViolatedRows(), SoPlex::_lift(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SPxEquiliSC::computeEquiExpVec(), SPxScaler::computeScaleExp(), computeScalingVec(), SPxBasis::condition(), SLUFactor::conditionEstimate(), SPxSolver::enter(), EQ(), EQrel(), SPxMainSM::ForceConstraintPS::execute(), SPxBoundFlippingRT::flipAndUpdate(), CLUFactorRational::forestUpdate(), CLUFactor::forestUpdate(), SPxWeightST::generate(), SPxScaler::getColMaxAbsUnscaled(), SPxScaler::getColMinAbsUnscaled(), SPxBoundFlippingRT::getData(), SPxScaler::getRowMaxAbsUnscaled(), SPxScaler::getRowMinAbsUnscaled(), SPxMainSM::handleExtremes(), initConstVecs(), CLUFactor::initFactorMatrix(), CLUFactorRational::initFactorMatrix(), SSVectorBase< Real >::isConsistent(), isNotZero(), SPxBoundFlippingRT::isSmaller(), isZero(), SPxSolver::leave(), SPxDevexPR::left4(), SPxSteepPR::left4(), VectorBase< Real >::maxAbs(), maxAbs(), SVectorBase< Real >::maxAbs(), SSVectorBase< Real >::maxAbs(), SPxScaler::maxAbsColscale(), SPxScaler::maxColRatio(), maxPrescaledRatio(), SPxScaler::maxRowRatio(), VectorBase< Real >::minAbs(), SVectorBase< Real >::minAbs(), SPxScaler::minAbsColscale(), MPSreadRanges(), NE(), NErel(), SSVectorBase< Real >::operator=(), SoPlexLegacy::qualBoundViolation(), SPxSolver::qualBoundViolation(), SoPlexLegacy::qualConstraintViolation(), SPxSolver::qualConstraintViolation(), SPxSolver::qualSlackViolation(), SPxLPBase< Real >::readLPF(), SPxBoundFlippingRT::selectEnter(), SPxBoundFlippingRT::selectLeave(), CLUFactor::selectPivots(), CLUFactorRational::selectPivots(), CLUFactor::setPivot(), CLUFactorRational::setPivot(), SSVectorBase< Real >::setup(), SSVectorBase< Real >::setup_and_assign(), CLUFactor::setupColVals(), CLUFactorRational::setupColVals(), SPxVectorST::setupWeights(), SPxWeightST::setupWeights(), SSVectorBase< Real >::setValue(), SPxMainSM::simplifyRows(), SPxSolver::solve(), CLUFactor::solveUleft(), CLUFactorRational::update(), CLUFactor::update(), SPxSolver::updateFtest(), CLUFactorRational::updateNoClear(), CLUFactor::updateNoClear(), and Validation::validateSolveReal().

◆ spxFrexp()

Real soplex::spxFrexp ( Real  y,
int *  exp 
)

Definition at line 358 of file spxdefines.h.

Referenced by SPxEquiliSC::computeEquiExpVec(), and SPxScaler::computeScaleExp().

◆ spxLdexp()

Real soplex::spxLdexp ( Real  x,
int  exp 
)

returns x * 2^exp

Definition at line 352 of file spxdefines.h.

Referenced by SPxScaler::applyScaling(), SPxLPBase< Real >::changeCol(), SPxLPBase< Real >::changeRow(), SPxEquiliSC::computeEquiExpVec(), SPxScaler::computeScaleExp(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SPxScaler::getCoefUnscaled(), SPxScaler::getColMaxAbsUnscaled(), SPxScaler::getColMinAbsUnscaled(), SPxScaler::getColUnscaled(), SPxScaler::getLhsUnscaled(), SPxScaler::getLowerUnscaled(), SPxScaler::getMaxObjUnscaled(), SPxScaler::getRhsUnscaled(), SPxScaler::getRowMaxAbsUnscaled(), SPxScaler::getRowMinAbsUnscaled(), SPxScaler::getRowUnscaled(), SPxScaler::getUpperUnscaled(), SPxScaler::lhsUnscaled(), SPxScaler::lowerUnscaled(), SPxScaler::maxAbsColscale(), SPxScaler::maxAbsRowscale(), SPxScaler::maxObjUnscaled(), SPxScaler::minAbsColscale(), SPxScaler::minAbsRowscale(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), SPxScaler::rhsUnscaled(), VectorBase< Real >::scaleAssign(), SVectorBase< Real >::scaleAssign(), SPxScaler::scaleElement(), SPxScaler::scaleLhs(), SPxScaler::scaleLower(), SPxScaler::scaleObj(), SPxScaler::scaleRhs(), SPxScaler::scaleUpper(), SSVectorBase< Real >::scaleValue(), SPxScaler::unscale(), SPxScaler::unscaleDual(), SPxScaler::unscaleDualray(), SPxScaler::unscalePrimal(), SPxScaler::unscalePrimalray(), SPxScaler::unscaleRedCost(), SPxScaler::unscaleSlacks(), and SPxScaler::upperUnscaled().

◆ spxNextafter()

Real soplex::spxNextafter ( Real  x,
Real  y 
)

Definition at line 341 of file spxdefines.h.

Referenced by SoPlex::_restoreLPReal().

◆ SPxQuicksort()

void soplex::SPxQuicksort ( T *  keys,
int  end,
COMPARATOR &  compare,
int  start = 0,
bool  type = true 
)

Generic QuickSort implementation.

This template function sorts an array t holding n elements of type T using compare for comparisons. Class COMPARATOR must provide an overloaded operator()(const T& t1,const T& t2) which returns

  • < 0, if t1 is to appear before t2,
  • = 0, if t1 and t2 can appear in any order, or
  • > 0, if t1 is to appear after t2.

Definition at line 73 of file sorter.h.

References SHELLSORTMAX, and SPxShellsort().

Referenced by SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), initPrefs(), SPxMainSM::simplifyCols(), and SPxQuicksortPart().

◆ SPxQuicksortPart()

int soplex::SPxQuicksortPart ( T *  keys,
COMPARATOR &  compare,
int  start,
int  end,
int  size,
int  start2 = 0,
int  end2 = 0,
bool  type = true 
)

Generic implementation of Partial QuickSort.

This template function sorts an array t holding n elements of type T partially using compare for comparisons, i.e. ensures that the size smallest elements are sorted to the front.

Class COMPARATOR must provide an overloaded operator()(const T& t1,const T& t2) which returns

  • < 0, if t1 is to appear before t2,
  • = 0, if t1 and t2 can appear in any order, or
  • > 0, if t1 is to appear after t2.
Parameters
keysarray of elements to be sorted between index start and end
comparecomparator
startindex of first element in range to be sorted
endindex of last element in range to be sorted, plus 1
sizeguaranteed number of sorted elements
start2auxiliary start index of sub range used for recursive call
end2auxiliary end index of sub range used for recursive call
typetype of sorting, to be more flexable on degenerated cases

Definition at line 219 of file sorter.h.

References SPxQuicksort().

Referenced by SoPlex::_updateDecompReducedProblem(), SPxDevexPR::buildBestPriceVectorEnterCoDim(), SPxSteepPR::buildBestPriceVectorEnterCoDim(), SPxDevexPR::buildBestPriceVectorEnterDim(), SPxSteepPR::buildBestPriceVectorEnterDim(), SPxDevexPR::buildBestPriceVectorLeave(), SPxSteepPR::buildBestPriceVectorLeave(), SPxBoundFlippingRT::selectEnter(), and SPxBoundFlippingRT::selectLeave().

◆ SPxShellsort()

void soplex::SPxShellsort ( T *  keys,
int  end,
COMPARATOR &  compare,
int  start = 0 
)

shell-sort an array of data elements; use it only for arrays smaller than 25 entries

Definition at line 31 of file sorter.h.

Referenced by SPxQuicksort().

◆ spxSnprintf()

int soplex::spxSnprintf ( char *  t,
int  len,
const char *  s,
  ... 
)

◆ spxSqrt()

◆ totalSizeRational()

int totalSizeRational ( const Rational vector,
const int  length,
const int  base 
)

Total size of rational vector.

Definition at line 3940 of file rational.cpp.

References Rational::sizeInBase().

Referenced by SolBase< Real >::totalSizeDual(), and SolBase< Real >::totalSizePrimal().

◆ updateRes()

static void soplex::updateRes ( const SVSet  facset,
const SSVector  resvecprev,
SSVector resvec,
SSVector tmpvec,
Real  eprev,
Real  qcurr 
)
static

◆ updateScale()

static void soplex::updateScale ( const SSVector  vecnnzeroes,
const SSVector  resnvec,
SSVector tmpvec,
SSVector *&  psccurr,
SSVector *&  pscprev,
Real  qcurr,
Real  qprev,
Real  eprev1,
Real  eprev2 
)
static

◆ updateScaleFinal()

static void soplex::updateScaleFinal ( const SSVector  vecnnzeroes,
const SSVector  resnvec,
SSVector tmpvec,
SSVector *&  psccurr,
SSVector *&  pscprev,
Real  q,
Real  eprev1,
Real  eprev2 
)
static

◆ verb()

SPxOut::struct_Verbosity soplex::verb ( const SPxOut::Verbosity v)

manipulator to be used in an output statement

Definition at line 218 of file spxout.h.

References SPxOut::struct_Verbosity::v_.

Variable Documentation

◆ infinity

THREADLOCAL const Real infinity = DEFAULT_INFINITY

Definition at line 26 of file spxdefines.cpp.

Referenced by SoPlex::_deleteAndUpdateRowsComplementaryProblem(), SoPlex::_formDecompComplementaryProblem(), SoPlex::_getCompatibleBoundCons(), SoPlex::_rangeTypeReal(), SoPlex::_removeComplementaryDualFixedPrimalVars(), SoPlex::_restoreLPReal(), SoPlex::_setComplementaryDualOriginalObjective(), SoPlex::_updateComplementaryDualFixedPrimalVars(), SoPlex::_updateComplementaryDualSlackColCoeff(), SoPlex::_updateComplementaryPrimalFixedPrimalVars(), SoPlex::_updateDecompComplementaryDualProblem(), SoPlex::_updateDecompComplementaryPrimalProblem(), SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), SPxScaler::applyScaling(), SPxLPBase< Real >::buildDualProblem(), SPxLPBase< Real >::changeLhs(), SPxSolver::changeLhsStatus(), SPxLPBase< Real >::changeLower(), SPxSolver::changeLowerStatus(), SPxLPBase< Real >::changeRhs(), SPxSolver::changeRhsStatus(), SPxLPBase< Real >::changeUpper(), SPxSolver::changeUpperStatus(), SPxSolver::clearDualBounds(), SPxBoundFlippingRT::collectBreakpointsMax(), SPxBoundFlippingRT::collectBreakpointsMin(), SPxSolver::computeEnterCoPrhs4Col(), SPxSolver::computeEnterCoPrhs4Row(), SPxSolver::computeFrhs(), SPxSolver::computeFrhs1(), SPxSolver::computeFrhs2(), SPxSolver::computeFrhsXtra(), SPxSolver::computeLeaveCoPrhs4Col(), SPxSolver::computeLeaveCoPrhs4Row(), SPxMainSM::computeMinMaxResidualActivity(), SPxMainSM::computeMinMaxValues(), computeScalingVec(), SoPlex::decompTerminate(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxBasis::dualColStatus(), SPxBasis::dualRowStatus(), SPxMainSM::duplicateCols(), SPxMainSM::duplicateRows(), SPxSolver::enter(), SPxSteepPR::entered4(), SPxMainSM::FreeZeroObjVariablePS::execute(), SPxMainSM::ZeroObjColSingletonPS::execute(), SPxMainSM::DuplicateColsPS::execute(), SPxMainSM::FixBoundsPS::FixBoundsPS(), SPxMainSM::fixColumn(), SPxBoundFlippingRT::flipAndUpdate(), SPxWeightST::generate(), SPxScaler::getColMinAbsUnscaled(), SPxSolver::getEnterVals(), SPxBasis::getFastCondition(), SPxSolver::getLeaveVals(), SPxSolver::getLeaveVals2(), SoPlex::getOriginalProblemStatistics(), SoPlex::getOrigVarFixedDirection(), SPxScaler::getRowMinAbsUnscaled(), SPxMainSM::handleExtremes(), SPxSolver::isBasisValid(), SPxBasis::isDescValid(), SPxSolver::isTimeLimitReached(), SPxSolver::leave(), SPxSteepPR::left4(), SPxScaler::lhsUnscaled(), SPxBasis::loadDesc(), SPxScaler::lowerUnscaled(), LPFreadInfinity(), LPFwriteBounds(), LPFwriteRow(), LPFwriteRows(), LPRowBase< R >::LPRowBase(), main(), SPxScaler::maxColRatio(), SPxHarrisRT::maxDelta(), SPxFastRT::maxDelta(), maxPrescaledRatio(), SPxScaler::maxRowRatio(), SPxFastRT::maxSelect(), SVectorBase< Real >::minAbs(), SPxScaler::minAbsColscale(), SPxLPBase< Real >::minAbsNzo(), SPxHarrisRT::minDelta(), SPxFastRT::minDelta(), SPxFastRT::minSelect(), MPSgetRHS(), MPSreadBounds(), MPSreadCols(), MPSreadRanges(), MPSreadRhs(), MPSreadRows(), SPxMainSM::multiaggregation(), SPxSolver::perturbMax(), SPxSolver::perturbMin(), primalColStatus(), SPxLPBase< Real >::printProblemStatistics(), SPxMainSM::propagatePseudoobj(), SPxBasis::readBasis(), SPxLPBase< Real >::readLPF(), SPxMainSM::removeEmpty(), SPxMainSM::removeRowSingleton(), SPxScaler::rhsUnscaled(), SPxDefaultRT::selectEnter(), SPxHarrisRT::selectEnter(), SPxWeightPR::selectEnter(), SPxDevexPR::selectEnterHyperCoDim(), SPxSteepPR::selectEnterHyperCoDim(), SPxDevexPR::selectEnterHyperDim(), SPxSteepPR::selectEnterHyperDim(), SPxSteepPR::selectEnterX(), SPxDefaultRT::selectLeave(), SPxHarrisRT::selectLeave(), SPxWeightPR::selectLeave(), SPxDevexPR::selectLeaveHyper(), SPxSteepPR::selectLeaveHyper(), SPxSteepPR::selectLeaveSparse(), SPxSteepPR::selectLeaveX(), SPxSolver::setEnterBound4Col(), SPxSolver::setEnterBound4Row(), SPxSolver::setLeaveBound4Col(), SPxSolver::setLeaveBound4Row(), SPxWeightST::setPrimalStatus(), LPRowBase< R >::setType(), LPRowSetBase< Real >::setType(), SPxWeightST::setupWeights(), SPxMainSM::simplify(), SPxMainSM::simplifyCols(), SPxMainSM::simplifyDual(), SPxMainSM::simplifyRows(), SPxSolver::solve(), CLUFactor::solveUleft(), SPxSolver::terminate(), SPxMainSM::trivialHeuristic(), LPRowBase< R >::type(), LPRowSetBase< Real >::type(), SPxScaler::unscale(), SPxScaler::upperUnscaled(), LPRowBase< R >::value(), LPRowSetBase< Real >::value(), SPxSolver::value(), SPxSolver::varStatusToBasisStatusCol(), SPxSolver::varStatusToBasisStatusRow(), SPxBasis::writeBasis(), SPxLPBase< Real >::writeMPS(), and SPxSolver::writeState().

◆ reject_leave_tol

const Real reject_leave_tol = 1e-10
static

Definition at line 30 of file leave.cpp.

◆ verySparseFactor [1/2]

const Real verySparseFactor = 0.001
static

Definition at line 34 of file clufactor.cpp.

◆ verySparseFactor [2/2]

const Real verySparseFactor = 0.001
static

Definition at line 35 of file clufactor_rational.cpp.

◆ verySparseFactor4left

const Real verySparseFactor4left = 0.1
static

Definition at line 36 of file clufactor.cpp.

◆ verySparseFactor4right [1/2]

const Real verySparseFactor4right = 0.2
static

Definition at line 35 of file clufactor.cpp.

◆ verySparseFactor4right [2/2]

const Real verySparseFactor4right = 0.2
static

Definition at line 36 of file clufactor_rational.cpp.