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

Dependencies

  • GMP/MPIR

  • zlib

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

Version Information

package-version.txt:

5.0.p0

Equivalent System Packages

arch:

$ sudo pacman -S  glpk-devel

conda:

$ conda install glpk-devel

cygwin:

$ apt-cyg install glpk-devel

Debian/Ubuntu:

$ sudo apt-get install  glpk-devel

Fedora/Redhat/CentOS:

$ sudo yum install  glpk-devel

freebsd:

$ sudo pkg install glpk-devel

gentoo:

$ sudo emerge glpk-devel

homebrew:

$ brew install glpk-devel

nix:

$ nix-env --install glpk-devel

opensuse:

$ sudo zypper install glpk-devel

void:

$ sudo xbps-install  glpk-devel

See https://repology.org/project/glpk-devel/versions

If the system package is installed, ./configure will check whether it can be used.