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:

http://www.gnu.org/software/glpk/#maintainer

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 to CPPFLAGS and LDFLAGS, 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#

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.