Sequential object-oriented simPlex


What is SoPlex?

SoPlex is an optimization package for solving linear programming problems (LPs) that can be used standalone via a command line interface and as a callable library. Its main features are:

  • an advanced implementation of the primal and dual revised simplex algorithm,
  • an object-oriented software design written in C++,
  • presolving, scaling, exploitation of sparsity, hot-starting from any regular basis,
  • column- and row-oriented form of the simplex algorithm,
  • a compile-time option to use 80bit extended ("quad") precision for numerically difficult LPs, and
  • special support for the exact solution of LPs over the rational numbers.

SoPlex has been used in numerous research and industry projects and is the standard LP solver linked to the constraint integer programming solver SCIP.

Download, License, and Installation

SoPlex can be downloaded in source code and as precompiled binaries from the SoPlex web page. It is also distributed as part of the SCIP Optimization Suite.

SoPlex is distributed under the terms of the Apache 2.0 See the SoPlex web page or contact us for more information.

For help with the installation please consult the INSTALL file.

Getting started

A tutorial article for getting started with the SCIP Optimization Suite, which includes SoPlex, is available as ZIB-Report 12-27.


The initial implementation of SoPlex has been developed by Roland Wunderling as part of his Ph.D. thesis "Paralleler und Objektorientierter Simplex-Algorithmus" from 1996. Since then many developers have maintained and improved the underlying algorithms. See the SoPlex web page for a comprehensive list of all contributors.