Professional Documents
Culture Documents
U simulaciji diskretnih dogadaja, simulacioni model ima odredeno stanje u svakom trenutku
vremena. Ovo stanje predstavlja skup podataka i vrednosti odredenih promenljivih u sistemu
i omogućuje nam da pratimo evoluciju sistema u toku vremena. Na primer mašina može biti
u tri stanja: ”u radu”, ”slobodna” i ”u otkazu”. U simulaciji diskretnih dogadaja okidač za
promenu stanja modela predstavlja neki dogadaj. U simulaciji se ništa ne menja dok se neki
dogadaj ne desi. Nakon dešavanja dogadaja model menja svoje stanje (iako se u retkim situ-
acijama može desiti da se stanje modela ne promeni). Izmedu dogadaja stanje modela se ne
menja iako je sistem angažovan u nekoj aktivnosti. Na primer neka je u trenutku t1 mašina u
stanju ”u radu”. Ona svoje stanje menja u ”slobodna” u trenutku t2 u kome se dešava sledeći
dogadaj ”kraj operacije”. Izmedu ova dva sukcesivna dogadaja ne dolazi do promene stanja u
kome se nalazi mašina (a ni ostali elementi modela).
Dogaðaj 1:
vreme 8.13
Dogaðaj 2:
vreme 10:20
Dogaðaj 3:
vreme 18.31
Dogaðaj 4:
vreme 22:55
Kraj liste dogaðaja
ostala polja
Rad simulacije diskretnih dogadaja je voden časovnikom i hronološki uredenom listom dogadaja
(slika 3.1). Dogadaj na vrhu liste predstavlja sledeći dogadaj. Zakazivanjem dogadaja, dogadaj
se u hronološkom redosledu uvodi u listu dogadaja, a kada se dogadaj desi on se briše iz liste
dogadaja.
1. Inicijalizacija časovnika (obično na nulu) i generisanje i zakazivanje jednog ili više dogadaja
21
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 22
4. Vratiti se na korak 2
• entiteti
• atributi
• klase
• skupovi
• stanja
• redovi čekanja
• aktivnosti
• dogadaji
Entiteti
Entiteti predstavljaju osnovne elemente - komponente sistema koji se modelira. Na primer to
mogu biti mašine, radni predmeti, manipulaciona oprema, radnici... Generalno, postoje dve
vrste entiteta:
• stalni (resursi)
• privremeni
Stalni entiteti su entiteti koji su prisutni u simulacionom modelu tokom čitavog izvodenja si-
mulacije. To su na primer mašine. U nekim simulacionim paketima oni se nazivaju i resursima.
U mrežama redova čekanja oni predstavljaju centre usluga.
Privremeni entiteti su entiteti koji u nekom trenutku ulaze u simulacioni model iz okruženja,
prolaze kroz simulacioni model i napuštaju ga. Na primer to su delovi koji se obraduju. U
mrežama redova čekanja oni predstavljaju korisnike.
Atributi
• za upravljanje ponašanjem entiteta (na primer u koji red čekanja staviti entitet - npr. u
red čekanja za glodalicu ili strug)
Klase
Klase predstavljaju stalne grupe istih ili sličnih entiteta. Na primer klasa operatera, klasa
mašina ili klasa delova.
Skupovi
Skupovi predstavljaju privremene grupe entiteta koje se koriste za grupisanje entiteta u toku
simulacije na pogodan način. Na primer skup potrebni alati može predstavljati skup alata (od
kojih je svaki pojedinačni entitet) potrebnih za jednu operaciju na obradnom centru ili skup
delova koji čekaju na obradu.
Stanja
Termin stanje označava stanje modela ili njegovih entiteta. Na osnovu stanja se odreduje
da li je moguće ili neophodno izvršiti odredene aktivnosti. Na primer entiteti su u aktivnom
ili pasivnom stanju u zavisnosti od toga da li su angažovani u nekoj aktivnosti ili su u redu
čekanja. Mašina može biti u tri stanja: ”u radu”, ”slobodna” ili ”u otkazu”.
Redovi čekanja
Redovi čekanja predstavljaju pasivna stanja entiteta dok oni čekaju da se ostvare uslovi za
početak naredne aktivnosti. Na primer radni predmeti mogu čekati da se mašina na kojoj se
izvodi sledeća operacija oslobodi. Redovi čekanja mogu biti stvarni (deo koji čeka na obradu)
ili imaginarni. Na primer dok čeka da deo dode na obradu (nema delova u redu čekanja za
obradu na njoj) mašina se nalazi u imaginarnom redu čekanja.
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 24
Nekad redovi čekanja imaju ograničeni kapacitet pa je modelom neophodno definisti šta se
dešava sa entitetom koji treba da dode u red čekanja koji je već pun.
Aktivnosti
Aktivnosti predstavljaju zadatke koje entiteti izvršavaju ili zadatke koji se nad entitetima
izvršavaju. U svaku aktivnost je uključeno više od jednog entiteta (dva, tri...). Aktivnost se
može posmatrati i kao zbližavanje dva ili više entiteta tokom odredenog perioda vremena. Iz-
uzetno je značajno za svaku aktivnost odrediti period njenog trajanja kako bi se u trenutku
kada aktivnost počne znalo kada će se ona završiti. Ukoliko vreme trajanja aktivnosti nije de-
terminističko, ono se može uzorkovati iz poznate raspodele verovatnoće korišćenjem stohastičke
simulacije.
Dogadaji
Dogadaj predstavlja trenutak u kome se desi neka promena u modelu. To je početak ili kraj
neke aktivnosti. Stanje sistema i stanja entiteta se menjaju samo u trenutku dogadaja, dok
tokom trajanja aktivnosti ona ostaju nepromenjena. Postoje dve vrste dogadaja:
• endogeni ili interni dogadaji koji su izazvani uslovima iz modela (npr. završetak operacije)
• egzogeni ili eksterni dogadaji koji su izazvani dešavanjima izvan modela (na primer dola-
zak narudžbine ili kupca)
Primer:
Posmatrajmo jednostavan primer sistema za obradu prikazan na slici 3.21 . U datom pri-
Dolazak Odlazak
delova delova
delovi
red èekanja
meru delovi dolaze na obradu na obradnom centru. Ukoliko je obradni centar slobodan, obrada
dela počinje odmah, a u suprotnom deo čeka u redu. Potrebno je odrediti vreme koje delovi
provedu u sistemu.
1
Autor slike: Doc. dr Saša Živanović
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 25
Entiteti:
Atributi:
Ako je cilj odrediti vreme koje je deo proveo u sistemu, za delove je potrebno definisati sledeće
atribute:
Stanja:
• Deo:
– u redu čekanja
– u obradi
• Obradni centar:
Redovi čekanja:
Aktivnosti:
Obrada
Dogadaji:
• dolazak dela
• početak obrade
• kraj obrade
• odlazak dela
Konceptualni model je opis simulacionog modela koji je nezavisan od softvera koji će se ko-
ristiti. On opisuje: ciljeve, ulaze, izlaze, sadržaj, pretpostavke i pojednostavljenja koja se u
modelu koriste. Ciljevima se opisuje svrha modela. Ulaze predstavljaju elementi modela koji se
mogu menjati kako bi se poboljšao ili bolje razumeo stvarni svet; to su eksperimentalni faktori.
Izlazi iz modela su izveštaji o rezultatima simulacije. Oblast modela definiše granice modela ili
obim stvarnog sistema koji će biti uključen u model, dok sadržaj modela predstavljaju kompo-
nente sistema koje su predstavljene u modelu i veze izmedu njih. Potrebno je definisati i nivo
detalja u opisu svake od komponenata sistema. Prilikom kreiranja modela uvode se odredene
pretpostavke i to pogotovu kada postoje neodredenosti ili neka uverenja o stvarnom sistemu
koji se modelira. Takode, pri kreiranju modela uvode se i odredena pojednostavljenja kako bi
se omogućio brži razvoj i korišćenje modela.
• validnost
• kredibilnost
• korisnost
• izvodljivost
Dobra praksa u kreiranju modela se može iskazati na sledeći način: ”Model treba da bude
što je moguće jednostavniji, a da pri tom ispuni ciljeve simulacije”. Jednostavan model se brže
razvija, zahteva manje podataka na ulazu i brže se izvodi.
Pri korišćenju ove metode kreira se lista komponenata koje se koriste u modelu i daje se njihov
kratak opis. Iako je ovaj metod veoma jednostavan, ne daje vizuelnu reprezentaciju konceptu-
alnog modela i teško je iz njega shvatiti logiku i tok procesa, a naročito za kompleksnije sisteme.
Primer liste komponenata za sistem prikazan na slici 3.2. je dat u tabeli 3.2.
Pri korišćenju ove metode konceptualni model se prikazuje kao dijagram toka procesa u kome
se redovi čekanja prikazuju krugovima, a procesi pravougaonicima. Detalji o komponentama
se prikazuju u zagradama. Na slici 3.3 je prikazan primer dijagrama toka procesa za sistem
prikazan na slici 3.2.
Delovi
(vreme izmeðu dolaska)
Slika 3.3: Primer dijagrama toka procesa za sistem prikazan na slici 3.2.
Dijagram toka procesa predstavlja relativno jednostavan pristup za opis sistema, a i vizuelna
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 28
reprezentacija je korisna za prikaz toka procesa. Mnogi paketi za simulaciju koriste sličnu re-
prezentaciju. Ipak, korišćenjem ove metodologije za kreiranje konceptualnog modela često je
teško kreirati model kompleksnih sistema.
Logički dijagrami toka koriste standardne simbole za kreiranje algoritma. Ovim dijagramima
se lako uočava logika rada sistema koji se modelira. Na slici 3.4. je prikazan logički dijagram
toka za sistem prikazan na slici 3.2. Medutim, logika rada sistema nije uvek očigledna. Takode,
ovakva vrsta dijagrama brzo može postati velika i kompleksna, a kreiranje dijagrama naporno
čak i za jednostavne sisteme.
dolazak dela
ne
mesta u redu?
da
red èekanja na
obradu
ne
OC na
raspolaganju?
da
deo obraðen
deo odlazi
Slika 3.4: Primer logičkog dijagrama toka za sistem sa jednim redom čekanja i jednim serverom
U toku svog životnog veka u simulaciji entiteti se spajaju kako bi učestvovali u nekoj ak-
tivnosti, a nakon završetka aktivnosti oni se nalaze u redu čekanja sve dok ne budu angažovani
u nekoj drugoj aktivnosti. Entiteti u modelu mogu biti u dva stanja:
• pasivno - u redu čekanja (stvarnom ili imaginarnom)
Red
èekanja
Aktivnost
Slika 3.5: Oznake aktivnog i pasivnog stanja entiteta u dijagramu ciklusa aktivnosti
(ciklus aktivnosti) koji se sastoji iz aktivnosti i redova čekanja. Prilikom kreiranja dijagrama
ciklusa aktivnosti za svaki entitet je neophodno da se smenjuju redovi čekanja i aktivnosti. Uko-
liko je potrebno uvode se prazni redovi čekanja. Dijagram ciklusa aktivnosti mora biti zatvoren.
Kreiranje liste entiteta u modelu je najčešće jednostavno - iz opisa sistema koji se modelira
jasno je koji su entiteti u njemu prisutni. Medutim, ponekad entiteti nisu tako očigledni. Na
primer ako je radni predmet postavljen u pribor i zajedno sa njim na paletu postavlja se pita-
nje da li su to tri entiteta (radni predmet, pribor i paleta) ili jedan. U opštem slučaju ako se
odredeni elementi uvek u simulaciji javljaju kao skup (tim) onda se oni posmatraju kao jedan
entitet.
Razvijanje individualnih dijagrama ciklusa aktivnosti takode obično sledi iz opisa rada sis-
tema. Ovde treba napomenuti da je često, kako bi se obezbedilo smenjivanje aktivnosti i
redova čekanja, neophodno uvesti prazne redove čekanja. To se radi kada aktivnost sledi nepo-
sredno posle prethodne aktivnosti. Entiteti prolaze kroz prazne redove bez čekanja. Za svaki
red čekanja neophodno je odrediti disciplinu, tj. način na koji se bira koji entitet će se uzeti iz
reda čekanja. Najčešće korišćena disciplina je FIFO (eng. First In First Out) - entitet koji je
prvi ušao u red čekanja prvi iz njega izlazi. Ponekad je potrebno uvesti grananje u zavisnosti
od vrednosti nekog atributa vezanog za entitet (na primer kada redosled obrade delova zavisi
od njihovog prioriteta ili kada u jednom redu čekanja delovi čekaju na obradu na različitim
mašinama). Za svaku aktivnost je neophodno definisati vreme trajanja. Kao što je opisano u
jednom od prethodnih odeljaka, vreme trajanja aktivnosti može biti determinističko ili se može
uzorkovati stohastičkom simulacijom iz poznate raspodele verovatnoće.
Za razliku od vremena koje entitet provede u aktivnom stanju (vreme trajanja aktivnosti)
vreme koje entitet provede u pasivnom stanju (u redu čekanja) nije poznato unapred. Ono
zavisi od vremena trajanja prethodne i naredne aktivnosti.
Veliki broj kompjuterskih paketa za simulaciju zahteva da se problem koji se modelira re-
prezentuje na način na koji se dijagram ciklusa aktivnosti ne preslikava direktno. Medutim, u
tim slučajevima dijagram ciklusa aktivnosti se koristi kako bi se problem razumeo u dovoljnoj
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 31
meri pre nego što se pristupi programiranju. Najveći broj kompjuterskih paketa (medu kojima
su ARENA i WITNESS) koriste pristup na bazi procesa o kome će biti reči kasnije. Ovaj pris-
tup je popularan jer omogućuje lako kreiranje animacije - animacija je ovde neizbežan nusefekat
izgradnje modela. Pri upotrebi ovih paketa dijagram ciklusa aktivnosti se prevodi tako što se
privremeni entiteti kreću kroz proces, a stalni entiteti postaju resursi.
Primer:
Neka je za sistem prikazan na slici 3.2. potrebno odrediti prosečno vreme koje delovi pro-
vedu u sistemu. Domen modela koji se generiše je definisan rezultatima koje je potrebno iz
simulacije dobiti - prosečno vreme koje delovi provedu u sistemu.
Kako bi se odredilo prosečno vreme koje delovi provedu u sistemu, potrebno je odrediti vreme
koje svaki od delova provede u sistemu kao i broj delova koji je na obradnom centru obraden.
Kako bi se ovi podaci dobili, neophodno je entitetima pridružiti odredene atribute, i to:
• Deo:
• Mašina
Deo:
Deo se u sistemu ili nalazi u redu čekanja na obradu ili je angažovan u aktivnosti obrade. Pošto
je deo privremeni entitet njegov ciklus aktivnosti mora uključivati i dolazak dela u sistem i nje-
gov odlazak iz sistema. Prikazivanje dolaska i odlaska dela kao aktivnosti deluje neobično jer
je uobičajeno da aktivnosti imaju neko vreme trajanja, a dolazak i odlazak delova se dešavaju
trenutno. Kako bismo bili u mogućnosti da prikupimo podatke vezane za na primer vreme koje
privremeni entiteti provedu u sistemu, pogodno je odlazak dela modelirati kao aktivnost čije
je vreme trajanja jednako nuli. Dolazak delova u sistem, s druge strane, predstavlja egzogeni
dogadaj koji je izazvan dešavanjima van sistema. Dolazak privremenih entiteta u sistem se
obično pokorava nekoj statističkoj raspodeli. Aktivnost dolaska privremenog entiteta se mo-
delira tako da vreme njenog trajanja predstavlja vremenski interval izmedu dva sukcesivna
dolaska privremenih entiteta u sistem. Trenutak dolaska privremenog entiteta u sistem pred-
stavlja dogadaj na kraju aktivnosti dolaska.
U ciklusu aktivnosti prikazanom na slici 3.6. deo nakon obrade odlazi u red čekanja gde čeka
na odlazak iz sistema. Naravno, u praksi najčešće deo nakon obrade sistem napušta trenutno.
Medutim, da bi se ispunio uslov smenjivanja redova čekanja i aktivnosti u ciklusu aktivnosti
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 32
privremenog entiteta (kakav je deo), uvodi se imaginaran red čekanja na odlazak iz sistema u
kome je vreme zadržavanja entiteta jednako nuli.
Životni ciklus dela prikazan na slici 3.6. nije kompletan jer ne predstavlja zatvoreni cik-
Red Red
Dolazak Obrada Odlazak
èekanja 1 èekanja 2
Spoljni svet
Red Red
Dolazak Obrada Odlazak
èekanja 1 èekanja 2
lus aktivnosti. Uvodenjem spoljnog sveta iz koga delovi dolaze na obradu i u koji se delovi
vraćaju, dobija se zatvoreni ciklus aktivnosti za deo prikazan na slici 3.7. Ovde se smatra da
spoljni svet predstavlja red čekanja u kome privremeni entiteti čekaju na obradu u sistemu.
Obradni centar:
Obradni centar predstavlja stalni entitet koji se može naći u dva stanja: u aktivnosti obrade
ili u imaginarnom redu čekanja na deo (stanje slobodan). Ciklus aktivnosti obradnog centra je
prikazan na slici 3.8.
Spajanjem dva prethodno definisana životna ciklusa (slike 3.7. i 3.8.) dobija se dijagram
Obrada
Slobodan
Primer
Radionica ima M identičnih strugova. Svaki strug može da obraduje bilo koji deo. Izvor
delova je nepresušan - uvek postoje delovi koji čekaju na obradu. Delovi se obraduju na prvom
slobodnom strugu. Vreme koje je potrebno da se obradi deo je promenljivo (vreme trajanja
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 33
Spoljni svet
Red Red
Dolazak Obrada Odlazak
èekanja 1 èekanja 2
Slobodan deo
obradni centar
Slika 3.9: Dijagram ciklusa aktivnosti sistema za obradu prikazanog na slici 3.2.
obrade nije isto za svaki deo), ali je nazavisno od mašine koja se koristi. U radionici postoje
operateri koji imaju dva zadatka:
1. da resetuju mašine izmedu dve obrade ako je alat oštar ili nakon zamene alata
Neophodni (oštri) alati su uvek na raspolaganju. Potrebno je odrediti koliko puta je promenjen
alat u toku trajanja simulacije.
• operater
• strug
• reset
• zamena alata
• odsutan
Dakle, operateri mogu biti angažovani u navedene tri aktivnosti. Kada nisu u datim aktivnos-
tima, oni čekaju. Individualni ciklus aktivnosti za operatera je prikazan na slici 3.10.
• obrada
• reset
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 34
Odsutan
Èekanje
• zamena alata
Nakon obrade strug ide u red čekanja na reset - ovaj red čekanja se naziva zaustavljen. Iz ovog
reda čekanja strug može ući u aktivnost reset ili zamena alata. Nakon zamene alata strug čeka
na reset u redu čekanja koji se naziva alat zamenjen. Nakon reseta strug je spreman za novu
operaciju i nalazi se u redu čekanja spreman. Individualan ciklus aktivnosti za strug je prikazan
na slici 3.11.
Alat
Zamena alata zamenjen Reset
Zaustavljen Spreman
Obrada
Spajanjem dva individualna ciklusa aktivnosti (slike 3.10. i 3.11.) dobija se dijagram ciklusa
aktivnosti prikazan na slici 3.12.
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 35
Odsutan
Èekanje
Alat
Zamena alata zamenjen Reset
Zaustavljen Spreman
Obrada