Scippy

SoPlex

Sequential object-oriented simPlex

spxsolver.h File Reference

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  SPxSolverBase< R >
 Sequential object-oriented SimPlex. More...
 

Namespaces

namespace  soplex
 Everything should be within this namespace.
 

Macros

#define SOPLEX_HYPERPRICINGTHRESHOLD   5000
 
#define SOPLEX_HYPERPRICINGSIZE   100
 
#define SOPLEX_SPARSITYFACTOR   0.6
 
#define SOPLEX_DENSEROUNDS   5
 
#define SOPLEX_SPARSITY_TRADEOFF   0.8
 
#define SOPLEX_MAXNCLCKSKIPS   32
 
#define SOPLEX_SAFETYFACTOR   1e-2
 
#define SOPLEX_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...
 

Detailed Description

main LP solver class

Definition in file spxsolver.h.

Macro Definition Documentation

◆ SOPLEX_DENSEROUNDS

#define SOPLEX_DENSEROUNDS   5

number of refactorizations until sparsity is tested again

Definition at line 52 of file spxsolver.h.

◆ SOPLEX_HYPERPRICINGSIZE

#define SOPLEX_HYPERPRICINGSIZE   100

size of initial candidate list for hyper pricing

Definition at line 50 of file spxsolver.h.

◆ SOPLEX_HYPERPRICINGTHRESHOLD

#define SOPLEX_HYPERPRICINGTHRESHOLD   5000

do (auto) hyper pricing only if problem size (cols+rows) is larger than SOPLEX_HYPERPRICINGTHRESHOLD

Definition at line 49 of file spxsolver.h.

◆ SOPLEX_MAXNCLCKSKIPS

#define SOPLEX_MAXNCLCKSKIPS   32

maximum number of clock skips (iterations without time measuring)

Definition at line 56 of file spxsolver.h.

◆ SOPLEX_NINITCALLS

#define SOPLEX_NINITCALLS   200

the number of clock updates in isTimelimitReached() before clock skipping starts

Definition at line 58 of file spxsolver.h.

◆ SOPLEX_SAFETYFACTOR

#define SOPLEX_SAFETYFACTOR   1e-2

the probability to skip the clock when the time limit has been reached

Definition at line 57 of file spxsolver.h.

◆ SOPLEX_SPARSITY_TRADEOFF

#define SOPLEX_SPARSITY_TRADEOFF   0.8

threshold to decide whether Ids or coIds are preferred to enter the basis; coIds are more likely to enter if SOPLEX_SPARSITY_TRADEOFF is close to 0

Definition at line 55 of file spxsolver.h.

◆ SOPLEX_SPARSITYFACTOR

#define SOPLEX_SPARSITYFACTOR   0.6

percentage of infeasibilities that is considered sparse

Definition at line 51 of file spxsolver.h.