HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL OLÁH Béla
A TERMELÉSÜTEMEZÉS MEGFOGALMAZÁSA Flow shop: adott n számú termék, melyeken m számú különböző munkafolyamatot kell elvégezni. A technológiai útvonal (az összes termékre azonos), és a műveleti idők adottak. Meg kell határozni a termékek sorrendjét a gépeken, mely célfüggvények gép állásidő A p 1 =4 p 2 =10 p 3 =6 p 4 =7 p 5 =1 5 holtidő B p 1 =9 p 2 =3 p 3 =7 p 4 =6 p 5 =8 4 1 3 6 C 13 p 1 =3 p 2 =10 p 3 =2 p 4 =14 p 5 =9 4 1 5 D p 1 =7 p 2 =7 p 3 =5 p 4 =4 p 5 =11 16 4 8 5 átfutási idő = 67 idő
MEGOLDÁSI VÁLTOZATOK KIÉRTÉKELÉSE reprezentálás
HOLTIDŐK ÉS ÁLLÁSIDŐK KIÉRTÉKELÉSE
SORREND-MEGHATÁROZÁS MÓDSZEREI NP-teljes probléma heurisztikus eljárások Az utóbbi évtizedekben más megközelítési módok (összefoglaló néven természetes számítások) is elterjedtek: Neurális hálózatok (NN), Genetikus algoritmusok (GA), Membrán-rendszerek (PS), Molekuláris számítások (MC), Kvantumszámítógépek (QC).
A GENETIKUS ALGORITMUS FOLYAMATÁBRÁJA Induló populáció generálása Kiértékelő függvény További optimalizálás nem Legjobb egyed igen eredmény Start Új populáció generálása Kiválasztás Klónozás alkalmazott kódolás, egyed, populáció, alkalmasság Mutáció Keresztezés A GA lényege, hogy rendelkezik a lehetséges megoldások egy populációjával, a populáción értelmezett a kiválasztási folyamat - mely az egyedek alkalmasságán alapul - és értelmezett néhány genetikus operátor.
FELHASZNÁLÓI FELÜLET TÁMOP-4.2.2.B-15/1/KONV-2015-0015
A GENETIKUS ALGORITMUS ÁLTAL SZOLGÁLTATOTT HOLTIDŐ- ÉRTÉKEK AZ ITERÁCIÓSZÁM FÜGGVÉNYÉBEN 4550 4450 4350 4250 4150 4050 3950 5 10 25 50 75 100 125 150 175 200 250 300 350 425 500 600 750 1000 Ugyanazon (20 gépes, 25 termékes) feladatra 30-szor lefuttatott genetikus algoritmus által szolgáltatott holtidő értékek átlagai a populáció méretének (150) változatlanul hagyása mellett a legjobb kiválasztási stratégiát, valamint 4%-os klónozást, 16%-os mutációt és 80%-os keresztezést használva.
A GENETIKUS ALGORITMUS ÁLTAL SZOLGÁLTATOTT HOLTIDŐ- ÉRTÉKEK A POPULÁCIÓMÉRET FÜGGVÉNYÉBEN 4325 4275 4225 holtidő 4175 4125 4075 4025 3975 0 250 500 750 1000 1250 1500 populáció-méret Ugyanarra a 25 termékes feladatra elvégezve a vizsgálatot 30 futtatás utáni holtidő értékek átlagai a populáció méretének függvényében az iteráció-szám változatlanul hagyása mellett a korábbi beállítási lehetőségeket megtartva, hasonló jellegű görbét adtak.
A KIVÁLASZTÁSI STRATÉGIÁK ÖSSZEHASONLÍTÁSA A HOLTIDŐ ÉS ITERÁCIÓ-SZÁM FÜGGVÉNYÉBEN 4550 4450 holtidő 4350 4250 4150 4050 random best rulett 3950 0 100 200 300 400 500 600 700 800 900 1000 iterációszám Megállapítható, hogy a véletlen kiválasztás adja a leggyengébb eredményeket, míg a rulett-kerék szelekció kicsivel (közel 1 %-kal) mindig jobb megoldásokat szolgáltat ugyanannyi iterációt követően. Kijelenthető, hogy a best kiválasztódás eredményezi a legjobb megoldásokat a leggyorsabban.
HOLTIDŐ-ÉRTÉKEK A POPULÁCIÓMÉRET ÉS TERMÉKSZÁM FÜGGVÉNYÉBEN AZONOS FUTÁSIDŐ ALATT Ugyanazon 20 gépes feladatra a GA által 30 futtatás után szolgáltatott holtidőértékek átlagai a populáció méretének és a termékszám függvényében ugyanakkora futásidő alatt a legjobb kiválasztási stratégiát, 4%-os klónozást, 16%-os mutációt és 80%-os keresztezést használva. Az azonos futásidő úgy érhető el, hogy az alkalmazott populáció mérete és az iteráció szorzata állandó (ez esetben 15.000), azaz ugyanannyi individuumot vonok be a vizsgálatba. Látható kék vonallal be is jelölve, hogy a feladat méreteinek növekedésével nem a várt növekedés, hanem csökkenés mutatkozik az optimális populációnagyságra vonatkozóan ugyanakkora futásidőt feltételezve. idle time 7025 6670 6315 5960 5605 5250 4895 4540 4185 3830 3475 1500 1000 750 500 375 250 150 100 75 50 population size job99 job75 job50 job25 job10
A KLÓNOZÁS ÉS A MUTÁCIÓ ARÁNYÁNAK VIZSGÁLATA A HOLTIDŐK SZEMPONTJÁBÓL 4400 4300 4200 4100 4000 3900 3800 1 2 4 5 10 15 20 25 30 33 40 50 60 75 80 85 90 95 A genetikus algoritmus a klónozás operátor 10 és 60 % közötti értéke esetén eredményezte a legkisebb holtidő értékeket csak mutációt használva. A minimumot a 30 %-os másolás (és ezáltal 70 %-os mutáció) jelentette.
A KLÓNOZÁS ÉS A KERESZTEZÉS ARÁNYÁNAK VIZSGÁLATA A HOLTIDŐ-ÉRTÉKEK FÜGGVÉNYÉBEN 4500 4450 4400 gépi holtidők 4350 4300 4250 4200 4150 4100 99 98 96 95 90 85 80 75 70 67 60 50 40 33 25 20 15 10 5 4 2 keresztezés [%] A genetikus algoritmus a klónozás operátor 25 és 85 % közötti értéke esetén eredményezte a legkisebb holtidő értékeket csak keresztezést használva. A minimumot ugyan a 75 %-os másolás (és ezáltal 25 %-os keresztezés) jelentette.
A MUTÁCIÓ ÉS A KERESZTEZÉS ARÁNYÁNAK VIZSGÁLATA 10%-OS KLÓNOZÁSNÁL A HOLTIDŐK SZEMPONTJÁBÓL 4200 4175 4150 4125 4100 4075 4050 4025 0 1 2 4 5 10 15 20 23 25 30 33 40 50 57 60 65 67 70 75 80 85 86 88 89 90 A mutáció arányának 57 %-ig történő növelésével folyamatosan javulnak a GA által szolgáltatott holtidő-értékek, ezután viszont folyamatos, igaz csekély mértékű gyengülés következik be.
KERESZTEZŐ OPERÁTOROK ÉRZÉKENYSÉGVIZSGÁLATA A GA által szolgáltatott holtidő-értékek vegyes, csak Cycle-Crossover (CX) és csak Order- Crossover (OX) keresztező operátorok használatakor. A CX operátor átlag 2%-kal gyengébb eredményeket szolgáltat a mindkét szisztémát egyformán használó keresztezéshez képest. Az OX keresztező operátor átlag 1,1%-kal még a CX keresztezésnél is rosszabb. Meglepő, hogy amikor fele-fele arányban van alkalmazva a két operátor az átlagos fitnesz-érték mégis jobban közelíti az optimális értéket, mint külön-külön bármelyiknél. Konkrét feladatnál tehát érdemes a keresztező eljárások széles skáláját használni. gépi holtidők 4500 4450 4400 4350 4300 4250 4200 4150 4100 99 98 96 95 90 85 80 75 70 67 60 50 40 33 25 20 15 10 5 4 2 keresztezés [%] 4500 4500 4450 4450 4400 4400 gépi holtidők 4350 4300 4250 gépi holtidők 4350 4300 4250 4200 4200 4150 4150 4100 99 98 96 95 90 85 80 75 70 67 60 50 40 33 25 20 15 10 5 4 2 4100 99 98 96 95 90 85 80 75 70 67 60 50 40 33 25 20 15 10 5 4 2 keresztezés [%] keresztezés [%]
MUTÁCIÓ OPERÁTOROK ÉRZÉKENYSÉGVIZSGÁLATA A GA által szolgáltatott holtidő-értékek különböző mutáció operátorok használata esetén gépi holtidők 4675 4600 4525 4450 4375 4300 4225 4150 4075 4000 99 98 96 95 90 85 80 75 70 67 60 50 40 33 25 20 15 10 5 4 2 mutáció [%] vegyes simple inversion reciprocal exchange swap displacement A négy mutáció operátor közül kettő sokkal jobb eredményeket szolgáltat a másik kettőnél. A legjobb megoldásokat a reciprocal exchange mutáció alkalmazása adja, de alig marad el tőle a simple inversion operátor, ami csak átlag 2,5%-kal generál gyengébb célfüggvény-értékeket. Ezzel szemben a swap mutáció már közel 9,5%-kal rosszabb, mint a reciprocal exchange, míg a displacement operátor több mint 12%-kal, így kijelenthető, hogy ez utóbbi mutáció használata eredményezi a legnagyobb holtidőket. A keresztező operátorok vizsgálatával ellentétben, nem mondható el, hogy a mutációs eljárások együttes alkalmazásakor kapnánk a legjobb eredményeket, bár az operátorokat egyenlő arányban alkalmazó vegyes megoldás grafikonja szinte teljesen egyezik a legkisebb értékeket felvonultató reciprocal exchange mutációéval.
ÖSSZEHASONLÍTÁS AZ ÁTFUTÁSI IDŐ SZEMPONTJÁBÓL 1600 1500 1400 1300 Genetic Dannenbring Palmer Ad hoc 1200 1100 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 A Dannenbring és a Palmer módszer közelítése között átlagban (~1345) szinte semmi eltérés sincs. A genetikus algoritmus viszont már az első iterációban az ad hoc sorrend (~1469) eredményeihez közeli értéket produkál, 3-4 iteráció után pedig a heurisztikus módszereknél is jobb megoldást készít, továbbá 100 iteráció befejeztével (~1228) közel 20%-ot javít az ad hoc sorrenden, szemben a többi heurisztikus módszer 8%-val.
A HOLTIDŐK SZEMPONTJÁBÓL TÁMOP-4.2.2.B-15/1/KONV-2015-0015 13000 12000 11000 10000 9000 Genetikus Ad hoc Dannenbring Palmer 8000 7000 1 3 5 7 9 11 13 15 17 19 Ha a gépek holtideje, illetve a termékek állásideje célfüggvények szempontjából hasonlítjuk össze a genetikus algoritmus hatékonyságát a többi heurisztikus módszerrel, még megdöbbentőbb eredményhez jutunk. Ami nem is annyira meglepő, ugyanis jelen heurisztikus módszereket csak az átfutási idő optimalizálására fejlesztették ki. A holtidők minimalizálása tekintetében a Dannenbring és a Palmer módszer átlagban szintén 8%-ot javít az ad hoc sorrenden, de óriási a szórása a két módszernek. A GA viszont több mint 25%-kal jobb az ad hoc sorrendnél 100 iterációt követően.
A TERMÉKEK ÁLLÁSIDEJÉNEK SZEMPONTJÁBÓL 13000 12000 11000 10000 9000 8000 Genetikus Ad hoc Dannenbring Palmer 7000 6000 1 3 5 7 9 11 13 15 17 19 A termékek állásidejének optimalizálása esetén még nagyobb az eltérés a genetikus algoritmus javára. A GA közel 35%-kal jobban közelíti az optimális megoldást, mint az ad hoc sorrend! Meglepően jól szerepelnek a heurisztikus módszerek is, a Dannenbring 16%-ot, a Palmer 13%-ot javít az ad hoc sorrend eredményein.
ÖSSZEFOGLALÁS TÁMOP-4.2.2.B-15/1/KONV-2015-0015 A genetikus algoritmusra és az ismert heurisztikus módszerekre épülő software készítése A genetikus algoritmus összehasonlító elemzése a heurisztikus módszerekkel logisztikai célfüggvények figyelembevételével Kiválasztási stratégiák és az operátorok hatékonyságának vizsgálata A genetikus operátorok arányának optimálása Továbbfejlesztési lehetőségek ismertetése A módszer kidolgozása job-shop és open-shop típusú ütemezési feladatokra A feladat kiterjesztése hálózatszerűen működő termelés esetére A genetikus algoritmus összehasonlítása más természetes számításon alapuló módszerekkel: Ant colony algorithm Megerősítéses tanulás Neurális hálózatok Molekuláris számítások Új keresztező és mutáció operátorok megalkotása stb.
KÖSZÖNÖM A FIGYELMET!
A JOB-SHOP ÜTEMEZÉSI FELADAT (JSSP) A job-shop ütemezési feladatban j munka (job) és m gép (machine) van. Minden egyes munka feladatok halmazából áll, melyek mindegyikét különböző gépen kell megmunkálni különböző megmunkálási idővel, egy előre megadott munkafüggő sorrendben. 1. gép 2. gép 3. gép 4. gép p 1 =3 p 4 =5 p 3 =9 p 6 =10 p 2 =10 p 5 =3 p 2 =8 p 4 =5 p 6 =3 p 1 =6 p 5 =3 p 3 =1 p 3 =5 p 1 =1 p 3 =4 p 2 =5 p 5 =9 p 4 =5 p 6 =1 p 6 =3 p 4 =3 p 1 =7 p 2 =4 p 5 =1 5. gép p 2 =10 p 5 =5 p 3 =7 p 4 =8 p 6 =4 p 1 =6 6. gép p 3 =8 p 6 =9 p 2 =10 p 5 =4 p 1 =3 p 4 =9 0 55 idő
AZ OPEN-SHOP ÜTEMEZÉSI FELADAT (JSSP) Az open-shop ütemezési feladat (OSSP) hasonló a job-shop problémához, azzal a kivétellel, hogy nincs prioritási sorrendje a műveleteknek egy terméken belül. TÁMOP-4.2.2.B-15/1/KONV-2015-0015 1. gép p 2 =7 p 4 =54 p 1 =64 p 3 =74 p 5 =80 2. gép p 1 =66 p 3 =70 p 5 =45 p 2 =69 p 4 =45 3. gép p 3 =60 p 2 =68 p 5 =10 p 4 =98 p 1 =31 p 3 =1p 2 =14 4. gép p 5 =15 p 4 =76 p 1 =85 5. gép p 4 =13 p 2 =18 p 5 =91 p 1 =44 p 3 =90 0 300 idő
HÁLÓZATSZERŰEN MŰKÖDŐ ÖSSZESZERELŐ RENDSZER beszállítók B 1... B i... B x alapanyag elosztó raktárak AER 1... AER j... AER m összeszerelő üzemek Ü 1... Ü λ... Ü n késztermék elosztó raktárak KER 1... KER κ... KER r felhasználók F 1... F µ... F w
GA VS. MEGERŐSÍTÉSES TANULÁS (HOLTIDŐK SZEMPONTJÁBÓL) 6000 5500 5000 4500 4000 3500 3000 2500 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 Boltzmann GA Dannenbring Palmer Ha a genetikus algoritmus hatékonyságát hasonlítjuk össze a szimulált hűtéssel kombinált megerősítéses tanulás eredményeivel a gépek holtidejének minimalizálása érdekében (30 különböző húszgépes esetben a termékek számát egytől harmincig növelve) azt tapasztalhatjuk, hogy a genetikus algoritmus eleinte azonos eredményt produkál a megerősítéses tanulással (úgy kb. tíztermékes esetig), majd a termékek számának növelésével egyre inkább kiütközik a két módszer közötti különbség természetesen a GA javára. Számszerűsítve az eredményeket a genetikus algoritmus átlagban közel 8%-kal eredményezett jobb megoldást, mint a megerősítéses tanulás, de ahogy a 2. ábrán is látható a berajzolt trendfüggvény a termékek számának növekedésével közel exponenciálisan növekszik (25-30 termékes feladatoknál már 10-12 százalék a különbség)! Persze ez nem fokozható a végtelenségig, de az megállapítható, hogy a GA nagyobb termékszám esetében sokkal jobban közelíti az optimális megoldást, mint a megerősítéses tanulás. A genetikus algoritmus általában már a 20. iterációt követően előállt olyan eredménnyel, ami már jobb volt, mint a szimulált hűtéssel kombinált megerősítéses tanulás által adott eredmény. % 14 12 10 8 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 termékek száma GA %-os javítása a megerősítéses tanuláshoz képest
A KERESZTEZŐ ÉS MUTÁCIÓ OPERÁTOROK ISMERTETÉSE TÁMOP-4.2.2.B-15/1/KONV-2015-0015
DIA CÍMSOR TÁMOP-4.2.2.B-15/1/KONV-2015-0015