SZIMULÁCIÓ FOGALMA: Olyan módszer, amely alkalmas a folyamatok valósághű modellezésére, és vele értékelhetőek a folyamat- és rendszer-állapotváltozások. A folyamat leutánzása, modellezése. Állapotváltozások mintavételezése. A mintavételezések matematikai-statisztikai kiértékelése. A SZIMULÁCIÓ CÉLJA: Tervezési hiba elkerülése bonyolult gépeknél, komplex rendszereknél, Tervezési változatok összehasonlítása, Dinamikus és sztochasztikus folyamatok elemzése, Határteljesítmények és állapotok meghatározása, Irányítási stratégiaváltozatok összehasonlítása, Működési zavarok és azok elhárításának modellezése, Minősítő paraméterek, befolyásoló tényezők vizsgálata.
MILYEN FELADATOKNÁL HASZNÁLHATÓ? Meglévő gépek, folyamatok, rendszerek működésének vizsgálata, értékelése, javítása, Gépek, folyamatok, rendszerek tervezése, Gépek, folyamatok, rendszerek paramétereinek optimalizálása, Gépek vezérlése, folyamatok, rendszerek irányítása. MIKOR SZÜKSÉGES SZIMULÁCIÓ? Bonyolult gépeknél, komplex, nagyméretű rendszereknél determinisztikus folyamatok esetén, Gépeknél, folyamatoknál, rendszereknél, ha véletlenszerű hatások lépnek föl (sztochasztikus folyamatok), o termelési folyamatok működési zavarai, o a kiszolgálási folyamat szabálytalanságai, o gépek, géprendszerek működési zavarai, o az irányító rendszer zavarai, o környezeti bizonytalanságok.
SZIMULÁCIÓS MODELLEK OSZTÁLYOZÁSA Vizsgálat tárgya: Valóságos rendszer Modell matematikai fizikai Folyamat jellege: Determinisztikus Sztochasztikus Fuzzy Folyamat idõbeni lefolyása: Folyamatos Diszkrét Végrehajtás módja: Manuális Számítógépes Digitális Analóg Hibrid Interaktív Kötegelt (batch) Animáció nélkül Animációval Szakaszos Folyamatos
A SZIMULÁCIÓ FÁZISAI: Folyamatanalízis, Modellalkotás, Folyamatstruktúra, Működési stratégia, Bemenő és kimenő adatok megadása, Belső adatok, kimenő adatok előállítására szolgáló algoritmusok, Programozás, Szimulációs futtatás: o bemenő adatok realizálása, o kimenő adatok meghatározása, A kapott eredmények kiértékelése, Ha szükséges a modell javítása.
A SZIMULÁCIÓ ÁLTALÁNOS MODELLJE START Keresett mennyiségek, hatékonysági mutatók összeállítása Pl.:-szükséges tárolókapacitás - várakozási idõk - berendezések kihasználtsága A bemenõ mennyiségek és függvények alakulásának vizsgálata pl.: - bizonyos helyeken állandó - idõközû feladások - kiszolgálási igények alakulásának eloszlásfüggvénye A rendszer mûködésének leírása, modellalkotás pl.: - konténeres daru mikor, hova, honnan rakodik (egyszerû) - kétpályás konvejor rendszernél ez bonyolultabb (váltok, útvonalak) Keresett mennyiségek elõállítására szolgáló algoritmus megalkotása ez a leghosszadalmasabb, de a legfontosabb része a szimulációnak Soronkövetkezõ adat (véletlenszerûségének) realizálása idõléptetés Kimenõ adatok elõállításához szükséges jellemzõk képzése az algoritmus segítségével Nem Realizáltuk-e a kívánt pontossághoz szükséges kimenõ adatot Igen Keresett mennyiségek, hatékonysági mutatók meghatározása, statisztikus kiértékelése Pontossági vizsgálat STOP
RENDSZERPARAMÉTEREK Bemenő paraméterek: o állandók, a rendszert jellemző, de a folyamat során állandó paraméterek. kiszolgálógépek száma, maximális tárolókapacitás, stb. o véletlen változók, melyek pl.: eloszlás függvényeikkel adottak kiszolgálási igények jelentkezése, kiszolgálási időtartamok o kezdeti állapotjelzők Függő változók: a bemenő adatokból, állandó és véletlen változókból képezhető jellegzetes függőváltozók, pl.: o kiszolgálásra váró igények száma, o kiszolgáló eszközök várakozási ideje, stb. Kimenő paraméterek: hatékonysági jellemzők, melyek a független és függő változók halmazából statisztikai kiértékeléssel képezhetők, pl.: o kiszolgálásra váró igények eloszlása, várható értéke, szórása, o várakozási idők eloszlása, o eszközkihasználások
SZIMULÁCIÓS ALGORITMUS NÉHÁNY SAJÁTOSSÁGA A rendszer állapotai: o közönséges állapot: állapotváltozók nem változnak ugrásszerűen. Pl.: egypályás konvejornál nincs feladás, leadás csak egy követési időnyi előrehaladás van o különleges állapot: állapotjellemzők ugrásszerűen változnak, feladások leadások vannak. ALGORITMUS SZERKESZTÉSI ELV: o t elv: található egy olyan egységnyi idő. melynek csak egészszámú többszörösein következhet be állapotváltozás. o különleges állapotok elve: (futtatási idő talán rövidebb, de az algoritmus bonyolultabb)
FOLYAMATOK JELLEMZÉSE: y Instac. Stac. Instac. Stac. x
MIKOR LÉP FEL INSTACIONÉR FOLYAMAT? A termelési, ill. szolgáltatási folyamat indításakor és leállításakor. A termelési, ill. szolgáltatási folyamatban programváltás során (pl. egy szereldében termékváltásnál). HOGYAN KELL KEZELNI AZ INSTACIONÉR FOLYAMATOT? Szét kell választani a stacionér és instacionér folyamatot, és külön-külön kell kiértékelni (pl. egy egyváltozós eloszlás függvényét kell meghatározni). Szétválasztás a jellegzetes változó várható értékének, szórásának elemzése alapján. Hogyha csak a stacionér állapot vizsgálata szükséges, akkor, ha tudjuk a kezdő állapotot, ennek beállításával elkerülhető a szimulációs eljárásnál az instacionér folyamat rész megjelenése (pl. egy raktári betárolásnál bizonyos rekeszekben a folyamat jellegénél egy kezdő áruelrendezésből indulunk ki).
VÉLETLEN VÁLTOZÓK (SZÁMOK) GENERÁLÁSA GENERÁLÁSI MÓDOK: számozott papírdarabok kihúzása dobozból kézi úton végrehajtott szimulációval (fizika: szim.), rövid bemutatóknál véletlen szám táblázatok (1927-től) legismertebb RAND Corporation táblázata ilyen célra tervezett speciális gépek fentiek nem megfelelő véletlen szám források a digitális számítógépek számára pl.: táblázat adatait memóriában, vagy periférián (szalag, dob, kártya) kell tárolni nagy kapacitást foglal, speciális gépek nem kapcsolhatók a digitális géphez hatékony numerikus módszerekkel, magában a digitális számítógépben generálunk véletlen számokat véletlen szám generáló könyvtári program (csak be kell hívni a véletlen számot) KÖVETELMÉNY A VÉLETLEN SZÁMOKKAL SZEMBEN: reprodukálható legyen a sorozat (modellt ugyanazon véletlen számokkal, de más paraméterekkel futtatom le) számok valóban véletlenek legyenek (a kívánt eloszlást hozzák) ellenőrzési próbákkal ne legyen degenerált a számsorozat (ne alakuljon ki hurok)
1., EGYENLETES ELOSZLÁSÚ VÉLETLEN VÁLTOZÓ SZÁM (egyszerűen véletlen szám) közvetlenül használhatók felhasználhatók más eloszlású véletlen változó generálására Sűrűségfüggvénye: f(x) = 1 0 x 1 x - a véletlen szám x' = a + x (b-a) x=0 x'=a x=1 x'=b tizedespont tologatásával 0-1 0-0,1 0-10 0-10000 közötti egyenletes eloszlású véletlen számok képezhetők
NUMERIKUS MÓDSZEREK VÉLETLEN SZÁM ELŐÁLLÍTÁSÁRA NÉGYZETKÖZÉP MÓDSZER Elindulunk egy tetszőleges n (általában v. szám) jegyű x0 számmal, képezzük x1-et x0 négyzetre emelésével és a középső n jegy kiírásával... x0= 3456 x0 2 = 11943936 x1= 9439 x1 2 = x2= 0947... 9439 4501 0756 0947.. 8968.. 4250.. 0625.. 3906.. 2568.. 5946.. 3549.. 5954 0275 8333 Előnye: egyszerű, könnyen programozható, egy számot kell tárolni reprodukálható
2., NEM EGYENLETES ELOSZLÁSÚ VÉLETLEN VÁLTOZÓK GENERÁLÁSA általában normális eloszlású véletlen változó generálása a feladat véletlen számokat használunk a véletlen változó előállítására Kumulált eloszlásfügvénnyel leíró matematika kifejezés inverz függvényével véletlen változó: y sűrűségfüggvénye: f(y) kumulált eloszlásfüggvény: F(y) x = F(y) x - véletlen szá m, értéke y-tól függően 0-1 között van
Pl. : exponenciális eloszlású véletlen változó generálása (sorbanállási feladatoknál gyakori) f(y) = λ e-λy y 0 sűrűségfgv. eloszlásfüggvény: F(y) = λ e-λy dy = - e-λy + C y=0 F(y)=0 0 = - e -0 + C C = e -0 = 1 F(y) = 1 - e-λy x = 1 - e-λy e-λy = 1 - x - λy = ln ( 1 - x ) => y = - 1 ln ( 1 - x ) λ x egyenletes eloszlású x 1 - x y = - 1 ln (x) λ
3., ELTÉRÉSES MÓDSZER (MONTE CARLÓ) ALKALMAZÁSA HATÁROZOTT INTEGRÁL KISZÁMÍTÁSÁRA A1= 1 y 2 dy = [ y 3 1 ]0 = 1 3 3 0 x1 véletlen szám, y1 = x1, z = f(y1) x2 véletlen szám x2 > z x2 z u-szor teljesül az n-ből Becslés: A1 ' = u n (A 1 + A2) A1 + A2 = 1 A1 ' = u n = 14 50 = 0.28 4., NORMÁLIS ELOSZLÁSÚ VÁLTOZÓ sűrűségű függvény: f(y) = 1 exp [- 1 ( y a b 2π 2 b a - várható érték b - szórás )2] eloszlásfüggvény explicite nem írható fel inverz nem jó => táblázat kell elvetéses módszer jó, ha sűrűségfgv-t két végén elvágjuk
16 Elosztó- osztályozós pályák szimulációs vizsgálata A vizsgált rendszer vázlata: L F F 2 v G F 1 v G K 2 K 1 Vízszintes síkban zárt hevederes szalag S 0 P 1 P 2 v 0 v G v 1 L 11 L L L 21 v G v G R 11 R 21 R L 22 12 L 12 R 22 v G S 1 S 2 görgõspálya Az elosztó-osztályozó logisztikai rendszer működése: F 1 és F 2 feladó helyeken 6 féle különböző terméket adnak 8 féle célállomásra, egy-egy célállomásra történő kiszállítás szakaszos, különböző ideig tart, a célállomásra L 11... L 22 pályákon lép ki az áru, egy-egy periódusban azonos pályán, periódusonként változhat a pálya, F 1 és F 2 pályán különböző áruk, különböző célállomással érkeznek be, változó követési idővel, az F 1 és F 2 pályáról csak akkor lehet az S 0 pályára, ha üres pályaszakasz érkezik,
17 az S 1 pályára csak akkor lehet leadni az árut, ha az adott címre vagy L 11 és L 21 pályán hasonló a feltétele S 2 pályára való leadásnak, egy-egy címre egyidejűleg több féle termék is kiszállításra kerülhet, az F 1 és F 2 feladott termékek, azok követési ideje, valamint a címe sztochasztikusan változik, az egyes címekre való kiszállítások időpontjai, ill. időtartama, valamint a kiszállítást gépkocsira való rakodás ideje véletlenszerűen változik, az L F valamint L 11... L 22 pályák hossza adott, zavar lép fel, ha: egyidejűleg F 1 és S 0 vagy F 2 és S 0 pályák telítettek, zavar helye az S 0 pálya, egyidejűleg L 11 és S 1 vagy L 12 és S 1 pályák, ill. L 21 és S 2 vagy L 22 és S 2 pályák telítettek, akkor a zavar S 1, ill. S 2 pályánál következik be. Működési stratégiák: L 21... L 22 pályákra egy-egy periódus időn belül csak egy címre lehet feladni, akkor kezdődik egy leadóhelyen az új periódus, ha: előző periódus idő befejeződik, amit L 11... L 21 leadóhelyre első áru beérkezésétől mérünk, van olyan cím, amely leadása még valamely pályán nem kezdődött meg ha valamely leadó pályán felszabaduláskor több címre is van várakozó áru, azt választjuk, amelyből több darab a rendszerben, ha egy adott cím leadásra több leadó pálya is adódik, akkor azt kell választani, amelyre a legrövidebb idő alatt, a legrövidebb úton jutnak el az áruk, ha zavar áll elő (S 0 körpálya telített) az F 1 és F 2 tárolópályák mellett kell pótpályát létrehozni.
18 Kiindulási adatok: Állandók: v 0, v 1, v 2 és v G sebességek: S 0, S 1, és S 2 körpálya hosszak, L F, L 11... L 22 görgőpálya hosszak, c 1... c 6 az áruk pálya hosszirányú méretei (fel-tételezve, hogy a pályákon úgy kerül átadásra, hogy a pálya hosszirányú mérete azonos) Eloszlásfüggvények: Feladó helyeken a feladások követési ideje: F(t F1 ); F(t F2 ) Pl.: 1 F(t F1 ) 1 t F10 0 t F1 Feladó helyeken feladott áruk fajtája: F(r 1 ) és F(r 2 ) Pl.: F(r 1 ) i=1... 6 árufajta 1 0 i=1... 6 1 2 3 4 5 6 r 1
19 Pl.: T Kj0 >> τ j0 F(τ j ) τ j0 j=1... 8 τ j Az áruk rakodási ideje (egy áru): F (t R ) F(t R ) τ R0 t R Kimenő adatok: F 1 és F 2 tárolópályák foglaltsága, L 11... L 22 tárolópálya foglaltsága, S 0, S 1 és S 2 körszállító pályák foglaltsága, a zavarok miatti szünetidők az F 1 és F 2 feladóhelyeken összesen.
20 A feladott áruk címei: F(p ij ) i=1...6 árufajta j=1...8 cím Pl.: F(p i ) 1 j=1...8 1 2 3 4 5 6 7 8 p i Az egyes címekre való kiszállítás kezdeti időpontjai: F(T Kj ) j=1...8 Pl.: F(T kj ) T Kj0 T Kj Az egyes címekre való feladási periódus ideje F(τ j ) j=1...8
21 A szimuláció algoritmusa START Bemenõ adatok bevitele, kezdõ állapot beállítása Az elsõ feladóhely feladás programjának realizálása B1 Következõ belépési idõpon meghatározása Következõ belépõ áru fajtájának meghatározása Következõ belépõ áru címének meghatározása A1
22 A2 A3 nem Leadható-e az aktuális P pontban az áru? igen Várakozási idõ meghatározása Körpályán futás során a K 1 és K 2, valamint az aktuális P-ba való beérkezés idõpontjának meghatározása A leadott áruk számlázása A4 igen A körpályáról az aktuális P pontba való leadás idõpontjának meghatározása Az aktuális F feladó pályán várakozó áruk száma Elegendõ-e a tároló pálya hossza? Pótpályán való elhelyezés Zavar idõtartamának és a pótpályán tárolt áruk számának meghatározása nem
23 A4 S 0 pályán való futási idõ meghatározása Az aktuális S 1 vagy S 2 pályán, az aktuális R- pontban való beérkezés idõpontjának meghatározása nem igen Leadható-e az aktuális R pontban az áru? Az aktuális R-ba a pályán való körbefutás utáni beérkezés idõpontjának meghatározása Az aktuális pályára leado áruk számlálása Az S 1, ill. S 2 körpályán való futási idõ meghatározása Az áru gépkocsira való rakodási idejének elõállítása Az aktuális tárolón lévõ ábrák száma A4
24 A5 Rendszer jellemzõinek kigyûjtése: - körpályákon lévõ áruk száma, - körpályán való futási idõ, - tárolópályákon lévõ áruk száma, - várakozási idõk. igen Ven-e feladóhely, amelynél még szükséges további vizsgálat? nincs Az idõben következõ feladóhely feladási programjának realizálása Szimuláció kiértékelése: - várható értékek, - szórások, - eloszlás függvények meghatározása. B1 START