Anylogic
![]() | |
![]() | |
Autor | The AnyLogic Company |
---|---|
Aktualna wersja stabilna | Professional 7[1] |
Język programowania | Java |
Platforma sprzętowa | x86 |
System operacyjny | Microsoft Windows, Linux, MacOS |
Rodzaj | Oprogramowanie do modelowania |
Licencja | Licencjonowane |
Strona internetowa |
AnyLogic – wielometodowe narzędzie służące do modelowania (tworzenia symulacji) opracowane przez The AnyLogic Company.
Historia AnyLogic
Na początku lat 90. nastało duże zainteresowanie zastosowaniem modelu matematycznego do modelowania oraz symulacji procesów równoległych, które mogą być stosowane do analizy poprawności programów równoległych i rozproszonych. Grupa badawcza Sieci Rozproszonych (The Distributed Computer Network (DCN)) z Politechniki w Petersburgu opracowała oprogramowanie służące do analizy poprawności programów, któremu nadano nazwę COVERS (Concurrent Verification and Simulation). Narzędzie zostało opracowane w drodze badań prowadzonych dla firmy Hewlett-Packard i umożliwiało graficzną prezentację modeli. W roku 1998 grupa badawcza DCN, zachęcona powodzeniem badań, zakłada przedsiębiorstwo, którego celem jest opracowanie nowoczesnego oprogramowania symulacyjnego. W projekcie położono nacisk na następujące zastosowane metody: symulację, analizę wydajności, zachowanie systemów stochastycznych, optymalizację i wizualizację. U podstaw opublikowanego w 2000 roku oprogramowania stały najnowsze osiągnięcia informatyki: programowanie obiektowe, elementy standardu UML, nowoczesny język programowania Java, graficzny interfejs użytkownika itd.
Narzędzie otrzymało nazwę ”’AnyLogic’” ponieważ było zdolne wykorzystać wszystkie trzy znane metody modelowania (modele hybrydowe):
- Modele dynamiki systemów (ang.: System dynamics),
- Modele zdarzeń dyskretnych (ang.: Discrete event simulation),
- Modele agentowe (ang.: Agent-based modeling[2]).
Przy czym dozwolone są dowolne kombinacje powyższych metod w ramach jednego modelu[3]. Pierwsza wersja oprogramowania AnyLogic została oznaczona numerem 4, ze względu na ostatnią dystrybucję COVERS 3.0.
Krokiem milowym w rozwoju oprogramowania była wersja AnyLogic 5 opublikowana w 2003 roku. Autorzy skoncentrowali się wówczas na wykorzystaniu symulacji w biznesie w następujących obszarach:
- Symulacje rynkowe[4],
- Opieka zdrowotna[5],
- Produkcja[6],
- Łańcuch dostaw[7][8][9],
- Logistyka[10],
- Handel detaliczny[11][12],
- Procesy biznesowe[13],
- Dynamika społeczna i ekosystemowa,
- Wojskowość,
- Zarządzanie projektami oraz Zarządzanie zasobami,
- Informatyka oraz infrastruktura IT,
- Modelowanie ruchu pieszych oraz symulacje procesów ewakuacji pieszych[14],
- Przemysł lotniczy[15],
- Fotowoltaika[16]).
Ostatnią główną wersję, AnyLogic 7.x.x wydano w 2014 roku. Platformą dla zintegrowanego środowiska programistycznego jest Eclipse, dzięki temu AnyLogic jest wieloplatformowym oprogramowaniem do symulacji (ang.: simulation software) działającym w środowisku Windows, Mac OS and Linux[17].
AnyLogic i Java
Oprogramowanie AnyLogic posiada graficzny interfejs programistyczny GUI oraz graficzny język modelowania (ang.: modeling language) umożliwiający 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. Ponadto aplety ułatwiają dystrybucję i publikację modeli na stronach internetowych[18][19].
Wielometodowe modelowanie symulacji
![](http://upload.wikimedia.org/wikipedia/commons/b/bf/Simulation_approaches_vs_abstraction_levels.jpg)
Modele AnyLogic mogą opierać się na dowolnym z głównych paradygmatów tworzenia symulacji: symulacji zdarzeń dyskretnych, zwanej też skoncentrowaną na procesie (DE) (ang.: discrete event or process-centric), dynamice systemów (SD) (ang.: systems dynamics) oraz programowaniu agentowym (AB) (ang.: agent-based).
Dynamika systemowa i symulacja dyskretna to tradycyjne metody symulacji, natomiast programowanie agentowe jest podejściem całkowicie nowym. Analizując zagadnienie od strony technicznej, dynamika systemowa zajmuje się głównie procesami ciągłymi, podczas gdy zdarzenia dyskretne (rozumiane jako wszyscy następcy GPSS, znani też jako skoncentrowani na procesie) i programowanie agentowe pracują w „czasie dyskretnym”, tj. przechodzą z jednego zdarzenia do drugiego.
Dynamiki systemowej i zdarzeń dyskretnych uczono w przeszłości studentów ze znacznie różniących się kierunków studiów, np. ze studentów zarządzania i ekonomii czy inżynierów działów badawczo-rozwojowych w przemyśle, zatem istniały środowiska zawodowe korzystające z symulacji, między którymi nie zachodziła komunikacja. Programowanie agentowe było do niedawna wyłącznie przedmiotem rozważań akademickich.
Zwiększający się popyt na optymalizację procesów biznesowych sprawił, że czołowi twórcy modeli zaczęli rozważać łączenie metod, co z kolei umożliwiło im wgląd w złożone, współbieżne procesy o bardzo różnym charakterze. Poszczególne metody odpowiadają różnym poziomom abstrakcji, np. system dynamics używany jest do tworzenia modeli o najwyższym poziomie abstrakcji. Modelowanie skoncentrowane na zdarzeniu stosuje się w poziomach niższych do średnich. Natomiast modelowanie agentowe może być stosowane na wszystkich poziomach. Ponadto agent może reprezentować obiekty o różnych kształtach i rozmiarach. Na poziomie „fizycznym” agenci mogą symulować pieszych, pojazdy, roboty; na środkowym poziomie klientów, a na najwyższym konkurujące między sobą przedsiębiorstwa[20].
AnyLogic umożliwia twórcy łączne zastosowanie wszystkich powyższych metod symulacyjnych w obrębie jednego modelu bez konieczności sztywno zdefiniowanej hierarchii. Można przykładowo stworzyć model firmy wysyłkowej, w której przewoźnicy będą ukształtowani jako samodzielnie działające agenty, podczas gdy wewnętrzne działanie sieci transportowych i infrastrukturalnych może być modelowane za pomocą symulacji dyskretnej zdarzenia. Podobnie jako agentów można tworzyć konsumentów. Całokształt ich zachowania będzie zasilał procesy dynamiki systemowej – np. dochody i wydatki przypisane do poszczególnych agentów.
Język projektowania symulacji
![](http://upload.wikimedia.org/wikipedia/commons/4/48/AnyLogic_Simulation_Language.jpg)
Graficzny język projektowania modeli AnyLogic składa się z następujących elementów[21]:
- Diagramy przepływu I schematy blokowe (ang.:Stock & Flow Diagrams) wykorzystywane są do modelowania dynamiki systemowej.
- Diagram stanu używane są głównie w modelowaniu opartym na programowaniu agentowym do określania zachowania agenta. Często także stosuje je się w modelowaniu skoncentrowanym na zdarzeniu, np. podczas symulacji awarii maszyn.
- Schematy blokowe są 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. Przyglądając się takiemu schematowi staje się jasne, dlaczego metoda zorientowana na zdarzeniu bywa nazywana metodą skoncentrowaną na procesie.
Oprócz tego język zawiera: konstrukcje modelujące na niskim poziomie (zmienne, równania, parametry, zdarzenia itd.); figury stosowane w prezentacji (linie, krzywe, elipsy); możliwości analizy (dane, histogramy, wykresy); narzędzia komunikacyjne; obrazy standardowe i ramy eksperymentalne.
Biblioteki standardowe AnyLogic
Oprogramowanie AnyLogic zawiera następujące biblioteki[21]:
- 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. Procesy te są przedstawiane za pomocą schematów przebiegu procesów (ang.: flowcharts).
- The Pedestrian Library jest 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), a także modeli dróg (z dużą ilością przechodniów). Takie modele są pomocne w zbieraniu danych statystycznych na temat „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 poruszają się w przestrzeni ciągłej, reagują na różne przeszkody (ś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, jednak Biblioteka „Pedestrian” AnyLogic oferuje interfejs wyższego poziomu do szybkiego tworzenia modeli przechodniów w postaci diagramów blokowych.
- 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 do: załadunku i rozładunku, dystrybucji zasobów, konserwacji, procesów biznesowych i innych działań w zakresie transportu.
Oprócz wyżej wymienionych bibliotek AnyLogic użytkownik może tworzyć i dystrybuować własne biblioteki.
Przypisy
- ↑ Aktualne informacje na stronie producenta.
- ↑ Cynthia Nikolai, Gregory Madey. Tools of the Trade: A Survey of Various Agent Based Modeling Platforms, Journal of Artificial Societies and Social Simulation vol. 12, no. 2 2, 31 March 2009
- ↑ Andrei Borshchev, Alexei Filippov. From System Dynamics and Discrete Event to Practical Agent Based Modeling: Reasons, Techniques, Tools,The 22nd International Conference of the System Dynamics Society, July 25–29, 2004, Oxford, England
- ↑ Maxim Garifullin, Andrei Borshchev, Timofei Popkov. "Using AnyLogic and Agent Based Approach to Model Consumer Market", EUROSIM 2007, September 2007.
- ↑ Kirk Solo, Mark Paich A Modern Simulation Approach for Pharmaceutical Portfolio Management, SimNexus LLC
- ↑ Yuri G. Karpov, Rostislav I. Ivanovski, Nikolai I. Voropai, Dmitri B. Popov. Hierarchical Modeling of Electric Power System Expansion by AnyLogic Simulation Software, 2005 IEEE St. Petersburg PowerTech, June 27–30, 2005, St. Petersburg, Russia
- ↑ Michael Gyimesi, Johannes Kropf. "C14 Supply Chain Management – AnyLogic 4.0", Simulation News Europe, December 2002.
- ↑ Ivanov D.A., Sokolov B., Kaeschel J. "A multi-structural framework for adaptive supply chain planning and operations control with structure dynamics considerations", European Journal of Operational Research, 2009.
- ↑ Ivanov D.A. "Supply chain multi-structural (re)-design.", International Journal of Integrated Supply Management, No. 5(1), 19-37., 2009.
- ↑ Ilmarts Dukulis, Gints Birzietis, Daina Kanaska. Optimization models for biofuel logistic system, Engineering for Rural Developments, Jelvaga, 29–30 May 2008
- ↑ Peer-Olaf Siebers, Uwe Aickelin, Helen Celia, Chris W. Clegg. "understanding Retail Productivity by Simulating Management Practices", EUROSIM 2007, September 2007.
- ↑ Peer-Olaf Siebers, Uwe Aickelin, Helen Celia, Chris W. Clegg. "A Multi-Agent Simulation of Retail Management Practices", Proceedings of the Summer Computer Simulation Conference (SCSC 2007), 2007.
- ↑ Arnold Greenland, David Connors, John L. Guyton, Erica Layne Morrison, Michael Sebastiani. "IRS post-filing processes simulation modeling: a comparison of DES with econometric microsimulation in tax administration", Proceedings of the 2007 Winter Simulation Conference, 2007, Washington, D.C., USA
- ↑ V.L. Makarov, V.A. Zitkov, A.R. Bakhtizin. "An agent-based model of Moskow traffic jams", Agent Based Spatial Simulation Workshop, 24–25 November 2008, Paris, France
- ↑ David Buxton, Richard Farr, Bart Maccarthy. "The Aero-engine Value Chain Under Future Business Environments: Using Agent-based Simulation to Understand Dynamic Behaviour", MITIP2006, 11–12 September, Budapest.
- ↑ Roland Sturm, Hartmut Gross, Jörg Talaga. Material Flow Simulation of TF Production Lines –Results & Benefits (Example based on CIGS Turnkey), Photon equipment conference, March 2009, Munich.
- ↑ Kompletna lista wymagań systemowych znajduje się na stronie producenta: the official web-site.
- ↑ Christian Wartha, Momtchil Peev, Andrei Borshchev, Alexei Filippov. Decision Support Tool Supply Chain, Proceedings of the 2002 Winter Simulation Conference, 2002
- ↑ Explore different probability distributions and fit your own dataset online – interactive tool
- ↑ Yuri G. Karpov. "AnyLogic – a New Generation Professional Simulation Tool", VI International Congress on Mathematical Modeling, September 20-26th, 2004, NizniNovgorog, Russia
- ↑ a b AnyLogic on-line help on official vendor web-site
Linki zewnętrzne
- AnyLogic at anylogic.com