Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

MODELOWANIE SYMULACYJNE Simulation Modelling (ang.) Edycja 2013/2014 Wykład (15h), Laboratorium (15h)

Podobne prezentacje


Prezentacja na temat: "MODELOWANIE SYMULACYJNE Simulation Modelling (ang.) Edycja 2013/2014 Wykład (15h), Laboratorium (15h)"— Zapis prezentacji:

1 MODELOWANIE SYMULACYJNE Simulation Modelling (ang.) Edycja 2013/2014 Wykład (15h), Laboratorium (15h)

2 Roman Pietroń, dr inż. I-23 PWr., B4 p. 423 (B1 413) Konsultacje: Poniedziałek (Wrocław PWr., B4, 423) Czwartek (Wrocław PWr., B4, 423)

3 Bibliografia podstawowa Gajda J.B., Prognozowanie i symulacja a decyzje gospodarcze, C.H.Beck Warszawa, Gajda J.B., Prognozowanie i symulacja a decyzje gospodarcze, C.H.Beck Warszawa, Mielczarek B., Modelowanie symulacyjne w zarządzaniu. Symulacja dyskretna, Oficyna PWr., Wrocław, Mielczarek B., Modelowanie symulacyjne w zarządzaniu. Symulacja dyskretna, Oficyna PWr., Wrocław, Pietroń R., Modelowanie symulacyjne. Wybrane zagadnienia, E-Materiał PWr., Pietroń R., Zbiór zadań z modelowania symulacyjnego, E-Materiał PWr., Maciąg A., Pietroń R., Kukla S., Prognozowanie i symulacja w przedsiębiorstwie, Wyd. PWE Warszawa Zeigler B.P., Teoria modelowania i symulacji, PWN Warszawa, Zeigler B.P., Teoria modelowania i symulacji, PWN Warszawa, 1984.

4 Bibliografia uzupełniająca Fishman G.S., Symulacja komputerowa. Pojęcia i metody, PWE Warszawa Fishman G.S., Symulacja komputerowa. Pojęcia i metody, PWE Warszawa Gordon G., Symulacja systemów, WNT Warszawa, Gordon G., Symulacja systemów, WNT Warszawa, Kondratowicz L., Modelowanie symulacyjne systemów, WNT Warszawa, Kondratowicz L., Modelowanie symulacyjne systemów, WNT Warszawa, Kowal R., Stanek S., Zadora Żytniewski P., Symulacja komputerowa z wykorzystaniem modeli Dynamiki Systemowej, ss [w:] Modele hybrydowe w podejmowaniu finansowych decyzji gospodarczych, praca zb. Pod red. S.Stanka, AE Katowice, Kowal R., Stanek S., Zadora Żytniewski P., Symulacja komputerowa z wykorzystaniem modeli Dynamiki Systemowej, ss [w:] Modele hybrydowe w podejmowaniu finansowych decyzji gospodarczych, praca zb. Pod red. S.Stanka, AE Katowice, Krupa K., Modelowanie symulacja i prognozowanie. Systemy ciągłe, WNT Warszawa, Krupa K., Modelowanie symulacja i prognozowanie. Systemy ciągłe, WNT Warszawa, Naylor T.H., Modelowanie cyfrowe systemów ekonomicznych, PWN Warszawa, Naylor T.H., Modelowanie cyfrowe systemów ekonomicznych, PWN Warszawa, Nowak M., Symulacja komputerowa w problemach decyzyjnych, AE Katowice, Nowak M., Symulacja komputerowa w problemach decyzyjnych, AE Katowice, Tarajkowski J. (red.), Elementy dynamiki systemów, AE Poznań, Tarajkowski J. (red.), Elementy dynamiki systemów, AE Poznań, Tyszer J., Symulacja cyfrowa, WNT Warszawa, Tyszer J., Symulacja cyfrowa, WNT Warszawa, 1990.

5 Bibliografia uzupełniająca – cd. Systemy modelowania i symulacji – oprogramowanie, tutorial: Produkt Demo: - Ventana Systems, Inc.: Produkt Demo: Vensim PLE - Ventana Systems, Inc.: Produkt Demo: - High Performance Systems: Produkt Demo: IThink - High Performance Systems: Produkt Demo: - Minuteman Software: Produkt Demo: GPSS World - Minuteman Software: Produkt Demo: - Imagine That!: Produkt Demo: ExtendSim - Imagine That!: Produkt Edu: – Rockwell Software Inc. (Systems Modeling Corp.): Produkt Edu: ARENA – Rockwell Software Inc. (Systems Modeling Corp.): Produkt Demo: Process for Six Sigma MGX-Corel Corp.: Produkt Demo: iGrafx Process for Six Sigma MGX-Corel Corp.:

6 Bibliografia – poziom zaawansowany Czasopisma: System Dynamics Review System Dynamics Review Simulation Simulation Simulation & Gaming Simulation & Gaming Simulation Modelling. Practice and Theory Simulation Modelling. Practice and Theory

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

8 TEMATY ZAJĘĆ WYKŁADOWYCH (RP) 1. Wprowadzenie do modelowania symulacyjnego. Przykłady modeli i badań. 2. Zagadnienia ogólne. Etymologia, źródła historyczno-filozoficzne. 3. Zagadnienia metodologiczne. Definicje, struktury, budowa modeli, weryfikacja, eksperyment symulacyjny, wnioskowanie. 4. 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. 5. Zastosowania badań symulacyjnych w ekonomii i zarządzaniu. 6. Problemy przekazywania wyników symulacji. Dokumentowanie projektów symulacyjnych i standaryzacja. Profesjonalizm i etyka w symulacji. 7. Podsumowanie i zaliczenie wykładu

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

10 OCENY Celujący5.5( 95%), Celujący5.5( 95%), Bardzo dobry5.0( 85%), Bardzo dobry5.0( 85%), Ponad dobry4.5( 75%), Ponad dobry4.5( 75%), Dobry4.0( 65%), Dobry4.0( 65%), Ponad dostateczny3.5( 55%), Ponad dostateczny3.5( 55%), Dostateczny 3.0( 45%), Dostateczny 3.0( 45%), Niedostateczny2.0(< 45%). Niedostateczny2.0(< 45%).

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

12 Laboratorium 1-4 Podstawy metodologiczne symulacji Pojęcie systemu i konceptualizacja modelu systemu Symulacja dyskretna Metoda Monte Carlo (finanse, ryzyko,…) Modelowanie zdarzeń, czynności, procesów

13 Co to jest system?

14 Definiowanie systemu Idea wyodrębnienia systemu z otoczenia (system jako pewna wyodrębniona całość) 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 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 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) Idea zmienności (ograniczonej) systemu w czasie (system jako całość zmienna w czasie ale zachowująca istotę – właściwości podstawowe)

15 Jakie czynniki są istotne w konceptualizacji modelu systemu?

16 Czynniki modelowania Cel budowy modelu Cel budowy modelu Cel funkcjonowania systemu Cel funkcjonowania systemu Otoczenie systemu Otoczenie systemu Obiekty systemu (agenci systemu) Obiekty systemu (agenci systemu) Atrybuty obiektów systemu Atrybuty obiektów systemu Pomiar atrybutów obiektów systemu Pomiar atrybutów obiektów systemu Relacje pomiędzy atrybutami i obiektami Relacje pomiędzy atrybutami i obiektami Metody, techniki, narzędzia modelowania Metody, techniki, narzędzia modelowania

17 Jakie zastosować metody modelowania?

18 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 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 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) 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 quasi- cią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.

19 Symulacja ciągła a dyskretna Symulacja ciągła (podejście makroskopowe) Symulacja ciągła (podejście makroskopowe) zmiany stanu systemu opisane są funkcjami ciągłymi, zmiany stanu systemu opisane są funkcjami ciągłymi, zazwyczaj systemy o funkcjonowaniu ciągłym. zazwyczaj systemy o funkcjonowaniu ciągłym. Symulacja dyskretna (podejście mikroskopowe) Symulacja dyskretna (podejście mikroskopowe) zmiany stanu systemu opisane są funkcjami dyskretnymi, zmiany stanu systemu opisane są funkcjami dyskretnymi, zazwyczaj systemy o funkcjonowaniu dyskretnym. zazwyczaj systemy o funkcjonowaniu dyskretnym.

20 Języki i systemy modelowania dyskretnego (przykłady) GPSS (GPSS/H, GPSS World) GPSS (GPSS/H, GPSS World) Arena Arena ExtendSim ExtendSim......

21 Jakie są etapy (fazy) modelowania?

22 ETAPY BUDOWY I WYKORZYSTANIA MODELU SYMULACYJNEGO Podmioty: odbiorca wyników symulacji, symulog 1. 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

23 Praktyka modelowania symulacyjnego Typ 1: modelowanie symulacyjne jako projekt budowy symulatora (inżynieria oprogramowania) Typ 1: modelowanie symulacyjne jako projekt budowy symulatora (inżynieria oprogramowania) Typ 2: modelowanie symulacyjne jako projekt budowy i rozgrywki gry symulacyjnej (gra) Typ 2: modelowanie symulacyjne jako projekt budowy i rozgrywki gry symulacyjnej (gra) Typ 3: modelowanie symulacyjne jako projekt (proces) zmian organizacyjnych (interwencja) Typ 3: modelowanie symulacyjne jako projekt (proces) zmian organizacyjnych (interwencja) Typ 4: modelowanie symulacyjne jako projekt grupowego budowania modeli (dyskusja) Typ 4: modelowanie symulacyjne jako projekt grupowego budowania modeli (dyskusja) Typ 5: modelowanie symulacyjne jako podprojekt modelowania procesów (moduł BPM) Typ 5: modelowanie symulacyjne jako podprojekt modelowania procesów (moduł BPM)

24 Przykład modelowania symulacyjnego systemu ciągłego System logistyczny zaopatrzenie-produkcja-dystrybucja 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.

25

26 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

27 Stany zasobów systemu

28 Przepływy w systemie

29 Przykład modelowania symulacyjnego systemu dyskretnego SYMULACJA FUNKCJONOWANIA BANKU SYMULACJA FUNKCJONOWANIA BANKU*************************************************************************** * Symulacja Banku * * Jednostka czasu: godzina * *************************************************************************** CzasEQU ;Średni czas obsługi (komentarz od znaku ;) KodVARIABLE C1+10;Kod czasu dla Urzednik2. Func1FUNCTION 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. GENERATE0.0834,0.0278;Kreowanie (generowanie) kolejnego klienta w banku. ASSIGNUrzednik_nr,FN$Func1Przypisanie numeru urzędnika do parametru transakcji. QUEUEP$Urzednik_nr;;Początek dla statystyki kolejkowej. SEIZEP$Urzednik_nr;Zajęcie urzędnika. DEPARTP$Urzednik_nr;Koniec dla statystyki kolejkowej. ADVANCECzasObslugi,0.0028;Wykonanie obsługi klienta. RELEASEP$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 TERMINATE1;Koniec kolejnej godziny pracy banku START8;Symulacja 8 godzinnego dnia pracy banku

30 Wyniki symulacji Raport symulacji Raport symulacji GPSS World Simulation Report - Sample6-Bank.1.1 GPSS World Simulation Report - Sample6-Bank.1.1 Friday, January 02, :17:34 Friday, January 02, :17:34 START TIME END TIME BLOCKS FACILITIES STORAGES START TIME END TIME BLOCKS FACILITIES STORAGES NAME VALUE NAME VALUE CZASOBSLUGI CZASOBSLUGI FUNC FUNC KODCZASU KODCZASU URZEDNIK URZEDNIK URZEDNIK URZEDNIK URZEDNIK_NR URZEDNIK_NR FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

31 ODWZOROWANIE UPŁYWU CZASU W MODELACH SYMULACYJNYCH Symulacja ciągła - metoda stałego kroku Symulacja ciągła - metoda stałego kroku Symulacja dyskretna - metoda kolejnych zdarzeń Symulacja dyskretna - metoda kolejnych zdarzeńOznaczenia: E1, E2,...-zdarzenie nr 1, zdarzenie nr 2,... T1, T2,...-czas bieżący symulacji w chwili nr 1, chwili nr 2,... DT-krok symulacji (wielkość przesunięcia bieżącego)

32 Różnice: Metoda krokowa (stałego kroku w symulacji ciągłej): Metoda krokowa (stałego kroku w symulacji ciągłej): w symulacji uwzględnia się brak aktywności systemu (obliczenia bez zdarzeń), w symulacji uwzględnia się brak aktywności systemu (obliczenia bez zdarzeń), przetwarzanie zdarzeń traktowanych jako równoczesne na końcu odcinka DT, przetwarzanie zdarzeń traktowanych jako równoczesne na końcu odcinka DT, istnieje DT (problem doboru wartości); istnieje DT (problem doboru wartości); Metoda kolejnych zdarzeń (w symulacji dyskretnej): Metoda kolejnych zdarzeń (w symulacji dyskretnej): w symulacji nie uwzględnia się braku aktywności systemu (tylko dla zdarzeń), w symulacji nie uwzględnia się braku aktywności systemu (tylko dla zdarzeń), brak przetwarzania zdarzeń jako równoczesnych (wyjątek: Ei = Ej), brak przetwarzania zdarzeń jako równoczesnych (wyjątek: Ei = Ej), brak DT. brak DT.

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

34 Przykład zastosowania metody Monte Carlo - problem Problem: Problem: Sprzedawca jabłek chciałby określić średnią liczbę dni, w ciągu których sprzeda 40 kg (wtedy ponownie zakupi nową partię jabłek do sprzedaży).

35 Przykład zastosowania metody Monte Carlo - dane Sprzedawca zaobserwował, że popyt na jabłka w kolejnych 20 dniach kształtował się następująco: 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) Razem: 20 dni Prawdopodob.Skumulowane (obliczone) prawdopodob. 2/20=0,100,10 3/20=0,150,25 4/20=0,200,45 6/20=0,300,75 4/20=0,200,95 1/20=0,051,00 20/20=1,00

36 Przykład zastosowania metody Monte Carlo - podejścia Sprzedawca zaobserwował, że: Sprzedawca zaobserwował, że: P(sprzedaż 0 kg jabłek dziennie)= 0.10P(sprzedaż 0 kg jabłek dziennie)= 0.10 P(sprzedaż 1 kg jabłek dziennie)= 0.15P(sprzedaż 1 kg jabłek dziennie)= 0.15 P(sprzedaż 2 kg jabłek dziennie)= 0.20P(sprzedaż 2 kg jabłek dziennie)= 0.20 P(sprzedaż 3 kg jabłek dziennie)= 0.30P(sprzedaż 3 kg jabłek dziennie)= 0.30 P(sprzedaż 4 kg jabłek dziennie)= 0.20P(sprzedaż 4 kg jabłek dziennie)= 0.20 P(sprzedaż 5 kg jabłek dziennie)= 0.05P(sprzedaż 5 kg jabłek dziennie)= 0.05 Oczekiwany dzienny popyt to Oczekiwany dzienny popyt to 0.1* * * * * *5 = 2,5 kg/dzień0.1* * * * * *5 = 2,5 kg/dzień Rozwiązanie teoretyczne: wartość oczekiwana czasu pomiędzy dostawami Rozwiązanie teoretyczne: wartość oczekiwana czasu pomiędzy dostawami 40/(0.1* * * * * *5) = 40/2.5 = 16 dni 40/(0.1* * * * * *5) = 40/2.5 = 16 dni W celu sprawdzenia rozwiązania można przeprowadzić symulację - próbkowanie W celu sprawdzenia rozwiązania można przeprowadzić symulację - próbkowanie

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

38 Metoda Monte Carlo – użyteczne funkcje arkusza Excel LOS() LOS() WYSZUKAJ.PIONOWO(…) WYSZUKAJ.PIONOWO(…) JEŻELI(…) JEŻELI(…) SUMA(…) SUMA(…) ŚREDNIA(…) ŚREDNIA(…) ODCH.STANDARDOWE(…) ODCH.STANDARDOWE(…) UFNOŚĆ(…) UFNOŚĆ(…) MIN(…) MIN(…)

39 Modelowanie procesów dyskretnych – zdarzenia w procesach Są 2 typy zdarzeń: bezwarunkowe, jako zdarzenia bezpośrednio zależne od czasu; bezwarunkowe, jako zdarzenia bezpośrednio zależne od czasu; warunkowe, jako zdarzenia pośrednio zależne od czasu i wyznaczone stanami systemu. warunkowe, jako zdarzenia pośrednio zależne od czasu i wyznaczone stanami systemu.

40 Podstawowe elementy modeli dyskretnych Zegar systemu, który jest obiektem dynamicznym rejestrującym czas systemu rzeczywistego; 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ń); 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; 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. Zasoby systemu, które są obiektami statycznymi systemu (jednokanałowe, wielokanałowe stanowiska obsługi) wraz z regulaminami kolejkowymi i obsługowymi.

41 Podstawowe elementy modeli dyskretnych Liczniki statystyczne Liczniki statystyczne Zmienne z informacją statystyczną o funkcjonowaniu systemu. Generator liczb losowych Generator liczb losowych Moduł obliczania liczb pseudolosowych o podanym rozkładzie prawdopodobieństwa. Moduł inicjalizacji symulacji Moduł inicjalizacji symulacji Moduł uruchomienia symulacji dla czasu zerowego. Moduł zmiany czasu Moduł zmiany czasu Moduł wyznaczający następne zdarzenie z kalendarza i zmieniający czas symulacji. Moduł obsługi zdarzeń Moduł obsługi zdarzeń Moduł przetwarzający stan systemu przy zajściu zdarzenia (moduł dla każdego typu zdarzenia). Generator raportu symulacji 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 Program główny symulacji Podprogram uruchamiania modułów: zmiany czasu, obsługi zdarzeń w celu wyznaczenia zmiany stanu systemu.

42 Metody modelowania dyskretnego Planowanie zdarzeń (Event Oriented) Polega na zastosowaniu w modelu obiektu o nazwie kalendarz zdarzeń definiującego następstwo typów zdarzeń bezwarunkowych 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.

43 Język GPSS – podstawowe bloki GENERATE – Kreowanie transakcji i umieszczenie jej w łańcuchu FEC. 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. ADVANCE – Opóźnienie transakcji: umieszczenie jej w łańcuchu FEC. QUEUE – Początek statystyki kolejkowej: zwiększenie zawartości. 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. 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). 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. 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". 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. 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. MARK – Zapis wartości czasu z zegara w parametrze transakcji. TABULATE – Zmiana zawartości obiektu tablicowego.

44 PRZYKŁAD PROGRAMU SYMULACYJNEGO W JĘZYKU GPSS Program źródłowy 1 Program źródłowy 1 GENERATE18,6Zgłoszenie się klienta co 18 ± 6 minut ADVANCE0.5Opóźnienie: wieszanie płaszcza SEIZEJANZajęcie stanowiska obsługi JAN przez klienta ADVANCE15,3Opóźnienie: obsługa w czasie 15 ± 3 minuty RELEASEJANZwolnienie stanowiska obsługi JAN TERMINATE 1Wyjście klienta: aktualny stan licznika -1 * START100Start przebiegu symulacji dla 100 klientów

45 PRZYKŁAD MODELOWANIA SYMULACYJNEGO W SYSTEMIE ARENA

46 PRZYKŁAD MODELOWANIA SYMULACYJNEGO W SYSTEMIE 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

47 PRZYKŁAD MODELOWANIA SYMULACYJNEGO W SYSTEMIE ARENA – Moduł PROCESS Nazwa bloku Typ procesu Zdefiniowanie czasu przebywania zgłoszenia na stanowisku Typ akcji Definicja zasobu

48 PRZYKŁAD MODELOWANIA SYMULACYJNEGO W SYSTEMIE EXTENDSIM

49 Laboratorium 5-8 Symulacja ciągła Wprowadzenie do dynamiki systemów

50 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 PRAGMATYZM Orientacja na utylitarne (np. decyzyjne) wykorzystanie rezultatów symulacji przez człowieka. WERYFIKOWALNOŚĆ WERYFIKOWALNOŚĆ Postulat możliwości potwierdzenia "dobroci" budowanych modeli (stwierdzenia zasadności i prawdziwości modeli).

51 PARADYGMATY METODY SD Zbiór koncepcji dotyczących natury rzeczywistości IZOMORFIZM STRUKTUR I ZACHOWAŃ 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 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ŚĆ 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 NIELINIOWOŚĆ ZACHOWANIA SYSTEMÓW Zachowanie się systemu ma charakter nieliniowy (efekt sprzężeń zwrotnych, opóźnień i wzmocnień). OGRANICZONA RACJONALNOŚĆ OGRANICZONA RACJONALNOŚĆ Decyzje podejmowane są w warunkach tzw. ograniczonej racjonalności. BRAK METAREGUŁ MODELOWANIA BRAK METAREGUŁ MODELOWANIA W procesie budowy modelu wykorzystuje się intuicje, wiedzę i doświadczenie ekspertów, teorie dyscyplin szczegółowych, dane obserwacyjne i empiryczne.

52 PODSTAWOWE ELEMENTY METODY SD Związki przyczynowo - skutkowe i pętle sprzężeń zwrotnych Związki przyczynowo - skutkowe i pętle sprzężeń zwrotnych Opóźnienia Opóźnienia Zasoby i strumienie przepływu Zasoby i strumienie przepływu

53 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. 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: Typy sprzężeń zwrotnych: Dodatnie sprzężenie zwrotne Dodatnie sprzężenie zwrotne Ujemne sprzężenie zwrotne Ujemne sprzężenie zwrotne Neutralne sprzężenie zwrotne Neutralne sprzężenie zwrotne Ukłądy mieszane sprzężeń zwrotnych Ukłądy mieszane sprzężeń zwrotnych

54 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. 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: Przykłady: Model inflacji - jako efekt dodatnich związków przyczynowych pomiędzy kosztem wytworzenia, ceną zakupu, "naciskiem" na płace. 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. Model ewolucji maltuzjańskiej populacji - jako rezultat dodatnich związków przyczynowych pomiędzy wielkością populacji a wzrostem urodzeń osobników populacji.

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

56 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. 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: Przykłady: Regulacja temperatury przez termostat, Regulacja temperatury przez termostat, Regulacja poziomu wody w zbiorniku. Regulacja poziomu wody w zbiorniku.

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

58 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. 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: 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. 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. Relacja pomiędzy elementami modelu systemu nauczania w szkole: motywacją ucznia do nauki, dokonanych postępach w nauce, wynikami nauczania, presją nauczyciela.

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

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

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

62 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. 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. 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. 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 x t oznaczymy zasób medium w chwili t, przez v t strumień wejściowy do zasobu w okresie dt, przez w t strumień wyjściowy zasobu w okresie dt, to zasób medium w momencie t+dt możemy wyrazić jako: x t +dt = x t + dt (v t - w t ). Jeżeli dt jest dostatecznie małe (bliskie 0), to podstawowe równanie kinetyczne zasobów i strumieni możemy przedstawić jako: x t = v t - w t, gdzie x t jest wartością funkcji pochodnej w chwili t. Rozwiązanie ostatniego równania prowadzi do funkcji x t : Jeżeli przez x t oznaczymy zasób medium w chwili t, przez v t strumień wejściowy do zasobu w okresie dt, przez w t strumień wyjściowy zasobu w okresie dt, to zasób medium w momencie t+dt możemy wyrazić jako: x t +dt = x t + dt (v t - w t ). Jeżeli dt jest dostatecznie małe (bliskie 0), to podstawowe równanie kinetyczne zasobów i strumieni możemy przedstawić jako: x t = v t - w t, gdzie x t jest wartością funkcji pochodnej w chwili t. Rozwiązanie ostatniego równania prowadzi do funkcji x t :

63 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ń: 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 poziomów, równania strumieni, równania strumieni, równania zmiennych pomocniczych. równania zmiennych pomocniczych.

64 Równania modeli SD Równania poziomów w modelach SD mają postać: 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ć: 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ć: 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.

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

66 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, 2DT). 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 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. 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. 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.

67 Notacja graficzna metody SD Opis struktury systemu w modelu SD: Opis struktury systemu w modelu SD: Schemat graficzny struktury Schemat graficzny struktury Równania modelu Równania modelu Schemat graficzny Schemat graficzny Schemat przyczynowo-skutkowy (diagram wpływów) Schemat przyczynowo-skutkowy (diagram wpływów) Schemat strukturalny Schemat strukturalny Schemat graficzny struktury (schemat strukturalny) Schemat graficzny struktury (schemat strukturalny) Do przedstawienia modelu w formie graficznej używa się następujących elementów i symboli graficznych: Do przedstawienia modelu w formie graficznej używa się następujących elementów i symboli graficznych:, reprezentujący poziom (zasób) medium w systemie i stowarzyszonego z określoną zmienną stanu modelu matematycznego Prostokąt, reprezentujący poziom (zasób) medium w systemie i stowarzyszonego z określoną zmienną stanu modelu matematycznego, zakończona grotem strzałki, symbolizująca przepływ materialny lub energetyczny Linia ciągła, zakończona grotem strzałki, symbolizująca przepływ materialny lub energetyczny, zakończona grotem strzałki, symbolizująca przepływ informacyjny Linia przerywana, zakończona grotem strzałki, symbolizująca przepływ informacyjny 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 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, reprezentujący wielkość pomocniczą, która jest definiowana w procesie przetwarzania informacji wykorzystywanej do regulacji strumieni Okrąg, reprezentujący wielkość pomocniczą, która jest definiowana w procesie przetwarzania informacji wykorzystywanej do regulacji strumieni odcinkiem, symbolizujący wielkości stałe w systemie (parametry) Okrąg przekreślony odcinkiem, symbolizujący wielkości stałe w systemie (parametry) reprezentujący źródło zewnętrzne wypływu medium lub ujście zewnętrzne przepływającego medium. Nieregularny owal (chmurka) reprezentujący źródło zewnętrzne wypływu medium lub ujście zewnętrzne przepływającego medium.

68 Notacja graficzna metody SD – schemat strukturalny

69 Proces modelowania SD

70 Metody tworzenia DPS Istotnym elementem procesu konceptualizacji modelu SD jest odpowiednio skonstruowany DPS. Istnieją trzy podstawowe metody tworzenia DPS: odwzorowanych wielkości (ang. List Extention Method), metoda wg rozszerzającej się listy odwzorowanych wielkości (ang. List Extention Method), (ang. Entity/State Transition Method), metoda wg logiki przejścia obiektów ze stanu do stanu (ang. Entity/State Transition Method), (ang. Common Modules Method). metoda wg wspólnych (powtarzalnych) modułów (ang. Common Modules Method).

71 Postępowanie badawcze modelowania za pomocą metody SD 1. Sformułowanie problemu badawczego. 2. 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.

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

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

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

75 Dobór DT Zasada J.W.Forrestera (zależność DT od opóźnień modelu) Zasada J.W.Forrestera (zależność DT od opóźnień modelu) Zasada R.L.Coylea (zależność DT od opóźnień modelu) Zasada R.L.Coylea (zależność DT od opóźnień modelu) Zasada N.Roberts (zależność DT od struktury modelu) Zasada N.Roberts (zależność DT od struktury modelu) Zasada E.Zwieckera (zależność DT od przyjętej jednostki czasu w modelu) Zasada E.Zwieckera (zależność DT od przyjętej jednostki czasu w modelu)

76 Dobór DT Zasada Forrestera 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: 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 DEL i jest i-tym opóźnieniem odwzorowanym w modelu, n i jest rzędem i-tego opóźnienia odwzorowanego w modelu.

77 Dobór DT Zasada R.L.Coylea 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: 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 DEL i jest i-tym opóźnieniem odwzorowanym w modelu, n i jest rzędem i-tego opóźnienia odwzorowanego w modelu.

78 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. 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" 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: 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: dla dodatniej pętli sprzężenia ze wzrostem wykładniczym: dla dodatniej pętli sprzężenia ze wzrostem wykładniczym: dla ujemnej pętli sprzężenia zwrotnego: dla ujemnej pętli sprzężenia zwrotnego:

79 Dobór DT Zasada E.Zwieckera 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). 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.Zwieckera, 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. Zdaniem E.Zwieckera, 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

80 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: 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ą y t oraz czasu t: Wartość funkcji y t jest określana iteracyjnie dla kolejnych przedziałów zmiennej niezależnej t i wyznaczonych przyjętym krokiem iteracyjnym t = DT. Problem całkowania numerycznego w modelach SD sprowadza się do wyznaczenia wartości funkcji: Wartość funkcji y t jest określana iteracyjnie dla kolejnych przedziałów zmiennej niezależnej t i wyznaczonych przyjętym krokiem iteracyjnym t = 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ą y t można wyrazić jako funkcję y n, gdzie t=n t. Wartość funkcji całkowanej jest wyznaczana jedynie w określonych punktach czasowych różniących się wielokrotnością t, zatem funkcję całkowaną y t można wyrazić jako funkcję y n, gdzie t=n t.

81 Dobór metody całkowania W modelowaniu SD wykorzystuje się do całkowania numerycznego zarówno metody ekstrapolacyjne jak i nieekstrapolacyjne. 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. x n, x n-1, x n-2, itd, aby poprzez odpowiednią formułę ekstrapolacyjną oszacować wartość x n+1. W metodach ekstrapolacyjnych wykorzystuje się więcej wartości funkcji podcałkowej, tzn. np. x n, x n-1, x n-2, itd, aby poprzez odpowiednią formułę ekstrapolacyjną oszacować wartość x n+1. W metodach nieekstrapolacyjnych do obliczenia wartości funkcji y n+1 wykorzystuje się tylko wartości funkcji y n i x n. 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 x t, stosowane w modelach SD. W metodach nieekstrapolacyjnych do obliczenia wartości funkcji y n+1 wykorzystuje się tylko wartości funkcji y n i x n. 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 x t, stosowane w modelach SD.

82 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: 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: y n+1 = y n + x n t, zaś funkcji podcałkowej: x n+1 = f(y n+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. 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.

83 Dobór metody całkowania Istnieją również metody nieekstrapolacyjne o powtarzalnym kroku całkowania. W takich metodach pierwsze obliczenie wartości y n+1 wykonuje się stosując metodę pojedynczego kroku. Obliczona następnie wartość x n+1 jest traktowana jako pierwsze przybliżenie wartości x n+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: Istnieją również metody nieekstrapolacyjne o powtarzalnym kroku całkowania. W takich metodach pierwsze obliczenie wartości y n+1 wykonuje się stosując metodę pojedynczego kroku. Obliczona następnie wartość x n+1 jest traktowana jako pierwsze przybliżenie wartości x n+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 x n oraz przybliżonej wartości końcowej. W metodzie trapezowej wartość funkcji podcałkowej jest średnią arytmetyczną wartości początkowej x n oraz przybliżonej wartości końcowej.

84 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. 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.

85 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. 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 do 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 do 10-6.

86 Problemy reprezentacji zmiennoprzecinkowej w symulacji komputerowej dynamiki systemów Każdą liczbę rzeczywistą można przedstawić w postaci zmiennoprzecinkowej: 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 x0. 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. 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: Błąd reprezentacji zmiennoprzecinkowej wyrazić można jako:

87 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: 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ń zmiennych stanu (poziomów), równań natężeń strumieni przepływów, równań natężeń strumieni przepływów, równań zmiennych pomocniczych, równań zmiennych pomocniczych, równania upływu czasu. 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: 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. Powstawaniu błędów można zapobiec stosując algorytmy sumowania z poprawkami, np. algorytm Gilla-Moellera.

88 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 odwzorowują stany systemu rzeczywistego; wartości początkowe zmiennych stanu odpowiadają warunkom równowagi dynamicznej modelu. wartości początkowe zmiennych stanu odpowiadają warunkom równowagi dynamicznej modelu.

89 Modelowanie ograniczeń pojemnościowych L1(t) = L1(t - dt) + (R1 - R2) * dt INIT L1 = 100 INFLOWS: R1 = MIN(F,(C1-L1)/DT) OUTFLOWS: R2 = L1/T1 C1 = 250 F = 100+STEP(10,50) T1 = 5

90 TYPY ZACHOWAŃ SYSTEMÓW

91

92 Stany ustalone w modelach SD (Równowaga modelu) Równowaga dynamiczna Równowaga dynamiczna Wszystkie poziomy (zasoby) są stałe, tzn. Inflows=Outflows (Dopływy=Odpływy) Równowaga statyczna Równowaga statyczna Wszystkie poziomy (zasoby) są stałe i strumienie równe 0, tzn. Inflows=Outflows=0 (Dopływy=Odpływy=0)

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

94 OPROGRAMOWANIE MODELOWANIA SD Ewolucja systemów

95 Modele SD Zastosowanie pakietu EXCEL Przykład

96 Modele SD Zastosowanie pakietu EXCEL Wyniki symulacji TimeZSPZSTODPGWSPP 0,00 150,000,0030,000,00 1,0030,000,00150,000,0030,0015,00 2,0045,0015,00135,003,0030,0022,50 3,0052,5034,50115,506,9030,0026,25 4,0056,2553,8596,1510,7730,0028,13 5,0058,1371,2178,8014,2430,0029,06 6,0059,0686,0363,9717,2130,0029,53 7,0059,5398,3551,6519,6730,0029,77 8,0059,77108,4541,5521,6930,0029,88 9,0059,88116,6433,3623,3330,0029,94 10,0059,94123,2526,7524,6530,0029,97 11,0059,97128,5721,4325,7130,0029,99 12,0059,99132,8417,1626,5730,0029,99 13,0059,99136,2713,7327,2530,00 14,0060,00139,0110,9927,8030,00 15,0060,00141,218,7928,2430,00 16,0060,00142,967,0428,5930,00 17,0060,00144,375,6328,8730,00 18,0060,00145,504,5029,1030,00 19,0060,00146,403,6029,2830,00 20,0060,00147,122,8829,4230,00


Pobierz ppt "MODELOWANIE SYMULACYJNE Simulation Modelling (ang.) Edycja 2013/2014 Wykład (15h), Laboratorium (15h)"

Podobne prezentacje


Reklamy Google