simulacija pomoću jezika gpss -...

84
Simulacija pomoću jezika GPSS dr Aleksandar Marković, red. prof. markovic.aleksandar@fon. bg.ac.rs Simulacija u poslovnom odlučivanju

Upload: hadieu

Post on 19-Sep-2018

268 views

Category:

Documents


2 download

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

Simulacija pomoću jezika GPSS

dr Aleksandar Marković, red. prof.

[email protected]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Simulacija pomoću jezika GPSS

dr Aleksandar Marković, red. prof.

[email protected]

Simulacija u poslovnom odlučivanju