LLMpediaThe first transparent, open encyclopedia generated by LLMs

GLPK

Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: IBM ILOG Hop 5 terminal

This article was accepted into the corpus but its outbound wikilinks were never NER-processed — typical at the deepest BFS hop or when the run's entity cap was reached. No expansion funnel to show.

GLPK
NameGLPK
TitleGNU Linear Programming Kit
DeveloperFree Software Foundation
Released2000
Latest release4.65
Operating systemUnix-like; Microsoft Windows
GenreMathematical optimization; Linear programming
LicenseGNU General Public License

GLPK

GNU Linear Programming Kit is a software package for solving large-scale linear programming (LP), mixed integer programming (MIP), and related combinatorial optimization problems. Designed as a free and portable toolkit, it provides a solver engine, modeling language, and multiple interfaces intended for researchers, practitioners, and educators associated with Stanford University, Massachusetts Institute of Technology, and other academic institutions where linear programming methods have historical roots. GLPK emphasizes standards compliance, interoperability with environments like GNU Emacs and R, and deployment on Linux, Microsoft Windows, and macOS systems.

Overview

GLPK implements algorithms for solving LP and MIP instances typical in studies linked to John von Neumann's work on linear programming, George Dantzig's simplex method, and later developments such as interior-point methods associated with Karmarkar. It originated to offer an open alternative to proprietary optimizers like those from IBM and Gurobi while aligning with GNU Project philosophies promoted by the Free Software Foundation. The toolkit includes a modeling language influenced by algebraic modeling systems from AMPL and GAMS, and supports file formats compatible with standards used by researchers at institutions such as Bell Labs and AT&T.

Features and Capabilities

GLPK provides a full-featured simplex solver implementing primal and dual techniques derived from Dantzig-era theory; it also supplies a revised primal-dual interior-point method inspired by work at Princeton University and Bell Labs. For integer programming, GLPK offers a branch-and-bound/branch-and-cut framework utilizing cutting plane strategies akin to approaches studied at IBM Research and INRIA. The package supports sparse matrix representations comparable to structures used in libraries from Netlib and enables presolve and heuristic modules patterned after developments at University of California, Berkeley and ETH Zurich. GLPK reads and writes model files in its own modeling language as well as the MathProg subset of formats promoted by communities around AMPL and COIN-OR.

Architecture and Implementation

The core is implemented in C with data structures optimizing memory usage for sparse linear systems, paralleling techniques from Numerical Recipes and ATLAS. The solver architecture separates the model parser, presolve routines, basis management, and simplex/integer engines into modular components similar to designs from GNUstep and Apache Software Foundation projects. Numerical stability and basis factorization use algorithms comparable to those developed at Lawrence Berkeley National Laboratory and leverage pivoting strategies with ancestry traceable to Dantzig's formulations. GLPK's internal matrix storage and solver callbacks facilitate linking with third-party libraries originating from Netlib and GNU Scientific Library.

Interfaces and Language Bindings

GLPK exposes a C API and command-line utilities, and offers bindings for high-level environments including Python, Julia, GNU Octave, and R, reflecting interoperability goals similar to projects at NumFOCUS and SciPy. The MathProg modeling language provides a domain-specific interface reminiscent of AMPL's syntax and is commonly used in academic coursework at institutions like MIT and Stanford University. Community-maintained wrappers enable integration with modeling frameworks from PuLP and interfaces used by researchers at Carnegie Mellon University and University of Oxford.

Licensing and Distribution

Distributed under the GNU General Public License, GLPK aligns with licensing practices championed by the Free Software Foundation and the GNU Project. Its source code is available through mirrors and archives maintained by organizations such as GNU Savannah and package managers used in ecosystems operated by Debian and Red Hat. Binary distributions are commonly packaged for Debian, Ubuntu, and Fedora by maintainers following policies comparable to those at OpenBSD and FreeBSD ports collections.

Usage and Applications

GLPK is used in academic research and teaching in courses originating from MIT and Princeton University on optimization and operations research, and in applied projects at organizations like UNDP and World Bank where transparent licensing is important. Typical application domains include production planning problems historically studied at General Motors, network flow formulations analogous to work at AT&T, and scheduling instances similar to case studies from NASA. NGOs and startups adopt GLPK for transportation optimization, energy systems modeling in contexts related to International Energy Agency reports, and supply chain analysis akin to studies by McKinsey & Company.

Development and Community

Development has been driven by contributors within the Free Software Foundation ecosystem and volunteers from academia and industry, similar to collaborative models used by projects affiliated with Apache Software Foundation and NumFOCUS. Community support and discussion occur on mailing lists and forums resembling those hosted by Stack Overflow and GitHub-style platforms, and improvements often reference algorithmic research published in venues like SIAM Journal on Optimization and conferences organized by INFORMS. Contributions follow procedures inspired by governance models at Debian and Linux Kernel communities.

Category:Free software Category:Numerical software