Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład (10h), Laboratorium (10h)

Podobne prezentacje


Prezentacja na temat: "Wykład (10h), Laboratorium (10h)"— Zapis prezentacji:

1 Wykład (10h), Laboratorium (10h)
MODELOWANIE SYMULACYJNE Simulation Modelling (ang.) Edycja N2M 2015/2016 Wykład (10h), Laboratorium (10h)

2 Roman Pietroń, dr inż. K-4/IZ/ PWr. , B1 p. 413c e-mail: roman
Roman Pietroń, dr inż. K-4/IZ/ PWr., B1 p. 413c Konsultacje: Wtorek (Wrocław PWr., B1, 413c) Czwartek (Wrocław PWr., B1, 413c)

3 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. Pietroń R., Zbiór zadań z modelowania symulacyjnego, E-Materiał PWr., 2012. Maciąg A., Pietroń R., Kukla S., Prognozowanie i symulacja w przedsiębiorstwie, Wyd. PWE Warszawa 2013. 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 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 [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.

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

6 Bibliografia – poziom zaawansowany
Czasopisma: System Dynamics Review Simulation Simulation & Gaming 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
Wprowadzenie do modelowania symulacyjnego. Przykłady modeli i badań. Zagadnienia ogólne. Etymologia, źródła historyczno-filozoficzne. Zagadnienia metodologiczne. Definicje, struktury, budowa modeli, weryfikacja, eksperyment symulacyjny, wnioskowanie. Metody i techniki modelowania symulacyjnego: symulacja ciągła (metoda J.W.Forrestera), symulacja dyskretna (metody planowania zdarzeń, przeglądu i wyboru działań, interakcji procesów), symulacja za pomocą gier, symulacja rozproszona, technologia agentowa w symulacji. Zastosowania badań symulacyjnych w 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

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

10 OCENY Celujący 5.5 (≥ 95%), Bardzo dobry 5.0 (≥ 85%),
Ponad dobry (≥ 75%), Dobry (≥ 65%), Ponad dostateczny 3.5 (≥ 55%), Dostateczny (≥ 45%), Niedostateczny 2.0 (< 45%).

11 TEMATY ZAJĘĆ LABORATORYJNYCH
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) Interakcja procesów - metoda symulacji dyskretnej. Zastosowanie języka GPSS World, systemów Arena, ExtendSim. (2 godziny) 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. (2 godziny) Projekt i budowa modelu symulacyjnego systemu dynamicznego o charakterystyce ciągłej. Eksperyment i wnioskowanie z badań. (1 godzina) Podsumowanie i zaliczenie zajęć. (1 godzina)

12 Laboratorium 1-3 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 budowy systemu z elementów, podsystemów (system jako złożenie wzajemnie oddziałujących elementów) Idea funkcji spełnianej przez system (system jest całością o określonej funkcji) Idea zmienności (ograniczonej) systemu w czasie (system jako całość zmienna w czasie ale zachowująca istotę – właściwości podstawowe)

15 Jakie czynniki są istotne w konceptualizacji modelu systemu?

16 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

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 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 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”) zmiany stanu systemu opisane są funkcjami ciągłymi, zazwyczaj systemy o funkcjonowaniu ciągłym. Symulacja dyskretna („podejście mikroskopowe”) zmiany stanu systemu opisane są funkcjami dyskretnymi, zazwyczaj systemy o funkcjonowaniu dyskretnym.

20 Symulacja ciągła a dyskretna
Aspekty modelowania Symulacja ciągła Symulacja dyskretna Zdarzenie w systemie – zmiana stanu systemu Matematyczna funkcja ciągła. Matematyczna funkcja dyskretna. Upływ czasu – charakter obserwacji stanów systemu Interwał obserwacji systemu jest zazwyczaj stały – quasi-ciągłość (dt=const); Iteracje symulacyjne są sekwencją obliczeń zależną od czasu systemu. Interwał obserwacji jest stały lub zależny od zdarzeń (metoda następstwa zdarzeń); Iteracje symulacyjne zależą od warunków logicznych lub czynności zdarzeń. Obiekt modelowania Jednostkowo nie-identyfikowalny i jednorodny (homogeniczny) przepływ (strumień) materii, energii, informacji; Reguły decyzyjne sterowania przepływem. Identyfikowalny pojedynczy obiekt dynamiczny przemieszcza-jący się w sieci czynności; Struktura obiektów statycznych do wykonania czynności z zasobami. Orientacja modelowania Dynamika systemu; Relacje przyczynowo-skutkowe; Relacja struktura-zachowanie; Analiza pętli sprzężeń zwrotnych; Identyfikacja struktur rodzajowych. Produktywność, wydajność, sprawność i efektywność systemu; Wykorzystanie zasobów systemu; Czas wykonania procesów; Identyfikacja „wąskich gardeł”. Opis systemu: charakterystyka wejściowa symulacji Reguły decyzyjne dla sterowania (zarządzania) przepływem strumieni; Charakterystyka struktury systemu (relacje przyczyna-skutek, opóźnienia przepływu, wzmocnienia, ograniczenia pojemnościowe). Charakterystyka atrybutów obiektów dynamicznych (reguły decyzyjne, reguły łączenia i rozdziału, marszruta, czasy kreacji i opóźnienia przepływu); Opis obiektów statycznych (pojemności, dostępności). Opis systemu: charakterystyka wyjściowa symulacji Własności dynamiczne (przebiegi przejściowe, stacjonarność, niestacjonarność, stabilność, niestabilność, równowaga, dominacja pętli sprzężeń zwrotnych, stan systemu). Zagregowane własności statystyczne systemu i obiektów (stan systemu, wykorzystanie zasobów, sprawność, wydajność, efektywność, dostępność). Upływ czasu Czas pomiędzy dwoma kolejnymi obserwacjami systemu jest zazwyczaj stały (dt=const); Iteracje symulacyjne są sekwencją obliczeń zależną od czasu systemu. Czas pomiędzy dwoma kolejnymi obserwacjami jest stały (metoda krokowa) lub zależny od zdarzeń Iteracje symulacyjne są przetwarzaniem warunków logicznych lub czynności zdarzeń Regulaminy przepływu dynamicznych obiektów Regulamin FIFO. Obiekty statyczne i dynamiczne z regulaminami: FIFO, LIFO, SPT, priorytetowym, losowym. Marszruty Przepływy muszą mieć jednoznaczną definicję marszruty (rozdzielenie strumienia i przepływy do wielu miejsc w tym samym czasie). Obiekty dynamiczne kierowane do pierwszego z możliwych miejsc (obiekty mogą być w danym czasie tylko w jednym miejscu); Klony (kopie) obiektów są odrębnymi obiektami (te same atrybuty). Statystyki Ogólne charakterystyki (rzadziej statystyki) systemu: ilość, sprawność, czas przejścia. Ogólne charakterystyki systemu; Ponadto statystyki obiektów: liczniki, wykorzystanie, czas. Dziedziny zastosowania metody symulacji – przypadki użycia Badania naukowe, praktyka gospodarcza: myślenie systemowe, inżynieria systemów, zarządzanie, ekonomia, ekologia, produkcja, logistyka, BPM, BPR, finanse. Praktyka gospodarcza, badania naukowe: usługi, wytwarzanie, produkcja, BPM, BPR, sieci, inżynieria systemów, zarządzanie, finanse.

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

22 Jakie są etapy (fazy) modelowania?

23 ETAPY BUDOWY I WYKORZYSTANIA MODELU SYMULACYJNEGO
Podmioty: odbiorca wyników symulacji, symulog Określenie systemu, sytuacji problemowej i celu budowy modelu Budowa modelu (konceptualizacja, formalizacja) Przygotowanie danych wejściowych symulacji Programowanie modelu (operacjonalizacja modelu) Ocena zasadności i weryfikacja modelu (eksperyment wstępny) Planowanie eksperymentu symulacyjnego Realizacja eksperymentu symulacyjnego (eksperyment właściwy) Analiza i interpretacja wyników symulacji Dokumentowanie symulacji Praktyczne wykorzystanie wyników symulacji

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

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

26

27 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 Hurtownik(t) = Hurtownik(t - dt) + (DosPrHu - DostHuDy) * dt INIT Hurtownik = 4 DosPrHu = ZamHur/TDHu Producent(t) = Producent(t - dt) + (DosFaPr - DosPrHu) * dt INIT Producent = 4 DosFaPr = DosPrHu+(NPr-Producent)/TDP 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

28 Stany zasobów systemu

29 Przepływy w systemie

30 Przykład modelowania symulacyjnego systemu dyskretnego
SYMULACJA FUNKCJONOWANIA BANKU *************************************************************************** * Symulacja Banku * * Jednostka czasu: godzina * Czas EQU ;Średni czas obsługi (komentarz od znaku ;) Kod VARIABLE C1+10 ;Kod czasu dla Urzednik2. Func1 FUNCTION RN1,D2 ;Definicja skumulowanej funkcji gęstości prawdopodobieństwa .7,Urzednik1/1,Urzednik2 ;wyboru urzędnika. Klienci wybierają Urzednika1 z ;prawdopodobieństwem 0.7, Urzędnika2 z prawdopodo;bieństwem 0.3. GENERATE , ;Kreowanie (generowanie) kolejnego klienta w banku. ASSIGN Urzednik_nr,FN$Func1 Przypisanie numeru urzędnika do parametru transakcji. QUEUE P$Urzednik_nr; ;Początek dla statystyki kolejkowej. SEIZE P$Urzednik_nr ;Zajęcie urzędnika. DEPART P$Urzednik_nr ;Koniec dla statystyki kolejkowej. ADVANCE CzasObslugi, ;Wykonanie obsługi klienta. RELEASE P$Urzednik_nr ;Zwolnienie urzędnika. TERMINATE ;Klient opuszcza bank. * Segment * * Zegar i zbieranie statystyk * GENERATE ;Pomiar statystyk co 1 godzinę pracy banku. SAVEVALUE C1,Q$Urzednik1 ;Pomiar długości kolejki przed Urzednik1. SAVEVALUE V$KodCzasu,Q$Urzednik2 ;Pomiar długości kolejki przed Urzednik2 TERMINATE 1 ;Koniec kolejnej godziny pracy banku START 8 ;Symulacja 8 godzinnego dnia pracy banku

31 Wyniki symulacji Raport symulacji
GPSS World Simulation Report - Sample6-Bank.1.1 Friday, January 02, :17:34 START TIME END TIME BLOCKS FACILITIES STORAGES NAME VALUE CZASOBSLUGI FUNC KODCZASU URZEDNIK URZEDNIK 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

32 ODWZOROWANIE UPŁYWU CZASU W MODELACH SYMULACYJNYCH
Symulacja ciągła - metoda stałego kroku 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)

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

34 Metoda Monte Carlo Algorytm metody: Wyniki obliczeń:
Wybór losowych zmiennych wejściowych (rozkłady prawdopodobieństw) Wybór zmiennych wyjściowych (ustalenie formuł i algorytmu obliczeń) Wykonanie obliczeń dla n obserwacji: Generowanie zmiennych losowych (np. popyt, …) Wyznaczenie zmiennych wyjściowych (formuły, algorytm) Powtórzenia (n obserwacji) Wyznaczenie statystyk wyjściowych (np. średnia, odchylenie standardowe, odchylenie kwadratowe, wariancja, przedziały ufności) Wykonanie obliczeń dla k replikacji: Powtórzenia n prób (k replikacji) (k powtórzeń w jednym eksperymencie) Eksperymenty (rozkłady prawdopodobieństw) Wyniki obliczeń: Ś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)

35 Przykład zastosowania metody Monte Carlo - 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).

36 Przykład zastosowania metody Monte Carlo - dane
Sprzedawca zaobserwował, że popyt na jabłka w kolejnych 20 dniach kształtował się następująco: Prawdopodob. Skumulowane (obliczone) prawdopodob. 2/20=0,10 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 Popyt na jabłka Częstość (kg) (liczba dni) Razem: 20 dni

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

38 Przykład zastosowania metody Monte Carlo - próbkowanie
„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órzenie 1: 18 dni Powtórzenie 2: 14 dni ... W Excelu liczby losowe generowane są za pomocą funkcji LOS()

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

40 Modelowanie procesów dyskretnych – zdarzenia w procesach
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.

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

42 Podstawowe elementy modeli dyskretnych
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.

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

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

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

46 PRZYKŁAD MODELOWANIA SYMULACYJNEGO W SYSTEMIE ARENA

47 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

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

49 PRZYKŁAD MODELOWANIA SYMULACYJNEGO W SYSTEMIE EXTENDSIM

50 Symulacja ciągła Wprowadzenie do dynamiki systemów
Laboratorium 4-5 Symulacja ciągła Wprowadzenie do dynamiki systemów

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

52 Zbiór koncepcji dotyczących natury rzeczywistości
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.

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

54 Związki przyczynowo - skutkowe i pętle sprzężeń zwrotnych
Pętla przyczynowa sprzężenia zwrotnego (ang. feed back) reprezentuje własność elementu systemu polegającą na tym, że element ten wpływa na samego siebie poprzez następstwo łańcucha związków przyczynowych. Podobnie jak w przypadku związków przyczynowych można mówić o pętlach dodatnich, ujemnych, neutralnych oraz o pętlach mieszanych, jako kombinacji pętli elementarnych. Typy sprzężeń zwrotnych: Dodatnie sprzężenie zwrotne Ujemne sprzężenie zwrotne Neutralne sprzężenie zwrotne Ukłądy mieszane sprzężeń zwrotnych

55 Dodatnie sprzężenie zwrotne
Dodatnia pętla przyczynowa sprzężenia zwrotnego w odniesieniu do pewnego elementu systemu oznacza, że zmiana charakterystyki tego elementu wywołuje po pewnym czasie nową zmianę tej charakterystyki w tym samym kierunku zmiany. Przykłady: Model inflacji - jako efekt dodatnich związków przyczynowych pomiędzy kosztem wytworzenia, ceną zakupu, "naciskiem" na płace. Model ewolucji maltuzjańskiej populacji - jako rezultat dodatnich związków przyczynowych pomiędzy wielkością populacji a wzrostem urodzeń osobników populacji.

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

57 Ujemne sprzężenie zwrotne
Ujemna pętla sprzężenia zwrotnego powstaje wtedy, gdy zmiany charakterystyki elementu systemu równoważone są przez działanie przeciwdziałające zmianie wywołując "efekt przeciwny" zmiany. Przykłady: Regulacja temperatury przez termostat, Regulacja poziomu wody w zbiorniku.

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

59 Neutralne sprzężenie zwrotne
Istnieją również pętle sprzężenia zwrotnego określane jako neutralne, które nie są pętlami ani dodatnimi ani ujemnymi. Neutralne pętle sprzężenia zwrotnego charakteryzują się alternatywnym funkcjonowaniem w kierunkach zmian w systemie. Przykłady: Cykl decyzyjny zawierający informacje prowadzącą od określonej decyzji do podjęcia działania na podstawie tej decyzji. Informacja o skutkach działania może być podstawą decyzji o wstrzymaniu lub ponownym podjęciu działania w systemie. Relacja pomiędzy elementami modelu systemu nauczania w szkole: motywacją ucznia do nauki, dokonanych postępach w nauce, wynikami nauczania, presją nauczyciela.

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

61 Układy mieszane sprzężeń zwrotnych
W złożonych systemach, przedstawione powyżej pętle elementarne (dodatnia, ujemna, neutralna) sprzężenia zwrotnego często występują obok siebie tworząc układy mieszane (kombinacje) tych pętli. Przykład: Model rozwoju populacji uwzględniający procesy narodzin nowych członków populacji oraz zgonów w populacji.

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

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

64 Podstawowe struktury i obliczenia modeli SD
Relacje pomiędzy wielkościami systemu odwzorowane schematycznie i jakościowo w modelu graficznym są konkretyzowane w modelu matematycznym przedstawionym za pomocą układu równań. Wyróżnia się trzy rodzaje równań: równania poziomów, równania strumieni, równania zmiennych pomocniczych.

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

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

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

68 Notacja graficzna metody SD
Opis struktury systemu w modelu SD: Schemat graficzny struktury Równania modelu Schemat graficzny Schemat przyczynowo-skutkowy (diagram wpływów) Schemat strukturalny Schemat graficzny struktury (schemat strukturalny) Do przedstawienia modelu w formie graficznej używa się następujących elementów i symboli graficznych: Prostokąt, reprezentujący poziom (zasób) medium w systemie i stowarzyszonego z określoną zmienną stanu modelu matematycznego Linia ciągła, zakończona grotem strzałki, symbolizująca przepływ materialny lub energetyczny Linia przerywana, zakończona grotem strzałki, symbolizująca przepływ informacyjny Znak regulatora przepływu nazywany strumieniem (dwa trójkąty równoramienne złączone wierzchołkiem i uzupełnione prostokątem), określający stanowisko regulacji przepływu medium na podstawie pewnej funkcji regulacyjnej, zapisanej formalnie w modelu matematycznym Okrąg, reprezentujący wielkość pomocniczą, która jest definiowana w procesie przetwarzania informacji wykorzystywanej do regulacji strumieni Okrąg przekreślony odcinkiem, symbolizujący wielkości stałe w systemie (parametry) Nieregularny owal (‘chmurka’) reprezentujący źródło zewnętrzne wypływu medium lub ujście zewnętrzne przepływającego medium.

69 Notacja graficzna metody SD – schemat strukturalny

70 Proces modelowania SD

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

72 Postępowanie badawcze modelowania za pomocą metody SD
Sformułowanie problemu badawczego. Ustalenie czynników analizowanego zjawiska (etap konceptualizacji modelu). Wyodrębnienie związków przyczynowych i pętli sprzężeń zwrotnych wiążących działania regulacyjne z decyzjami, informacjami i tworzących mechanizm przyczynowo-skutkowy modelowanego systemu (schemat przyczynowo-skutkowy, schemat strukturalny). Identyfikacja i ustalenie opisu formalnego reguł decyzyjnych (równania). Skonstruowanie matematycznego modelu systemu (układ równań SD). Wykonanie eksperymentów symulacyjnych na modelu. Porównanie wyników symulacyjnych z dostępnymi informacjami o badanym systemie jego funkcjonowaniu. Wprowadzenie do modelu zmian mających na celu uzyskanie akceptowanej zgodności modelu z zachowaniem się oryginału. Projektowanie zmian lub ingerencji w modelowanym systemie, poprawiających charakterystyki dynamiczne systemu. Wdrożenie w systemie rzeczywistym zaprojektowanych zmian lub ingerencji.

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

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

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

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

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

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

79 Dobór DT Zasada N.Roberts
Długość kroku czasowego DT dobieramy dla każdego modelu SD, aż zostanie dobrana taka długość, że jej zmniejszenie nie powoduje dostrzegalnych zmian w wynikach tego modelu. W modelach z dodatnią pętlą sprzężenia zwrotnego wywołującą wzrost wykładniczy, długość kroku DT przyjmujemy w granicach od 1/5 do 1/10 "czasu podwojenia" T2 (czasu podwojenia początkowej wartości poziomu). W modelach z ujemną pętlą sprzężenia zwrotnego długość kroku DT przyjmujemy w granicach od 1/3 do 1/4 czasu T1/2 zmniejszenia o połowę początkowej wartości poziomu. Warunki te możemy przedstawić następująco: dla dodatniej pętli sprzężenia ze wzrostem wykładniczym: dla ujemnej pętli sprzężenia zwrotnego:

80 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

81 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=nDt.

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

83 Dobór metody całkowania
Najczęściej stosowaną metodą całkowania nieekstrapolacyjnego jest metoda Eulera (zwana także metodą prostokątów). W metodzie tej zakłada się, że wartość funkcji podcałkowej jest stała w całym zakresie przedziału kroku iteracyjnego i jest równa wartości funkcji podcałkowej na początku tego przedziału. Wartość funkcji całkowanej na końcu przedziału iteracyjnego wynosi: yn+1 = yn + xn Dt, zaś funkcji podcałkowej: xn+1 = f(yn+1,t). Metoda prostokątów jest stosowana najczęściej w metodzie SD, gdzie zgodnie z przyjętą w tej metodzie notacją punkty czasowe n-1, n, n+1oznacza się odpowiednio J, K, L.

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

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

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

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

88 Problemy reprezentacji zmiennoprzecinkowej w symulacji komputerowej dynamiki systemów
Do najbardziej "niebezpiecznych" zmiennoprzecinkowych operacji arytmetycznych należą dodawanie i odejmowanie, które w sytuacji zbliżonych argumentów operacji mogą powodować znoszenie się cyfr znaczących prowadzących do powstawania znacznych błędów. Błędy numeryczne mogą powstawać w obliczeniach: równań zmiennych stanu (poziomów), równań natężeń strumieni przepływów, równań zmiennych pomocniczych, równania upływu czasu. Stosunkowo najmniejsze wartości błędów powstają w obliczeniach poziomów. Znacznie poważniejsze zaburzenia i niedokładności mogą jednak powstać w obliczeniach wykonywanych w równaniach natężeń strumieni przepływów i równaniach zmiennych pomocniczych. Brak meta-reguł tworzących te wielkości oraz indukcyjny charakter konceptualizacji tych równań modelu powodują, że postać algebraiczna tych równań może być różna. Analizę dokładności obliczeniowej uzyskiwanej dla tych równań, podobną do przeprowadzonej dla uogólnionego przypadku równania poziomu, należy zatem przeprowadzać dla każdego przypadku z osobna, co jest znacznym utrudnieniem dla modelującego. Znaczne niedokładności wyników obliczeń realizowanych przy użyciu komputera mogą także powstać w operacji sumowania realizowanej w pętli obliczeń rekurencyjnych. W symulacji modeli dynamiki systemów sytuacja taka może powstawać w równaniach zasobów akumulacyjnych lub w równaniu upływu czasu: CZAS.K = CZAS.J +DT Powstawaniu błędów można zapobiec stosując algorytmy sumowania z poprawkami, np. algorytm Gilla-Moellera.

89 Dobór danych wejściowych symulacji
Przed rozpoczęciem obliczeń symulacyjnych należy zdefiniować stan początkowy systemu. Stan początkowy systemu w chwili t=t0 wyznaczony jest przez określenie wartości zmiennych stanu w chwili t0. W zależności od celu i kontekstu badań symulacyjnych istnieją dwa zasadnicze sposoby definiowania wartości początkowych dla zmiennych stanu: wartości początkowe zmiennych stanu odwzorowują stany systemu rzeczywistego; wartości początkowe zmiennych stanu odpowiadają warunkom równowagi dynamicznej modelu.

90 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

91 TYPY ZACHOWAŃ SYSTEMÓW

92 TYPY ZACHOWAŃ SYSTEMÓW

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

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

95 OPROGRAMOWANIE MODELOWANIA SD Ewolucja systemów

96 Modele SD Zastosowanie pakietu EXCEL Przykład

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


Pobierz ppt "Wykład (10h), Laboratorium (10h)"

Podobne prezentacje


Reklamy Google