Download as pdf or txt
Download as pdf or txt
You are on page 1of 61

Računarska simulacija

• Brzina procesiranja suvremenih RS-a porasla je


toliko da omogućava simulaciju u realnom
vremenom što je osobito važno za mnoge složene i
najsloženije sustave.
• Simulacija sustava postala svakodnevna računalna
aplikacija.
• Suvremeno modeliranje nezamislivo je bez
računala

1
• Računala se u modeliranju koriste u dvije različite
svrhe:
 u razvoju modela i
 u izvođenju proračuna na temelju stvorenog modela
• Računalni model je računarski program koji nastoji
simulirati apstraktni model pojedinačnog sistema.

• Računarska simulacija zbiva se kao dio


matematičkog modeliranja mnogih prirodnih sistema
u fizici, kemiji i biologiji, ljudskih sistema u ekonomiji,
psihologiji, društvenim znanostima i u svim
procesima inženjera novih tehnologija kako bi
stjecali uvid u rad tih sistema.

2
• Pod pojmom »računarska simulacija«
podrazumijevamo danas: analiziranje realiteta
pomoću modela sačinjenog od instrukcija na
računalu i upotrebu modela za imitaciju
ponašanja promatranog realiteta u ovisnosti o
unaprijed zadanom scenariju.

3
Modeli samoregulirajućih sistema održavanja
konstantne sobne temperature

L SKTS.K=SKTS.J+DT*BPKTS.JK SKTS – stanje


količine topline u sobi
N SKTS=T1/TTK inicijalno stanje SKTS
C T1=20 T1 – inicijalna temperatura
C TTK=1 TTK – toplinska transferska konstanta
R BPKTS.KL=KKTPTOT*DISKR.k BPKTS –
brzina promjene količine topline u sobi
C KKTPTOT=.1 KKTPTOT – konverzijska konstanta
toplina/temperatura
A DISKR.K=ŽST.K-SST.K DISKR – diskrepancija
4
A SST.K=TTK*SKTS.K SST – stvarna sobna
temperatura
A ŽST.K=20+STEP(2,30)+STEP(-5,80) ŽST –
željena sobna temperatura
**************************************************
SAVE ŽST,DISKR,SST,BPKTS,SKTS
**********************************************************
SPEC DT=1,LENGTH=100,SAVPER=1
***********************************************************

5
Modeli samoregulirajućih sistema održavanja
konstantne sobne temperature

• SD strukturni model dijagrama toka u iThink simbolici

6
SKTS(t) = SKTS(t - dt) + (BPKTS) * dt
INIT SKTS = 20
INFLOWS:
BPKTS = DISKR_4*KKTPTOT
DISKR_4 = ZST-SST
KKTPTOT = 0.1
SST = SKTS*TTK
TTK = 1
ZST = 20+STEP(2,30)+STEP(-5,80)

7
Tipovi simulacijskih modela

 Monte Carlo simulacija,


 Kontinuirana simulacija,
 Diskretna simulacija,
 Miješana kontinuirana-diskretna simulacija,
 Distribuirana simulacija.

8
Metodu Monte Carlo koristi se za rješavanje
sljedećih problema (Kleijnen,1974.):

a) deterministički problemi koje je teško ili skupo riješiti


b) složeni fenomeni koji nisu dovoljno poznati da bi se
moglo precizno opisati
c) statički problemi koji nemaju analitičkog rješenja
• Vrste simulacija koje se temelje na slučajnim
vrijednostima varijabli.
• Povijest razvoja
(http://hr.wikipedia.org/wiki/Monte_Carlo_simulacija)

9
Kontinuirana simulacija

• Tri su osnovna tipa kontinuiranih simulacijskih


modela:
a) sistemi običnih diferencijalnih jednadžbi
b) sistemi parcijalnih diferencijalnih jednadžbi
c) sistemska dinamika

10
Diskretna simulacija

• u slučaju diskretne simulacije model promatranog


realiteta se opisuje nizom brojeva, tj. varijablama
stanja
• diskretni događaji dešavaju se u diskretnim
vremenskim trenutcima
• diskretna simulacija se najčešće koristi za opisivanje
sistema s redovima

11
Miješana kontinuirana-diskretna simulacija

• U nekim sistemima nije moguće koristi ni


kontinuirana ni diskretna simulaciju kako bi se
opisao sistem, u tim situacijama koristi se miješana
kontinuirana-diskretna simulacija.
• Spoj između kontinuiranim i diskretnim pristupom
ostvarena je preko dva tipa događaja, i to:
– vremenski događaji i
– događaji stanja

12
Distribuirana simulacija

• Distribuirani modeli izvršavaju na računarskoj mreži,


po mogućnosti rad na Internetu.
• Distribuirana simulacija je simulacija disperzirana
na više računala
• Postoji nekoliko standarda za distribuiranu
simulacija, i to:
• Aggregate Level Simulation Protocol (ALSP)
• Distributed Interactive Simulation (DIS)
• High Level Architecture (HLA)
• Test and Training Enabling Architecture (TENA).

13
• Prve primjene distribuirane simulacije primjenjuju u
vojnim aplikacijama (umrežavanje trening
simulatore).

• Distribuirana interaktivna simulacija primjenjuje se u


aplikacijama koji se koriste u proizvodnji, ispitivanju
svemira, simulatori dizajna i vožnje aviona i auta,
edukaciji u školama i fakultetima.

14
Modeliranje i simuliranje

15
• Izraz modeliranje i simulacija izražava složenu
aktivnost koja uključuje tri elementa: realni sistem,
model i računalo.

REALNI
SISTEM RAČUNALO

MODELIRANJE SIMULIRANJE

MODEL

16
• Pod realnim sistemom podrazumijevamo uređen,
međuzavisan skup elemenata koji formiraju
jedinstvenu cjelinu i djeluju zajednički kako bi
ostvarili zadani cilj ili funkciju, bez obzira na to je li
sistem prirodan ili umjetan, te također bez obzira na
to postoji li taj sistem u promatranom trenutku ili se
njegovo postojanje planira u budućnosti.
• Realni sistem može se promatrati kao izvor
podataka za specifikaciju modela.
• Podaci se javljaju u obliku zavisnosti X(t), gdje je X
bilo koja varijabla koja zanima istraživača, a t je
vrijeme mjereno u odgovarajućim jedinicama.

17
• Model, kao i svaki realni sistem, ima svoje objekte
koji se opisuju atributima ili varijablama.
• Apstraktni je prikaz sistema i prikazuje njegovu
strukturu, njegove komponente te njihovo uzajamno
djelovanje.
• Pod modelom se može podrazumijevati skup
instrukcija koji služi da se generira ponašanje
simuliranog sistema.
• Ponašanje modela ne mora u potpunosti biti
jednako ponašanju simuliranog sistema, nego samo
u onoj domeni koju istražujemo.

18
• Računalo je, kao treća komponenta ove aktivnosti,
uređaj sposoban za izvršenje instrukcija modela,
koje na osnovi ulaznih podataka generiraju razvoj
modela u vremenu.
• Računala su, uz različite metode i programske alate,
pogodna za stvaranje složenih modela i učinkovit
rad na njima.
• Računala pružaju dobar ambijent za stvaranje
modela i rad snjima.
• Razvoj modela (manipulacija grafičkim simbolima i
tekstom (npr. programskim kodom).
 Izvođenje proračuna (pomoću računalnog modela)
– brza analiza velikog broja varijanti
– slučajne veličine: uzorak za istu varijantu 19
Interakcija između modelara, računala i
realnog sistema

REALNI
SISTEM

ANALIZA IZGRADNJA
MODELA I MODELA I
UPOTREBA FORMALIZACIJA

RAČUNANJE I
SIMULACIJA MODELAR

PROGRAMI RAČUNALO
Automatski stroj
za modeliranje i
simulaciju

PROGRAMIRANJE
FORMALNI
MODEL

20
 Specifičnosti simulacijskog modeliranja:
grafički prikaz strukture sustava
animacija izvođenja simulacijskih eksperimenata
vrednovanje logike i dinamike rada modela
lakše prihvaćanje modela od strane korisnika
automatsko generiranje programa na bazi
konceptualnih modela
bitno skraćuje ciklus razvoja modela
(Dynamo/90,Powersim i iThing)
generiranje velikih uzoraka izlaznih varijabli
potrebno za statističku analizu slučajnih varijabli

21
Relacije: modeliranje i simuliranje
• Modeliranje je proces kojim se uspostavlja veza
između realnog sistema i modela, dok je simulacija
proces koji se uspostavlja između modela i računala.
• Relacija modeliranja odnosi se na validnost modela.
• Validnost modela opisuje koliko vjerno model
prikazuje simulirani sistem, jer se na temelju njega
donose odluke o upotrebljivosti rezultata simulacije,
izmjeni modela, izmjeni podataka, daljnjem nastavku
simulacije, ponavljanju simulacije, itd.
• Relacija simulacije odnosi se na provjeru prenosi li
simulacijski program vjerno model na računalo, kao i
na točnost kojom računalo izvršava instrukcije
modela.
22
• Prije usporedbe stvarnih podataka s podacima koje
generira računalo (simulator) mora se utvrditi
točnost, odnosno korektnost simulatora.
• Proces procjene korektnosti simulatora naziva se
verifikacija.

23
Proces modeliranja i simulacije
 Na slici prikazane su aktivnosti procesa modeliranja i
simulacije s bazom modela kao centralnim objektom.

MODELIRANJE SIMULIRANJE VALIDIRANJE

BAZA BAZA
MODELA PODATAKA

EKSPERMENTIRANJE

24
• Procesom modeliranja upravlja se na osnovi ciljeva
koji se generiraju izvan granica sistema.
• Svaki novi cilj inicira aktivnost sinteze modela.
• Pri sintezi modela koristi se raspoloživo znanje iz
baze modela i baze podataka.
• Baze podataka čuvaju i organiziraju prikupljene
podatke o realnom sistemu.
• Na kraju, kao rezultat javlja se jedan ili više modela
koji vode ka ispunjenju eksternih ciljeva.
• Kreiranim se modelima koristi donositelj odluke.
• Novo kreirani model u bazi modela mogu se koristiti
u nekoj od idućih faza aktivnosti.

25
Karakteristike simulacijskog modeliranja
• Simulacijski eksperimenti najčešće se izvode u
svrhu prikupljanja određenih informacija, čije bi
dobivanje eksperimentom nad realnim sistemom bilo
nepraktično ili preskupo.
• Prikupljene informacije poslije se transformiraju u
odluke značajne za upravljanje realnim sistemom
koji je predmet simulacijskog modeliranja.
• Simulacijski modeli prikupljaju podatke o
promjenama stanja sistema i izlaza, fokusirajući se
na ponašanje individualnih komponenti sistema.
• Simulacijski modeli najčešće su modeli dinamičkih
sistema, tj. sistema koji se mijenjaju u vremenu.
26
• Simulacijski modeli su modeli sistema koji se ne
mogu opisati ni rješavati matematičkim sredstvima.
• Izgradnja i korištenje simulacijskih modela proces je
koji zahtijeva znatnu vještinu i dobro poznavanje
brojnih znanstvenih disciplina (operacijskih
istraživanja, numerička analiza, teorija vjerojatnosti i
statistika).
• Multidisciplinarni pristup i koherentno i dobro
razvijeno područje ....

27
Predmet modeliranja i simulacije

 Proizvodni pogon sa strojevima, ljudima,


transportnim uređajima, pokretnim trakama i
skladišnim prostorom.
 Banka, pošta ili neka slična uslužna organizacija sa
različitim kategorijama klijenata, službenika i
uređajima kao što su šalteri, automati za novac,
klupe za čekanje, sigurnosni sefovi.
 Distribucijska mreža koja se sastoji od tvornica,
skladišta i transportnih sredstava.
 Služba za hitne intervencije u bolnici.
 Servisna služba sa potencijalnim klijentima koji su
zemljopisno dislocirani, tehničarima različitih
kvalifikacija.
28
 Računarska mreža sa serverima, klijentima,
diskovima, printerima, mrežnim karakteristikama i
operatorima.
 Prometni sistem sa segmentima prometnicama,
raskrsnicama, signalizacijom, vozilima i pješacima.
 Poduzeće za osiguranje gdje stiže obimna
dokumentacija koja se sortira, pregleda, dopunjava,
kopira i šalje.

29
Primjeri poslovnih simulacija

• Popis poslovnih simulacija u različitim alatima:


• http://www.bioteams.com/2010/05/27/web_business_s
imulations.htm
 Sustainable Business Simulator (SUBS)
 Social Media Optimization Simulator
(SOCMEDOPTSIM)
 The Discipline of Market Leaders Simulator (TDML)
 Virtual Enterprise Network Simulator (VENSIM)
 Local Government Simulator (LOCGOVSIM)

30
Potreba za simulacijom

• Može se postaviti pitanje zbog čega se uopće jedan


sistem zamjenjuje modelom, a zatim se obavlja
simulacija.
• Postoji više razloga, ali najvažniji su sljedeći:
Eksperiment nad realnim sistemom može biti
skup ili čak nemoguć.
Analitički model nema analitičko rešenje (npr.,
složeniji modeli masovnog opsluživanja).
Sistem može biti suviše složen da bi se opisao
analitički (na primjer, sistemom diferencijalnih
jednadžbi).
31
 Eksperimentiranje sa realnim sistemom, čak i ako se
zanemare drugi aspekti, uglavnom je neisplativo ili
suviše složeno.
 Izgradnja modela i simulacija ponekad imaju za cilj
da se shvati funkcioniranje postojećeg sistema čija
je struktura nepoznata i ne može joj se prići.
 Prilikom iznalaženja optimalnog funkcioniranja
nekog sistema, uobičajeno je da se mijenjaju razni
parametri.
 Ponekad treba simulirati uvjete pod kojima nastupa
razaranje sistema.

32
• Vrijeme može biti vrlo jak razlog da se pribjegne
simulaciji. Pri simulaciji, vrijeme se može sažeti, što
je značajno kod simulacije dugotrajnih procesa. U
drugim slučajevima, vrijeme se može znatno
produljiti, na primjer, s ciljem da se prati postupno
odvijanje vrlo brzih procesa, što je u realnom
sistemu nemoguće.
• Kad se provodi realni eksperiment, uvijek postoji
izvjesna pogreška pri mjerenju zbog nesavršenosti
mjernih uređaja. Pri simulaciji te pogreške nema.
Postoji samo pogreška „zaokruživanja“ zbog
konačne dužine riječi u računalu, ali ona se s malo
truda može učiniti zanemarivom.

33
Mogućnosti primjene simulacije

• Navest ćemo nekoliko situacija kad se simulacija


može uspješno primijeniti:
 Simulacija omogućava proučavanje i eksperi-
mentiranje koje uzima u obzir sveukupne interakcije
složenog sistema ili podsistema unutar složenog
sistema.
 Informacijske i organizacijske promjene ili promjene u
okruženju mogu se simulirati, a ujedno se mogu
promatrati efekti tih promjena na ponašanje modela.
 Znanje stečeno u procesu izgradnje modela i
simulacije može biti od velikog značaja kod
poboljšanja sistema koji se ispituje.

34
• Mijenjanjem simulacijskih ulaza i promatranjem
odgovarajućih izlaza, dolazimo do važnog saznanja o
tome koje su varijable sistema najvažnije i kako
varijable utiču jedna na drugu.

• Simulacija se može koristiti i kao pedagoško sredstvo


sa ciljem da poboljšava metodologije analitičkih
rešenja.

• Simulacija se može koristiti za eksperimentiranje sa


novim koncepcijama ili politikama prije nego što se
izvrši njihova implementacija.

35
Računarska simulacija u praksi

• Računalna simulacija koristi se u različitim


varijantama praktičnih sadržaja, kao što su:
 analiza širenja zračnih zagađenja koristeći
modeliranje atmosferske disperzije
 dizajn složenih sistema kao što je zrakoplov i
logistika sistema
 dizajn govornih barijera koji djeluju na oslabljene
govornih kolnika
 simulatori letanja za trening pilota
 simulacija upravljanja plovidbom
 prognoza vremena
36
 dizajn industrijskih procesa, kao što su tvornice
 ponašanje struktura pod tlakom i drugih uvjeta
 kemijskih obrada
 strategijski menadžment i organizacijskih studija
 simulacijski skup instrukcija za debagiranje i
automatsku detekciju grešaka
 alati za simulaciju inženjerijskih procesa
 simulacija rezervoara za naftne inženjere da
modeliraju rezervoare podmornice (the subsurface)

37
Prednosti simulacije
 Kao osnovne prednosti korištenja simulacije navode
se sljedeće;
 Jednom izgrađeni model može se višestruko koristiti
za analizu predloženih planova ili politika.
 Simulacijske metode mogu se koristiti kao pomoć
kod analize, čak iako su ulazni podaci na neki način
nepotpuni.
 Čest je slučaj da se simulacijski podaci mogu
mnogo jeftinije dobiti od sličnih podataka iz realnog
sistema.
 Simulacijske metode lakše je primijeniti nego
analitičke metode.

38
 Analitički modeli uglavnom zahtijevaju više
pojednostavljujućih pretpostavki koje ih čine
matematički prilagodljivim. Simulacijski modeli takva
ograničenja nemaju.
 U nekim slučajevima, simulacija je jedino sredstvo
za rješavanje odgovarajućeg problema.
 Moguće je opisati i rješavati složene dinamičke
probleme sa slučajnim varijablama koji su
nedostupni matematičkom modeliranju.

39
Nedostaci simulacije
• U osnovne nedostatke korištenja simulacije ubrajaju se
sljedeći:
 Simulacijski modeli za digitalna računala mogu biti
skupi i mogu zahtijevati značajno vrijeme za izgradnju i
validaciju.
 Zbog statističkog karaktera simulacije potrebno je
izvođenje većeg broja simulacijskih eksperimenata
kako bi se dobio odgovarajući uzorak rezultata
simulacije.
• Ne dobivaju se zavisnosti izlaznih varijabli od ulaznih
varijabli modela niti optimalna rešenja.
• Za ispravno korištenje simulacijskog modeliranja
potrebno je poznavanje više različitih metoda i alata. 40
Stvaranje povjerenja u simulacijske modele
 Da bi korisnici (donositelji odluka, menadžeri) imali
povjerenja u korištenje simulacijskog modela, potrebno
je opravdati pretpostavku da:
• model adekvatno opisuje sustav.
 Proces stvaranja povjerenja traje od početka do kraja
izgradnje modela.
 Cilj stvaranja povjerenja: eliminirati različite vrste
grešaka modela, npr. greške u logici modela, greške u
matematičkim relacijama, greške u programskom kodu,
greške u ulaznim podacima, pogrešan način korištenja
modela, pogrešna obrada i interpretacija rezultata
modela
41
Simulacijski jezici
 Povijest modernih simulacijskih jezika počela je s
fizičarom Geoffreyem Gordonom koji je 1961. u IBM-u
razvio posebni program GPSS (General Purpose
Simulation System) za istraživanje pojedinih
konfiguracija računarskog hadvera.
 Od jezika za diskretnu simulaciju danas su u uporabi
GPSS, SIMSCRIPT, GASP, SIMULA, ProModel, Arena
i drugi.
 Od jezika za kontinuiranu simulaciju u uporabi su
DYNAMO, SLAM (Simulation Language for Alternative
Modeling, A. Pritsker i D. Pegden) koji je pogodan za
modeliranje diskretnih, diskretno-kontinuiranih i
kontinuiranih sustava, VENSIM, POWERSIM, STELLA,
iThink i drugi.
42
Kontinuirana simulacija

43
44
Kontinuirana simulacija

45
46
47
48
49
Diskretna simulacija

Arena
ARENA omogućuje:
Simulacije diskretnih događaja
Simulacije skupnih i kontinuiranih događaja
Analizu i predviđanje uspješnosti sustava

(Proizvodnje, lanca nabave, vojnih obrana, zdravstva,


call centara, poslovnih procesa i dr)

50
51
Zajednička im je karakteristika - gledaju na model kao
na niz slučajnih događaja gdje svaki uzrokuje promjenu
stanja

Naredbe se obično dijele na “blokove” i na upravljačke


naredbe
Blokovi se aktiviraju kada kroz njih prođu “entiteti”
transakcije)
Upravljačke naredbe se koriste za opis željenog
trajanja izvođenja simulacije, broja ponavljanja
simulacije, uvjeta ponavljanja, i dr.

52
Kafić

53
54
Kao rezultat simulacijskog programa može se dobiti:

prosječna duljina reda koja se može očekivati u


nekoj organizaciji (npr. na blagajni prodavaonice, ili
na šalteru banke i dr.),
standardna devijacija (prosječno odstupanje) duljine
reda od aritm. sredine,
koliki je broj obrađenih stranaka tijekom vremena
izvođenja simulacije
koliko je iskorištenje blagajne, stroja, i dr.

55
56
 Najznačajnija prednost simulacijskih jezika je to
što analitičaru omogućuju da se efikasnije bavi
istraživanjem nego kad upotrebljava jezike opće
namjene.

 Simulacijski jezici omogućuju:


 opisivanje elemenata modela,
 opisivanje odnosa u modelu,
 logičku kontrolu,
 upravljanje slijedom događaja,
 upravljanje vremenom događaja,

57
 Nedostatak simulacijskih jezika - je njihova
stroga namjena i ograničena fleksibilnost.

 Jezik za programiranje simulacije mora biti poput


govornog jezika, kako bi ga mogao čitati korisnik
koji je prije svega zainteresiran za sustav koji
istražuje, a ne za programiranje računalom.

58
 Simulacijskim jezicima visoke razine značajno se
smanjuje vrijeme programiranja i omogućuje da se
model lakše razvije u fazi modeliranja.

 Jezik je dobar ako programeru omogućuje da lako


prevede koncepcijski model sustava u čitljiv radni
program za računalo, sposoban za modifikaciju, koji
djeluje i radi onako kako je model zamišljen.

59
 Program za računalo pisan u simulacijskom jeziku
orijentiranom prema aktivnostima organiziran je
kao niz opisa aktivnosti.

 Program za računalo pisanom u simulacijskom


jeziku orijentiranom na događaje sastoji se od niza
događaja, tj. opisa svih promjena koje nastaju u
trenutku kada se dogodi događaj ili u trenutku kad
se završi neka aktivnost.

 Program za računalo pisan u simulacijskom jeziku


orijentiranom na procese sastoji se od opisa
procesa u obliku procedura - po jedna za svaku
klasu procesa.
60
I kolokviji
Održati će se XX. XX.2019

Na kolokvije ponijeti samo olovke za pisanje.

61

You might also like