LINPRO – Lineáris Programozás szubrutincsomag
A lineáris programozás az alkalmazott matematika talán legtöbbet használt területe. Része az operációkutatásnak, mely összetett gazdasági, államigazgatási, műszaki, katonai kérdések megválaszolásához, az optimális döntések meghozatalához nyújt segítséget. A lineáris programozás általában bizonyos számítási műveletek nagy méretű adathalmazokon történt elvégzését igényli, így fejlődése és elterjedése összefonódik a számítástechnikai eszközök megjelenésével és fejlődésével. Magyarországon az 1960-as években kezdtek első generációs számítógépekkel lineáris programozási feladatokat megoldani – egyik első úttörőként a KSH-ban fejlesztett LINPRO szubrutincsomag készült el, amely a Dantzig-Wolf módszert alkalmazta és moduláris felépítésénél fogva rugalmasan illeszthető volt különféle lineáris programozási feladatok megoldásához.
LINPRO
Alkalmazói szoftver > Tudományos-műszaki-statisztikai számítások
1960-1970
A LINPRO első változatait Ural, majd Minszk-2 számítógpeken fejlesztették gépi kódban. Később a SZÜV-ben működő GIER néven ismert dán fejlesztésű középgépre írták át és fejlesztették tovább ALGOL-60 programnyelvben.
A LINPRO nem önállóan futtatható program, hanem egy operációkutatási feladat megoldására írt keretprogramhoz forrás nyelvű változatban illeszthető hatalmas szubrutin volt, amelyet a keretprogrammal együtt kellett lefordítani, futtatni. A futtatáshoz használt gépek eltérő korlátai és lehetőségei miatt több változatban létezett.
Számos olyan kutatási (pl. agykutatás) és termelés-optimalizálási feladathoz írt programban felhasználták, amelyekben egy kész, a Dantzig-Wolf módszerrel készült és kipróbált megoldás komoly segítséget és megtakarítást jelentett. Példa erre a Férfi Fehérneműgyár, ahol az egyes modellekhez a szabászati hulladékot minimalizáló szabászati terveket éveken át a LINPRO felhasználásával készítették.
A LINPRO kifejlesztése és felhasználása az 1960-as évek elején olyan számítógépeken történt, amelyekhez a programok tárolására alkalmas elektronikus háttértárak nem léteztek, vagy ha volt is mágnesszalag egység, annak működése megbízhatatlan, használata nehézkes volt. A forrásprogramokat többnyire lyukkártyán, később lyukszalagon tárolták. A lyukkártyánál törekedni kellett arra, hogy kártyánként lehetőleg csak egy utasítás legyen, így a fejlesztés során az utasítások törlése, módosítása, beszúrása a kártyák eltávolításával, cseréjével, beszúrásával történhetett. Az utasítások sorrendjét a kártya utolsó oszlopaiba lyukasztott sorszám volt hivatott biztosítani, ennek ellenére minden programozó rémálma volt, hogy a kártyák összekeverednek. Ennek veszélyét csökkentendő készítettek a már letesztelt programokhoz, szubrutinokhoz olyan “méretre szabott”, azaz a programokat hordozó kártyák számának megfelelő méretű dobozokat, amelyek a kártyákat sorrendben tartották, esetleg a programokat lyukszalagra másolták. Minden programozó – lyukkártyán vagy lyukszalagon – féltve őrizte letesztelt programjának egy “őspéldányát”.
Ugyancsak az akkori gépek korlátai – kicsi szóhosszúság és memória – miatt a nagyobb feladatoknál háttértárolót kellett használni. Külön gondot okoztak az olyan feladatok, ahol a számításban résztvevő mátrixelemek több nagyságrenddel eltértek egymástól. Egyedi megoldásokat kellett kitalálni egyes gyakorlati feladatokhoz is: a 0 fogalmát újra kellett értelmezni és egy epszilont bevezetni a végrehajtási ciklus vezérlésére.
Létrehozva: 2021.12.05. 10:47
Utolsó módosítás: 2023.12.15. 10:59