Jump to content

GNU Linear Programming Kit

From Wikipedia, the free encyclopedia
(Redirected from MathProg)
GNU Linear Programming Kit
Original author(s)Andrew O. Makhorin
Developer(s)GNU Project
Stable release
5.0[1] Edit this on Wikidata / 16 December 2020; 3 years ago (16 December 2020)
Repository
Written inC
Operating systemCross-platform
Available inEnglish
LicenseGPLv3
Websitewww.gnu.org/software/glpk/

The GNU Linear Programming Kit (GLPK) is a software package intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library. The package is part of the GNU Project and is released under the GNU General Public License.

GLPK uses the revised simplex method and the primal-dual interior point method for non-integer problems and the branch-and-bound algorithm together with Gomory's mixed integer cuts for (mixed) integer problems.

History

[edit]

GLPK was developed by Andrew O. Makhorin (Андрей Олегович Махорин) of the Moscow Aviation Institute. The first public release was in October 2000.

  • Version 1.1.1 contained a library for a revised primal and dual simplex algorithm.
  • Version 2.0 introduced an implementation of the primal-dual interior point method.
  • Version 2.2 added branch and bound solving of mixed integer problems.
  • Version 2.4 added a first implementation of the GLPK/L modeling language.
  • Version 4.0 replaced GLPK/L by the GNU MathProg modeling language, which is a subset of the AMPL modeling language.

Interfaces and wrappers

[edit]

Since version 4.0, GLPK problems can be modeled using GNU MathProg (GMPL), a subset of the AMPL modeling language used only by GLPK. However, GLPK is most commonly called from other programming languages. Wrappers exist for:

Further reading

[edit]
  • Eiji Oki (2012). Linear Programming and Algorithms for Communication Networks: A Practical Guide to Network Design, Control, and Management. CRC Press. ISBN 978-1-4665-5264-7. The book uses GLPK exclusively and contains numerous examples.

References

[edit]
  1. ^ Andrew Makhorin (16 December 2020). "glpk 5.0 release information". Retrieved 16 December 2020.
  2. ^ GLPK.jl, JuMP-dev, 2023-01-16, retrieved 2023-02-04
  3. ^ jump-dev/JuMP.jl, JuMP-dev, 2023-02-04, retrieved 2023-02-04
  4. ^ "GLPK for Java – About".
[edit]