forks/remi/rpms/soplex
[SoPlex](https://soplex.zib.de/) is an optimization package for solving
[linear programming](https://en.wikipedia.org/wiki/Linear_programming)
problems (LPs) based on an advanced implementation of the primal and dual
revised [simplex algorithm](https://en.wikipedia.org/wiki/Simplex_algorithm).
It provides special support for the exact solution of LPs with rational input
data. It can be used as a standalone solver reading MPS or LP format files
via a command line interface as well as embedded into other programs via a C++
class library. The main features of SoPlex are:
- presolving, scaling, exploitation of sparsity, hot-starting from any regular
basis,
- column- and row-oriented form of the simplex algorithm,
- an object-oriented software design written in C++,
- a compile-time option to use 80bit extended ("quad") precision for
numerically difficult LPs,
- an LP iterative refinement procedure to compute high-precision solution, and
- routines for an exact rational
[LU factorization](https://en.wikipedia.org/wiki/LU_decomposition) and
continued fraction approximations in order to compute exact solutions.
SoPlex has been used in numerous research and industry projects and is
the standard LP solver linked to the mixed-integer nonlinear programming
and constraint integer programming solver [SCIP](https://scipopt.org/).