Il faut d’abord développer un programme informatique traduisant la vision que nous avons du fonctionnement du système économique à étudier. Plusieurs possibilités s’offre à nous :
Il est parfaitement possible d’écrire le programme du MMA dans un langage standard (de préférence orienté objet, car cela correspond bien aux SCA qui résultent de l’interaction de multiples entités–les objets du programme) : C++; Java;
ou, plus facilement, profiter des facilités apportées par une plateforme dédiée spécifiquement à la conception des MMA. Il existe un foisonnement d’outils disponibles et nous pouvons en citer trois comme exemples :
le SWARM [L] [L] http://www.swarm.org est la plateforme historique, développé initialement par Chris Langton à SFI. Il utilise le langage ObjectiveC (qui est devenu bien moins exotique depuis que les ordinateurs Apple l’ont adopté). Il très puissant, bien adapté pour des MMA très complexes, composés d’entités très nombreuses, mais il est assez lourd pour des modèles plus petits et il possède un coût d’entrée assez élevé;
le LSD [M] [M] http://www.labsimdev.org (Laboratory for Simulation Development) a été initialement développé à l’IIASA par Marco Valente qui en est encore l’auteur principal. Il est basé sur C++ et donc permet une vitesse d’exécution assez élevé et il est bien adapté pour des modèles économiques (car initialement développé pour l’analyse des dynamiques industrielles). Il lui manque malheureusement une communauté large de développeurs, même si sa communauté d’utilisateurs est très conséquente.
le NetLogo [N] [N] https://ccl.northwestern.edu/netlogo/ est la version MMA du langage Logo (langage initialement développé pour apprendre à programmer aux enfants). Il est très facile d’accès et puissant. Il génère un programme final en Java qui possède maintenant une vitesse d’exécution tout à fait satisfaisante et les simulations peuvent aussi être distribuées sur un cluster d’ordinateurs ou même une grille, grâce à des outils complémentaires comme OpenMole [O] [O] http://www.openmole.org. Il est développé par Uri Wilensky et bénéficie du soutien de l’Université de Northwestern et de la NFS américaine. Il bénéficie d’une communauté large de développeurs qui proposent des extensions au système de base. Du fait de ces avantages, c’est la platefome que j’adopterai dans cet ouvrage.
Le prochain chapitre introduira le lecteur à la plateforme NetLogo.
Prev Section 4.5: Stratégies d’expérimentationUp Chapitre 4: Modéliser les SCA : modèles multi-agents (MMA)Chapitre 5: Développer un MMA avec NetLogo Next