Sequential object-oriented simPlex


SoPlex is an optimization package for solving linear programming problems (LPs) based on an advanced implementation of the primal and dual revised 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 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. SoPlex is free for academic research and available in source code. It can be licensed for commercial use.


05/Feb/2018 Version 3.1.1 released. CHANGELOG
21/Dec/2017 Version 3.1.0 released. Release Notes
01/Sep/2017 Version 3.0.1 released. Release Notes
09/Mar/2017 Version 3.0.0 released. Release Notes
29/Feb/2016 Version 2.2.1 released. Release Notes
01/Jul/2015 Version 2.2.0 released. Release Notes
23/Mar/2015 Binaries for Windows available for download.
18/Dec/2014 Version 2.0.1 released. Release Notes
07/Mar/2014 Binaries for Linux and Windows available for download.
27/Feb/2014 Version 2.0.0 released. Release Notes

older news...

25/Feb/2014 Website relaunched.
16/Oct/2013 Version 1.7.2 released. Release Notes
04/Jan/2013 Version 1.7.1 released. Release Notes
31/Jul/2012 Version 1.7.0 released. Release Notes
28/Oct/2011 Version 1.6.0 released. Release Notes
30/Sep/2010 Version 1.5.0 released. Release Notes
06/Aug/2010 Patch 1.4.2c available for download providing an additional interface method to set a starting basis in the SoPlex class.
19/Jan/2010 Patch 1.4.2b available for download. Please update if you encounter problems in combination with older compiler versions.
12/Jun/2009 Patch 1.4.2a available for download. Please update.
11/Sep/2009 Version 1.4.2 released. Release Notes
20/Feb/2009 Version 1.4.1 released. Release Notes
30/Sep/2008 Version 1.4.0 released. Release Notes
27/Aug/2007 Version 1.3.2 released. Release Notes
21/Aug/2007 Website relaunched.
17/Nov/2006 Version 1.3.1 released. Release Notes
03/Feb/2006 Version 1.3.0 released. Release Notes
10/Apr/2002 Version 1.2.1 released. Release Notes
14/Jan/2002 Version 1.2.0 released. Release Notes


SoPlex is distributed under the ZIB Academic License. You are allowed to retrieve SoPlex for research purposes as a member of a non-commercial and academic institution.
If you want to use SoPlex commercially or if you are interested in maintenance and support, please contact us by sending an email to Thorsten Koch.

Any publication for which SoPlex is used must include an acknowledgement and a reference to one of the following articles, depending on the version used:

The SCIP Optimization Suite 5.0
Ambros Gleixner, Leon Eifler, Tristan Gally, Gerald Gamrath, Patrick Gemander, Robert Lion Gottwald, Gregor Hendel, Christopher Hojny, Thorsten Koch, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Franziska Schlösser, Felipe Serrano, Yuji Shinano, Jan Merlin Viernickel, Stefan Vigerske, Dieter Weninger, Jonas T. Witt, Jakob Witzig
ZIB-Report 17-61, Zuse Institute Berlin, December 2017

The SCIP Optimization Suite 4.0
Stephen J. Maher, Tobias Fischer, Tristan Gally, Gerald Gamrath, Ambros Gleixner, Robert Lion Gottwald, Gregor Hendel, Thorsten Koch, Marco E. Lübbecke, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Sebastian Schenker, Robert Schwarz, Felipe Serrano, Yuji Shinano, Dieter Weninger, Jonas T. Witt, Jakob Witzig
ZIB-Report 17-12, Zuse Institute Berlin, March 2017

The SCIP Optimization Suite 3.2
Gerald Gamrath, Tobias Fischer, Tristan Gally, Ambros M. Gleixner, Gregor Hendel, Thorsten Koch, Stephen J. Maher, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Sebastian Schenker, Robert Schwarz, Felipe Serrano, Yuji Shinano, Stefan Vigerske, Dieter Weninger, Michael Winkler, Jonas T. Witt, Jakob Witzig
ZIB-Report 15-60, Zuse Institute Berlin, February 2016

If you use SoPlex as an exact rational LP solver, please cite the references

Improving the Accuracy of Linear Programming Solvers with Iterative Refinement
Ambros M. Gleixner, Daniel E. Steffy, Kati Wolter
Proc. of ISSAC '12, pages 187--194, 2012, available as ZIB-Report 12-19

Iterative Refinement for Linear Programming
Ambros M. Gleixner, Daniel E. Steffy, Kati Wolter
ZIB-Report 15-15, Zuse Institute Berlin, 2015


The files you can download here come without warranty. Use at your own risk!

older versions...


SoPlex is implemented in C++. The code should be compliant with the current ANSI standard. With a modern C++ compiler you should be able to compile the code on any platform.

More details can be found in the Doxygen documentation.

SoPlex is also available on the NEOS Server, where you can post your model in LP or MPS format to solve it.


For questions about SoPlex or to report a bug, please write to


Main developers

Leon Eifler
Ambros Gleixner
Matthias Miltenberger
Daniel Rehfeldt

Further and former developers

Benjamin Hiller
Thorsten Koch
Sebastian Orlowski now at atesio
Roland Wunderling former main developer - now at IBM


Tobias Achterberg now at Gurobi
Timo Berthold
Andreas Bley now at University Kassel
Dennis Elbrächter
Wei Huang now at Siemens AG, Corporate Technology
Eva Ramlow
Dan Steffy
Marc Pfetsch now at TU Darmstadt
Andreas Tuchscherer


SoPlex is developed in cooperation with