# AnyLogic

AnyLogic ist ein Multimethoden-Simulationswerkzeug, das von The AnyLogic Company (ehemals XJ Technologies) entwickelt wird. Es unterstützt systemdynamische, ereignisorientierte und agentenbasierte Simulationsmethodiken. Die AnyLogic PLE-Edition (Personal Learning Edition) kann zu Bildungszwecken und zum Selbststudium kostenfrei genutzt werden.

## Geschichte

Anfang der 1990er Jahre zeigte man ein großes Interesse an einem mathematischen Ansatz bei der Modellierung und Simulation paralleler Prozesse. Dieser Ansatz konnte zur Analyse der Genauigkeit von parallelen und verteilten Programmen angewandt werden. Die „Verteilte Netzwerk–Forschungsgruppe“ (Distributed Computer Network, DCN) der Technischen Universität Sankt Petersburg entwickelte ein Softwaresystem zur Analyse der Genauigkeit der Programme; das neue Werkzeug wurde COVERS (Concurrent Verification and Simulation) genannt. Dieses System ermöglichte eine graphische Modelldarstellungsweise für Systemstruktur und -verhalten. Das Werkzeug wurde in der Forschung für Hewlett Packard entwickelt.
Im Jahre 1998, angeregt durch den Erfolg dieser Forschung, gründet die DCN-Forschungsanstalt ein Unternehmen mit dem Ziel, eine neuzeitliche Simulationssoftware zu entwickeln. Bei der Entwicklung wurden die eingesetzten Methoden betont: Simulation, Leistungsanalyse, Verhaltens- und stochastische Systeme, Organisation und Visualisierung. Die im Jahre 2000 veröffentlichte neue Software hatte die aktuellen Entwicklungen der Informationstechnik zur Grundlage: objektorientierter Ansatz, Elemente der Standard–UML, moderne Java-Programmiersprache und graphische Benutzeroberfläche.
Das Werkzeug wurde AnyLogic genannt, da es alle drei bekannten Modellierungsansätze unterstützt:
* Systemdynamik (SD)
* Ereignisorientierte Simulation
* Agentenbasierte Modellierung
+Eine beliebige Kombination dieser Ansätze ist innerhalb eines einzigen Modells möglich. Die erste Version von AnyLogic ist AnyLogic 4, da die Nummerierung von COVERS 3.0 weitergeführt wurde. Im Jahr 2003 wurde AnyLogic 5 veröffentlicht. Der Fokus wurde auf betriebswirtschaftliche Simulation in folgenden Anwendungsbereichen gesetzt:
* Markt und Wettbewerb
* Gesundheitswesen
* Produktion und Fertigung
* Lieferketten
* Logistik
* Einzelhandel
* Geschäftsprozesse
* Sozial- und Ökosystem-Dynamik
* Verteidigung
* Projekt- und Ressourcenplanung
* IT-Infrastruktur
* Personenstrom und Fußgängerdynamik
* Luftfahrtindustrie
* Photovoltaik
Die aktuelle Version, AnyLogic 7, wurde im Jahre 2014 herausgegeben. Als größtes Release der vergangenen sieben Jahre enthielt es mehrere wesentliche Updates zur Vereinfachung der Modellierung, ebenso wie die erweiterte Unterstützung der Multimethoden-Modellierung, verminderten Codierungsbedarf und aktualisierte Bibliotheken. AnyLogic 7.1, ebenfalls 2014 erschienen, enthielt GIS-Implementierung in der Software: neben shapefile-basierten Landkarten unterstützt AnyLogic auch kachelbasierte Karten von kostenfreien Online-Services wie OpenStreetMap.
2015 kam AnyLogic 7.2. mit integrierter Datenbank und neuer Fluid Library auf den Markt. Die kostenfreie Personal Learning Edition (PLE) wurde ebenfalls im Jahr 2015 vorgestellt. Mit AnyLogic 7.3 erschien 2016 die erste Road Traffic Library in AnyLogic.
Die Plattform für die AnyLogic 7 Modellentwicklungsumgebung ist Eclipse. AnyLogic 7 ist eine plattformübergreifende Simulationssoftware. Es kann unter Windows, Mac OS und Linux betrieben werden.

## AnyLogic und Java

AnyLogic beinhaltet eine graphische Modellierungssprache und außerdem ermöglicht es dem Benutzer, Simulationsmodelle mit Java-Code zu erweitern. Der Java Charakter von AnyLogic eignet sich sowohl zur individuellen Modellerweiterungen via Java-Codierung, als auch zur Gestaltung von Java Applets, die in jedem beliebigen üblichen Browser geöffnet werden können. Diese Applets machen AnyLogic-Modelle leicht versendbar und auf Websites ladbar. Zusätzlich zu den Java Applets, ermöglicht die Professional Version die Gestaltung und die Verteilung von Java-Laufzeitanwendungen an Benutzer. Diese ausschließliche Javaanwendung kann als Grundlage für Entscheidungsunterstützungswerkzeuge dienen.

## Multimethoden Simulationsmodellierung

AnyLogic Modelle können auf beliebigen hauptsächlichen Simulationmodellierungsparadigmen basieren: ereignisorientierte oder prozesszentrierte (DE), systemdynamische (SD) und agentenbasierte (AB).
Der systemdynamische und der ereignisorientierte sind traditionelle Simulationsansätze; der agentenbasierte Ansatz ist eine neuzeitliche Methode. Technisch gesehen, befasst sich der systemdynamische Ansatz hauptsächlich mit kontinuierlichen Prozessen, die „ereignis-diskrete“ (gemeint sind damit alle Nachkommen der GPSS, auch bekannt als prozesszentrierter Simulationsansatz) und die agentenbasierte Modelle dahingegen funktionieren meist zeitdiskret, d. h. sie wechseln von einem Ereignis zum anderen.
Systemdynamische und ereignisorientierte Simulation wurde geschichtlich an Universitäten mit verschiedenen Studentengruppen unterrichtet, u. a. Management-, Wirtschafts- und Operations-Research-Ingenieuren. Somit gibt es zwei unterschiedliche Fachgemeinschaften, die nicht miteinander kommunizieren.
Agentenbasierte Modellierung war bis vor kurzem fast ausschließlich ein akademisches Unterrichtsgegenstand. Dennoch bewirkte die immer größere Anfrage für eine globale Unternehmensoptimierung, dass führende Modellierer in Betracht zogen, Ansätze miteinander zu verbinden, was ihnen einen besseren Einblick in die komplexen, verschiedenartigen, interdependenten Prozessen verschaffte.
Die Modellierungsansätze werden bei unterschiedlichen Abstraktionsebenen eingesetzt. Die Systemdynamik, die sich mit Aggregaten auseinandersetzt, wird auf höchster Abstraktionsebene angewendet. Ereignisorientierte Modellierung wird bei niederer bis mittlerer Abstraktion eingesetzt. Die agentenbasierte Modellierung kann auf allen Abstraktionsebenen angewendet werden. Außerdem kann ein Agent Objekte verschiedener Art und Größe modellieren: auf „physischer“ Ebene können Agenten z. B. als Fußgänger, Fahrzeuge, Roboter, auf mittlerer Ebene – als Kunden, auf höchster Ebene – als Mitbewerber gestaltet werden.
AnyLogic ermöglicht dem Modellierer diese Simulationsansätze innerhalb desselben Modells zu verknüpfen. Es gibt keine feststehende Hierarchie. Somit könnte man zum Beispiel ein Modell für die Versandpackung in der Industrie gestalten, wobei die Ladungsträger als Agenten modelliert werden, die individuell agieren / reagieren, während die interne Tätigkeiten ihrer Transport- und Infrastrukturnetzwerke durch ereignisorientierte Simulation modelliert werden. Ebenso kann man Verbraucher als Agenten modellieren, deren gesamte Verhaltensweise ein systemdynamisches Modell versorgt, durch Erfassen von Abläufen wie Einkommen und Ausgaben, die nicht zu einzelnen Agenten gebunden werden müssen. Dieser sprachlich gemischte Ansatz ist direkt anwendbar für eine Vielfalt von komplexen Modellierungsproblemen, die durch jedwelchen einen Ansatz modelliert werden können, wenn auch mit Kompromissen.

## Simulationssprache

Die AnyLogic Simulationssprache besteht aus den folgenden Elementen:
* Lager & Flussdiagramme werden für systemdynamische Modellierung verwendet.
* Zustandsdiagramme werden hauptsächlich in der agentenbasierten Modellierung zur Bestimmung von Agentenverhalten verwendet. Sie werden auch in der ereignisorientierten Modellierung eingesetzt, z. B. zur Simulation von Maschinausfällen.
* Funktionsdiagramme werden zur Bestimmung von Algorithmen verwendet. Sie können bei der ereignisorientierten Modellierung eingesetzt werden, z. B. zur Anrufverteilung, oder in der agentenbasierten Modellierung z. B. bei der Entscheidunglogik der Agenten.
* Prozessablaufsdiagramme stellen die Grundkonstruktion bei der Bestimmung der Prozesse in ereignisorientierten Modellierung dar. Betrachtet man dieses Flussdiagramm, wird ersichtlich, warum die ereignisorientierte Methode oft als prozesszentriert erwähnt wird.
Die Sprache umfasst: Modellierungskonstruktionen auf niedriger Ebene (Variablen, Gleichungen, Parameter, Ereignisse usw.), Gestaltungsformen (Linien, Linienzüge, Ellipsen), Analysemöglichkeiten (Datensätze, Histogramme, Aufnahmepunkte), Verbindungswerkzeuge, Standardbilder und Versuchsrahmenbedingungen.

## AnyLogic Bibliotheken

AnyLogic umfasst folgende Standardbibliotheken:
* Die Process Modeling Library ist so gestaltet, dass sie DE Simulation in Bereichen wie Produktion, Zuliefererketten, Logistik und Gesundheitswesen unterstützt. Mittels der Process Modeling Library Objekte können sie reale Systeme modellieren, im Sinne von Datensätzen (Transaktionen, Kunden, Produkte, Bestandteile, Fahrzeuge usw.) Prozesse (Operationsfolgen die normalerweise Reihen, Verzögerungen, Ressourcenauslastung einschließen) und Ressourcen. Die Prozesse werden in Form von Ablaufsdiagrammen vorgegeben.
* Die Pedestrian Library ist für die Simulation von Passantenströmen in einem „physischen“ Umfeld geeignet. Sie ermöglicht die Gestaltung von Gebäudemodellen mit intensivem Passantenverkehr (wie U-Bahnhöfe, Sicherheitskontrollstellen usw.) oder Straßenmodellen (große Anzahl von Passanten). Die Modelle unterstützen statistische Datensammlung über Passantendichte in verschiedenen Zonen. Dies sichert eine annehmbare Leistung der Dienststellen mit einer hypothetischen Beanspruchung, schätzt die Verweilzeiten in spezifischen Zonen ab und erkennt eventuelle Probleme bezüglich der internen Geometrie – wie zum Beispiel die Auswirkungen zu vieler Hindernisse – und andere Anwendungen. In den, mit der Pedestrian Library gestalteten Modellen, bewegen sich Passanten im kontinuierlichen Raum, reagieren auf verschiedene Hindernisse (Wände, verschiedenartige Flächen) sowie auf andere Passanten. Passanten werden als interagierende Agenten mit komplexen Verhaltensweisen simuliert, jedoch bietet die AnyLogic Pedestrian Library eine höhere Schnittstelle für die schnelle Gestaltung von Passantenmodellen in Form von Flussdiagrammen.
* Die Rail Library unterstützt Modellierung, Simulation, und Veranschaulichung von Abläufen innerhalb eines Bahnhofes von jedwelcher Komplexität oder Größe. Die Bahnhofmodelle können mit ereignisdiskreten oder agentenbasierten Modellen verbunden werden in Bezug auf: Beladung und Entladung, Ressourcenverteilung, Wartung, Unternehmensprozesse und andere Transporttätigkeiten.
* Die Fluid Library ermöglicht dem Benutzer, Lagerung und Transfers von Flüssigkeiten, Schüttgütern oder großer Mengen Stückgut zu simulieren, wenn diese nicht als separate Objekte modelliert werden sollen. Die Bibliothek enthält Bausteine wie Tank, Pipeline, Ventil, sowie Objekte für Lenkung, Zusammenfluss und Teilung von Strömen. Die Nutzung des Linear-Programming-Solver in der Bibliothek ermöglicht hohe Ausführungsgeschwindigkeiten der Modelle. Mit der Bibliothek kann AnyLogic in der Produktion sowie in der Öl- & Gasindustrie und im Bergbau effizient genutzt werden. Der Nutzer kann Ölleitungen und -tanks, Erz- und Kohleförderer simulieren, ebenso wie Produktionsprozesse, die Flüssigkeiten oder Schüttgüter umfassen, wie z. B. in der Betonherstellung.
* Die Road Traffic Library erlaubt die Simulation von Fahrzeugverkehr auf Straßen. Die Bibliothek unterstützt die detaillierte Modellierung von Fahrzeugbewegung im Straßenverkehr. Jedes Fahrzeug repräsentiert einen Agenten der seine Verhaltensmuster innehaben kann. Die Bibliothek erlaubt dem Benutzer, Fahrzeugbewegung auf Straßen unter Einbeziehung von Verkehrsregeln zu simulieren, unter Berücksichtigung von Ampeln, Zebrastreifen und Vorfahrtsregeln an Kreuzungen, Parkplätzen und Fahrzeugbewegung von öffentlichen Verkehrsmitteln. Die Straßenverkehrs-Bibliothek ist geeignet für die Simulation von Autobahnverkehr, Straßenverkehr, innerbetrieblichen Transporten an Produktionsstandorten oder jedem anderen System mit Fahrzeugen, Straßen und Wegen. Ein spezielles Verkehrsdichte-Werkzeug erlaubt es ihnen, die Straßennetzbelastung zu analysieren.
Neben diesen Standardbibliotheken kann der Benutzer eigene Bibliotheken gestalten und teilen.

### Modellanimation

AnyLogic unterstützt interaktive 2D- und 3D-Animationen.
Die Software ermöglicht es Nutzern, CAD-Zeichnungen als DXF-Dateien zu importieren und anschließend Modelle auf ihnen zu visualisieren. Diese Funktion kann genutzt werden, um Prozesse innerhalb von Objekten wie Fabriken, Lagern, Krankenhäusern o. ä. zu animieren. Sie wird hauptsächlich in der ereignisorientierten Modellierung verwendet, im Bereich Produktion, Gesundheits-, Ingenieur- und Bauwesen. AnyLogic ermöglicht auch 3D-Animation und beinhaltet eine Sammlung von gebrauchsfertigen 3D-Objekten zu Themen wie Gebäude, Straße, Schiene, Schifffahrt, Transport, Energie, Lager, Krankenhaus, Equipment, Flughafen, Supermarkt oder Kräne.
Modelle können individuelle Benutzerschnittstellen enthalten, mit denen Nutzer Experimente konfigurieren und Eingabedaten ändern können.

### Geodaten-Modelle, GIS-Integration

AnyLogic-Modelle können Landkarten als Layouts nutzen, was besonders in der Lieferketten-, Logistik- und Transportsimulation genutzt wird. AnyLogic unterstützt den traditionellen, shapefile-basierten Kartenstandard SHP von ESRI. Darüber hinaus können auch kachelbasierte Karten von kostenfreien Online-Diensten genutzt werden, wie z. B. OpenStreetMap. Kachelbasierte Karten erlauben es dem Modellierer, Kartendaten in Modellen zu nutzen und automatisch Geodaten-Routen für Agenten zu erstellen. Die Hauptfunktionen von kachelbasierten Karten in AnyLogic sind:
* Das Modell hat Zugang zu allen zusammen mit der Online-Karte gespeicherten Daten, wie Städte, Regionen, Straßennetze und Objekte (Krankenhäuser, Schulen, Bushaltestellen etc.).
* Agenten können an festgelegten Punkten auf der Karte platziert und entlang existierender Straßen oder Routen bewegt werden.
* Benutzer können benötigte Elemente innerhalb des Modells mithilfe der Suchfunktion erzeugen.

### Modellintegration mit anderer IT-Infrastruktur

AnyLogic-Modelle können als Java-Applikationen exportiert und so eigenständig ausgeführt oder in andere Software integriert werden. Optional kann ein exportiertes AnyLogic-Modell in andere Software eingebaut und als ein zusätzliches Modul in ERP-, MRP- und TMS-Systemen genutzt werden.
Eine weitere typische Nutzung ist die Integration von AnyLogic-Modellen mit TXT-, MS Excel- oder MS Access-Dateien und Datenbanken (MS SQL, My SQL, Oracle etc.). Zusätzlich beinhalten AnyLogic-Modelle ihre eigene Datenbank, basierend auf HSQLDB.

### Kostenfreie Educational-Version

Seit 2015 ist die AnyLogic Personal Learning Edition (PLE) kostenfrei zum Zweck der Weiterbildung und zum Selbststudium verfügbar. Die PLE Lizenz ist nicht laufzeitbegrenzt, allerdings ist die Größe damit erstellbarer Modelle beschränkt.
Für die öffentliche Forschung an Bildungseinrichtungen können Nutzer vergünstigte University Researcher Lizenzen erwerben, die unbegrenzte Modellgrößen erlauben und viele der Funktionalitäten von AnyLogic Professional Licences enthalten.

### anyLogistix Lieferketten-Optimierungssoftware

AnyLogic enthält keine eigene Bibliothek für die Lieferketten-Simulation. The AnyLogic Company hat stattdessen für diesen Bereich ein separates Software-Tool entwickelt – anyLogistix. Dieses spin-off Produkt wurde 2014 als AnyLogic Logistics Network Manager vorgestellt und 2015 in anyLogistix umbenannt.
anyLogistix basiert auf dem AnyLogic engine, GIS, und einem speziell für diese Anwendung konzeptionierten GUI. Außerdem enthält es Algorithmen und Techniken speziell für das Design und die Optimierung von Lieferketten. anyLogistix ist mit AnyLogic vollintegriert. Zum Beispiel kann AnyLogic genutzt werden, um Objekte innerhalb von anyLogistix anzupassen, einschließlich Lagern, Produktionsstätten, Zulieferern, Inventar, Sourcing und Transportstrategien.