118
Rozdział 8. Pakiet symulacyjny VENSIM PLE
1
8.1. Ogólna charakterystyka pakietu
Vensim PLE (Personal Learning Edition) to pakiet symulacyjny z modułem graficznym
przeznaczony do wspomagania procesu modelowania w konwencji dynamiki systemowej.
Pozwala w prosty i płynny sposób budować modele systemowo-dynamiczne od schematu
przyczynowo-skutkowego do schematu strukturalnego. Jest to produkt firmy Ventana
Systems, Inc. udostępniany dla potrzeb edukacyjnych i badań własnych bez opłat
licencyjnych.
Rys. 3.9. Strona z plikami instalacyjnymi pakietu Vensim PLE
Ź
ródło: Ventana Systems, Inc., http://www.vensim.com/cgi-bin/download.exe
1
Treść tego rozdziału powstała na podstawie informacji zamieszczonych we wbudowanym do pakietu Vensim
PLE systemie pomocy, dostępnym w opcji HELP/VENSIM MANUALS.
119
Program instalacyjny oraz podręcznik użytkownika można pobrać ze strony
internetowej www.vensim.com. W tym celu należy po wejściu na stronę producenta wybrać
zakładkę „Download”, a następnie „Free downloads”. Po dokonaniu prostej procedury
rejestracyjnej (wymagane jedynie podanie imienia i nazwiska oraz adresu e-mail) i
zaznaczeniu produktu (Vensim PLE) oraz platformy (Windows) należy kliknąć przycisk
„Submit...”, co pozwoli na przejście do strony pokazanej na rys. 3.9, a umożliwiającej
pobranie wszystkich plików potrzebnych do instalacji pakietu Vensim PLE (Disk 1 – Disk 6).
Uruchomienie pobranego pliku o nazwie venple32.exe pozwoli na instalację pakietu
symulacyjnego. W trakcie instalacji, poza typowymi informacjami podawanymi w takich
przypadkach, należy określić również przeznaczenie pakietu (zob. rys. 3.10: Install Vensim
PLE for learning and personal use only...).
Rys. 3.10. Jedno z okiem instalacyjnych pakietu Vensim PLE
Ź
ródło: program instalacyjny venple32.exe
Wygląd graficznego interfejsu użytkownika pakietu Vensim PLE jest przedstawiony na
rys. 3.11. Poza obszarem roboczym oraz typowymi dla środowiska operacyjnego Windows
elementami zawiera on:
−
podstawowy pasek narzędziowy,
−
pasek z narzędziami do rysowania schematów,
−
pionowy pasek z narzędziami do analizy modelu i prezentacji wyników symulacji,
−
linię stanu.
W aneksie A, w tabelach A.1, A.2 oraz A.3, zestawiono narzędzia pasków narzędziowych
wraz z opisem ich znaczenia oraz alternatywnym sposobem wyboru (za pomocą opcji menu),
natomiast w tab. A.4 zawarto opis elementów linii stanu.
120
Pasek tytułowy
Menu
Pasek narzędziowy
Narzędzia do rysowania
Narzędzia do analizy modelu
Pasek stanu
Obszar roboczy
Rys. 3.10. Wygląd głównego ekranu pakietu Vensim PLE
Ź
ródło: pakiet Vensim PLE
8.2. Mo
ż
liwo
ś
ci pakietu
Vensim PLE oferuje między innymi następujące możliwości :
1.
konstruowanie nowych i modyfikowanie istniejących modeli systemowo-dynamicznych,
2.
dokonywanie eksperymentów symulacyjnych na modelu,
3.
analiza modelu i wizualizacja wyników eksperymentów symulacyjnych.
8.2.1. Konstruowanie nowych i modyfikowanie istniejących modeli systemowo-
dynamicznych
Pakiet symulacyjny Vensim PLE jest użyteczny już w początkowych etapach tworzenia
modelu systemowo-dynamicznego, bowiem jest wyposażony w moduł graficzny
umożliwiający rysowanie zarówno schematów przyczynowo skutkowych jak i diagramów
strukturalnych.
Tworzenie nowego modelu rozpoczyna się wyborem opcji z menu FILE/ NEW
MODEL lub przycisku
z podstawowego paska narzędziowego, co powoduje ukazanie się
121
okienka przedstawionego na rys. 3.11. Służy ono do ustawienia parametrów do sterowania
czasem w eksperymentach symulacyjnych przeprowadzanych na modelu systemowo-
dynamicznym. Parametr INITIAL TIME oznacza czas rozpoczęcia symulacji, FINAL TIME –
czas zakończenia symulacji, TIME STEP to krok symulacji a SAVEPER określa
częstotliwość zapisu generowanych przez model wyników. Jego wartość może być
wielokrotnością parametru TIME STEP
2
. Okienko to umożliwia również wprowadzenie
nazwy jednostki czasu w jakiej rozpatruje się badany system (Units for Time). Po
zatwierdzeniu wartości parametrów przyciskiem OK można przystąpić do tworzenia nowego
modelu. Wartości parametrów, o których tu mowa, mogą być zmienione w dowolnym
momencie za pomocą opcji z menu MODEL/ SETTINGS.
Początek symulacji (np. 2005)
Krok symulacji (dt)
Koniec symulacji (np. 2030)
Zapisywanie wyników symulacji
Jednostka czasu
Rys. 3.11. Okno ustawiania parametrów do sterowania czasem w eksperymentach
symulacyjnych
Ź
ródło: pakiet Vensim PLE
Modyfikację istniejącego modelu rozpoczyna się wyborem opcji FILE/ OPEN
MODEL lub przycisku
z podstawowej belki narzędziowej. Otwiera się wówczas okienko
dialogowe znane z innych aplikacji pracujących pod kontrolą systemu operacyjnego
Windows, umożliwiające wskazanie żądanego modelu.
2
Znaczenie tych parametrów jest ściśle związane z zastosowaną w Vensimie PLE techniką symulacji opartą na
stałych przyrostach czasowych. Szerzej o tej metodzie w punkcie 4.5 książki.
122
8.2.1.1. Rysowanie diagramów
W czasie tworzenia diagramów przyczynowo-skutkowych
3
i strukturalnych
4
wykorzystuje się narzędzia opisane na rys. 3.12 i 3.13.
blokowanie
możliwości
modyfikacji modelu
zaznaczanie, zmiana
rozmiarów, przemie-
szczanie wskazywa-
nych obiektów
tworzenie
zmiennych
modelu
łączenie zmiennych
(zależności
przyczynowo-
skutkowe)
KOMENTARZ:
tytuł, dodatkowy
opis, symbol
sprzężenia
usuwanie
elementów
diagramów
Rys. 3.12. Narzędzia do rysowania schematów przyczynowo-skutkowych
Ź
ródło: opracowanie własne
blokowanie
możliwości
modyfikacji
modelu
zaznaczanie, zmiana
rozmiarów, przemie-
szczanie wskazywa-
nych obiektów
zmienne
pomocnicze i
parametry
strumienie
informacyjne
KOMENTARZ:
tytuł, dodatkowy
opis, symbol
sprzężenia
usuwanie
elementów
diagramów
strumień
materialny ze
stanowiskiem
decyzyjnym
poziomy
Rys. 3.12. Narzędzia do rysowania schematów strukturalnych
Ź
ródło: opracowanie własne
3
Diagram przyczynowo-skutkowy to schemat graficzny pętli sprzężeń występujących w badanym systemie.
Więcej na ten temat w punkcie 1.2 ksiązki.
4
Diagram strukturalny to schemat struktury modelu w graficznej notacji dynamiki systemów. Symbole graficzne
tej notacji zestawiono na rys. 2.4.
123
Wybór narzędzia następuje poprzez kliknięcie odpowiedniego przycisku. Wybrane
narzędzie jest aktywne tak długo, dopóki nie wybierze się innego. W pierwszej kolejności
umieszcza się na obszarze roboczym takie elementy diagramów, jak: zmienne, poziomy i
parametry, następnie strumienie ze stanowiskami decyzyjnymi (w przypadku schematów
strukturalnych), w dalszej kolejności zależności (strumienie) informacyjne, a na końcu
dodatkowe symbole (np. oznaczenia typów sprzężeń) i komentarze (np. nazwa diagramu,
dodatkowy opis, określenie charakteru pętli w schematach przyczynowo-skutkowych).
Przykładowo, aby umieścić na schemacie przyczynowo-skutkowym symbol typu
sprzężenia prostego (znak „+” lub „-”) należy kliknąć prawym przyciskiem na grocie strzałki
strumienia informacyjnego, co spowoduje pojawienie się okienka przedstawionego jako jeden
z elementów rys. 3.13, w którym trzeba zaznaczyć opcję żądanego znaku (Polarity).
stan konta
bankowego
odsetki
wyplaty
dochod miesieczny
wplaty
stopa
procentowa
+
+
-
+
+
+
+
Rys. 3.13. Rysowanie schematów przyczynowo-skutkowych
Ź
ródło: opracowanie własne
W celu dodania do schematu symbolu typu sprzężenia zwrotnego można posłużyć się
narzędziem „komentarz” (
). Po wyborze tego narzędzia należy kliknąć w miejscu, gdzie
ma pojawić się symbol typu sprzężenia, co spowoduje pojawienie się okienka
przedstawionego jako jeden z elementów rys. 3.13. W okienku tym dokonuje się wyboru
124
kształtu symbolu (Shape / Loop Clkwise lub Loop Counter) oraz znaku „+” lub „-” po
rozwinięciu listy Image.
Rys. 3.14. Rysowanie schematów strukturalnych
Ź
ródło: opracowanie własne
Dla pełniejszego zobrazowania sposobu rysowania schematów strukturalnych
przedstawiono na rys. 3. 14 zrzut ekranu pakietu Vensim PLE z gotowym przykładowym
diagramem, na którym wskazano narzędzia użyte do dodania poszczególnych jego elementów.
8.2.1.2. Formatowanie elementów diagramów
Elementy diagramów (zmienne, poziomy, parametry, strumienie materialne ze
stanowiskami decyzyjnymi, strumienie informacyjne) można formatować, czyli zmieniać ich
kształt (shape), kolor (color), krój czcionki (font), styl linii (line style), umiejscowienie nazwy
(word position, valve description) itp. Formatowanie może przebiegać na dwa sposoby.
Pierwszy polega na kliknięciu prawym przyciskiem myszy na elemencie do
sformatowania, co powoduje pojawienie się okienka właściwego dla danego elementu (zob.
rys. 3.15). Kliknięcie na pustym fragmencie obszaru roboczego udostępnia okienko
pozwalające na określenie domyślnych ustawień (typu: kolor strzałki, symbolu, czcionki; styl
pisma itp.) dla wszystkich elementu powstającego schematu. Każde z okienek daje
125
możliwość dokonania zmian formatu w określonym, odpowiednim dla rodzaju elementu
zakresie.
Stan lokaty
odsetki
wplaty
wyplaty
stopa
procentowa
dochod miesieczny
Rys. 3.15. Formatowanie schematów za pomocą kliknięcia prawym przyciskiem myszki na
elemencie
Ź
ródło: opracowanie własne
Drugi sposób formatowania polega na zaznaczeniu danego elementu i posłużeniu się
narzędziami paska stanu (rys. 3.16), którego narzędzia opisane są a tabeli A.4 w aneksie A.
Rys. 3.16. Formatowanie schematów za pomocą kliknięcia prawym przyciskiem myszki na
elemencie
Ź
ródło: pakiet Vensim PLE
8.2.1.3. Tworzenie równań
Opis matematyczny elementów modelu systemowo-dynamicznego w pakiecie Vensim
PLE jest bardzo prosty. Dostęp do edytora równań dla każdego elementu daje przycisk
.
Użycie tego przycisku powoduje zaznaczenie na diagramie strukturalnym wszystkich
elementów, dla których nie ułożono jeszcze równania bądź istniejące równanie jest
126
niekompletne lub błędne. Kliknięcie na jakimkolwiek zaznaczonym elemencie spowoduje
otwarcie okna edytora równań dla tego elementu.
Na rys. 3.17 przedstawiono okno edytora równań dla poziomu. W przeciwieństwie do
okien edytorów równań dla zmiennych, strumieni materialnych ze stanowiskami decyzyjnymi
oraz parametrów, górna część tego okna jest podzielona na dwie ramki (pozostałe elementy
okna są takie same). Górna ramka służy do wprowadzenia wyrażenia będącego pierwszym
argumentem funkcji INTEG w równaniu poziomu (zob. równanie 2.3), czyli różnicy strumieni
wejściowych i wyjściowych powiązanych z danym poziomem, natomiast dolna ramka do
wprowadzenia wartości początkowej poziomu.
Konstruowanie wyrażenia w górnej ramce polega na dokonywaniu wyborów
(kliknięciami) nazw strumieni (prawa ramka w środkowej części okienka) oraz operatorów
matematycznych dostępnych w oknie edytora równań. Panel z listą zmiennych składa się z
trzech kart (Variables, Functions i More), których wygląd jest zaprezentowany na rysunku.
Karta Functions udostępnia funkcje standardowe pakietu Vensim PLE, które są opisane w
innym punkcie niniejszego rozdziału, natomiast karta More daje dostęp do pełnej listy
operatorów logicznych pakietu.
Rys. 3.17. Okno edytora równań dla poziomu
Ź
ródło: pakiet Vensim PLE
Okno edytora równań daje możliwość określenia jednostki miary dla danego elementu
(Units), a także wprowadzenia dodatkowego opisu (ramka Comment).
127
Bardzo przydatną funkcją oferowaną w pakiecie Vensim PLE jest graficzne
opisywanie zależności między zmiennymi w postaci tabeli. Funkcja ta jest dostępna z okna
edytora równań. Stosuje się ją w sytuacji, gdy wiadomo, że między dwoma zmiennymi
istnieje związek, ale nie znana jest jego postać analityczna (np. y=5*x-6) dostępne są
natomiast dane rzeczywiste opisujące w sposób fragmentaryczny badaną zależność. Zakłada
się tu, że między zmiennymi istnieje pewien związek funkcyjny o ogólnej postaci:
Zmienna Y = f (Zmienna X)
(Równanie 3.1)
Przypuśćmy, że zależność pomiędzy zmienną X (wejściową, niezależną, input), a zmienną Y
(wyjściową, zależną, output) wyraża się w liczbach tak, jak przedstawiono to w tab. 3.2.
Tab. 3.2. Hipotetyczne dane opisujące zależność między zmiennymi
Zmienna X
Zmienna Y
0
0
1
2
2
3
Ź
ródło: Opracowanie własne
Oznacza to, że wartości zmiennej niezależnej zawierają się w przedziale <0, 2>, natomiast
zmiennej zależnej <0, 3>. Dla wartości pośrednich pakiet Vensim PLE będzie dokonywał
interpolacji, natomiast dla wartości wychodzących poza zdefiniowany zakres będą
przyjmowane wielkości skrajne zmiennej zależnej. Można to zilustrować na wykresie w
sposób przedstawiony na rys.3.18.
Rys. 3.18. Wykres zależności z tab. 3.2
Ź
ródło: opracowanie własne
Kółka ilustrują wartości obserwowane i odpowiadają punktom o współrzędnych
((0,0),(1,2),(2,3)). Linia przerywana pokazuje wartości interpolowane. Ponadto na wykresie
128
wyróżniono wartości (.67,1,1.7) zmiennej X i odpowiadające im interpolowane wartości
zmiennej Y (1.3,2.0,2.7). Dla wartości zmiennej X spoza zakresu przyjmowane są wielkości
skrajne zmiennej Y.
Zależność taka będzie opisana w języku symulacyjnym pakietu Vensim PLE w sposób
następujący:
NAZWA TABELI ( [ (0 , 0)-(2 , 3 )], (0, 0), (1, 2), (2, 3) )
(Równanie 3.2)
lub bez podawania zakresu:
NAZWA TABELI ((0, 0), (1, 2), (2, 3) )
(Równanie 3.3)
Ogólna postać zapisu jest następująca:
NAZWA TABELI ([(x
min
, y
min
)-(x
max
, y
max
)], (x
1
, y
1
), (x
2
, y
2
),..., (x
n
, y
n
) )
(Równanie 3.4)
lub:
NAZWA TABELI ((x
1
, y
1
), (x
2
, y
2
),..., (x
n
, y
n
) )
(Równanie 3.5)
Tak zdefiniowany element musi zostać użyty w równaniu zmiennej zależnej:
ZMIENNA Y = NAZWA TABELI ( ZMIENNA X)
(Równanie 3.6)
Rys. 3.19. Opisywanie zależności w formie tabeli
Ź
ródło: opracowanie własne
Równania o przedstawionej wyżej postaci wprowadza się za pośrednictwem edytora
równań. Najwygodniej jest posłużyć się w tym celu modułem graficznym dostępnym po
wyborze hasła „Lookup” z listy „Type” i kliknięciu przycisku „As Graph” (zob. rys. 3.19), co
powoduje pojawienie się okna, zaprezentowanego w prawej części rysunku. W oknie tym
129
można wpisać z klawiatury wartości dla zmiennych INPUT (zmienna niezależna) i OUTPUT
(zmienna zależna) lub wskazać je kliknięciami na obszarze z prawej strony
5
.
8.2.2. Dokonywanie eksperymentów symulacyjnych na modelu
Po narysowaniu diagramów i opisaniu zmiennych równaniami można dokonać
symulacji. W tym celu należy wybrać z menu opcję MODEL/SIMULATE lub przycisk
z
belki narzędziowej (zob. rys. 3.20). Zostanie w ten sposób uruchomiona procedura
obliczeniowa, na skutek której model będzie rozwiązywany dla każdej chwili czasu, a
generowane wyniki będą zapisywane w pliku o nazwie wskazanej w ramce (na rysunku jest to
domyślnie nadawana przez pakiet Vensim PLE nazwa Current) w folderze, w którym jest
zapisany plik ze strukturą i równaniami modelu. Do nazwy wpisanej przez użytkownika jest
dodawane automatycznie rozszerzenie VDF.
Zmiana wartości
parametrów
przed
symulacją
Uruchomienie
symulacji
Model/Simulate)
Zmiana nazwy i położenia
pliku z
wynikami
VDF
Zmiana te-
chniki cał-
kowania
(EULER lub
RUNGE-
KUTTA)
Wyjście z trybu
symulacji
Rys. 3.20. Symulacja
Ź
ródło: opracowanie własne
Przed uruchomieniem przebiegu symulacyjnego można zmienić wartości parametrów.
Zmiana ta będzie obowiązywała tylko dla jednego przebiegu, jeśli użytkownik w tym celu
5
Przykłady konkretnych modeli z prezentacją użycia omawianej możliwości przedstawiono w aneksie C (punkty
130
posłuży się przyciskiem
. Wybór tego narzędzia spowoduje zaznaczenie wszystkich
elementów o stałych wartościach (parametry), co widać na rysunku. Kliknięcie zaznaczonego
elementu pozwoli na wprowadzenie do pojawiającej się ramki nowej, tymczasowej wartości
parametru. Po wprowadzeniu wszystkich pożądanych zmian należy uruchomić procedurę
obliczeniową w opisany wcześniej sposób.
Podczas obliczeń można posłużyć się jedną z dwóch technik całkowania: metodą
Euler’a (prostokątów) lub Runge-Kutta. Metodę całkowania wybiera się bezpośrednio przed
dokonaniem symulacji za pomocą elementu paska zadań wskazanego na rys. 3.20.
8.2.3. Analiza modelu i wizualizacja wyników eksperymentów symulacyjnych
Zarówno analizę modelu, jak i roboczą prezentację wyników symulacji umożliwiają w
pakiecie Vensim PLE narzędzia z pionowego paska narzędziowego
6
. Pasek ten oferuje
narzędzia do analizy strukturalnej modelu (zob. rys. 3.21) oraz narzędzia do analizy wyników
symulacji dla zmiennej aktywnej (rys. 3.22). Zmienną aktywną jest w danym momencie ten
element, którego nazwa jest wyświetlona w pasku tytułowym okna głównego pakietu Vensim
PLE. Uaktywnianie zmiennej następuje poprzez dwukrotne kliknięcie na jego nazwie w
diagramie strukturalnym modelu.
Stan lokaty
odsetki
(Stan lokaty)
stopa procentowa
wplaty
dochod miesieczny
wyplaty
(Stan lokaty)
Diagram pokazujący, jakie
elementy modelu mają wpływ na
aktywną zmienną*
Stan lokaty
odsetki
(Stan lokaty)
wyplaty
(Stan lokaty)
Diagram pokazujący, na jakie
elementy modelu ma wpływ
aktywna zmienna*
Listing programu
Wyświetlenie listy pętli sprzężeń
zwrotnych, w jakie jest
zaangażowana aktywna zmienna*
Rys. 3.21. Narzędzia analizy strukturalnej modelu dla zmiennej aktywnej
Ź
ródło: opracowanie własne
3, 4 oraz 5).
6
Opis znaczenia narzędzi zestawiono w tab. A.3 w aneksie A.
131
Current
odsetki
40,000
30,000
20,000
10,000
0
Stan lokaty
400,000
300,000
200,000
100,000
0
0
50
100
Time (Month)
stopa procentowa
Current: 0.1
Wykresy zmiennej aktywnej i
zmiennych, od których jest
zależna zmienna aktywna
odsetki
40,000
0
0
20
40
60
80
100
Time (Month)
odsetki : Current
Wykres zmiennej
aktywnej
Wyniki symulacji dla
zmiennej aktywnej w
postaci tabeli poziomej
i pionowej
Porównanie wartości
parametrów dla
alternatywnych
przebiegów
symulacyjnych
Rys. 3.22. Narzędzia do analizy wyników symulacji dla zmiennej aktywnej
Ź
ródło: opracowanie własne
Użycie każdego z opisanych na rysunkach narzędzi powoduje pojawienie się okienka
wyposażonego w swoje własne narzędzia, których znaczenie jest wyjaśnione na rys. 3.23.
Szczególnie przydatne, w procesie tworzenia dokumentacji do modelu symulacyjnego, jest
narzędzie pozwalające na skopiowanie zawartości okienka do pamięci wspólnej dla
wszystkich aplikacji pracujących pod kontrolą systemu Windows. Skopiowana zawartość
może być odtworzona w dowolnej aplikacji za pomocą czynności EDYCJA/WKLEJ.
zapisanie
zawartości w
formie pliku
skopiowanie
zawartości do
schowka
wydrukowanie
zawartości okienka
zablokowanie
okienka
zamknięcie
okienka
Rys. 3.23. Narzędzia okienek generowanych przez przyciski pionowego paska narzędziowego
Ź
ródło: opracowanie własne
132
Narzędzia do analizy wyników symulacji umożliwiają wizualizację rezultatów
eksperymentów symulacyjnych w postaci roboczych wykresów i tabel. Ich wygląd i zawartość
jest predefiniowana przez producenta systemu. Bardziej zindywidualizowaną, dostosowaną do
potrzeb użytkownika, prezentację wyników udostępnia opcja z menu WINDOWS /
CONTROL PANEL / GRAPHS. Użycie tej opcji powoduje pojawienie się okienka Control
Panel przedstawionego jako element rys. 3.24 (lewy górny róg). Można tu zmodyfikować
wcześniej zdefiniowany wykres (Modify), skopiować wykresu (Copy), zdefiniować nowy
wykres (New), wyświetlić (Display) lub usunąć (Delete) zdefiniowany wykres. Wybór
przycisków Modify, New i Copy powoduje otwarcie okienka przedstawionego na rys. 3.22 w
prawym górnym rogu.
definiowanie
tabel
użytkownika
ukrywanie
niektórych
elementów
wykresu
Rys. 3.24. Definiowanie wykresów użytkownika
Ź
ródło: opracowanie własne
W okienku tym można określić między innymi nazwę wykresu, która będzie się wyświetlała
w okienku Control Panel (Name); tytuł wykresu, który będzie się wyświetlał w oknie wykresu
(Title); zmienną niezależną przy wykresach typu XY (X-Axis); etykietę dla osi X (X Label);
punkt startowy dla osi X, który powinien zawierać się w przedziale od czasu początkowego
do końcowego symulacji (X-Min); punkt końcowy dla osi X (X-Max); liczbę przedziałów dla
podziałki na osi X (X-Divisions) i osi Y (Y-Divisions) itd. Najważniejsze jednak jest tu
wybranie wykreślanych elementów modelu za pomocą przycisków Sel znajdujących się w
133
trzeciej kolumnie dolnej części omawianego okienka. Kliknięcie przycisku Sel powoduje
pojawienie się okna wyboru zmiennych przedstawionego na rys. 3.24 w dolnej jego części. W
oknie tym znajduje się lista nazw wszystkich elementów modelu. Wyboru dokonujemy
poprzez kliknięcie nazwy i użycie przycisku OK. Po dokonaniu wyboru zmiennych, które
mają być umieszczone na wykresie, zatwierdzamy wprowadzone dane przyciskiem OK, a
następnie wyświetlamy wykres posługując się przyciskiem Display w oknie Control Panel.
Generowany wykres pojawia się w oknie wyposażonym w narzędzia przedstawione na rys.
3.21. Okno definiowania wykresów umożliwia również wizualizację wyników w postaci
tabeli. W tym celu należy użyć przycisku As Table.
Podczas wykonywania wielu eksperymentów symulacyjnych na modelu, z różnymi
wartościami parametrów, czy też zmianami struktury modelu, istnieje potrzeba generowania
tzw. wykresów porównawczych, które ukazują wpływ poczynionych zmian na zachowanie się
wybranego elementu modelu. Aby zdefiniować wykres porównawczy należy:
1.
Dokonać symulacji modelu w przebiegach alternatywnych (tzn. z różnymi wartościami
parametrów, ze zmianami strukturalnymi bądź innymi postaciami zależności
matematycznych), zapisując każdorazowo wyniki w innym pliku z rozszerzeniem VDF.
2.
Wybrać opcję WINDOWS / CONTROL PANEL / GRAPHS / NEW.
3.
W okienku służącym do definiowania wykresów, po wyborze wykreślanej zmiennej, w
kolumnie Datasets wpisać każdorazowo nazwy plików, z których mają być pobierane
wartości danej zmiennej (przykładowo CURENT1, CURRENT2, CURRENT – por. rys. 3.
25).
Rys. 3.25. Definiowanie wykresów porównawczych
Ź
ródło: pakiet Vensim PLE
134
8.3. Funkcje standardowe pakietu
Pakiet symulacyjny Vensim PLE jest wyposażony w bibliotekę funkcji standardowych,
które można pogrupować w następujące kategorie:
1.
Funkcje matematyczne (ABS, EXP, INTEG, LN, MODULO, SIN, SQRT).
2.
Funkcje logiczne (IF_THEN_ELSE, MAX, MIN, XIDZ, ZIDZ).
3.
Funkcje testowe (PULSE, PULSE TRAIN, RAMP, STEP, RANDOM NORMAL,
RANDOM UNIFORM).
4.
Funkcje opóźniające i wygładzające (DELAY FIXED, DELAY1I, DELAY3, DELAY3I,
SMOOTH, SMOOTHI, SMOOTH3I).
Opis działania tych funkcji znajduje się w aneksie B. Argumentami funkcji standardowych
mogą być zarówno liczby, jak i odwołania do zmiennych w modelu. Użytkowanie funkcji
pakietu symulacyjnego jest proste. Każdy, kto zna podstawy pracy z funkcjami
standardowymi w arkuszu kalkulacyjnym MS EXCEL, czy jakimkolwiek innym pakiecie
obliczeniowym, nie będzie miał żadnych problemów związanych z definiowaniem wyrażeń
opartych na funkcjach standardowych Vensima PLE, głównie w zakresie funkcji
matematycznych i logicznych. Pozostałe typy funkcji, testowe oraz opóźniające i
wygładzające, są na tyle specyficzne, iż warto poświęcić im kilka słów w tym miejscu.
Funkcje testowe są używane w modelu najczęściej do sprawdzania reakcji modelu na
zakłócenia zewnętrzne, choć czasami również pozwalają na dokładniejsze odzwierciedlenie
zależności występujących w modelowanym systemie. Funkcje te związane są bezpośrednio ze
zmienną standardową w pakiecie Vensim PLE, określającą czas (TIME).
Funkcje opóźniające i wygładzające są używane do opóźniania bądź wygładzania
strumieni przepływających przez system.
Opóźnienia mogą być dwojakiego rodzaju: materialne lub informacyjne. Różnica
pomiędzy tymi typami opóźnień dotyczy charakteru opóźnianych wielkości. W przypadku
opóźnienia materialnego są to zawsze pewne fizyczne elementy (pieniądze, ludzie itp.), w
drugim przypadku są to informacje, zamówienia, decyzje itp.
Opóźnienia są charakteryzowane stopniem (rzędem), czyli ilością poziomów, przez
które przechodzi opóźniana wielkość. Stopień opóźnienia determinuje szybkość z jaką zmiana
w wartości wejściowej powoduje zmianę w wartości wyjściowej. W opóźnieniach o niskim
stopniu reakcja ta następuje szybciej aniżeli w opóźnieniach z wysokim stopniem, nawet jeśli
czas opóźnienia jest taki sam. Do modelowania opóźnień materialnych I rzędu używa się w
135
pakiecie Vensim PLE funkcji DELAY FIXED i DELAY1I natomiast w przypadku opóźnień
informacyjnych tego samego rzędu używa się funkcji SMOOTH oraz SMOOTHI. Do
modelowania opóźnień materialnych III rzędu służą funkcje DELAY3 i DELAY3I, a
informacyjnych SMOOTH3I.
Funkcje opóźniające i wygładzające szczególnie dobrze spełniają zadanie w
przypadku, gdy strumień pierwotny zmienia wartości skokowo, lub ulega pewnym
zakłóceniom, przykładowo strumień dostaw towarów do hurtowni nagle wzrasta skokowo lub
w pewnym okresie czasu jednorazowo wzrasta jego natężenie. W takiej sytuacji strumień
wtórny nie będzie powtarzał przebiegu strumienia pierwotnego. Jego przebieg będzie miał
znacznie łagodniejszy charakter.
Działanie wszystkich odmian funkcji DELAY i SMOOTH zostanie wyjaśnione na
przykładzie prostego systemu funkcjonowania magazynu, którego diagram strukturalny jest
przedstawiony jako element na rys. 3.26 (lewa górna część rysunku).
Magazyn
dostawy
sprzedaz
Magazyn = INTEG(dostawy-wydania,500)
dostawy = PULSE(40,5)*20
1) sprzedaz = DELAY1I(dostawy,20,0)
2) sprzedaz = DELAY FIXED(dostawy,20,0)
3) sprzedaz = DELA3I(dostawy,20,0)
20
15
10
5
0
dostawy
20
15
10
5
0
0
25
50
75
100
Time
DELAY FIXED (wejście, czas
opóźnienia, wartość początkowa
obliczanej zmiennej)
DELAY3I(wejście, czas
opóźnienia, wartość
początkowa obliczanej
zmiennej)
ang. 3rd order exponential
DELAY with Initial
obliczanej zmiennej)
DELAY1I(wejście, czas
opóźnienia, wartość
początkowa obliczanej
zmiennej)
ang. exponential DELAY
with Initial
sprzedaż
Rys. 3.26. Działanie funkcji DELAY
Ź
ródło: opracowanie własne
Podstawowym elementem modelu tego jest poziom „Magazyn” uzupełniany za
pomocą strumienia „dostawy” i uszczuplany na skutek strumienia „sprzedaż”. Równania do
modelu napisane w języku symulacyjnym pakietu Vensim PLE zostały przedstawione pod
diagramem strukturalnym modelu. Zakłada się tu wystąpienie nagłego wzrostu dostaw w
136
strumieniu wejściowym, w czterdziestym punkcie czasu, trwającego pięć jednostek czasu
(PULSE) zakłócenia w dostawach za tego systemu. Równanie strumienia wyjściowego
(sprzedaż) przedstawione jest w trzech wariantach, z użyciem wszystkich odmian funkcji
DELAY dostępnych w pakiecie Vensim PLE. Wykresy po prawej części omawianego rysunku
przedstawiają wyniki działania funkcji DELAY.
Podobne zachowania na zakłócenia typu PULSE wykazuje funkcja SMOOTH (co
widać na rys. 3.27b) z tą różnicą, że funkcji SMOOTH używa się do definiowania zmiennych
pomocniczych lub strumieni pierwotnych, nie zaś strumieni wtórnych, gdyż stosuje się ją w
przypadku występowania opóźnień informacyjnych.
Magazyn
dostawy
sprzedaz
zamowienia
Dostawy = SMOOTH(Zamówienia,20)
a) Zamówienia=STEP(10,40)
b) Zamówienia = PULSE(40,5)*20
SMOOTH
SMOOTH3
dostawy
10
7.5
5
2.5
0
zamowieni
a
10
7.5
5
2.5
0
0
25
50
75
100
Time
SMOOTH3
SMOOTH
dostawy
6
4.5
3
1.5
0
zamowienia
20
15
10
5
0
0
50
100
Time
a) STEP
b) PULSE
Rys. 3.27. Działanie funkcji SMOOTH
7
Ź
ródło: opracowanie własne
Rozbudujmy model magazynu o zmienną „zamówienia”. Schemat strukturalny i
zmienione/dodane równania do modelu przyjmują postać przedstawioną w lewej części rys.
3.27. Dodatkowo na tym rysunku (część a) pokazano wyniki generowane przez funkcje
SMOOTH w przypadku wystąpienia zakłócenia typu STEP
8
.
7
Postać funkcji SMOOTH jest przedstawiona w aneksie B.
8
Charakter działania funkcji PULSE oraz STEP jest opisany w aneksie B.
137
8.4. Proces konstruowania modelu w pakiecie Vensim PLE
Proces konstruowania modelu symulacyjnego w Pakiecie Vensim PLE zostanie
omówiony na przykładzie prostego modelu systemu produkcyjnego
9
. W opisie tego procesu
zostaną ominięte początkowe etapy, gdyż podstawowym celem jest tu przede wszystkim
zaprezentowanie sposobu użycia pakietu, a nie metodologii procesu zastosowania metody
dynamiki systemowej
10
. Zostanie omówiony sposób powstawania schematu strukturalnego,
układania równań do modelu oraz przeprowadzania eksperymentów symulacyjnych i
analizowania ich wyników.
Prezentowany model odwzorowuje w sposób uproszczony zachowanie się firmy
produkcyjnej wytwarzającej pewne produkty w ilości wynikającej z obserwacji wielkości
sprzedaży produktów. Niestety ze względu na opóźnienia między dokonaniem obserwacji, a
rzeczywistym zwiększeniem produkcji, wielkość produkcji w firmie staje się niestabilna w
czasie. Z danych rzeczywistych wynika wręcz, że sprzedaż jest bardziej stabilna niż produkcja
(zob. rys. 3.28).
Rys. 3.28. Produkcja a sprzedaż
Ź
ródło: opracowanie własne
W sytuacji nieosiągnięcia lub przekroczenia zamierzonego celu produkcyjnego dokonuje się
odpowiednich korekt. Teoretycznie wydaje się to prostym zadaniem lecz w praktyce takie
działania mogą prowadzić do niepożądanego zachowania systemu produkcyjnego. Omawiany
model wyjaśnia dlaczego tak się dzieje.
Proces tworzenia schematu strukturalnego rozpoczyna się od budowania zależności
materialnych, które w przypadku omawianego modelu, związane są z przepływami produktów
oraz siły roboczej. Produkowane towary nie są natychmiast sprzedawane. Zanim zostaną
sprzedane przez pewien czas są składowane w magazynie towarów (produktów gotowych).
9
Przykład zaczerpnięto z: Vensim®. Ventana® Simulation Environment. User’s Guide Version 5, Ventana
Systems, Inc. 1988-2002,
http://www.vensim.com
, s. 23-40.
10
Metodologia procesu posługiwania się metodą dynamiki systemów została omówiona w rozdziałach 4 i 5.
138
Magazyn towarów jest zasobem systemu (poziomem), natomiast produkcja i sprzedaż
strumieniami, które wpływają na wielkość chwilową poziomu. Do produkcji towarów
zatrudnia się siłę roboczą. Liczba pracowników jest zasobem systemu a zmienia się na skutek
zwalniania, zatrudniania, przenoszenia na emeryturę itp. (w modelu wyrazi to strumień ze
stanowiskiem decyzyjnym: stopa zatrudniania netto). Omówione zależności materialne
przedstawiono na rys. 3.29 w notacji graficznej pakietu Vensim PLE.
Sila robocza
M agazyn
towarow
s przedaz
produkcja
s topa
zatrudniania
netto
Rys. 3.29. Zależności materialne w modelu systemu produkcyjnego
Ź
ródło: opracowanie własne
W celu narysowania zaprezentowanych elementów modelu w obszarze roboczym
pakietu należy wykonać następujące czynności:
1.
Po uruchomieniu pakietu wybrać opcję z menu FILE/NEW MODEL.
2.
Wprowadzić parametry sterowania czasem symulacji (rys. 3.11). Można przyjąć wartości
domyślne a potem je zmienić za pomocą opcji MODEL/SETTINGS. Jednostką czasu
przyjęta za podstawę rozważań w tym modelu jest miesiąc, co trzeba wpisać w ramce
„Units for Time”.
3.
Na pustym obszarze roboczym w pierwszej kolejności narysować poziomy („Magazyn
towarów” oraz „Siła robocza”). W tym celu należy wybrać narzędzie
, a następnie
kliknąć miejsce w obszarze roboczym, gdzie ma znajdować się dany element. Pojawi się
prostokątna ramka, do której należy wpisać nazwę elementu. Czynności należy powtórzyć
dla drugiego poziomu.
4.
Po narysowaniu poziomów należy przystąpić do umieszczenia na schemacie
strukturalnym strumieni materialnych ze stanowiskami decyzyjnymi. W tym celu należy
wybrać narzędzie
, a następnie w przypadku strumienia wejściowego (np. „produkcja”)
139
kliknąć miejsce, w którym ma pojawić się symbol chmurki, a potem kliknąć ponownie
wewnątrz symbolu poziomu, z którym ma być powiązany dany strumień. Pojawi się
prostokątna ramka, do której należy wpisać nazwę elementu. Dla strumieni wyjściowych
kolejność kliknięć jest odwrotna. Czynności należy powtórzyć dla wszystkich strumieni ze
stanowiskami decyzyjnymi. Strumień „stopa zatrudniania netto” jest zakończony
strzałkami z dwóch stron. Aby dodać strzałkę do symbolu strumienia należy kliknąć
prawym przyciskiem myszy na fragmencie linii, gdzie ma pojawić się strzałka i w
wyświetlonym okienku zaznaczyć opcję „Arrowhead” (zob. okienko w prawej dolnej
części rys. 3.15).
Sila robocza
Magazyn
towarow
sprzedaz
produkcja
stopa
zatrudniania
netto
wydajnosc
produkcyjna
Sila robocza
Magazyn
towarow
sprzedaz
produkcja
stopa
zatrudniania
netto
wydajnosc
produkcyjna
docelowe
zatrudnienie
czas na
dostosowanie
zatrudnienia
a)
b)
1
2
3
Sila robocza
Magazyn
towarow
wydajnosc produkcyjna
sprzedaz
produkcja
stopa
zatrudniania
netto
docelowe
zatrudnienie
czas na dostosowanie
zatrudnienia
docelowa produkcja
Sila robocza
Magazyn
towarow
wydajnos c produkcyjna
sprzedaz
produkcja
stopa
zatrudniania
netto
docelowe
zatrudnienie
czas na dos tosowanie
zatrudnienia
docelowa produkcja
norma zapasow
korekta zapas ow
czas na s korygowanie
zapasow
1
2
3
c)
d)
Rys. 3.30. Dodawanie zależności informacyjne w modelu systemu produkcyjnego
Ź
ródło: opracowanie własne
Po wykonaniu opisanych czynności należy przystąpić do budowania zależności
informacyjnych występujących w modelu. Analiza omawianego systemu pozwala na
stwierdzenie, że „stopa zatrudniania netto” jest zależna od aktualnej liczby pracowników
(„Siła robocza”), natomiast „produkcja” jest zależna od liczby pracowników oraz od ich
wydajności produkcyjnej. Zależności te powinny być ujęte w schemacie (zob. rys. 3.30a). Do
140
tego celu służy narzędzie
z poziomego paska. Po jego uaktywnieniu należy kliknąć na
parametr „wydajność produkcyjna”, a następnie na element „produkcja”. Pojawi się wówczas
na schemacie linia symbolizująca omawianą zależność. Podobną czynność trzeba wykonać,
aby do schematu wprowadzić drugą przedstawioną wyżej zależność.
Na rysunkach 3.30 b-d pokazano kolejne kroki budowania zależności informacyjnych.
Na rys. 3.30b dodano parametry „stopa zatrudniania netto” oraz „czas na zatrudnienie nowych
pracowników”. „Stopa zatrudniania netto” wynika z porównania tego, co firma chce osiągnąć
(„docelowe zatrudnienie”), z tym co posiada („Siła robocza”). Nie da się tego osiągnąć
natychmiast. Potrzebny jest „czas na zatrudnienie nowych pracowników” (ogłoszenie,
zbieranie aplikacji, rozmowy kwalifikacyjne itd.). Obydwa parametry zostały dodane do
schematu strukturalnego za pomocą narzędzia
, w sposób analogiczny do opisanego w
punkcie 3. przedstawionej wyżej listy czynności, związanych z rysowaniem zależności
materialnych modelu. Zależności informacyjne zaś wprowadzono do schematu metodą
omówioną w komentarzu do rys. 3.30a. Podobnie dodano nowe elementy i zależności
przedstawione na rys. 3.30 c i d, przy czym:
-
„docelowe zatrudnienie” to liczba pracowników, jaka jest potrzebna, aby wyprodukować
pożądaną ilość towarów, zależy zatem od „docelowej wielkości produkcji” i od
„wydajności produkcyjnej” (opisywane zależności zaznaczono liczbą „1” na schemacie na
rys. 3.30c),
-
„docelowa produkcja” zależy od „sprzedaży” (zależność „2”),
-
wartość początkowa poziomu „Siła robocza” zależy od „docelowego zatrudnienia”
(zależność 3),
-
parametr „Norma zapasów” (1) wyraża pożądany stan magazynu,
-
zmienna pomocnicza „Korekta zapasów” (2) pozwala na odzwierciedlenie procesu
korygowania odchyleń aktualnego stanu magazynu od pożądanego stanu magazynu,
-
parametr „czas na skorygowanie zapasów” (3) wyraża czas, w którym powinno nastąpić
dostosowanie stanu magazynu do wartości pożądanej.
Po skonstruowaniu schematu strukturalnego należy przystąpić do opisania równaniami
poszczególnych elementów modelu. W tym celu używa się przycisku
z poziomej belki
narzędziowej. Uaktywnienie tego narzędzia powoduje zaznaczenie wszystkich elementów
modelu, dla których nie ma jeszcze ułożonego równania. Oczywistym jest, że przy pierwszym
użyciu omawianego narzędzia w trakcie konstruowania modelu zostaną zaznaczone wszystkie
141
jego elementy, tak jak pokazano to na rys. 3.31. Teraz kliknięcie na jakimkolwiek
zaznaczonym elemencie spowoduje otwarcie okna edytora równań dla tego elementu (zob.
rys. 3.17). Sam proces opisywania równaniami elementów modelu został omówiony w
punkcie 8.2.1.3. niniejszej książki, a układ równań jest przedstawiony w tab. 3.3.
Rys. 3.31. Efekt użycia przycisku
Ź
ródło: opracowanie własne
Tab. 3.3. Układ równań do modelu prostego systemu produkcyjnego w języku
symulacyjnym pakietu Vensim PLE
Równanie elementu
Jednostka miary
CZAS NA DOSTOSOWANIE ZATRUDNIENIA = 5
miesiąc
CZAS NA SKORYGOWANIE ZAPASOW = 3
miesiąc
docelowe zatrudnienie = produkcja docelowa / WYDAJNOŚĆ
PRODUKCYJNA
osoba
korekta ilości zapasów = (NORMA ZAPASOW – magazyn towarów) / CZAS
NA SKORYGOWANIE ZAPASOW
sztuka/miesiąc
NORMA ZAPASOW = 300
sztuka
produkcja = Siła robocza * WYDAJNOŚĆ PRODUKCYJNA
sztuka/miesiąc
produkcja docelowa = sprzedaż + korekta ilości zapasow
sztuka/miesiąc
Siła robocza = INTEG(stopa zatrudniania netto, docelowe zatrudnienie)
osoba
sprzedaż = 100 + STEP(50, 20)
sztuka/miesiąc
stopa zatrudniania netto = (docelowe zatrudnienie - Siła robocza) / CZAS NA
DOSTOSOWANIE ZATRUDNIENIA
sztuka/miesiąc/osob
a
WYDAJNOŚĆ PRODUKCYJNA = 1
sztuka/miesiąc/osob
a
magazyn towarów= INTEG(produkcja - sprzedaż, 300)
sztuka
Ź
ródło: Opracowanie własne
142
Po opisaniu równaniami wszystkich elementów można dokonać analizy strukturalnej
modelu za pośrednictwem przycisków pionowego paska narzędziowego (zob. rys. 3.21).
Użycie tych przycisków, po uprzednim uaktywnieniu np. elementu „siła robocza” (poprzez
dwukrotne kliknięcie na nazwie elementu), generuje okienka przedstawione na rys. 3.32.
Rys. 3.32. Okienka narzędzi do analizy strukturalnej modelu
Ź
ródło: opracowanie własne
Dwa górne okienka przedstawiają zależności przyczynowo-skutkowe, w jakie uwikłana jest
zmienna aktywna, natomiast dolne to listing układu równań modelu oraz wskazanie pętli
sprzężeń zwrotnych, w jakie wchodzi badany element.
143
Rys. 3.33. Okienka narzędzi do analizy wyników symulacji
Ź
ródło: opracowanie własne
Kolejny etap w procedurze modelowania to rozwiązanie modelu na drodze symulacji.
W tym celu należy wybrać z menu opcję MODEL/SIMULATE lub przycisk
z belki
narzędziowej (zob. rys. 3.20). Omawiany model składa się z małej liczby równań, w związku
z tym procedura obliczeniowa będzie krótka. Użytkownik prawdopodobnie nie zauważy
nawet komunikatu o postępie symulacji wyświetlającego się w trakcie przeprowadzania
obliczeń. Po wykonaniu symulacji można obejrzeć wyniki obliczeń posługując się
narzędziami z pionowego paska przedstawionymi na rys. 3.22. Użycie tych narzędzi
wygeneruje okienka z wynikami symulacji dla zmiennej aktywnej (tu konsekwentnie „siły
roboczej”) przedstawione na rys. 3.33. Bardziej zindywidualizowaną, dostosowaną do potrzeb
użytkownika, prezentację wyników udostępnia opcja z menu WINDOWS / CONTROL
144
PANEL / GRAPHS. Sposób postępowania w celu uzyskania tzw. wykresu użytkownika został
opisany w punkcie 8.2.3. niniejszego rozdziału. Przy założeniu, że w oknie przedstawionym
na rys. 3.24 dokona się wyboru takich elementów omawianego modelu, jak „siła robocza”
oraz „magazyn towarów” wykres użytkownika będzie miał postać zaprezentowana na rys.
3.34.
400 szt
200 osoby
250 szt
140 osoby
100 szt
80 osoby
0
10
20
30
40
50
60
70
80
90
100
Time (Month)
Magazyn towarow : Current
szt
Sila robocza : Current
osoby
Rys. 3.34. Wykres użytkownika dla poziomów modelu systemu produkcyjnego
Ź
ródło: opracowanie własne
Wykres prezentuje zachowanie się zasobów systemu produkcyjnego przy założeniu nagłego
wzrostu sprzedaży produktów w 20-tym kroku symulacji. Wzrost ten jest opisany za pomocą
funkcji standardowej STEP (zob. tab. 3.3). Jak widać, do momentu zwiększenia sprzedaży
system wykazuje stabilne zachowanie. Po wystąpieniu zmian następują silne fluktuacje
badanych zmiennych, po czym, po pewnym czasie, system wraca do stanu równowagi ale z
inną liczbą pracowników (siła robocza). Model wykazuje logiczne zachowanie bowiem
logicznym następstwem zwiększenia popytu na produkty jest wzrost produkcji, który wymaga
zatrudnienia większej liczby pracowników. Można zatem stwierdzić, że model pomyślne
przeszedł weryfikację jakościową.
Model może teraz posłużyć jako baza do eksperymentów sprawdzających wpływ
różnych parametrów na zachowanie się systemu. Jednym ze sposobów poprawienia osiągnięć
firmy mogłoby być np. zredukowanie czasu potrzebnego na skorygowanie zapasów. W celu
sprawdzenia wrażliwości zasobów systemu produkcyjnego na zmiany tego czasu należy
wykonać kilka eksperymentów z różnymi wartościami czasu, po czym zdefiniować tzw.
145
wykresy porównawcze. Sposób tworzenia wykresów porównawczych jest szczegółowo
opisany w punkcie 8.2.3, a wyniki przykładowych eksperymentów prezentuje rys. 3.35.
Sila robocza
200
170
140
110
80
0
10
20
30
40
50
60
70
80
90
100
Time (Month)
Sila robocza : Current2
Person
Sila robocza : Current1
Person
Sila robocza : Current
Person
Magazyn towarow
400
325
250
175
100
0
10
20
30
40
50
60
70
80
90
100
Time (Month)
Magazyn towarow : Current2
Widget
Magazyn towarow : Current1
Widget
Magazyn towarow : Current
Widget
Rys. 3.35. Wykresy porównawcze wpływu różnych wartości parametru „czas potrzebny na
skorygowanie zapasów” na zasoby systemu (poziomy: „siła robocza” i „magazyn towarów”)
Ź
ródło: opracowanie własne
8.5. Vensim PLE na tle wybranych pakietów wspomagaj
ą
cych modelowanie
systemowo-dynamiczne
Do
potrzeb
modelowania
systemowo-dynamicznego
stworzono
w
latach
sześćdziesiątych specjalny język programowania o nazwie DYNAMO. Był to typowy język
wyższego rzędu, niezbyt przyjazny dla nieobytego z informatyką użytkownika. Wraz ze
zmianami w technologii komputerowej przychodziły kolejne wersje tego języka, wzbogacone
o elementy typowe dla pakietów symulacyjnych. Dziś firma, która opracowała ten język, nadal
istnieje i rozprowadza swój produkt już w postaci systemu symulacyjnego, pracującego w
ś
rodowisku operacyjnym Windows, wyposażonego w moduł graficzny do tworzenia
schematów strukturalnych.
W ostatnich latach na rynku pojawiło się także wiele innych programów, które w
mniejszym lub większym stopniu wspomagają konstruowanie i rozwiązywanie modeli
systemowo-dynamicznych i nie są oparte o standard języka DYNAMO. Jeden z nich to znany
już pakiet symulacyjny Vevsim PLE. Inne, które zostaną krótko przedstawione to: IThink i
Powersim. Programy te zostaną omówione i porównane ze sobą na przykładzie prostego
modelu ekonomicznego. Jest to model uzupełnień stanu magazynu ze sprzężeniem zwrotnym
II rzędu, którego dokładny opis znajduje się w Aneksie C (punkt 1).
146
8.5.1. IThink
I
Think jest produktem firmy High Performance Systems Inc., która powstała w 1985 r.
Jest to pakiet służący do budowy i symulacji procesów z zakresu ekonomii i zarządzania.
Może stanowić kluczowe narzędzie do rozwiązywania wszelkiego rodzaju problemów w
biznesie. IThink znajduje zastosowanie w wielu dziedzinach zarządzania przedsiębiorstwem,
takich jak: planowanie gospodarki zasobami ludzkimi, rozwój organizacyjny, prognozowanie,
analizy finansowe, planowanie strategiczne, reengineering procesów organizacyjnych,
planowanie produkcji.
Rys. 3.36 pokazuje podstawowy ekran pakietu IThink ze schematem strukturalnym
przykładowego modelu. Przedstawiono na nim także możliwość jednoczesnej prezentacji
wyników symulacji w postaci wykresu i tabeli.
Rys. 3.36. Podstawowy ekran systemu IThink
Ź
ródło: Łatuszyńska M., Wawrzyniak A., Wąsikowska B., Przegląd oprogramowania do
modelowania systemowo-dynamicznego, „Studia Informatica” nr 12, Wydawnictwo Naukowe
Uniwersytetu Szczecińskiego, Szczecin 2000
Tworząc model systemowo-dynamiczny użytkownik posługuje się, podobnie jak w
Vensimie, poziomą belką narzędzi:
.
System IThink posiada własną notację graficzną. Prostokąty identyfikują zasoby, takie jak
zapasy, pieniądze, siła robocza itp. Grafy skierowane reprezentują strumienie napełniające lub
uszczuplające zasoby systemu. Zmienne są przedstawiane w formie kół.
147
Omawiany system daje możliwość zapisywania założeń dotyczących modelu w
specjalnych polach dokumentacyjnych, które znajdują się w budowanych blokach. Można
również organizować schematy strukturalne w sektory, importować grafikę, tak aby
dostosować wygląd każdego modułu do indywidualnych potrzeb użytkownika w zakresie
komunikacji i prezentacji celów. Na podstawie diagramu strukturalnego generowane są
automatycznie równania zależności matematycznych zachodzących pomiędzy zmiennymi w
modelu. W przypadku IThink’a nie jest wymagana znajomość wyższej matematyki do
określania nawet bardzo wyrafinowanych relacji.
Wyniki symulacji mogą być pokazane w formie wykresu, tablicy oraz animowanego
diagramu. Współbieżne analizy wrażliwości pozwalają przeprowadzać badania różnego
rodzaju scenariuszy typu „co będzie jeśli” (ang. what-if), jak również różnorodnych
wariantów lub strategii reengineeringu. Aby zaprezentować wyniki symulacji w postaci
wykresu należy posłużyć się odpowiednim przyciskiem na pasku narzędzi. Otwiera się
wówczas okienko dialogowego (rys. 3.37), służące do określania, między innymi typu
wykresu (GRAPH TYPE), tytułu (TITLE) i zmiennych (SELECT), które mają znaleźć się na
wykresie.
Rys. 3.37. Definiowanie wykresów w IThink
Ź
ródło: Łatuszyńska M., Wawrzyniak A., Wąsikowska B., Przegląd oprogramowania do
modelowania systemowo-dynamicznego, op.cit.
W trakcie eksperymentów za pomocą IThink’a można testować szeroki zakres strategii
według różnych scenariuszy. Wieloprzebiegowe analizy wrażliwości umożliwiają zmianę
układu zmiennych w modelu, a następnie kompilację wyników eksperymentów
symulacyjnych w wykresach lub tabelach porównawczych. Wszystkie te zmiany są
automatycznie rejestrowane, więc zawsze wiadomo dokładnie, który zestaw wartości
148
pokazuje dany wykres lub tabela. Ponadto IThink pozwala na szybkie i łatwe tworzenie
własnego interakcyjnego, multimedialnego interfejsu do symulacji konkretnego modelu.
8.5.2. Powersim
System Powersim stworzony został przez norweską firmę Powersim AS. Jest bardzo
podobny pod względem działania do dwóch wcześniej omówionych programów. Różnice
możemy zauważyć w stosowanej symbolice, w sposobie generowania wykresów oraz w
sposobie tworzenia i wyglądzie tabel.
Na rys. 3.38 przedstawiono podstawowy ekran pakietu Powersim ze schematem
strukturalnym przykładowego modelu. Przedstawiono na nim także możliwość jednoczesnej
prezentacji wyników symulacji w postaci wykresu i tabeli.
Rys. 3.38. Podstawowy ekran systemu Powersim
Ź
ródło: Łatuszyńska M., Wawrzyniak A., Wąsikowska B., Przegląd oprogramowania do
modelowania systemowo-dynamicznego, op. cit.
Aby przeprowadzić dokładną analizę badanego systemu konstruuje się w Powersim’ie
diagramy sprzężeń zwrotnych, które identyfikują kluczowe zależności systemowe. Następnie
model jest formalizowany w postaci schematu strukturalnego. W trakcie tej czynności
użytkownik ma do dyspozycji, podobnie jak w dwóch poprzednich systemach, poziomą belkę
narzędzi:
.
Następnym
krokiem
jest
ułożenie
równań
149
matematycznych do modelu. Tworzenie tych równań przebiega analogicznie jak w Vensimie z
tą różnicą, że system w większym stopniu „podpowiada” użytkownikowi co ma zawierać i
jaką formę przyjąć równanie (okno Equation na rys. 3.39). Dodatkowym ułatwieniem jest to,
ż
e elementy schematu, do których jeszcze nie zostały stworzone równania posiadają wewnątrz
symbolu znak zapytania.
Rys. 3.39. Definiowanie równań w pakiecie Powersim
Ź
ródło: Łatuszyńska M., Wawrzyniak A., Wąsikowska B., Przegląd oprogramowania do
modelowania systemowo-dynamicznego, op.cit.
a) Tworzenie tabel
b) Definiowanie wykresów
Rys. 3.40. Tworzenie tabel i wykresów w pakiecie Powersim
Ź
ródło: opracowanie własne na podstawie: Łatuszyńska M., Wawrzyniak A., Wąsikowska B.,
Przegląd oprogramowania do modelow ania systemowo-dynamicznego, op.cit.
150
Po ułożeniu równań następuje symulacja modelu, przy czym korzystamy tutaj za
specjalnego zestawu przycisków:
, wyglądem przypominających przyciski np.
na magnetofonie (opcję RUN uruchamiamy klikając przycisk PLAY). W trakcie trwania
symulacji można obserwować zmiany zachodzące na wykresach pomocniczych,
usytuowanych na diagramie strukturalnym.
Przy tworzeniu tabel i wykresów prezentujących wyniki symulacji pomocne są,
podobnie jak w Vensimie i IThink’u, pojawiające się po wybraniu odpowiednich opcji
okienka dialogowe (rys. 3.40). Służą one lepszemu sprecyzowaniu zawartości tabel i
wykresów oraz dostosowaniu ich do potrzeb użytkownika.
8.5.3. Porównanie pakietów symulacyjnych
Wszystkie przedstawione pakiety służą do budowy modeli systemowo-dynamicznych i
symulacji procesów z zakresu ekonomii i zarządzania, choć oczywiście nie są to jedyne ich
możliwości. Każdy z nich ma zbliżone wymagania sprzętowe i pracuje w środowisku
operacyjnym Windows. Tabela 3.4 prezentuje wyniki oceny systemów Vensim, IThink oraz
Powersim. Oceny dokonano na podstawie jedenastu cech, którym przyznano od 0 do 5
punktów, przy czym 5 to ocena najwyższa.
Tab. 3.4. Porównanie wybranych pakietów symulacyjnych
Cechy
Vensim PLE
Ithink
Powersim
Notacja
2
4
5
Sposób tworzenia diagramów strukturalnych
3
4
5
Możliwość segmentacji diagramów
3
5
3
Wspomaganie tworzenia równań
4
4
5
Przeprowadzanie symulacji
3
4
5
Tworzenie tabel
1
5
5
Tworzenie wykresów użytkownika
4
3
5
Możliwość przeprowadzania eksperymentów
4
4
4
Sposób prezentacji danych
2
5
4
Możliwość tworzenia animacji
0
5
0
Wydruk
5
5
5
SUMA
31
48
46
Ź
ródło: Łatuszyńska M., Wawrzyniak A., Wąsikowska B., Przegląd oprogramowania do
modelowania systemowo-dynamicznego, op.cit.
Zaprezentowane pakiety symulacyjne nie są, jak już wspomniano, jedynymi programami
wspomagającymi modelowanie systemowo-dynamiczne. Niektóre Grupy Badawcze
zajmujące się Dynamiką Systemową miały ambicję stworzyć swój własny system
151
symulacyjny. Takie Grupy Badawcze znajdują się przy wielu ośrodkach akademickich na
całym świecie, między innymi w Londynie (Wielka Brytania), Manheim (Niemcy), Bergen
(Norwegia), Istambuł (Turcja), Quebec (Kanada) itd. Pełną listę grup można znaleźć w
Internecie na stronie Towarzystwa Systemowo-Dynamicznego (System Dynamics Society):
http://www.albany.edu/cpr/sds. Przykładowo w Korei powstał pakiet EGO natomiast w
Holandii – CREDITSIM
.
Obydwa systemy pracują w środowisku operacyjnym Windows, są
wyposażone w moduł graficzny, lecz są znane na mniejszą skalę aniżeli Vensim, IThink czy
Powersim. Referaty zgłaszane na międzynarodowe konferencje „System Dynamics”
odbywające się corocznie w różnych miejscach kuli ziemskiej donoszą o nowych programach,
nowych zastosowaniach i nowych perspektywach Dynamiki Systemowej.
152
Zadania i pytania do cz
ęś
ci III
1)
Omówić strukturę programu symulacyjnego.
2)
Scharakteryzować koncepcje sterowania czasem w symulacji komputerowej.
3)
Przedstawić ewolucję narzędzi do symulacji komputerowej.
4)
Omówić postać i działanie funkcji STEP w języku symulacyjnym VENSIM.
5)
Omówić postać i działanie funkcji RAMP w języku symulacyjnym VENSIM.
6)
Przedstawić postać równania poziomu w języku symulacyjnym VENSIM.
7)
Przećwiczyć proces konstruowania modelu w pakiecie symulacyjnym Vensim PLE na
przykładzie modelu systemu produkcyjnego i wskazówek przedstawionych w punkcie 8.4
niniejszej książki.
a)
Zaznaczyć na schemacie sprzężenia zwrotne występujące w modelu i zastanowić się
nad ich charakterem.
b)
Przeprowadzić symulację, wyniki zachować w pliku BAZA.
c)
Zdefiniować wykres użytkownika przedstawiający kształtowanie się wartości
poziomów modelu.
d)
Zamiast funkcji STEP w równaniu strumienia SPRZEDAŻ użyć funkcji RAMP.
Przeprowadzić symulację. Wyniki zapisać w pliku EKSPRAMP.
e)
Zamiast funkcji RAMP w równaniu strumienia SPRZEDAŻ użyć funkcji PULSE.
Przeprowadzić symulację. Wyniki zapisać w pliku EKSPPULSE.
f)
Utworzyć nowy wykres użytkownika przedstawiający porównawczo kształtowanie się
wartości strumienia SPRZEDAŻ w poszczególnych eksperymentach (BAZA,
EKSPRAMP, EKSPPULSE). Zastanowić się nad działaniem poszczególnych funkcji
testowych.
g)
Utworzyć kolejny wykres użytkownika przedstawiający porównawczo kształtowanie
się wartości poziomu MAGAZYN TOWARU w poszczególnych eksperymentach
(BAZA, EKSPRAMP, EKSPPULSE). Zastanowić się nad wpływem różnych zakłóceń
na poziom ZAPAS TOWARU.
h)
Utworzyć kolejny wykres użytkownika przedstawiający porównawczo kształtowanie
się wartości poziomu SIŁA ROBOCZA w poszczególnych eksperymentach (BAZA,
EKSPRAMP, EKSPPULSE). Zastanów się nad wpływem różnych zakłóceń na
poziom SIŁA ROBOCZA.
153
8)
Narysować w pakiecie Vensim PLE schematy strukturalne dla podanych niżej systemów.
Na schematach zaznaczyć kierunki wszystkich zależności informacyjnych i typy
występujących pętli sprzężeń zwrotnych.
a)
Odsetki – stan konta bankowego.
b)
Wielkość populacji – wzrost populacji.
c)
Zainfekowana populacja – natężenie infekowania.
d)
Produkcja – produkty gotowe.
e)
Stan magazynu – dostawy.
9)
Zbudować modele matematyczne do przykładowych systemów z zadania 8. i dokonać ich
symulacji za pomocą pakietu Vensim PLE. We wszystkich przypadkach będzie konieczne
wprowadzenie dodatkowych elementów do modelu (parametrów, lub zmiennych
pomocniczych). Przeprowadzić analizę zachowania się systemów na podstawie
wygenerowanych wykresów.
10)
W pewnym kraju natężenie narodzin wynosi 100.000 ludzi rocznie przy początkowej
liczbie ludności 5.000.000. Przeciętny czas życia człowieka wynosi 65 lat. Ocenia się, że
każdy osobnik zużywa rocznie 1 tonę węgla. Narysować w pakiecie Vensim schemat
przyczynowo-skutkowy i strukturalny zużycia krajowego zasobu węgla wynoszącego
500.000.000. Ułożyć równania do modelu i dokonać symulacji dla okresu 100 lat
11
.
11)
W pewnej miejscowości na każde 20 dorosłych osób rodzi się rocznie 1 dziecko. Po 6
latach dzieci osiągają wiek szkolny. Ich kształcenie trwa 12 lat, po czym stają się dorosłe.
Przeciętnie po 50 latach życia jako dorośli, umierają. Narysować w pakiecie Vensim PLE
schemat przyczynowo-skutkowy i strukturalny, ułożyć równania dla modelu i dokonać
symulacji dla okresu 100 lat, przyjmując że liczba małych dzieci, dzieci w wieku
szkolnym i dorosłych wynosi odpowiednio 3000, 30000 i 100000 (wykorzystać
wskazówki zawarte w punkcie 4.4.2 niniejszej książki).
12)
Przedsiębiorca budowlany zauważył, że natężenie sprzedaży domów jednorodzinnych
zależy od liczby rodzin nie posiadających jeszcze domu. Wraz ze zmniejszeniem się
liczby rodzin nie posiadających domu maleje natężenie ich sprzedaży. Rozważmy teraz
sytuację producenta urządzeń klimatyzacyjnych. Natężenie sprzedaży tych urządzeń
zależy od liczby sprzedanych domów, maleje wraz ze zmniejszeniem się
niezaspokojonego popytu. Urządzenia po pewnym czasie eksploatacji zużywają się i są
11
Por. Gordon G.: Symulacja systemów, op.cit., s. 101.
154
wyrzucane. Zbudować w Vensimie schemat przyczynowo-skutkowy i strukturalny,
oprogramować model i dokonać symulacji. Przyjąć, że przeciętny czas na sprzedaż domu
wynosi 5 miesięcy, przeciętny czas na zainstalowanie klimatyzacji wynosi 10 miesięcy, a
zużycie następuje przeciętnie po 25 miesiącach. Początkowa liczba potencjalnych
nabywców domów wynosi 1000. Nie ma żadnych ograniczeń w podaży domów i urządzeń
klimatyzacyjnych
12
.
13)
Pewna firma wypożyczająca maszyny budowlane instaluje i konserwuje urządzenia.
Zatrudnia ona stałą siłę roboczą wykwalifikowaną zarówno do instalacji jak i do naprawy
maszyn. Urządzenia są instalowane i naprawiane z natężeniem proporcjonalnym do liczby
pracowników wyznaczonych do instalacji i naprawy. Zainstalowane urządzenie ulega
uszkodzeniu po pewnym przeciętnym czasie eksploatacji. Naprawa odbywa się w firmie.
Właściciel stara się kierować jak najwięcej ludzi do prac instalacyjnych. Dla zachowania
równowagi kieruje on ludzi do prac naprawczych z natężeniem proporcjonalnym do liczby
uszkodzonych maszyn. Naprawa trwa pewien czas, po którym pracownicy powracają do
prac instalacyjnych. Narysować Vensimie schemat przyczynowo-skutkowy i strukturalny i
zaprogramować model w Vensimie. Dokonać symulacji, samodzielnie określając
wszystkie stałe czasowe i wartości początkowe w modelu
13
.
14)
Firma X gromadzi fundusz emerytalny dla swoich pracowników odkładając miesięcznie P
zł na każdego pracownika. Zgromadzony fundusz jest inwestowany i przynosi 5% zysków
w skali rocznej. Przewidziane jest 3% wzrostu zatrudnienia rocznie. Firma chce sprawdzić
słuszność swego planu emerytalnego, symulując wpływ różnych założeń o przeciętnym
czasie czynnej pracy zawodowej i przeciętnym czasie wypłacania emerytury. Narysować
Vensimie schemat przyczynowo-skutkowy i strukturalny i zaprogramować model w
Vensimie. Dokonać symulacji i określić na podstawie analizy struktury (sprzężeń
zwrotnych) typ zachowania się odwzorowanego systemu
14
.
12
Ibidem, s. 69-72.
13
Ibidem, s. 101.
14
Ibidem.