simulacija pomoću jezika gpss -...
TRANSCRIPT
![Page 1: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/1.jpg)
Simulacija pomoću jezika GPSS
dr Aleksandar Marković, red. prof.
Simulacija u poslovnom odlučivanju
![Page 2: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/2.jpg)
Simulacija pomoću jezika GPSS
• Standardni numerički atributi
• Memorijske lokacije
• Parametri transakcije
• Aritmetički izrazi
• Funkcije
![Page 3: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/3.jpg)
Simulacija pomoću jezika GPSS
• Uslovno račvanje putanja transakcija
• Račvanje po uslovu stanja blokova
• Račvanje po uslovu stanja uređaja
• Račvanje po uslovu stanja skladišta
• Račvanje po uslovu stanja prekidača
• Račvanje po uslovu stanja SNA
• Indirektno adresiranje
• Ponavljanje simulacije
• Korisnički redovi
• Implementacija jezika GPSS
![Page 4: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/4.jpg)
Sintaksa jezika GPSS
• Opšti tipovi naredbi
• Blok naredbe
• Deklarativne naredbe
• Kontrolne naredbe
![Page 5: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/5.jpg)
Sintaksa jezika GPSS
L L L L L X X X X X A, B, C, D, … C C C C C
Labela Mnemonički kod naredbe
Operandi(najviše 7)
Komentar
• Labele su redni brojevi blokova ili simbolička imena.
• Simbolička imena imaju 3-5 alfanumeričkih karaktera, s tim što prva trikaraktera moraju da budu slova.
• Blanko znak je terminator naredbe.
Opšti format naredbi
Oznaka za komentar
Oznaka za nastavak
1 2 7 8 ,9
![Page 6: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/6.jpg)
Osnovni skup naredbi
• Generisanje transakcija
• Vremensko zadržavanje transakcija
• Statističko račvanje putanje transakcije
• Bezuslovni skok
• Uklanjanje transakcije iz sistema
• Startovanje simulatora
• Početak i kraj GPSS programa
![Page 7: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/7.jpg)
Generisanje transakcija
ta Srednje vreme između dve τ
δ Poluinterval uniformnog odstupanja od ta (ta-δ≤ta≤ta+δ)
t1 Vreme generisanja prve τ
n Ukupan broj τ koje generiše ovaj blok
GENERATE ta,[δ],[t1],[n] ta,δ,t1,n, …
![Page 8: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/8.jpg)
Generisanje transakcija – Primeri
GENERATE 5
Svakih 5 vremenskih jedinica generiše se po jedna τ.
GENERATE 10,4
Svakih t vremenskih jedinica generiše se po jedna τ, pri čemu je tuniformno raspodeljeno na intervalu [6,14].
GENERATE 5,,200
Svakih 5 vremenskih jedinica generiše se po jedna τ, s tim što se prva τpojavljuje sa kašnjenjem od 200 vremenskih jedinica.
GENERATE 5,,,1000
Svakih 5 vremenskih jedinica generiše se po jedna τ, s tim što će se ukupnogenerisati 1000 τ.
![Page 9: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/9.jpg)
Vremensko zadržavanje transakcije
ta Srednje vreme zadržavanja τ
δ Poluinterval uniformnog odstupanja od ta (ta-δ≤ta≤ta+δ)
ADVANCE ta,[δ]
Napomena: Blok služi za simulaciju vremena opsluživanja τ.
ta,[δ]
![Page 10: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/10.jpg)
Vremensko zadržavanje transakcije – Primeri
ADVANCE 10,0
τ će se zadržati u ovom vremenskom bloku 10 vremenskih jedinica.
GENERATE 6,2
τ će se zadržati t vremenskih jedinica, s tim što je t uniformno raspodeljenona intervalu [4,8].
![Page 11: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/11.jpg)
Statističko račvanje putanje transakcije
p Verovatnoća skoka na labelu l2 (verovatnoća produžetka τ na sledeći sekvencijalni blok ili na labelu l1 je 1-p) p se piše u formi .d, ili .dd, ili .ddd, gde d pripada skupu {0, 1, 2, …, 9}
l1, l2 Labele blokova u koje odlazi τ posle račvanja
TRANSFER p,[l1],l2
Napomene:1. Ishodi blokova su statistički nezavisni.2. τ ostaje u bloku TRANSFER ukoliko blok na koji ona treba da skoči ne može da je primi. Skok će
se ostvariti čim se ostvari uslov prijema.
l1
l2p
![Page 12: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/12.jpg)
Statističko račvanje putanje transakcije – Primeri
TRANSFER .1,PRIH,ODB
U 10% slučajeva τ odlazi na blok sa labelom ODB, u 90% slučajeva τ odlazina blok sa labelom PRIH.
TRANSFER .85,,3
U 85% slučajeva τ odlazi na blok broj 3, u 15% slučajeva τ odlazi na blok kojise nalazi neposredno iza ovog bloka.
![Page 13: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/13.jpg)
Bezuslovni skok
l Labela na koju τ odlazi bezuslovno
TRANSFER ,l
Napomena: Ako blok na labeli l nema uslova da prihvati τ ona će biti zadržana u bloku TRANSFER. Čim se uslov za prijem ostvari, τ automatski odlazi na naznačeni blok.
lp
![Page 14: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/14.jpg)
Uklanjanje transakcije iz sistema
Δk Vrednost za koju se smanjuje terminacioni brojač kada τ dođe na ovaj blok
TERMINATE [Δk]
Napomena: Terminacioni brojač (TB) je jedinstvena lokacija na nivou GPSS programa koja se dekrementira kad god neka τ dođe na neki od blokova tipa TERMINATE.
Kada vrednost TB padne na nulu, simulacija se automatski završava.Početna vrednost TB definiše se pomoću kontrolne naredbe START.
Δk
![Page 15: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/15.jpg)
Startovanje simulatora
k0 Početna vrednost terminacionog brojača
NP (No Print) oznaka za ukidanje štampanja izlaznih rezultata po završetku simulacije
START k0,[NP]
Napomena: Ova naredba započinje proces simulacije (izvršenja GPSS programa) i nalazi se na kraju paketa blok-naredbi i deklaracionih naredbi.
(kontrolna naredba)
![Page 16: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/16.jpg)
Startovanje simulatora – Primeri
START 1000
Startovanje simulatora – početna vrednost TB je 1000. Nakon završetkasimulacije (kada TB postane nula) štampaju se rezultati.
START 1000,NP
Isto kao u prethodnom primeru, osim što se neće štampati rezultati.
![Page 17: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/17.jpg)
Početak i kraj GPSS programa
SIMULATE (kontrolna naredba)
• Ova naredba je prva naredba GPSS programa.
• Ako se ona izostavi, program će se prevesti, ali se neće izvršiti (naredba STARTtada nema efekta).
END (kontrolna naredba)
• Ova naredba je poslednja naredba GPSS programa.
• Označava kraj paketa za GPSS prevodioca i ujedno je izvršna naredba poslekoje se upravljanje predaje operativnom sistemu.
![Page 18: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/18.jpg)
Problem #1
Mašina proizvodi delove i svakih 5 minuta delovi idu na inspekciju. Inspekcijuvrši grupa od neograničenog broja inspektora. Vreme pregleda je 4±3 minuta.Zna se da mašina proizvodi 10% škarta. Simulirati proces pregleda 1000 delova.Za vremensku jedinicu uzeti 1 minut.
SIMULATE
GENERATE 5 Proizvodnja delova
ADVANCE 4,3 Pregled
TRANSFER .1,,ODB Selekcija
TERMINATE 1 Ispravni delovi
ODB TERMINATE 1 Odbačeni delovi
START 1000 Simulirati 1000 delova
END
![Page 19: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/19.jpg)
Problem #1 – Listing programa posle prevođenja
GPSS procesor je svim blokovima dodelio redni broj bloka, a simboličke labelezamenio rednim brojem bloka.
SIMULATE1 GENERATE 52 ADVANCE 4 33 TRANSFER .100 4 54 TERMINATE 15 TERMINATE 1
START 1000END
![Page 20: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/20.jpg)
Problem #1 – Listing izlaznog izveštaja
Redni broj bloka
Zatečeni broj τpo blokovima
Ukupni broj τkoje su prošle kroz blokove
RELATIVE CLOCK 5006
BLOCK COUNTS
BLOCK CURRENT TOTAL
1 0 1001
2 1 1001
3 0 1000
4 0 893
5 0 107
![Page 21: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/21.jpg)
Ograničenje vremena simulacije
• Simulacija prestaje kada terminalni brojač padne na nulu. Ukoliko želimo dase simulacija vrši na datom intervalu vremena potrebno je uvesti TAJMERE.
• Primeri tajmera:
GENERATE 600 Simulacija će trajati 600
TERMINATE 1 vremenskih jedinica.
START 1
GENERATE 3600 Simulacija će trajati 5 sati.
TERMINATE 1 Vremenska jedinica je 1 s.
START 5
![Page 22: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/22.jpg)
Osnovni permanentni entiteti
Uređaji
Skladišta
Redovi
Tabele
Prekidači
![Page 23: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/23.jpg)
Uređaji
• Uređaj (FACILITY) je permanentni entitet koji predstavlja jednog opslužioca.
• Uređaj može istovremeno da prihvati samo jednu τ.
• Ako τ pokuša da pređe u zaposednut uređaj, ona automatski biva zadržana uprethodnom bloku sve dok se uređaj ne oslobodi.
Zaposedanje uređaja:
SIEZE f
Oslobađanje uređaja:
RELEASE f
f broj/ime uređaja
f
f
![Page 24: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/24.jpg)
Uređaji – Primer
SEIZE 2 τ zaposeda uređaj broj 2
ADVANCE 4 τ se zadržava u uređaju 4 v.j.
RELEASE 2 τ oslobađa uređaj broj 2
![Page 25: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/25.jpg)
Problem #2
Isto kao problem #1, s tim što postoji samo jedan inspektor.
SIMULATE
GENERATE 5 Proizvodnja delova
SEIZE 1 Zaposedanje inspektora
ADVANCE 4,3 Pregled
RELEASE 1 Oslobađanje inspektora
TRANSFER .1,,ODB Selekcija
TERMINATE 1 Ispravni delovi
ODB TERMINATE 1 Odbačeni delovi
START 1000 Simulirati 1000 delova
END
![Page 26: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/26.jpg)
Problem #2 – Listing izlaznog izveštaja
RELATIVE CLOCK 5434
BLOCK COUNTS
BLOCK CURRENT TOTAL
1 1 1001
2 0 1000
3 0 1000
4 0 1000
5 0 1000
6 0 903
7 0 97
FACILITYAVERAGE
UTILISATION NUMBER ENTRIESAVERAGE
TIME/TRAN
1 .749 1000 4.070
![Page 27: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/27.jpg)
Skladišta
• Skladište (storage) je permanentni entitet koji predstavlja grupu simultanihopslužilaca.
• Skladište može simultano da prihvati više τ zavisno od njegovog kapaciteta.
• Ako τ pokuša da uđe u puno skladište ona automatski biva zadržana uprethodnom bloku sve dok se ne stvori prostor u skladištu.
Ulazak u skladište:
ENTER s
Napuštanje skladišta:
LEAVE s
s broj/ime uređaja
k maksimalni (početni) kapacitet skladišta
Deklaracija skladišta:
s STORAGE [k] (deklaraciona naredba)
s
s
![Page 28: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/28.jpg)
Problem #3
Isto kao problem #1, osim što je grupa inspektora ograničena na 3 inspektora.
Vreme rada jednog inspektora je 12±9 minuta.
SIMULATE
GENERATE 5 Proizvodnja delova
ENTER 1Zaposedanje 1 inspektora
ADVANCE 12,9 Pregled
LEAVE 1Oslobađanje 1 inspektora
TRANSFER .1,,ODB Selekcija
TERMINATE 1 Ispravni delovi
ODB TERMINATE 1 Neispravni delovi
1 STORAGE 3 Deklaracija 3 inspektora
START 1000 Simulirati 1000 delova
END
![Page 29: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/29.jpg)
Problem #3 – Listing izlaznog izveštaja
RELATIVE CLOCK 5346
BLOCK COUNTS
.
.
.
STORAGE CAPACITYAVERAGE CONTENTS
AVERAGE UTILISATION
1 3 2.275 .758
ENTERIESAVERAGE
TIME/TRANCURRENT CONTENTS
MAXIMUM CONTENTS
1002 12.138 2 3
![Page 30: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/30.jpg)
Prekidači
i broj/ime prekidača
X postfiks naredbeX = R – isključi prekidač (Reset)X = S – uključi prekidač (Set)X = I – invertuj prekidač (Invert)
LOGIC X i
Prekidač (LOGIC SWITCH) je permanentni entitet koji ima dva stanja: uključen i isključen.
iX
![Page 31: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/31.jpg)
Prekidači – Primeri
LOGIC R 5
τ isključuje prekidač broj 5.
LOGIC S SMFR
τ uključuje prekidač SMFR.
LOGIC I PRK
τ isključuje prekidač PRK ako je on prethodno bio uključen, a uključuje gaako je on prethodno bio isključen.
![Page 32: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/32.jpg)
Redovi
• Red (QUEUE) je permanentni entitet koji se uvodi ukoliko želimo da prikupimostatistiku čekanja τ na nekom od blokova.
• U sistem može da se uvede veći broj redova.
• Jedna τ može da bude u većem broju redova (najviše 5).
Prijava transakcije u red:
QUEUE q
Odjava transakcije iz reda:
DEPART q
q broj/ime reda
q
q
Blok QUEUE bezuslovno prihvata τ. Ukoliko naredni blok ima uslov prijema, odmah je propušta. Ako naredni blok nema uslov prijema, τ ostaje u bloku QUEUE sve dok se ne ostvari uslov prijema. Ako u bloku QUEUE čeka više τ, odlazi prvo ona koja je najduže čekala.
![Page 33: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/33.jpg)
Redovi – Primer
GENERATE 10 τ se stvaraju svakih 10 v.j.
QUEUE 1 τ se prijavljuje u red br. 1 i ostaje u njemu ako uređaj 5 nije slobodan
SEIZE 5 τ zaposeda uređaj br. 5
DEPART 1 Čim je τ zaposela uređaj br. 5 ona seodjavljuje iz reda br. 1
ADVANCE 9,3 τ se zadržava u uređaju br. 5 9±3 v.j.
RELEASE 5 τ oslobađa uređaj br. 5. Ako je neka τčekala na ovaj uređaj (u bloku QUEUE) ona će automatski preći u blok SEIZE
![Page 34: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/34.jpg)
Redovi – Listing izlaznog izveštaja
.
.
.
QUEUEMAXIMUM CONTENTS
AVERAGE CONTENTS
TOTAL ENTRIES
ZERO ENTRIES
1 2 .149 1003 742
PERCENT ZEROS
AVERAGE TIME/TRANS
AVERAGE TIME/TRANS
CURRENT CONTENTS
73.2 .746 2.869 1
Sa nultim čekanjem
Bez nultog čekanja
![Page 35: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/35.jpg)
Napomene
• U gornjem primeru postojaće (implicitno) red čekanja na uređaj bez obzira napostojanje blokova QUEUE/DEPART.
• Ovi blokovi se umeću u program samo radi prikupljanja statističkih podatakao čekanju na uređaj.
• Ako je τ ušla u QUEUE blok to ne znači da ona u njemu ostaje sve vreme,mada ostaje u odgovarajućem redu.
• Redovi, tj. blokovi QUEUE/DEPART ni na koji način ne utiču na model.
![Page 36: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/36.jpg)
Tabele (histogrami)
• Tabela (TABLE) je permanentni entitet koji se uvodi ukoliko želimo da snimimohistogram za neku veličinu.
Ažuriranje tabele:
TABULATE tab
tab broj/ime tabele
SNA oznaka veličine koja se snima histogramom
ɛ1 gornja granica prvog intervala histograma
Δ širina intervala
m broj intervala (klasa)
Deklaracija tabele:
tab TABLE SNA,ɛ1,Δ,m (deklaraciona naredba)
tab
![Page 37: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/37.jpg)
Tabele (histogrami)
Napomene:
1. Tabela se ažurira kad god neka τ dođe na blok TABULATE.
2. Blok TABULATE nikada ne zadržava τ i on ni na koji način ne utiče na model.
![Page 38: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/38.jpg)
Snimanje vremena putovanja transakcije(transit time)
• Ukoliko želimo da snimimo histogram vremena putovanja τ kroz model od trenutkanjihovog generisanja do nekog bloka, tada se ispred tog bloka umeće naredbaTABULATE tab.
Deklaracija naredbe:
tab TABLE M1,ɛ1,Δ,m
• Ukoliko nas interesuje vreme putovanja τ od nekog bloka b1, do drugog blokab2, tada je potrebno odmah iza bloka b1 resetovati (anulirati) vremeputovanja τ. To se postiže pomoću bloka:
MARK MARK
M1 vreme putovanja τ
(deklaraciona naredba)
![Page 39: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/39.jpg)
Problem #4
Isto kao problem 3, s tim što treba snimiti histogramvremena inspekcije delova. Histogram treba da ima 5klasa sa intervalima:
(0,5] (5,10] (10,15] (15,20] (20,25]
SIMULATEGENERATE 5ENTER 1MARK Resetovanje vremena
ADVANCE 12,9LEAVE 1TABULATE 1 Ažuriranje tabele
TRANSFER .1,,ODBTERMINATE 1
ODB TERMINATE 11 STORAGE 31 TABLE M1,5,5,5 Deklaracija tabele
START 1000END
![Page 40: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/40.jpg)
Problem #4
Napomena:
Ukoliko želimo histogram ukupnog vremena putovanja τ (čekanje na pregled + vreme pregleda), tada treba izostaviti blok MARK.
![Page 41: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/41.jpg)
Problem #4 – Listing izlaznog izveštaja
. . .
TABLE 1
ENTRIES IN TABLE MEAN ARGUMENTSTANDARD
DEVIATION SUM OF ARGUMENTS
1000 12.167 5.371 12168.0
UPPER LIMITOBSERVED
FREQUENCY PERCENT OF TOTALCUMULATIVEPERCENTAGE
5 145 14.49 14.4
10 244 24.39 38.8
15 300 29.99 68.8
20 258 25.75 94.6
25 53 5.29 100
CUMULATIVE REMAINDER
MULTIPLE OF MEANDEVIATION FROM
MEAN
85.5 .410 -1.334
61.1 .821 - .403
31.1 1.232 .527
5.3 1.643 1.458
.0 2.054 2.389
![Page 42: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/42.jpg)
Standardni numerički atributi (SNA)
C1 tekuće vreme časovnika
M1 vreme putovanja transakcije
Nn ukupan broj τ koje su prošle kroz blok n
Fn tekući status uređaja n
Sn tekući angažovani kapacitet skladišta n
Rn tekući slobodni kapacitet skladišta n
Qn trenutna dužina reda n
Xn memorijska lokacija n
Wn trenutni broj τ u bloku n
Pn parametar n transakcije
Vn vrednost varijalbe n (rezultat aritmetičkog izraza)
RNn vrednost GSB (uniformnog) n
FNn vrednost funkcije n
CHn trenutni broj τ u korisničkom lancu n
![Page 43: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/43.jpg)
Standardni numerički atributi (SNA)
• Umesto broja n entiteta/bloka u definisanju SNA, mogu se koristiti njihovisimbolički nazivi. Tada se umesto n piše:
$ime
Primeri:
F$INSP - status uređaja “INSP“
Q$KASA - dužina reda “KASA“
• SNA mogu da se koriste u operandima GPSS naredbi:
GENERATE 36,FN1
ADVANCE X120,FN2
TRANSFER RN1,1,2
15 TABLE P1,5,5,5
![Page 44: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/44.jpg)
Memorijske lokacije
• Memorijske lokacije (savevalues) su SNA koji permanentno egzistiraju tokomizvršenja GPSS programa i koji su pod direktnom kontrolom programera.
• Memorijske lokacije imenuju se sa Xn (ceo broj na dužini jedne reči), ili sa XHn
(ceo broj na dužini jedne polureči).
• Dopušta se simboličko imenovanje (npr. X$VISINA, XH$TIMER).
• Vrednost memorijske lokacije može da se zada/modifikuje pomoću blok-naredbe:
SAVEVALUE nn+n−
,X[,H]
n broj/ime memorijske lokacije (+/- označava dodavanje/oduzimanje)
x vrednost koja se stavlja u Xn, odnosno dodaje ili oduzima od Xn
H stavlja se ako je memorijska lokacija na dužini polureči (XHn)
n,x,H
![Page 45: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/45.jpg)
Memorijske lokacije – Primeri
SAVEVALUE 2,Q5
X2 postaje brojno jednaka dužini reda broj 5.
SAVEVALUE TEZ+,V$PROM,H
XH$TEZ se uvećava za vrednost V$PROM
![Page 46: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/46.jpg)
Memorijske lokacije
• Početna vrednost memorijske lokacije može da se inicijalizuje na početkuizvršavanja programa pomoću kontrolne naredbe:
Primeri:
INITIAL X50,8
INITIAL XH2,-32768
INITIAL XH$TEZ,100
• Nakon završetka simulacije automatski će se u izlaznom izveštaju prikazati svememorijske lokacije (Xn/XHn) koje imaju vrednost različitu od nule.
INITIALXnXHn
,k
k konstanta (ceo broj koji postaje početna vrednost za Xn/XHn)
![Page 47: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/47.jpg)
Parametri transakcija
• Svaka τ može da ima određeni broj parametara (najviše 100) – atributitransakcije.
• Broj parametara τ definiše se u trenutku njenog generisanja, pomoćunaredbe GENERATE (6-ti operand). Ukoliko se to ne uradi, broj parametara τbiće 12.
• Parametri τ imenuju se kao SNA oblika Pn, n uzima vrednosti [1, 100]. Nijedozvoljeno imenovanje pomoću simbola (P$boja nije legalno).
• Prilikom generisanja τ svi njeni parametri imaju automatski vrednost 0.
![Page 48: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/48.jpg)
Parametri transakcija
• Vrednost parametra τ može da se zadaje/modifikuje pomoću blok-naredbe:
ASSIGN nn+n−
,xn,x
n broj parametra (+/- određuju dodavanje/oduzimanje x)
x vrednost koja se stavlja u parametar, dodaje ili oduzima od parametra
![Page 49: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/49.jpg)
Parametri transakcija – Primeri
ASSIGN 4,5
Vrednost P4 postaje 5.
ASSIGN 4+,5
P4 se uvećava za 5.
ASSIGN 4-,5
P4 se umanjuje za 5.
![Page 50: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/50.jpg)
Aritmetički izrazi i varijable
• Aritmetički izrazi su kombinacije konstanti, SNA i aritmetičkih operatora:
• Svaki aritmetički izraz mora da se deklariše pomoću deklaracione naredbe:
+ sabiranje
- oduzimanje
* množenje
/ deljenje
@ modulo deljenje (ostatak)
j VARIABLE aritmetički izraz (deklaraciona naredba)
![Page 51: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/51.jpg)
Aritmetički izrazi i varijable – Primeri
5 VARIABLE S6+5*(Q12+Q17)
Kad god se u programu navede varijabla V5 vršiće se računanje gornjegizraza, a rezultat će biti stavljen u V5.
...
ADVANCE V$TKASA
Zadržavanje kupca na kasi.
...
TKASA VARIABLE P1*10+25
Vreme zadržavanja kupca na kasi zavisi od broja artikala koje kupac kupuje(parametar transakcije P1).
![Page 52: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/52.jpg)
Problem #5
SAMOPOSLUGA – I
Kupci dolaze svakih 40±30 sekundi. Vreme kupovine je n*30+10 (n je brojartikala). Vreme opsluživanja kupaca na kasi je n*10+25 sekundi, sa uniformnimodstupanjem ±20%.
Samoposluga ima ukupno 50 korpi i ukupno 5 kasa sa identičnimkarakteristikama. Simulaciju vršiti na dužini od jednog sata. Snimiti histogramvremena boravka kupaca u samoposluzi.
Odrediti i srednje vreme čekanja kupaca u redu pred kasom.
![Page 53: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/53.jpg)
Problem #5
SIMULATE
GENERATE 40,30 Dolazak kupaca
ENTER KORPE Kupac uzima korpu
ASSIGN 1,V$BRART Određivanje broja artikala
ADVANCE V$VRKUP Boravak u pazarnom prostoru
QUEUE RED Prijava čekanja
ENTER KASE Dolazak na kasu
DEPART RED Odjava čekanja
ADVANCE V$VROPS,V$ODST Opsluživanje na kasi
LEAVE KASE Napuštanje kase
TABULATE HIST Snimanje histograma
LEAVE KORPE Kupac ostavlja korpu
TERMINATE Kupac napušta samoposlugu
![Page 54: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/54.jpg)
Problem #5
GENERATE 3600 Tajmer
TERMINATE 1
HIST TABLE M1,500,500,10 Definicija histograma
BRART VARIABLE X$MAX*RN1/1000+1 Broj artikala
VRKUP VARIABLE P1*30+10 Vreme kupovine
VROPS VARIABLE P1*10+25 Vreme opsluživanja
ODST VARIABLE V$VROPS/5 Odstupanje 20%
INITIAL X$MAX,20 Max broj artikala
KASE STORAGE 5 5 kasa
KORPE STORAGE 50 50 korpi
START 1 Simulacija traje 1 sat
END Kraj programa
![Page 55: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/55.jpg)
Problem #5
Napomena:
• S obzirom da se ENTER blok nalazi neposredno iza GENERATE bloka, τ – kupci će se generisati samo ako ENTER blok ne odbije pristup (tj. ako ima praznih korpi). Na taj način se sekvenca dolazaka kupaca prekida povremeno.
• Ako se želi neprekidna sekvenca kupaca potrebno je iza GENERATE bloka ubaciti neki blok koji nekada ne odbija pristup. Npr.
GENERATE 40,30ADVANCE 0ENTER KORPE
• Posledica ovoga bi bila kao da se pred samoposlugom formira red kupaca koji čekaju slobodne korpe!
![Page 56: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/56.jpg)
Funkcije
• Funkcije se deklarišu pomoću deklaracione naredbe:
j FUNCTION arg,CnDn
X1,Y1/X2,Y2/.../Xn,Yn
j broj/ime funkcije
arg argument funkcije (SNA)
n broj tačaka sa kojima se definiše funkcija
C oznaka za kontinualnu funkciju
D oznaka za diskretnu funkciju
(Xi,Yi) parovi vrednosti sa kojima se definiše funkcija
(deklaraciona naredba)
![Page 57: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/57.jpg)
Funkcije
![Page 58: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/58.jpg)
Funkcije – Primer
EXPO FUNCTION RN1,C24 Funkcija za generisanje eksponencijalne
0.0,0.0/0.1,0.104/0.2,0.222/.../0.9997,8 raspodele
BRART FUNCTION RN1,D4 Funkcija za generisanje broja artikala koje
.2,5/.5,10/.9,15/1,20 kupac kupuje
VRKUP FUNCTION P1,C5 Funkcija vremena kupovine u zavisnosti
0,0/5,400/10,900/15,1500/20,2250 od broja artikala
...
GENERATE 36,FN$EXPO Dolazak kupaca u samoposlugu
...
ASSIGN 1,FN$BRART Određivanje broja artikala koje kupac kupuje
...
ADVANCE 1,FN$VRKUP Zadržavanje kupaca u pazarnom prostoru
...
![Page 59: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/59.jpg)
Funkcije – Primer
![Page 60: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/60.jpg)
Napomene
• GPSS podržava 8 uniformnih generatora slučajnih brojeva:RN1, RN2, …, RN8
• Vrednosti RNi zavise od načina njihovog korišćenja:
a) Ako se GSB koristi kao argument funkcije tada on daje vrednosti:0.000000, …, 0.999999
b) Ako se GSB koristi na neki drugi način (npr. u aritmetičkom izrazu) tada on daje vrednosti000, …, 999
![Page 61: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/61.jpg)
Problem #6
SAMOPOSLUGA – II
Slično kao kod problema 5.
Dolazak kupaca je Poissonovski proces. Broj artikala i vreme kupovine određujuse pomoću funkcija kao u prethodnom primeru.
![Page 62: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/62.jpg)
Problem #6
SIMULATE
GENERATE X$SVD,FN$EXPO Dolazak kupaca
ENTER KORPE Kupac uzima korpu
ASSIGN 1,FN$BRART Određivanje broja artikala
ADVANCE FN$VRKUP Boravak u pazarnom prostoru
QUEUE RED
ENTER KASE Dolazak na kasu
DEPART RED
ADVANCE V$VROPS,V$ODST Opsluživanje na kasi
LEAVE KASE Napuštanje kase
TABULATE HIST Snimanje histograma
LEAVE KORPE Kupac ostavlja korpu
TERMINATE Kupac napušta samoposlugu
![Page 63: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/63.jpg)
Problem #6
GENERATE 3600 Tajmer
TERMINATE 1 Tajmer
HIST TABLE M1,500,500,10 Definicija histograma
BRART FUNCTION RN1,D4... Broj artikala (prethodni slajd)
VRKUP FUNCTION P1,C5... Vreme kupovine (-||-)
EXPO FUNCTION RN1,C24... Eksponencijalna raspodela (-||-)
VROPS VARIABLE P1*10+25 Vreme opsluživanja na kasi
ODST VARIABLE V$VROPS/5 Odstupanje 20%
INITIAL X$SVD,40 Srednje vreme dolazaka kupaca
KASE STORAGE 5 5 kasa
KORPE STORAGE 50 50 korpi
START 1 Simulacija traje 1 sat
END Kraj programa
![Page 64: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/64.jpg)
Uslovno račvanje putanja transakcija
Račvanje po uslovu stanja na blokovima:
• τ odlazi na blok sa labelom l1 ako taj blok može da je primi.
• Ako ne može, odlazi na blok sa labelom l2 ukoliko on može da je primi.
• Ako ni jedan od blokova ne može da primi τ ona će ostati u bloku TRANSFERsve dok jedan od blokova ne ostvari uslov prijema. Prednost ima blok nalabeli l1.
TRANSFER BOTH,[l1],l2
l1
l2BOTH
![Page 65: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/65.jpg)
Račvanje po uslovu stanja na blokovima
![Page 66: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/66.jpg)
Problem #7
SAMOPOSLUGA – III
Slično kao kod problema 6.
Kupci odmah napuštaju samoposlugu ako nema praznih korpi.
SIMULATE
GENERATE X$SVD,FN$EXPO Dolazak kupaca
TRANSFER BOTH,,ODLAZ Ako nema korpi kupac odlazi
ENTER KORPE
...
LEAVE KORPE
TERMINATE Kupci koji su obavili kupovinu
ODLAZ TERMINATE Kupci koji su otišli pošto nije bilo slobodnih korpi
...
END
![Page 67: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/67.jpg)
Račvanje po uslovu stanja uređaja
GATE X f[,l] lX f
f broj/ime uređaja
X postfiks naredbeX = U – uređaj zauzet (in Use)X = NU – uređaj slobodan (Not in Use)
l labela bloka na koji τ odlazi ako uslov nije ispunjen (ako se labela izostavi, τ ostaje u ovom bloku sve dok se uslov ne ostvari – REFUSAL MODE)
![Page 68: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/68.jpg)
Račvanje po uslovu stanja skladišta
GATE X s[,l] lX s
s broj/ime skladišta
X postfiks naredbeX = SF – skladište je puno (Storage Full)X = SNF – skladište nije puno (Storage Not Full)X = SE – skladište je prazno (Storage Empty)X = SNE – skladište nije prazno (Storage Not Empty)
l labela bloka na koji τ odlazi ako uslov nije ispunjen (ako se labela izostavi, τ ostaje u ovom bloku sve dok se uslov ne ostvari – REFUSAL MODE)
![Page 69: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/69.jpg)
Račvanje po uslovu stanja prekidača
GATE X i[,l] lX i
i broj/ime prekidača
X postfiks naredbeX = LR – prekidač isključen (Logic Switch Reset)X = LS – prekidač uključen (Logic Switch Set)
l labela bloka na koji τ odlazi ako uslov nije ispunjen (ako se labela izostavi, τ ostaje u ovom bloku sve dok se uslov ne ostvari – REFUSAL MODE)
![Page 70: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/70.jpg)
Račvanje po uslovu SNA
TEST X a,b[,l]
a prva vrednost (konstanta ili SNA)
b druga vrednost (konstanta ili SNA)
X postfiks naredbeX = G – a veće od b (Greater)X = GE – a veće ili jednako b (Greater or Equal)X = E – a jednako b (Equal)X = NE – a nije jednako b (Not Equal)X = L – a manje od b (Less)X = LE – a manje ili jednako b (Less or Equal)
l labela bloka na koji τ odlazi ako uslov nije ispunjen (ako se labela izostavi, τ ostaje u ovom bloku sve dok se uslov ne ostvari – REFUSAL MODE)
lX
a b
![Page 71: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/71.jpg)
Račvanje po uslovu SNA – Primeri
TEST E S5,0
GATE SE 5
TEST E F$INSP,0,DALJE
GATE NU INSP,DALJE
ekvivalentnenaredbe
![Page 72: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/72.jpg)
Problem #8
SAMOPOSLUGA – IV
Slično kao kod problema 7.
Umesto 5 postoje samo 3 kase. Kupci odmah napuštaju samoposlugu ako uredovima na kasama čeka više od 8 kupaca u proseku (tj. ako je ukupan brojkupaca koji čekaju na kasu veći od 3*8=24).
SIMULATE
GENERATE X$SVD,FN$EXPO Dolazak kupaca
TEST LE Q$RED,24,ODLAZ Kupac odlazi ako je gužva
TRANSFER BOTH,,ODLAZ Kupac odlazi ako nema korpi
ENTER KORPE Kupac uzima korpu
ASSIGN 1,FN$BRART Određivanje broja artikala
![Page 73: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/73.jpg)
Problem #8
ADVANCE FN$VRKUP Boravak u pazarnom prostoru
QUEUE RED Kupac se prijavljuje u red
ENTER KASE Dolazak na kasu
DEPART RED Kupac se odjavljuje iz reda
ADVANCE V$VROPS,V$ODST
LEAVE KASE
TABULATE HIST
LEAVE KORPE
TERMINATE Kupci koji su obavili kupovinu
ODLAZ TERMINATE Kupci koji su otišli zbog gužve ili pošto nije bilo slobodnih korpi
...
KASE STORAGE 3
...
END
![Page 74: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/74.jpg)
Problem #9
SAMOPOSLUGA – V
Slično kao kod problema 7.
Samoposluga ima 5 kasa, od kojih su 3 normalne, a 2 ekspresne (za 5 ili manjeartikala). Prikupljati statistiku čekanja za obe vrste kasa.
SIMULATE
GENERATE X$SVD,FN$EXPO Dolazak kupaca
TRANSFER BOTH,,ODLAZ Kupac odlazi ako nema korpi
ENTER KORPE Kupac uzima korpu
ASSIGN 1,FN$BRART Određivanje broja artikala
ADVANCE FN$VRKUP Boravak u pazarnom prostoru
TEST G P1,5,EKSASE Odlučivanje za vrstu kase
![Page 75: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/75.jpg)
Problem #9
*Normalne kase za kupce sa više od 5 artikala
QUEUE 1 Normalne kase
ENTER 1
DEPART 1
ADVANCE V$VROPS,V$ODST
LEAVE 1
TABULATE 1
TRANSFER ,IZLAZ
*Ekspresne kase za kupce sa 5 ili manje artikala
EKASE QUEUE 2 Ekspresne kase
ENTER 2
DEPART 2
ADVANCE V$VROPS,V$ODST
![Page 76: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/76.jpg)
Problem #9
LEAVE 2
TABULATE 2
IZLAZ LEAVE KORPE Kupac ostavlja korpu
TERMINATE Kupci koji su obavili kupovinu
ODLAZ TERMINATE Kupci koji nisu obavili kupovinu
1 TABLE M1,500,500,10 Histogram normalnih kupaca
2 TABLE M1,500,500,10 Histogram ekspresnih kupaca
1 STORAGE 3 Normalne kase
2 STORAGE 2 Ekspresne kase
...
END
![Page 77: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/77.jpg)
Ponavljanje simulacije
• Simulacija počinje sa kontrolnom naredbom START i traje sve dokterminacioni brojač ne padne na nulu, posle čega se štampaju/ne štampajuizlazni rezultati. Stanje podataka u sistemu ostaje nepromenjeno.
• Simulaciju je moguće ponoviti/nastaviti novom START naredbom.
• Pre nove START naredbe mogu se ubaciti kontrolne naredbe RESET i CLEARkoje utiču na stanje sistema kao i deklaracione naredbe koje menjajupojedine parametre modela.
![Page 78: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/78.jpg)
Ponavljanje simulacije
RESET (kontrolna naredba)
• Anulira časovnik
• Anulira statistiku
• Ne menja memorijske lokacije (Xn, XHn)
• Ne menja seme GSB
• Ostavlja τ u sistemu
Primer:
![Page 79: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/79.jpg)
Ponavljanje simulacije – Primer
...
START 100,NP Simulator odrađuje početni period simulacije posle čega ne štampa izlazni izveštaj
RESET Čišćenje statistike
START 1000 Simulator odrađuje period ustaljenog režima
END
![Page 80: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/80.jpg)
Ponavljanje simulacije
CLEAR [lista memorijskih lokacija] (kontrolna naredba)
• Anulira časovnik
• Anulira statistiku
• Anulira sve memorijske lokacije, osim onih koje su navedene u listi naredbe
• Ne menja seme GSB
• Uklanja sve τ koje su se zatekle u sistemu
![Page 81: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/81.jpg)
Ponavljanje simulacije – Primer
U ovom primeru se vrši simulacija samoposluge za tri različita broja kasa zaopsluživanje kupaca (2, 4 i 6 paralelnih kasa). Posle svake simulacije se dobijaizlazni izveštaj. Memorijske lokacije X3 i X10 se ne anuliraju na početku druge itreće simulacije.
...
KASA STORAGE 2
...
START 1000
CLEAR X3,X10
KASA STORAGE 4
START 1000
CLEAR X3,X10
KASA STORAGE 6
START 1000
END
![Page 82: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/82.jpg)
Korisnički redovi (user chains)
• Korisnik može da formira jedan ili više redova u koje stavlja τ, a ove τ postajuneaktivne sve dok one ponovo ne izađu iz reda.
Stavljanje transakcije u red:
LINK j,
FIFOLIFOPn
j
j broj/ime reda
FIFO transakcija se stavlja na kraj reda
LIFO transakcija se stavlja na početak reda
Pn transakcija se stavlja u red tako da bude sortiran po n-tom parametru τ
![Page 83: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/83.jpg)
Vađenje transakcije iz korisničkog reda
UNLINK j,l1,k
ALL,[n],[x],[l2] jτ*
l1
τ
τ
τ
l2
τ* transakcija koja je izvađena iz reda j
τ transakcija koja uzrokuje vađenje transakcije τ* iz reda
j broj/ime reda
l1 labela na koju odlazi izvađena transakcija τ*
k broj transakcija koje se vade iz reda (ako se umesto k stavi ALL iz reda se vade sve transakcije)
n broj parametra koji se ispituje prilikom vađenja transakcije
x vrednost koju parametar Pn treba da ima da bi se transakcija izvukla iz reda
l2 labela na koju odlazi τ, a ako se l2 izostavi τ odlazi na sledeći sekvencijalni blok
![Page 84: Simulacija pomoću jezika GPSS - sipo.fon.bg.ac.rssipo.fon.bg.ac.rs/wp-content/uploads/2013/08/GPSS.pdf · Simulacija pomoću jezika GPSS •Uslovno račvanjeputanja transakcija •Račvanjepo](https://reader031.vdocuments.site/reader031/viewer/2022031720/5ba24a7409d3f26f6e8b8742/html5/thumbnails/84.jpg)
Simulacija pomoću jezika GPSS
dr Aleksandar Marković, red. prof.
Simulacija u poslovnom odlučivanju