# AnyLogic

AnyLogic est un outil de simulation développé par The AnyLogic Company. AnyLogic possède un langage de modélisation graphique et facilite également l’extension du modèle de simulation avec le code Java. L’édition PLE d’AnyLogic est disponible gratuitement pour un usage pédagogique.

## Historique d’AnyLogic

Dans le domaine informatique, au début des années 1990, il y eut un grand intérêt pour l’utilisation d'une approche mathématique dans la modélisation de processus parallèles. Cette approche a été appliquée également à l'analyse de programmes parallèles et distribués. Le groupe de chercheurs de l’Université Technique de Saint-Petersbourg développa alors un logiciel pour l'analyse de justesse de système; le nouvel outil fut nommé COVERS (Vérification Parallèle et Modélisation). Le système des processus analysés a été spécifié graphiquement, à l'aide de la description de la structure et du comportement des composants parallèles qui peuvent interagir avec l'environnement et d'autres processus. L'outil a été utilisé dans des projets de recherches de la société Hewlett-Packard.
En 1998, compte tenu du succès des résultats de cette recherche, les chercheurs ont mis sur pied une société commerciale qui avait pour mission de créer un logiciel nouveau de simulation dynamique. Le développement devait porter sur l’application des méthodes de simulation de systèmes stochastiques et d’optimisation et de visualisation de la modélisation. Le nouveau logiciel fut mis sur le marché en 2000, il tient compte des dernières avancées dans la technologie de l'information : approche orientée objet, éléments du standard UML, programmation Java, Interfaces Graphiques d’Utilisateur (GUI) modernes, etc.
AnyLogic est un outil de simulation pouvant avoir pour support ces différents types de modélisation et de simulation :
* Système dynamique
* Événements discrets
* Systèmes multi-agents
La version 4 - Anylogic 4.0 - a été assignée, comme la continuation de la numérotation des versions du développement précédent - COVERS 3.0. Une étape importante a été franchie en 2003, quand est sortie la version AnyLogic 5, orientée à la simulation de processus en business. Avec AnyLogic 5, il est possible de développer des modèles pour les applications suivantes :
* Marché et Compétition
* Systèmes de santé publique et pharmacie
* Systèmes de Production
* Chaîne d'approvisionnement$^,$$^,$
* Logistique
* Vente au détail et services$^,$
* Gestion de projets
* Processus commerciaux
* Systèmes sociaux et Dynamique d'Écosystèmes
* Défense
* Télécommunications et systèmes d'information
* Déplacements de Piétons et simulation de Trafic
* Aérospatial
* Photovoltaïque
La dernière version est AnyLogic 7, sortie le janvier 2014. Elle est écrite en langage de programmation Java dans l’environnement de développement intégré Eclipse. AnyLogic fonctionne sur la plupart des Systèmes d’Exploitation : Windows, Mac OS, Linux. La version 7.2 d’AnyLogic est sortie en 2015, avec une base de données intégrée ainsi que la bibliothèque de fluide. L’édition gratuite Personnal Learning Edition (PLE), est également sortie en 2015.
La nouvelle bibliothèque de trafic routier est sortie en 2016, en même temps que la version 7.3 d’AnyLogic.

## AnyLogic et le langage Java

AnyLogic comprend le langage de modélisation graphique et il permet aussi à l'utilisateur d'effectuer des modèles de simulation avec le code Java. La nature de l’utilisation de Java dans AnyLogic est liée à l’extension de modèles personnalisés via le codage en Java, aussi bien qu’à la création d’applettes Java, qui peuvent être ouvertes avec n'importe quel navigateur standard. Ces applettes rendent les modèles AnyLogic très faciles à partager ou à placer sur des sites Web. En plus des applettes, la version Professionnelle permet la création d’applications indépendantes Java qui peuvent être distribuées aux utilisateurs. Ces applications Java peuvent servir de base comme outil d‘aide à la décision$^,$.

## Les approches de simulation correspondent au niveau d'abstraction

Les modèles AnyLogic peuvent être basés sur n'importe quel paradigme de simulation : Événement discret ou centrés sur des processus (DE), Dynamique de systèmes (SD) et Systèmes Multi-agents (SMA).
La dynamique de systèmes et l'événement discret sont des approches de simulation traditionnelles. Quant à SMA, il s’agit d’une nouvelle approche. Techniquement, la dynamique de système s'apparente surtout à des méthodes de simulation de processus continus, tandis que par l’approche "événement discret", nous comprenons tous les descendants de GPSS aussi connus comme l'approche de simulation centrée sur des processus et SMA basé surtout sur le temps discret, c'est-à-dire sur le saut d'un événement à un autre.
La dynamique des systèmes et la simulation à événements discrets ont été enseignées historiquement à des groupes très différents d'étudiants, soit dans les universités spécialisées dans l'économie et la gestion, soit à des étudiants d’écoles d’ingénieurs et de recherches opérationnelles. Et la conséquence est que ces communautés distinctes ne se parlent jamais l'une à l'autre.
Les Systèmes Multi – Agents ont été, jusqu’à récemment, presque purement un sujet universitaire. Cependant, la demande croissante de l'optimisation globale des processus en business oblige des modeleurs à s’intéresser à des approches combinées en vue d’obtenir une vision plus profonde des processus interdépendants complexes et de nature très différente.
La dynamique des systèmes traitant des ensembles agrégés est évidemment utilisée au niveau d'abstraction le plus haut. La modélisation par événement discrets est utilisée à l’échelle basse et moyenne d’abstraction. Quant à SMA, cette technique est utilisée à travers tous les niveaux d'abstraction et d’agents peuvent être des objets de modèles de nature très diverse par rapport à l'échelle : les agents de niveau "physiques" peuvent être par exemple des piétons ou des voitures ou des robots, au niveau moyen - des clients, au niveau le plus haut - des sociétés concurrentes.
AnyLogic permet au modélisateur de combiner ces approches de simulation dans le même modèle. Il n'y a aucune hiérarchie fixe. Ainsi, par exemple, on pourrait créer un modèle d'industrie expédiant des paquets où les transporteurs sont modélisés comme des agents qui agissent/réagissent indépendamment, tandis que les fonctionnements internes de leurs systèmes de transport et des réseaux d'infrastructure pourraient être modélisés par approche de simulation à événements discrets. De même, on peut modéliser des consommateurs comme des agents dont le comportement global alimente un modèle de dynamique de systèmes de flux tout comme des revenus ou des coûts qui ne doivent pas être liés aux agents individuels. Cette approche de langage combinée est directement applicable à une large variété de problèmes complexes qui peuvent être modélisés via chaque approche indépendamment ou bien avec de leurs combinaisons.

## Fonctionnalités
### Les constructions de langage de simulation fournies par AnyLogic

Le langage de simulation AnyLogic est composé des éléments suivants:
* Les Diagrammes des Stocks et des Flux sont utilisés pour la modélisation de Dynamique de Système.
* Statecharts (diagrammes d’état) sont utilisés surtout dans les Systèmes Multi-Agents pour définir le comportement d'agents. Ils sont aussi souvent utilisés dans la modélisation par Événements Discrets : par exemple, simuler la panne de machine.
* Les diagrammes d'Action sont utilisés pour définir des algorithmes. Ils peuvent être utilisés dans la modélisation par Événements Discrets (par exemple, pour l'acheminement d'appels) ou dans les Systèmes Multi-Agents (par exemple pour la logique de décision d'agent).
* Les Diagrammes de Flux sont la base de la construction des processus dans la modélisation par Événements Discrets. Quand vous regardez ces diagrammes, vous comprenez pourquoi l’approche par Événements Discrets est souvent appelée Approche Centrée Processus.
Le langage inclut aussi le niveau bas de constructions de la modélisation (variables, équations, paramètres, événements etc.), les formes de présentation (lignes, polylignes, ovales etc.), moyens d'analyse (ensembles de données, histogrammes, graphiques), outils de connectivité, images standard et les outils d’expérimentations.

### Les bibliothèques d’AnyLogic

AnyLogic inclut les bibliothèques standard suivantes:
* La Bibliothèque de Modélisation de Processus est conçue pour supporter la simulation dans les Domaines de la Fabrication, des Chaînes d'approvisionnement, de la Logistique et des secteurs de la Santé. En utilisant des objets de Bibliothèque D'entreprise vous pouvez réaliser des modèles de systèmes en termes d'entités (des transactions, des clients, des produits, des parties, des véhicules, etc.), en termes de processus (les ordres d'opérations impliquant typiquement des files d'attente, des retards, l'utilisation de ressources) et en termes de ressources. Les processus sont spécifiés par les Diagrammes de Flux.
* La Bibliothèque Piétonne est consacrée pour simuler des flux piétons dans un environnement "physique". Elle vous permet de créer les modèles dans des espaces de forts flux piétonniers (stations de métro, contrôles de sécurité etc.) ou rues (les grands nombres de piétons). Les modèles peuvent prendre en compte toutes les données statistiques sur la densité piétonne dans des secteurs différents. Cela permet de s’assurer des performances acceptables des points de service avec une charge hypothétique, d’estimer les longueurs de séjour dans des secteurs spécifiques et de détecter des problèmes potentiels avec la géométrie intérieure (comme l'effet des obstacles multiples, par exemple), et d'autres types d’applications. Dans des modèles créés avec la Bibliothèque Piétons, les piétons se déplacent dans l'espace continu, réagissant aux différents obstacles (murs, variété des espaces) et à d'autres piétons. Les piétons sont simulés comme des agents interagissant avec des comportements complexes. La Bibliothèque Piétonne d’AnyLogic fournit une interface de niveau plus haut pour la création rapide de modèles piétons dans le style de Diagrammes de Flux.
* La Bibliothèque de Chantier supporte la modélisation, la simulation et la visualisation des opérations d'un chantier de triage ferroviaire de n'importe quelle complexité et échelle. Les modèles de chantier de triage ferroviaire peuvent être combinés avec les modèles SMA ou événements discrets: chargement et déchargement, assignation de ressource, maintenance, processus commerciaux et d'autres activités de transport.
* La Bibliothèque de Fluide permet aux utilisateurs de modéliser le stockage et le transport de fluides, de marchandises en vrac ou bien de grandes quantités d’articles distincts, que l’on ne souhaite pas modéliser séparément. La bibliothèque inclut des éléments tels que les cuves, les pipelines, les vannes, ainsi que les objets servant à diriger, mélanger et faire diverger le flux. Pour accélérer l’exécution de la modélisation, la bibliothèque de fluide utilise un solveur de programmation linéaire. La bibliothèque est conçue pour optimiser l’utilisation d’AnyLogic dans les industries manufacturière, pétrolière, gazière et minière. L’utilisateur peut simuler des tuyaux et des cuves de pétrole, un convoyeur de minerai et de charbon, ainsi que des processus de production au cours desquels des liquides ou des matériaux en vrac sont utilisés, pour la fabrication du béton par exemple.
* La Bibliothèque de Trafic Routier permet de simuler la circulation de véhicules sur des routes. La bibliothèque prend en charge une modélisation détaillée des mouvements du véhicule au plan physique. Chaque véhicule représente un agent pouvant disposer de ses propres schémas comportementaux. La bibliothèque permet aux utilisateurs de simuler les mouvements des véhicules sur les routes, en prenant en compte les règles de conduite, les feux de circulation, les passages piétons, les priorités aux croisements, les places de parkings et les mouvements des transports publics. La bibliothèque convient à la modélisation du trafic autoroutier, du trafic routier, du transport sur site dans les sites de production ou de tout autre système comportant des véhicules, des routes et des voies. Un outil spécial de densité du trafic est inclus afin de permettre une analyse des niveaux d’encombrement du réseau routier.
À côté de bibliothèques standard, l’utilisateur peut créer ses propres bibliothèques et les distribuer.

### Animation des modèles

AnyLogic prend en charge des animations interactives en 2D et en 3D.
AnyLogic permet aux utilisateurs d’importer des dessins CAO sous la forme de fichiers .DFX, puis de visualiser les modèles par-dessus ceux-ci. Cette fonction peut être utilisée pour l’animation de processus dans des objets tels que des usines, des entrepôts, des hôpitaux, etc. Elle est principalement utilisée dans les modèles par Évènements discrets (basés sur les processus), dans les secteurs de la fabrication, de la santé, du génie civil et de la construction. Le logiciel AnyLogic prend également en charge les animations 3D et comprend une collection d’objets 3D prêts à l’emploi, pour des animations relatives à différents secteurs, y compris le bâtiment, le transport routier, ferroviaire et maritime, l’énergie, les entrepôts, les hôpitaux, les équipements, les éléments en rapport avec les aéroports, les éléments en rapport avec les supermarchés, les grues et d’autres objets.
Les modèles peuvent comprendre une interface utilisateur personnalisée permettant aux utilisateurs de configurer les expériences et de modifier les données d’entrée.

### Modèles géo spatiaux, intégration GIS

Les modèles AnyLogic peuvent se servir de cartes pour leur présentation, ce qui est souvent demandé dans les secteurs de la chaîne logistique et du transport. Le logiciel AnyLogic est compatible avec le SHP d’Esri, la norme traditionnelle de carte, basée sur un fichier de forme. De plus, AnyLogic prend en charge les tile maps des fournisseurs en ligne gratuits, dont OpenStreetMap. Les tile maps permettent notamment au modeleur d’utiliser des données cartographiques dans les modèles et de créer automatiquement des parcours géo spatiaux pour les agents. Les principales fonctionnalités de tile map dans AnyLogic comprennent :
* Le modèle peut accéder à l’ensemble des données stockées avec les cartes en lignes : villes, régions, réseaux routiers et objets (hôpitaux, écoles, arrêts de bus,...).
* Les agents peuvent être placés sur la carte à des points spécifiés et déplacés le long des routes ou itinéraires existants.
* Les utilisateurs peuvent créer les éléments dont ils ont besoin à l’intérieur du modèle à l’aide de la fonction de recherche intégrée.

### Intégration des modèles avec d’autres infrastructures informatiques

Il est possible d’exporter un modèle AnyLogic sous la forme d’une application Java pouvant être exécutée séparément, ou bien intégrée à un autre logiciel. Il est également possible d’intégrer un modèle AnyLogic exporté dans d’autres parties du logiciel et de s’en servir comme d’un module supplémentaire dans les systèmes ERP, MRP et TMS. Une autre utilisation typique consiste à intégrer un modèle AnyLogic à des fichiers TXT, MS Excel ou MS Access et à des bases de données, (MS SQL, My SQL, Oracle,...). Les modèles AnyLogic incluent également leur propre base de données, fonctionnant sous HSQLBD.

## Version pédagogique gratuite

Depuis 2015, l’édition gratuite Personnal Learning Edition (PLE) d’AnyLogic est disponible gratuitement pour un usage pédagogique. La licence PLE est perpétuelle, mais la taille des modèles créés est limitée.
Pour la recherche publique dans les établissements universitaires, les utilisateurs peuvent bénéficier d’une licence de chercheur universitaire à prix réduit, où la taille des modèles n’est pas limitée et qui dispose de nombreuses fonctionnalités d’une licence professionnelle.

## anyLogistix, logiciel d’optimisation de la chaîne logistique

AnyLogic ne comprend pas de bibliothèque spécifiquement destinée à la simulation des chaînes logistiques car The AnyLogic Company s’est servi de ses efforts de développement dans ce domaine pour créer un outil logiciel spécifique : anyLogistix. Ce produit dérivé a été lancé en 2014 sous l’appellation AnyLogic Logistics Network Manager, puis a été renommé anyLogistix en 2015.
anyLogistix utilise GIS, le moteur AnyLogic, ainsi que la nouvelle interface graphique destinée à l’industrie. Il inclut également des algorithmes et des techniques spécifiques à la conception et l’optimisation de la chaîne logistique. anyLogistix est entièrement intégré avec AnyLogic. Ce dernier peut par exemple être utilisé pour la personnalisation des objets dans anyLogistix, notamment les entrepôts, les sites de production, les fournisseurs, les stocks, l'approvisionnement et les politiques de transports.