Scippy

SoPlex

Sequential object-oriented simPlex

spxlpbase.h File Reference

Saving LPs in a form suitable for SoPlex. More...

#include <assert.h>
#include <iostream>
#include <iomanip>
#include <typeinfo>
#include "soplex/spxdefines.h"
#include "soplex/basevectors.h"
#include "soplex/dataarray.h"
#include "soplex/datakey.h"
#include "soplex/spxid.h"
#include "soplex/lprowbase.h"
#include "soplex/lpcolbase.h"
#include "soplex/lprowsetbase.h"
#include "soplex/lpcolsetbase.h"
#include "soplex/nameset.h"
#include "soplex/didxset.h"
#include "soplex/spxfileio.h"
#include "soplex/spxscaler.h"
#include "soplex/rational.h"
#include "spxlpbase_real.hpp"
#include "spxlpbase_rational.hpp"

Go to the source code of this file.

Classes

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...
 
class  SPxMainSM< R >
 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  SPxLPBase< R >
 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  SPxBasisBase< R >
 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  SPxEquiliSC< R >
 Equilibrium row/column scaling.This SPxScaler implementation performs equilibrium scaling of the LPs rows and columns. More...
 
class  SPxLeastSqSC< R >
 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  SPxGeometSC< R >
 Geometric mean row/column scaling.This SPxScaler implementation performs geometric mean scaling of the LPs rows and columns. More...
 
class  SPxMainSM< R >
 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  SPxLPBase< R >
 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...

 

Namespaces

 soplex
 Everything should be within this namespace.
 

Detailed Description

Saving LPs in a form suitable for SoPlex.

Definition in file spxlpbase.h.