Metody symulacyjne. Przebieg procesu symulacji. Cele badań symulacyjnych - przykłady zastosowań.
Co to jest „modelowanie symulacyjne”?
Proces projektowania i tworzenia komputerowego modelu systemu rzeczywistego lub hipotetycznego, lub problemu decyzyjnego, a następnie prowadzenie na tym modelu eksperymentów (komputerowych) celu uzyskania wiedzy na temat zachowań systemu rzeczywistego lub pomocy w rozwiązaniu problemu decyzyjnego.
Symulacja to obszerny zbiór metod, które służą do odtwarzania (naśladowania) systemów rzeczywistych poprzez analizę modeli, zwykle z wykorzystaniem komputera i odpowiedniego oprogramowania.
Metody symulacyjne.
Modele można klasyfikować w różny sposób. Istnieją modele fizyczne, takie jak np. model samolotu. Istnieją modele schematyczne, do których zaliczamy diagramy, mapy oraz schematy. Istnieją również modele symboliczne, czyli modele oparte na zapisie matematycznym oraz algorytmicznym. Modele symboliczne, użyteczne w powadzeniu analizy symulacyjnej mogą być klasyfikowane jako:
Analityczne/numeryczne.
- W modelu analitycznym uzyskuje się rozwiązanie problemu poprzez badanie zależności zapisanych za pomocą wzorów i formuł matematycznych.
- Modele numeryczne dostarczają rozwiązań poprzez wykonywanie operacji na liczbach.
Preskryptywne/opisowe .
- Modele preskryptywne są wykorzystywane w celu sformułowania i optymalizacji konkretnego problemu. Powinny zatem dostarczać jednego, najlepszego rozwiązania.
- Modele opisowe charakteryzują zachowanie się systemu, a problem optymalizacji pozostawiają analitykom.
Dyskretne/ciągłe. Klasyfikacja ta odnosi się do zmiennych występujących w modelu. Szczególnie istotny jest tutaj charakter zmiennej czasu.
- Zmienne ciągłe mogą przyjmować wartość każdej liczby rzeczywistej; Jeżeli zmiany w modelu występują w sposób ciągły w miarę upływu czasu, to określamy model jako ciągły.
- zmienna dyskretna przyjmuje wartości tylko z pewnego, ściśle określonego podzbioru liczb rzeczywistych;
Jeżeli zmiany występują w ściśle określonych chwilach czasowych – mówimy o modelu dyskretnym.
W procesach chemicznych, zmiany temperatury i ciśnienia dokonują się w sposób ciągły w czasie. Poprawne byłoby zatem wykorzystanie tu modelu ciągłego. Z kolei w domu handlowym, klienci przybywają, są obsługiwani, kończą zakupy w ściśle określonych momentach czasowych. Do opisu takiego systemu należałoby zatem wykorzystać model dyskretny.
Stochastyczne/deterministyczne
- W modelu deterministycznym wszystkie obiekty mają jednoznacznie ustalone względem siebie matematyczne lub logiczne powiązania. Konsekwencją tego rodzaju powiązań jest całkowita jednoznaczność rozwiązań. Całkowicie zautomatyzowana linia produkcyjna może być natomiast opisana modelem deterministycznym.
- W modelu stochastycznym przynajmniej część zmienności ma charakter losowy. Wszystkie systemy, w których jakąś rolę odgrywa człowiek, a także wiele systemów opartych jedynie na maszynach są systemami stochastycznymi.
Statyczne/dynamiczne.
- Model statyczny pomija udział czasu, albo opisuje chwilowy stan systemu w pewnym momencie
- Model dynamiczny wyraźnie podkreśla upływ czasu.
Otwarte/zamknięte.
- W modelach otwartych uzyskane wyniki nie są wykorzystywane do prowadzenia modyfikacji danych wejściowych w celu poprawy wyników.
- W modelach zamkniętych, wyniki są porównywane z założonym celem, czego konsekwencją jest modyfikacja danych wejściowych tak, aby uzyskać postawiony cel.
Klasycznym przykładem systemu zamkniętego jest system ogrzewania. Dokonywany jest pomiar temperatury i w zależności od wyniku porównania zmierzonej temperatury z temperatura zamierzoną – system grzewczy jest włączany lub wyłączany. Innym przykładem systemu zamkniętego jest przedsiębiorstwo, w którym podejmowane są decyzje a następnie obserwowany jest wpływ podjętych decyzji na założone parametru rozwoju. Jeżeli porównanie nie jest satysfakcjonujące, wprowadzane są zmiany, podejmowane są kolejne decyzje i ponownie obserwowany jest efekt.symulacyjnemu?
Przebieg procesu symulacji.
Etapy :
1. Sformułowanie problemu
2. Zebranie i analiza danych wejściowych
3. Sformułowanie modelu matematycznego
4. Budowa programu komputerowego
5. Weryfikacja i walidacja modelu
6. Projektowanie układu eksperymentów
7. Analiza wyników
Analiza symulacyjna jest deskryptywną techniką modelowania. Oznacza to, że nie istnieje zestaw reguł, procedur, kroków, które stanowiłyby integralną część modelu. Procedura budowy i wykorzystania modelu symulacyjnego musi być stworzona każdorazowo podczas prowadzenia analizy symulacyjnej.
Przykład: W supermarkecie znajduje się kilka kas obsługujących klientów. Kierownictwo zastanawia się nad zmianą organizacji pracy w celu polepszenia standardu obsługi klientów.
1. Sformułowanie problemu
Najistotniejszy krok analizy symulacyjnej. Komputerowe eksperymenty symulacyjne powinny zacząć się od sformułowania problemu lub jasnego sprecyzowania celów eksperymentu. Cele te przyjmują zazwyczaj postać pytań, na które udziela się odpowiedzi, hipotez, które podaje się testom sprawdzającym oraz skutków będących przedmiotem estymacji. Należy też określić kryteria oceny odpowiedzi uzyskiwanych na zadane pytania (np. mierniki jakości obsługi)
Przykład: W jaki sposób zmodyfikować harmonogram, pracy stanowisk kasowych, aby nie powiększając kosztów zatrudnienia poprawić jakośc obsługi klientów?
2. Zebranie i analiza danych wejściowych
Metody gromadzenia danych są bardzo różne, poczynając od technik manualnych po bardzo zaawansowane technicznie. Przy wyborze metody należy kierować się: możliwością szybkiego wprowadzenia danych do komputera, możliwością zebrania danych z pożądaną dokładnością, wpływem procesu zbierania danych na zachowanie się atrybutów systemu, które właśnie podlegają pomiarom. Najefektywniej jest korzystać z już istniejących zbiorów danych (w przykładzie: informacjami o liczbie zakupionych towarów, czasie finalizowania jednej transakcji), jednakże zawsze bazy te należy obdarzać ograniczonym zaufaniem.
Oprócz problemu JAK zbierać, pozostaje jeszcze problem ILE zbierać. Oczywiście im większy jest zbiór zgromadzonych danych, tym rośnie dokładność wyznaczanych na ich podstawie charakterystyk. Jednocześnie jednak zwiększa się czas (koszt) zbierania danych oraz czas (koszt) ich analizy. Teoria statystyki pomaga rozwiązać ten problem.
Zebrane dane można wykorzystać w modelu w dwojaki sposób: (1) użyć zebraną próbkę do odtworzenia rozkładu statystycznego lub (2) na podstawie próbki określić rozkład statystyczny.
3. Budowa modelu matematycznego
Dobrze jest zaczynać od modelu o wysokim stopniu ogólności, w którym ujęte byłyby wszystkie najważniejsze relacje. W fazie następnej należy uszczegółowić model. Budowę modelu należy rozpocząć od przeprowadzenia następujących badań:
identyfikacja zmiennych decyzyjnych i zmiennych kontrolowalnych
określenie ograniczeń dla zmiennych decyzyjnych
zdefiniowanie mierników działania systemu i funkcji celu
określenie wstępnej struktury modelu w celu ustalenia wzajemnych powiązań pomiędzy zmiennymi.
4. Opracowanie programu komputerowego
Kroki:
budowa schematu blokowego głównego szkieletu programu,
wybór języka programowania – GPSS, SLAM, SIMAN, PACSAL, BASIC, C++, lub pakiet do symulacji graficznej (np. ARENA) Języki symulacyjne mają tę przewagę, że posiadają już wbudowane specjalne procedury „symulacyjne” (sterowanie upływem czasu, generatory liczb losowych, narzędzia statystyczne służące do analizy wyników), które znacznie przyspieszają i ułatwiają prace na budową modelu symulacyjnego. Odbywa się to niestety kosztem objętości programu i pewnej „sztywności” opisu systemów.
wybór i oprogramowanie generatorów liczb losowych i zmiennych losowych. W każdym stochastycznym modelu symulacyjnym rzeczą ogromnej wagi jest właściwy dobór generatorów liczb i zmiennych losowych. W przykładzie, czasy nadejścia kolejnych klientów generowane byłyby na podstawie pewnego rozkładu statystycznego.
napisanie i sprawdzenie programu
5. Weryfikacja i walidacja modelu
Proces weryfikacji i walidacji związany jest z trzema modelami: modelem konceptualnym, modelem logicznym i modelem komputerowym. Weryfikacja dotyczy wewnętrznej spójności modelu natomiast walidacja odnosi się do związków pomiędzy modelem a rzeczywistością.
6. Projektowanie układu eksperymentów
Ogólnie, w teorii planowania układu eksperymentów wyróżniają się dwa podejścia:
łączenie informacji a priori o systemie z danymi, które gromadzone są w trakcie trwania symulacji. wyróżnia się czynniki, które (domyślamy się lub wiemy) mają wpływ na miary końcowe i przeprowadzamy eksperymenty nadając tym czynnikom różne (zbiory) wartości. Następnie stosujemy metodę redukcji wariancji, aby wybrać czynniki, dla których ten wpływ możemy potwierdzić. Wada- nie pozwala na znalezienie najlepszego rozwiązania ani nawet nie gwarantuje, że znalezione rozwiązanie jest optymalne lokalnie
metody szukania rozwiązania optymalnego.
przeprowadza się dużą liczbę badań symulacyjnych zmieniając zmienną decyzyjną i obserwuje się zmiany mierników działania systemu, aż do momentu kiedy zmiany ponownie następują w przeciwnym kierunku. Oznacza to, ze znalezione zostało optimum lokalne.
7. Analiza wyników
Kluczowym zadaniem jest zebranie obserwacji z wielu niezależnych powtórzeń symulacyjnych. Większość klasycznych technik analizy statystycznej, takich jak wyznaczenie przedziałów ufności przy szacowaniu średniej, obliczenie standardowego błędu średniej, analiza wrażliwości, porównanie średnich w dwóch populacjach wyników, analiza wariancji ANOVA i inne może być wtedy automatycznie wykorzystana.
Metoda Monte Carlo i tzw. Pulsacyjne (terminating) symulacje dynamiczne automatycznie zapewniają uzyskanie zbioru niezależnych powtórzeń, a użytkownikowi pozostaje do rozstrzygnięcia, jaka liczba powtórzeń powinna być wykorzystana, aby osiągnąć satysfakcjonującą dokładność wyników. Większa liczba powtórzeń zapewnia większą precyzję szacowania średniej, a jako miernik dokładności służą przedziały ufności . Jest oczywiste, że im przedział ufności jest mniejszy, tym precyzyjniej wyznaczyliśmy wartości badanych zmiennych. Obserwowanie długości przedziału ufności pozwala zatem dobrać właściwą liczbę powtórzeń symulacyjnych n i poprawnie określić czas trwania powtórzenia.
Cele badań symulacyjnych - przykłady zastosowań:
Modele symulacyjne konstruowane mogą być w celu:
- Opisu bieżącego funkcjonowania systemu. Rozważmy przypadek firmy produkcyjnej, która ostatnio zanotowała wzrost zamówień, lecz okazuje się, że ma coraz poważniejsze trudności w dotrzymaniu terminów dostaw dla swoich klientów. Za pomocą modelu symulacyjnego można zbadać, w jakim stopniu bieżące oceny terminów dostaw, harmonogramy produkcyjne oraz zamówienia surowcowe wpływają na powstawanie zaobserwowanych opóźnień,
- Analizy hipotetycznego systemu. Rozważmy szpital, którego kierownictwo zamierza zainstalować nowy, skomputeryzowany system uzupełniania zapasu leków i narzędzi lekarskich. Można zbudować model symulacyjny, w którym zastosowane byłyby dane historyczne w celu sprawdzenia, jaki byłby przeciętny wzrost nakładów inwestycyjnych, które należałoby ponieść oraz jak często w nowym systemie występowałyby określone braki w zaopatrzeniu,
- Zaprojektowania udoskonalonego systemu. Rozważmy zakład produkcyjny, w którym maszyny są zlokalizowane według priorytetów określonych dla każdego typu operacji. Firma może zbudować model symulacyjny w celu wyznaczenia efektywnej metody ustalania priorytetów tak, aby operacje były wykonywane bez długich opóźnień i aby wykorzystanie wyposażenia było odpowiednio wysokie.
Przykłady zastosowań:
Pola zastosowań symulacji są bardzo rozległe i ciągle powiększają się. Znane przykłady wdrożeń modeli symulacyjnych obejmują systemy finansowe, transportowe, produkcyjne, dystrybucyjne, usługowe. Poniższa lista to tylko niewielki fragment możliwych zastosowań:
Projektowanie i analiza systemów produkcyjnych;
Ocena sprzętowych i programowych wymagań dla systemów komputerowych;
Ocena nowych możliwości zbrojeniowych;
Określanie strategii sterowania zapasami;
Projektowanie systemów komunikacyjnych;
Projektowanie systemów transportowych (autostrady, metro, lotniska, porty);
Analiza systemów finansowych i ekonomicznych;
Rozwiązania organizacyjne w takich obiektach jak: szpitale, pogotowie ratunkowe…
Jakie systemy rzeczywiste poddawane są badaniu
Przedsiębiorstwo wraz z maszynami, robotnikami, urządzeniami transportowymi, powierzchnią magazynową,
Bank (lub inna firma usługowa) obsługujący różnych klientów i świadczący usługi różnego typu,
Oddział pomocy doraźnej (oddział ratunkowy) wraz z personelem, salami, wyposażeniem, karetkami,
Sieć komputerowa z serwerami, klientami, dyskami, drukarkami
Sieć autostrad ze skrzyżowaniami, ruchem ulicznym,
System wymiaru sprawiedliwości wraz z budynkami sądowymi, sędziami, personelem pomocniczym,
Restauracja typu „fast-food” wraz z pracownikami, klientami, wyposażeniem
Supermarket
Park zabaw