GNU MathProg Language

Utasítások

Vezérlés

solve

A solve parancs a GMPL "nagy piros gombja". Nem kötelező meghívni, legkésőbb a modell végén automatikusan meghívásra kerül. A solve-nak semmilyen paramétere nincs.

check

A check paranccsal alapvető feltételek adhatók meg. Ha a check-nek megadott feltétel hamis lesz, a modell kiértékelése azonnal megáll. Érdemes vele előfeltételeket megadni, hogy a solver meg se próbáljon megoldást keresni, ha a megadott adatok a feladat szempontjából értelmetlenek. Ezen kívül használhatók a megoldás utáni diszkusszióban.

Kimenet

display, printf

A kimenet megjelenítésére használhatók a display és a printf parancsok. A printf szintaxisa gyakorlatilag megegyezik a névadó C-s printf-ével, annyi különbséggel, hogy adhatunk meg futóindexeket. A display egyfajta "okos" kiíratás. Utóbbit érdemes használni, ha egyszerűen szeretnénk, emberek számára könnyen átlátható kimenetet írni. A printf-fel lehetséges közvetlen fájlba is írni:
printf 'Hello, world!\n'; printf "x = %.3f; y = %.3f; z = %.3f\n", x, y, z > "result.txt"; # fájlba írás (törléssel) printf "; a = %.3f", a >> "result.txt"; # fájlba írás printf{k in K} "x[%s] = %d", k, x[k]; # futóindex

for ciklus

Lehetőségünk van ciklusok írására is. A GMPL-ben a for ciklusokban csak printf, display és check utasítás szerepelhet.
for {(i,j) in E: i != j}{ printf "flow from %s to %s is %g\n", i, j, x[i,j]; check x[i,j] >= 0; }