Wprowadzenie do laboratorium

Download Report

Transcript Wprowadzenie do laboratorium

MODELOWANIE SYMULACYJNE
W LOGISTYCE
Simulation Modelling in Logistics (ang.)
Edycja S1I 2015/2016
Wykład (15h),
Laboratorium (15h)
Roman Pietroń, dr inż.
K-4/IZ/ PWr., B1 p. 413c
e-mail: [email protected]
http://www.ioz.pwr.wroc.pl/pracownicy/pietron
http://www.kbo.pwr.edu.pl
Konsultacje:
Poniedziałek
Środa TN
900 - 1100
1300 - 1500
(Wrocław PWr., B1, 413c)
(Wrocław PWr., B1, 413c)
Bibliografia podstawowa

Gajda J.B., Prognozowanie i symulacja a decyzje gospodarcze,
C.H.Beck Warszawa, 2001.

Mielczarek B., Modelowanie symulacyjne w zarządzaniu. Symulacja
dyskretna, Oficyna PWr., Wrocław, 2009.

Maciąg A., Pietroń R., Kukla S., Prognozowanie i symulacja w
przedsiębiorstwie, Wyd. PWE Warszawa 2013.

Pietroń R., Modelowanie i projektowanie procesów i systemów
logistycznych, Wyd. WSOWL Wrocław, 2015.

Pietroń R., Modelowanie symulacyjne w logistyce. E-materiał PWr.,
2016. http://www.ioz.pwr.wroc.pl/pracownicy/pietron

Pietroń R., Modelowanie symulacyjne. Wybrane zagadnienia, EMateriał PWr., 2012. http://www.ioz.pwr.wroc.pl/pracownicy/pietron

Pietroń R., Zbiór zadań z modelowania symulacyjnego, E-Materiał
PWr., 2012. http://www.ioz.pwr.wroc.pl/pracownicy/pietron

Zeigler B.P., Teoria modelowania i symulacji, PWN Warszawa, 1984.
Bibliografia uzupełniająca









Fishman G.S., Symulacja komputerowa. Pojęcia i metody, PWE Warszawa
1981.
Gordon G., Symulacja systemów, WNT Warszawa, 1974.
Kondratowicz L., Modelowanie symulacyjne systemów, WNT Warszawa,
1978.
Kowal R., Stanek S., Zadora Żytniewski P., Symulacja komputerowa z
wykorzystaniem modeli Dynamiki Systemowej, ss. 40-78 [w:] Modele
hybrydowe w podejmowaniu finansowych decyzji gospodarczych, praca zb.
Pod red. S.Stanka, AE Katowice, 2007.
Krupa K., Modelowanie symulacja i prognozowanie. Systemy ciągłe, WNT
Warszawa, 2008.
Naylor T.H., Modelowanie cyfrowe systemów ekonomicznych, PWN
Warszawa, 1975.
Nowak M., Symulacja komputerowa w problemach decyzyjnych, AE
Katowice, 2007.
Tarajkowski J. (red.), Elementy dynamiki systemów, AE Poznań, 2008.
Tyszer J., Symulacja cyfrowa, WNT Warszawa, 1990.
Bibliografia uzupełniająca – cd.
Systemy modelowania i symulacji –
oprogramowanie, tutorial:






Produkt Demo: Vensim PLE - Ventana Systems, Inc.:
http://www.vensim.com
Produkt Demo: IThink - High Performance Systems:
http://www.iseesystems.com
Produkt Demo: GPSS World - Minuteman Software:
http://www.minutemansoftware.com
Produkt Demo: ExtendSim - Imagine That!:
http://www.imaginethatinc.com
Produkt Edu: ARENA – Rockwell Software Inc. (Systems Modeling
Corp.): http://www.software.rockwell.com
http://www.arenasimulation.com
Produkt Demo: iGrafx Process for Six Sigma 2015- MGX-Corel Corp.:
http://www.igrafx.com
Bibliografia – poziom zaawansowany
Czasopisma:

Logistyka

System Dynamics Review
Simulation
Simulation & Gaming
Simulation Modelling. Practice and Theory



CEL PRZEDMIOTU
Celem kursu jest dostarczenie
podstawowych wiadomości o symulacji
jako metodzie badania i analizy systemów
dynamicznych, przygotowanie do
korzystania z języków i systemów
narzędziowych modelowania i symulacji
komputerowej w modelowaniu
logistycznym oraz do współpracy z
symulogami.
TEMATY ZAJĘĆ WYKŁADOWYCH
1.
2.
3.
4.
5.
6.
7.
Wprowadzenie do modelowania symulacyjnego. Przykłady modeli i
badań.
Zagadnienia ogólne. Etymologia, źródła historyczno-filozoficzne.
Zagadnienia metodologiczne. Definicje, struktury, budowa modeli,
weryfikacja, eksperyment symulacyjny, wnioskowanie.
Metody i techniki modelowania symulacyjnego: symulacja ciągła
(metoda J.W.Forrestera), symulacja dyskretna (metody planowania
zdarzeń, przeglądu i wyboru działań, interakcji procesów),
symulacja za pomocą gier, symulacja rozproszona, technologia
agentowa w symulacji.
Zastosowania badań symulacyjnych w logistyce i w zarządzaniu
logistycznym.
Problemy przekazywania wyników symulacji. Dokumentowanie
projektów symulacyjnych i standaryzacja. Profesjonalizm i etyka w
symulacji.
Podsumowanie i zaliczenie wykładu
FORMA ZALICZENIA
LABORATORIUM
Obecność (15%), Pytania kontrolne (15%),
Aktywność (30%), Sprawozdania (40%)
Termin zaliczenia:
Ostatnie zajęcia w semestrze
OCENY
 Celujący
 Bardzo
dobry
 Ponad dobry
 Dobry
 Ponad dostateczny
 Dostateczny
 Niedostateczny
5.5
5.0
4.5
4.0
3.5
3.0
2.0
(≥ 95%),
(≥ 85%),
(≥ 75%),
(≥ 65%),
(≥ 55%),
(≥ 45%),
(< 45%).
TEMATY ZAJĘĆ
LABORATORYJNYCH








Wprowadzenie. Pojęcie systemu i modelu systemu. Konceptualizacja modelu
systemu dynamicznego. Myślenie systemowe. (1 godzina).
"Dynamika systemów" - metoda J.W.Forrestera symulacji ciągłej w SCM.
Zastosowanie systemów zintegrowanych modelowania i symulacji
Vensim/IThink. Przykłady modelowania i symulacji. (3 godziny).
Projekt i budowa modelu symulacyjnego systemu dynamicznego SCM o
charakterystyce ciągłej. Eksperyment i wnioskowanie z badań. (1 godzina).
Interakcja procesów - metoda symulacji dyskretnej w logistyce. Zastosowanie
języka GPSS World, systemów Arena, ExtendSim. (4 godziny).
Projekt i budowa modelu symulacyjnego systemu dynamicznego w logistyce o
charakterystyce dyskretnej. Eksperyment i wnioskowanie z badań. (1 godzina).
Metoda Monte Carlo – próbkowanie i symulacja. Zastosowanie arkusza
kalkulacyjnego Excel. (2 godziny).
Modelowanie procesów biznesowych w logistyce – notacja BPMN w logistyce.
Zastosowanie systemu modelowania procesów iGrafx Process for Six Sigma (2
godziny).
Podsumowanie i zaliczenie zajęć. (1 godzina).
Laboratorium 1-3
Podstawy metodologiczne symulacji
Pojęcie systemu i konceptualizacja modelu
systemu
Symulacja ciągła
Metoda Dynamiki Systemów
Co to jest system?
Definiowanie systemu




Idea wyodrębnienia systemu z otoczenia (system jako
pewna wyodrębniona całość)
Idea budowy systemu z elementów, podsystemów
(system jako złożenie wzajemnie oddziałujących
elementów)
Idea funkcji spełnianej przez system (system jest
całością o określonej funkcji)
Idea zmienności (ograniczonej) systemu w czasie
(system jako całość zmienna w czasie ale zachowująca
istotę – właściwości podstawowe)
Jakie czynniki są istotne
w konceptualizacji modelu
systemu?
Czynniki modelowania
 Cel
budowy modelu
 Cel funkcjonowania systemu
 Otoczenie systemu
 Obiekty systemu (agenci systemu)
 Atrybuty obiektów systemu
 Pomiar atrybutów obiektów systemu
 Relacje pomiędzy atrybutami i obiektami
 Metody, techniki, narzędzia modelowania
Jakie zastosować metody
modelowania?
OGÓLNA CHARAKTERYSTYKA METOD
SYMULACYJNYCH
Metoda symulacyjna
Sposób budowy modelu systemu dynamicznego (modelowania) i znajdywania
rozwiązań tego modelu (wartości zmiennych stanu).

Metody symulacji ciągłej
Cecha charakterystyczna: wykorzystanie funkcji ciągłych w opisie formalnym
charakterystyk zmiennych stanu systemu (zmiana stanu systemu jako funkcja ciągła);
wykorzystanie funkcji ciągłych lub quasi-ciągłych w opisie zjawiska upływu czasu.
Przykłady: metoda układu równań różniczkowych, metoda Dynamiki Systemów (SD).

Metody symulacji dyskretnej
Cecha charakterystyczna: wykorzystanie funkcji dyskretnych w opisie formalnym
charakterystyk zmiennych stanu systemu (zmiana stanu systemu jako funkcja
dyskretna); wykorzystanie funkcji dyskretnych w opisie zjawiska upływu czasu.
Przykłady: metoda planowania zdarzeń, metoda przeglądu i wyboru działań, metoda
interakcji procesów.

Metody symulacji mieszanej (hybrydowe)
Cecha charakterystyczna: wykorzystanie funkcji dyskretnych i ciągłych w opisie
formalnym charakterystyk zmiennych stanu systemu (zmiana stanu systemu jako
funkcja dyskretna i ciągła); wykorzystanie funkcji dyskretnych, ciągłych i quasiciągłych w opisie zjawiska upływu czasu.
Przykłady: połączenie metod symulacyjnych, połączenie symulacji i AI, gry
symulacyjne, połączenie symulacji na modelach formalnych i fizycznych.
Symulacja ciągła a dyskretna
 Symulacja


zmiany stanu systemu opisane są
funkcjami ciągłymi,
zazwyczaj systemy o funkcjonowaniu ciągłym.
 Symulacja


ciągła („podejście makroskopowe”)
dyskretna („podejście mikroskopowe”)
zmiany stanu systemu opisane są
funkcjami dyskretnymi,
zazwyczaj systemy o funkcjonowaniu
dyskretnym.
Symulacja ciągła a dyskretna
Aspekty modelowania
Zdarzenie w systemie –
zmiana stanu systemu
Upływ czasu – charakter
obserwacji stanów
systemu
Obiekt modelowania
Orientacja modelowania
Opis systemu:
charakterystyka
wejściowa symulacji
Opis systemu:
charakterystyka
wyjściowa symulacji
Upływ czasu
Regulaminy przepływu
dynamicznych obiektów
Marszruty
Statystyki
Dziedziny zastosowania
metody symulacji –
przypadki użycia
Symulacja ciągła
Matematyczna funkcja ciągła.
Symulacja dyskretna
Matematyczna funkcja dyskretna.
Interwał obserwacji systemu jest zazwyczaj stały – quasi- Interwał obserwacji jest stały lub zależny od zdarzeń (metoda
ciągłość (dt=const); Iteracje symulacyjne są sekwencją obliczeń następstwa zdarzeń); Iteracje symulacyjne zależą od warunków
zależną od czasu systemu.
logicznych lub czynności zdarzeń.
Jednostkowo nie-identyfikowalny i jednorodny (homogeniczny)
przepływ (strumień) materii, energii, informacji; Reguły
decyzyjne sterowania przepływem.
Dynamika systemu; Relacje przyczynowo-skutkowe; Relacja
struktura-zachowanie; Analiza pętli sprzężeń zwrotnych;
Identyfikacja struktur rodzajowych.
Reguły decyzyjne dla sterowania (zarządzania) przepływem
strumieni;
Charakterystyka
struktury
systemu
(relacje
przyczyna-skutek,
opóźnienia
przepływu,
wzmocnienia,
ograniczenia pojemnościowe).
Własności dynamiczne (przebiegi przejściowe, stacjonarność,
niestacjonarność,
stabilność,
niestabilność,
równowaga,
dominacja pętli sprzężeń zwrotnych, stan systemu).
Identyfikowalny pojedynczy obiekt dynamiczny przemieszczający się w sieci czynności; Struktura obiektów statycznych do
wykonania czynności z zasobami.
Produktywność, wydajność, sprawność i efektywność systemu;
Wykorzystanie zasobów systemu; Czas wykonania procesów;
Identyfikacja „wąskich gardeł”.
Charakterystyka atrybutów obiektów dynamicznych (reguły
decyzyjne, reguły łączenia i rozdziału, marszruta, czasy kreacji i
opóźnienia przepływu); Opis obiektów statycznych (pojemności,
dostępności).
Zagregowane własności statystyczne systemu i obiektów (stan
systemu, wykorzystanie zasobów, sprawność, wydajność,
efektywność, dostępność).
Czas pomiędzy dwoma kolejnymi obserwacjami systemu jest
zazwyczaj stały (dt=const); Iteracje symulacyjne są sekwencją
obliczeń zależną od czasu systemu.
Regulamin FIFO.
Czas pomiędzy dwoma kolejnymi obserwacjami jest stały
(metoda krokowa) lub zależny od zdarzeń Iteracje symulacyjne
są przetwarzaniem warunków logicznych lub czynności zdarzeń
Obiekty statyczne i dynamiczne z regulaminami: FIFO, LIFO,
SPT, priorytetowym, losowym.
Przepływy muszą mieć jednoznaczną definicję marszruty Obiekty dynamiczne kierowane do pierwszego z możliwych
(rozdzielenie strumienia i przepływy do wielu miejsc w tym miejsc (obiekty mogą być w danym czasie tylko w jednym
samym czasie).
miejscu); Klony (kopie) obiektów są odrębnymi obiektami (te
same atrybuty).
Ogólne charakterystyki (rzadziej statystyki) systemu: ilość, Ogólne charakterystyki systemu; Ponadto statystyki obiektów:
sprawność, czas przejścia.
liczniki, wykorzystanie, czas.
Badania naukowe, praktyka gospodarcza: myślenie systemowe, Praktyka gospodarcza, badania naukowe: usługi, wytwarzanie,
inżynieria systemów, zarządzanie, ekonomia, ekologia, produkcja, BPM, BPR, sieci, inżynieria systemów, zarządzanie,
produkcja, logistyka, BPM, BPR, finanse.
finanse.
Jakie są etapy (fazy)
modelowania?
ETAPY BUDOWY I WYKORZYSTANIA
MODELU SYMULACYJNEGO
Podmioty: odbiorca wyników symulacji, symulog
Określenie systemu, sytuacji problemowej i celu budowy
modelu
2. Budowa modelu (konceptualizacja, formalizacja)
3. Przygotowanie danych wejściowych symulacji
4. Programowanie modelu (operacjonalizacja modelu)
5. Ocena zasadności i weryfikacja modelu (eksperyment
wstępny)
6. Planowanie eksperymentu symulacyjnego
7. Realizacja eksperymentu symulacyjnego (eksperyment
właściwy)
8. Analiza i interpretacja wyników symulacji
9. Dokumentowanie symulacji
10. Praktyczne wykorzystanie wyników symulacji
1.
Praktyka modelowania
symulacyjnego





Typ 1: modelowanie symulacyjne jako projekt
budowy symulatora (inżynieria oprogramowania)
Typ 2: modelowanie symulacyjne jako projekt
budowy i rozgrywki gry symulacyjnej (gra)
Typ 3: modelowanie symulacyjne jako projekt
(proces) zmian organizacyjnych (interwencja)
Typ 4: modelowanie symulacyjne jako projekt
grupowego budowania modeli (dyskusja)
Typ 5: modelowanie symulacyjne jako
podprojekt modelowania procesów (moduł BPM)
Przykład modelowania
symulacyjnego systemu ciągłego

System logistyczny „zaopatrzenie-produkcja-dystrybucja”
Zbuduj model symulacyjny opisujący dynamikę zmian w systemie
„produkcja-dystrybucja” z odwzorowaniem popytu i podaży dóbr trwałego
użytku. System składa się sektorów: klienci, detaliści, dystrybutorzy,
hurtownicy, producenci, fabryki. Zamówienia złożone przez klientów
wpływają na funkcjonowanie pozostałych sektorów. Klienci zakupują towary
u detalisty, który dostarcza towary klientom, jeśli dysponuje odpowiednim
zapasem. Detalista składa zamówienia u dystrybutora, który dostarcza
towar detaliście a sam składa zamówienia u hurtownika, który z kolei
zaopatruje się u producenta. Producent może dostarczać towar dzięki
dostawom z fabryk, które je produkują. Czas dostawy pomiędzy dwoma
sąsiadującymi sektorami jest stały i wynosi 1 dzień. Z kolei czas
przygotowania i przepływu zamówień traktowany jest jako pomijalnie mały
(tryb natychmiastowy). W przypadku, gdy zapasy w danym sektorze nie
pozwalają na pełną wysyłkę towaru, wysyła się tyle ile jest możliwe.
Zamówienia zaległe realizowane są w przyszłości. Wykonaj schemat
przyczynowo-skutkowy, schemat strukturalny oraz podaj równania modelu.
Określ na podstawie analizy struktury typ zachowania się odwzorowanego
systemu.
TDP
TDHu
Producent
DosFaPr
TDDy
Hurtownik
Dy stry butor
DostHuDy
DosPrHu
TDDe
Detalista
Sprzedaz
DostDy De
Popy tKlienta
NPr
ZamKlienta
DK
ZamDet
DDe
ZamDy st
ZamHur
DDy
ZDe
ZDy
NDe
DH
TDK
ZH
Ndy
NHu
Graph 1
PK
Detalista(t) = Detalista(t - dt) + (DostDyDe - Sprzedaz) * dt
INIT Detalista = 4
DostDyDe = ZamDet/TDDe
Sprzedaz = ZamKlienta/TDK
Dystrybutor(t) = Dystrybutor(t - dt) + (DostHuDy - DostDyDe) * dt
INIT Dystrybutor = 4
DostHuDy = ZamDyst/TDDy
DostDyDe = ZamDet/TDDe
Hurtownik(t) = Hurtownik(t - dt) + (DosPrHu - DostHuDy) * dt
INIT Hurtownik = 4
DosPrHu = ZamHur/TDHu
DostHuDy = ZamDyst/TDDy
Producent(t) = Producent(t - dt) + (DosFaPr - DosPrHu) * dt
INIT Producent = 4
DosFaPr = DosPrHu+(NPr-Producent)/TDP
DosPrHu = ZamHur/TDHu
ZamDet(t) = ZamDet(t - dt) + (ZDe - DDe) * dt
INIT ZamDet = 4
ZDe = DK+(NDe-Detalista)/DT
DDe = DostDyDe
ZamDyst(t) = ZamDyst(t - dt) + (ZDy - DDy) * dt
INIT ZamDyst = 4
ZDy = DDe+(Ndy-Dystrybutor)/DT
DDy = DostHuDy
ZamHur(t) = ZamHur(t - dt) + (ZH - DH) * dt
INIT ZamHur = 4
ZH = DDy+(NHu-Hurtownik)/DT
DH = DosPrHu
ZamKlienta(t) = ZamKlienta(t - dt) + (PK - DK) * dt
INIT ZamKlienta = 4
PK = PopytKlienta
OUTFLOWS:
DK = Sprzedaz
NDe = 4
Ndy = 4
NHu = 4
NPr = 4
PopytKlienta = 4+STEP(8,10)
TDDe = 1
TDDy = 1
TDHu = 1
TDK = 1
TDP = 1
Stany zasobów systemu
1: Detalista
1:
2:
3:
4:
5:
2: Dy stry butor
20
30
50
5
12
3: Hurtownik
5
4: Producent
5
5: Popy tKlienta
5
5
3
1:
2:
3:
4:
5:
10
15
25
4
8
4
4
4
1
3
1
1:
2:
3:
4:
5:
0
0
0
3
4
1
2
2
2
2
3
1.00
Page 1
4
25.75
50.50
Months
Untitled
1
3
75.25
08:29
100.00
21 gru 2004
Przepływy w systemie
1: DosFaPr
1:
2:
3:
4:
5:
2: DosPrHu
20
3: DostDy De
5
30
40
12
4: DostHuDy
5
1
5: Popy tKlienta
5
2
2
5
1
3
1:
2:
3:
4:
5:
10
15
20
8
3
3
4
1:
2:
3:
4:
5:
1
1
2
3
4
0
0
0
4
4
2
1.00
Page 1
4
25.75
50.50
Months
Untitled
75.25
08:56
100.00
21 gru 2004
Przykład modelowania symulacyjnego
systemu dyskretnego

SYMULACJA FUNKCJONOWANIA BANKU
***************************************************************************
*
Symulacja Banku
*
*
Jednostka czasu: godzina
*
***************************************************************************
Czas EQU
0.1112
;Średni czas obsługi (komentarz od znaku ;)
Kod
VARIABLE C1+10
;Kod czasu dla Urzednik2.
Func1 FUNCTION RN1,D2
;Definicja skumulowanej funkcji gęstości prawdopodobieństwa
.7,Urzednik1/1,Urzednik2
;wyboru urzędnika. Klienci wybierają Urzednika1 z
;prawdopodobieństwem 0.7, Urzędnika2 z prawdopodo;bieństwem 0.3.
GENERATE 0.0834,0.0278
;Kreowanie (generowanie) kolejnego klienta w banku.
ASSIGN
Urzednik_nr,FN$Func1
Przypisanie numeru urzędnika do parametru transakcji.
QUEUE
P$Urzednik_nr;
;Początek dla statystyki kolejkowej.
SEIZE
P$Urzednik_nr
;Zajęcie urzędnika.
DEPART
P$Urzednik_nr
;Koniec dla statystyki kolejkowej.
ADVANCE CzasObslugi,0.0028
;Wykonanie obsługi klienta.
RELEASE P$Urzednik_nr
;Zwolnienie urzędnika.
TERMINATE
;Klient opuszcza bank.
***************************************************************************
* Segment 2
*
* Zegar i zbieranie statystyk
*
***************************************************************************
GENERATE
;Pomiar statystyk co 1 godzinę pracy banku.
SAVEVALUEC1,Q$Urzednik1
;Pomiar długości kolejki przed Urzednik1.
SAVEVALUEV$KodCzasu,Q$Urzednik2;Pomiar długości kolejki przed Urzednik2
TERMINATE 1
;Koniec kolejnej godziny pracy banku
START
8
;Symulacja 8 godzinnego dnia pracy banku
Wyniki symulacji

Raport symulacji
GPSS World Simulation Report - Sample6-Bank.1.1
Friday, January 02, 2004 11:17:34
START TIME
0.000
NAME
CZASOBSLUGI
FUNC1
KODCZASU
URZEDNIK1
URZEDNIK2
URZEDNIK_NR
END TIME BLOCKS FACILITIES STORAGES
8.000
12
2
0
VALUE
0.111
10002.000
10001.000
10004.000
10005.000
10003.000
FACILITY
10004
10005
ENTRIES UTIL.
70
0.968
25
0.346
QUEUE
10004
10005
MAX
8
1
CONT.
2
0
AVE. TIME
0.111
0.111
ENTRY
72
25
AVAIL.
1
1
ENTRY(0)
3
18
OWNER PEND INTER
102
0
0
0
0
0
RETRY
0
0
AVE.CONT. AVE.TIME AVE.(-0)
3.924
0.436
0.455
0.042
0.013
0.048
DELAY
2
0
RETRY
0
0
ODWZOROWANIE UPŁYWU CZASU W
MODELACH SYMULACYJNYCH

Symulacja ciągła - metoda stałego kroku
E1
E2
DT
DT
T1

E3
T2
DT
T3
E4=E5
E6
DT
T4
Czas
DT
T5
T6
Symulacja dyskretna - metoda kolejnych zdarzeń
E1
E2
E3
E4=E5
E6
Czas
T1
T2
T3
T4=T5
T6
Oznaczenia:
E1, E2, ...
T1, T2, ...
DT
-
zdarzenie nr 1, zdarzenie nr 2, ...
czas bieżący symulacji w chwili nr 1, chwili nr 2, ...
krok symulacji (wielkość przesunięcia bieżącego)
Różnice:

Metoda krokowa (stałego kroku w symulacji ciągłej):




w symulacji uwzględnia się brak aktywności systemu (obliczenia
bez zdarzeń),
przetwarzanie zdarzeń traktowanych jako równoczesne na
końcu odcinka DT,
istnieje DT (problem doboru wartości);
Metoda kolejnych zdarzeń (w symulacji dyskretnej):



w symulacji nie uwzględnia się braku aktywności systemu (tylko
dla zdarzeń),
brak przetwarzania zdarzeń jako równoczesnych (wyjątek: Ei =
Ej),
brak DT.
ZAŁOŻENIA METODY SD






CIĄGŁOŚĆ
Przedmiotem opisu (quasi ciągłego) są procesy systemów ciągłych
(interpretowanych jako ciągłe).
DYNAMIKA ZMIAN
Orientacja na dynamikę (nie kinetykę) zmian w funkcjonowaniu systemów.
Źródłem dynamiki jest struktura regulacyjna systemów (sprzężenia,
opóźnienia, wzmocnienia) w dualnym układzie "sfera realna - sfera
regulacyjna".
PRZYCZYNOWOŚĆ
Opis systemu poprzez zależności przyczynowo-skutkowe (kauzalizm).
OKRESOWOŚĆ
Działania regulacyjne w systemach mają charakter okresowy (co krok DT).
PRAGMATYZM
Orientacja na utylitarne (np. decyzyjne) wykorzystanie rezultatów symulacji
przez człowieka.
WERYFIKOWALNOŚĆ
Postulat możliwości potwierdzenia "dobroci" budowanych modeli
(stwierdzenia zasadności i prawdziwości modeli).
PARADYGMATY METODY SD
Zbiór koncepcji dotyczących natury rzeczywistości






IZOMORFIZM STRUKTUR I ZACHOWAŃ
Systemy o podobnych strukturach mają podobne zachowania. Ale także:
systemy o różnych strukturach mogą mieć podobne zachowania.
MIKROSTRUKTURA OKREŚLA MAKROZACHOWANIE
Zachowanie się systemu ma charakter endogeniczny i wynika z jego
struktury. Np. sprzężenia zwrotne dodatnie destabilizują system a
sprzężenia zwrotne ujemne najczęściej stabilizują system.
ANTYINTUICYJNOŚĆ
Złożoność systemu powoduje trudności przewidywania sposobów jego
zachowania się - istnieją częste przypadki błędnego prognozowania
zachowań systemów (archetypy).
NIELINIOWOŚĆ ZACHOWANIA SYSTEMÓW
Zachowanie się systemu ma charakter nieliniowy (efekt sprzężeń
zwrotnych, opóźnień i wzmocnień).
OGRANICZONA RACJONALNOŚĆ
Decyzje podejmowane są w warunkach tzw. ograniczonej racjonalności.
BRAK METAREGUŁ MODELOWANIA
W procesie budowy modelu wykorzystuje się intuicje, wiedzę i
doświadczenie ekspertów, teorie dyscyplin szczegółowych, dane
obserwacyjne i empiryczne.
PODSTAWOWE ELEMENTY
METODY SD
 Związki
przyczynowo - skutkowe i pętle
sprzężeń zwrotnych
 Opóźnienia
 Zasoby i strumienie przepływu
Związki przyczynowo - skutkowe i
pętle sprzężeń zwrotnych


Pętla przyczynowa sprzężenia zwrotnego (ang. feed
back) reprezentuje własność elementu systemu
polegającą na tym, że element ten wpływa na samego
siebie poprzez następstwo łańcucha związków
przyczynowych. Podobnie jak w przypadku związków
przyczynowych można mówić o pętlach dodatnich,
ujemnych, neutralnych oraz o pętlach mieszanych, jako
kombinacji pętli elementarnych.
Typy sprzężeń zwrotnych:




Dodatnie sprzężenie zwrotne
Ujemne sprzężenie zwrotne
Neutralne sprzężenie zwrotne
Ukłądy mieszane sprzężeń zwrotnych
Dodatnie sprzężenie zwrotne


Dodatnia pętla przyczynowa sprzężenia zwrotnego w
odniesieniu do pewnego elementu systemu oznacza, że
zmiana charakterystyki tego elementu wywołuje po
pewnym czasie nową zmianę tej charakterystyki w tym
samym kierunku zmiany.
Przykłady:


Model inflacji - jako efekt dodatnich związków przyczynowych
pomiędzy kosztem wytworzenia, ceną zakupu, "naciskiem" na
płace.
Model ewolucji maltuzjańskiej populacji - jako rezultat dodatnich
związków przyczynowych pomiędzy wielkością populacji a
wzrostem urodzeń osobników populacji.
Przykłady dodatnich sprzężeń zwrotnych


Model inflacji
Model rozwoju populacji
a)
b)
Koszt
wytworzenia
+ towaru
Płaca
wytwórcy
towaru
+
+
+
Cena
towaru
+
Populacja
+
Urodzenia
Presja
na płace
+
+
Ujemne sprzężenie zwrotne
Ujemna pętla sprzężenia zwrotnego powstaje
wtedy, gdy zmiany charakterystyki elementu
systemu równoważone są przez działanie
przeciwdziałające zmianie wywołując "efekt
przeciwny" zmiany.
 Przykłady:



Regulacja temperatury przez termostat,
Regulacja poziomu wody w zbiorniku.
Przykłady ujemnych sprzężeń zwrotnych

Ujemna pętla sprzężenia zwrotnego w modelu regulacji
temperatury przez termostat.
+
Zmiana
temperatury
+
+
Temperatura
lokalna
Temperatura
pożądana
+
_
-
+
Współczynnik
skuteczności
cieplnej
urządzenia
+
Ilość
dostarczanego
ciepła przez
urządzenie
+
Różnica
temperatur
Współczynnik
proporcjonalności
+
Neutralne sprzężenie zwrotne


Istnieją również pętle sprzężenia zwrotnego określane
jako neutralne, które nie są pętlami ani dodatnimi ani
ujemnymi. Neutralne pętle sprzężenia zwrotnego
charakteryzują się alternatywnym funkcjonowaniem w
kierunkach zmian w systemie.
Przykłady:


Cykl decyzyjny zawierający informacje prowadzącą od
określonej decyzji do podjęcia działania na podstawie tej decyzji.
Informacja o skutkach działania może być podstawą decyzji o
wstrzymaniu lub ponownym podjęciu działania w systemie.
Relacja pomiędzy elementami modelu systemu nauczania w
szkole: motywacją ucznia do nauki, dokonanych postępach w
nauce, wynikami nauczania, presją nauczyciela.
Przykłady neutralnych sprzężeń
zwrotnych


Cykl decyzyjny
Nauczanie
a)
b)
Informacja
Postępy
ucznia
+
Rezultat
działania
?
Działanie
Decyzja
Motywacja
ucznia
?
+
?
Presja
nauczyciela
-
Wyniki
nauczania
Układy mieszane sprzężeń
zwrotnych


W złożonych systemach, przedstawione powyżej pętle
elementarne (dodatnia, ujemna, neutralna) sprzężenia
zwrotnego często występują obok siebie tworząc układy
mieszane (kombinacje) tych pętli.
Przykład:

Model rozwoju populacji uwzględniający procesy narodzin
nowych członków populacji oraz zgonów w populacji.
Stopa
urodzeń
Stopa
zgonów
+
Urodzenia
+
+
+
_
Populacja
_
Zgony
+
+
+
Opóźnienia



Zmiany stanów elementów systemu połączonych związkiem
przyczynowym mogą zachodzić równocześnie, co jest zazwyczaj
zjawiskiem bardzo rzadkim, lub z pewnym przesunięciem w czasie.
W przypadku przesunięcia w czasie mówimy o opóźnieniu reakcji
elementu zależnego od zmiany stanu elementu wywołującego
bodziec. Charakter występujących opóźnień w systemach może być
różny.
Na ogół można wyróżnić dwa typy opóźnień: jednorazowe (tzw.
opóźnienie skupione) - kiedy skumulowana reakcja pewnego
elementu systemu jest przesunięta w czasie względem bodźca ze
strony innego elementu systemu, oraz rozłożone w czasie - kiedy
reakcja pewnego elementu systemu jest rozłożona w czasie.
Opóźnienie skupione charakteryzuje się tym, że zmiana wielkości
wyjściowej yt jest taka sama jak zmiana wielkości wejściowej ut, ale
następuje z przesunięciem w czasie o okres T, tzn. T: yt = ut-T. W
przypadku opóźnienia rozłożonego w czasie, zmiana wielkości
wyjściowej yt jest funkcją zmiany wielkości wejściowej oraz tzw.
funkcji wagowej z opóźnienia t:
Zasoby i strumienie przepływu
Pojęcie zasobu oznacza wielkość, której wymiar nie odnosi się do czasu, i
która oznacza stan ilościowy określonego medium w danym momencie.
Jeżeli przedmiotem rozważań są zmiany tej wielkości w czasie, to stosuje
się również pojęcie strumienia, który wyraża przepływ określonej ilości
medium w rozpatrywanym przedziale czasu.
 Zasób wiąże się na ogół z występowaniem strumieni wejściowych i
wyjściowych. Pierwszy opisuje dopływ medium do zasobu, natomiast drugi
opisuje odpływ medium od zasobu.
 Zasoby w systemach pełnią często rolę akumulacyjną, stąd określa się je
także jako zasoby akumulacyjne. Mogą one także pełnić rolę źródła
określonego medium lub także ujścia dla medium.
 Jeżeli przez xt oznaczymy zasób medium w chwili t, przez vt strumień
wejściowy do zasobu w okresie dt, przez wt strumień wyjściowy zasobu w
okresie dt, to zasób medium w momencie t+dt możemy wyrazić jako: xt+dt =
xt + dt (vt - wt). Jeżeli dt jest dostatecznie małe (bliskie 0), to podstawowe
równanie kinetyczne zasobów i strumieni możemy przedstawić jako: xt = vt wt, gdzie xt jest wartością funkcji pochodnej w chwili t. Rozwiązanie
ostatniego równania prowadzi do funkcji xt:


x t = (v - w)  dt  C
Podstawowe struktury i obliczenia
modeli SD

Relacje pomiędzy wielkościami systemu
odwzorowane schematycznie i jakościowo w
modelu graficznym są konkretyzowane w
modelu matematycznym przedstawionym za
pomocą układu równań. Wyróżnia się trzy
rodzaje równań:



równania poziomów,
równania strumieni,
równania zmiennych pomocniczych.
Równania modeli SD

Równania poziomów w modelach SD mają postać:
POZIOM.K = POZIOM.J + DT (STRWE.JK - STRWY.JK),
gdzie DT jest przyjętym okresem obliczeń symulacyjnych, POZIOM.K jest
zmienną stanu opisującą dany zasób w chwili K-tej, STRWE.JK jest
zmienną stanu opisującą strumień wejściowy do zasobu POZIOM w okresie
od chwili J-tej do chwili K-tej, STRWY.JK jest zmienną stanu opisującą
strumień wyjściowy zasobu POZIOM w okresie od chwili J-tej do chwili Ktej.

Równania strumieni mają postać:
STRUMIEŃ.KL = f (Poziomy.K, Zmienne_Pomocnicze.K,
Strumienie.JK, Strumienie.KL,Stałe),
gdzie STRUMIEN.KL jest wielkością strumienia w okresie od chwili K-tej do
chwili L-tej, f jest pewną funkcją wielkości poziomów systemu w chwili K-tej,
zmiennych pomocniczych w chwili K-tej, strumieni w okresie JK (czasem
także KL) i stałych modelu.

Równania wielkości pomocniczych w modelach SD mają postać:
ZMIENNA_POMOCNICZA.K = h (Poziomy.K, Strumienie.JK, Stałe),
gdzie h jest pewną funkcją wiążącą określone poziomy systemu ze stałymi
modelu.
Przykłady zapisu równań modeli SD
 Notacja


ZAPAS.K = ZAPAS.J + DT * (DOSTAWA.JK – WYSYŁKA.JK)
WYSYŁKA.JK = ZAPAS.K / CZAS_WYSYŁKI
 Notacja



IThink
ZAPAS(t) = ZAPAS(t-dt) + dt * (DOSTAWA – WYSYŁKA)
WYSYŁKA = ZAPAS / CZAS_WYSYŁKI
 Notacja

klasyczna (język DYNAMO)
Vensim
ZAPAS = INTEG (DOSTAWA – WYSYŁKA, 100)
WYSYŁKA = ZAPAS / CZAS_WYSYŁKI
Sekwencja obliczeń symulacyjnych
modeli SD




1
Sekwencja obliczeń w modelu
matematycznym SD przebiega według
schematu, w którym czas zmienia się od
chwili J (przeszłość), poprzez chwilę K
(teraźniejszość) do chwili L (przyszłość).
Chwile te są odległe od siebie o
wielokrotność kroku DT (tj. DT, 2DT).
Znając stan systemu w chwili J można
wyznaczyć stan systemu w chwili K
wykorzystując znajomość zmiennych stanu w
chwili J, strumieni w okresie JK.
Znając z kolei wartości zmiennych stanu w
chwili K można wyznaczyć wartości
Legenda:
zmiennych pomocniczych w chwili K,
Poziom
strumieni w okresie KL.
Stan systemu w chwili L można z kolei
wyznaczyć w oparciu o stan systemu w chwili
K oraz strumieni w okresie KL. Należy
zwrócić uwagę jednak, że występowanie
zmiennych pomocniczych nie jest zawsze
konieczne. Wartości strumieni mogą wtedy
być wyznaczone w oparciu o zmienne stanu
systemu i stałe modelu.
2'
4
3'
5''
2''
3''
6''
5'
6'
J
K
DT
L
Czas
DT
Zmienna pomocnicza
Strumień
Notacja graficzna metody SD

Opis struktury systemu w modelu SD:



Schemat graficzny




Schemat graficzny struktury
Równania modelu
Schemat przyczynowo-skutkowy (diagram wpływów)
Schemat strukturalny
Schemat graficzny struktury (schemat strukturalny)
Do przedstawienia modelu w formie graficznej używa się następujących elementów i
symboli graficznych:







Prostokąt, reprezentujący poziom (zasób) medium w systemie i stowarzyszonego z
określoną zmienną stanu modelu matematycznego
Linia ciągła, zakończona grotem strzałki, symbolizująca przepływ materialny lub
energetyczny
Linia przerywana, zakończona grotem strzałki, symbolizująca przepływ informacyjny
Znak regulatora przepływu nazywany strumieniem (dwa trójkąty równoramienne złączone
wierzchołkiem i uzupełnione prostokątem), określający stanowisko regulacji przepływu
medium na podstawie pewnej funkcji regulacyjnej, zapisanej formalnie w modelu
matematycznym
Okrąg, reprezentujący wielkość pomocniczą, która jest definiowana w procesie
przetwarzania informacji wykorzystywanej do regulacji strumieni
Okrąg przekreślony odcinkiem, symbolizujący wielkości stałe w systemie (parametry)
Nieregularny owal (‘chmurka’) reprezentujący źródło zewnętrzne wypływu medium lub
ujście zewnętrzne przepływającego medium.
Notacja graficzna metody SD –
schemat strukturalny
Poziom, zasób
(PO - symbol zmiennej)
PO
Przepływ (strumień) materii lub energii
Przepływ (strumień) zamówień (zleceń)
Przepływ (strumień) informacji
Regulacja strumienia
(STR - symbol zmiennej)
STR
Wielkość pomocnicza
(WPO - symbol zmiennej)
WPO
Zmienna egzogeniczna
(Z - symbol zmiennej)
Z
C
PO
Dn
SW
Y
CT
Stała modelu
(C - symbol stałej)
Opóźniacz wykładniczy n-tego rzędu
(PO - symbol poziomu opóźniacza,
SWY - symbol strumienia wyjściowego,
CT - symbol czasu opóźniacza,
Dn - symbol opóźniacza n-tego rzędu)
Żródło
Ujście
Proces modelowania SD
Etap
Rezultat
Definicja problemu
2
Opis systemu
(DPS)
3
Zrozumienie
oraz hipotezy
5A
4
5B
Model symulacyjny
Weryfikacja, hipotezy
Projektowanie strategii
(np. optymalizacja)
Dopasowanie strategii
(ang. robust policies)
Metody tworzenia DPS
Istotnym elementem procesu konceptualizacji
modelu SD jest odpowiednio skonstruowany
DPS. Istnieją trzy podstawowe metody
tworzenia DPS:
 metoda wg rozszerzającej się listy
odwzorowanych wielkości (ang. List Extention
Method),
 metoda wg logiki przejścia obiektów ze stanu
do stanu (ang. Entity/State Transition Method),
 metoda wg wspólnych (powtarzalnych)
modułów (ang. Common Modules Method).
Postępowanie badawcze modelowania za
pomocą metody SD
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sformułowanie problemu badawczego.
Ustalenie czynników analizowanego zjawiska (etap konceptualizacji
modelu).
Wyodrębnienie związków przyczynowych i pętli sprzężeń zwrotnych
wiążących działania regulacyjne z decyzjami, informacjami i tworzących
mechanizm przyczynowo-skutkowy modelowanego systemu (schemat
przyczynowo-skutkowy, schemat strukturalny).
Identyfikacja i ustalenie opisu formalnego reguł decyzyjnych (równania).
Skonstruowanie matematycznego modelu systemu (układ równań SD).
Wykonanie eksperymentów symulacyjnych na modelu.
Porównanie wyników symulacyjnych z dostępnymi informacjami o
badanym systemie jego funkcjonowaniu.
Wprowadzenie do modelu zmian mających na celu uzyskanie
akceptowanej zgodności modelu z zachowaniem się oryginału.
Projektowanie zmian lub ingerencji w modelowanym systemie,
poprawiających charakterystyki dynamiczne systemu.
Wdrożenie w systemie rzeczywistym zaprojektowanych zmian lub
ingerencji.
Etapy budowy modelu symulacyjnego
w systemie Vensim PLE

Konceptualizacja modelu




Formalizacja modelu



Ustalenie jednostki czasu w modelu
Sporządzenie listy wielkości modelu (symbol, opis, jednostka miary)
Wykonanie diagramu przyczynowo skutkowego (sieć relacji,
polaryzacja)
Wykonanie diagramu strukturalnego (mapy modelu) w konwencji
metody SD (zasoby, strumienie, zmienne pomocnicze, stałe, funkcje)
Ustalenie równań modelu
Eksperyment na modelu


Dobór parametrów (ustawienia) symulacji (czas początkowy, czas
końcowy, krok symulacji, krok zapisu, metoda całkowania)
Dobór trybu eksperymentu (normalny/poglądowy)
Problemy obliczeniowe w metodzie
Dynamiki Systemów

Dobór kroku DT symulacji




Dobór metody całkowania numerycznego



Dokładność całkowania
Szybkość obliczeń
Interpretacja DT jako wielkości modelu
Dokładność obliczeń
Szybkość obliczeń
Dobór postaci równań


Błędy w obliczeniach zmiennoprzecinkowych
Bifurkacje (katastrofy)
Problem doboru DT w modelach SD – przykład
zaburzeń numerycznych
Temperature
ChngTemp
DT = 1
1: Temperature
1:
2:
1:
2:
DesTemp
2: DesTemp
1: Temperature
25
1:
2:
2
1
2
1
DT = 20
T1
2
1
2: DesTemp
25
2
2
1:
2:
13
2
2
2
13
1
1
1
1:
2:
1:
2:
0
0.00
Page 1
50.00
100.00
minutes
Untitled
150.00
200.00
12:57 16 mar 2004
0
0.00
Page 1
50.00
100.00
minutes
Untitled
150.00
200.00
13:03 16 mar 2004
Problemy wyboru metody całkowania numerycznego w modelach
SD (Euler, Runge-Kutta)
Temperature
1: Temperature
1:
2:
2: DesTemp
25
2
ChngTemp
1:
2:
1
2
1
2
1
2
13
1
T1
DesTemp
1:
2:
0
0.00
50.00
100.00
minutes
Page 1
150.00
13:09
200.00
16 mar 2004
Untitled
1: Temperature
1:
2:
2: DesTemp
25
2
1:
2:
1
2
1
2
1
2
13
1
1:
2:
0
0.00
Page 1
50.00
100.00
minutes
Untitled
150.00
13:10
200.00
16 mar 2004
Dobór DT
 Zasada
J.W.Forrester’a (zależność DT
od opóźnień modelu)
 Zasada R.L.Coyle’a (zależność DT od
opóźnień modelu)
 Zasada N.Roberts (zależność DT od
struktury modelu)
 Zasada E.Zwieckera (zależność DT od
przyjętej jednostki czasu w modelu)
Dobór DT
Zasada Forrester’a

Długość kroku czasowego DT w modelu nie powinna być
większa od połowy wartości minimalnego opóźnienia 1.
rzędu użytego w tym modelu, nie powinna jednak być
mniejsza od 1/5 wartości tego opóźnienia. Oznacza to,
że:
 DELi 
 DELi 
min 
 DT  min 
,


i
i
 5  ni 
 2  ni 
gdzie DELi jest i-tym opóźnieniem odwzorowanym w
modelu, ni jest rzędem i-tego opóźnienia
odwzorowanego w modelu.
Dobór DT
Zasada R.L.Coyle’a

Długość kroku czasowego DT w modelu nie powinna być
większa od 1/10 wartości minimalnego opóźnienia 1.
rzędu odwzorowanego w tym modelu. Oznacza to, że:
 DELi 
DT  min 
,

i
10  n i 
gdzie DELi jest i-tym opóźnieniem odwzorowanym w
modelu, ni jest rzędem i-tego opóźnienia
odwzorowanego w modelu.
Dobór DT
Zasada N.Roberts


Długość kroku czasowego DT dobieramy dla każdego modelu SD,
aż zostanie dobrana taka długość, że jej zmniejszenie nie powoduje
dostrzegalnych zmian w wynikach tego modelu.
W modelach z dodatnią pętlą sprzężenia zwrotnego wywołującą
wzrost wykładniczy, długość kroku DT przyjmujemy w granicach od
1/5 do 1/10 "czasu podwojenia" T2 (czasu podwojenia początkowej
wartości poziomu). W modelach z ujemną pętlą sprzężenia
zwrotnego długość kroku DT przyjmujemy w granicach od 1/3 do 1/4
czasu T1/2 zmniejszenia o połowę początkowej wartości poziomu.
Warunki te możemy przedstawić następująco:

dla dodatniej pętli sprzężenia ze wzrostem wykładniczym:
1
1
 T2  DT   T2 ,
10
5

dla ujemnej pętli sprzężenia zwrotnego:
1
1
 T1/2  DT 
 T1/2 .
4
3
Dobór DT
Zasada E.Zwiecker’a


Rozumowanie jest oparte na sposobie interpretowania procesu
decyzyjnego, agregacji wielkości odwzorowanych w modelu oraz
zasadzie włączenia kroku czasowego DT w obręb struktury modelu
(sprzeczność z założeniami metody SD J.W.Forrestera).
Zdaniem E.Zwiecker’a, w modelach typu SD należy przyjmować
długość kroku czasowego DT zawsze równą 1 (DT=1), niezależnie
od występujących w modelu opóźnień i pętli sprzężeń zwrotnych.
DT = 1
Dobór metody całkowania

Podstawy zagadnienia całkowania numerycznego w modelach SD
są następujące. W modelach SD określa się postać funkcji:

y t : y t = x t dt
gdzie funkcja xt podcałkowa jest z kolei funkcją yt oraz czasu t:
x t = f ( y t , t ).

Wartość funkcji yt jest określana iteracyjnie dla kolejnych
przedziałów zmiennej niezależnej t i wyznaczonych przyjętym
krokiem iteracyjnym Dt = DT. Problem całkowania numerycznego w
modelach SD sprowadza się do wyznaczenia wartości funkcji:
n 1Dt
y n +1  y n 

 x dt
t
nDt
Wartość funkcji całkowanej jest wyznaczana jedynie w określonych
punktach czasowych różniących się wielokrotnością t, zatem funkcję
całkowaną yt można wyrazić jako funkcję yn, gdzie t=nDt.
Dobór metody całkowania



W modelowaniu SD wykorzystuje się do całkowania
numerycznego zarówno metody ekstrapolacyjne jak i
nieekstrapolacyjne.
W metodach ekstrapolacyjnych wykorzystuje się więcej
wartości funkcji podcałkowej, tzn. np. xn, xn-1, xn-2, itd,
aby poprzez odpowiednią formułę ekstrapolacyjną
oszacować wartość xn+1.
W metodach nieekstrapolacyjnych do obliczenia wartości
funkcji yn+1 wykorzystuje się tylko wartości funkcji yn i xn.
Jakkolwiek metody ekstrapolacyjne zapewniają większą
dokładność wyników niż metody nieekstrapolacyjne, nie
powinny być one jednak, ze względu na potencjalne
nieciągłości funkcji podcałkowej xt, stosowane w
modelach SD.
Dobór metody całkowania

Najczęściej stosowaną metodą całkowania nieekstrapolacyjnego
jest metoda Eulera (zwana także metodą prostokątów). W metodzie
tej zakłada się, że wartość funkcji podcałkowej jest stała w całym
zakresie przedziału kroku iteracyjnego i jest równa wartości funkcji
podcałkowej na początku tego przedziału. Wartość funkcji
całkowanej na końcu przedziału iteracyjnego wynosi:
yn+1 = yn + xn Dt,
zaś funkcji podcałkowej:
xn+1 = f(yn+1,t).

Metoda prostokątów jest stosowana najczęściej w metodzie SD,
gdzie zgodnie z przyjętą w tej metodzie notacją punkty czasowe n-1,
n, n+1oznacza się odpowiednio J, K, L.
Dobór metody całkowania

Istnieją również metody nieekstrapolacyjne o powtarzalnym kroku
całkowania. W takich metodach pierwsze obliczenie wartości yn+1
wykonuje się stosując metodę pojedynczego kroku. Obliczona
następnie wartość xn+1 jest traktowana jako pierwsze przybliżenie
wartości xn+1 i jest wykorzystywana do powtórnego, dokładniejszego
całkowania. Przykładem nieekstrapolacyjnej metody całkowania z
podwójnym krokiem jest metoda Runge-Kutta, zwana nieraz także
metodą trapezową. Operacja całkowania jest w niej dokonywana w
sposób następujący:
y'n+1 = y n + x n  Dt
x'n+1 = f ( y'n+1 , t n+1 )
1
y n+1 = y n +
 Dt  ( x n + x'n+1 )
2
x n+1 = f ( y n+1 , t n+1 ).

W metodzie trapezowej wartość funkcji podcałkowej jest średnią
arytmetyczną wartości początkowej xn oraz przybliżonej wartości
końcowej.
Dobór metody całkowania

W modelach SD, zgodnie z przyjętą procedurą całkowania
numerycznego za pomocą metody trapezowej, obliczone wartości
zmiennych pomocniczych w chwili K-tej i strumieni na okres KL są
wykorzystane do obliczenia przybliżonej wartości poziomów w chwili
L. Przybliżona wartość poziomów jest wykorzystana z kolei do
wyznaczenia przybliżonych wartości zmiennych pomocniczych i
strumieni, które z kolei pozwalają po zastosowaniu reguły
trapezowej Runge-Kutta na wyznaczenie dokładniejszej wartości
poziomów, zmiennych pomocniczych i strumieni.
Problemy reprezentacji zmiennoprzecinkowej
w symulacji komputerowej dynamiki systemów


Komputerowe obliczenia symulacyjne modeli dynamiki systemów,
jak każde inne iteracyjne procesy obliczeniowe wykonywane na
liczbach rzeczywistych, dokonywane są zazwyczaj w arytmetyce
zmiennoprzecinkowej (ang. floating point). Procesy te, w
odróżnieniu od arytmetyki klasycznej, charakteryzują się
występowaniem błędów reprezentacji zmiennoprzecinkowej.
Ponadto komputerowa reprezentacja liczby zmiennoprzecinkowej
również obciążona jest błędami wynikającymi z ograniczenia
długości słowa maszynowego komputera pomimo stosowania
koprocesorów arytmetycznych. Wielkość błędu reprezentacji danych
i operacji arytmetycznych zależy od długości słowa maszynowego i
długości rejestru arytmometru. Dla współczesnych komputerów błąd
względny reprezentacji zmiennoprzecinkowej w arytmometrze waha
się od 10-15 do 10-6.
Problemy reprezentacji zmiennoprzecinkowej
w symulacji komputerowej dynamiki systemów

Każdą liczbę rzeczywistą można przedstawić w postaci
zmiennoprzecinkowej:
x  z  m  2c ,


gdzie z jest znakiem liczby, m jest liczbą rzeczywistą z przedziału
[1/2, 1], zwaną mantysą, c jest liczbą całkowitą zwaną cechą.
Reprezentacja ta jest jednoznaczna dla x≠0. Nazwa liczb
zmiennoprzecinkowych pochodzi stąd, że położenie przecinka liczby
rzeczywistej ustalane jest przez wartość wykładnika (cechy),
mantysa natomiast ma przecinek na ustalonej pozycji.
Liczba zmiennoprzecinkowa jest reprezentowana w maszynie
cyfrowej (komputerze) z określoną dokładnością. Jeżeli długość
słowa maszynowego wynosi d, to cechę c zapisujemy na d-t bitach
słowa maszynowego w sposób stałopozycyjny, natomiast na
pozostałych t bitach zapisujemy mantysę m.
Błąd reprezentacji zmiennoprzecinkowej wyrazić można jako:
~
x  x  1   , gdzie  ≤2 t .
Problemy reprezentacji zmiennoprzecinkowej
w symulacji komputerowej dynamiki systemów

Do najbardziej "niebezpiecznych" zmiennoprzecinkowych operacji arytmetycznych
należą dodawanie i odejmowanie, które w sytuacji zbliżonych argumentów operacji
mogą powodować znoszenie się cyfr znaczących prowadzących do powstawania
znacznych błędów. Błędy numeryczne mogą powstawać w obliczeniach:






równań zmiennych stanu (poziomów),
równań natężeń strumieni przepływów,
równań zmiennych pomocniczych,
równania upływu czasu.
Stosunkowo najmniejsze wartości błędów powstają w obliczeniach poziomów. Znacznie
poważniejsze zaburzenia i niedokładności mogą jednak powstać w obliczeniach
wykonywanych w równaniach natężeń strumieni przepływów i równaniach
zmiennych pomocniczych. Brak meta-reguł tworzących te wielkości oraz indukcyjny
charakter konceptualizacji tych równań modelu powodują, że postać algebraiczna tych
równań może być różna. Analizę dokładności obliczeniowej uzyskiwanej dla tych równań,
podobną do przeprowadzonej dla uogólnionego przypadku równania poziomu, należy
zatem przeprowadzać dla każdego przypadku z osobna, co jest znacznym utrudnieniem
dla modelującego. Znaczne niedokładności wyników obliczeń realizowanych przy
użyciu komputera mogą także powstać w operacji sumowania realizowanej w pętli
obliczeń rekurencyjnych. W symulacji modeli dynamiki systemów sytuacja taka może
powstawać w równaniach zasobów akumulacyjnych lub w równaniu upływu czasu:
CZAS.K = CZAS.J +DT
Powstawaniu błędów można zapobiec stosując algorytmy sumowania z poprawkami,
np. algorytm Gilla-Moellera.
Dobór danych wejściowych
symulacji


Przed rozpoczęciem obliczeń symulacyjnych należy
zdefiniować stan początkowy systemu. Stan początkowy
systemu w chwili t=t0 wyznaczony jest przez określenie
wartości zmiennych stanu w chwili t0. W zależności od
celu i kontekstu badań symulacyjnych istnieją dwa
zasadnicze sposoby definiowania wartości
początkowych dla zmiennych stanu:
wartości początkowe zmiennych stanu odwzorowują
stany systemu rzeczywistego;
wartości początkowe zmiennych stanu odpowiadają
warunkom równowagi dynamicznej modelu.
Modelowanie ograniczeń
pojemnościowych
L1
L1(t) = L1(t - dt) + (R1 - R2) * dt
INIT L1 = 100
R2
R1
F
T1
C1
1: L1
Graph 1
1:
2:
3:
2: R1
300
105
50
3: R2
3
3
1
1:
2:
3:
INFLOWS:
R1 = MIN(F,(C1-L1)/DT)
OUTFLOWS:
R2 = L1/T1
C1 = 250
F = 100+STEP(10,50)
T1 = 5
3
1
3
1
200
75
35
1
1:
2:
3:
100
45
20
2
1.00
Page 1
2
13.25
2
25.50
Weeks
Untitled
2
37.75
12:28
50.00
9 mar 2004
TYPY ZACHOWAŃ SYSTEMÓW
Zachowanie
Zachowanie
Cel
Wzrost wykładniczy
Czas
Poszukiwanie celu
Czas
Zachowanie
Zachowanie
Typ S
Czas
Fluktuacje (oscylacje)
Czas
TYPY ZACHOWAŃ SYSTEMÓW
Struktura systemu
Efekt dźwigni
dla
Typ zachowania
Opóźnienia
Zdarzenia
+
Bank Balance
Gap
-
+
+
Interest Earned
Motivation/
+ Productivity
Morale
+
Income +
Opportunities
Actual
Temperature
Desired
Temperature
Size of Market
Niche
+
Temperature
Setting
Delay
Service
Reputation
Sales -
Saturation of +Market Niche
+
Service Standard
Delay
+
Customer Demand
Gap
Service Quality
-
Stany ustalone w modelach SD
(Równowaga modelu)
 Równowaga
dynamiczna
Wszystkie poziomy (zasoby) są stałe, tzn.
Inflows=Outflows (Dopływy=Odpływy)
 Równowaga
statyczna
Wszystkie poziomy (zasoby) są stałe i
strumienie równe 0, tzn.
Inflows=Outflows=0 (Dopływy=Odpływy=0)
Stany ustalone w modelach SD
(Równowaga modelu - przykład)
WS  PP  PG
a)
ZSP
WS
ZST
Preparations
Input
to preparations
T1
PP
Input
to production
Input
Work in
progress WIP
PG
Final
production
T2
_
OD
ZSP ZST
 PG 

T1
T2
T3
T3
Preparation time
Purchasing time
Production time
OD
Difference
b)
NPT
WIP norm
OD.K = max (NPT - ZST.K, 0) [w]
PG.KL = ZST.K/T3 [w/day]
WS.KL = OD.K/T1 + PG.KL [w/day]
PP.KL = ZSP.K/T2 [w/day]
ZSP.K = ZSP.J + DT * (WS.JK - PP.JK) [w]
ZSTK = ZST.J + DT * (PP.JK - PG.JK) [w]
A = const [day]
B = const [day]
G = const [day]
NPT = const [w]
OD  NPT  ZST  0
ZST  NPT
T2
ZSP  NPT 
T3
OPROGRAMOWANIE MODELOWANIA SD
Ewolucja systemów
Metody optymalizacyjne
Metody numeryczne
DYNAMO
(1960)
DYSMAP
(1970)
COSMIC and COSMOS
(1984)
VENSIM
(1990)
STELLA
ITHINK
(1985)
POWERSIM
(1992)
Modele SD
Zastosowanie pakietu EXCEL
Przykład
ZSP
ZST
PG
PP
WS
T2
T3
T1
OD
NPT
Modele SD
Zastosowanie pakietu EXCEL
Wyniki symulacji
Time
ZSP
ZST
OD
PG
WS
PP
0,00
0,00
0,00
150,00
0,00
30,00
0,00
1,00
30,00
0,00
150,00
0,00
160,00
30,00
15,00
2,00
45,00
15,00
135,00
3,00
30,00
22,50
3,00
52,50
34,50
115,50
6,90
30,00
26,25
30,00
28,13
140,00
4,00
56,25
53,85
96,15
120,00
10,77
5,00
58,13
71,21
78,80
14,24
100,00
30,00
29,06
6,00
59,06
86,03
63,97
17,21
30,00
29,53
7,00
59,53
98,35
51,65
19,67
30,00
29,77
8,00
59,77
108,45
41,55
60,00
21,69
30,00
29,88
9,00
59,88
116,64
33,36
23,33
40,00
30,00
29,94
10,00
59,94
123,25
26,75
24,65
20,00
30,00
29,97
11,00
59,97
128,57
21,43
25,71
30,00
29,99
12,00
59,99
132,84
17,16
13,00
59,99
136,27
13,73
14,00
60,00
139,01
15,00
60,00
16,00
Serie2
Serie3
80,00
0,00
26,57
Serie1
1
3
5
30,00
29,99
7
9 11 13 15 17 19 21
27,25
30,00
30,00
10,99
27,80
30,00
30,00
141,21
8,79
28,24
30,00
30,00
60,00
142,96
7,04
28,59
30,00
30,00
17,00
60,00
144,37
5,63
28,87
30,00
30,00
18,00
60,00
145,50
4,50
29,10
30,00
30,00
19,00
60,00
146,40
3,60
29,28
30,00
30,00
20,00
60,00
147,12
2,88
29,42
30,00
30,00
Serie4
Serie5
Serie6
Serie7