You are on page 1of 9

Predavanje 2

Stohastička simulacija

Prilikom modeliranja postoje odredeni aspekti sistema o kojima znamo veoma malo. U slučaju
proizvodnog sistema to mogu biti uticaji poslovnog okruženja, otkazi mašina, ljudski faktor
(npr. bolovanje, temperament radnika). U skladu sa tim odredene promenljive ne možemo
deterministički definisati. Na primer, ne možemo sa sigurnošću definisati trenutak u kome će se
radnik razboleti. Sa apekta modeliranja sistema ovo dešavanje je stohastičko. Za odredivanje
vrednosti slučajne promenljive vrši se izbor slučajne vrednosti iz opsega mogućih vrednosti.
Posmatranjem rada sistema tokom prethodnog perioda moguće je statistički odrediti neku
zakonitost u dešavanju slučajnih pojava, tj. moguće je definisati raspodelu verovatnoće da
posmatrana promenljiva uzme odredenu vrednost. Na primer, narudžbine pojedinih proizvoda
mogu sezonski varirati (tipičan primer je potreba za osvežavajućim pićima tokom godine), ali
se verovatnoća potrebe za proizvodnima tokom sezone može statistički proceniti.

Ako se parametar menja stohastički, za dobijanje vrednosti koje se koriste u simulaciji može se
upotrebiti Monte Karlo metod za izvlačenje slučajnih uzoraka iz njegove raspodele verovatnoće.

2.1 Monte Karlo simulacija


Monte Karlo simulacija predstavlja tehniku za uzorkovanje slučajnih vrednosti iz raspodele
promenljive kako bi se dobili nizovi vrednosti za primenu u simulaciji. Naziv metode potiče
od pretpostavke da je pojava svih brojeva na ruletu (u kazinima u Monte Karlu na primer)
jednako verovatna.

Kako bi se primenio ovaj metod neophodno je poznavati raspodelu verovatnoće vrednosti pro-
menljive (parametra) koji se koristi u modelu. Ova raspodela sa definiše posmatranjem promene
datog parametra u praksi. Monte Karlo metod se sastoji od pet koraka:
1. Posmatranje parametra koji se modelira
2. Izračunavanje frekvence pojave vrednosti
3. Izračunavanje kumulativne frekvence raspodele i njeno pretvaranje u kumulativnu vero-
vatnoću
4. Uspostavljanje zavisnosti izmedu vrednosti parametra i unifomnog niza slučajnih brojeva
u opsegu 00-99
5. Generisanje niza slučajnih brojeva korišćenjem npr. tabele slučajnih brojeva i dobijanje
vrednosti parametra koja odgovara svakom od slučajnih brojeva

12
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 13

Tabela 2.1: Frekvenca pojavljivanja vrednosti parametra u odredenom intervalu


Vreme izmedu dva
uzastopna dolaska 0-1 1-2 2-3 3-4 4-5 5-6 Σ
Frekvenca pojavljivanja
(broj vrednosti) fi 2 5 6 4 2 1 20

Primer:
Posmatrajmo sistem koji se sastoji od jedne mašine na kojoj se obraduju neki delovi i reda
čekanja na operaciju na toj mašini (slika 2.1). Vreme izmedu dolaska dva uzastopna dela u

Dolazak Odlazak
delova Red delova
Mašina
èekanja

Slika 2.1: Jedna mašina sa redom čekanja

sistem je slučajno sa aspekta rada sistema (ono zavisi od potreba tržišta).

KORAK 1:
Posmatranjem dolaska delova u sistem u prethodnom vremenskom periodu došlo se do sledećih
vrednosti parametara - vremena izmedu dolaska dva uzastopna dela u minutima:
0,71; 1,32; 2,64; 1,82; 2,43; 3,66; 4,12; 2,17; 5,32; 1,42; 0,21; 3,38; 4,72; 2,83; 1,58; 2,23; 1,48;
3,82; 2,17; 3,21

KORAK 2:
Posmatranjem vrednosti datog parametra izračunavaju se frekvence pojave vrednosti u odredenom
opsegu prikazane u tabeli 2.1. Histogram vremena izmedu dva uzastopna dolaska delova je pri-
kazan na slici 2.2.

frekvenca f
6

0
0 1 2 3 4 5 6
Opseg vremena izmeðu
dva uzastopna dolaska delova [min]

Slika 2.2: Histogram vremena izmedu dva uzastopna dolaska delova u sistem
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 14

Tabela 2.2: Frekvenca pojavljivanja vrednosti parametra u odredenom intervalu


Opseg vrednosti Kumulativna frek- Kumulativna vero-
P
venca Fi = ij=1 fj vatoća F= PFifj
0-1 2 0,1
1-2 7 0,35
2-3 13 0,65
3-4 17 0,85
4-5 19 0,95
5-6 20 1,0

KORAK 3:
Formira se tabela kumulativne frekvence raspodele i kumulativne empirijske verovatnoće - ta-
bela 2.2. Kumulativni histogram i kumulativna verovatnoća su prikazane na slici 2.3.

Kumulativna Kumulativna
frekvenca Fi verovatnoæa F
20 1.0
18 0.9
16 0.8
14 0.7
12 0.6
10 0.5
8 0.4
6 0.3
4 0.2
2 0.1
0 0.0
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Opseg vremena izmeðu vreme [min]
dva uzastopna dolaska delova [min]
a) b)

Slika 2.3: a) Kumulativni histogram, b) Kumulativna verovatnoća

KORAK 4:
Uspostavlja se zavisnost izmedu vrednosti parametara i niza slučajnih brojeva u opsegu 0-99.
Zavisnost je prikazana u tabeli 2.3.

KORAK 5:
Iz tabele slučajnih brojeva (tabela 2.4), u konkretnom primeru iz vrsta 6 i 11 se uzima niz
slučajnih brojeva. Prvi odabran slučajni broj (iz vrste 6) na osnovu tabele 2.3 definiše opseg
vremena izmedu dva dolaska (tabela 2.5). Drugi slučajni broj (iz vrste 11) definiše decimalni
deo vremena (tabela 2.5).
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 15

Tabela 2.3: Povezivanje vrednosti parametra sa slučajnim brojevima


Opseg vrednosti Kumulativna vero- Opseg slučajnih
vatoća Fi brojeva
0-1 0,1 00-09
1-2 0,35 10-34
2-3 0,65 35-64
3-4 0,85 65-84
4-5 0,95 85-94
5-6 1,0 95-99

Tabela 2.4: Tabela slučajnih brojeva [3]


93 43 08 21 61 40 88 36 10 09
34 47 17 99 81 54 44 37 12 97
02 22 48 12 45 00 24 38 43 41
78 71 51 66 19 07 83 29 51 30
82 19 46 05 24 50 09 78 17 64

41 44 39 90 81 22 56 79 25 24
54 32 60 60 32 30 42 50 93 86
23 23 64 16 56 61 21 09 72 36
09 06 82 14 81 05 40 37 55 33
66 86 57 85 63 69 47 56 86 08

27 24 31 05 15 43 45 23 62 03
19 36 86 85 43 17 99 74 72 63
22 00 88 14 84 56 89 95 05 94
87 43 20 07 35 41 51 10 11 31
66 00 05 46 23 22 22 25 21 70

43 28 43 18 66 86 42 91 55 48
28 20 62 82 06 82 79 60 73 67
77 78 43 27 54 89 22 02 78 35
72 67 13 42 46 33 27 66 34 24
06 70 58 78 07 89 71 75 03 60
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 16

Tabela 2.5: Vreme izmedu prvih deset dolazaka uzorkovano korišćenjem slučajnih brojeva
Deo Prvi slučajni Opseg vremena Drugi slučajni Vreme izmedu
broj izmedu dolazaka broj dolazka
1 41 2-3 27 2,27
2 44 2-3 24 2,24
3 39 2-3 31 2,31
4 90 4-5 05 4,05
5 81 3-4 15 3,15
6 22 1-2 43 1,43
7 56 2-3 45 2,45
8 79 3-4 23 3,23
9 25 1-2 62 1,62
10 24 1-2 03 1,03

2.2 Validnost rezultata uzorkovanja


Nakon uzorkovanja odredenog broja vrednosti metodom Monte Karlo neophodno je proveriti
njihovu validnost. Na primer, u prethodnom primeru srednja vrednost generisanih uzoraka
(tabela 2.5) je 2,38, a srednja vrednost eksperimentalno dobijenih uzoraka je 2,56. Standardna
devijacija generisanih je 0,86, a eksperimentalno dobijenih uzoraka 1,30. Takode, može se uočiti
i da je frekvencija pojave uzoraka u raznim opsezima različita od frekvencije prikazane na his-
togramu na slici 2.3.

Postoje četiri grupe faktora koje utiču na validnost rezultata primene metode Monte Karlo
u generisanju vrednosti slučajne promenljive. To su:

1. Pretpostavke koje pojednostavljuju problem

2. Prelazni uslovi: potreban je period uhodavanja - rezultati se uzimaju samo kada se us-
postavi stabilno stanje

3. Predubedenje pri generisanju slučajnih brojeva (o ovome će biti reči u jednom od narednih
odeljaka)

4. Tačnost korišćenih podataka

U prethodnom primeru je generisan mali broj uzoraka (svega 10), tako da nije istekao period
uhodavanja. Da je izvučen veći broj uzoraka verovatno bi slaganje eksperimentalno dobijenih
podataka i generisanih uzoraka bilo bolje.

2.3 Uzorkovanje iz standardne statističke raspodele


U odeljku 2.1 uzorci su uzimani iz empirijske raspodele. Medutim, često je za razne parametre
na raspolaganju neka standardna (npr. normalna) statistička raspodela. Na primer, uobičajeno
je da se verovatnoća vremena proteklog do pojave otkaza na mašini modelira eksponencijalnom
raspodelom. U ovakvim slučajevima uzorci se uzimaju iz konkretne statističke raspodele.

U sledećem primeru je prikazana metoda uzorkovanja iz normalne raspodele sa x = 5 i σ = 1


(slika 2.4). Na slici 2.5 je prikazana funkcija kumulativne raspodele verovatnoće koja odgovara
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 17

normalnoj raspodeli prikazanoj na slici 2.4.

Uzorkovanje na osnovu standardne statističke raspodele se vrši u sledeća dva koraka:

f(x)
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
0 2 4 6 8 10
x

Slika 2.4: Funkcija raspodele verovatnoće za normalnu raspodelu sa x = 5 i σ = 1

F(x)
1

0.8

0.6

0.4

0.2

0
0 2 4 6 8 10
x

Slika 2.5: Funkcija kumulativne raspodele verovatnoće normalne raspodele sa x = 5 i σ = 1

1. Generisanje slučajnog broja (npr. očitavanjem iz tablice)

2. Očitavanje vrednosti sa apscise iz funkcije kumulativne raspodele verovatnoće koja odgo-


vara datom slučajnom broju na ordinati

Na primer, za slučajan broj 27, sa grafika datog na slici 2.5 se očitava x za koje je F (x) = 27%.
U ovom slučaju x = 4, 39.

2.4 Generisanje slučajnih brojeva


Slučajni brojevi predstavljaju niz brojeva koji se pojavljuju slučajnim redsledom. Oni se pred-
stavljaju ili kao celi brojevi na skali recimo od 0-9 ili 0-99 ili kao realni brojevi na skali 0-1. Niz
slučajnih brojeva se može generisati stavljanjem 100 papirića sa napisanim brojavima od 0-99
u šešir i izvlačenjem brojeva iz šešira. Papirići se svaki put zamenjuju. Slučajni brojevi koji su
generisani na ovaj način imaju dva svojstva:
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 18

1. Uniformnost: ista je verovatnoća pojavljivanja svakog broja na svakom mestu u nizu


2. Nezavisnost: to što je broj već jednom izvučen ne utiče na verovatnoću njegovog ponovnog
izvlačenja, kao ni na verovatnoću izbora nekog drugog broja
Opisani metod se koristi za formiranje tabele slučajnih brojeva (npr. tabela 2.4).

Tokom izvršavanja kompjuterske simulacije najčešće je poteban niz od nekoliko hiljada ili čak
miliona slučajnih brojeva. Čuvanje ovako velikih nizova slučajnih brojeva u memoriji računara
nije praktično izvodljivo, pa je potrebno formirati metodologiju za generisanje slučajnih brojeva
pomoću računara. Računar predstavlja determinističku mašinu i postavlja se pitanje da li je on
u mogućnosti da generiše slučajne brojeve. Odgovor je: ne. Medutim, računar može generisati
pseudo slučajne brojeve. Ovi brojevi se nazivaju pseudo slučajni brojevi jer iako deluju kao
slučajni, njihov niz je potpuno predvidiv. Iako je korišćenjem algoritma za generisanje uvek
moguće predvideti sledeći broj u nizu, kada se niz brojeva razmotri uočava se da oni imaju
svojstva uniformnosti i nezavisnosti koja su neophodna za slučajnost brojeva.

Slika 2.6: Izvod iz logaritamskih tablica

Ukoliko se posmatraju matematičke tablice (npr. logaritamske tablice 2.6) može se uočiti da je
frekvenca pojavljivanja cifara 0-9 na najmanje značajnom mestu uniformna. Slično, najmanje
značajne cifre rezultata množenja velikih brojeva daju uniformno rasporeden niz brojeva.

Postoji veliki broj razvijenih metoda za kompjutersko generisanje pseudo slučajnih brojeva.
Ovde se navode dve jednostavne metode:
1. Multiplikativni generator slučajnih brojeva, i
2. Kongruentni generator slučajnih brojeva

2.4.1 Multiplikativni generator slučajnih brojeva


Multiplikativni generator pseudo slučajnih brojeva je opisan relacijom:
Xi+1 = Xi · c − f loor(Xi · c) (2.1)
gde je:
Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 19

Tabela 2.6: Niz slučajnih brojeva generisanih multiplikativnim generatorom (relacija (2.1)) za
X0 = 0, 645329 i c = 317
i 0 1 2 3 4 5
Xi 0,569 0,373 0,241 0,397 0,849
317 · Xi 204,569 180,373 118,241 76,397 125,849

• Xi - niz razlomljenih slučajnih brojeva

• c - prost broj - konstanta množenja

• f loor(x) - celobrojna vrednost razlomljenog broja

• X0 - početna vrednost, koja se još naziva ”seme”

Primer: Multiplikativni generator pseudo slučajnih brojeva za X0 = 0, 645329 i c = 317

Primenom relacije (2.1) dobija se niz slučajnih brojeva prikazanih u tabeli 2.6.

Navedenom metodom se dobija niz razlomljenih slučajnih brojeva. Ukoliko je potreban niz
celih slučajnih brojeva u opsegu 0-99 svaki slučajni broj se množi sa 100 i uzima se celobrojni
deo rezultata.

2.4.2 Kongruentni generator slučajnih brojeva


Kongruentni generator je najčešće korišćen metod za generisanje pseudo slučajnih brojeva.
Opisuje se relacijom:
Xi+1 = (aXi + c)(mod m) (2.2)
gde je:

• Xi - niz celih slučajnih brojeva u intervalu [0, m-1]

• a - konstanta za množenje

• c - konstanta za sabiranje

• m - modul; mod m označava ostatak pri deljenju sa m

• X0 - početna vrednost niza

Vrednosti konstanti a, c i m kao i vrednost X0 se biraju. Svi kongruentni generatori su ciklični


- njihove vrednosti se ponavljaju nakon odredenog broja generisanih brojeva. Maksimalan broj
brojeva koji se mogu generisati pre ponavljanja je m − 1, ali je često ovaj broj manji. Kako bi
se obezbedio dovoljno dugačak niz koji se neće ponavljati u toku izvršavanja simulacije, izbor
konstanti i semena je izuzetno značajan. Ukoliko se konstante ne odaberu adekvatno, može se
formirati predubedenje u korist nekog od brojeva što može uticati na rezultate uzorkovanja.
Ovo je jedan od uzroka moguće nevalidnosti uzoraka generisanih metodom Monte Karlo (ode-
ljak 2.2).

Primer: Kongruentni generator pseudo slučajnih brojeva za X0 = 8, c = 0, a = 4 i m = 25


Ž. Jakovljević, Kompjuterska simulacija u automatizaciji proizvodnje - izvodi sa predavanja 20

Tabela 2.7: Niz slučajnih brojeva generisanih kongruentnim generatorom (relacija (2.2)) za
X0 = 8, c = 0, a = 4 i m = 25
i 0 1 2 3 4 5 6 7 8 9 10 11 12 13
Xi 8 7 3 12 23 17 18 22 13 2 8 7 3 12
4Xi 32 28 12 48 92 68 72 88 52 8 32 28 12 48

Primenom relacije (2.2) dobija se niz slučajnih brojeva prikazanih u tabeli 2.7. Iz datog primera
se vidi da se brojevi nakon i = 9 ponavljaju.

Posebnu klasu kongruentnih generatora slučajnih brojeva predstavljaju multiplikativni kon-


gruentni generatori kod kojih je konstanta c = 0. Oni se opisuju relacijom:

Xi+1 = aXi (mod m) (2.3)

Za ove generatore slučajnih brojeva je karakteristično da je u najvećem broju slučajeva period


cikličnog ponavljanja jednak m−1 kada su seme X0 i modul m relativno prosti brojevi, tj. kada
je njihov najveći zajednički delilac jednak 1. Medutim, ovi generatori nikad ne mogu generisati
nulu kao slučajan broj. Jedan primer multiplikativnog kongruentnog generatora koji se često
koristi je dat relacijom [1]:
Xi+1 = 3125 · Xi mod 2m
gde je m maksimalna vrednost koja se na računaru može koristiti. Ovaj niz ima dužinu ciklusa
najmanje 2m−2 bez obzira na izbor semena.

You might also like