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.

Rövid név:

LINPRO

Kategória:

Alkalmazói szoftver > Tudományos-műszaki-statisztikai számítások

Fejlesztés/kibocsátás/követés:

1960-1970

Létrehozó intézmények:
Fejlesztő személyek:
Hardver/Szoftver környezet

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.

Használat

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.

Történeti érdekességek

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 kellet 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 gykorlati feladotokhoz 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. 11:00