MODELOWANIE SYMULACYJNE Simulation Modelling ang Wykad 15 h

  • Slides: 94
Download presentation
MODELOWANIE SYMULACYJNE Simulation Modelling (ang. ) Wykład (15 h), Laboratorium (15 h)

MODELOWANIE SYMULACYJNE Simulation Modelling (ang. ) Wykład (15 h), Laboratorium (15 h)

Roman Pietroń, dr inż. I-23 PWr. , B 4 p. 423 (B 1 413)

Roman Pietroń, dr inż. I-23 PWr. , B 4 p. 423 (B 1 413) e-mail: roman. pietron@pwr. wroc. pl http: //www. ioz. pwr. wroc. pl/pracownicy/pietron Konsultacje: Poniedziałek Środa 1300 - 1500 1100 - 1300 (Wrocław PWr. , B 4, 423)

Bibliografia podstawowa Gajda J. B. , Prognozowanie i symulacja a decyzje gospodarcze, C. H.

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. Ø Pietroń R. , Modelowanie symulacyjne. Wybrane zagadnienia, E-Materiał 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 Maciąg A. , Pietroń R. , Kukla S. , Prognozowanie i symulacja w przedsiębiorstwie, Wyd. PWE Warszawa 2012 (w druku w wydawnictwie). Ø Zeigler B. P. , Teoria modelowania i symulacji, PWN Warszawa, 1984. Ø

Bibliografia uzupełniająca Ø Ø Ø Ø Ø Fishman G. S. , Symulacja komputerowa. Pojęcia

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: Ø Ø Ø

Bibliografia uzupełniająca – cd. Systemy modelowania i symulacji – oprogramowanie, tutorial: Ø Ø Ø Produkt Demo: : Vensim PLE 5. 1 - Ventana Systems, Inc. : http: //www. vensim. com Produkt Demo: IThink 7. 0 - High Performance Systems: http: //www. iseesystems. com Produkt Demo: GPSS World - Minuteman Software: http: //www. minutemansoftware. com Produkt Demo: Extend. Sim - 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: i. Grafx Process for six Sigma Simulation 2007 - Corel Corp. : http: //www. igrafx. com

Bibliografia uzupełniająca – cd. Czasopisma: Ø System Dynamics Review Ø Simulation & Gaming Ø

Bibliografia uzupełniająca – cd. Czasopisma: Ø System Dynamics Review Ø Simulation & Gaming Ø Simulation Modelling. Practice and Theory

CEL PRZEDMIOTU Celem kursu jest dostarczenie podstawowych wiadomości o symulacji jako metodzie badania i

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 oraz do współpracy z symulogami.

TEMATY ZAJĘĆ WYKŁADOWYCH 1. 2. 3. 4. 5. 6. 7. Wprowadzenie do modelowania symulacyjnego.

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 historycznofilozoficzne. 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 ekonomii i zarządzaniu. 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 (20%), Aktywność (25%), Sprawozdania (40%) Termin zaliczenia:

FORMA ZALICZENIA LABORATORIUM Obecność (15%), Pytania kontrolne (20%), Aktywność (25%), Sprawozdania (40%) Termin zaliczenia: Ostatnie zajęcia w semestrze

OCENY Ø Celujący Ø Bardzo dobry Ø Ponad dobry Ø Dobry Ø Ponad dostateczny

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

TEMATY ZAJĘĆ LABORATORYJNYCH Ø Ø Ø Ø Wprowadzenie. Pojęcie systemu i modelu systemu. Konceptualizacja modelu systemu dynamicznego. Myślenie systemowe. "Dynamika systemów" - metoda J. W. Forrestera symulacji ciągłej. (1 godzina) Zastosowanie systemów zintegrowanych modelowania i symulacji Vensim/IThink. Przykłady modelowania i symulacji. (4 godziny) Projekt i budowa modelu symulacyjnego systemu dynamicznego o charakterystyce ciągłej. Eksperyment i wnioskowanie z badań. (1 godzina) Metoda Monte Carlo – próbkowanie i symulacja. Zastosowanie arkusza kalkulacyjnego Excel. (2 godziny) Interakcja procesów - metoda symulacji dyskretnej. Zastosowanie języka GPSS World, systemów Extend. Sim, Arena. (4 godziny) Projekt i budowa modelu symulacyjnego systemu dynamicznego o charakterystyce dyskretnej. Eksperyment i wnioskowanie z badań. (1 godzina) Podsumowanie i zaliczenie zajęć. (2 godziny)

Laboratorium 1 -3 Podstawy metodologiczne symulacji Pojęcie systemu i konceptualizacja modelu systemu Symulacja ciągła

Laboratorium 1 -3 Podstawy metodologiczne symulacji Pojęcie systemu i konceptualizacja modelu systemu Symulacja ciągła Wprowadzenie do dynamiki systemów

Co to jest system?

Co to jest system?

Jakie czynniki są istotne w konceptualizacji modelu systemu?

Jakie czynniki są istotne w konceptualizacji modelu systemu?

Czynniki modelowania Ø Cel budowy modelu Ø Cel funkcjonowania systemu Ø Otoczenie 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?

Jakie zastosować metody modelowania?

OGÓLNA CHARAKTERYSTYKA METOD SYMULACYJNYCH Metoda symulacyjna Sposób budowy modelu systemu dynamicznego (modelowania) i znajdywania

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.

Jakie są etapy (fazy) modelowania?

Jakie są etapy (fazy) modelowania?

ETAPY BUDOWY I WYKORZYSTANIA MODELU SYMULACYJNEGO Podmioty: odbiorca wyników symulacji, symulog Określenie systemu, sytuacji

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) Ø

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ę

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.

Detalista(t) = Detalista(t - dt) + (Dost. Dy. De - Sprzedaz) * dt INIT

Detalista(t) = Detalista(t - dt) + (Dost. Dy. De - Sprzedaz) * dt INIT Detalista = 4 Dost. Dy. De = Zam. Det/TDDe Sprzedaz = Zam. Klienta/TDK Dystrybutor(t) = Dystrybutor(t - dt) + (Dost. Hu. Dy - Dost. Dy. De) * dt INIT Dystrybutor = 4 Dost. Hu. Dy = Zam. Dyst/TDDy Dost. Dy. De = Zam. Det/TDDe Hurtownik(t) = Hurtownik(t - dt) + (Dos. Pr. Hu - Dost. Hu. Dy) * dt INIT Hurtownik = 4 Dos. Pr. Hu = Zam. Hur/TDHu Dost. Hu. Dy = Zam. Dyst/TDDy Producent(t) = Producent(t - dt) + (Dos. Fa. Pr - Dos. Pr. Hu) * dt INIT Producent = 4 Dos. Fa. Pr = Dos. Pr. Hu+(NPr-Producent)/TDP Dos. Pr. Hu = Zam. Hur/TDHu Zam. Det(t) = Zam. Det(t - dt) + (ZDe - DDe) * dt INIT Zam. Det = 4 ZDe = DK+(NDe-Detalista)/DT DDe = Dost. Dy. De Zam. Dyst(t) = Zam. Dyst(t - dt) + (ZDy - DDy) * dt INIT Zam. Dyst = 4 ZDy = DDe+(Ndy-Dystrybutor)/DT DDy = Dost. Hu. Dy Zam. Hur(t) = Zam. Hur(t - dt) + (ZH - DH) * dt INIT Zam. Hur = 4 ZH = DDy+(NHu-Hurtownik)/DT DH = Dos. Pr. Hu Zam. Klienta(t) = Zam. Klienta(t - dt) + (PK - DK) * dt INIT Zam. Klienta = 4 PK = Popyt. Klienta OUTFLOWS: DK = Sprzedaz NDe = 4 Ndy = 4 NHu = 4 NPr = 4 Popyt. Klienta = 4+STEP(8, 10) TDDe = 1 TDDy = 1 TDHu = 1 TDK = 1 TDP = 1

Stany zasobów systemu

Stany zasobów systemu

Przepływy w systemie

Przepływy w systemie

Przykład modelowania symulacyjnego systemu dyskretnego Ø SYMULACJA FUNKCJONOWANIA BANKU ************************************** * Symulacja Banku *

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 C 1+10 ; Kod czasu dla Urzednik 2. Func 1 FUNCTION RN 1, D 2 ; Definicja skumulowanej funkcji gęstości prawdopodobieństwa. 7, Urzednik 1/1, Urzednik 2 ; wyboru urzędnika. Klienci wybierają Urzednika 1 z ; prawdopodobieństwem 0. 7, Urzędnika 2 z prawdopodo; bieństwem 0. 3. GENERATE 0. 0834, 0. 0278 ; Kreowanie (generowanie) kolejnego klienta w banku. ASSIGN Urzednik_nr, FN$Func 1 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 Czas. Obslugi, 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. SAVEVALUE C 1, Q$Urzednik 1 ; Pomiar długości kolejki przed Urzednik 1. SAVEVALUE V$Kod. Czasu, Q$Urzednik 2; Pomiar długości kolejki przed Urzednik 2 TERMINATE 1 ; Koniec kolejnej godziny pracy banku START 8 ; Symulacja 8 godzinnego dnia pracy banku

Wyniki symulacji Ø Raport symulacji GPSS World Simulation Report - Sample 6 -Bank. 1.

Wyniki symulacji Ø Raport symulacji GPSS World Simulation Report - Sample 6 -Bank. 1. 1 Friday, January 02, 2004 11: 17: 34 START TIME 0. 000 NAME CZASOBSLUGI FUNC 1 KODCZASU URZEDNIK 1 URZEDNIK 2 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 ENTRY 72 25 AVAIL. 1 1 ENTRY(0) 3 18 OWNER PEND INTER 102 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 Ø

ODWZOROWANIE UPŁYWU CZASU W MODELACH SYMULACYJNYCH Ø Symulacja ciągła - metoda stałego kroku Ø Symulacja dyskretna - metoda kolejnych zdarzeń Oznaczenia: E 1, E 2, . . . T 1, T 2, . . . 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): l l l Ø w

Różnice: Ø Metoda krokowa (stałego kroku w symulacji ciągłej): l l l Ø 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): l l l 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

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

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 Ø

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

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: Ø l l 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

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: Ø l l 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 Ø

Przykłady dodatnich sprzężeń zwrotnych Model inflacji Ø Model rozwoju populacji Ø

Ujemne sprzężenie zwrotne Ujemna pętla sprzężenia zwrotnego powstaje wtedy, gdy zmiany charakterystyki elementu systemu

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: Ø l l 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

Przykłady ujemnych sprzężeń zwrotnych Ø Ujemna pętla sprzężenia zwrotnego w modelu regulacji temperatury przez termostat.

Neutralne sprzężenie zwrotne Istnieją również pętle sprzężenia zwrotnego określane jako neutralne, które nie są

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: Ø l l 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 Ø

Przykłady neutralnych sprzężeń zwrotnych Cykl decyzyjny Ø Nauczanie Ø

Układy mieszane sprzężeń zwrotnych W złożonych systemach, przedstawione powyżej pętle elementarne (dodatnia, ujemna, neutralna)

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: Ø l Model rozwoju populacji uwzględniający procesy narodzin nowych członków populacji oraz zgonów w populacji.

Opóźnienia Zmiany stanów elementów systemu połączonych związkiem przyczynowym mogą zachodzić równocześnie, co jest zazwyczaj

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

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: Ø

Podstawowe struktury i obliczenia modeli SD Ø Relacje pomiędzy wielkościami systemu odwzorowane schematycznie i

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ń: l l l 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 =

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 K-tej. Ø 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 klasyczna (język DYNAMO) l l ZAPAS. K

Przykłady zapisu równań modeli SD Ø Notacja klasyczna (język DYNAMO) l l ZAPAS. K = ZAPAS. J + DT * (DOSTAWA. JK – WYSYŁKA. JK) WYSYŁKA. JK = ZAPAS. K / CZAS_WYSYŁKI Ø Notacja IThink l l ZAPAS(t) = ZAPAS(t-dt) + dt * (DOSTAWA – WYSYŁKA) WYSYŁKA = ZAPAS / CZAS_WYSYŁKI Ø Notacja Vensim l l ZAPAS = INTEG (DOSTAWA – WYSYŁKA, 100) WYSYŁKA = ZAPAS / CZAS_WYSYŁKI

Sekwencja obliczeń symulacyjnych modeli SD Sekwencja obliczeń w modelu matematycznym SD przebiega według schematu,

Sekwencja obliczeń symulacyjnych modeli SD 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, 2 DT). Ø 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 zmiennych pomocniczych w chwili K, 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. Ø

Notacja graficzna metody SD Ø Opis struktury systemu w modelu SD: l l Ø

Notacja graficzna metody SD Ø Opis struktury systemu w modelu SD: l l Ø Schemat graficzny l l Ø Ø 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: l l l l 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

Notacja graficzna metody SD – schemat strukturalny

Proces modelowania SD

Proces modelowania SD

Metody tworzenia DPS Istotnym elementem procesu konceptualizacji modelu SD jest odpowiednio skonstruowany DPS. Istnieją

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 Sformułowanie problemu badawczego. Ustalenie czynników analizowanego zjawiska

Postępowanie badawcze modelowania za pomocą metody SD Sformułowanie problemu badawczego. Ustalenie czynników analizowanego zjawiska (etap konceptualizacji modelu). 3. 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). 4. Identyfikacja i ustalenie opisu formalnego reguł decyzyjnych (równania). 5. Skonstruowanie matematycznego modelu systemu (układ równań SD). 6. Wykonanie eksperymentów symulacyjnych na modelu. 7. Porównanie wyników symulacyjnych z dostępnymi informacjami o badanym systemie jego funkcjonowaniu. 8. Wprowadzenie do modelu zmian mających na celu uzyskanie akceptowanej zgodności modelu z zachowaniem się oryginału. 9. Projektowanie zmian lub ingerencji w modelowanym systemie, poprawiających charakterystyki dynamiczne systemu. 10. Wdrożenie w systemie rzeczywistym zaprojektowanych zmian lub ingerencji. 1. 2.

Problemy obliczeniowe w metodzie Dynamiki Systemów Ø Dobór kroku DT symulacji l l l

Problemy obliczeniowe w metodzie Dynamiki Systemów Ø Dobór kroku DT symulacji l l l Ø Dobór metody całkowania numerycznego l l Ø Dokładność całkowania Szybkość obliczeń Interpretacja DT jako wielkości modelu Dokładność obliczeń Szybkość obliczeń Dobór postaci równań l l Błędy w obliczeniach zmiennoprzecinkowych Bifurkacje (katastrofy)

Problem doboru DT w modelach SD – przykład zaburzeń numerycznych DT = 1 DT

Problem doboru DT w modelach SD – przykład zaburzeń numerycznych DT = 1 DT = 20

Problemy wyboru metody całkowania numerycznego w modelach SD (Euler, Runge-Kutta)

Problemy wyboru metody całkowania numerycznego w modelach SD (Euler, Runge-Kutta)

Dobór DT Ø Zasada J. W. Forrester’a (zależność DT od opóźnień modelu) Ø Zasada

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ć

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: 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

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: 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,

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 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" T 2 (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 T 1/2 zmniejszenia o połowę początkowej wartości poziomu. Warunki te możemy przedstawić następująco: l dla dodatniej pętli sprzężenia ze wzrostem wykładniczym: Ø l dla ujemnej pętli sprzężenia zwrotnego:

Dobór DT Zasada E. Zwiecker’a Rozumowanie jest oparte na sposobie interpretowania procesu decyzyjnego, agregacji

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

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: gdzie funkcja xt podcałkowa jest z kolei funkcją yt oraz czasu 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: Ø 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=n. Dt.

Dobór metody całkowania W modelowaniu SD wykorzystuje się do całkowania numerycznego zarówno metody ekstrapolacyjne

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

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+1 oznacza się odpowiednio J, K, L.

Dobór metody całkowania Ø Istnieją również metody nieekstrapolacyjne o powtarzalnym kroku całkowania. W takich

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: Ø 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

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,

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ć

Problemy reprezentacji zmiennoprzecinkowej w symulacji komputerowej dynamiki systemów Ø Każdą liczbę rzeczywistą można przedstawić w postaci zmiennoprzecinkowej: 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:

Problemy reprezentacji zmiennoprzecinkowej w symulacji komputerowej dynamiki systemów Ø Do najbardziej "niebezpiecznych" zmiennoprzecinkowych operacji

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: l l 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

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=t 0 wyznaczony jest przez określenie wartości zmiennych stanu w chwili t 0. 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 L 1(t) = L 1(t - dt) + (R 1 -

Modelowanie ograniczeń pojemnościowych L 1(t) = L 1(t - dt) + (R 1 - R 2) * dt INIT L 1 = 100 INFLOWS: R 1 = MIN(F, (C 1 -L 1)/DT) OUTFLOWS: R 2 = L 1/T 1 C 1 = 250 F = 100+STEP(10, 50) T 1 = 5

TYPY ZACHOWAŃ SYSTEMÓW

TYPY ZACHOWAŃ SYSTEMÓW

TYPY ZACHOWAŃ SYSTEMÓW

TYPY ZACHOWAŃ SYSTEMÓW

Stany ustalone w modelach SD (Równowaga modelu) Ø Równowaga dynamiczna Wszystkie poziomy (zasoby) są

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)

Stany ustalone w modelach SD (Równowaga modelu - przykład)

OPROGRAMOWANIE MODELOWANIA SD Ewolucja systemów

OPROGRAMOWANIE MODELOWANIA SD Ewolucja systemów

Modele SD Zastosowanie pakietu EXCEL Przykład

Modele SD Zastosowanie pakietu EXCEL Przykład

Modele SD Zastosowanie pakietu EXCEL Wyniki symulacji Time ZSP ZST OD PG WS PP

Modele SD Zastosowanie pakietu EXCEL Wyniki symulacji Time ZSP ZST OD PG WS PP 0, 00 150, 00 30, 00 1, 00 30, 00 150, 00 30, 00 15, 00 2, 00 45, 00 135, 00 30, 00 22, 50 3, 00 52, 50 34, 50 115, 50 6, 90 30, 00 26, 25 4, 00 56, 25 53, 85 96, 15 10, 77 30, 00 28, 13 5, 00 58, 13 71, 21 78, 80 14, 24 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 21, 69 30, 00 29, 88 9, 00 59, 88 116, 64 33, 36 23, 33 30, 00 29, 94 10, 00 59, 94 123, 25 26, 75 24, 65 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 26, 57 30, 00 29, 99 13, 00 59, 99 136, 27 13, 73 27, 25 30, 00 14, 00 60, 00 139, 01 10, 99 27, 80 30, 00 15, 00 60, 00 141, 21 8, 79 28, 24 30, 00 16, 00 60, 00 142, 96 7, 04 28, 59 30, 00 17, 00 60, 00 144, 37 5, 63 28, 87 30, 00 18, 00 60, 00 145, 50 4, 50 29, 10 30, 00 19, 00 60, 00 146, 40 3, 60 29, 28 30, 00 20, 00 60, 00 147, 12 2, 88 29, 42 30, 00

Laboratorium 4 -7 Symulacja dyskretna Metoda Monte Carlo (finanse, ryzyko, …) Modelowanie zdarzeń, czynności,

Laboratorium 4 -7 Symulacja dyskretna Metoda Monte Carlo (finanse, ryzyko, …) Modelowanie zdarzeń, czynności, procesów

Symulacja ciągła a dyskretna Ø Symulacja ciągła l l zmiany stanu systemu opisane są

Symulacja ciągła a dyskretna Ø Symulacja ciągła l l zmiany stanu systemu opisane są funkcjami ciągłymi, zazwyczaj systemy o funkcjonowaniu ciągłym. Ø Symulacja dyskretna l l zmiany stanu systemu opisane są funkcjami dyskretnymi, zazwyczaj systemy o funkcjonowaniu dyskretnym.

Języki i systemy modelowania dyskretnego (przykłady) Ø GPSS Ø ARENA Ø EXTENDSIM Ø. .

Języki i systemy modelowania dyskretnego (przykłady) Ø GPSS Ø ARENA Ø EXTENDSIM Ø. . .

Metoda Monte Carlo Ø Algorytm metody: l l l Wybór losowych zmiennych wejściowych (rozkłady

Metoda Monte Carlo Ø Algorytm metody: l l l Wybór losowych zmiennych wejściowych (rozkłady prawdopodobieństw) Wybór zmiennych wyjściowych (ustalenie algorytmu obliczeń) Wykonanie obliczeń dla n obserwacji: • • l Generowanie zmiennych losowych (popyt, …) Wyznaczenie zmiennych wyjściowych (algorytm) Powtórzenia (n obserwacji) Wyznaczenie statystyk wyjściowych ( Wykonanie obliczeń dla k replikacji: • Powtórzenia n prób (k replikacji) l Ø średnia, odchylenie standardowe, odchylenie kwadratowe, wariancja, przedziały ufności) (k powtórzeń w jednym eksperymencie) Eksperymenty (rozkłady prawdopodobieństw) Wyniki obliczeń: l l l l Średnia arytmetyczna Odchylenie standardowe (ocena rozproszenia) Odchylenie kwadratowe (ocena rozproszenia) Wariancja (ocena rozproszenia) Współczynnik skośności (miara asymetrii rozkładu) Kurtoza (wyostrzenie rozkładu) Przedział ufności (pokrycie z zadanym prawdopodobieństwem prawdziwej wartości dla charakterystyki rozkładu)

Przykład zastosowania metody Monte Carlo Ø Problem: Sprzedawca jabłek chciałby wiedzieć w ile średnio

Przykład zastosowania metody Monte Carlo Ø Problem: Sprzedawca jabłek chciałby wiedzieć w ile średnio dni sprzeda 40 kg (wtedy ponownie zakupi brakujący towar).

Przykład zastosowania metody Monte Carlo (cd) Ø Sprzedawca zaobserwował, że popyt na jabłka w

Przykład zastosowania metody Monte Carlo (cd) Ø Sprzedawca zaobserwował, że popyt na jabłka w kolejnych 20 dniach kształtował się następująco: Popyt na jabłka Częstość (kg) (liczba dni) 0 2 1 3 2 4 3 6 4 4 5 1 Razem: 20 dni Prawdopodob. Skumulowane (wyliczone) prawdopodob. 2/20=0, 10 3/20=0, 15 0, 25 4/20=0, 20 0, 45 6/20=0, 30 0, 75 4/20=0, 20 0, 95 1/20=0, 05 1, 00 20/20=1, 00

Przykład zastosowania metody Monte Carlo (cd) Ø Sprzedawca zaobserwował, że: • • • Ø

Przykład zastosowania metody Monte Carlo (cd) Ø Sprzedawca zaobserwował, że: • • • Ø P(sprzedaż 0 kg jabłek dziennie) P(sprzedaż 1 kg jabłek dziennie) P(sprzedaż 2 kg jabłek dziennie) P(sprzedaż 3 kg jabłek dziennie) P(sprzedaż 4 kg jabłek dziennie) P(sprzedaż 5 kg jabłek dziennie) = 0. 10 = 0. 15 = 0. 20 = 0. 30 = 0. 20 = 0. 05 Oczekiwany dzienny popyt to • 0. 1*0 + 0. 15*1 + 0. 20*2 + 0. 30*3 + 0. 20*4 +0. 05*5 = 2, 5 kg/dzień Ø Rozwiązanie teoretyczne: wartość oczekiwana czasu pomiędzy dostawami 40/(0. 1*0 + 0. 15*1 + 0. 20*2 + 0. 30*3 + 0. 20*4 +0. 05*5) = 40/2. 5 = 16 dni Ø W celu sprawdzenia rozwiązania można przeprowadzić „symulację” l

Przykład zastosowania metody Monte Carlo (cd) Symulacja trwa do momentu, w którym całkowita sprzedaż

Przykład zastosowania metody Monte Carlo (cd) Symulacja trwa do momentu, w którym całkowita sprzedaż osiągnie 40 kg. Ø Powtórna symulacja zakończy się najprawdopodobniej przy innej liczbie dni. l Powtórzenie 1: 18 dni l Powtórzenie 2: 14 dni l. . . Ø W Excelu liczby losowe generowane są za pomocą funkcji LOS()

Zdarzenia i procesy dyskretne Są 2 typy zdarzeń: Ø bezwarunkowe, jako zdarzenia bezpośrednio zależne

Zdarzenia i procesy dyskretne Są 2 typy zdarzeń: Ø bezwarunkowe, jako zdarzenia bezpośrednio zależne od czasu; Ø warunkowe, jako zdarzenia pośrednio zależne od czasu i wyznaczone stanami systemu.

Podstawowe elementy modeli dyskretnych Ø Ø Zegar systemu, który jest obiektem dynamicznym rejestrującym czas

Podstawowe elementy modeli dyskretnych Ø Ø Zegar systemu, który jest obiektem dynamicznym rejestrującym czas systemu rzeczywistego; Kalendarz systemu, który jest obiektem dynamicznym zawierającym zegar systemu oraz zbiór informacji o zdarzeniach (typ zdarzeń, parametry zdarzeń); Transakcje, które są obiektami dynamicznymi systemu pojawiającymi się w systemie jako zgłoszenia o określonych atrybutach; Zasoby systemu, które są obiektami statycznymi systemu (jednokanałowe, wielokanałowe stanowiska obsługi) wraz z regulaminami kolejkowymi i obsługowymi.

Podstawowe elementy modeli, cd… Ø Ø Ø Ø Liczniki statystyczne Zmienne z informacją statystyczną

Podstawowe elementy modeli, cd… Ø Ø Ø Ø Liczniki statystyczne Zmienne z informacją statystyczną o funkcjonowaniu systemu. Generator liczb losowych Moduł obliczania liczb pseudolosowych o podanym rozkładzie prawdopodobieństwa. Moduł inicjalizacji symulacji Moduł uruchomienia symulacji dla czasu zerowego. Moduł zmiany czasu Moduł wyznaczający następne zdarzenie z kalendarza i zmieniający czas symulacji. Moduł obsługi zdarzeń Moduł przetwarzający stan systemu przy zajściu zdarzenia (moduł dla każdego typu zdarzenia). Generator raportu symulacji Moduł obliczania estymatorów dla miar funkcjonowania systemu (dla liczników statystycznych) oraz prezentacji raportu na koniec symulacji. Program główny symulacji Podprogram uruchamiania modułów: zmiany czasu, obsługi zdarzeń w celu wyznaczenia zmiany stanu systemu.

Metody modelowania dyskretnego Ø Planowanie zdarzeń (Event Oriented) Polega na zastosowaniu w modelu obiektu

Metody modelowania dyskretnego Ø Planowanie zdarzeń (Event Oriented) Polega na zastosowaniu w modelu obiektu o nazwie kalendarz zdarzeń definiującego następstwo typów zdarzeń bez-warunkowych oraz szczegółowym opisie czynności, które są realizowane w systemie po zajściu określonego zdarzenia. Ø Przegląd i wybór działań (Activity Oriented) Polega na rozpatrywaniu wszystkich działań systemu celem określenia, które z nich z chwilą zajścia określonego zdarzenia powinny być rozpoczęte, a które zakończone. Ø Interakcja procesów (Process Oriented) Łączy w sobie cechy charakterystyczne metod planowania zdarzeń oraz przeglądu i wyboru działań. Polega na grupowaniu działań w procesy wykonywane na pojedynczych dynamicznych obiektach (transakcjach) systemu i rejestracji ich stanu od chwili pojawienia się w systemie do chwili zaniku.

Język GPSS – podstawowe bloki Ø GENERATE – Kreowanie transakcji i umieszczenie jej w

Język GPSS – podstawowe bloki Ø GENERATE – Kreowanie transakcji i umieszczenie jej w łańcuchu FEC. TERMINATE – Kasowanie transakcji, zmniejszenie licznika. PRIORITY – Modyfikacja priorytetu transakcji. ASSIGN – Modyfikacja parametru transakcji. Ø ADVANCE – Opóźnienie transakcji: umieszczenie jej w łańcuchu FEC. Ø QUEUE – Początek statystyki kolejkowej: zwiększenie zawartości. DEPART – Koniec statystyki kolejkowej: zmniejszenie zawartości kolejki. Ø SEIZE – Zajęcie stanowiska obsługi 1 -kanałowej. RELEASE – Zwolnienie stanowiska obsługi 1 -kanałowej. Ø ENTER – Zajęcie jednostki stanowiska wielokanałowego (magazynu). LEAVE – Zwolnienie stanowiska obsługi wielokanałowej. Ø FAVAIL – Zmiana statusu stanowiska 1 -kanałowego na „dostępny”. FUNAVAIL - Zmiana statusu stanowiska 1 -kanałowego na „niedostępny”. Ø SAVAIL – Zmiana statusu stanowiska obsługi wielokanałowej na „dostępne". SUNAVAIL – Zmiana statusu stanowiska obsługi wielokanałowej na „niedostępne". Ø TEST – Testowanie wartości wyrażenia i modyfikacja przepływu transakcji. GATE – Testowanie i modyfikacja w sekwencji przepływu transakcji. TRANSFER – Przemieszczenie transakcji do określonego bloku. Ø MARK – Zapis wartości czasu z zegara w parametrze transakcji. TABULATE – Zmiana zawartości obiektu tablicowego.

PRZYKŁAD PROGRAMU SYMULACYJNEGO W GPSS Ø Program źródłowy 1 GENERATE 18, 6 ADVANCE 0.

PRZYKŁAD PROGRAMU SYMULACYJNEGO W GPSS Ø Program źródłowy 1 GENERATE 18, 6 ADVANCE 0. 5 SEIZE JAN ADVANCE 15, 3 RELEASE JAN TERMINATE 1 Zgłoszenie się klienta co 18 ± 6 minut Opóźnienie: wieszanie płaszcza Zajęcie stanowiska obsługi JAN przez klienta Opóźnienie: obsługa w czasie 15 ± 3 minuty Zwolnienie stanowiska obsługi JAN Wyjście klienta: aktualny stan licznika -1 START Start przebiegu symulacji dla 100 klientów * 100

Przykład użycia systemu ARENA

Przykład użycia systemu ARENA

ARENA – Moduł Create Nazwa bloku Typ zgłoszenia Czas pomiędzy przybywaniem kolejnych zgłoszeń Liczba

ARENA – Moduł Create Nazwa bloku Typ zgłoszenia Czas pomiędzy przybywaniem kolejnych zgłoszeń Liczba zgłoszeń przybywających razem Maksymalna liczba zgłoszeń, które mogą opuścić moduł Create Czas przybycia pierwszego zgłoszenia

ARENA - Moduł Process Nazwa bloku Zdefiniowanie czasu przebywania zgłoszenia na stanowisku Typ procesu

ARENA - Moduł Process Nazwa bloku Zdefiniowanie czasu przebywania zgłoszenia na stanowisku Typ procesu

Przykład modelowania symulacyjnego systemu dyskretnego (Extend. Sim)

Przykład modelowania symulacyjnego systemu dyskretnego (Extend. Sim)