Egy magyarországi élelmiszergyártó üzem termelésének és termelés-kiszolgálásának szimulációs vizsgálata, tapasztalatai Simon László, logisztikai rendszertervező, ECO-LOG-ING Bt. A feladatok jelentős részénél amennyiben nem végzünk szimulációt - csak a tapasztalatainkra hagyatkozhatunk a javasolt megoldás eredményességét tekintve. Alkalmasan megválasztott szimulációval, még a beruházás előtt lehetőség nyílik a rendszer vizsgálatára, tesztelésére, ill. meglévő rendszerek esetében a különböző módosítások várható hatásainak vizsgálatára a működő rendszer zavarása nélkül. 1 A szimulációs modellezés áttekintése 1.1 A digitális diszkrét szimulációs modellezés értelmezése [1] Fizikai Digitális Diszkrét Determinisztikus Modellezés Analitikus Hybrid Vegyes Sztochasztikus 1. ábra: A modellezés felosztása Szimulációs Analóg Folytonos Kvázideterminisztikus A jelen cikk szempontjából érdektelen modellezés-változatok részletezését mellőzve csak a diszkrét digitális szimulációs modellezést vizsgáljuk közelebbről. A paraméterek értékének megadásától függően három típust különböztethetünk meg. Determinisztikusnak nevezzük azt a szimulációs alváltozatot, amely során a szimuláció paramétereit rögzített értéknek tekintjük. Sztochasztikus esetben a paramétereket a matematikai statisztikai jellemzőikkel adjuk meg, úgy, mint eloszlás típus, várható érték, szórás, ferdeség, stb. A szimulációs szoftver ezen adatok felhasználásával állít elő a futtatások során pszeudo-véletlen számokat. Kvázideterminisztikus esetben az ismert eloszlásból bizonyos előre meghatározott konfidencia-szint figyelembe vételével a sztochasztikus adatokat determinisztikus értékké alakítjuk. 1.2 A szimulációs modellezés előkészítése [2] [3] Egy folyamat szimuláció segítségével történő vizsgálata gondos előkészítést igényel. A szimulációs projekt fő lépéseit az alábbi ábra szemlélteti. Vizsgálni kell a szimuláció feltételeit. Csak abban az esetben szükséges és szabad szimulációs módszerekhez folyamodni, ha az alábbi feltételek teljesülnek: A probléma más, egyszerűbb, analitikus úton nem megoldható A szimuláció kivitelezhető, a rendszer algoritmusokkal leírható Ha a vizsgálat alapján a szimulációs módszerek mellett született döntés, akkor pontosan meghatározandók azon kívánt jellemzők, amelyek alapján a szimuláció szükséges és elégséges mértéke megállapítható. Mind a túl részletes, mind a túl leegyszerűsített modell téves eredményhez vezethet. Az elégségesnél finomabb felbontású modell további veszélyei: Felesleges, nem hasznosuló többletmunka A probléma deklarálása, elemzése A rendszer felmérése, adatgyűjtés Modell készítés Modell ellenőrzés (verifikálás) Kísérletezés, analízis Értelmezés Dokumentálás A modell bővülése a hibaforrások számának növekedését eredményezi A túl finom paraméterek gyakran csak nehezen mérhetők és állíthatók be 2. ábra: A szimulációs modellezés folyamata A projekt túlburjánzása magában rejti a veszélyét külső résztvevőkben felmerülő szkepticizmusnak, esetleg a projekttagok elfáradásának, amelyek végül a projekt kudarcát okozhatják
1.3 Általunk alkalmazott szimulációs rendszer [4] Az üzemek, raktárak szimulációs modellje a Siemens által kifejlesztett, Tecnomatix PLM termékcsalád Plant Simulation rendszerében történik. A Plant Simulation alapvetően az anyagáramlási rendszerek modellezésére került kifejlesztésre, de a teljes mélységű programozhatóság adta rugalmassága révén ennél sokkal szélesebb körben használható fel. (Pl.: pénzügyi műveletek szimulációja) A Plant Simulation diszkrét, eseményvezérelt, objektumorientált szimulációs rendszer. Az eseményvezérlés lényege, hogy a folyamatosan előre haladó időben a rendszer csak a szimuláció szempontjából jelentéssel bíró, meghatározó események diszkrét pillanatait vizsgálja. Ilyen lényeges esemény lehet például, amikor egy darab megérkezik egy szállítószalag elemre, vagy amikor elhagyja azt. 3. ábra: Plant Simulation képernyőkép Az eseményvezérelt rendszerekben a szimuláció futtatása az idővezérelt rendszereknél jobban vizsgálható, ugyanis a változást nem okozó időintervallumok nem kerülnek megjelenítésre, így a fontos események hangsúlyosak. 1.4 A várt eredmények és a további lehetőségek A szimulációs modell felépítése és futtatása során a gyártás-kiszolgálási logisztikai folyamatok részletesen vizsgálhatók, elemezhetők. Meghatározhatók a kapacitást korlátozó szűk keresztmetszetek és a szükséges erőforrások. A paraméterek megfelelő optimalizációs algoritmus segítségével számíthatók. A szimulációs modell továbbfejlesztésével lehetőség nyílik a termelési program vizsgálatára. Ezáltal egy termeléstervezést támogató eszközként az előzetesen meghatározott termelési program átfutási ideje és módja pontosan meghatározható. Megfelelő algoritmus beépítésével a termelési program optimális sorrendje is automatikusan definiálható. 2 A modellezett üzem ismertetése Kimérés Big-Bag-es kimérés Kézi kimérés Keverés Fűszerkimérés A vizsgált üzem jellemzően por alakú élelmiszeripari termékek gyártásával foglalkozik. Fő technológiai lépések: kimérés, keverés, pihentetés, felöntés, csomagolás, rakatfóliázás, kiszállítás. A gyártási folyamatot az alábbi ábra szemlélteti. Látható, hogy az egyes lépések jellemzően szekvenciálisan követik egymást. Kivételt képez ez alól a tisztítás/takarítás. Élelmiszeriparról lévén szó, a tisztítás/takarítás kiemelt szerepet játszik a gyártás során, valamint a fő folyamattal párhuzamosan értelmezhető. A tisztítási/takarítási művelet a különböző eszközök és berendezések jelentős időtartamú foglaltságát idézi elő. Az egyes munkaállomások közötti anyagmozgatás egyrészt kézi úton, görgős rozsdamentes kocsik segítéségével, másrészt elektromos gyalogkíséretű targoncák segítségével, raklapon történik. Pihentetés Felöntés Csomagolás Rakatfóliázás Kiszállítás 4. ábra: A vizsgált üzem fő folyamata
3 A szimuláció felépítése Minden szimulációs vizsgálat előtt nélkülözhetetlen lépés a készítendő modell határainak meghatározása mind vertikális, mind horizontális értelemben, azaz ki kell jelölni a modell vizsgálati mélységét, és topológiai határait. Mivel a szimuláció célja nem az operatív szintű konkrét gyártási program vizsgálata, hanem a rendszer globális, stratégiai-taktikai szintű elemzése, a modell és az adatbázis mélysége is ennek megfelelő. Nem tér ki az egyes alapanyagok szintjére, mert a kiszolgálás szempontjából csak az egyes műveleti állomásokon eltöltött idő a meghatározó. A futtatások eredményei az üzem szakembereivel közösen beállított paramétereknek köszönhetően a próbafuttatások eredményei alapján jól közelítik a valóságban tapasztalt értékeket, így a szimuláció és az abból levonható következtetések megbízhatónak tekinthetők. Topológiai szempontból a határokat az alapanyagraktár átadó, és a késztermékpuffer átvevő felülete jelenti, ezáltal a szimuláció kizárólag a gyártóüzemre koncentrál. 4 A szimuláció bemutatása A vizsgálat alapját képező szimulációs modell készítése során az üzem alaprajzát, mint layout felhasználtuk, így a modell a valós körülmények és viszonyok között működik. Fontos megemlíteni, a programozhatóság jelentőségét. Minden szimulációs keretrendszer tartalmaz sokféle beépített, paraméterezhető elemet. Lényeges azonban ezek az elemek a gyors modellépítés lehetőségén túl ne jelentsék a rendszer korlátját is. Ugyanis a legszélesebb skálán paraméterezhető elemkészlet sem képes minden valós folyamatot leképezni. Így volt ez ebben az esetben is. A valóság lehető legpontosabb megközelítése érdekében a 5. ábra: A modellek építőelemei modellezés során számos kisebb-nagyobb programrészlettel volt szükséges kiegészíteni az objektumokból összeállított rendszert. Az alkalmazott szoftver ezt messzemenően támogatja, ez adja a végtelen rugalmasságát. 4.1 A termelés-kiszolgálás vizsgálata, a gyártási állomások vizsgálata A különböző gyártási programokkal végzett futtatások eredményei alapján általános következtetések vonhatók le a rendszer működésére vonatkozóan. Megállapíthatók az egyes műveleti állomások jellemző kihasználtsága, azok megoszlása a különböző műveleti lépések között. Természetesen nem csak állomásokra, hanem mozgó objektumokra is lekérdezhetők tetszőleges statisztikák. 6. ábra: Lekérdezett kimutatások 4.2 Szűk keresztmetszet vizsgálat Az alkalmazott szimulációs keretrendszer beépített lehetőséget biztosít egyes komplex vizsgálatok elvégzésére. Ilyen pl. a Shankey-diagram, vagy a szűk-keresztmetszet vizsgálat.
A modellen elvégzett szűk-keresztmetszet vizsgálatok alapján megállapítást nyert, hogy a gyártórendszer kapacitását a technológiai sor végén álló fóliázó berendezés határozza meg. Ezen állomás kapacitásának növelésével, vagy újabb fóliázó munkahely beállításával a termelés a kimérés-csomagolás által meghatározott kapacitáshatárig növelhető, ill. ezen kapacitástartalék kihasználható. A gyakorlati tapasztalatok visszaigazolták a szimuláció eredményét és ma már két fóliázógép üzemel a gyárban. 5 Optimalizálás A szimulációs modell megépítése, működési helyesség ellenőrzése (validálás) és egyes futtatások kiértékelése sok esetben nem elegendő. Gyakori igény a rendszer paramétereinek valamilyen célfüggvény szerint történő optimalizálása. Amennyiben egyetlen paraméter meghatározása a cél, akkor viszonylag egyszerű módon, akár pár jól megválasztott érték futtatásával meghatározható egy, a keresett optimumot elfogadható mértékben közelítő alternatíva. Sokkal összetettebb a feladat, ha egyszerre több paraméter meghatározása a feladat, és ezek a jellemzők nem függetlenek, hanem hatással vannak egymásra. Jellemző példaként említhető, hogy 20 ember 20 feladatra történő szétosztás problémájának vizsgálata 20!=2,42 10 18 megoldási változatot jelent, amelynek teljes körű kiértékelése 1 ms/megoldási alternatíva számítási sebesség esetén 77 147 816 évig tartana. A fent vázolt problémák kezelésére több algoritmus ismert. Ezek közül a legáltalánosabban használható, legnagyobb referenciával rendelkező módszer a természetben zajló evolúciós fejlődést utánzó genetikus algoritmus (GA). A vizsgált üzem logisztikai erőforrásigényének meghatározása is ilyen, több paraméteres optimumkeresési probléma, amelynek megoldására a globális optimumkeresési módszerek közül a genetikus algoritmust választottuk. 5.1 Genetikus algoritmusok [5] [6] Az algoritmus a darwini evolúciós elméletre és a genetika alapjaira épül. A modell egyszerre több lehetséges megoldási változattal, ún. egyedekkel dolgozik, amelyek összességét populációnak nevezzük. Az egyedek között véletlenszerű eloszlásban előfordulnak optimumközeli és akár teljesen elfogadhatatlan megoldások is. A természethez hasonlóan az algoritmus a populáció ciklikus frissítésével működik, amely során újabb és újabb generációk jönnek létre. Míg az élőlények jellemzőit a kromoszómákban tárolt génállományuk, a genetikus algoritmus egyedeit a megoldási változat paraméter-kombinációja írja le. A generációk létrehozásának módja az öröklődés jegyeit hordozza. A szelekció alapján a rátermettebb egyedek nagyobb valószínűséggel szaporodnak, mint a kevésbé életképesek. A rátermettséget a GA terminológiájában fitness-értéknek nevezzük, amely a megfelelően megválasztott fitness-függvény segítségével határozható meg. A generációk között a folyamatosságot a szülő egyedek génkombinációjának másolása (rekombináció), a továbbfejlődést, a körfolyamatba történő esetleges beragadást a véletlenszerű módosítás, a mutáció garantálja. 5.2 Optimalizálás VÉGE Igen START Inicializálás (Kezdeti populáció létrehozása) Kiértékelés (Fitness-érték meghatározása) Skálázás (Fitness-értéknől származtatott rátermettségi érték) Kiválasztás, szelekció (A szaporodásra történő kiválasztás) Keresztezés, rekombináció (A szülők génállományából az új egyed génállományának képzése) Mutáció (A létrejött génállományba zajok, véletlenszerű eltérések keltése) Reprodukció (Az új egyedekből az új populáció létrehozása) Kilépési feltétel Nem 7. ábra: A GA általános folyamatábrája A konkrét üzem esetén a cél az egyes épületszinteken dolgozók és az általuk használt gyalogkíséretű targoncák együttes optimális számának meghatározása volt. Ez összesen 7 ismeretlen paramétert eredményezett. Az optimumot meghatározó célfüggvényt az üzem fajlagos eredményessége képezte, amelyet az üzem fajlagos bevétele és fajlagos költségeinek különbségeként definiáltunk.
- A fajlagos megtermelt eredmény, ahol a termelési program i-edik elemének képződő késztermék-rakatszáma - A termelési program alapján elkészült termékek száma - A maximális várakozási időt túllépő selejt termékek száma A j-edik változat teljes futási ideje [óra] - a termelési program i-edik eleméhez rendelt bevétel [egység/késztermék tömeg] A j-edik változat, k-adik erőforrásának mennyisége. A GA génjei. A k-adik erőforráshoz rendelt költség [egység/óra] Az eredmény alakulását generációról-generációra az alábbi diagram szemlélteti. Megfigyelhető, hogy mind a fajlagos költség, mind a fajlagos bevétel esetében vannak ingadozások a függvény menetében, de a célfüggvény, a fajlagos eredményesség monoton nő. Levonható a következtetés, miszerint az optimumot nem feltétlenül a költségek minimuma, vagy a bevételek maximuma jelenti, hanem a kettő különbözete. 8. ábra: A generációnkénti eredmények Irodalomjegyzék, hivatkozások: [1] Számítógépes szimuláció http://www.rit.bme.hu/letoltheto/szamszim/szamszim.html Dr. Lipovszki György; Rendszer és Irányítástechnika Tanszék; egyetemi jegyzet Budapest, 1997. [2] Diszkrét Szimuláció Dr. Jávor András SZIF-UNIVERSITAS Kft. [3] Plant Simulation verzió 7.2- Tanfolyam segédlet UGS Corp. 2008. 12.09. [4] graphit Kft. Plant Simulation http://www.graphit.hu/default.aspx?tabid=360 [5] Genetikus algoritmusok Álmos Attila, Győri Sándor, Horváth Gábor, Várkonyiné Kóczy Annamária Typotex Kiadó, Budapest, 2002 [6] Evolúciós algoritmusok Borgulya István Dialóg Campus Kiadó, 2004