glpk: GNU Linear Programming Kit#
Description#
The GLPK (GNU Linear Programming Kit) package is 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.
GLPK supports the GNU MathProg modelling language, which is a subset of the AMPL language.
The GLPK package includes the following main components:
primal and dual simplex methods
primal-dual interior-point method
branch-and-cut method
translator for GNU MathProg
application program interface (API)
stand-alone LP/MIP solver
License#
The GLPK package is GPL version 3.
Upstream Contact#
GLPK is currently being maintained by:
Andrew Makhorin (mao@gnu.org, mao@mai2.rcnet.ru)
Special Update/Build Instructions#
configure
doesn’t support specifying the location of the GMP library to use; only--with-gmp[=yes]
or--with-gmp=no
are valid options. (So we *have to* add Sage’s include and library directories toCPPFLAGS
andLDFLAGS
, respectively.)Do we need the
--disable-static
? The stand-alone solver presumably runs faster when built with a static library; also other (stand-alone) programs using it would. (Instead, we should perhaps use--enable-static --enable-shared
to go safe.)
Patches#
All patches below are currently used by spkg-src
src/01-zlib.patch: don’t build the included zlib library.
src/02-cygwin_sharedlib.patch: Let a shared library be built on Cygwin by passing the -no-undefined flag to libtool.
The numbering reflect the order in which they have been created from glpk pristine’s sources
Type#
standard
Dependencies#
$(MP_LIBRARY)
Version Information#
package-version.txt:
5.0.p0
Equivalent System Packages#
arch:
$ sudo pacman -S glpk
conda:
$ conda install glpk
cygwin:
$ apt-cyg install glpk libglpk-devel
Debian/Ubuntu:
$ sudo apt-get install glpk-utils libglpk-dev
Fedora/Redhat/CentOS:
$ sudo yum install glpk glpk-devel glpk-utils
freebsd:
$ sudo pkg install math/glpk
gentoo:
$ sudo emerge sci-mathematics/glpk
homebrew:
$ brew install glpk
macports: install the following packages: glpk
nix:
$ nix-env --install glpk
opensuse:
$ sudo zypper install glpk glpk-devel
void:
$ sudo xbps-install glpk-devel
See https://repology.org/project/glpk/versions
If the system package is installed, ./configure will check whether it can be used.