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.

    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#

$ apk add glpk-dev
$ sudo pacman -S glpk
$ conda install glpk
$ apt-cyg install glpk libglpk-devel
$ sudo apt-get install glpk-utils libglpk-dev
$ sudo yum install glpk glpk-devel glpk-utils
$ sudo pkg install math/glpk
$ sudo emerge sci-mathematics/glpk
$ brew install glpk
$ sudo port install glpk
$ nix-env --install glpk
$ sudo zypper install glpk glpk-devel
$ sudo xbps-install glpk-devel

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

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