DOKTORI (PhD) ÉRTEKEZÉS TÉZISEI
KAPOSVÁRI EGYETEM GAZDASÁGTUDOMÁNYI KAR Informatika Tanszék
A doktori iskola vezet˝oje:
PROF. DR. UDOVECZ GÁBOR az MTA doktora, egyetemi tanár
Témavezet˝o:
DR. HABIL. CSUKÁS BÉLA CSc egyetemi docens
TÖBBSZEMPONTÚ GAZDASÁGI DÖNTÉSEKET ˝ GENETIKUS ALGORITMUS SEGÍTO KIDOLGOZÁSA ÉS ALKALMAZÁSAI Készítette:
Balogh Sándor
KAPOSVÁR
2009
˝ ˝ 1. A KUTATÁS ELOZMÉNYEI, CÉLKITUZÉS Az optimalizálás hagyományos kezelésmódját az jellemzi, hogy a vizsgált feladatot, illetve annak modelljét úgy alakítjuk át, és szükség szerint úgy egyszer˝usítjük le, hogy az lehet˝ové tegye egy matematikai konstrukció keretei között az egzakt optimum meghatározását. A mérnöki munkában nagyon fontosak a részletek, ezért az elmúlt évtizedekben fokozott törekvés nyilvánult meg arra vonatkozóan, hogy az optimalizálást minél részletesebb modellek felhasználásával végezzük el. A különböz˝o folyamatok részletes, dinamikus szimulációját biztosító eszközök gyorsan fejl˝odtek, ugyanakkor az egyre bonyolultabb folytonos és diszkrét változókat vegyesen tartalmazó hibrid modellek optimalizálása egyre nehezebben megoldható feladatot jelentett az ugyancsak fejl˝od˝o optimalizálási módszerek számára. Korunk egy másik jellegzetessége az, hogy térben és id˝oben egyre nagyobb mérték˝u, változó struktúrájú és növekv˝o komplexitású feladatokat kell „optimálisan” megoldani. Mindezeket felismerve, el˝otérbe kerültek a mesterséges intelligencia, majd az ezt felváltó számítógépi intelligencia talaján kifejl˝od˝o nem egzakt, heurisztikus és evolúciós módszerek. A nem egzakt jelz˝o azt jelenti, hogy elveszítjük a garanciát az abszolút optimum megtalálására. Ezért viszont kárpótol az a tény, hogy az elegend˝oen jó megoldásokat a szükséges és elégséges mértékben legrészletesebb modellekre határozhatjuk meg. A számítógépi intelligenciához sorolható genetikus algoritmus ezen nem egzakt optimális módszerek egyike. A módszerrel a 90-es évek elején diploma dolgozatom készítésekor ismerkedtem meg. A módszer fejlesztése azóta végigkíséri szakmai munkámat. E munka alapvet˝o jellegzetessége kezdett˝ol fogva az volt, hogy a legkülönböz˝obb szakterületeken jelentkez˝o, és a mindenkori eszközökkel nehezen kezelhet˝o részletes és/vagy nagyméret˝u hibrid modellekkel leírható feladatokat kellett optimalizálni. A gazdasági célfüggvények mellett sokszor több naturális szempont alapján kellett végezni az optimalizációt, más esetekben viszont kombináltan kellett alkalmazni gazdaságilag megfogalmazható és naturális célkit˝uzéseket. A szimulációs számításokra használt, párhuzamosan fejlesztett módszer jellemz˝oje 1
viszont egyre inkább az lett, hogy a számítások elt˝urték a tetsz˝oleges diszkrét és folytonos változtatásokat. Eközben a nemzetközi tendenciákkal összhangban, egyre növekedett a lehetséges megoldások szimulációjának számítás igénye. Munkám alapvet˝o célja, a szakirodalomból megismerhet˝o módszerek és az elmúlt id˝oszakban a különféle gyakorlati problémák kihívásait figyelembe véve általam folyamatosan fejlesztett genetikus algoritmus összevetése alapján egy, a tapasztalatokat ötvöz˝o, többszempontú gazdasági döntéseket segít˝o genetikus algoritmus kidolgozása. Az opcionálisan többszempontú gazdasági döntések támogatásának igényeit figyelembe véve a kutatómunka f˝obb célkit˝uzései a következ˝ok: 1. A gyakorlati tapasztalatokat felhasználva, olyan összetett genetikus kódolást célszer˝u kidolgozni, amely egységes kezelést biztosít a folytonos és diszkrét, valamint teljes permutációt megvalósító génszakaszok opcionálisan hierarchikus kezelésére. Ezen túlmen˝oen, a kódolásnál az úgynevezett szerkezetháló felhasználásával lehet˝oséget kell biztosítani az inkompatibilis gének definiálására. Az így kialakítandó összetett kódolás segítségével a különféle feladatok megoldásánál ugyanannak az általános kódolási megoldásnak a részesetei alkalmazhatók, így elkerülhet˝o a speciális, egyedi módszerek használata. 2. Az egységes kódolási megoldással összhangban, további célom, a genetikus operátorok készletét felhasználva, és szükség szerint módosított operátorokat bevezetve, egy olyan megoldás kialakítása, amely a mindenkori kódoláshoz igazodva automatikusan alkalmazza a megfelel˝o operátorokat. 3. További célom, hogy olyan paraméterezhet˝o módszert, és az ehhez illeszked˝o paraméterezhet˝o módosított genetikus operátorokat dolgozzak ki, amelyek támogatják az evolúciós folyamat kis populáció méret mellett történ˝o végrehajtását. E célkit˝uzés érdekében a szakirodalmi tapasztalatok és a korábbi id˝oszakban végzett gyakorlati alkalmazások tapasztalatainak felhasználásával célom egy új, úgynevezett rácsmódszer kidolgozása. 2
4. A többszempontúság kezelésére célom egy, az összetett Pareto dominancia számítására alkalmas algoritmus, valamint az algoritmus m˝uködését támogató, paraméterezhet˝o operátorok kidolgozása. 5. További célom a kidolgozott algoritmusok olyan implementálása, amely a kisszámú, nagy számításigény˝u egyedek vizsgálatán alapuló evolúciós folyamatot támogatja. Ennek során, célom egyrészt annak hasznosítása, hogy lehet˝oség van az összes el˝oállított genetikus kód hatékony tárolására. Másrészt, a makrogranulárisan párhuzamosítható (például PC klaszter) architektúrák lehet˝oségeit felhasználva, célom az értékelést biztosító szimulációk genetikus algoritmus által irányított automatikus párhuzamosítása. A kifejlesztett megoldások döntéseket támogató, gazdasági és logisztikai alkalmazását illusztráló egyszer˝u példák és a szakterületen alkalmazott tesztfeladatok segítségével mutatom be.
2. ALKALMAZOTT MÓDSZEREK A kutatási téma jellegéb˝ol adódóan szoftverfejleszt˝o munkámhoz számos, a fejlesztést támogató nyílt forráskódú szoftvert, illetve a kutatócsoport által kifejlesztett szimulációs társprogramokat alkalmaztam. A makrogranulárisan párhuzamos evolúciós fejlesztés megvalósítására egy számítógép klasztert építettem és konfiguráltam. Ennek megfelel˝oen az értekezésben kidolgozott genetikus algoritmus elkészítéséhez és kipróbálásához felhasznált módszerek a következ˝ok voltak: – a feladatokat megoldó genetikus algoritmust megvalósító számítógépi programok készítéséhez felhasznált szoftver eszközök, – a genetikus algoritmussal együttm˝uköd˝o generikus szimulátor, valamint – a makrogranulárisan párhuzamos m˝uködés megvalósítására kidolgozott hardver és az ezt támogató szoftver. 3
Az evolúciós keretrendszer kialakításához felhasznált legfontosabb nyílt forráskódú szoftverek a következ˝ok voltak: – fox toolkit: (http://www.fox-toolkit.org); – plplot: (http://www.plplot.org); – tclap: (http://tclap.sourceforge.net/); – c++ fordítók: gcc mingw32. Az evolúciós keretrendszer hatékonyságának növelésére alkalmazott makrogranuláris párhuzamosítás megvalósítására egy 16 PC alkatrészb˝ol épített számítógép klasztert építettem. A klaszter m˝uködtetését a nyílt forráskódú OpenSSI (http://www.openssi.org) szoftver adaptációjával oldottam meg. A dolgozatban bemutatott illusztráló példák közül – az egyszer˝u tesztfeladatok programját magam készítettem el; – a további illusztráló példák szimulációjára pedig a folyamatok közvetlen számítógépi leképezésen alapuló szimulációjára a folyamatinformatikai kutatási iskolában kidolgozott programrendszer WINDOWS® operációs rendszer alatt, Excel® interfésszel futtatható változatát használtam. Az elmúlt másfél évtizedben folyamatosan fejlesztett genetikus algoritmus segítségével megoldott ipari feladatokban és kísérleti esettanulmányokban szerepl˝o identifikálási, optimális irányítási, optimális tervezési, illetve optimális ütemezési problémák vizsgálatánál szimulációs programként ugyancsak a közvetlen számítógépi leképezésen alapuló generikus folyamat szimulátor különféle adaptációit alkalmaztam.
3. EREDMÉNYEK A gyakorlati életben a komplex rendszerek gazdasági optimalizálására is használható módszereknek sok feltételt kell kielégíteniük. A két legfontosabb általános elvárás közül az els˝o a többszempontú értékelhet˝oség biztosítása a 4
Tulajdonság osztályok:
T6
T7
A tulajdonság osztályok elemei:
T8
T3
T4
T5
T0
T1
T2
t 6,2 t 6,1 t 6,0
t 7,4 t 7,3 t 7,2 t 7,1 t 7,0
t 8,5 t 8,4 t 8,3 t 8,2 t 8,1 t 8,0
t 3,3 t 3,2 t 3,1 t 3,0
t 4,7 t 4,6 t 4,5 t 4,4 t 4,3 t 4,2 t 4,1 t 4,0
t 5,3 t 5,2 t 5,1 t 5,0
t 0,5 t 0,4 t 0,3 t 0,2 t 0,1 t 0,0
t 1,2 t 1,1 t 1,0
t 2,4 t 2,3 t 2,2 t 2,1 t 2,0
Két teljes kombináció: t 6,1
t 7,3
t 8,4
t 6,1
t 7,1
t 8,1
t 3,2
t 4,6
t 5,2
t 3,1
t 4,1
t 5,1
t 0,4
t 1,1
t 2,3
t 0,1
t 1,1
t 2,1
1. ábra. Az összetett rendszerek tulajdonság hálókkal történ˝ o leírása. Az inkompatibilitási © ª relációk például az I = (t 0,1 , t 3,2 ), (t 2,0 , t 5,3 ), (t 8,0 , t 7,4 ) alakban adhatók meg, ahol t i , j az i . tulajdonság osztály j. eleme.
döntési folyamat támogatása érdekében. A másik elvárás az, hogy a módszer képes legyen komplex (gazdasági és/vagy m˝uszaki) rendszerek döntési terének szükséges mérték˝u kezelésére. 3.1. Az összetett genetikus kódolás kidolgozása Az összetett rendszerek szerkezethálókkal való leírásában meghatározó jelent˝oség˝u volt Blickle munkássága. A leírás lényege az, hogy a valamilyen célból létrehozható összetett rendszerek összessége, tulajdonság ekvivalencia osztályokat alkotó tulajdonság halmazokkal jellemezhet˝o. Az egyes tulajdonság osztályoknak az elemei az objektumot jellemz˝o tulajdonságok. Az osztályokat és a tulajdonságokat úgy kell létrehozni, hogy ha minden tulajdonság osztályból kiválasztunk egy és csak egy tulajdonságot (elemet), akkor ezzel egy konkrét rendszert határozunk meg. Sokszor el˝ofordul, hogy nem minden tulajdonság (elem) párt engedhetünk meg a kombinációk során. Ezeket a kivételeket, un. inkompatibilitási relációkat megadva és figyelembe véve a tulajdonság osztá5
A genetikus kódolás:
G0
G1
G2
G3
G4
G5
G6
G7
G8
A lehetséges allélek:
0,5 gg0,4 0,3 gg0,2 0,1 gg0,0
g 2,4 2,3 gg2,2 2,1 gg2,0
g 1,2 1,1 gg1,0
3,3 gg3,2 3,1 gg3,0
4,7 gg4,6 4,5 gg4,4 4,3 gg4,2 g 4,1 g 4,0
5,3 gg5,2 5,1 gg5,0
g 7,4 7,3 gg7,2 7,1 gg7,0
g 6,2 6,1 gg6,0
8,5 gg8,4 8,3 gg8,2 8,1 gg8,0
Két egyed kromoszómái: g 0,1
g 1,1
g 2,1
g 3,1
g 4,1
g 5,1
g 6,1
g 7,1
g 8,1
g 0,4
g 1,1
g 2,3
g 3,2
g 4,6
g 5,2
g 6,1
g 7,3
g 8,4
2. ábra. Az összetett rendszerek tulajdonság háló alapú genetikus kódolása. A g i , j © ª alléllal inkompatibilis allélok az I i , j = g l ,m , g k,n alakban adhatók meg, ahol g i , j az i . gén j. allélja.
lyokkal leírt minden egyes megengedett rendszert generálni tudjuk. A fentiek szemléltetése az 1. ábrán látható. A genetikus kódolásnál a genetikus kódot a tulajdonság osztályok összességének tekintem. A kromoszóma egyes génjeinek egy-egy tulajdonság osztály felel meg. A gén pozíciója a hozzá tartozó tulajdonság osztály indexe. A gének lehetséges alléljai (értékei) az osztály tulajdonságainak (elemeinek) felelnek meg. Minden egyes allélhoz hozzárendelhetem a vele inkompatibilis allélok listáját. Az így megadott genetikus kódolás elemei a 2. számú ábrán láthatók. A genetikus algoritmusok bemutatásakor láthattuk, hogy az algoritmusok alkalmasak a diszkrét vagy folytonos jellemz˝ok, valamint a teljes permutációk kódolására és kezelésére. Az összetett rendszerek leírása során azonban a gének (tulajdonság osztályok) egyaránt lehetnek diszkrét (pl. a berendezések típusa), folytonos (pl. gazdasági/m˝uszaki paraméterek) és permutált diszkrét érték˝uek (pl. gyártás sorrendek). Az ilyen rendszerek leírására tehát egyidej˝uleg kell 6
használnunk a különböz˝o típusú géneket. A számítógép lebeg˝opontos számábrázolása végs˝o soron a folytonos jellemz˝oket is diszkrét értékekké transzformálja, ráadásul a gyakorlati életben el˝oforduló folytonos paramétereknek is van egy bizonyos pontossága. A genetikus kódolás során tehát minden géntípus valójában csak diszkrét vagy diszkretizált értékekkel rendelkezhet. Az igazi különbség az, hogy a genetikus operátorok alkalmazása során a géntípus alléljainak halmazán vagy az euklideszi, vagy csak a Hamming metrika értelmezhet˝o. Az els˝o esetben továbbra is a folytonos, a második esetben pedig a diszkrét megnevezéseket használom. A következ˝o lépés a különböz˝o géntípusok lehetséges alléljainak megadása. A diszkrét gének esetén ezt felsorolással vagy generálással oldom meg, míg a folytonos jellemz˝ok esetén legalább az értelmezési tartomány határok és a pontosság megadása szükséges, de ezt még kiegészítettem egy bels˝o, elvárt intervallum határai magadásának lehet˝oségével is. A kifejlesztett genetikus kódolás során az i . diszkrét géntípus elemeit a D i = © ª (g i ,1 , I i ,1 , K i ,1 ), (g i ,2 , I i ,2 , K i ,1 ), . . . , (g i ,n , I i ,n , K i ,n ) triplettekkel írom le, ahol g i , j ∈ N ami az esetek nagy részében az értékelési szempontokat számoló algoritmus (szimuláció) „katalógusában” megtalálható elem sorszáma. Az © ª I i , j = g l ,m , . . . , g k,v az inkompatibilis allélok halmaza és K i , j a kés˝obb leírt kromoszóma géntípus, ami a „katalógus” elem további jellemz˝oit (pl.: berendezés paramétereit, cserélhet˝o részeit) tartalmazhatja. A folytonos géntípus ¡ ¢ elemeinek leírását a C i = l i , hi , e il , e ih , dimax , dimi n hatosokkal adom meg, ahol l i , h i az értelmezési tartomány alsó és fels˝o határa, az e il , e ih az elvárt intervallum határai, a dimax , d imi n pedig az intervallumon értelmezett maximális és minimális felbontás. Ezt a két géntípust további három összetett géntípussal egészítettem ki. Ezek rendre a diszkrét génszakasz, a permutálható génszakasz és a kromoszóma. A génszakaszok a nevüknek megfelel˝oen diszkrét vagy diszkrét permutálandó gének sorozatai, míg a kromoszóma elemei az összes eddigi egyszer˝u vagy összetett gének közül kerülhetnek ki. Az összetett gének bevezetését egyrészt az indokolta, hogy bár az egyszer˝u kódolásoknál az inicializálás, a rekombináció és a mutáció alkalmazása elvégezhet˝o az egyes gén szintjén, a teljes permutációk 7
Kromoszóma:
D0
C1
GD 3
GP 2
K4
D5
Allélek:
3. ábra. A kialakított egyszer˝u és összetett gének.
kezelése csak a permutálandó génszakasz ismeretében végezhet˝o el. Másrészt az öszetett géneket rekurzívan egymásba ágyazva hierarchikus adatszerkezetek is kialakíthatók. A megoldás a kés˝obb bemutatandó hatékonyság növel˝o módszerhez is illeszkedik. Az így kialakított genetikus alapelemek szemléltése a 3. ábrán látható. A genetikus kódolás kib˝ovítése szükségessé teszi az algoritmus elemeinek e kódoláshoz való igazítását is. A kódon közvetlenül dolgozó algoritmus elemek az inicializálás, a genetikus operátorok közül pedig a rekombináció és a mutáció. Ezek a tevékenységek minden géntípus esetében definiálva vannak a típus tulajdonságainak megfelel˝oen. Tehát a folytonos, permutált, és diszkrét típusok a nekik megfelel˝o, szakirodalomban fellelhet˝o rekombinációs és mutációs operátorokat is használhatják, míg az inicializálás legtöbbször véletlen generálással történik. Egy adott feladat megoldáskor a genetikus kódolást az el˝oz˝oleg definiált géntípusok felhasználásával írjuk le. Az allélok létrehozása után a diszkrét génekre értelmezett inkompatibilitási relációkat is megadjuk. Minden egyes géntípusnak van egy alapértelmezett inicializálás, rekombináció és mutáció készlete, de a több beépített változat közül bármelyikre kicserélhetjük o˝ ket. 8
x2
x2
x1
x1
a) Kezdeti populáció generálása rácsmódszer nélkül.
b) Kezdeti populáció generálása rácsmódszerrel.
4. ábra. Az inicializálás módosítása a rácsmódszert felhasználva.
3.2. A rácsmódszer kidolgozása A kis populáció méret használatának szükségessége több megoldandó probléma forrása. Az egyik az, hogy a megoldás nagyon érzékeny a kezdeti populáció „min˝oségére”, a másik az, hogy a populáció diverzitása gyorsan lecsökkenhet. Az egyenletes eloszlást generáló véletlenszám generátorok csak nagy populáció méretnél produkálnak igazán egyenletes eloszlást, emiatt a kis populációkat használva a keresési tér egyes részeibe jóval s˝ur˝ubben, máshova ritkábban generálunk egyedeket. A generálást irányíthatjuk a folytonos géntípusok esetében, ha a generáláshoz egyrészt szakért˝ok által becsült e il , e ih elvárt határokat használjuk fel, másrészt a gén maximális felbontását (d imax ) az inicializálás során a populáció méretnek megfelel˝o értékre állítva, a véletlenszám generátor által szolgáltatott értékeket erre a pontosságra kerekítve használjuk fel. A keresési térben létrejöv˝o rács segíti az egyedek egyenletesebb eloszlását. A módszer illusztrálása a 4. ábrán látható. A rács felhasználásának másik területe a létrejöv˝o azonos egyedek kisz˝urése. A rácsmódszer használata nélkül két egyed kódjának egyenl˝osége a lebeg˝opontos számábrázolás miatt csak nagyon ritka esetekben teljesülne, használatával viszont szabályozni tudjuk a variáns és a környezetében lév˝o variánsok minimális távolságát. 9
Az el˝oz˝o fejezetben leírt összetett genetikus kódolást felhasználva a gyakorlati feladatok keresési tere a genetikus algoritmus számára felhasználható módon írható le. Ugyanakkor az egyszer˝u kódolásokhoz képest – ahol a kromoszóma sztringszer˝u és homogén – hátrány, hogy két egyed hasonlósági mértékének kiszámítása nehéz feladat. A folytonos és diszkrét génszakaszok és a hierarchikus géntípusok együttesére nem sikerült konzisztens hasonlósági mértéket kreálni a Hamming és euklideszi távolságok felhasználásával. Ez megakadályozza, hogy a populáció sokszín˝uségét meg˝orz˝o módszerek mindegyikét korlátozás nélkül felhasználjuk. A rácsmódszer alkalmazása viszont ötletet adott a diverzitás meg˝orzésének egy további megoldására. Ugyanis, ha az új egyedek is mindig a rácspontokba kerülnek akkor rács változtatásával dinamikusan befolyásolni lehet a populáció diverzitását, azaz a felfedezés (exploration) és a kiaknázás (exploitation) egyensúlyát. Ehhez azonban módosítani kell az új egyedek el˝oállításában részt vev˝o rekombinációs és mutációs operátorokat. Folytonos génekre az operátorok módosítása hasonlóképpen történik mint az inicializálás esetében, vagyis a „hagyományos” operátorok által szolgáltatott új értékeket a legközelebbi rácspontok értékéhez „kerekítem”. Diszkrét génszakaszok esetén a rácsmódszer egyszer˝usített változatát valósítottam meg. A génszakaszhoz rendeltem egy, a génszakasz hosszának felénél kisebb egész számot, amely a keresztezés és a mutáció során a szül˝ok génszakasza és az új utód génszakasza közti elvárt minimális Hamming távolság kívánt mértékét írja le, hasonlóan a folytonos gének pontosságához. Itt sem módosítom az operátorok algoritmusát, hanem a két génszakasz Hamming távolságát összehasonlítva az elvárt értékkel, ismételten alkalmazom azokat, és ezt addig ismétlem, amíg sikerül a megfelel˝o egyedet létrehozni, vagy az ismétlések száma elér egy korlátértéket. Ez a korlátérték a génszakasz hosszának függvényében kerül megállapításra, alapértelmezett értéke a génszakasz hosszának fele. A genetikus operátorok kiegészítése a fenti tulajdonságokkal változatlanul hagyja az operátorok eredeti algoritmusát, és csak a végrehajtásuk után módosítja az eredményüket. Így széls˝oséges esetben a pontosságot és az elvárt minimális távolságot zéró értékre állítva az operátorok a hagyományos módon viselkednek. Ha azonban a rács felbontása kezdetben durvább, majd a generációs lépések 10
el˝orehaladtával egyre finomítjuk, akkor elkerülhetjük a korai konvergencia kialakulását. Kritikus elem a rács felbontás változásának ütemezése. Egyszempontú értékelés esetén használtam az adaptív ütemezést, amely az aktuális legjobb érték változásának függvényében növelte a felbontást, azonban többszempontú értékelés esetében csak determinisztikus ütemezést lehetett alkalmazni. A tapasztalat szerint jó és biztonságos ütemezési stratégiának mutatkoztak azok az esetek, amikor exponenciális csökkentés mellett a természetes pontosságot a tervezett generációs lépések nagyjából 75%-ánál elértük. 3.3. A többszempontúság kezelése A többszempontú döntések támogatásának lehet˝osége szintén fontos elvárás az algoritmus kidolgozása során. Figyelembe próbáltam venni, hogy a döntéshozó preferenciáinak illesztésére lehet˝oleg az a priori, az interaktív és az a posteriori módon is lehet˝osége maradjon. Az értékelési szempontok megadásakor lehet˝oség van a szempontok néhány tulajdonságának megadására. A tulajdonságok közül az els˝o a szempont prioritása, a második és a harmadik az elérend˝o cél értékének alsó és a fels˝o korlátja. E három tulajdonság segítségével tudja a döntéshozó a Pareto front preferenciáinak megfelel˝o régiói felé terelni az optimalizációs folyamatot. A feltételek, prioritások és célok egységes kezelhet˝oségének lehet˝osége és rugalmassága következtében, a módosított Pareto dominancia alapján rangsorolt fitness képzés vált be leginkább a többszempontú genetikus algoritmus használatánál. A rangsorolás használható mind egyszempontú mind többszempontú értékelés esetén, megtartva a feltételek kezelésének lehet˝oségét. A fitness képzés során többféle stratégia között választhatunk. Fitness értékként használhatjuk a szakirodalomban fellelhet˝o módszerek többségét. Így például a dominált egyedek számát, az egyedet domináló egyedek számát vagy az egyed Pareto frontjának mélységét. A dominancia kiszámításának sorrendjénél el˝oször a megadott feltételeket vesszük sorra. A feltételek csoportján belül különböz˝o prioritásokat adhatunk meg a különféle mértékeknek, így akár együtt használhatjuk például a feltételsértések számát (ami azt fejezi ki, hogy hány darab feltételt sért meg az adott egyed) és esetleg egy következ˝o szinten az összesített vagy 11
P1
Pl. feltétel sértések száma dominál?
1. Feltételek prioritás szerint (pl. eltérések maximuma, száma, összege, stb. . . )
Pl. feltétel sértések normalizált összege dominál?
igen
dominált
igen
nem dominált
dominál? nem 2. Az értékelési szempontok célteljesítése
dominált
igen
P2
P1 P 1 prioritású szempontok
igen
dominál? nem 3. Az értékelési szempontok értéke prioritás szerint
dominál?
dominál?
igen
nem dominált
dominál? nem nem dominált
5. ábra. Az összetett Pareto dominancia számításának folyamata.
12
igen
Pi P i prioritású szempontok (i ∈ {2, . . . , m})
dominált
igen
maximális feltétel sértések mértékét (milyen messze vagyunk a megengedett tartománytól). Az értékelési szempontok is prioritásuk sorrendjében következnek. Az azonos prioritású csoportba tartozó szempontok el˝obb a célok teljesítése szerint lesznek összehasonlítva (a célokat teljesít˝ok jobbak a célokat nem teljesít˝oknél). A célokat azonosan teljesít˝o csoportba tartozók pedig az értékük szerint lesznek összehasonlítva. Az 5. ábrán a számítás folyamatát követhetjük figyelemmel. A Pareto front „jó” becslésének szükséges feltétele, hogy az algoritmus által javasolt megoldások lehet˝oleg egyenletes eloszlásban közelítsék a frontot. Ezért a fitness érték mellett az egyedekhez rendelhetünk egy az értékelési térben értelmezett zsúfoltsági paramétert. Itt is többféle módszer között választhatunk, munkámban legtöbbször a k darab legközelebbi szomszéd távolságának szorzatát használtam a zsúfoltsági paraméter becslésére ahol k az értékelési szempontok száma . Az alkalmazott szelekciós algoritmusok az azonos fitness érték˝u egyedek összehasonlításakor ezt a másodlagos értéket használják fel a szül˝ok kiválasztása és a visszahelyezés során, hogy biztosítsák a Pareto front egyenletes eloszlású közelítését. A kis populáció méretb˝ol adódóan az egy futás során az utolsó populációban el˝oállított nem dominált megoldások száma is kicsi. Ebb˝ol adódóan nagyon ajánlott egy küls˝o archívumban meg˝orizni az algoritmus futása során bármikor el˝oállított ismert Pareto optimális megoldásokat. Az archívum méretét szabadon beállíthatjuk. Az archívum maximális méretének elérése után a meg˝orzött optimális egyedeket a zsúfoltsági paramétert felhasználva ritkítjuk. 3.4. Az implementációs sajátságok Az egyedek er˝oforrásigényes értékelési függvényeinek kiszámítása sokszor csak néhány ezer, maximum néhány tízezer egyed kiszámítását teszi lehet˝ové. Az ilyen mennyiség˝u genetikus kód gyors elérés˝u eltárolása a mai modern számítógép konfigurációkon, még nem szokott túl nagy lassulást okozni az algoritmus végrehajtásában. Ezért lehet˝oséget teremtettem az algoritmus futása során kiértékelt összes egyed tárolására. Ennek a tárnak a szerepe hasonló a 13
bemutatott tabu listáéhoz. Segítségével megakadályozhatjuk, hogy egy már kiértékelt egyedet újra az er˝oforrás igényes kiértékelésnek vessük alá. Az új egyedek el˝oállításáért felel˝os részek (inicializálás, rekombináció és mutáció) az új egyed el˝oállítása után megvizsgálják, hogy a kapott új genetikus kód szerepel-e a kiértékelt egyedek között. Ha már értékeltük ezt kódot, akkor újra próbálkoznak addig, amíg új értékeletlen kódot nem állítanak el˝o. Az ismételt próbálkozások számát korlátozzuk (alapértéke az genetikus kódban található egyszer˝u gének számának fele) és túllépése esetén a normál rekombináció és a normál mutáció helyett extra mutációt alkalmazva keresünk új kódokat. Ez az extra mutáció minden génre 50%-os valószín˝uséggel a gén típusának megfelel˝o módon hajtódik végre. A feltételek vagy megkötések kezelése két szinten van jelen a módszerben. Az els˝o szint a diszkrét géntípusokra megadható inkompatibilitási relációk figyelembevételével az inicializálás, a rekombináció és a mutáció szintjén értelmezhet˝o és a tiltott kombinációkat illet˝oen a tabu lista kezelésénél leírt módszer szerint járunk el. A második szinten a kiterjesztett Pareto dominancia számításánál vesszük figyelembe a feltételeket, illetve a megkötéseket. A kidolgozott genetikus kódolás jól illeszkedik az objektum orientált programozás paradigmájához. A program objektum orientált tervezése és implementálása lehet˝ové tette, hogy a program szinte minden összetev˝ojét akár a futás közben is kicserélhessük. Ez a tulajdonsága igen nagy segítséget ad az algoritmus gyakorlati problémákhoz történ˝o adaptálásához és az operátorok, fitness képzések, illetve zsúfoltsági paraméterek teszteléséhez. Az objektum hierarchia legfels˝o szintjén álló feladat osztály felel˝os az értékelési függvény számításáért. Ennek leszármazottai a különböz˝o teszt és benchmark feladatok is, de a leggyakrabban használt leszármazott a küls˝o szimulátorral kommunikáló két osztály. A régebbi verzió az Excel® alkalmazást használta a szimulátorral való kommunikációra (mint DDE szervert), az új verzió pedig egy platform független kommunikációs protokollal rendelkezik. A protokoll támogatja a több szimulátor példánnyal való párhuzamos munkát (szerver-kliens modell). A protokoll f˝o részei a keresési (lehet˝oség) tér konfigurációja, az értékelési szempontok megadása, az egyedek értékelésre küldése, 14
1. algoritmus: A kifejlesztett genetikus algoritmus pszeudokódja. Input: cmpF : a módosított Pareto dominancia operátor Input: toGrid: a rácshoz illesztés függvénye Input: s, a : a populáció és az archívum mérete Input: r, m : a rekombinációs és mutációs faktorok Data: t : a generáció Data: Pop: a populáció Data: Arc: az archívum a legjobb egyedek tárolására Data: Par: az aktuális szül˝ok tárolója Data: Off: az új utódok tárolója Data: v : az egyedek fitness értékének elérése Output: X ? : a talált legjobb megoldások halmaza 1 2 3 4
begin X ←− createDecisionSpace(X) //a döntési tér megadása Y ←− createObjectiveSpace(Y) //az értékelési tér megadása C ←− createConstraintSpace(C) //a feltételek térének megadása t ←− 0 Arc ←− ; ¡ ¢ Pop ←− toGrid createPop(s,¡X ) //a populáció inicializálása ¢ Pop ←− evaluateIndividuals Pop , X , Y ,C //a szimulációk végrehajtása ¡ ¢ v ←− assignFitness Pop, Arc, cmpF //a Pareto rangsorolás elvégzése while terminationCriterion() do ¡ ¢ Arc ←− updateOptimalSetN Arc, Pop //az archívum frissítése Arc ←− pruneOptimalSet(Arc, a) //ritkítás, ha szükséges X ←− updateGrid(X , t //a rácsfelbontás változtatása ) ¡ ¢ Par ←− select Pop, Arc, v, s for i ←− 0 up to |Par| − 2 do if randu () ≤ r then Off[i ,i +1] ←− toGrid(recombine( Par[i +1])) ¡ ¡ Par[i ],¢¢ if randu () ≤ m then Off[i ,i +1] ←− toGrid mutate Off[i ,i +1] ¡ ¢ Off ←− evaluateIndividuals Off, X , Y //a szimulációk végrehajtása ¡ ¢ ,C v ←− assignFitness Pop , Arc , cmp //a Pareto rangsorolás elvégzése F ¡ ¢ Pop ←− reproducePop Par, Off, Pop, v //az új populáció kialakítása t ←− t + 1 ¡ ¢ return extractOptimalSet Pop ∪ Arc
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
end
15
illetve az értékelt egyedek értékeinek fogadása. Az el˝oz˝oekben megfogalmazottak szerint kialakított genetikus algoritmus egyszer˝u pszeudokódját az 1. algoritmus tartalmazza.
4. KÖVETKEZTETÉSEK A bemutatott kutatási eredmények és az elmúlt másfél évtizedben a folyamatosan fejlesztett genetikus algoritmussal végzett gyakorlati feladat megoldás tapasztalatai alapján levonható fontosabb következtetések az alábbiak szerint foglalhatók össze: Az összetett genetikus kódolás nagyon hatékonyan alkalmazható a diszkrét és folytonos jellemz˝ok együttes kezelésére. Ezen belül az inkompatibilitási relációk el˝ozetes megadása segítségével elkerülhet˝o, hogy bonyolultabb feladatok megoldásánál speciális genetikus kódolást kelljen kidolgozni. Az összetett genetikus kódolás és az ezzel összhangban alkalmazott operátorkészlet használatának hatékonyságát az illusztráló példák és a tesztfeladatok is igazolták. Ezen túlmen˝oen, a kidolgozott módszerek jól beváltak számos hibrid modell identifikálásánál, illetve a hibrid modellek alkalmazásával végzett optimális tervezési, irányítási és ütemezési feladatok megoldásánál. A folytonos tulajdonságosztályok (gének) definiálásánál nagyon hatékony az összetett kódolás és a kidolgozott rácsmódszer szinergikus alkalmazása. Ez a keresési tér (lehet˝oségtér) megadásánál a módszert alkalmazó szakért˝o számára is hatékony lehet˝oséget ad heurisztikus ismereteinek hasznosítására. A kidolgozott rácsmódszer egyidej˝uleg biztosítja a genetikus algoritmus adekvát inicializálását és hatékony futását kis populáció méret és kis generáció szám mellett is. Az ezáltal megengedhet˝o, jelent˝os számítógépi er˝oforrást igényl˝o értékelés számos gyakorlati probléma megoldásánál lehet˝ové tette a lehet˝o legrészletesebb modellek alkalmazását. Ez nagyon jelent˝os, mivel a valós m˝uszaki és gazdasági alkalmazásoknál az eredményesség a részletekben rejlik, ezért el˝onyösebb kisebb számú vizsgálatot végezni egy részletesebb modellel, mint jóval nagyobb számú értékelést készíteni leegyszer˝usített modellek alapján. A Pareto frontok vizsgálatán alapuló többszempontúság kezelésre kidol16
gozott módszer jelent˝os mértékben hozzájárul a többszempontúság korrekt kezeléséhez, ezen belül a szempontok adekvát kiválasztásához és a több szempontból elegend˝oen jó megoldások megfelel˝o kifejlesztéséhez. A gyakorlati feladatok megoldásánál az értékelési szempontok megadásával és/vagy az értékelési szempontok súlyozásával arra kell törekedni, hogy eleve kijelölhet˝o, illetve sz˝ukíthet˝o legyen a Pareto frontnak az a szakasza, ahol a jó megoldásokat várjuk. A gyakorlatban megoldott és optimalizálási és identifikálási feladatok tanulsága egyértelm˝uen az volt, hogy nagyon sokszor nem lehet vagy nem érdemes az értékeléseket egyetlen célfüggvénybe aggregálni. Az optimalizálási alkalmazásoknál elvileg mindenki gazdasági értékelést (költségminimalizálást vagy profitmaximalizálást) szeretne, azonban nagyon sokszor nem lehet megadni a gazdasági célfüggvény kiszámításához szükséges adatokat. Tipikus eset az, amikor egy nagyon sok lépésb˝ol álló technológiai folyamat egy önmagában is bonyolult kis részletét kell optimalizálni. Ilyenkor elvileg ezt az önmagában is bonyolult, kis részletet is magában foglaló még nagyobb rendszerre kellene kiterjeszteni a vizsgálatot, mivel a részfolyamatba lép˝o, illetve onnan kilép˝o anyagoknak nem ismertek a gazdasági paraméterei. Ugyanakkor sokszor találkoztunk olyan helyzettel, hogy a vizsgált feladat szakért˝oje nagyon hatékonyan alkalmazható naturális célfüggvényeket tudott definiálni. Természetesen, a technológiai és a kapcsolódó gazdasági folyamatok között ma még sokszor jelentkez˝o szakadék megsz˝unését eredményez˝o módszerfejlesztések következtében egyre inkább lehet˝ové válik a gazdasági értékelés. A kidolgozott genetikus algoritmus illusztráló példán történ˝o bemutatásával összhangban, az átmeneti id˝oszakban valószín˝uleg hatékony a részleges gazdasági és naturális értékelési szempontok kombinációját alkalmazó többszempontú értékelés. Az elmúlt id˝oszakban fejl˝od˝o, jelen munkában továbbfejlesztett és integrált genetikus algoritmussal szerzett tapasztalatok igazolták, hogy a kis populáció méret és generációs szám alkalmazása esetén el˝onyösek azok a hatékonyságot növel˝o technikák, amelyek az összes vizsgált változat tárolásán alapulnak. A nagy számításigény˝u értékelések megvalósításánál egyértelm˝uen bevált a populációban lév˝o egyedek makrogranulárisan párhuzamos értékelésére 17
kidolgozott megoldás. A PC klaszteren megvalósított módszer közelít˝oleg a klaszterben lév˝o központi egységek számával arányos mértékben gyorsítja a genetikus algoritmus által vezérelt evolúciós folyamat végrehajtását.
5. ÚJ KUTATÁSI EREDMÉNYEK 1. Új összetett genetikus kódolási módszert dolgoztam ki, amelyben szerkezet hálón alapuló, opcionálisan hierarchikus és teljes permutációt megvalósító diszkrét génszakaszok kombinálhatók. A szerkezethálón alapuló génszakaszok esetében a tulajdonság osztályokba sorolt tulajdonságok között opcionálisan inkompatibilitási relációkat lehet definiálni. A kódolás egységesen kezeli a diszkrét és folytonos tulajdonság osztályokat. A folytonos tulajdonság osztályok alléljai egy el˝oírt értelmezési tartomány el˝oírt számú részre való felbontásával automatikusan generált diszkrét elemek. Az értelmezési tartományon belül külön megadjuk az alkalmazás során a felhasználó által el˝ozetesen definiált elvárt rész-intervallum alsó és fels˝o korlátértékét. A megoldás el˝oírt fa-struktúrákkal leírt, összetett gének megadása révén lehet˝ové teszi a hierarchikus kódolást. A módszer biztosítja az el˝oz˝oek szerinti megoldás teljes permutációt megvalósító génszakaszokkal való kiegészítését, illetve ezek automatikus felismerését és kezelését. A kezdeti populáció inicializálására, valamint a rekombinációk és mutációk megvalósítására olyan új, kiterjesztett genetikus operátorokat vezettem be, amelyek az el˝oz˝oek szerinti összetett genetikus kódolás esetén figyelembe veszik a génszakasz jellegét. A folytonos génekre és diszkrét génszakaszokra vonatkozóan a genetikus algoritmust egy olyan új, globális operátorral egészítettem ki, amely az értékelések eredményét˝ol függ˝oen automatikusan csökkenti a tulajdonságok felbontását, azaz a lépésközt. 2. A Pareto-értékelésnél jelentkez˝o Pareto-dominancia kezelésére egy olyan felhasználóbarát, összetett megoldást dolgoztam ki, amely felülr˝ol kompatibilis speciális részesetként tartalmazza a szakirodalomban alkalmazott feltételek és szempontok kezelésének módozatait. A feltételek és a 18
szempontok csereszabatos implementációja révén azok egyenérték˝uen kezelhet˝ok, illetve felcserélhet˝ok egymással. A hatékonyság növelése érdekében lehet˝oség van a szempontokhoz tartozó, célokat meghatározó feltételek szempontokkal integrált leírására és kezelésére. Mind a feltételek, mind a szempontok esetében opcionálisan eltér˝o prioritások adhatók meg. 3. Új, platformfüggetlen, makrogranulárisan párhuzamosítható megoldást dolgoztam ki a genetikus algoritmus, és a genetikus algoritmus által javasolt megoldásokat kiszámító, és opcionálisan több szempontból kiértékel˝o tetsz˝oleges szimulátor közötti kapcsolat megszervezésére. 4. Az 1-3. pontok szerinti genetikus algoritmust – opcionálisan a megfelel˝oen implementált generikus szimulátorral összekapcsolva –, eredményesen alkalmaztam 11 konkrét m˝uszaki-gazdasági feladat megvalósított megoldásánál, 8 kísérleti fázisban lév˝o m˝uszaki-gazdasági probléma vizsgálatánál. Az algoritmust felhasználták 8 egyetemi diplomadolgozatban, egy megvédett valamint 2 készül˝o PhD dolgozatban, valamint több, az oktatásban demonstrációs célra felhasznált programcsomag elkészítésénél, például metabolikus hálózatok identifikálására, növénytermesztési folyamatok tervezésére, valamint többtermékes gyártó rendszerek tervezésére, irányítására és ütemezésére.
6. JAVASLATOK A kidolgozott új megoldások minél szélesebb kör˝u kipróbálása érdekében kutató csoportunk, illetve az Informatika Tanszék és a tágabb egyetemi szakmai környezet közelmúltban indított, illetve jöv˝oben induló munkáinál célszer˝u lenne kipróbálni a kutatómunka során kifejlesztett jelenlegi állapotok szerint konszolidált szoftver implementációt. Az így kapott tapasztalatok visszacsatolása után azok figyelembe vételével véglegesíthet˝ok egyes, még kevésbé kiforrott részek. Egyúttal célszer˝u lenne a tapasztalatokat is felhasználva, intenzív publikációs tevékenységet folytatni. 19
Kétségtelen, hogy a módszer fejl˝odését az elmúlt id˝oszakban alapvet˝oen a különféle természettudományos és m˝uszaki feladatok megoldására jelentkez˝o elméleti és gyakorlati igény motiválta. Ugyanakkor nagyon aktuális és fontos feladat lenne az eredmények hasznosítása különféle gazdasági folyamatok megoldásánál. Hasonló módon lényeges és aktuális feladat a módszer ötvözése a gazdasági rendszerek kezelésére alkalmazott más szoftver rendszerekkel. A Kaposvári Egyetem Gazdaságtudományi Karának tevékenységét valamint a Gazdálkodás és Regionális Tudományok Doktori Iskola profilját is figyelembe véve, magam is törekedni fogok a gazdasági alkalmazásokhoz vezet˝o együttm˝uködésre. Sz˝ukebb szakmai szempontból, várhatóan további izgalmas kutatómunka körvonalazódik a többszempontú értékelés Pareto frontjának interaktív és/vagy automatikus elemzésén alapuló módszerek kidolgozásában. Ehhez kapcsolódóan várható, hogy a sz˝ukebb értelemben vett optimalizálási feladatok mellett, további feladatok jelentkeznek a döntés támogató rendszerek területén.
20
˝ 7. A DISSZERTÁCIÓ TÉMAKÖRÉBOL MEGJELENT PUBLIKÁCIÓK Idegen nyelven teljes terjedelemben megjelen˝o közlemény: Aranyi, A., Temesvári, K., Csukás, B. and Balogh, S. (1998). Computer assisted design of industrial scale chromatographic separation. SPICA Strassbourg, 152–157. Balogh, S. (2009). Multicriteria decision support by genetic algorithm. Regional and Business Studies (under submitting). Csukas, B. and Balogh, S. (2001). Evolutionary synthesis of almost closed conservational processes. Gani and S. B. Jorgensen Eds., European Symposium on Computer Aided Process Engineering , Computer Aided Process Engineering, Elsevier 9, 381–386. Csukás, B. and Balogh, S. (1996). Combining genetic programming with generic simulation models in evolutionary synthesis. In, Bertrand, Jafari, Fransoo, Rutten Eds, 158–172. Csukás, B. and Balogh, S. (1998). Combining genetic programming with generic simulation models in evolutionary synthesis. Computers in Industry 36, 181–197. Csukás, B., Balogh, S. and Bánkuti, G. (2005). Generic bi-layered net model – general software for simulation of hybrid processes, in, daoliang li and Íbaoji wang eds., artificial intelligence applications and innovations ii. 2nd ifip conference of tc12 wg 12.5, springer. pp., 700–710. Csukás, B., Balogh, S., Kováts, S., Aranyi, A., Kocsis, Z. and Bartha, L. (1999). Process design by controlled simulation of the executable structural models. Comput. Chem. Engng. 23, 569–572. Csukás, B., Balogh, S. and Structures, E. (1997). Evaluation feedback between the generic simulation and the genetic synthesis. Joint Conf. of Information Systems, 1–5. 21
Csukás, B., Lakner, R., Varga, K. and Balogh, S. (1996). Combining genetic programming with generic simulation models in evolutionary synthesis. Comput. Chem. Engng. 20, 61–66. Temesvári, K., Aranyi, A., Balogh, S., Bánkuti, G. and Csukás, B. (2005). Computer-aided process design of the separation of a two-component steroid mixture by simulated moving bed technique. J. Ind. Chem. Hung. 32, 5–12. Temesvári, K., Aranyi, A., Balogh, S. and Csukás, B. (2004). Simulated moving bed separation of a two components steroid mixture. Magyar nyelven teljes terjedelemben megjelen˝o közlemény: Balogh, S., Csukás, B., Bartha, L., Kocsis, Z. and Kis, G. (2000). Szakaszos polimerizációs recept fejlesztése genetikus algoritmussal összekapcsolt dinamikus szimulátorral. M˝uszaki Kémiai Napok’ Veszprém, 36–40. Balogh, S., Csukás, B., Sógor, A., Budai, M. and Miklósi, M. (2004). Egy soktermékes üzemcsarnok oldószer szennyez˝odésének szimulációs vizsgálata. Acta Agraria Kaposvariensis 8(3). Balogh, S., Csukás, B., Takátsy, T. and Tari, C. (2000). Többérdek˝u logisztikai láncok fejlesztése genetikus algoritmussal összekapcsolt dinamikus szimulátorral. M˝uszaki Kémiai Napok’ Veszprém, 41–45. Balogh, S., Négyesi, G., Budai, M., Sógor, A. and Csukás, B. (2003). Szakaszos üzemcsarnok légtér szennyezettségének mérése és dinamikus szimulációja. M˝uszaki Kémiai Napok’ Veszprém, 284–290. Boity, O., Gudlin, G., Tari, C., Balogh, S., Csukás, B. and Takátsy, T. (2001). Kisérlet egy farmgazdálkodást segít˝o genetikus algoritmussal fejlesztett szimulátor kialakítására. M˝uszaki Kémiai Napok’ Veszprém, 242–247. Csukás, B. and Balogh, S. (2001). Egy konfigurálható, generikus, dinamikus szimulátor és újabb alkalmazási lehet˝oségei. M˝uszaki Kémiai Napok’ Veszprém, 45–50. 22
Kis, G., Csukás, B., Bartha, L., Kocsis, Z. and Balogh, S. (2000). Szakaszos polimerizációs m˝uvelet számítógéppel segített recept fejlesztése. M˝uszaki Kémiai Napok’ Veszprém, 29–51. Lukács, A., Takátsy, T., Csukás, B. and Balogh, S. (2001). Baromfiistálló energetikai és makroszint˝u metabolikus szimulációjának tapasztalatai. M˝uszaki Kémiai Napok’ Veszprém, 248–253. Takátsy, T., Csukás, B. and Balogh, S. (2000). Az állat és környezete kapcsolatának dinamikus szimulációja. M˝uszaki Kémiai Napok’ Veszprém, 22–28. Temesvári, K., Aranyi, A., Balogh, S., Bánkuti, G. and Csukás, B. (2004). Kétkomponens˝u szteroid elegy szimulált mozgó ágyas (smb) elválasztásának számítógéppel segített tervezése. Acta Agraria Kaposvariensis 8(3). El˝oadások: Aranyi, A., Csukás, B., Temesvári, K. and Balogh, S. (1997). Structural model based dynamic simulation of preparative hplc. International Symposium on Chromatography, Balatonszéplak, September, 3–5. Balogh, S. (2006). A genetikus algoritmussal kapcsolt generikus szimulátor szoftver implementációjának fejlesztése. V. Alkalmazott Informatika Konferencia. Balogh, S. and Csukás, B. (1995). A makroszint˝u modell, mint a mikro szint˝u modell genetikus kódja - a nem string típusú genetikus kód lehet˝oségei és korlátai. M˝uszaki Kémiai Napok’, 89–90. Balogh, S. and Csukás, B. (1996). Számítógéppel segített folyamattervezés a részletes modellel generált és értékelt genetikus algoritmussal. M˝uszaki Kémiai Napok’, 37–38. Balogh, S. and Csukás, B. (1997). Esettanulmány dinamikus szimuláció és genetikus algoritmus összekapcsolására. M˝uszaki Kémiai Napok’, 141–142. 23
Balogh, S. and Csukás, B. (1998). A genetikus programozás lehet˝oségei a folyamatmérnöki munkában. M˝uszaki Kémiai Napok’, 5–6. Balogh, S. and Csukás, B. (2001). A generikus szimulátorral visszacsatolt kapcsolatban m˝uköd˝o genetikus algoritmus és újabb alkalmazási lehet˝oségei. M˝uszaki Kémiai Napok’ Veszprém, 206–209. Balogh, S., Lakner, P. R. and Csukás, B. (1994). Többszempontú genetikus algoritmusok vizsgálata. M˝uszaki Kémiai Napok’, 26–28. Balogh, S., Négyesi, G., Budai, M., Sógor, A. and Csukás, B. (2003). Szakaszos üzemcsarnok légtér szennyezettségének mérése és dinamikus szimulációja. M˝uszaki Kémiai Napok’ Veszprém, 284–290. Barthó, I., Sinkó, B. I., Hantos, G., Balogh, S., Csukás, B. and Varga, M. (2006). Bioreaktor modelljének identifikálása és egy biokonverziós folyamat modell bázisú fejlesztése. Kaposvár május 26: V. Alkalmazott Informatika Konferencia. Csukás, B. and Balogh, S. (1998). Megmaradási folyamatok strukturális modelljének közvetlen leképezése végrehajtható program érték˝u adatbázisra. M˝uszaki Kémiai Napok’, 54–55. Csukás, B., Balogh, S., Takátsy, T., Bóity, O., Guldin, G. and Tari, C. (2001). Mérnöki logisztika az üzemirányításban. MTA Agrárm˝uszaki Bizottságának Tanácskozása, Gödöll˝o január, 23–25. Csukás, B., Debelak, K. A., Prokop, A., Balcarcel, R. R., Tanner, R. D., Bánkuti, G. and Balogh, S. (2003). Generic Bi-layered Net Model Based Discrimination of Chemical and Biological Warfare Agents, AIChE Annual Meeting, San Francisco, November 16-20. Manuscript 474f. Csukás, B., Kováts, S., Aranyi, A., Temesvári, T.-K. and Balogh, S. (1997). A valódi és szimulált mozgó ágyas folyamatos üzem˝u preparatív kromatográfia szimulációjának tapasztalatai. M˝uszaki Kémiai Napok’, 100–101. 24
Domonkos, D., Könczöl, K., Balogh, S., Csukás, B. and Varga, M. (2006). Rekombináns fehérje szintézis számítógépi modellen alapuló fejlesztésének lehet˝oségei. Katona, A., Balogh, S. and Csukás, B. (2006). A generikus kétréteg˝u háló modell fpga bázisú hardver implementációjának lehet˝oségei. Leh˝ocz, G., Balogh, S., Bánkuti, G. and Csukás, B. (2005). Gazdasági potenciál számításon alapuló lokális döntéseket támogató algoritmusok fejlesztése. Informatika a Fels˝ooktatásban’Konferencia, Debrecen, 24–26. Nagy, K., Csukás, B., Kis, G., Bartha, L. and Balogh, S. (2001). Study on preparation and properties of olefin-maleic-anhydride copolymers. 40th international petroleum conference. September, 17–19. Nagy, K., Kis, G., Bartha, L., Csukás, B. and Balogh, S. (2001). Olefin - maleinsavanhidrid kopoli-merek el˝oállítási körülményeinek és tulajdonságainak vizsgálata. M˝uszaki Kémiai Napok’ Veszprém, 24–26. Takátsy, T., Csukás, B., Balogh, S. and I., L. A. (2001). Az állati metabolizmus makroszint˝u dinamikus szimulációja mérnöki alkalmazásokra. MTA Agrárm˝uszaki Bizottságának Tanácskozása, Gödöll˝o január, 23–25. Temesvári, K., Aranyi, A., Csukás, B. and Balogh, S. (2001). Kisérletek és szimulációs vizsgálatok egy királis elválasztás szimulált mozgó ágyas megvalósíthatóságának elemzéséhez. M˝uszaki Kémiai Napok’ Veszprém, 24–26. Temesvári, K., Aranyi, A., Csukás, B. and Balogh, S. (2003). Simulated moving bed separation of a two components steroid mixture. International Symposium on Chromatography, Balatonszéplak, September, 4–6. Temesvári, T.-K., Csukás, B. and Aranyi, A. (1997). Determination of the equilibrium, hydrodynamic and kinetic parameters for the structural modeling of preparative hplc. International Symposium on Chromatography, Balatonszéplak, September, 3–5. 25
Varga, M., Bíró, B. B., Kitanics, B. T., Bánkuti, G. and Csukás, B. (2005). Vállalkozók adózási stratégiáinak szimulációja generikus kétréteg˝u háló modellel. Informatika a Fels˝ooktatásban’Konferencia, Debrecen, 24–26. Veizer, A., Bánkuti, G., Balogh, S. and Csukás, B. (2005). Metabolikus hálózatok generikus kétréteg˝u háló modelljének identifikálása. Informatika a Fels˝ooktatásban’Konferencia, Debrecen, 24–26.
26