GLPK/Introduction

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Welcome to the GNU Linear Programming Kit Wikibook!

About this Wikibook[edit | edit source]

This Wikibook covers the mainline GLPK project and a number of separate initiatives. It is designed to complement rather than duplicate the official GLPK documentation.

The GLPK project[edit | edit source]

The core GNU Linear Programming Kit (GLPK) project comprises:

The GLPK project itself is hosted at www.gnu.org/software/glpk.

The GLPK wikipedia entry can be found at en.wikipedia.org/wiki/GLPK.

The GLPK project maintains two mailing lists: help-glpk@gnu.org and bug-glpk@gnu.org. To subscribe to either of these lists, visit lists.gnu.org/mailman/listinfo/help-glpk or lists.gnu.org/mailman/listinfo/bug-glpk respectively. These lists are solely for traffic concerning the mainline GLPK project — matters relating to third-party initiatives should be directed to those initiatives.

The official GLPK documentation can be found in the doc subdirectory after unpacking the latest GLPK tarfile. To obtain this tarfile, find a suitable GNU FTP mirror, open the glpk directory, and download the latest glpk-0.00.tar.gz entry. Alternatively, follow these step-by-step instructions.

In the first instance, GLPK is distributed as source code with the expectation that users will build their own binaries (libraries and executables) — to suit their individual constellation of operating system, processor architecture, and C compiler and their choice of GLPK configuration options. Some users prefer to download pre-compiled files instead — particularly users running Windows systems or common Linux distros — such binaries are often available from the wider GLPK community or from Linux software repositories, respectively.

Andrew Makhorin, Moscow Aviation Institute, is the lead developer and maintainer of GLPK. The first public release was October 2000.

Parallel initiatives[edit | edit source]

The GLPK project has spawned a number of parallel initiatives, some of which may migrate back into the main codebase and some of which will remain distinct and different.

Solver and language development[edit | edit source]

In terms of solver and language development, initiatives include:

  • the provision of specialist reporting
  • support for new problem formats and similar solver-wide features
  • refinements to the GLPK branch-and-bound solution process for particular applications
  • extensions to the MathProg language.

Source code contributions are normally provided as patches to the maintainer. There is no web-based code hosting for GLPK at present.

Deployment and usability[edit | edit source]

In terms of deployment and usability, initiatives include:

A key reason for this Wikibook is to provide a location in which to collect and compare these often diverse initiatives.

Closure[edit | edit source]

Remember to consult the official GLPK documentation, in the first instance, for issues that relate directly to GLPK. The author of GLPK, Andrew Makhorin, works hard to keep the official documentation current and comprehensive.

Try to run the latest version of GLPK. The codebase is under continual improvement and you do yourself a disservice by running stale code. You will also receive more interest on the Help-glpk mailing list if you raise an issue that relates to the latest release.