GNU MathProg Language

Bevezetés

A GLPK (GNU Linear Programming Toolkit) egy open source lineáris programozási feladatokat megoldó toolkit. Eredetileg C-ben íródott, de mára a legtöbb népszerű nyelvre portolták (Java, C#, Python, stb.). A lineáris programozási feladatok (LP) során adott változóknak olyan nem-negatív értékeket keresünk, amellyekkel a célfüggvény értéke a megadott lineáris feltételek mellett optimális. Az integer programozás (IP) a LP azon esete, amikor minden változó egész értékű.

A GLPK saját modellező nyelve a GMPL (GNU MathProg Language), az AMPL matematikai modellező nyelv szintaxisára épül.

A GMPL modellek két fő részből állnak. A modell és az adatrészből. A modell részben adhatók meg, hogy milyen paraméterekkel, változókkal szeretnénk optimalizálni a célfüggvényt. Itt adhatók meg a feltételek is. Az adat részben a paramétereknek adunk értéket. A modell részben lehetőség van a kimenet formátumának megadására is, ezek a kiírató függvények azonban nem részei a matematikai modellnek.