Wydział Ekonomii, Zarządzania i Turystyki Katedra Ekonometrii i Informatyki http://keii.ue.wroc.pl Informatyka w zarządzaniu przedsiębiorstwem wykład laboratoria
Wprowadzenie Naturalnym sposobem badania systemów rzeczywistych jest prowadzenie eksperymentów bezpośrednio na obiekcie. Przykładowo, można manipulować czasem pracy sygnalizacji świetlnej (na poszczególnych skrzyżowaniach miejskich) tak, aby doprowadzić do ich synchronizacji, zapewniającej najkrótszy czas przejazdu samochodów przez centrum miasta w różnych porach doby. Jeżeli możliwe jest przeprowadzenie eksperymentu bezpośrednio na systemie bez wywoływania niepożądanych skutków, to jest to najwłaściwsza decyzja. Nie zawsze jednak można się na tego rodzaju próby zdecydować. W wielu przypadkach eksperyment na systemie rzeczywistym jest niemożliwy, kosztowny lub możliwy, ale bardzo trudny do przeprowadzenia, np: nie można testować alternatywnych strategii w firmie, którą dopiero zamierzamy założyć, nawet jeżeli firma już istnieje, zbyt kosztowne będzie np. wybudowanie nowej hali produkcyjnej po to, by przekonać się o opłacalności inwestycji, trudno byłoby sprowadzić podwójną liczbę klientów do banku, aby przekonać się czy oddział poradzi sobie z obsługą w przypadku zamknięcia innego oddziału, testowanie nowych procedur celnych na lotnisku może spowodować chaos i liczne skargi podróżnych, eksperymentowanie z różną liczbą pracujących karetek pogotowia nie wyszłoby zapewne na zdrowie pacjentom.
Pojęcie symulacji W powyższych sytuacjach można zbudować model, który będzie zastępował system w eksperymentach, a następnie zadawać pytania, co mogłoby się zdarzyć, jeżeli podejmiemy taką czy inną decyzję lub wtedy, gdy wydarzy się coś co trudno nam będzie kontrolować (np. poważna awaria w firmie, wypadek masowego zatrucia w mieście itp.). Badania na modelu nie przynoszą nikomu szkody, a w badaniu można formułować nawet bardzo zaskakujące pytania. Symulacja oznacza eksperyment prowadzony na modelu systemu rzeczywistego, zapisanym w postaci programu komputerowego, w miejsce eksperymentu wykonywanego bezpośrednio na badanym obiekcie. W stwierdzeniu tym, kluczowe znaczenie dla zrozumienia istoty i natury symulacji mają słowa model i eksperyment. Tym, co odróżnia symulację od innych podejść, jest właśnie eksperymentowanie na modelu poprzez wielokrotne uruchamianie go, obserwowanie działania i analizowanie wyników, które najczęściej są zbiorem wartości, a nie pojedynczą liczbą. Evans i Olson [2002] podają, że symulacja to proces projektowania modelu logicznego systemu rzeczywistego lub problemu decyzyjnego, a następnie prowadzenie na tym modelu eksperymentów (najczęściej komputerowych) w celu uzyskania wiedzy na temat zachowań systemu rzeczywistego lub pomocy w rozwiązaniu problemu decyzyjnego.
Przykłady symulacji komputerowych Mercedes-Benz Wiosną 2007 r. Mercedes-Benz wprowadza na rynek nową wersję Klasy C. Projekt stanowi ukoronowanie kilku lat doświadczeń oraz realizację zasad Kodeksu Mercedesa dotyczącego komfortu samochodów. Nowa Klasa C jest pierwszym na świecie samochodem seryjnym, opracowanym i skonstruowanym z wykorzystaniem technologii cyfrowego prototypu (DPT Digital ProtoType). W ramach tej procedury, Mercedes-Benz wykorzystał wszystkie dostępne metody obliczeniowe, wykorzystując 2130 gigabajtów danych do stworzenia kompletnego wirtualnego modelu samochodu. Symulacja komputerowa umożliwiła opracowanie i przetestowanie rozwiązań poprawiających poziom bezpieczeństwa zderzeniowego i ochrony użytkowników na potrzeby nowej Klasy C. W oparciu o wirtualny model pojazdu opracowano również inne parametry samochodu: jego NVH (poziom hałasu, drgań i barwę dźwięku), trwałość auta, oszczędność energii i współczynnik aerodynamiki. Nowa metoda DPT pomogła oszczędzić czas i już we wczesnej fazie projektowania rozwiązać problem szukania kompromisów. Umożliwiła także przeprowadzenie serii testów komputerowych limuzyny jako całości.
Przykłady symulacji komputerowych c.d.
Pojęcie modelu Badania symulacyjne wymagają zbudowania modelu, który powinien być tak sformułowany, aby możliwe było jego komputerowe symulowanie. Użytkownik modelu powinien być w stanie zadawać pytania posługując się dobrze zaprojektowaną procedurą eksperymentalną w celu uzyskania użytecznych wyników. Według Gordona [1974] model to zbiór informacji o systemie, zebranych w celu jego zbadania. Według Fishmana [1981] model symulacyjny powinien: umożliwiać badaczowi sprawdzenie swoich teoretycznych przekonań o systemie, dokonanie na nim empirycznych obserwacji oraz wyciągnięcie logicznych wniosków, ułatwiać zrozumienie systemu, skłaniać do prowadzenia w przyszłości badań szczegółowych, przyspieszać wykonanie analizy, określać metody testowania pożądanych modyfikacji systemu, ułatwiać manipulowanie charakterystykami wejściowymi, umożliwiać prowadzenie kontroli o wiele większej liczby źródeł zmienności, niż byłoby to możliwe przy bezpośrednim badaniu systemu, obniżać koszt badań w porównaniu z badaniami prowadzonymi na rzeczywistym systemie.
Rodzaje modeli symulacyjnych Modele dyskretne/ciągłe tradycyjne modele symulacyjne, których podział odnosi się do zmiennych występujących w modelu. Zmienne ciągłe mogą przyjmować wartość każdej liczby rzeczywistej, podczas gdy zmienna dyskretna przyjmuje wartości tylko z pewnego, ściśle określonego przeliczalnego podzbioru liczb rzeczywistych. Szczególnie istotny jest charakter zmiennej czasu. Jeżeli zmiany w modelu występują w sposób ciągły (w miarę upływu czasu), to dany model jest modelem ciągłym; jeżeli natomiast zmiany występują tylko w ściśle określonych chwilach, model posiada charakter dyskretny. Modele hybrydowe modele wykorzystują kombinację zmiennych o charakterze dyskretnym oraz ciągłym. Modele agentowe nowoczesne, dynamiczne modele symulacyjne, w skład których oprócz opisu struktury systemu oraz procesów zachodzących w systemie wchodzą tzw. agenci wykonujący w sposób autonomiczny czynno ści i podejmujący decyzje. Agent może reprezentować obiekty o różnych kształtach i rozmiarach. Na poziomie fizycznym (najniższym) agenci mogą symulować pieszych, pojazdy, roboty; na środkowym poziomie klientów, a na najwyższym konkurujące między sobą przedsiębiorstwa. Jak podaje Gordon [1974], modele symulacyjne są konstruowane w celu analizy, projektowania lub optymalizacji danego systemu.
Pojęcie systemu System zbiór powiązanych ze sobą obiektów scharakteryzowanych za pomocą atrybutów (cech), które również mogą być ze sobą powiązane [Fishman 1981]. Szpital System Obiekty Atrybuty Schorzenie Pacjent Wiek Przypadek (ciężki/lekki) Lekarz Specjalizacja Stacja paliw Tab. 1. Elementy przykładowego systemu Szpital oraz Stacja paliw Odział Laboratorium Samochód Dystrybutor Pracownik Liczba lekarzy Liczba łóżek Typ oddziału Średni czas obsługi Dzienna liczba badań Liczba laborantek Liczba aparatów diagnostycznych Typ samochodu Pojemność baku Rodzaj tankowanego paliwa Typ dystrybutora Średni czas obsługi Harmonogram pracy Źródło: opracowanie na podstawie Mielczarek B., Modelowanie symulacyjne w zarządzaniu. Symulacja dyskretna, Wyd. PW, 2009.
System przykłady Magazyn Tab. 2. Elementy przykładowego systemu logistycznego Magazyn System Obiekty Atrybuty Magazynier Harmonogram pracy Liczba magazynierów Kontroler Wózek widłowy Strefa rozładunku Strefa przyjęcia Strefa składowania Strefa wydania Harmonogram pracy Liczba kontrolerów Typ wózka Ładowność Pojemność strefy Liczba stanowisk Średni czas rozładunku Pojemność strefy Średni czas przyjęcia Pojemność strefy Liczba regałów Średni czas składowania Pojemność strefy Liczba stanowisk Średni czas wydania Źródło: opracowanie własne.
Cechy charakterystyczne systemu Każdy system charakteryzuje się trzema cechami: ma on linie graniczne, istnieje w pewnym otoczeniu oraz posiada podsystemy. Otoczenie jest zbiorem obszarów, w których osadzony jest system, natomiast linie graniczne wyodrębniają obiekty systemu spośród obiektów, które stanowią jego otoczenie. Funkcjonowanie systemu oznacza, że istnieją: cele systemu, zbiór elementów systemu, zbiór zależności pomiędzy elementami systemu (nazywa się go strukturą systemu) procesy transformacji realizowany przez system, zasilenia pobierane przez system z otoczenia, elementy systemu przez które pobiera on zasilenia wejście (wejścia) systemu, efekty działania systemu, które oddaje on do otoczenia, elementy systemu przez który oddaje on do otoczenia efekty swojego działania wyjście (wyjścia) systemu. Celem prowadzenia analizy systemów jest najczęściej chęć poprawienia działania systemu. Celem idealnym jest optymalizacja systemu.
Podejście systemowe Wprowadzenie definicji systemu stało się podstawą do sformułowania na gruncie nauki tzw. podejścia systemowego. Podejście systemowe opiera się na następujących zasadach: zasada ścisłości system powinien być ściśle określony i opisany, żeby było wiadomo co do niego należy. Ponadto, jeżeli analizowany system składa się z elementów, które opisać można jako systemy, to każdy z nich określany jest jako podsystem. Gdy rozważania dotyczą tylko jednego systemu, jest on jedynie fragmentem analizowanej rzeczywistości (dlatego cała reszta rozpatrywanej rzeczywistości określana jest w takiej sytuacji jako otoczenie rozpatrywanego systemu); zasada niezmienności opis systemu powinien być niezmienny w trakcie jego rozpatrywania; system podlega zmianie w trakcie działania, ale jego opis powinien być tak zbudowany, aby zachodzące w nim zmiany mieściły się w ramach tego opisu; Przykład: We wszystkich opisach problemów związanych z zapasami przyjmować należy następującą definicję zapasu: zapas system składający się z następujących elementów: zapasu rezerwowego (bezpieczeństwa) oraz zapasu dysponowanego (bieżącego). Dopiero tym elementom przypisywać należy konkretne wartości liczbowe.
Podejście systemowe c.d. zasada zupełności podział systemu na podsystemy powinien być zupełny żaden system nie może zawierać elementów nie należących do żadnego z jego podsystemów; zasada rozłączności podział systemu na podsystemy powinien być rozłączny w systemie żaden element danego podsystemu nie może stanowić elementu innego podsystemu; zasada funkcjonalności systemy powinny być wydzielane ze względu na pełnione funkcje (cele systemu), a nie ze względu na oddzielność przestrzenną. Przykład: Nie istnieje system magazyn. Istnieją natomiast np. takie systemy jak: magazyn paliw, magazyn materiałów, magazyn części zamiennych, itd.
Podsumowanie Metody symulacyjne są stosowane do opisu, badania i projektowania oraz optymalizaji systemów gospodarczych i społecznych (w tym logistycznych). Początkowo metody symulacji stosowane były w fizyce i matematyce. Obecnie przykłady zastosowania symulacji można odnaleźć również w naukach przyrodniczych, ekonomii, zarządzaniu, praktyce finansowej, itd. Symulacja jest dość szczególnym podejściem badawczym. Jest to w rzeczywistości nie jedno podejście, ale zbiór metod i technik, które naśladują działanie systemu rzeczywistego, wykorzystując przy tym różnego rodzaju oprogramowanie. Główną zaletą modeli symulacyjnych jest brak ograniczeń dotyczących struktury i stopnia skomplikowania badanego systemu, co pozwala na modelowanie systemów rzeczywistych o wysokim stopniu złożoności i dużym udziale czynników losowych.
Program symulacyjny AnyLogic Program AnyLogic posiada graficzny interfejs programistyczny (GUI) oraz graficzny język modelowania (ang. modeling language), który umożliwia tworzenie modeli w wygodny sposób przez składanie z predefiniowanych elementów graficznych, które następnie można w zaawansowany sposób rozbudować kodem Java. Wynikiem modelowania jest aplet Java, który może być uruchomiony w standardowej przeglądarce internetowej na dowolnej platformie systemowej. Modele AnyLogic mogą opierać się na dowolnym z głównych paradygmatów tworzenia symulacji: symulacji zdarzeń dyskretnych (ang. DE discrete event or process-centric), dynamice systemów (ang. SD systems dynamics) oraz programowaniu agentowym (ang. AB agent based). Źródło: https://pl.wikipedia.org/wiki/anylogic
Program symulacyjny AnyLogic Na graficzny język projektowania modeli w programie AnyLogic składają się następujące elementy: Diagramy przepływu i schematy blokowe (ang. Stock & Flow Diagrams) wykorzystywane do modelowania dynamiki systemowej. Diagramy stanu (ang. Statecharts) wykorzystywane w modelowaniu opartym na programowaniu agentowym do określania zachowań agentów. Często stosuje się je w modelowaniu skoncentrowanym na zdarzeniu, np. podczas symulacji awarii maszyn. Schematy blokowe (ang. Action charts) wykorzystywane do określania algorytmów. Mogą być stosowane w modelowaniu skoncentrowanym na zdarzeniu (np. do przekierowywania połączeń) lub też w modelowaniu opartym na programowaniu agentowym, (np. przy pracy nad logiką w działaniu agentów). Schematy procesu (ang. Process flowcharts) stanowią podstawę do określania procesów w modelowaniu dyskretnego zdarzenia symulacji dyskretnej. Źródło: https://pl.wikipedia.org/wiki/anylogic
Program symulacyjny AnyLogic Wybrane biblioteki programu AnyLogic: The Process Modeling Library wspiera symulacje DE w takich obszarach jak produkcja, łańcuchy dostaw, logistyka i opieka zdrowotna. Za pośrednictwem biblioteki Process Modeling można modelować rzeczywiste systemy w kategoriach: jednostek (transakcji, klientów, produktów), procesów (sekwencji operacji zwykle zawierających kolejki, opóźnienia, wyczerpanie zapasów) i zasobów. The Pedestrian Library biblioteka przeznaczona do symulacji ruchu pieszych w środowisku fizycznym. Umożliwia tworzenie modeli budowli związanych z intensywnym ruchem pieszych (np. stacje metra, punkty kontroli bezpieczeństwa). Tego rodzaju modele są pomocne w zbieraniu danych statystycznych nt. zagęszczenia przechodniów w określonych strefach, co zapewnia: osiągnięcie akceptowalnej wydajności punktów usługowych, trafne oszacowanie czasu pobytu przechodniów w danych strefach oraz wykrycie potencjalnych problemów, wynikających z geometrii wnętrza modelu (jak np. skutki dodania zbyt wielu przeszkód). W modelach stworzonych za pomocą biblioteki Pedestrian, przechodnie reagują na różne przeszkody (np. ściany, różne rodzaje powierzchni) oraz na innych przechodniów. Przechodnie są symulowani jako wchodzące ze sobą w interakcję, wykazujące się złożonym zachowaniem agenty. The Rail Library umożliwia modelowanie, symulację i wizualizację procesów zachodzących na terenie dworca kolejowego o dowolnym rozmiarze i kompleksowości. Modele dworców mogą być łączone z modelami symulacji dyskretnej lub programowania agentowego odnośnie: załadunku i rozładunku, dystrybucji zasobów, konserwacji, procesów biznesowych i innych działań w zakresie transportu. Źródło: opracowanie własne na podstawie: https://pl.wikipedia.org/wiki/anylogic
Program symulacyjny AnyLogic Źródło: opracowanie własne z wykorzystaniem programu AnyLogic
Pytania?