411 REFERENCE · Wikibooks
GLPK/Application projects utilizing GLPK
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
A number of application programming projects rely on GLPK to solve their underlying optimization problems. A few projects are listed here. Some have been released, others represent work in progress. The programming
languages include C++ (native linking) and Java (with the appropriate language bindings).
As can be seen, the application domain is quite varied.
Designing and programming models which use the GLPK API is rather different from writing models in MathProg. If you are unsure about which approach to use, then almost certainly MathProg would be the better option.
• add your GLPK-based project to this page !!
Application projects
Clepsydra
Clepsydra
is a static
worst-case execution time
analyzer for the
Java Optimized Processor.
It uses GLPK's integer linear programming to find the
longest path through a program's control flow graph.
cspsol
cspsol
is a cutting stock problem solver which uses
GLPK. The
cutting stock problem
(CSP) attempts to find the best way of cutting a set of
large objects into smaller items. Such tasks are
common in manufacturing.
OSEMOSYS
OSEMOSYS
is a major open source energy modeling system,
based on partial (economic) equilibrium.
Howells M. Rogner H.H. Jalal I. Isshiki M. An open source energy planning approach : SOFT-MESSAGE http://www.iea.org/Textbase/work/2008/iew/Wednesday/Howells.pdf presentation 2008 June
The model draws inspiration from
MESSAGE
and the model "envelope" is written in Java.
The project has an associated
wiki.
Praat
Praat
is a computational phonetics project, based at
the
Institute of Phonetic Sciences,
University of Amsterdam. Praat is used to study human
speech analysis and synthesis. Praat uses GLPK to find
the minimal positive weights for problems involving
harmonic grammar.
Shogun
The shogun project provides
a toolbox with algorithms for machine learning. GLPK is
one of the solvers that can be used for multiple
kernel learning.
stan
The
stan
project is a java decision support application for the
urban planning domain. It is designed as a
desktop front-end to a mixed integer programming engine
and currently uses GLPK.
TEMOA
The
TEMOA Project
provides tools for energy model optimization and
analysis.
http://www.kth.se/polopoly_fs/1.61926!E1_DeCarolis.pdf The TEMOA project : tools for energy model optimization and analysis DeCarolis Joseph Hunter Kevin Sreepathi Sarat 21-23 June 2010 June 2010 International Energy Workshop 2010 Stockholm, Sweden
TEMOA uses
Pyomo
which, in turn, defaults to GLPK (however future
developments may require the use of nonlinear solvers).
The design of TEMOA is strongly influenced by the
well-documented
MARKAL/TIMES
model generators. The project has an associated
wiki.
xeona
xeona is a part-complete energy system
simulation project designed to support energy and
climate policy development. xeona uses GLPK to
solve a number of technical and microeconomic
subproblems within a system traversal process that also
tries to make best use of standing capacity and
intermittent resources. The application is written in
C++ and is strongly object-oriented. The GLPK solver
itself is encapsulated in a semi-intelligent wrapper
class named svif::SiGlpk which exposes a more
convenient call set than the one provided by GLPK
directly. xeona can also output table-based HTML
representations of each GLPK subproblem encountered
— a feature which has proved itself invaluable
when debugging. xeona is being developed by Robbie
Morrison. This codebase is due to be open-sourced at
the end of 2010. There is no associated website.
KuKu3
https://sourceforge.net/projects/kuku3/
KuKu3 uses glpk to solve various puzzles.
Version 3.2.1 provides:
Incorporates Sudoku into Internet Explorer or Firefox.
Solves Gattai5 (Samuri Sudoku) Puzzles. Additional puzzles can be obtained from (http://www.samurai-sudoku.com/)
Solves Hidato Puzzles. Additional puzzles can be obtained from http://www.smithsonianmag.com/games/hidato.html
Solves Numbrix Puzzles. Additional puzzles can be obtained from http://www.latimes.com/games/numbrix/
Source code for Gattai5 is available as Visual Studio solutions in the sources directory.
Source code for Hidato/Numbrix is available as a QT4 project in the sources directory
The binary distribution should be unzipped to C:\KuKu3. It requires dotNetFx40.
ieSudoku is started by dropping the file C:\KuKu3\iesudoku\iesudoku (XAML Browser Application) onto Internet Explorer or Firefox (Plugin required)
Version 3.3.0 adds support for Set Square, source available as a Visual Studio 10 project in the source directory.
Version 3.4.0 adds support for Futoshiki. Ada source available in the source directory requires gtkAda. Additional puzzles can be found at http://www.thepuzzleclub.com/futoshiki.php
References