zavrsni rad

download zavrsni rad

of 32

description

simulacije

Transcript of zavrsni rad

  • SVEUILITE U MOSTARUGRAEVINSKI FAKULTET

    Maria kojo

    SIMULACIJA RADA UTOVARIVAA I DAMPERA GPSS-OM

    ZAVRNI RAD

    Mostar, 2014.

  • Sveuilite u MostaruGraevinski fakultet

    ZAVRNI RAD

    SIMULACIJA RADA UTOVARIVAA I DAMPERA GPSS-OM

    Mentor: dr. sc. Ivana DomljanStudent: Maria kojo, 4487

    Mostar, 2014.

  • SADRAJ

    1. UVOD ................................................................................................................................... 1

    2. GPSS OPENAMJENSKI SIMULACIJSKISUSTAV ..................................................... 2

    2.1. Openito o GPSS-u ................................................................................................ 2

    2.2. Dostupnost GPSS programa i povezanih resursa ................................................... 4

    2.2.1. GPSS/H .................................................................................................... 4

    2.2.2. GPSS World ............................................................................................. 5

    2.2.3. Webgpss aGPSS ................................................................................. 6

    2.2.4. JGPSS ...................................................................................................... 6

    2.3. Primjena GPSS-a u graevinarstvu ........................................................................ 6

    3. SIMULACIJSKI MODELI RADA UTOVARIVAA I DAMPERA ................................... 9

    3.1. Simulacijski model s jednim utovarivaem ........................................................... 9

    3.2. Simulacijski model s vie utovarivaa ................................................................. 15

    3.3. Jedan openiti simulacijski model ........................................................................ 18

    4. ZAKLJUAK ..................................................................................................................... 27

    POPIS KORITENIH KRATICA I SKRAENICA

    POPIS KORITENIH IZVORA

  • 1. UVOD

    Procjena zajednikog uinka utovarivaa i dampera kao i izbor optimalnog brojadampera za uporabu uz odreene utovarivae povezana je s brojnim potekoama ipogrekama. Pogreke povezane s konvencionalnim metodama optimizacije sustava utovara iprijevoza mogu biti smanjene primjenom (Queueing theory) teorije redova ekanja odnosnoteorije masovnog usluivanja koja takoer ima itav niz ogranienja. Terenska opaanjapokazala su da statistika razdioba trajanja utovara nije u skladu sa statistikim razdiobamakakve pretpostavlja teorija redova ekanja. Rezultate dobivene primjenom teorije redovaekanja potrebno je popravljati empirijskim korekcijskim koeficijentima. Primjenom teorijeredova ekanja nije mogue primjereno modelirati sustave s damperima razliitih kapaciteta,kao ni sustave s vie utovarivaa (Nunnally 1999:363).

    Raunalni simulacijski modeli imaju virtualno neograniene mogunosti opisapromjenjivih veliina u koritenju graevinskih strojeva i opreme. Razdiobu trajanja utovara iprijevoza, broj i kapacitet dampera i utovarivaa te upravljanje odlukama vezanim za odsjekeoperacija mogue je po volji mijenjati. Brzina raunala omoguuje planeru simulaciju stotinaili tisua ciklusa u kratkom roku po umjerenoj cijeni. Prednosti simulacijskih sustava utestiranju kombinacija strojeva i izvedbenih postupaka su oigledne.

    Raunalni simulacijski modeli mogu se napraviti na dva osnovna naina; pisanjemodgovarajueg raunalnog programa nekim konvencionalnim ili simulacijskim programskimjezikom ili pak uporabom gotovih simulacijskih programskih paketa. Vei proizvoaiopreme i planerske tvrtke razvili su simulacijske programske pakete koji simuliraju uinkegraevinskih strojeva u zadanim uvjetima.

    Programiranje simulacijskih modela konvencionalnim programskih jezicima jezahtjevan posao neprofesionalnim programerima koji dobro poznaju procese ije simulacijskemodele treba napraviti. Profesionalni programeri najee nedovoljno dobro poznajutehnologiju iji simulacijski model treba napraviti. Te injenice su, nesumnjivo, utjecale nanastanak i razvoj simulacijskih jezika kojima je cilj pojednostaviti proces izrade simulacijskihmodela. Tri su osnovne skupine simulacijskih jezika; oni koji simuliraju procese kao diskretnedogaaje koji se dogaaju u odsjecima vremena, dakle diskontinuirano i oni koji simulirajukontinuirane sustave, treu osnovnu skupinu ine hibridni simulacijski jezici koji kombinirajusvojstva prvih dviju skupina te svi ostali simulacijski jezici koji se ne mogu jasno svrstati uprvu ili drugu skupinu. Graevinski radovi su najee procesi koji se sastoje od nizadogaaja koje je mogue tipizirati kao diskretne serijske dogaaje.

    Razvijeno je i prihvaeno nekoliko simulacijskih jezika pogodnih za modeliranje serijadiskretnih dogaaja. Tri povijesno najpoznatija simulacijska jezika su: GPSS (GeneralPurpose Simulation System) openamjenski simulacijski sustav, SIMSCRIPT i CSL (Controland Simulation Language) jezik kontrole i simulacije. U novije vrijeme velik znaaj irairenost u (Opensource Community) zajednici otvorenog koda ima programski jezik Pythoni na njemu bazirani simulacijski jezik SimPy. Detaljan popis relevantnih simulacijskihprogramskih jezika razvrstan prema navedenim trima skupinama dostupan je na (Wikipedia2014a), kao i odgovarajui popis simulacijskih programskih jezika razvrstan premaotvorenosti koda (Wikipedia 2014b).

    1

  • 2. GPSS OPENAMJENSKI SIMULACIJSKI SUSTAV

    2.1. Openito o GPSS-u

    Ime programskog jezika GPSS je kratica od (General Purpose Simulation System)openamjenski simulacijski sustav. Razvio ga je zaposlenik IBM-a Geoffrey Gordon i izvornaje kratica nastala od (Gordon's Programmable Simulation System) Gordonov programabilnisimulacijski sustav. Ime je izmijenjeno 1961. godine kad je tvrtka IBM (InternationalBusiness Machines Corporation) (Meunarodna korporacija poslovnih strojeva) odluilaizdati prvu verziju programa (GPSS I). Prema (Wikipedia 2014c) GPSS je programski jezikope namjene u zadaama simulacije dogaaja u diskretnim vremenskim odsjecima, priemu simulacijski sat napreduje diskretnim koracima.

    Programski jezici imaju uobiajen program kojim pozdravljaju svijet ('Hello World')'Zdravo svijete!', najee sastavljen od jedne ili vie naredbi koje ispisuju rijei ('HelloWorld') na standardnom ili nestandardnom raunalnom izlazu: pisau, zaslonu ili izlaznojdatoteci. GPSS-ov 'pozdravni', uvodni, program je (Barbershop) 'brijanica', program kojisimulira redove ekanja i rad u brijanici.

    Prema (Wikipedia 2014d) GPSS slui za simulaciju modela koji ukljuuju redoveekanja i mree kao to su modeli proizvodnih procesa i danas vie nema znaajnu ulogu.(Wikipedia 2014e) kao mane GPSS-a navodi i probleme oko korisnikove predobe o mjestu iobradi podataka u procesu na razini algoritma. Korisnik ne moe lako predoiti gdje mu jeobjekt koji eli promatrati u nekom trenutku vremena. Sam model je program i nema grafikuinterpretaciju to oteava izradu modela i preglednost na itavom modelu.

    GPSS je vii programski jezik. Jedna GPSS naredba moe izvoditi vie specifinihfunkcija ili operacija na raunalu. GPSS program automatski prati dogaaje u raunalnomsustavu, biljei vremena dogaaja, obavlja tabeliranje odreenih podataka i slino. Dovoljnoje prilagodljiv za uporabu u kombinaciji s drugim programskim jezicima kako bi mogaoobavljati i funkcije koje sam nema.

    Rezultati dobiveni izvedbom nekog GPSS modela nisu uvijek isti i neznatno serazlikuju ovisno o postavkama generatora sluajnih brojeva i njihovih (seed numbers),inicijalnih brojeva napose u simuliranju kratkotrajnih dogaaja.

    Za poetak uporabe potrebno je razumjeti nekoliko vanih pojmova u GPSS-u.(Transactions) transakcije predstavljaju serijske jedinice koje se kreu unutar sustava,

    u naem sluaju su to damperi. Uvode se u sustav i uklanjaju se iz sustava dinamiki popotrebi tijekom trajanja simulacije. Svakoj transakciji moe se dodijeliti niz parametara kojipredstavljaju razna svojstva transakcije, na primjer kapacitet dampera. Poznavatelji objektnoorijentiranih programskih jezika u razumijevanju i prihvaanju GPSS-ovih transakcija imajuvie problema od poetnika u programskim jezicima, zbog razvijenog poimanja objekta u timjezicima i objektu dodijeljivanih metoda i svojstava. Slino e i poznavatelji razliitih bazapodataka i varijanti SQL-a (Structured Query Language) (strukturirani jezik upita) moratiusvojiti novu predobu transakcije koja ovdje ne znai skup instrukcija od kojih se nijedna nemoe izvoditi pojedinano, ve sve skupa, ili nijedna.

    (Equipment entities) entiteti opreme mogu biti (facilities) posluitelji i (storages)spremita. Transakcije su korisnici entiteta opreme. Posluitelj moe posluiti samo jednu

    2

  • transakciju u odsjeku vremena, u naem sluaju jedan utovariva kao jedan posluitelj usimulacijskom modelu moe istodobno posluivati samo jedan damper kao jednu transakcijuu tom simulacijskom modelu. Spremite moe posluivati vie transakcija istodobno. Vieutovarivaa modeliranih kao spremite u simulacijskom modelu moe istodobno posluivativie dampera modeliranih kao transakcije u simulacijskom modelu.

    (Statistical entities) Statistiki entiteti slue za mjerenje ponaanja sustava i mogu biti(Queues) redovi ekanja i (Tables) tabele. Za svaki red ekanja, u ovom sluaju skup damperakoji ekaju utovar, odrava se zapis o ekanju transakcije u sustavu i trajanje ekanja. GPSSrauna prosjean broj transakcija koje ekaju i prosjeno trajanje ekanja za svaki redekanja. Tabele se koriste za prikupljanje i prezentaciju odabranih skupova statistikihpodataka.

    (Operational entities) Operacijski entiteti podravaju logiku sustava i kontrolukretanja transakcija.

    GPSS ima razvijen poseban sustav grafikog prikaza algoritma ili postupnika, blokdijagram. Usporedbe radi, za prvi simulacijski model napravljena su oba naina grafikogprikaza algoritma, uobiajeni dijagram toka i GPSS blok dijagram na slici 4.

    GPSS je stari raunalni jezik s nasljeem formatiranog unosa podataka jo od vremenabuenih kartica. (Comment Row) redak komentara koji program pri izvedbi ignorira, i kojislui za dokumentiranje programa u samom programskom kodu mora zapoeti u prvomstupcu znakom (asterisk) zvjezdica. (Inline Comment) komentar u izvedbenom redkuprograma unosi se iza znaka (semicolon) toka-zarez u bilo kojem stupcu ili izaodreenog rednog broja stupca, ili pak iza jednog ili vie razmaka unesenih nakon zadnjegoperanda, to ovisi i o verziji programa. Format unosa podataka predvia pet skupovastupaca, pet podatkovnih polja, od kojih su tri znaajna i zastupljena u veini verzijaprograma.

    je redni broj redka u tekstualnoj datoteci koja sadri programski kod i ukojem se moe nalaziti naredba, komentar ili oboje u sluaju kad se radi o komentaru unutarizvedbenog redka, ili pak nita jer program doputa i prazne redke. Standardni GPSS-ov ispisrezultata prikazuje brojeve redaka. U novijim verzijama programa korisnik ne unosi brojeveredaka.

    je redni broj naredbe u tekstualnoj datoteci koja sadri programski kod.Jednu naredbu je mogue zapisati u vie redaka. Standardni GPSS-ov ispis rezultata prikazujebrojeve naredbi. U novijim verzijama programa korisnik ne unosi brojeve naredbi.

    je redni broj bloka. Standardni GPSS-ov ispis rezultata prikazuje rednebrojeve blokova. U novijim verzijama programa korisnik ne unosi brojeve blokova.

    (Location Field) lokacijsko polje slui za dodjelu (label) oznake bloku. Unovijim verzijama programa to je prvi podatak koji unosi korisnik unutar izvedbenog redka,ukoliko naredba zahtijeva oznaku. Unos oznake mora zapoeti u prvom ili drugom stupcu, aoznake se moraju sastojati od jednog do osam znakova i mogu biti bilo koja kombinacijaslova i znamenaka. Kao i u veini programskih jezika, treba izbjegavati oznake koje surezervirane programske rijei kao to treba, na primjer, izbjegavati nae dijakritike slovneznakove i drati se skupa znakova koje definira ASCII (American Standard Code forInformation Interchange) Ameriki standardni kod za razmjenu informacija.

    (Operation Field) operacijsko polje slui za unos rijei, kratica iliskraenica koje odreuju tip bloka ili operaciju koju treba izvesti. Operacije pri unosu morajubiti razdvojene od oznaka najmanje jednim znakom < > (Blank, Space) razmaka, a obino seunose od osmog stupca, ako u nekom redku nema oznaka, mogu se unositi najranije od treegstupca. (Auxiliary Operations) pomone operacije su doputene kao dodatak operacijama i pri

    3

  • unosu moraju biti razmaknute od operacija makar jednim razmakom. (Operand Field) operandsko polje je podijeljeno na

    osam podpolja. Sedam podpolja razdvaja se zarezima bez razmaka, a slue za za unossedam (Variables) promjenjivih i osmo podpolje za unos (Inline Comments) komentara unutarredka. Unos operanada mora zapoeti najkasnije u dvadeset petom stupcu. Komentari trebajubiti odvojeni od operanada najmanje jednim razmakom, dva prethodna razmaka su potrebnaako je ispred komentara makronaredba, a uobiajen zapis komentara unutar redka je odvojenod operanada znakom (semicolon) toka-zarez bez razmaka izmeu toga znaka i prvogznaka komentara npr. . Neke verzije programaimaju manje podpolja u operandskom polju za iste GPSS operacije. Operandi su ureeninizovi podataka i ako je neki operand s poetka niza nepotreban na njegovo mjesto se unosizarez koji bi ga razdvajao od narednog operanda u sluaju da nije namjerno isputen priunosu. Zarezi iza zadnjeg operanda kojeg unosimo se isputaju. Na primjer, ako unosimosamo operand , unos u operandskom polju izgleda ovako . Kraj niza potpolja za unosoperanada oznaava prvi znak razmaka, svi podatci uneseni iza razmaka u nastavku redka bite tretirani kao komentar.

    Osim izlaznih statistikih podataka zahtijevanih u ulaznoj datoteci, GPSS u (default)standardnoj izlaznoj datoteci generira i prikazuje slijedea tri skupa statistikih podataka.

    (Storage Block) spremini blok prikazuje kapacitet spremita, prosjean sadrajspremita, prosjenu iskoritenost, broj pristupa transakcija spremitu, prosjeno trajanjeuporabe spremita od strane transakcija, trenutani sadraj i maksimalni sadraj.

    (Facility Block) posluiteljski blok prikazuje isti skup podataka o posluiteljima kaospremini blok o spremitima.

    (Queue Block) redni blok prikazuje najvei sadraj, prosjeni sadraj, ukupan brojulazaka u red ekanja, broj prolazaka kroz red ekanja onih transakcija koje nisu ekale uredu ekanja, postotak prolazaka kroz red ekanja onih transakcija koje nisu ekale u reduekanja, prosjeno trajanje ekanja u redu ekanja i prosjeno trajanje ekanja u redu ekanjapo transakciji kad se iskljue transakcije koje nisu ekale u redu ekanja.

    2.2. Dostupnost GPSS programa i povezanih resursa

    2.2.1. GPSS/H

    GPSS/H je komercijalni produkt tvrtke Wolverine Software Corporation. Prema webmjestu tvrtke (Wolverine 2014) cijena profesionalne verzije za iroko trite je 4000 USD(United States Dollar) (sredstvo plaanja, obrauna i razmjene u Sjedinjenim AmerikimDravama), osobne 2000 USD, za vladine organizacije 3600 i 1800, za akademske institucije500 i 350 respektivno. Dostupne su i detaljne cijene dogradnji i auriranja starijih verzijaprograma po svakoj navedenoj kategoriji. Dostupna je i studentska odnosno demonstracijskaverzija koju nije potrebno plaati. Pri instalaciji programa treba proitati i prihvatiti odredbelicencnog ugovora. Korisniku raunala pomalo uznemirujue izgleda upozorenje o tome kakoneki antivirusni programi mogu prijaviti postojanje virusa u instalacijskoj datoteci. U paketu s GPSS/H programom instalirat e se i studentskeodnosno demo verzije jo tri programa ove tvrtke. Sam datoteni nastavak

    4

  • instalacijske datoteke implicira kako je program namijenjen samo za PC (Personal Computer)(osobno raunalo) raunala s Windows operativnim sustavima. Izriito se navode: WindowsXP, koji je u meuvremenu izgubio podrku svog proizvoaa u travnju 2014., zatimWindows Vista i Windows 7. Ogranienja studentske verzije su specificirana na najvie 125blokova i 250 naredbi to ukljuuje blokove i kontrolne naredbe, a ne ukljuuje komentare idodatne redke naredbi koje se unose u vie redaka, 32270 (bytes) bajta (COMMON) ope,zajednike ili dijeljene memorije, do 300 istodobnih transakcija ili manje ako se koriste veematrice. Na proizvoaevu web mjestu nema, inae uobiajenog, referentnog prirunikaprogramskog jezika.

    Znaajniji internetski resursi koji se odnose na GPSS/H su web stranice PeteraLorenza (Lorenz 2014) na web mjestu sveuilita Otto von Guericke u Magdeburgu, zatimweb stranice Hansa Vangheluwea (Vangheluwe 2014) na web mjestu (McGill School ofComputer Science) McGill kole za raunalne znanosti u Quebecu, te RITAS (RemoteInteractive Training Ad-lib System) udaljeni ineraktivni vjebovni improvizirani sustavNacionalnog Tehnikog Sveuilita u Ateni (Ritas 2014). (Vangheluwe 2014) ima webstranicu s CGI (Common Gateway Interface) (zajedniko prolazno suelje) web aplikacijomza unos podataka u GPSS/H koja se, sudei po web adresi izlazne datoteke, izvrava na webposluitelju sveuilita Otto von Guericke u Magdeburgu. (Lorenz 2014) prua kvalitetnoreferentno HTML (HyperText Markup Language) (prezentacijski jezik za izradu web stranica)tivo u obliku predavanja i vjebi na engleskom i njemakom jeziku. (Ritas 2014) imaizvanredan referentni prirunik koji nedostaje u svim dosad pobrojanim resursima vezanim zaGPSS/H, organiziran na nain na koji su uobiajeno organizirani prirunici za programskejezike, s detaljnim prikazom sintakse naredbi i uz koritenje metaizraza u opisima sinatkse,zatim jedan openit primjer simulacijskog modela utovara i prijevoza te web aplikaciju zarjeavanje odreenog tipa problema u operacijama utovara i prijevoza.

    2.2.2. GPSS World

    GPSS World je trgovako ime varijante GPSS-a u izdanju tvrtke Minuteman Software.Na web mjestu tvrtke (Minuteman 2014) dostupna je trenutana verzija programa s oznakomGPSS World Version 5.2.2. i stara, nepodrana verzija GPSS/PC, te referentni i tutorialprirunik u HTML formatu. Verzija za osobnu uporabu kota 695 USD, a cijene ostalihverzija mogu se dobiti na upit. Studentska verzija je osloboena od plaanja za uporabu uokviru licencnog ugovora, usporedivo ogranienje studentske verzije je simulacijski model snajvie 10 blokova.

    S proizvoaevog web mjesta mogue je preuzeti staru i nepodranu DOS (DiskOperating System) (opi naziv za operacijske sustave, u slobodnom prijevodu DOS znaioperacijski sustav za diskove, (floppy disk) disketu i tvrdi disk) verziju programa GPSS/PC.

    5

  • 2.2.3. Webgpss aGPSS

    aGPSS je varijanta GPSS-a na koju, prema web mjestu toga programa (aGPSS 2014),autorsko pravo dri Ingolf Sthl. Webgpss je raniji naziv i dio starije web adrese na kojoj jebio dostupan server s tom varijantom GPSS-a. Instalacijski paket programa je dostupan natome web mjestu i u demo verziji osloboenoj od plaanja, postoje i studenske verzije na CD(Compact Disc) (kompaktni disk) mediju s dokumentacijom, zatim studentski paket, proirenaverzija i profesionalna verzija, detaljan cjenik je dostupan na web mjestu programa. Programje, prema podacima s toga web mjesta, pisan u objektno orijentiranom programskom jezikuJava. Demo verzija ograniena je na 50 blokova i 500 transakcija.

    2.2.4. JGPSS

    JGPSS je prema definiciji s web stranica toga programa (JGPSS 2014) implementacijaGPSS sustava bazirana na Javi. Web stranice programa smjetene su na web mjestuKatalunjskog Politehnikog Sveuilita u Barceloni. Unato recentnim problemima ne-Windows operativnih sustava s Oracle verzijom Java radnog i izvrnog okruja, ova verzijaprograma je pokrenuta na nekoliko ne-Windows operativnih sustava. JGPSS ima dvijeverzije, jednu koja bi trebala moi izvoditi simulacije i izraditi odgovarajue statistikeobavijesti o modeliranim sustavima, a druga je namijenjena studentima raunalnih znanostikao (framework) radno okruje.

    2.3 Primjena GPSS-a u graevinarstvu

    Iako GPSS ima vremenski dugu i po podrujima primjene iroku osnovu u rjeavanjuproblema raznih grana ljudske djelatnosti primjerenim simulacijskim modelima, malo jedostupnih informacija o primjeni GPSS-a u rjeavanju problema u graevinarstvu. U ovomradu su koritena dva od tri primjera iz (Nunnally 1999:367-377) i jedan primjer s web mjesta(Ritas 2014) Odjela za rudarsko inenjerstvo i metalurgiju Nacionalnog Tehnikog Sveuilitau Ateni.

    Koliina dostupnih informacija o primjeni GPSS-a u graevinarstvu je veinipotencijalnih korisnika nedovoljna, kako korisnicima koji slabije poznaju raunala, tako ionima s iskustvom u radu s programskim jezicima. Potrebna je ira baza dobrodokumentiranih i funkcionalnih primjera iz prakse, kao i bolje dokumentirane i bolje istaknuteinformacije o tipinim poetnikim grekama koje u pravilu odbijaju potencijalne korisnikezbog prividno, a ne stvarno (steep curve of learning) strme krivulje uenja.

    6

  • Slika 1. Prikaz procesne orijentiranosti GPSS-a.

    7

    Strukturamodela

    OPERACIJE

    ELEMENTI Entiteti Svojstva

    PRIVREMENI stvoreni i unitenidinamiki

    TRAJNI stvoreniimplicitno

    BLOKOVI aktivirani

    ulaskomtransakcije

    TRANSAKCIJE svojstva ENTITETI

    OPREME posluitelji spremita redovi prekidai

    Logika razina

    Implementacijska razina

    MREU

    Povezani stvaraju

    Kreu se kroz

  • Slika 2. GPSS-ov blok dijagram modela reda ekanja.

    8

    GENERATERVEXPO(1,1.0)

    QUEUESERVERQ

    SEIZESERVER

    DEPART

    ADVANCERVEXPO(2,0.5)

    RELEASESERVER

    1TERMINATE

    SERVERQ

    L

    TEST

    LVEQ

    N$LVEQ 1000(STOP)

    (STOP)

    Stvaranje korisnika

    Ulazak u red ekanja

    Zauzimanje posluitelja

    Izlazak iz reda ekanja

    Prekid toka?

    Zastoj posluitelja

    Oslobaanje posluitelja

    Odlazak korisnika

  • 3. SIMULACIJSKI MODELI RADA UTOVARIVAA I DAMPERA

    3.1. Simulacijski model s jednim utovarivaem

    Potrebno je napraviti GPSS model radne skupine od tri dampera i jednog utovarivaana radnoj zadai utovara i prijevoza rasutog materijala u osmosatnoj radnoj smjeni te utvrditiuinak sustava, prosjenu iskoritenost utovarivaa, prosjean broj dampera u redu na ekanjui prosjeno trajanje ekanja dampera u redu ekanja za one ulaske dampera u red ekanja prikojima je ekanja bilo. Neka je kapacitet dampera 30 LCY (Loose Cubic Yards) (kubinihjarda u rasutom stanju), prosjeno trajanje utovara 120 sekunda i prosjeno vrijeme prijevoza,istovara i povratka dampera 170 sekunda. Neka je (function modifier) prilagodna funkcijarazdiobe trajanja utovara opisana pomou 11 toaka: (0,1.75), (0.04,1.62), (0.07,1.5),(0.1,1.4), (0.18,1.25), (0.28,1.13), (0.42,1.01), (0.6,0.8), (0.89,0.7), (0.96,0.55), (1.0,0.375), arazdioba trajanja prijevoza prilagodnom funkcijom opisanom pomou slijedeih 11 toaka:(0,0.39), (0.01,0.51), (0.04,0.64), (0.12,0.76), (0.27,0.88), (0.5,1.0), (0.73,1.12), (0.88,1.24),(0.96,1.36), (0.99,1.48), (1.0,1.6).

    Slika 3. Prilagodne funkcija razdiobe trajanja utovara i prijevoza.

    Rjeenje. Simulacijski model je preuzet iz (Nunnally 1999:369). Dijagram toka iGPSS blok dijagram simulacijskog modela prikazani su na slijedeoj stranici.

    Redak 1. Kontrolna naredba pokree provedbu simulacije. Ako je ovakontrolna naredba izostavljena u ulaznoj datoteci, program e biti kompajliran i provjeren napostojanje pogreaka, ali simulacija ne e biti provedena.

    9

    -0,2 0 0,2

    0,4

    0,6

    0,8 1

    1,2

    0,20,40,60,8

    11,21,41,61,8

    2

    1,751,621,51,4

    1,251,13

    1,010,8

    0,70,550,38

    Razdioba trajanja utovara (RN1)

    y

    -0,2 0 0,2

    0,4

    0,6

    0,8 1

    1,2

    0,20,40,60,8

    11,21,41,61,8

    2

    0,390,510,64

    0,760,88

    11,12

    1,241,361,481,6

    Razdioba trajanja prijevoza (RN2)

    y

  • Slika 4. Dijagram toka i GPSS blok dijagram simulacijskog modela s jednim utovarivaem.

    10

    Generiraj zadani broj damperazadanog kapaciteta na startu

    Poalji dampere u red ekanja

    Zauzmi utovariva

    Utovar

    Oslobodi utovariva

    Prijevoz

    Je lismjena

    zavrila?

    Da

    Zaustavisimulaciju

    NeNastavi

    GENERATE,,,1

    1,30ASSIGN

    SPLIT2

    QUEUEWAIT 1

    SEIZE1

    DEPART 1

    ADVANCE120,FN1

    RELEASE

    ADVANCE170,FN2

    PROD+,*1HSAVEVALUE

    TRANSFER WAIT

    GENERATE28800

    Dodaj prevezenona ukupan zbroj

    WAIT

    1

    1TERMINATE

  • Slika 5. GPSS procesno orijentirani dijagram simulacijskog modela s jednim utovarivaem.

    Ulazna datoteka za program GPSS/H formatira se na najvie 71 stupac irine.

    1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.

    SIMULATE 1 FUNCTION RN1,C110,1.75/0.04,1.62/0.07,1.5/0.1,1.4/0.18,1.25/0.28,1.13/_0.42,1.01/0.6,0.8/0.89,0.7/0.96,0.55/1.0,0.375 2 FUNCTION RN2,C110,0.39/0.01,0.51/0.04,0.64/0.12,0.76/0.27,0.88/0.5,1.0/_0.73,1.12/0.88,1.24/0.96,1.36/0.99,1.48/1.0,1.6 GENERATE ,,,1 ASSIGN 1,30 SPLIT 2,WAITWAIT QUEUE 1 SEIZE 1 DEPART 1 ADVANCE 120,FN1 RELEASE 1 ADVANCE 170,FN2 SAVEVALUE PROD+,*1,H TRANSFER ,WAIT GENERATE 28800 TERMINATE 1QUE QTABLE 1,0,50,20 START 1 END

    Redci 2. 4. Kontrolna naredba i njezine promjenjive opisuju oblikprilagodne krivulje koja je primijenjena na prosjena trajanja utovara kako bi se dobilarealnija trajanja utovara za svaki pojedinani utovar dampera. Krivulja je zadana s jedanaesttoaka opisanih koordinatama (x,y). Operand . RNj je jedan od dostupnih SNA(Standard Numerical Attributes) (standardna brojana svojstva). Generira broj iz j-tog RNS-a(Random Number Stream) (tok sluajnih brojeva). U ovom sluaju j = 1, a tokovi brojeva uGPSS/H su zapravo pseudosluajni. Kad se SNA RNj koristi kao argument naredbe

    11

    D1 120 L1 D1 170 H1 D1 70 W1

    0

    D1 120 L2 D1 170 H2

    120

    D2 120 L1 D2 170 H1 D2 70 W1 D2 120 L2

    D3 120 L1 D3 170 H1 D3 70 W1

    240 290 360 410 480 530 600

    Dn damper br. n=1,2,3 Trajanje [s] Dogaaj: L utovar, H transport, W - ekanje

    0 Vrijeme [s]

  • generirani broj je ravnomjerno raspodijeljen broj s pominim zarezom nadodsjekom (0,1), s iskljuenim granicama 0 i 1. Operand . Slovni dio vrijednostioperanda je slovo i znai da se radi o (continuous) kontinuiranoj funkciji ije emeuvrijednosti izmeu zadanih toaka program linearno interpolirati. Brojani diovrijednosti operanda je i znai da e funkcija biti definirana pomou 11 toaka (x,y).Ureeni parovi koordinata se u ulaznoj datoteci razdvajaju znakom (slash) kose crtenagnute naprijed, unose se bez razmaka i mogu se unositi u jednom ili u dva redka. Unos ujednom redku trebao bi zavriti do sedamdeset prvog stupca nakon ega bi trebalo prijei unovi redak. Redci unosa ureenih parova (x,y) se mogu rastaviti i prije sedamdeset prvogredka, prijelom redka ne bi trebao biti unutar ureenog para (x,y), a kao znak za nastavak se,ak i u tako, mimo navedene preporuke, prelomljenom redku koristi znak (underscore)donja crta.

    Redci 5. 7. Kao redci 2. 4. Ovdje naredba i njezine promjenjiveopisuju oblik prilagodne krivulje koja je primijenjena na prosjena trajanja prijevoza kako bise dobila realnija trajanja svakog pojedinanog prijevoza. Operand , j=2.

    Redak 8. Naredba stvara prvu, izvornu, transakciju, u ovom sluajujedan, prvi, damper koji e kasnije biti koriten za dodavanje slijedeih transakcija u sustav.Jedan damper se ovom naredbom alje u sustav operandom ija je vrijednost .Operandi su isputeni kao nepotrebni, a zapis u polju operanada izgleda ovako, operandi su isputeni, ali njima pripadni zarezi se upisuju jer se nalaze ispred zadnjegoperanda koji se koristi. Zarezi iza zadnjeg operanda koji se koristi se isputaju. Iz sintaksenaredbe je jasno da ovom naredbom ne moemo primjereno generirati ukupan broj dampera unaem simulacijskom modelu jer operand definira najvei broj transakcija koje segeneriraju.

    Redak 9. Naredba s operandima i slui za opis svojstavadampera u sustavu. Transakciji, damperu, je dodijeljeno jedno svojstvo, , vrijednosttoga svojstva opisana operandom je kapacitet dampera od 30 LCY zapremnine.Operand prihvaa cjelobrojne vrijednosti. Ako, na primjer, unesemo kapacitet od 23.6 m3kapacitet e biti zaokruen na prvu niu cjelobrojnu vrijednost od 23 m3 i program e nastavitiizvoenje s tom vrijednou operanda . Odgovarajua poruka o pogreci i daljempostupku programa bila bi ispisana u izlaznoj datoteci kao upozorenje . Ova,uz jo neke naredbe, sugerira unos i obradu cjelobrojnih promjenjivih.

    Redak 10. Naredba s operandima i ovdje slui zapoveavanje broja dampera u sustavu zajedno s prethodnom naredbom . Uvodese dva dodatna dampera po svojstvima jednaka izvornom damperu koji je ve uao ublok i stvara se sustav s tri dampera. Operand upuuje dampere na lokaciju kojaima istu oznaku u lokacijskom polju, u ovom sluaju u red ekanja na utovar.

    Redak 11. Oznakom u lokacijskom polju oznaavamo red ekanja na utovar.Naredbom s operandom na ovoj poziciji odreujemo kako ba tu oekujemored ekanja i elimo pratiti njegove statistike. Ovaj red ekanja predstavlja dampere kojiekaju utovar. Operandom definiramo broj ili ime reda ekanja kojemu pridruujemotransakcije.

    Redak 12. Naredba s operandom biljei zauzimanje utovarivaa. Doktraje utovar jednog dampera, ostali damperi moraju ekati u redu ekanja dok utovariva nebude osloboen. Operandom definiramo broj ili ime posluitelja koji upravo usluujetekuu transakciju.

    Redak 13. Naredba s operandom omoguuje jednom damperu da

    12

  • napusti red ekanja i bude usluen utovarivaem kad utovariva bude slobodan. Operandom definiramo broj ili ime reda ekanja kojeg e tekua transakcija napustiti.

    Redak 14. Naredba s operandima i odreuje prosjenotrajanje utovara vrijednou operanda . Operand je specificiran kao SNAkorisniki zadane funkcije koja ima ime ili broj 1, FNj, j = 1, pa je vrijemekoje transakcija provede u bloku sraunato kao umnoak operanada i , priemu je operand cijeli broj, a operand broj s pominim zarezom, mnoenje se obavljakao operacija s pominim zarezom i konani rezultat je cjelobrojni dio toga umnoka. Ovaoperacija i njeni operandi sugeriraju cjelobrojni unos.

    Redak 15. Naredba s operandom oslobaa utovariva kad je utovargotov. Operandom definiramo broj ili ime posluitelja koji je usluio tekuu transakciju.

    Redak 16. Naredba s operandima i odreuje prosjenotrajanja prijevoza koje se sastoji od trajanja transporta tt, trajanja istovara ti, trajanja manevrau zoni istovara tmi i trajanja povratka dampera u zonu utovara tpov, vrijednou operanda. Trajanje ekanja u redu ekanja na utovar tw je predmet programske obrade irezultat simulacijskog modela prikazan u izlaznoj datoteci. Operand je specificirankao SNA korisniki definirane funkcije koja ima ime ili broj 1, FNj, j = 2, paje vrijeme koje transakcija provede u bloku sraunato kao umnoak operanada i , pri emu je operand cijeli broj, a operand broj s pominim zarezom,mnoenje se obavlja kao operacija s pominim zarezom i konani rezultat je cjelobrojni diotoga umnoka. Kao i kod prethodne naredbe iz redka 14. najmanje problematian inajprirodniji je unos cjelobrojne vrijednosti trajanja u sekundama. Najkrae teorijsko trajanjeprijevoza je za sluajni broj 0 i iznosi 66 sekunda (cjelobrojni dio izraza 0.39 * 170 = 66.3), anajdulje za sluajni broj 1 i iznosi 1.6 * 170 = 272 sekunde.

    Redak 17. Naredba s operandima , i spremaspecificirane numerike vrijednosti. Svaki damper preveze 30 LCY, koliina 30 se dodaje nazbroj pri svakom zavrenom ciklusu. Format operanda je ovdje tipa gdje je (arbitrary parenthesized expression) izraz koji sadri ili ne sadri zagrade iija vrijednost se izraunava prema pravilima programskog jezika FORTRAN. Dio (plus ili minus na zavretku izraza) odreuje da e spremljena vrijednost bitirekurzivno uveana, odnosno umanjena, vrijednou izraza zadanog operandom . Operand pri tome moe biti broj s pominim zarezom ili izraz. U naem sluaju radi se o izrazu. Operandom odreujemo tip promjenjive k a o (halfword)polurije to je cjelobrojna promjenjiva u rasponu (-32768, +32767). Rije nijerezervirana rije u GPSS-u, a ovdje oznauje simulirani dnevni uinak, simuliranu produkciju.Deklariranje promjenjive kao realne promjenjive s pominim zarezom zanemarljivomalo umanjuje ograniene resurse programa u studentskim/demo verzijama jer se radi o samojednoj promjenjivoj i rezerviranju mjesta za tu promjenjivu. Prema (Banks et al. 2003:16-4)naredba je u novijim verzijama programa nepotrebna i na vie naina zamjenjiva -promjenjivima.

    Redak 18. Naredba bez operanda i s operandom vraadampere u red ekanja na utovar, na lokaciju s oznakom po zavrenom ciklusuprijevoza i to se ponavlja do isteka trajanja simulacije.

    Redak 19. Naredba s operandom ovdje se koristi kao sat, preciznijetimer. Operand ovdje oznaava trajanje osmosatne smjene u sekundama. Po istekutog simuliranog trajanja, simulacija se zaustavlja i program tabelira sve statistike.

    Redak 20. Naredba s operandom uklanja transakcije i sva njihovasvojstva iz sustava i predstavlja zavretak tokova u sustavu.

    13

  • Redak 21. Oznaka u lokacijskom polju i naredba s operandima, , i opisuju uestalosti klasa u statistikama reda ekanja.Operandima se odreuju irina i granice svake klase. Sadraj lokacijskog polja je ovdje(label) oznaka tabele. Operand je ime ili broj reda ekanja. Operand je gornjagranica prve klase u nizu klasa. Operand je veliina klasa, razlika izmeu gornje idonje granice svake klase. Operand je ukupan broj klasa.

    Redak 22. Naredba pokree simulaciju. Operand je poetna vrijednostbrojaa koju koristi naredba .

    Redak 23. Naredba oznauje kraj izvoenja programa.Ulazna datoteka ovoga primjera i odgovarajua izlazna datoteka

    dostupne su na webu u dijeljenoj mapi na web adresi kaoGoogle dokumenti i izravno za web-pregled kao Google web-dokumenti s popisa na webadresi kao i sve ostale ulazne i izlazne GPSS/H datoteke iz ovoga rada.Datoteku rezultata za gornju ulaznu datoteku zbog koliine teksta, broja stupaca, nainaformatiranja tabela i fonta fiksne irine nezgodno je prikazati u otisnutom radu znakovimaveim od 6 slovoslagarskih toaka pa emo samo opisati sadraj znaajnijih tabela obinimtekstom.

    tabela prosjene iskoritenosti posluitelja za trajanjasimulacije. Stupac (posluitelj (broj): 1). Stupac

  • Tabela uestalosti klasa. Stupac (gornja granica, gornja mea), uprvom redku: 0, oznauje klase ija je gornja granica trajanja ekanja u redu 0 sekunda, uzadnjem redku: 300, oznauje klase ija je gornja granica ekanja u redu 300 sekunda,vrijednosti su poveavane od 0 sekunda u koracima od 50 sekunda kako je zadano naredbom, a zadnja vrijednost u nizu (300) je sedma, naredbom je traenodvadeset klasa, a dovoljno ih je bilo sedam jer nije bilo ekanja duljih od 300 sekunda. (promatrana uestalost). Uestalost prve klase s gornjom granicomekanja u redu od 0 sekunda je 37 u prvom redku. U drugom redku je uestalost druge po reduklase s gornjom granicom ekanja u redu od 50 sekunda (i donjom od 0 sekunda) i tauestalost je 51, dakle 51 ekanje dampera je trajalo izmeu 0 i 50 sekunda. Vrijednost 1 uzadnjem redku stupca znai da je u jednom prolazu jedan damper ekao izmeu 250 i 300sekunda. (postotak od ukupnog broja ekanja za svaku pojedinuuestalost klase). (kumulativni, akumulirani postotak uestalostiklasa) . (kumulativni ostatak postotaka uestalosti klasa). (umnoak sredine, umnoak srednje vrijednosti, umnoak oekivanevrijednosti koji odgovara uestalosti svake pojedine klase). (odstupanje, devijacija od sredine, odstupanje od srednje vrijednosti, odstupanje od oekivanevrijednosti uestalosti svake pojedinane klase).

    (ne-nulte polurijei uspremljenim vrijednostima (IME : VRIJEDNOST), (produkcija, uinak 7170LCY/dan).

    Izlazna datoteka ispisuje i verziju programa, vrijeme izvoenja, naziv ulazne datoteke,njezin detaljno formatiran sadraj i itav niz drugih podataka.

    3.2. Simulacijski model s dva utovarivaa

    Prema (Nunnally 1999:372-374) izmijenit emo prethodni zadatak tako to emo uzetidva utovarivaa s razliitim prosjenim trajanjima utovara od 120 i 140 sekunda i sedamnaestdampera kapaciteta 30 LCY te simulirati osmosatnu radnu smjenu. Ostali podatci su kao uprethodnom zadatku. Prosjeno trajanje prijevoza je 170 sekunda. Razdioba trajanja utovara iprijevoza je data po istim empirijskim prilagodnim funkcijama. Potrebni podatci u izlaznojdatoteci su isti: uinak, prosjena iskoritenost utovarivaa, prosjeno trajanje ekanja u reduza sve prolaske dampera kroz red ekanja i prosjeno trajanje ekanja u redu samo za oneulaske dampera u red ekanja koji ukljuuju ekanje u tome redu ekanja.

    Rjeenje. Razlike u odnosu na prethodni model.Redak 10. Naredba dodaje 16 dampera prvom izvorno definiranom i stvara

    skupinu od 17 dampera.Redak 12. Naredba usmjerava nadolazee dampere k obadva

    utovarivaa ili . Prioritet je dan brem utovarivau .Redci 13. 16. i 17. 20. Oznakama u lokacijskim poljima i te

    naredbama u nizu , , i modeliran je utovar prvim idrugim utovarivaem. Naredbe u redcima 15. i 20. modeliraju prosjeno trajanjeutovara i prilagodne funkcije trajanja utovara odgovarajuim utovarivaima.

    15

  • Slika 6. Dijagram toka simulacijskog modela s dva utovarivaa.

    16

    Generiraj zadani broj damperazadanog kapaciteta na startu

    Poalji dampere u red

    Slobodan briutovariva?

    Slobodan drugiutovariva?

    Utovar utovarivaem 1 Utovar utovarivaem 2

    Oslobodi utovariva 1 Oslobodi utovariva 2

    Prijevoz

    Kumulativo zbrajanjeprevezenog

    Zavrila smjena?

    Zaustavi simulaciju

    Da Da

    Da

    Ne

    Ne

    Ne

  • Slika 7. GPSS blok dijagram simulacijskog modela s dva utovarivaa.

    17

    GENERATE,,,1

    1,20

    ASSIGN

    SPLIT

    16

    QUEUEWAIT 1

    TRANSFER.A

    SEIZE1

    DEPART 1

    ADVANCE120,FN1

    RELEASE1

    SEIZE2

    DEPART 2

    ADVANCE120,FN1

    RELEASE2

    ADVANCE170,FN2

    PROD+,*1H

    SAVEVALUE

    TRANSFER

    GENERATE28800

    1TERMINATE

    WAIT

    WAIT

    (B)

    (C)

  • Ulazna datoteka :

    1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.

    SIMULATE 1 FUNCTION RN1,C110,1.75/0.04,1.62/0.07,1.5/0.1,1.4/0.18,1.25/0.28,1.13/_0.42,1.01/0.6,0.8/0.89,0.7/0.96,0.55/1.0,0.375 2 FUNCTION RN2,C11 0,0.39/0.01,0.51/0.04,0.64/0.12,0.76/0.27,0.88/0.5,1.0/_0.73,1.12/0.88,1.24/0.96,1.36/0.99,1.48/1.0,1.6 GENERATE ,,,1 ASSIGN 1,30 SPLIT 16,WAITWAIT QUEUE 1 TRANSFER BOTH,LDR1,LDR2LDR1 SEIZE 1 DEPART 1 ADVANCE 120,FN1 RELEASE 1 TRANSFER ,HAULLDR2 SEIZE 2 DEPART 1 ADVANCE 140,FN1 RELEASE 2HAUL ADVANCE 170,FN2 SAVEVALUE PROD+,*1,H TRANSFER ,WAIT GENERATE 28800 TERMINATE 1QUE QTABLE 1,0,50,20 START 1 END

    Redci 17. i 22. modeliraju prijevoz tereta operandom u redku 17. iodgovarajuom oznakom u lokacijskom polju redka 22.

    Izlazna datoteka . Samo jedan red ekanja je praen i ispisane su njegovestatistike . Prosjena iskoritenost, prosjeno trajanje utovara i broj obavljenihutovara ispisani su posebno za svaki utovariva i tabelarno.Pojedinana vrijednost koju smo oznaili oznakom , pokazuje ukupan uinak radne skupine na radnoj zadai uosmosatnoj radnoj smjeni 13680 LCY.

    3.3. Jedan openit simulacijski model

    Pokuat emo ukljuiti im vie (Blocks) blokova i (Control Statements) kontrolnihnaredbi tako da model bude malo sloeniji, ali i razumljiv. Opisani sustav i primijenjenebrojane vrijednosti nemaju izravnu vezu sa stvarnim sustavima. Model je preuzet s webmjesta (Ritas 2014) i neznatno izmijenjen.

    Potrebno je utvrditi utroak vremena i novca za prijevoz 5000 m3 materijala iz usjeka unasip. Na raspolaganju su dva dampera zapremnine 20 m3 i jedan zapremnine 15 m3. Zbogoperativnih razloga koliina materijala na gomili za utovar mora biti najmanje 5 m3, dok zbogtrokovnih razloga treba biti jo 7 m3 vie od toga. Treba utvrditi i tip dampera koji e obavitizadnji transport, njegov trenutani teret kao i koliinu materijala koja ostaje na gomili za

    18

  • utovar u usjeku. Raspolaemo slijedeim podatcima:Trajanje transporta slijedi eksponencijalnu statistiku razdiobu s oekivanom

    vrijednou od 18.27 minuta za damper zapremnine 15 m3 i 13.08 minuta za damperzapremnine 20 m3.

    Trajanje istovara slijedi normalnu statistiku razdiobu s oekivanom vrijednou od4.22 minute za manji i 6.65 minuta za vei damper, uz standardnu devijaciju od 0.12 minuta.

    Trajanje povratka slijedi trokutastu statistiku razdiobu s najmanjom vrijednou od 4minute, najvjerojatnijom vrijednou od 8 minuta i najveom vrijednou od 15 minuta.

    Trajanje utovara je funkcija koliine raspoloivog materijala na utovarnoj gomili irazliita je za vei i manji damper.

    Raspoloiva koliinamaterijala u m3 5 300 100 200 280 320 380 450 500Trajanje utovara damperazapremnine 20 m3 u min. 94.9 28.2 12.30 7.21 5.36 6.44 9.55 18.2 25.4Trajanje utovara damperazapremnine 15 m3 u min. 88.5 22.5 9.98 6.01 3.89 5.67 8.02 16.3 24.9

    Samo jedan damper moe pristupiti mjestu istovara, isto vrijedi i za mjesto utovara.Cijena sata rada utovarivaa je 20 novanih jedinica, manjeg dampera 22 novane

    jedinice i veeg dampera 28 novanih jedinica.Rjeenje. Unos podataka. Ulazna datoteka ovoga modela je , a standardna

    GPSS izlazna datoteka . Posluit emo se korisniki definiranim promjenjivima. Uprogramu se one zovu Ampervariables zbog znaka & (Ampersand) koji stoji kao prvi znak uimenu promjenjive radi raspoznavanja, a ovdje emo ih zvati -promjenjivima.

    Redak 2. Slijedee -promjenjive deklarirane su kao (Integer) cjelobrojne: jednodimenzionalna dvolana matrica u koju spremamo tipove dampera (veii manji). -promjenjiva kojoj e u simulaciji biti dodijeljena vrijednost iz ,ovisno o tipu dampera koji e obaviti zadnji transport. jednodimenzionalna dvolana matrica koja e imati vrijednosti 0 i 1 teomoguiti identifikaciju dampera koji e obaviti zadnji transport prema vrijednosti 1.

    Redci 3. 7. Slijedee -promjenjive deklarirane su kao (Real) realne: trenutana koliina materijala na gomili za utovar. Dodijeljena poetna vrijednost bit e 500. jednodimenzionalna dvolana matrica trajanja transporta za dva tipa dampera. jednodimenzionalna dvolana matrica trajanja istovara za dva tipa dampera. -promjenjiva ija vrijednost predstavlja vrijeme u satima potrebno za obavljanje radne zadae. cijena sata rada utovarivaa. ukupna cijena rada utovarivaa na obavljanju radne zadae. cijena sata rada manjeg dampera. cijena sata rada veeg dampera. ukupna cijena rada oba dampera na obavljanju radne zadae. ukupni trokovi obavljanja radne zadae. trenutani teret dampera koji obavlja zadnji transport. koliina preostalog materijala na gomili za utovar.

    19

  • Prema brojanim vrijednostima u ovom primjeru, neke od realnih -promjenjivih sumogle biti definirane kao cjelobrojne. Ne znamo hoe li neka od verzija programa prijavitipogreku ako korisnik izmijeni ulazne podatke po tipu, vjerujemo da e biti kao u ranijimprimjerima, ako naie na realnu vrijednost u promjenjivoj koja je deklarirana kao cjelobrojna,tada e ju zaokruiti na nii cijeli broj, ispisati odgovarajue upozorenje i nastaviti izvoenje stom cjelobrojnom vrijednou.

    Redci 8. 19. -promjenjivima koje su s obzirom na promjenjivost pri izvoenjuprograma zapravo konstante dodijelit emo njihove vrijednosti te poetne vrijednosti -promjenjivima ije se vrijednosti mijenjaju pri izvoenju programa.

    Redci 20. 25. Opisuju funkcije trajanja utovara za oba tipa dampera. Funkcijatrajanja utovara manjeg dampera je imenovana kao , deklarirana kao kontinuiranafunkcija -promjenjive i zadana s 9 koordinata , analogno je napravljenoi za vei damper.

    Slika 8. Trajanje utovara dampera zapremnine 20 m3 i dampera zapremnine 15 m3 ovisno okoliini raspoloivog materijala.

    20

    0 100 200 300 400 500 6000

    102030405060708090

    100 94,

    928

    ,2

    12,3

    7,21

    5,36 6,44 9,55 1

    8,2 25

    ,4

    0 100 200 300 400 500 6000

    102030405060708090

    100 88,5

    22,5

    9,98

    6,01

    3,89 5,67 8,02 1

    6,3 24

    ,9

  • Slika 9. Dijagram toka problema 3.3.

    21

    Ulaznipodatci

    ekajutovar

    Tipdampera= 1?

    Utovartipa 1

    Utovartipa 2

    Trenutanakoliina 1

    Trenutanakoliina 2

    Trenutanakoliina< 12?

    Oznaizadnji damper

    Oslobodiutovar

    Trenutanakoliina

    < 5?

    Zadnjiteret 1

    Ostatakmaterijala 1

    Zadnjiteret 2

    Ostatakmaterijala 2

    Tip zadnjegdampera

    Transport1 i/ili 2

    ekajistovar

    Istovar1 i/ili 2

    Oslobodiistovar

    Zadnjitransport?

    Povratak

    Krajsimulacije

    Izlaznipodatci

    Krajprograma

    Izlaznipodatci 1

    Izlaznipodatci 2

    Tipzadnjegdampera= 1?

    Tipzadnjegdampera= 2?

    Da

    Ne

    Da

    Ne

    Da Ne

    Da Ne

    Da

    Da

    Ne

    Ne

  • 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.

    SIMULATE INTEGER &DUMPER(2),&LASTYPE,&LASTD(2) REAL &CURRMAT,&HAULTIME(2),_ &DUMPTIME(2),&TIME,_ &LDRCOST,&LDRTCOST,_ &DUCOST1,&DUCOST2,&DUTCOST,_ &ALLCOST,&LASTLD,&MATLEFT LET &DUMPER(1)=15 LET &HAULTIME(1)=18.27 LET &DUMPTIME(1)=4.22 LET &DUMPER(2)=20 LET &HAULTIME(2)=13.08 LET &DUMPTIME(2)=6.65 LET &CURRMAT=500 LET &LDRCOST=20 LET &DUCOST1=22 LET &DUCOST2=28 LET &LASTD(1)=0 LET &LASTD(2)=1LOADD2 FUNCTION &CURRMAT,C95,94.98/30,28.29/100,12.31/200,7.21/280,_5.36/320,6.44/380,9.55/450,18.27/500,25.4LOADD1 FUNCTION &CURRMAT,C95,88.53/30,22.55/100,9.98/200,6.01/280,_3.89/320,5.67/380,8.02/450,16.32/500,24.95 STORAGE S(DUMP),1 GENERATE ,,,1,,2PH ASSIGN TYPE,1,PH ASSIGN LAST,1,PH TRANSFER ,START GENERATE ,,,2,,2PH ASSIGN TYPE,2,PH ASSIGN LAST,1,PHSTART QUEUE MATHEAPQ SEIZE MATHEAP DEPART MATHEAPQ TEST E &DUMPER(PH(TYPE)),15,LO ADVANCE FN(LOADD1) TRANSFER ,CONT1LO ADVANCE FN(LOADD2)CONT1 BLET &CURRMAT=&CURRMAT-&DUMPER(PH(TYPE)) TEST GE &CURRMAT,12,CHANGEGOBACK RELEASE MATHEAP TEST E &LASTD(PH(LAST)),1,CONT2 FUNAVAIL MATHEAPCONT2 ADVANCE RVEXPO(1,&HAULTIME(PH(TYPE))) QUEUE DUMPQ ENTER DUMP DEPART DUMPQ ADVANCE RVNORM(2,&DUMPTIME(PH(TYPE)),0.12) TEST E &LASTD(PH(LAST)),0,DIE LEAVE DUMP ADVANCE RVTRI(3,4,8,15) TRANSFER ,STARTCHANGE ASSIGN LAST,2,PH TEST L &CURRMAT,5,ONE BLET &LASTLD=(&DUMPER(PH(TYPE))+&CURRMAT)-5 BLET &MATLEFT=5 TRANSFER ,TWOONE BLET &LASTLD=&DUMPER(PH(TYPE)) BLET &MATLEFT=&CURRMATTWO BLET &LASTYPE=&DUMPER(PH(TYPE)) TRANSFER ,GOBACKDIE TERMINATE 1 START 1 LET &TIME=C1/60

    22

  • 67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.

    LET &LDRTCOST=(FR(MATHEAP)/1000*&TIME)*&LDRCOST LET &DUTCOST=((2*&DUCOST2)+&DUCOST1)*&TIME LET &ALLCOST=&DUTCOST+&LDRTCOST PUTPIC FILE=ANSWER33,LINES=5,(&TIME,&ALLCOST,&MATLEFT)ANSWERS:---------The Operation lasted for *.** hours with Total Cost of *.** money units.-*.** m3 of Material left. IF &LASTYPE=15 PUTPIC FILE=ANSWER33,LINES=1,(&LASTLD)-The Last dumper was a 15 m3 type carrying *.** m3. ELSE PUTPIC FILE=ANSWER33,LINES=1,(&LASTLD)-The Last dumper was a 20 m3 type carrying *.** m3. ENDIF END

    Neke verzije programa moda ne e htjeti prihvatiti prijelom redka kakav je ovdjekoriten. Redak je prelomljen unutar jedne koordinate, izmeu vrijednosti x i y i koriten jeznak za nastavak prelomljenog redka .

    Redak 26. Ime promjenjive mjesta istovara je , definirana je kao spremite zbog prilagodljivosti programa za ponovnu uporabu s izmijenjenim ulaznimpodatcima. Unutarnja logika GPSS-a je u ovom sluaju testirana na mogui prijavak pogrekejer je spremite s kapacitetom 1 u programskoj logici zapravo posluitelj.

    Redci 27. i 31. Na poetku simulacije treba stvoriti dinamike entitete, transakcije, uovom sluaju jedan damper zapremnine 15 m3 i dva dampera zapremnine 20 m3 naredbama. Operandi odreuju najvei broj transakcija koje se stvaraju. Operandi odreuju broj i brojani tip parametara pridruenih transakcijama koje se stvarajutom naredbom.

    Redci 28., 29. i 32., 33. Ovdje se u oba sluaja radi o po dva 2 parametra , tipa (halfword) polurije, . Parametri su nazvani (tip) i (zadnji) i dodijeljenisu objema transakcijama respektivno. Parametrima oznaujemo tip transakcija, jednaje tipa 1 , damper zapremnine 15 m3, i druge dvije tipa 2, damperi zapremnine 20 m3, teinjenicu da nijedna od tih transakcija nije zadnja transakcija prije zadnjeg ciklusa usimulaciji.

    Redak 30. Prvu transakciju upuujemo bezuvjetno u blok nazvan . Nainupuivanja lii na FORTRAN naredbu , dok je druga transakcija izravno ispred togabloka u kodu pa ju ne treba izriito upuivati.

    Redak 34. Blok . Red ekanja imenovan koji se nalaziispred gomile materijala na utovarnom mjestu. Utovarno mjesto je modeliranokao posluitelj i moe posluiti samo jedan damper istodobno.

    Redci 35. i 36. Pseudosluajno izabrani damper zauzima posluitelj imenovan i istodobno naputa red ekanja nazvan .

    Redci 37., 38. i 40. Test u redku 37. utvruje zapremninu dampera prema parametrutipa dampera koji je indeks lana matrice. Ako je vrijednost prvog operanda jednaka 15(damper tipa 1, zapremnine 15 m3) primjenjuje se funkcija trajanja utovara nautovar. U suprotnom sluaju se damper upuuje u blok imenovan u redku 40. na utovar.

    Redci 39. i 41. Redak 39. upuuje damper prvog tipa (zapremnine 15 m3) u blok u redak 41. kamo po redu izvravanja naredbi dolaze i damperi drugog tipa iz bloka u redku 40. Po zavrenom utovaru koliina materijala na gomili za utovar je jednaka

    23

  • razlici trenutane koliine i zapremnine upravo utovarenog dampera koja seoitava iz vrijednosti lana matrice (15 ili 20) ovisno o indeksu koji proizilaziiz parametra tipa (1 ili 2).

    Redak 42. Iz ulaznih podataka zadae slijedi da je damper koji obavlja zadnji transportu simulaciji upravo onaj iza kojeg na utovarnoj gomili ostane manje od 12 m3 materijala. Kadvrijednost -promjenjive padne ispod 12, odnosno kad je ispunjen uvjetnetonosti testa iz ovoga redka , damper se preusmjerava u blok nazvan u redku 55., u kojem mu se mijenja vrijednost parametra s 1 na 2. i unarednim redcima (iza 55.) se utvruju ostali podatci vezani uz zadnji transport.

    Redak 43. Utovareni damper svojim odlaskom oslobaa posluitelj islijedei damper zauzima njegovo mjesto. Blok je nazvan i u ovaj blok e iz redka63. biti vraen damper koji obavlja zadnji transport kako bi u narednim redcima zaustaviosimulaciju, nakon to u redcima 55. 63. budu odreeni ostali podatci o zadnjem transportu.

    Redak 44. Po odlasku s mjesta utovara damper ide u slijedei blok u kojem seprovjerava radi li se o damperu koji obavlja zadnji transport. Vrijednost parametra dampera koji obavlja zadnji transport je postala jednaka 2 u prethodnom koraku (42. i 55.) iza njega je ovaj test toan pa ga prosljeuje u naredni redak (45.), za damper koji ne obavljazadnju transport ovaj test nije toan jer mu je vrijednost parametra jednaka 1 i damperse prosljeuje u blok u redku 46.

    Redak 45. Ako je test iz redka 44. toan, damper koji obavlja zadnji transport ide unaredni blok gdje se utovarna gomila postavlja nedostupnom . Zbog togaslijedei damperi ostaju u redu ekanja .

    Redak 46. Damper koji ne obavlja zadnji transport prosljeuje se iz testa u redku 44. uovaj blok na operaciju transporta. Damper koji obavlja zadnji transport u ovaj blok ulazi poredoslijedu izvoenja naredbi. Trajanje transporta materijala je je stohastino po statistikojeksponencijalnoj razdiobi s oekivanom vrijednou koja odgovara pripadnojvrijednosti u matrici odnosno parametru tipa dampera, 1 ili 2. Tokpseudosluajnih brojeva RNS1 generira uzorke iz ove razdiobe

    Redci 47. i 49. Opisuju red ekanja na mjestu istovara, blokovima potrebnimza prikupljanje statistika ovoga reda ekanja i naputanje ovoga reda ekanja.

    Redak 48. Damper dolazi na mjesto istovara imenovano i zauzima ga jer, iakoje deklarirano kao spremite, zadani kapacitet spremita je 1 pa se efektivno radi oposluitelju.

    Redak 50. Trajanje istovara dogaa se po normalnoj statistikoj razdiobi soekivanom vrijednou prema vrijednosti iz matrice za trenutani tipdampera i uz standardnu devijaciju 0.12. Tok pseudosluajnih brojeva RNS2 generira uzorkeiz ove razdiobe.

    Redak 51. Ovaj test je postavljen za odreivanje zavretka simulacije. Damper koji neobavlja zadnji transport prolazi ovaj test jer im je parametar jednak 1, pa je vrijednostlana matrice jednaka 0. Kad damper koji obavlja zadnji transport dovrizadnji istovar, ulazi u ovaj blok koji je za taj damper ve postavljen kao netoan, jer mu jeparametar ve ranije postavljen na vrijednost 2 i preusmjerava se u blok gdjesimulacija zavrava.

    Redci 52. i 54. Po zavretku istovara damper koji ne obavlja zadnji transport naputamjesto istovara i oslobaa ga kako bi ga mogao zauzeti slijedei damper te se vraa na poetak ciklusa, u red ekanja pred utovarom u redku 34.

    Redak 53. Trajanje povratka dampera na mjesto utovara prati trokutastu statistikurazdiobu koja je u ovom sluaju neovisna o tipu dampera. Tok pseudosluajnih

    24

  • brojeva RNS3 generira uzorke iz ove statistike razdiobe.Redak 55. Blok mijenja status dampera iz 1 u 2, oznaava trenutani

    damper koji je dospio u blok damperom koji obavlja zadnji transport.Redak 56. Test koji provjerava je li trenutana raspoloiva koliina materijala nakon

    utovara dampera koji obavlja zadnji transport manja od 5 m3. Ako je odgovor netoan,izvoenje programa se nastavlja u bloku u redku 60.

    Redak 57. Ako je test iz prethodnog redka toan, raunamo odgovarajuu koliinumaterijala u zadnjem transportu. Koliina materijala prevezenog u zadnjem transportu pritomje jednaka razlici trenutane vrijednosti -promjenjive prije utovara dampera koji obavljazadnji transport i preostalih 5 m3 materijal kojeg je zbog operativnih mogunosti utovarivaanemogue utovariti. .Pritom treba imati na umu svrhu uvoenja promjenjive u program uz vedefiniranu promjenjivu . Vrijednost moe biti ne samomanja od 5, ve i negativna. Zapremnine dampera su 15 i 20 m3. Operativno ogranienjeutovarivaa je 5 m3, a iz trokovnih razloga se ne utovara pa posljedino i ne prevozi manjeod 12 m3 materijala. Promjenjive i su deklarirane kao realnepromjenjive. Recimo da je raspoloiva koliina materijala prije utovara dampera koji obavljazadnji transport jednaka 12.1 m3. Promjenjiva nakon utovara moe imativrijednost 12.1 - 15 = -2.9 ili 12.1 - 20 = -7.9 m3, ovisno o tipu dampera koji obavlja zadnjitransport u simulaciji.

    Redak 58. Postavlja odgovarajuu koliinu preostalog materijala na gomili za utovarna 5 m3. Ako je tvrdnja

  • trokova. je SNA koji sprema iskoritenost posluitelja u promilima. Iskoritenostposluitelja u standardnoj izlaznoj GPSS/H datoteci je izraena kao 1000 puta numerikimanja vrijednost . U redku 67. vidi se i prioritet, redoslijed i nain izvoenjaaritmetikih operacija u GPSS-u koji slijedi odgovarajua pravila u FORTRAN-u, aritmetikiizraz zapisan u ulaznoj datoteci u obliku (a / b * c) izraunava se kao da je zapisan uz uporabuzagrada u obliku ((a / b) * c).

    Redak 70. Kontrolna naredba slui za ispis pet redakafiksnog i promjenjivog teksta rezultata u datoteku nazvanu , ime datoteke morazapoeti slovnim znakovima, datoteka ne moe imati datoteni nastavak, a nakon izvrenjaprograma nalazit e u mapi u kojoj se nalazi izvrni program gpssh.exe. Rezervirana mjesta zapromjenjive brojane podatke slijede redoslijed nabrajanja -promjenjivih, a odgovarajuiformat zapisa brojeva je odreen kao decimalni broj s dva decimalna mjesta icjelobrojni dio bez vodeih nula.

    Redci 71. 82. Ispisuju fiksni i promjenjivi sadraj dva dodatna redka datotekeANSWER33. Promjenjive dijelove redaka na odgovarajua predviena i formatirana mjestaunose rezultati skupa testova

    Redak 83. Kraj programa.

    26

  • 5. ZAKLJUAK

    U radu su prikazani dostupni resursi vezani uz recentne varijante GPSS programa.Prezentirani su tipski simulacijski modeli s jednim i vie utovarivaa istih ili razliitihsvojstava, s vie vrsta dampera te primjena -promjenjivih u simulacijskim modelima, kojimaje osim trajanja dogaaja i kapaciteta posluitelja i transakcija mogue ukljuiti i drugeimbenike poput jedininih cijena i modelirati razliite tipove zadaa vezane za problematikuutovara i prijevoza.

    Pokazalo se kako u izradbi i vrednovanju simulacijskih modela manji problempredstavljaju ogranienja simulacijskog programskog jezika ope namjene nego nekeposebnosti u modeliranju detalja bez obzira na simulacijski program i njegovu namjenskunespecijaliziranost.

    Openamjenski simulacijski programski jezici uobiajeno pretpostavljaju ulazaknekog najveeg broja transakcija u sustav po nekom stohastikom uzorku i njihovpojedinaan izlazak iz sustava po zavrenoj usluzi to je primjereno modeliranju nekogprocesa na tvornikoj traci ili pak uobiajenog primjera openamjenskog simulacijskogprograma, modeliranju rada brijanice i slinih sustava u kojem klijent (transakcija) ulazi usustav, eka ili ne eka na uslugu u redu ekanja i po zaprimljenoj usluzi naputa sustav.Pritom transakcija kao takva najee nema svojstava i trajanje usluge ne ovisi o svojstvimatransakcije ve o stohastinosti trajanja same usluge. Simulacijski programski jezik jedovoljno prilagodljiv naemu modelu pa lako moemo generirati najvie jednu izvornutransakciju istih svojstava (damper jednog tipa) naredbom , dodijeliti joj svojstva(zapremnina koa dampera) naredbom te ju potom umnoiti naredbom iposlati sve transakcije toga tipa u red ekanja, ako se radi o vie tipova transakcija (dampera)isto tako moemo napraviti za svaki tip dampera. Transakcije (dampere) moemo iz redaekanja upuivati na jedan ili vie pojedinanih posluitelja (utovarivaa) ili u spremite(klaster vie posluitelja) uz zadani prioritet i uz zadana trajanja usluge i njihovu stohastikupromjenjivost trajanja. Po obavljenom prijevozu tereta ije trajanje se definira narednom naredbom, moemo naredbom ili uporabom -promjenjivih iodgovarajuih naredbi biljeiti koliinu prevezenog materijala i uvjetnim ili bezuvjetnimnaredbama upuivanja upuivati transakcije (dampere) ponovo u red ekanja iponavljanje ciklusa sve do isteka trajanja simulacije. Tabeliranje podataka o dogaajima iizrada statistika s uestalostima klasa dogaaja takoer ne predstavlja problem u modeliranjuove specifine problematike jednim openamjenskim simulacijskim programskim jezikom.

    Na drugoj strani problematika modeliranja trajanja manevra pri utovaru i nainnjegove prerazdiobe u trajanje usluge (utovara) pokazala se znaajnom za rezultatesimulacijskih modela, a nedovoljno dokumentiranom rezultatima terenskih istraivanja usvrhu vjerodostojnog vrednovanja rezultata simulacijskih modela, isto kao i problematikaopenite primjenjivosti prilagodnih funkcija stohastike promjenjivosti trajanja dogaajautovara i prijevoza to jasno pokazuje na nuan smjer potrebnih daljnjih istraivanjaproblematike simulacijskog modeliranja rada utovarivaa i dampera.

    27

  • POPIS KORITENIH KRATICA I SKRAENICA

    aGPSS varijanta GPSS-a na koju autorska prava dri Ingolf Sthl.

    ASCII American Standard Code for Information Interchange, Ameriki standardni kod zarazmjenu informacija, Ameriki standardni znakovnik za razmjenu obavijesti.

    CGI Common Gateway Interface, u slobodnom prijevodu zajedniko prolazno suelje.Standardna metoda generiranja dinamikog sadraja web stranica i web aplikacija. Standardse odnosi na razmjenu obavijesti izmeu web posluitelja i treih programa koji obraujuzaprimljene zahtjeve.

    C S L Control and Simulation Language, jezik kontrole i simulacije, simulacijskiprogramski jezik.

    DOS Disk Operating System, opi naziv za operacijske sustave, DOS u slobodnomprijevodu znai operacijski sustav za diskove (floppy disk) disketu i tvrdi disk.

    GPSS General Purpose Simulation System, Gordon's Programmable Simulation System,openamjenski simulacijski sustav, Gordonov programabilni simulacijski sustav, imeraunalnog simulacijskog programskog jezika.

    GPSS/H komercijalno ime varijante GPSS-a, u izdanju tvrtke Wolverine Software

    HTML HyperText Markup Language, prezentacijski jezik za izradu web stranica.

    IBM International Business Machines Corporation, Meunarodna korporacija poslovnihstrojeva.

    JGPSS Java GPSS, implementacija GPSS sustava pisana u objektno orijentiranomprogramskom jeziku Java.

    LCY Loose Cubic Yard, kubini jard materijala u rasutom stanju.

    PC Personal Computer, osobno raunalo.

    RITAS Remote Interactive Training Ad-lib System, u slobodnom prijevodu - udaljeniineraktivni vjebovni improvizirani sustav.

    RNS Random Number Stream, tok sluajnih brojeva.

    SNA Standard Numerical Attributes, standardna brojana svojstva, u smislu moderneterminologije objektno orijentiranih programskih jezika to su funkcije, metode i svojstva klasaelemenata modela.

    SQL Structured Query Language, jezik strukturiranog upita, programski jezik za izradu,traenje, auriranje i brisanje podataka iz relacijskih baza podataka.

  • POPIS KORITENIH IZVORA

    (aGPSS 2014) (2014-05)

    (Banks et al. 2003) Jerry Banks. John S. Carson. John Ngo Sy. Getting started with GPSS/H.2 ed. Wolverine Software Corporation. Alexandria. 2003.

    (JGPSS 2014) (2014-06)

    (Lorenz 2014) (2014-06)

    (Minuteman 2014) (2014-06)

    (Nunnally 1999) S. W. Nunnally. Managing construction equipment. Prentice Hall. 1999.

    (Ritas 2014) (2014-06)

    (Vangheluwe 2014) (2014-06)

    (Wikipedia 2014a) (2014-06)

    (Wikipedia 2014b) (2014-06)

    (Wikipedia 2014c) (2014-06)

    (Wikipedia 2014d) (2014-06)

    (Wikipedia 2014e) (2014-06)

    (Wolverine 2014) (2014-06)