|
SoPlex
|
Everything should be within this namespace. More...
Classes | |
| class | SoPlexBase |
| class | Array |
| Safe arrays of arbitrary types. More... | |
| class | ClassArray |
| Safe arrays of class objects. More... | |
| class | ClassSet |
| Set of class objects. More... | |
| class | CLUFactor |
| Implementation of sparse LU factorization. More... | |
| class | CLUFactorRational |
| Implementation of sparse LU factorization with Rational precision. More... | |
| class | DataArray |
| Safe arrays of data objects. More... | |
| class | DataHashTable |
| Generic hash table for data objects. More... | |
| class | DataKey |
| Entry identifier class for items of a DataSet. More... | |
| class | DataSet |
| Set of data objects. More... | |
| class | DIdxSet |
| Dynamic index set. More... | |
| class | VectorBase |
| Dense vector. More... | |
| class | SSVectorBase |
| Semi sparse vector. More... | |
| class | SLinSolver |
| Sparse Linear Solver virtual base class. More... | |
| class | DSVectorBase |
| Dynamic sparse vectors. More... | |
| class | SPxException |
| Exception base class. More... | |
| class | SPxMemoryException |
| Exception class for out of memory exceptions. More... | |
| class | SPxStatusException |
| Exception class for status exceptions during the computations. More... | |
| class | SPxInternalCodeException |
| Exception class for things that should NEVER happen. More... | |
| class | SPxInterfaceException |
| Exception class for incorrect usage of interface methods. More... | |
| class | IdElement |
| Elements for IdLists. More... | |
| class | IdList |
| Generic Real linked list. More... | |
| class | IdxSet |
| Set of indices. More... | |
| class | IsElement |
| Elements for IsLists. More... | |
| class | IsList |
| Generic single linked list. More... | |
| class | LPColBase |
| LP column. More... | |
| class | LPColSetBase |
| Set of LP columns. More... | |
| class | LPRowBase |
| (In)equality for LPs. More... | |
| class | LPRowSetBase |
| Set of LP rows. More... | |
| class | MPSInput |
| class | NameSet |
| Set of strings. More... | |
| class | NoTimer |
| class | Random |
| Random numbers. More... | |
| class | SLinSolverRational |
| Sparse Linear Solver virtual base class with Rational precision. More... | |
| class | SLUFactor |
| Implementation of Sparse Linear Solver. More... | |
| class | SLUFactorRational |
| Implementation of Sparse Linear Solver with Rational precision. More... | |
| class | SolBase |
| Class for storing a primal-dual solution with basis information. More... | |
| class | SPxAutoPR |
| Auto pricer. More... | |
| class | SPxSolverBase |
| Sequential object-oriented SimPlex. More... | |
| class | SPxBasisBase |
| Simplex basis. More... | |
| class | SPxBoundFlippingRT |
| Bound flipping ratio test ("long step dual") for SoPlex. More... | |
| class | SPxDantzigPR |
| Dantzig pricer. More... | |
| class | Tolerances |
| class | SPxDevexPR |
| Devex pricer. More... | |
| class | SPxEquiliSC |
| Equilibrium row/column scaling. More... | |
| class | SPxFastRT |
| Fast shifting ratio test. More... | |
| class | SPxGeometSC |
| Geometric mean row/column scaling. More... | |
| class | SPxHarrisRT |
| Harris pricing with shifting. More... | |
| class | SPxHybridPR |
| Hybrid pricer. More... | |
| class | SPxColId |
| Ids for LP columns. More... | |
| class | SPxRowId |
| Ids for LP rows. More... | |
| class | SPxId |
| Generic Ids for LP rows or columns. More... | |
| class | SPxLeastSqSC |
| Least squares scaling. More... | |
| class | SPxMainSM |
| LP simplifier for removing uneccessary row/columns. More... | |
| class | SPxLPBase |
| Saving LPs in a form suitable for SoPlex. More... | |
| struct | EnableDebugOutput |
| 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 | Presol |
| class | SPxParMultPR |
| Partial multiple pricing. More... | |
| class | SPxPricer |
| Abstract pricer base class. More... | |
| class | SPxRatioTester |
| Abstract ratio test base class. More... | |
| class | SPxScaler |
| LP scaler abstract base class. More... | |
| class | SPxSimplifier |
| LP simplification abstract base class. More... | |
| class | SPxStarter |
| SoPlex start basis generation base class. More... | |
| class | SPxSteepExPR |
| Steepest edge pricer. More... | |
| class | SPxSteepPR |
| Steepest edge pricer. More... | |
| class | SPxSumST |
| Simple heuristic SPxStarter. More... | |
| class | SPxVectorST |
| Solution vector based start basis. More... | |
| class | SPxWeightPR |
| Weighted pricing. More... | |
| class | SPxWeightST |
| Weighted start basis. More... | |
| class | SVectorBase |
| Sparse vectors. More... | |
| class | SVSetBase |
| Sparse vector set. More... | |
| class | StableSum |
| class | StableSum< double > |
| class | Nonzero |
| Sparse vector nonzero element. 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\). More... | |
| class | UpdateVector |
| Dense Vector with semi-sparse Vector for updates. More... | |
| class | UserTimer |
| class | Validation |
| class | WallclockTimer |
Functions | |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &s, const VectorBase< R > &vec) |
| Output operator. | |
| template<class R> | |
| VectorBase< R > | operator- (const SVectorBase< R > &v, const VectorBase< R > &w) |
| Subtraction. | |
| template<class R> | |
| DSVectorBase< R > | operator* (const SVectorBase< R > &v, R x) |
| Scaling. | |
| template<class R> | |
| DSVectorBase< R > | operator* (R x, const SVectorBase< R > &v) |
| Scaling. | |
| template<class R> | |
| std::istream & | operator>> (std::istream &s, VectorBase< R > &vec) |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &os, const SVectorBase< R > &v) |
| Output operator. | |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &os, const SVSetBase< R > &s) |
| Output operator. | |
| static void | clear_from (char *buf, int pos) |
fill the line from pos up to column 80 with blanks. | |
| static void | patch_field (char *buf, int beg, int end) |
| change all blanks inside a field to PATCH_CHAR. | |
| static int | NameSetNameHashFunction (const NameSet::Name *str) |
| returns the hash value of the name. | |
| std::ostream & | operator<< (std::ostream &s, const NameSet &nset) |
| int | sizeInBase (const Rational R, const int base) |
| Size in specified base (bit size for base 2). | |
| int | totalSizeRational (const Rational *vector, const int length, const int base) |
| Total size of rational vector. | |
| int | dlcmSizeRational (const Rational *vector, const int length, const int base) |
| Size of least common multiple of denominators in rational vector. | |
| int | dmaxSizeRational (const Rational *vector, const int length, const int base) |
| Size of largest denominator in rational vector. | |
| bool | reconstructVector (VectorRational &input, const Rational &denomBoundSquared, const DIdxSet *indexSet=nullptr) |
| bool | reconstructSol (SolRational &solution) |
| 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. | |
| 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. | |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &os, const typename SPxBasisBase< R >::SPxStatus &status) |
| Pretty-printing of basis status. | |
| bool | EQ (int a, int b) |
| bool | msginconsistent (const char *name, const char *file, int line) |
| template<typename R> | |
| bool | isPlusZero (R x) |
| detects whether value is positive zero | |
| template<class R> | |
| R | spxAbs (R a) |
| Real | spxNextafter (Real x, Real y) |
| template<> | |
| Real | spxAbs (Real a) |
| returns |a| | |
| Real | spxSqrt (Real a) |
| returns square root | |
| Real | maxAbs (Real a, Real b) |
| returns max(|a|,|b|) | |
| Real | relDiff (Real a, Real b) |
| returns (a-b) / max(|a|,|b|,1.0) | |
| int | spxSnprintf (char *t, size_t len, const char *s,...) |
| safe version of snprintf | |
| const char * | getGitHash () |
| std::ostream & | operator<< (std::ostream &os, const SPxId &id) |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &os, const typename SPxSimplifier< R >::Result &status) |
| Pretty-printing of simplifier status. | |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::VarStatus &status) |
| Pretty-printing of variable status. | |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Status &status) |
| Pretty-printing of solver status. | |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Type &status) |
| Pretty-printing of algorithm. | |
| template<class R> | |
| std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Representation &status) |
| Pretty-printing of representation. | |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &s, const StableSum< T > &sum) |
| Output operator. | |
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, size_t n=1) |
| Allocate memory. | |
| template<class T> | |
| void | spx_realloc (T &p, size_t n) |
| Change amount of allocated memory. | |
| template<class T> | |
| void | spx_free (T &p) |
| Release memory. | |
Construction / destruction | |
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. See SPxRatioTester for a class documentation. */ template <class R> class SPxDefaultRT : public SPxRatioTester<R> { public: /** | |
| SPxDefaultRT () | |
| default constructor | |
| SPxDefaultRT (const SPxDefaultRT &old) | |
| copy constructor | |
| SPxDefaultRT & | operator= (const SPxDefaultRT &rhs) |
| assignment operator | |
| virtual | ~SPxDefaultRT () |
| destructor | |
| virtual SPxRatioTester< R > * | clone () const |
| clone function for polymorphism | |
Select enter/leave | |
| virtual int | selectLeave (R &val, R, bool) |
| virtual SPxId | selectEnter (R &val, int, bool) |
Verbosity manipulator | |
Manipulators are implemented in a similar way as done for SPxOut spxout;
Wrapper for several output streams. A verbosity level is used to decide which stream to use and wheth... Definition spxout.h:78 SPxOut::struct_Verbosity verb(const SPxOut::Verbosity &v) manipulator to be used in an output statement Definition spxout.h:252 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 | |
| SPxOut & | operator<< (SPxOut &stream, const SPxOut::struct_Verbosity &verbosity) |
| output operator with verbosity level struct | |
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). | |
| SPxOut & | operator<< (SPxOut &_spxout, long t) |
Passes instances of type Type to the current stream. | |
| SPxOut & | operator<< (SPxOut &_spxout, unsigned long t) |
| SPxOut & | operator<< (SPxOut &_spxout, bool t) |
| SPxOut & | operator<< (SPxOut &_spxout, short t) |
| SPxOut & | operator<< (SPxOut &_spxout, unsigned short t) |
| SPxOut & | operator<< (SPxOut &_spxout, int t) |
| SPxOut & | operator<< (SPxOut &_spxout, unsigned int t) |
| SPxOut & | operator<< (SPxOut &_spxout, double t) |
| SPxOut & | operator<< (SPxOut &_spxout, float t) |
| SPxOut & | operator<< (SPxOut &_spxout, long double t) |
| SPxOut & | operator<< (SPxOut &_spxout, const void *t) |
| SPxOut & | operator<< (SPxOut &_spxout, std::ostream &(*manip)(std::ostream &)) |
Passes standard manipulators without arguments, like std::endl or std::ios::right to the current stream. | |
| template<typename T> | |
| SPxOut & | operator<< (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. | |
Variables | |
| SOPLEX_THREADLOCAL const Real | infinity = SOPLEX_DEFAULT_INFINITY |
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.
implement automatic rep switch, based on row/col dim
introduce status codes for SoPlex, especially for rational solving
record and return "best" solutions found during IR (Ambros)
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?)
| typedef DSVectorBase< Real > DSVector |
Definition at line 37 of file dsvector.h.
| typedef DSVectorBase< Rational > DSVectorRational |
Definition at line 39 of file dsvector.h.
| typedef DSVectorBase< Real > DSVectorReal |
Definition at line 38 of file dsvector.h.
| typedef VectorBase< Real > DVector |
| typedef VectorBase< Rational > DVectorRational |
| typedef VectorBase< Real > DVectorReal |
| typedef LPColBase< Rational > LPColRational |
| typedef LPColSetBase< Real > LPColSet |
Definition at line 36 of file lpcolset.h.
| typedef LPColSetBase< Rational > LPColSetRational |
Definition at line 38 of file lpcolset.h.
| typedef LPColSetBase< Real > LPColSetReal |
Definition at line 37 of file lpcolset.h.
| typedef LPRowBase< Rational > LPRowRational |
| typedef LPRowSetBase< Real > LPRowSet |
Definition at line 36 of file lprowset.h.
| typedef LPRowSetBase< Rational > LPRowSetRational |
Definition at line 38 of file lprowset.h.
| typedef LPRowSetBase< Real > LPRowSetReal |
Definition at line 37 of file lprowset.h.
| typedef double Real |
Definition at line 269 of file spxdefines.h.
| typedef SolBase<Rational> SolRational |
| typedef SoPlexBase<Real> SoPlex |
| typedef SPxBasisBase<Real> SPxBasis |
Definition at line 1017 of file spxbasis.h.
| typedef std::ifstream spxifstream |
Definition at line 52 of file spxfileio.h.
| typedef SPxLPBase< Rational > SPxLPRational |
| typedef SPxSolverBase<Real> SPxSolver |
Definition at line 2402 of file spxsolver.h.
| typedef SSVectorBase<Real> SSVector |
Definition at line 37 of file ssvector.h.
| typedef SSVectorBase<Rational> SSVectorRational |
Definition at line 39 of file ssvector.h.
| typedef SSVectorBase<Real> SSVectorReal |
Definition at line 38 of file ssvector.h.
| typedef SVectorBase< Real > SVector |
| typedef SVectorBase< Rational > SVectorRational |
| typedef SVectorBase< Real > SVectorReal |
| typedef UnitVectorBase< Real > UnitVector |
Definition at line 38 of file unitvector.h.
| typedef UnitVectorBase< Rational > UnitVectorRational |
Definition at line 40 of file unitvector.h.
| typedef UnitVectorBase< Real > UnitVectorReal |
Definition at line 39 of file unitvector.h.
| typedef VectorBase< Real > Vector |
| typedef VectorBase< Rational > VectorRational |
| typedef VectorBase< Real > VectorReal |
|
static |
fill the line from pos up to column 80 with blanks.
Definition at line 44 of file mpsinput.cpp.
References BLANK.
Referenced by MPSInput::readLine().
|
virtual |
clone function for polymorphism
Definition at line 81 of file spxdefaultrt.h.
References SPxDefaultRT().
| int dlcmSizeRational | ( | const Rational * | vector, |
| const int | length, | ||
| const int | base ) |
Size of least common multiple of denominators in rational vector.
Definition at line 1060 of file rational.h.
References denominator(), sizeInBase(), SPX_MSG_ERROR, and SpxLcm().
Referenced by SolBase< Real >::dlcmSizeDual(), and SolBase< Real >::dlcmSizePrimal().
| int dmaxSizeRational | ( | const Rational * | vector, |
| const int | length, | ||
| const int | base ) |
Size of largest denominator in rational vector.
Definition at line 1082 of file rational.h.
References denominator(), sizeInBase(), and SPX_MSG_ERROR.
Referenced by SolBase< Real >::dmaxSizeDual(), and SolBase< Real >::dmaxSizePrimal().
| bool EQ | ( | int | a, |
| int | b ) |
Definition at line 36 of file spxdefines.cpp.
Referenced by SPxMainSM< R >::DoubletonEquationPS::DoubletonEquationPS(), SPxMainSM< R >::FreeColSingletonPS::FreeColSingletonPS(), SPxMainSM< R >::MultiAggregationPS::MultiAggregationPS(), SPxMainSM< R >::ElementCompare::operator()(), SPxMainSM< R >::IdxCompare::operator()(), and SPxLPBase< Real >::printProblemStatistics().
| const char * getGitHash | ( | ) |
returns the current git hash of SoPlex
Definition at line 32 of file spxgithash.cpp.
References SPX_GITHASH.
| bool isPlusZero | ( | R | x | ) |
detects whether value is positive zero
Definition at line 312 of file spxdefines.h.
Referenced by SSVectorBase< R >::assign2productShort().
returns max(|a|,|b|)
Definition at line 448 of file spxdefines.h.
References spxAbs().
Referenced by relDiff().
| bool msginconsistent | ( | const char * | name, |
| const char * | file, | ||
| int | line ) |
Definition at line 43 of file spxdefines.cpp.
References SPX_MSG_ERROR.
|
static |
returns the hash value of the name.
Definition at line 200 of file nameset.cpp.
References NameSet::Name::name.
Referenced by NameSet::NameSet().
| DSVectorBase< R > operator* | ( | const SVectorBase< R > & | v, |
| R | x ) |
Scaling.
Definition at line 1147 of file basevectors.h.
References DSVectorBase< R >::add(), SVectorBase< R >::index(), SVectorBase< R >::size(), and SVectorBase< R >::value().
| DSVectorBase< R > operator* | ( | R | x, |
| const SVectorBase< R > & | v ) |
Scaling.
Definition at line 1162 of file basevectors.h.
| VectorBase< R > operator- | ( | const SVectorBase< R > & | v, |
| const VectorBase< R > & | w ) |
Definition at line 292 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 340 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 322 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 328 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 310 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 334 of file spxout.h.
References SPxOut::getCurrentStream().
Passes instances of type Type to the current stream.
Definition at line 280 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 298 of file spxout.h.
References SPxOut::getCurrentStream().
Passes standard manipulators without arguments, like std::endl or std::ios::right to the current stream.
Definition at line 348 of file spxout.h.
References SPxOut::getCurrentStream().
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 361 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 316 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 286 of file spxout.h.
References SPxOut::getCurrentStream().
Definition at line 304 of file spxout.h.
References SPxOut::getCurrentStream().
| SPxOut & operator<< | ( | SPxOut & | stream, |
| const SPxOut::struct_Verbosity & | verbosity ) |
output operator with verbosity level struct
Definition at line 260 of file spxout.h.
References SPxOut::setVerbosity(), and SPxOut::struct_Verbosity::v_.
| std::ostream & operator<< | ( | std::ostream & | os, |
| const SPxId & | id ) |
| std::ostream & operator<< | ( | std::ostream & | os, |
| const SVectorBase< R > & | v ) |
Output operator.
Definition at line 1223 of file basevectors.h.
References SVectorBase< R >::index(), SVectorBase< R >::size(), and SVectorBase< R >::value().
| std::ostream & operator<< | ( | std::ostream & | os, |
| const SVSetBase< R > & | s ) |
| std::ostream & operator<< | ( | std::ostream & | os, |
| const typename SPxBasisBase< R >::SPxStatus & | status ) |
Pretty-printing of basis status.
| std::ostream & operator<< | ( | std::ostream & | os, |
| const typename SPxSimplifier< R >::Result & | status ) |
Pretty-printing of simplifier status.
| std::ostream & operator<< | ( | std::ostream & | os, |
| const typename SPxSolverBase< R >::Representation & | status ) |
Pretty-printing of representation.
| std::ostream & operator<< | ( | std::ostream & | os, |
| const typename SPxSolverBase< R >::Status & | status ) |
Pretty-printing of solver status.
| std::ostream & operator<< | ( | std::ostream & | os, |
| const typename SPxSolverBase< R >::Type & | status ) |
Pretty-printing of algorithm.
| std::ostream & operator<< | ( | std::ostream & | os, |
| const typename SPxSolverBase< R >::VarStatus & | status ) |
Pretty-printing of variable status.
| std::ostream & operator<< | ( | std::ostream & | s, |
| const NameSet & | nset ) |
Definition at line 259 of file nameset.cpp.
References DataKey::idx, DataKey::info, NameSet::key(), and NameSet::num().
| std::ostream & operator<< | ( | std::ostream & | s, |
| const StableSum< T > & | sum ) |
Output operator.
Definition at line 116 of file stablesum.h.
| std::ostream & operator<< | ( | std::ostream & | s, |
| const VectorBase< R > & | vec ) |
| SPxDefaultRT & operator= | ( | const SPxDefaultRT & | rhs | ) |
assignment operator
Definition at line 68 of file spxdefaultrt.h.
References SPxRatioTester< R >::operator=(), and SPxDefaultRT().
Referenced by VectorBase< R >::assign(), and VectorBase< R >::operator=().
| std::istream & operator>> | ( | std::istream & | s, |
| VectorBase< R > & | vec ) |
Definition at line 1171 of file basevectors.h.
References VectorBase< R >::dim(), and VectorBase< R >::reDim().
|
static |
change all blanks inside a field to PATCH_CHAR.
Definition at line 53 of file mpsinput.cpp.
References BLANK, and PATCH_CHAR.
Referenced by MPSInput::readLine().
| bool reconstructSol | ( | SolRational & | solution | ) |
reconstruct a rational solution
| bool reconstructVector | ( | VectorRational & | input, |
| const Rational & | denomBoundSquared, | ||
| const DIdxSet * | indexSet = nullptr ) |
reconstruct a rational vector
|
virtual |
|
virtual |
| int sizeInBase | ( | const Rational | R, |
| const int | base ) |
Size in specified base (bit size for base 2).
Definition at line 1009 of file rational.h.
References denominator(), numerator(), and SPX_MSG_ERROR.
Referenced by dlcmSizeRational(), dmaxSizeRational(), and totalSizeRational().
| void spx_alloc | ( | T & | p, |
| size_t | n = 1 ) |
Allocate memory.
| p | some pointer |
| n | the number of elements p will point to. |
| SPxMemoryException | if memory could not be allocated. |
Definition at line 58 of file spxalloc.h.
Referenced by DSVectorBase< Real >::allocMem(), ClassArray< Nonzero< R > >::ClassArray(), ClassArray< Nonzero< R > >::ClassArray(), ClassSet< T >::ClassSet(), ClassSet< T >::ClassSet(), SPxMainSM< R >::AggregationPS::clone(), SPxMainSM< R >::DoubletonEquationPS::clone(), SPxMainSM< R >::DuplicateColsPS::clone(), SPxMainSM< R >::DuplicateRowsPS::clone(), SPxMainSM< R >::FixBoundsPS::clone(), SPxMainSM< R >::FreeColSingletonPS::clone(), SPxMainSM< R >::FreeZeroObjVariablePS::clone(), SPxMainSM< R >::MultiAggregationPS::clone(), SPxMainSM< R >::TightenBoundsPS::clone(), SPxMainSM< R >::ZeroObjColSingletonPS::clone(), TimerFactory::createTimer(), DataArray< T >::DataArray(), DataArray< T >::DataArray(), DataSet< DATA >::DataSet(), DataSet< DATA >::DataSet(), DIdxSet::DIdxSet(), DIdxSet::DIdxSet(), DIdxSet::DIdxSet(), IdxSet::IdxSet(), NameSet::memPack(), NameSet::NameSet(), IdxSet::operator=(), ClassArray< Nonzero< R > >::reMax(), ClassSet< T >::reMax(), DataArray< T >::reMax(), runSoPlex(), DSVectorBase< Real >::setMax(), SLUFactorRational::SLUFactorRational(), SPxOut::SPxOut(), SPxOut::SPxOut(), SSVectorBase< Real >::SSVectorBase(), SSVectorBase< Real >::SSVectorBase(), SSVectorBase< Real >::SSVectorBase(), and SSVectorBase< Real >::SSVectorBase().
| void spx_free | ( | T & | p | ) |
Release memory.
Definition at line 118 of file spxalloc.h.
Referenced by ClassSet< T >::ClassSet(), ClassSet< T >::ClassSet(), IsList< T >::clear(), DataSet< DATA >::DataSet(), DataSet< DATA >::DataSet(), NameSet::memPack(), IdxSet::operator=(), ClassArray< Nonzero< R > >::reMax(), ClassSet< T >::reMax(), DataArray< T >::reMax(), runSoPlex(), DSVectorBase< Real >::setMax(), TimerFactory::switchTimer(), ClassArray< Nonzero< R > >::~ClassArray(), ClassSet< T >::~ClassSet(), DataArray< T >::~DataArray(), DataSet< DATA >::~DataSet(), DIdxSet::~DIdxSet(), DSVectorBase< Real >::~DSVectorBase(), IdxSet::~IdxSet(), NameSet::~NameSet(), SPxOut::~SPxOut(), SPxSimplifier< R >::~SPxSimplifier(), SSVectorBase< Real >::~SSVectorBase(), and SoPlexBase< R >::Statistics::~Statistics().
| void spx_realloc | ( | T & | p, |
| size_t | n ) |
Change amount of allocated memory.
| p | some pointer |
| n | the number of elements p should point to. |
| SPxMemoryException | if memory could not be allocated. |
Definition at line 89 of file spxalloc.h.
Referenced by NameSet::memRemax(), ClassSet< T >::reMax(), DataArray< T >::reMax(), DataSet< DATA >::reMax(), DIdxSet::setMax(), DSVectorBase< Real >::setMax(), and SSVectorBase< Real >::setMax().
| R spxAbs | ( | R | a | ) |
Definition at line 409 of file spxdefines.h.
Referenced by SSVectorBase< Real >::isConsistent(), SPxBoundFlippingRT< R >::isSmaller(), maxAbs(), SSVectorBase< Real >::maxAbs(), SVectorBase< Real >::maxAbs(), VectorBase< Real >::maxAbs(), SVectorBase< Real >::minAbs(), VectorBase< Real >::minAbs(), StableSum< double >::operator double(), SSVectorBase< Real >::operator=(), SSVectorBase< Real >::operator=(), and SSVectorBase< Real >::setValue().
returns |a|
Definition at line 436 of file spxdefines.h.
| SPxDefaultRT | ( | ) |
default constructor
Definition at line 60 of file spxdefaultrt.h.
Referenced by clone(), operator=(), and SPxDefaultRT().
| SPxDefaultRT | ( | const SPxDefaultRT & | old | ) |
Definition at line 424 of file spxdefines.h.
| void 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
t1 is to appear before t2,t1 and t2 can appear in any order, ort1 is to appear after t2. Definition at line 82 of file sorter.h.
References SOPLEX_SHELLSORTMAX, SPxQuicksort(), and SPxShellsort().
Referenced by SPxQuicksort(), and SPxQuicksortPart().
| 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.
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
t1 is to appear before t2,t1 and t2 can appear in any order, ort1 is to appear after t2.| keys | array of elements to be sorted between index start and end |
| compare | comparator |
| start | index of first element in range to be sorted |
| end | index of last element in range to be sorted, plus 1 |
| size | guaranteed number of sorted elements |
| start2 | auxiliary start index of sub range used for recursive call |
| end2 | auxiliary end index of sub range used for recursive call |
| type | type of sorting, to be more flexable on degenerated cases |
Definition at line 246 of file sorter.h.
References SPxQuicksort(), and SPxQuicksortPart().
Referenced by SPxQuicksortPart().
| void 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 39 of file sorter.h.
Referenced by SPxQuicksort().
| int spxSnprintf | ( | char * | t, |
| size_t | len, | ||
| const char * | s, | ||
| ... ) |
safe version of snprintf
| t | target string |
| len | length of the string to copy |
| s | source string |
| ... | further parameters |
Definition at line 463 of file spxdefines.h.
References SPX_MSG_ERROR.
Referenced by NameSet::add(), NameSet::memPack(), runSoPlex(), MPSInput::setObjName(), and MPSInput::setProbName().
returns square root
Definition at line 442 of file spxdefines.h.
Referenced by SSVectorBase< Real >::length(), and VectorBase< Real >::length().
| int totalSizeRational | ( | const Rational * | vector, |
| const int | length, | ||
| const int | base ) |
Total size of rational vector.
Definition at line 1045 of file rational.h.
References sizeInBase().
Referenced by SolBase< Real >::totalSizeDual(), and SolBase< Real >::totalSizePrimal().
| SPxOut::struct_Verbosity verb | ( | const SPxOut::Verbosity & | v | ) |
manipulator to be used in an output statement
Definition at line 252 of file spxout.h.
References SPxOut::struct_Verbosity::v_.
|
virtual |
destructor
Definition at line 78 of file spxdefaultrt.h.
| SOPLEX_THREADLOCAL const Real infinity = SOPLEX_DEFAULT_INFINITY |
Definition at line 41 of file spxdefines.cpp.
Referenced by SPxLPBase< Real >::changeLhs(), SPxLPBase< Real >::changeLower(), SPxLPBase< Real >::changeRhs(), SPxLPBase< Real >::changeUpper(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCol(), SPxLPBase< Real >::doAddCols(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRow(), SPxLPBase< Real >::doAddRows(), SPxMainSM< R >::FixBoundsPS::FixBoundsPS(), LPColBase< Real >::LPColBase(), LPRowBase< Real >::LPRowBase(), LPRowBase< Real >::LPRowBase(), SVectorBase< Real >::minAbs(), SPxLPBase< Real >::printProblemStatistics(), SPxSolverBase< Real >::setTerminationTime(), SPxSolverBase< Real >::setTerminationValue(), LPRowBase< Real >::setType(), LPRowSetBase< Real >::setType(), SPxMainSM< R >::SPxMainSM(), test_rational(), test_real(), LPRowBase< Real >::type(), LPRowSetBase< Real >::type(), LPRowBase< Real >::value(), and LPRowSetBase< Real >::value().