Soplex

Jul 20, 2023

Optimization package for solving linear programming problems (LPs)

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
  • routines for an exact rational LU factorization and continued fraction approximations in order to compute exact solutions.


Checkout these related ports:
  • Zn_poly - C library for polynomial arithmetic
  • Zimpl - Language to translate the LP models into .lp or .mps
  • Zegrapher - Software for plotting mathematical objects
  • Zarray - Dynamically typed N-D expression system based on xtensor
  • Z3 - Z3 Theorem Prover
  • Yices - SMT solver
  • Yacas - Yet Another Computer Algebra System
  • Xtensor - Multi-dimensional arrays with broadcasting and lazy computing
  • Xtensor-python - Python bindings for xtensor
  • Xtensor-io - Xtensor plugin to read/write images, audio files, numpy npz and HDF5
  • Xtensor-blas - BLAS extension to xtensor
  • Xspread - Spreadsheet program for X and terminals
  • Xppaut - Graphical tool for solving differential equations, etc
  • Xplot - X11 plotting package
  • Xlife++ - XLiFE++ eXtended Library of Finite Elements in C++