main LP solver class More...
#include <assert.h>
#include <iostream>
#include <iomanip>
#include <sstream>
#include "soplex/spxdefines.h"
#include "soplex/timer.h"
#include "soplex/timerfactory.h"
#include "soplex/spxlp.h"
#include "soplex/spxbasis.h"
#include "soplex/array.h"
#include "soplex/random.h"
#include "soplex/unitvector.h"
#include "soplex/updatevector.h"
#include "soplex/stablesum.h"
#include "soplex/spxlpbase.h"
#include "spxsolver.hpp"
#include "spxsolve.hpp"
#include "changesoplex.hpp"
#include "leave.hpp"
#include "enter.hpp"
#include "spxshift.hpp"
#include "spxbounds.hpp"
#include "spxchangebasis.hpp"
#include "spxvecs.hpp"
#include "spxwritestate.hpp"
#include "spxfileio.hpp"
#include "spxquality.hpp"
Go to the source code of this file.
Classes | |
class | SPxPricer< R > |
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< R > |
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 | SPxStarter< R > |
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 | SPxFastRT< R > |
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 | SPxBoundFlippingRT< R > |
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 | SPxSolverBase< R > |
Sequential object-oriented SimPlex.SPxSolverBase 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... | |
Namespaces | |
soplex | |
Everything should be within this namespace. | |
Macros | |
#define | HYPERPRICINGTHRESHOLD 5000 |
#define | HYPERPRICINGSIZE 100 |
#define | SPARSITYFACTOR 0.6 |
#define | DENSEROUNDS 5 |
#define | SPARSITY_TRADEOFF 0.8 |
#define | MAXNCLCKSKIPS 32 |
#define | SAFETYFACTOR 1e-2 |
#define | NINITCALLS 200 |
Typedefs | |
typedef SPxSolverBase< Real > | SPxSolver |
Functions | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::VarStatus &status) |
Pretty-printing of variable status. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Status &status) |
Pretty-printing of solver status. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Type &status) |
Pretty-printing of algorithm. More... | |
template<class R > | |
std::ostream & | operator<< (std::ostream &os, const typename SPxSolverBase< R >::Representation &status) |
Pretty-printing of representation. More... | |
main LP solver class
Definition in file spxsolver.h.
#define DENSEROUNDS 5 |
number of refactorizations until sparsity is tested again
Definition at line 43 of file spxsolver.h.
#define HYPERPRICINGSIZE 100 |
size of initial candidate list for hyper pricing
Definition at line 41 of file spxsolver.h.
#define HYPERPRICINGTHRESHOLD 5000 |
do (auto) hyper pricing only if problem size (cols+rows) is larger than HYPERPRICINGTHRESHOLD
Definition at line 40 of file spxsolver.h.
#define MAXNCLCKSKIPS 32 |
maximum number of clock skips (iterations without time measuring)
Definition at line 49 of file spxsolver.h.
#define NINITCALLS 200 |
the number of clock updates in isTimelimitReached() before clock skipping starts
Definition at line 51 of file spxsolver.h.
#define SAFETYFACTOR 1e-2 |
the probability to skip the clock when the time limit has been reached
Definition at line 50 of file spxsolver.h.
#define SPARSITY_TRADEOFF 0.8 |
threshold to decide whether Ids or coIds are preferred to enter the basis; coIds are more likely to enter if SPARSITY_TRADEOFF is close to 0
Definition at line 44 of file spxsolver.h.
#define SPARSITYFACTOR 0.6 |
percentage of infeasibilities that is considered sparse
Definition at line 42 of file spxsolver.h.