1
Modele symulacyjne i symulacja komputerowa
(Opracowane na podstawie: Nowak, M., Symulacja komputerowa w problemach
decyzyjnych, Katowice 2007)
Symulacja komputerowa polega na skonstruowaniu modelu analizowanego obiektu lub
procesu (zjawiska) i przeprowadzaniu na nim eksperymentów z wykorzystaniem programu
symulacyjnego
Definiując symulację komputerową, skorzystaliśmy z terminu „model". Pojęciem to
odnosi się do pewnego uproszczonego obrazu interesującego nas wycinka rzeczywistości
opisującego elementy, które uznajemy za interesujące, a pomijającego kwestie mniej istotne.
Modelowanie jest szeroko stosowaną metodą analizy różnego rodzaju zjawisk i problemów.
W przypadku symulacji komputerowej interesować nas będą modele matematyczne, czyli
takie, które zapisywane są w postaci zbioru symboli, relacji matematycznych oraz zasad
operowania nimi.
Do rozwiązania problemu opisanego za pomocą modelu matematycznego wykorzystać
można zarówno metody analityczne (algorytmy), jak i numeryczne. Pierwsze z nich są
procedurami, które stosowane krok po kroku prowadzą do uzyskania rozwiązania
analizowanego problemu. Przykładem tego typu metody jest algorytm simpleks pozwalający
na rozwiązanie problemu, którego model zapisany jest w postaci zadania programowania
liniowego. Stosowanie technik analitycznych wymaga przyjęcia założeo, które w wielu
wypadkach mogą być uznane za zbyt restrykcyjne. Ponadto wiele praktycznych problemów
decyzyjnych ma strukturę na tyle złożoną, że ich rozwiązanie metodami analitycznymi jest,
przy obecnym stanie wiedzy, bardzo trudne lub wręcz niemożliwe. W takiej sytuacji jesteśmy
zmuszeni do skorzystania z metod numerycznych, do których należą między innymi metody
symulacyjne.
Modele symulacyjne mają charakter modeli opisowych, czyli takich, które opisują
relacje zachodzące między poszczególnymi elementami analizowanego zjawiska i dostarczają
informacji pozwalających na ocenę rozpatrywanych rozwiązao. Schemat modelu przedstawia
rys. 1. Na wejście modelu składają się zmienne decyzyjne oraz zmienne stanu. Pierwsze z
nich to wielkości, których wartości określa decydent. Zmienne stanu opisują natomiast
parametry pozostające poza jego kontrolą. Dla określonych wartości zmiennych wejściowych
model, korzystając ze zdefiniowanych przez użytkownika relacji, wyznacza wartości
zmiennych wyjściowych pozwalających na ocenę jakości analizowanego rozwiązania.
WEJ
ŚCIE
WYJ
ŚCIE
Rys. 1. Schemat modelu symulacyjnego
Modele matematyczne mogą mieć charakter statyczny lub dynamiczny. Podczas gdy
pierwsze nie uwzględniają zjawiska upływu czasu lub opisują stan systemu w określonym
momencie czasu, w przypadku drugich czas odgrywa rolę zasadniczą. Modele dynamiczne
opisują powiązania między wartościami zmiennych w różnych momentach czasu. Część
badaczy ogranicza zakres pojęcia „symulacja komputerowa" do metod, których zadaniem
jest analiza procesów, a więc sekwencji zdarzeo pojawiających się w określonym odcinku
2
czasu. W niniejszej pracy termin ten rozumieć będziemy jednak szerzej. Symulację
komputerową wykorzystywać zatem będziemy do przeprowadzenia eksperymentów
zarówno na modelach statycznych, jak i dynamicznych.
Charakter zjawisk opisywanych modelem oraz potrzeby, dla których model jest
konstruowany, powodują, że model może mieć charakter deterministyczny, stochastyczny
lub rozmyty. W pierwszym wypadku zakładamy, że wszystkie parametry modelu zostały
oszacowane w sposób precyzyjny, a powiązania między elementami modelu mają charakter
jednoznacznych relacji matematycznych i logicznych. Brakuje zatem miejsca na jakąkolwiek
niepewność czy ryzyko. Przyjmujemy, że analizując określone rozwiązanie, jesteśmy w stanie
określić w sposób ścisły efekt, do którego ono prowadzi. W wielu wypadkach założenie takie
musi być uznane za zbyt daleko idące. Otaczająca nas rzeczywistość jest bowiem na tyle
bogata, że uwzględnienie wszystkich elementów wpływających na analizowane zjawisko nie
jest zwykle możliwe. W takiej sytuacji skorzystać możemy z modeli stochastycznych, czyli
takich, w których przynajmniej część powiązao ma charakter losowy. Innym rozwiązaniem
może być podjęcie próby konstrukcji modelu na podstawie teorii zbiorów rozmytych.
Symulacja komputerowa wykorzystywana jest głównie jako narzędzie analizy modeli
stochastycznych, aczkolwiek w pewnych szczególnych sytuacjach może być również
stosowana do rozwiązywania problemów opisanych modelami deterministycznymi lub
rozmytymi. W niniejszej pracy ograniczamy się do przedstawienia symulacji jako metody
wykorzystywanej do analizy zjawisk o charakterze losowym. Konstruowane przez nas modele
będą miały zatem charakter stochastyczny.
Zmienne wykorzystywane w modelu mogą mieć charakter dyskretny lub ciągły.
Rozróżnienie to ma szczególne znaczenie w modelach dynamicznych, zwłaszcza w
odniesieniu do zmiennej opisującej zjawisko upływu czasu. Modele dynamiczne mogą być
więc modelami dyskretnymi lub ciągłymi. W pierwszym wypadku stan analizowanego
zjawiska badany jest w wyróżnionych momentach czasu, w drugim wartości zmiennych
określane są w każdym momencie czasu. Wybór typu modelu zależy od rodzaju problemu, z
jakim mamy do czynienia.
Symulacja Monte Carlo
Definiując pojęcie symulacji, stwierdziliśmy, że polega ona na przeprowadzaniu
eksperymentów na modelu. W symulacji stochastycznej polega ono na wylosowaniu wartości
tych elementów modelu, które stanowią źródła niepewności, a następnie wyznaczeniu
wartości zmiennych wyjściowych. Wyniki uzyskane w efekcie przeprowadzenia pojedynczego
eksperymentu nazywane są replikacją. Powtarzając operacje losowania n-krotnie,
uzyskujemy próbę składającą się z n replikacji.
W zależności od zjawiska, które opisywane jest przez model, będziemy mówili o dwóch
podstawowych rodzajach symulacji: symulacji Monte Carlo oraz symulacji dynamicznej
(nazywanej również symulacją systemów). Pierwszy z tych terminów zarezerwujemy dla
zadao, w których za pomocą eksperymentów losowania określamy rozkład jednej lub kilku
zmiennych wyjściowych uzależnionych od jednej lub kilku losowych zmiennych wejściowych.
Termin „symulacja Monte Carlo" użyty był po raz pierwszy jako kryptonim badao
realizowanych w ramach projektu Manhattan związanych z konstrukcją pierwszej bomby
atomowej. W literaturze pojawia się również określenie „metoda Monte Carlo", przez którą
rozumie
się
technikę
wyboru
wielkości
losowych
z
określonego
rozkładu
prawdopodobieostwa. Tak rozumiany sposób losowania wykorzystywany jest zarówno w
eksperymentach określonych przez nas jako symulacja Monte Carlo, jak i w symulacji
3
dynamicznej.
Schemat postępowania w przypadku symulacji Monte Carlo przedstawia rys. 2. W
pierwszej kolejności ustalane są wartości zmiennych decyzyjnych oraz określana jest liczba
eksperymentów. Ta ostatnia zależy z jednej strony od specyfiki analizowanego zagadnienia, z
drugiej zaś od dokładności wyników, którą chcemy uzyskać . W każdym z kolejnych
eksperymentów losowane są wartości tych zmiennych stanu, które opisane są rozkładami
prawdopodobieostwa, a następnie, na podstawie relacji opisanych modelem, wyznaczane są
wartości zmiennych wyjściowych.
Rys. 2. Schemat symulacji Monte Carlo