Upload
trinhmien
View
213
Download
0
Embed Size (px)
Citation preview
SVEUČILIŠTE J.J. STROSSMAYERA U OSIJEKU, EKONOMSKI FAKULTET U OSIJEKU
5. Simulacijski programi i
primjena diskretne
simulacije
MARIJANA ZEKIĆ-SUŠAC
Što ćete naučiti u ovom poglavlju? Navesti vrste simulacijskih programa
Navesti simulacijske programe za diskretne simulacije
Objasniti ukratko način rada programa GPSS za simulacije
Objasniti način rada programa Simula za simulacije
Objasniti način rada programa Arena za simulacije
2
Simulacijski programi za diskretnu simulaciju
Za potrebe izrade diskretnih simulacija razvijeni su programski jezici i alati
Zajednička im je karakteristika - gledaju na model kao na niz slučajnih događaja gdje svaki uzrokuje promjenu stanja
Naredbe se obično dijele na “blokove” i na upravljačke naredbe Blokovi se aktiviraju kada kroz njih prođu “entiteti” (transakcije)
Upravljačke naredbe se koriste za opis željenog trajanja izvođenja simulacije, broja ponavljanja simulacije, uvjeta ponavljanja, i dr.
Što je rezultat simulacijskog programa?
Kao rezultat simulacijskog programa može se dobiti:
prosječna duljina reda koja se može očekivati u nekoj organizaciji (npr. na blagajni prodavaonice, ili na šalteru banke i dr.),
standardna devijacija (prosječno odstupanje) duljine reda od aritm. sredine,
koliki je broj obrađenih stranaka tijekom vremena izvođenja simulacije
koliko je iskorištenje blagajne, stroja, i dr.
Vrste simulacijskih programa
Programi za simulacijsko modeliranje dijele se na:
Programe opće namjene ArGPSS
Arena
Plant Simulation – za diskretnu, kontinuiranu i agentsku simulaciju
SimPy, sustav otvorenog koda, pisan u prog. jeziku Python
SIMSCRIPT II.5 – komercijalni, često korišteni paket
Simula – sustav otvorenog koda s grafičkim sučeljem
Specijalizirane programe, npr. za simulacije proizvodnje, uslužnih djelatnosti, bolnica, računalnih mreža itd.
SIMFACTORY
WITNESS
Trading Solutions i dr.
GPSS (eng. General Purpose Simulation System
Povijest razvoja: Autor: Geoffrey Gordon, IBM (1960), to je jezik za diskretne simulacije, gdje
simulacijski sat napreduje u diskretnim koracima vremena.
Bio je popularan u 1960-tim i 1970-tim godinama
Danas mu je popularna inačica WEBGPSS (pisan u Java jeziku), demo javno raspoloživ na http://www.webgpss.com/
Način rada: Najprije se konstruiraju blok dijagrami – izborom blokova iz izbornika
klikanjem miša.
Za svaki blok unose se operandi.
Tekstualni program koji je na taj način razvijen na korisničkom računalu šalje se na poslužitelj kako bi se izvršio s pomoću GPSS.EXE, jezgrom programa koji koristi WebGPSS.
Izlazne datoteke šalju se natrag na korisničko računalo i rezultati se prezentiraju u obliku tablica, histograma i grafikona.
M. ZEKIĆ-SUŠAC, EFO
Karakteristike GPSS-a Prednosti:
Kreirani modeli i programi su slični stvarnim problemima
Moguć brz razvoj simulacija
Grafičko sučelje potiče učenje i razumijevanje
Automatski omogućuje potrebnu statistiku
Lako uočljiv i razumljiv output
Omogućuje debugging (uočavanje i otklanjanje grešaka) i verifikaciju
Blok dijagram je koristan za dokumentaciju
Lako je napraviti kopije modela
Lako je konstruirati funkcije na temelju iskustvenih podataka
Minimizira rizik od logičkih grešaka, i ima ugrađen sustav za uočavanje grešaka
Nedostaci niska razina fleksibilnosti u odnosu na ostale programe, pa su danas više u upotrebi
fleksibilniji jezici, kao npr. Simula i SIMSCRIPT II.5.
Primjer rada u GPSS-u
Slika 1. Primjer raspoloživih blokova i dva blok dijagrama kreirana u GPSS-u (izvor: http://www.webgpss.com/images/screenshot-1.png, 20.10.2009)
Slika prikazuje generiranje diskretne simulacije – lijevi blok dijagram:
kreira proces dolaska kupaca u trgovinu svakih 18 (+-5) sekundi,
ulazak u rep čekanja, obradu (ADVANCE)
Odlazak iz trgovine i kraj simulacije
M. ZEKIĆ-SUŠAC, EFO
Primjer rada u GPSS-u - nastavak
Primjer: Model jednostavne poslovnice banke s jednom blagajnom
Opisni scenario izgleda ovako: u poslovnicu dolaze stranke svakih 115+-35
sekundi (uniformna raspodjela vremena dolazaka)
Stranke čekaju u redu pred blagajnom
Kad dođe na red, stranka na blagajni obavi svoj posao koji traje 85+-30 sekundi
Stranka napušta poslovnicu.
Primjer programa u GPSS-u GPSS program za taj model izgleda ovako:
GENERATE 115,35 - dolazak stranaka svakih 115+-35 sekundi
QUEUE CEKANJE – ulazak u red čekanja
SEIZE BLAGAJNA – zauzimanje blagajne
DEPART CEKANJE – napuštanje reda čekanja
ADVANCE 85,35 – obrada stranke na blagajni 85+- 30 sek.
RELEASE BLAGAJNA - stranka napušta blagajnu
TERMINATE - odlazak stranke iz poslovnice
M. ZEKIĆ-SUŠAC, EFO
Primjer programa u GPSS-u GPSS program za taj model izgleda ovako:
GENERATE 115,35 - dolazak stranaka svakih 115+-35 sekundi
QUEUE CEKANJE – ulazak u red čekanja
SEIZE BLAGAJNA – zauzimanje blagajne
DEPART CEKANJE – napuštanje reda čekanja
ADVANCE 85,35 – obrada stranke na blagajni85+- 30 sek.
RELEASE BLAGAJNA - stranka napušta blagajnu
TERMINATE - odlazak stranke iz poslovnice
Simula opći programski jezik - uključuje 2 programska jezika: Simula I i Simula 67
Povijest razvoja: Razvijen 1960-tih u Norwegian Computing Center, Oslo (autori: Ole-Johan
Dahl i Kristen Nygaard) kao jezik za diskretne simulacije, ali je kasnije postao objektni programski jezik opće namjene.
Način rada: Sintaksa mu se temelji na jeziku Algol 60.
Za razliku od Simula I, Simula 67 je objektno orjentiran jezik, koristi objekte, klase, virtualne metode i dr. objektne koncepte i smatra se prvim objektno-orjentiranim jezikom i utjecao je na razvoj C++-a i ostalih objektnih jezika.
Koristi se za različite aplikacije, kao npr. simulacije modeliranja procesa, protokola, algoritama, računalne grafike, i u obrazovanju.
Sadrži simulacijski paket koji može kreirati diskretne simulacije
Primjer programa u Simula jeziku Primjer jednostavnog programa koji ispisuje poruku “Hello, World”:
Begin OutText ("Hello World!"); Outimage; End;
Primjer simulacije kupovine u prodavaonici (Wikipedia, 2009):
Sam, Sally i Andy kupuju odjeću. Moraju dijeliti jednu garderobu. Svatko od njih troje pretražuje prodavaonicu oko 12 minuta kako bi izabrao odjeću, zatim koristi garderobu oko 3 minute (svatko se ponaša po normalnoj distribuciji). Slijedi simulacija njihovog iskustva sa garderobom:
M. ZEKIĆ-SUŠAC, EFO
Primjer programskog koda za simulaciju upotrebe garderobe u prodavaonici, pisanog u Simula 67 jeziku (izvor: http://en.wikipedia.org/wiki/Simula#Sample_Code, 20.10.2009).
Simulink (for MathLab)
simulacijski alat koji je dio programskog paketa MathLab
Osnovne karakteristike: Simulacije se izgrađuju upotrebom blok dijagrama, uz API sučelje,
modeliranjem izborom komponenti
Može se koristiti za modeliranje, simulaciju i analizu sustava iz različitih područja:
Komunikacijskih sustava
Kontrolnih sustava
Sustava obrade signala
Sustava za obradu video materijala i slika
Simulink - nastavak
Simulink raspolaže: velikim rasponom ugrađenih blokova za
opis procesa
Multitasking simulacijom – gdje se paralelno odvija više zadataka i događaja
Podrškom za ubrzani mod rada
Velikim rasponom alata za uočavanje i otklanjanje grešaka
ARENA Alat za simulacije temeljen na programskom jeziku SIMAN. Alat ARENA omogućuje: Simulacije diskretnih događaja Simulacije skupnih i kontinuiranih događaja Analizu i predviđanje uspješnosti sustava Proizvodnje, lanca nabave, vojnih obrana, zdravstva, call centara, poslovnih procesa i
dr.
Osnovni procesi podržani u blokovima: Create Dispose Process Decide Atch Separate Assign Record
M. ZEKIĆ-SUŠAC, EFO
Primjer simulacije u ARENA alatu
Primjer simulacije za obradu aplikacije za kredit na šalteru banke u ARENA alatu (izvor: http://www.arenasimulation.com/, 20.10.2009)
Stvaranje povjerenja u simulacijske modele
Da bi korisnici (donositelji odluka, menadžeri) imali povjerenja u korištenje simulacijskog modela, potrebno je opravdati pretpostavku da: model adekvatno opisuje sustav.
Proces stvaranja povjerenja traje od početka do kraja izgradnje modela.
Cilj stvaranja povjerenja: eliminirati različite vrste grešaka modela, npr. Greške u logici modela
Greške u matematičkim relacijama
Greške u programskom kodu
Greške u ulaznim podacima
Pogrešan način korištenja modela
Pogrešna obrada i interpretacija rezultata modela
Kako se stvara povjerenje u simulacijske modele?
Različitim statističkim i računarskim tehnikama Statistički – analizama ponašanja sustava, rezultata i grešaka
Računarski – animacijama modela (VIS – vizualnim interaktvnim simulacijama) koje olakšavaju uočavanje grešaka u simulaciji, daju user-friendly grafičko sučelje koje korisnicima koji nemaju iskustva u programskim jezicima olakšava rad i razumijevanje simulacije
Procjenama eksperata u tom području
Primjer: Arena Rockwell na svojim stranicama korisnicima nudi: Upute za korištenje alata
Demonstracije upotreba alata
“Arena’s Value Delivery program” – program odnosa s klijentima: Klijenti koji napišu članak o uspješnoj upotrebi Arena alata u nekom segmentu
poslovanja, dobivaju besplatnu licencu za alat
Primjene diskretne simulacije Primjer: u alatu ServiceModel rađena je studija simulacije Zagrebačke banke (Čerić, Varga, 2004):
Trebalo je modelirati front-office i back-office banke, s ciljem analize utjecaja promjene strukture i načina rada poslovnica na kvalitetu posluživanja stranaka i efikasnost rada poslovnica.
S pomoću VIS sučelja bilo je moguće pratiti kretanja stranaka na šalterima, te kretanje djelatnika (npr. blagajnik povremeno mora otići u trezor po gotovinu)
Kao rezultat simulacije dobije se: Numerički i grafički prikaz duljine redova kroz vrijeme Promjene broja stranaka pred šalterima kroz vrijeme rada poslovnice, itd.
Primjene diskretne simulacije - nastavak
Simulacija proizvodnje – omogućuje: složenu analizu proizvodnih procesa upravljanih računalom eliminaciju uskih grla proizvodnje ispitivanje mogućnosti povećanja propusnosti proizvodnog pogona smanjenja zaliha u proizvodnji, povećanja korištenja strojeva, i dr.
Simulacija uslužnih djelatnosti – omogućuje: Modeliranje procesa u kojima sudjeluju ljudi (takvi procesi su nepravilni i sadrže
slučajne varijable, npr. slučajno vrijeme dolaska stranke)
Simulacija poslovnih procesa – omogućuje: Preispitivanje postojećih poslovnih procesa Redizajniranje poslovnih procesa (da budu jednostavniji i što manje isprekidani)
Simulacija transporta – omogućujue: Modeliranje i simulaciju transportnih centara, npr. luke, aerodromi, željezničke
stanice, autobusne stranice Simulaciju transportnih mreža
Primjene diskretne simulacije - nastavak
Primjer: Simulacija putničke zgrade aerodroma Zagreb (Čerić, Varga, 2004)
Modelirana je putnička zgrada površine oko 11 000 m2, kapaciteta oko 1.5 milijuna putnika godišnje
Planirano je proširenje zgrade koje bi omogućilo povećanje kapaciteta na 4 milijuna putnika godišnje
Tijek putnika i tijek prtljage povezan je s redom letenja međunarodnih i domaćih letova
Cilj: odrediti potrebnu površinu za različite sadržaje prostora u zgradi, sliku čekanja u svim dijelovima zgrade, te analizirati uzorke kašnjenja polijetanja zrakoplova
Rezultati: određena je količina i vrsta opreme koja osigurava protok putnika i prtljage bez gužvi i dugih čekanja Dobiveno je da se količina potrebne opreme može smanjiti u odnosu na početne
inženjerske proračune Napravljena je redukcija broja traka za prtljagu – ušteda oko 1.5% od cijene
rekonstrukcije zgrade, što je 15 puta više od cijene simulacijske studije.
Zaključak
Alati za diskretne simulacije gledaju na model kao na niz slučajnih događaja gdje svaki uzrokuje promjenu stanja
Naredbe se obično dijele na “blokove” i na upravljačke naredbe
Programi za simulacijsko modeliranje dijele se na opće i specijalizirane
jedan od prvih alata za simulacijsko modeliranje je GPSS, a danas se često koristi ARENA i Simulink (ugrađen u MathLab)
SIMULA je programski jezik za simulacijsko modeliranje koji je prerastao u opći objektno-orjentirani programski jezik
Povjerenje u simulacijske modele stvara se različitim statističkim i računarskim tehnikama, te procjenama eksperata u tom području
Dodatni materijal Primjer simulacije odjela hitne službe, (Emergency department simulation demo), ARENA Rockwell, http://www.arenasimulation.com/Private_Content.aspx?code=370L23L19J48&type=4, 04.10.2010.
Vježba – analiza dodatnih primjera primjene simulacija (timski rad)
Analiza slučajeva na primjerima simulacijskih rješenja izgrađenih s pomoću ARENA simulacijskog alata: http://www.arenasimulation.com/Solutions_Solutions.aspx ili http://www.arenasimulation.com, izabrati link Solutions
Izvođenje analize slučajeva:
Podijeliti se u timove od 5 članova
Svaki tim treba izabrati jedan od slučajeva opisan na gore navedenoj adresi (iz jednog od područja: Manufacturing, Supply Chain, Warehousing, Health Care, Packaging, Military itd.)
U 15 minuta u timu pročitati slučaj, te napisati osnovne informacije – problem koji je tvrtka imala, način rješenja, koristi od simulacijskog modela)
Svaki tim treba izložiti u 5 min. najvažnije informacije o slučaju
Literatura
1. Čerić, V., i dr., Informacijska tehnologija u poslovanju, Element, Zagreb, 2004.
2. Ghidella, J., Cherian, V., Introduction to Simulink, MathWorks, http://www.mathworks.com/programs/techkits/conf_techkit_sl_ggl.html, 20.10.2009.
3. Juričić, D., Primjena metode simulacije u ocjeni kreditnog rizika, Ekonomski pregled, 56 (9) str. 706-719 (2005).
4. Oakshott, L., Business Modelling and Simulation, Pittman Publishing, London, 1997.
5. W. David Kelton, Randall P Sadowski, Nancy B. Swets, Simulation with Arena, McGraw Hill, 2009.