Tétel adatlapja
CÍMLAP
Tóth Zsolt
Döntési problémák és a GAMS

TARTALOM, BEVEZETÉS



Tartalom

1. Bevezetés

2. Szállítási probléma

3. A GAMS modellek általános szerkezete

4. SETS

5. Adatok
5.1. Adatbevitel listával
5.2. Adatbevitel táblázattal
5.3. Adatbevitel közvetlen értékadással

6. Változók

7. Egyenletek
7.1. Az egyenletek deklarációja
7.2. A GAMS összegző és szorzó kifejezései
7.3. Egyenlet definíció

8. Célfüggvény

9. A model és a solve utasítás

10. A display utasítás

11. Az ".LO, .L, .UP, .M" adatbázis

12. A változók határainak és kezdőértékeinek megadása

13. A GAMS OUTPUT

14. Operációkutatási példák
14.1. Minimumfeladat megoldása
14.2. Költségminimalizási feladat megoldása
14.3. Hasznossági feladat megoldása
14.4. Hozzárendelési feladat megoldása
14.5. Egészértékű programozási feladat input fájlja
14.6. Egy klasszikus munkaerőgazdálkodási modell
14.7. Egy optimális növekedési modell megoldása
14.8. Portfolió-analízis

Felhasznált irodalom
Melléklet



Bevezetés

A GAMS az 1980-as évek vége óta a nyugat-európai és észak-amerikai gazdasági jellegű felsőoktatási intézményekben döntési problémák modellezésére széleskörűen használt, magasszintű, matematikai modellező nyelv.

A nemzetközi szakirodalomban általános nézet szerint a gazdasági felsőoktatásban is elterjedt, hagyományosan strukturált (Fortran, Pascal, C, Basic stb.) és objektumorientált (Visual Basic, C++, Java, Delphi stb.) programnyelvek mellett érdemes a magasszintű, matematikai modellező nyelvek oktatására nagyobb hangsúlyt helyezni, mivel ez utóbbiak az önálló, közgazdasági modellezést már viszonylag rövid tanulás után jelentősen megkönnyítik. A GAMS nyelv alapjainak megismertetése tehát nem tűnik haszontalannak, különösen igaz ez az informatikai tárgyakat magasabb óraszámban hallgató diákokra, hiszen a döntéstámogatás minden gazdasági informatikai tantárgyprogramban kiemelt szerepet játszik.

...

A GAMS (General Algebraic Modeling System) programnyelvet a Világbank megbízásából Alexander Meeraus és munkatársai fejlesztették ki az 1980-as évek végén. A döntéstámogatáson belül elsősorban klasszikus operációkutatási feladatokra használják szerte a világon, de a különböző, ma már a Világhálón is hozzáférhető modellkönyvtárakban (pl. http://www.gams.com/modlib) számos, a magyar viszonyok között is adaptálható, jórészt a Világbank által készített vagy készíttetett modell egyszerűsített változatát találjuk elsősorban az alábbi témakörökben:

- makrogazdaságtan: optimális növekedés, beruházási modellek, ágazati modellek

- mikrogazdaságtan: kínálati modellek, árdiszkrimináció, piaci helyzetek

- menedzsment: just-in-time szállítás, munkaerő-gazdálkodás, szervezetek kialakítása, szervezeti munka hatékonysága

- mezőgazdaság és agrárközgazdaságtan: a fejlődő világ mezőgazdasági és élelmezési problémái, általános mezőgazdasági modellek, öntözési és talajfelhasználási problémák

- általános egyensúly: a fejlődő (pl. India, Kamerun), az utóbbi évtizedekben gyors gazdasági fejlődési pályára állt (pl. a Koreai Köztársaság, Kína) és a különböző okokból az elmúlt időszakban gazdasági szerkezetváltásra kényszerült fejlett országok (pl. Finnország) egyensúlyi problémái, adózási kérdések, a versenyt korlátozó piaci helyzetek, globális egyensúlytalanság, a gazdasági integrációk által generált egyensúlyi problémák (pl. Nagy Britannia)

- ökonometria: regresszió, maximum likelihood becslés

- gazdasági fejlődés: strukturális problémák, szűk keresztmetszetek, új erőforrások, termelési tényezők helyettesítése

- energiagazdaságtan: nemzetközi földgáz- és kőolaj-kereskedelem, megújuló energiaforrások, a fejlett, de sok energiát fogyasztó ipari országok problémai (pl. Koreai Köztársaság, Egyesült Államok), az OPEC optimális árképzése, az energiatermelés és felhasználás környezetszennyező hatásai

- pénzügy: portfolió-elemzés, pénzügyi tervezés, kockázatkezelés

- nemzetközi kereskedelem: rézkereskedelem, alumíniumkereskedelem, szénhidrogének kereskedelme, észak-déli kereskedelem és tőkeáramlás

- műszaki tudományok: vegyészet, csővezetékek és szállítási útvonalak tervezése, alkatrészszállítás, vízi utak biztonságos hasznosítása, járművek szárnytervezése, optimális felületek kialakítása, árvízvédelem, szivattyú hálózatok tervezése, hulladékanyag-minimalizálás

- erdőgazdálkodás: fakitermelés és erdőtelepítés, az erdőgazdálkodás környezeti terhei, a trópusi és az északi erdők megóvása

- sztochasztikus programozás: optimális beruházás, repülőjáratok tervezése

- statisztikai, matematikai alkalmazások

A fent említett példák is mutatják, hogy a GAMS meglehetősen széles körben használható programnyelv, azonban az összetettebb modellek kialakítása elég bonyolult, a legtöbb modell leegyszerűsített változatának bemutatása is meghaladná az egyetemi oktatás kereteit, kezdetnek azonban néhány egyszerűbb modell áttekintése is elegendő. Természetesen a GAMS programnyelv - a világbanki preferenciák ellenére - teljesen semleges fejlesztőeszköz, mindegy, hogy - a közgazdasági modellezésnél maradva - milyen közgazdasági iskola gondolatain nyugvó modellt kívánunk a segítségével megfogalmazni.

A jegyzetben használt GAMS 20.7-es Student (leegyszerűsített, kevesebb modellt és változót használó) változata a washingtoni GAMS Development Corporation hivatalos oldaláról regisztráció után ingyenesen letölthető (http://www.gams.com), de a cég giesseni európai központjának a honlapján is elérhető. (http://www.gams.de) Az ingyenes változat is rendkívül hasznos fejlesztőeszköz, jómagam a Világhálón nagyon sok, egymástól rendkívül eltérő fejlettségű és kultúrájú ország egyetemein és kutatóintézeteiben megírt GAMS kódra találtam. (Pl. Svédország, Irán, Németország, Kazahsztán, Spanyolország, Törökország - meglehetősen sokszínű országcsoport.) A GAMS "ingyenessége" ellenére a magyar honlapokon 2003 elején a legismertebb keresőprogramok segítségével sem sikerült GAMS modellekre találnom, bár történtek arra utalások, hogy a GAMS nyelvet itt-ott egy-két órában oktatják.

A jegyzet első felében egy példaalkalmazáson keresztül rövid, de a teljességre törekvő áttekintést nyújtok a GAMS programnyelv legfontosabb jellegzetességeiről. A GAMS iránt mélyebben érdeklődő olvasók Richard E. Rosenthal GAMS User's Guide c. művében teljes leírást találnak, azonban a példaalkalmazás megértése után bárki képessé válhat a különböző, gyakrabban előforduló lineáris programozási feladatok gyors megoldására anélkül, hogy a meglehetősen sokrétű GAMS programnyelv használatát teljes egészében elsajátítaná.

A jegyzet második felében néhány jól ismert operációkutatási alkalmazáson kívül bonyolultabb közgazdasági modellek leegyszerűsített változatai közül mutatok be néhányat.


×