Poslovne simulacije 4. Diskretne simulacije M. Zekić-Sušac, EFO
Diskretna simulacija - pojam Diskretna simulacija (eng. Discrete event simulation (DES)) je proces kodiranja ponašanja složenih sustava kao slijeda čvrsto definiranih događaja (WhatIs, 2013). Događaj = specifična promjena u stanju sustava u nekom posebnom vremenskom trenutku. Diskretna simulacija opisuje promjene stanja koje se odvijaju diskontinuirano u vremenu (Čerić, V., 2013). Promjene stanja su posljedica međudjelovanja među objektima sustava (npr. ako stroj napravi obradu na materijalu, obrada materijala je završena i njegovo stanje se mijenja). Namijenjena je razvoju modela koji detaljno opisuju strukturu sustava i njegove elemente, tj. oponašaju stvarne sustave i procese, te objekte iz stvarnog svijeta i njihovo međudjelovanje M. Zekić-Sušac, EFO
Diskretna simulacija – kada i kako? Kada se koristi? – najčešće za modeliranje i analizu sustava s repovima čekanja na resurse (resursi mogu biti: blagajne, autobusi, računala, šalteri i dr.), pri čemu su glavni elementi opisa: Tijek procesa (obično se prikazuje strelicama koje povezuju pojedine elemente i odlukama koje određuju smjer tijeka procesa) Kapaciteti resursa (opisuju vrijeme u kojem resurs može obraditi pojedini entitet koji prolazi kroz sustav, npr. 1 stroj može obraditi 1 poluproizvod za 3 minute) Ograničenja (opisuju raspoložive resurse, npr. 3 raspoloživa stroja ili 4 djelatnika ili sl.) M. Zekić-Sušac, EFO
Entiteti i atributi Entiteti (objekti) – komponente sustava kojeg modeliramo Stalni entiteti – ostaju u modelu tijekom trajanja simulacije (npr. šalteri) Privremeni entiteti – prolaze kroz sustav (npr. klijenti, autobusi itd.) Svaki entitet može imati više atributa. Atributi – opisuju svojstva entiteta (npr. odredište putnika, brzina obrade stroja, itd.) Kako se definira stanje sustava? Entitetima koje model sadrži Vrijednostima atributa M. Zekić-Sušac, EFO
Događaji kod diskretne simulacije Događaj = promjena stanja sustava koja se zbiva u trenutku Kako može nastupiti događaj? zbog ulaska ili izlaska entiteta u sustavu (npr. ako još 5 klijenata dođe na šalter) zbog promjene vrijednosti atributa (npr. ako se promijeni brzina rada djelatnice na šalteru) Događaji mogu biti: Uvjetni – oni koji se mogu dogoditi tek pošto je ispunjen neki uvjet Bezuvjetni (planirani) – oni koji se odvijaju nakon protoka određenog vremena (npr. završetak rada s jednom strankom na šalteru) M. Zekić-Sušac, EFO
Pojmovi kod diskretne simulacije - nastavak Kod diskretne simulacije i vrijeme se mijenja DISKRETNO (tj. diskontinuirano), što znači: Od trenutka u kojem se desio posljednji događaj – vrijeme skače na – trenutak u kojem će se desiti sljedeći događaj, itd. Simulacijski sat – mjeri proteklo vrijeme simulacije Npr. ako je djelatniku potrebno 5 minuta za obradu jedne stranke na šalteru, tada se se vrijeme događaja mjeri svakih 5 minuta M. Zekić-Sušac, EFO
Pojmovi kod diskretne simulacije - nastavak Aktivnost = međudjelovanje entiteta koje traje neko vrijeme, a tijekom odvijanja aktivnosti stanje entiteta se ne mijenja (npr. obrada jedne stranke na šalteru, popunjavanje obrasca ili dr.) Početak aktivnosti – vezan uz neke uvjete (npr. ako je završena obrada prethodne stranke, može početi obrada sljedeće stranke) Završetak aktivnosti – vezan je uz vrijeme trajanja te aktivnosti (po isteku tog vremena aktivnost završava) PROCES = niz logički povezanih uzastopnih događaja kroz koje prolaze privremeni entiteti (npr. prolaz putnika kroz trakt na aerodromu, ili proces upisa studenta na fakultet) M. Zekić-Sušac, EFO
Nezavisne varijable Kod diskretne simulacije, nezavisne (ulazne varijable) čije vrijednosti korisnik upisuje u sustav su: Vrijeme između dva uzastopna dolaska entiteta (ent. Time Between Arrivals) Vrijeme odvijanja pojedinog procesa (npr. vrijeme opsluživanja na šalteru, ili vrijeme obrade na stroju ili dr.) Broj raspoloživih resursa (npr. broj šaltera, ili djelatnika, ili strojeva) Organizacija čekanja (FIFO, LIFO, po prioritetu i sl.) M. Zekić-Sušac, EFO
Kako odrediti vrijednosti nezavisnih varijabli? Vrijeme između dva uzastopna dolaska entiteta ili vrijeme odvijanja pojedinog procesa u stvarnosti nije neki fiksni broj, nego se mijenja prema nekoj raspodjeli (distribuciji) Npr. kako odrediti koliko dugo se obrađuje jedan klijent na šalteru banke? To nekad može biti 5 minuta, ponekad 10, ponekad 13 minuta,... Najčešće se koriste slučajna (Gauss-ova) i trokutasta raspodjela vjerojatnosti pojavljivanja brojeva Koju raspodjelu koristiti? – ovisi o prirodi problema, i izabire se ona koja je realnija M. Zekić-Sušac, EFO
Slučajna raspodjela Kod slučajne raspodjele potrebno je odrediti: Aritmetičku sredinu Standardnu devijaciju σ Izvor: Wikipedia, http://hr.wikipedia.org/wiki/Datoteka:The_Normal_Distribution.svg, 10.10.2013. Primjer: Ako znamo da je prosječno trajanje obrade na jednom šalteru 10 minuta, ali može varirati + 5 minuta. M. Zekić-Sušac, EFO
Trokutasta raspodjela Kod trokutaste raspodjele potrebno je odrediti: Minimalnu vrijednost (a) Najčešću vrijednost (c) Maksimalnu vrijednost (b) koju neka varijabla x može poprimiti. Izvor: Wikipedia, http://en.wikipedia.org/wiki/Triangular_distribution, 10.10.2013. Primjer: Ako znamo da je minimalno vrijeme obrade klijenta na šalteru 5 minuta, maksimalno vrijeme 20 minuta, a najčešće 10 minuta. M. Zekić-Sušac, EFO
Zavisne varijable Zavisne (izlazne) varijable čije se vrijednosti dobiju kao rezultat simulacije su: Dužina reda čekanja (eng. Number Waiting, tj. broj entiteta u redu čekanja, npr. broj zahtjeva u redu čekanja, broj pacijenata u čekaonici, i dr.) Vrijeme čekanja u redu (eng. Waiting Time, tj. vrijeme koje entitet provede u čekanju) Iskorištenje resursa (eng. Utilization) – postotak iskorištenja resursa (npr. % radnog vremena djelatnika u kojem on radi) Propusnost sustava (eng. Number Out, tj. broj entiteta koje sustav može obraditi) M. Zekić-Sušac, EFO
Konceptualni model diskretne simulacije Čemu služi konceptualni model? da se izdvoje najvažnija svojstva sustava, da se opišu njegovi bitni elementi i njihovo međudjelovanje Izradom konceptualnog modela omogućuje se strukturiranje problema i njegovo bolje razumijevanje Za njegovu izradu koriste se grafičke metode modeliranja, npr. dijagrami ciklusa aktivnosti (DCA) M. Zekić-Sušac, EFO
Dijagrami ciklusa aktivnosti (DCA) Opisuju životni ciklus entiteta (promatranih objekata) u modelu Koriste dva osnovna simbola: Pravokutnik opisuje aktivnosti, npr. obrada narudžbe, ispunjavanje obrasca, itd. Elipsa opisuje redove čekanja, npr. klijente koji čekaju pred šalterom Neki entitet može biti ili u stanju aktivnosti, ili u stanju čekanja. Ako je aktivan, može biti u suradnji s drugim entitetima. Ako je u stanju čekanja, tada ne sudjeluje u aktivnosti, već čeka da se ispune uvjeti za početak aktivnosti. M. Zekić-Sušac, EFO
Dijagrami ciklusa aktivnosti (DCA) DCA sadrži cikluse života svih klasa entiteta kroz koje prolaze pojedinačni entiteti neke klase. Što je ciklus života? To je zatvoreni ciklus u kojem se izmjenjuju aktivnosti i redovi čekanja, a koje prolazi neke entitet. Da bi aktivnost mogla početi, nužno je da svaki red čekanja sadrži barem po jedan entitet, (npr. da bi obrada stranke mogla početi, mora biti barem 1 stranka pred šalterom). Kada aktivnost završi, svi entiteti uključeni u nju se oslobađaju i šalju u slijedeće redove čekanja. M. Zekić-Sušac, EFO
Primjer – proizvodni pogon Pretpostavimo da neki proizvodni pogon ima 2 vrste strojeva – stroj A i stroj B U pogonu postoje 3 stroja tipa A i 2 stroja tipa B. Određenim ritmom nabave,u pogon dolaze dijelovi potrebni za proizvodnju. Dijelovi se najprije obrađuju na jednom od strojeva tipa A, a zatim na jednom od strojeva tipa B, i onda ponovo na jednom od strojeva tipa A. DCA tog pogona može se prikazati slikom: M. Zekić-Sušac, EFO
Slika 1. Dijagram ciklusa aktivnosti za pogon s dva stroja (izvor: Čerić, V., Poslovno računalstvo, Znak, Zagreb, 1994.) M. Zekić-Sušac, EFO
Primjer – proizvodni pogon - nastavak DCA proizvodnog pogona sadrži cikluse života dijelova za proizvodnju, zatim entiteta strojeva A i B, te logičkog entiteta “Ulaz”. Ciklus života dijelova sadrži: Red čekanja “Vani” Aktivnost dolazaka dijelova u pogon Red čekanja za stroj A1 Red čekanja za stroj B Red čekanja za stroja A2 Povratak u red čekanja “Vani” M. Zekić-Sušac, EFO
Izvođenje simulacije Za izvođenje simulacije – najčešće se koristi pomak vremena na sljedeći događaj. Što se tu događa: Nakon izvođenja jednog događaja pronalazi se događaj koji je sljedeći na redu Vrijeme simulacije se pomiče na vrijeme izvođenja tog novog događaja Taj se novi događaj izvede (tom prilikom se događa i promjena stanja sustava, tj. mijenjaju se atributi jednog ili više entiteta). Itd. Simulacija se završava kada više nema događaja za izvesti, ili je ispunjen neki unaprijed utvrđeni uvjet da simulacija završava. Postoji više pristupa izvođenju simulacije – jedan od njih je tzv. Trofazna strategija simulacije M. Zekić-Sušac, EFO
Vrednovanje simulacijskog modela Vrednovanje simulacijskog modela ima za cilj eliminaciju različitih vrsta grešaka modela, koje mogu biti (Čerić, 2013): Greške u logici modela Greške u matematičkim relacijama Greške u programu Greške u ulaznim podacima Greške u načinu korištenja modela te Greške u obradi i interpretaciji rezultata simulacijskih eksperimenata M. Zekić-Sušac, EFO
Za vježbu Napravite DCA za banku koja ima 3 šaltera – svaki klijent može se uslužiti na bilo kojem šalteru, samo treba provjeriti da li je šalter slobodan. Napravite DCA za studentsku referadu u kojoj svaki student treba da bi se upisao proći kroz 3 “šaltera”: 1) kupiti dokumente (skriptarnica), 2) predati popunjene dokumente i 3) upisati se u Studomat. M. Zekić-Sušac, EFO
Zaključak Simulacijsko modeliranje može biti diskretno i kontinuirano (sistemska dinamika). Kod diskretnog simulacijskog modeliranja koriste se modeli koji detaljno opisuju strukturu sustava i njegove elemente, a ponašanje sustava je diskontinuirano (u obliku slijeda raznovrsnih događaja i aktivnosti). Glavni elementi diskretne simulacije su entiteti, atributi i događaji, te vrijeme pomaka. Za opis diskretnog modela koristi se konceptualni model i dijagram ciklusa aktivnosti. M. Zekić-Sušac, EFO
Literatura Čerić, V., i dr., Informacijska tehnologija u poslovanju, Element, Zagreb, 2004. Čerić, V., Diskretna simulacija, http://web.efzg.hr/dok//INF/Ceric//spo/(3a)_diskretna_simulacija.pdf, 10.10.2013. WhatIs, Discrete Event Simulation (DES), http://whatis.techtarget.com/definition/discrete-event-simulation-DES, 10.09.2013. Banks, J., Carson, J.S., Nelson, B., Nicol D.M., Discrete-Event System Simulation, 5th edition, Prentice Hall, 2010. http://books.google.hr/books?id=cqSNnmrqqbQC&lpg=PA265&ots=8b-3iUGYKN&dq=simulation%20discrete%20photo&pg=PA53#v=onepage&q&f=false, 04.10.2010. W. David Kelton, Randall P Sadowski, Nancy B. Swets, Simulation with Arena, McGraw Hill, 2009. Wikipedia, Simulation, http://en.wikipedia.org/wiki/Simulation, 04.10.2010. M. Zekić-Sušac, EFO