journal article·2022-12-20Open access

Experimenting with Agent-Based Model Simulation Tools

Alessia Antelmi, Gennaro Cordasco, Giuseppe D’Ambrosio, Daniele De Vinco, Carmine Spagnuolo

Applied Sciences· Volume 13· Issue 1

Abstract

Agent-based models (ABMs) are one of the most effective and successful methods for analyzing real-world complex systems by investigating how modeling interactions on the individual level (i.e., micro-level) leads to the understanding of emergent phenomena on the system level (i.e., macro-level). ABMs represent an interdisciplinary approach to examining complex systems, and the heterogeneous background of ABM users demands comprehensive, easy-to-use, and efficient environments to develop ABM simulations. Currently, many tools, frameworks, and libraries exist, each with its characteristics and objectives. This article aims to guide newcomers in the jungle of ABM tools toward choosing the right tool for their skills and needs. This work proposes a thorough overview of open-source general-purpose ABM tools and offers a comparison from a two-fold perspective. We first describe an off-the-shelf evaluation by considering each ABM tool’s features, ease of use, and efficiency according to its authors. Then, we provide a hands-on evaluation of some ABM tools by judging the effort required in developing and running four ABM models and the obtained performance.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Innovation Diffusion and Forecasting · Transportation Planning and Optimization · Simulation Techniques and Applications

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Dipartimento di Informatica, Università degli Studi di Salerno, 84084 Fisciano, Italy

Dipartimento di Psicologia, Università degli Studi della Campania “Luigi Vanvitelli”, 81100 Caserta, Italy

References (100+)

Show source-provided references
1. Replicating complex agent based models, a formidable task10.1016/j.envsoft.2017.01.020 ↗
2. Everything you need to know about agent-based modelling and simulation10.1057/jos.2016.7 ↗
3. Tutorial on agent-based modelling and simulation10.1057/jos.2010.3 ↗
4. Discrete-event simulation is dead, long live agent-based simulation!10.1057/jos.2010.14 ↗
5. Agent Based Modelling and Simulation tools: A review of the state-of-art software10.1016/j.cosrev.2017.03.001 ↗
6. García-Magariño, I., Lombas, A.S., Plaza, I., and Medrano, C. (2017). ABS-SOCI: An Agent-Based Simulator of Student Sociograms. Appl. Sci., 7.10.3390/app7111126 ↗
7. The economy needs agent-based modelling10.1038/460685a ↗
8. Simulating agricultural land rental markets by combining agent-based models with traditional economics concepts: The case of the Argentine Pampas10.1016/j.envsoft.2015.05.005 ↗
9. A Third Wave in the Economics of Climate Change10.1007/s10640-015-9965-2 ↗
10. An Agent-Based Model of Rural Households’ Adaptation to Climate Change10.18564/jasss.3812 ↗
11. Waleed, M., Um, T.W., Kamal, T., Khan, A., and Zahid, Z.U. (2020). SIM-D: An Agent-Based Simulator for Modeling Contagion in Population. Appl. Sci., 10.10.3390/app10217745 ↗
12. Antelmi, A., Cordasco, G., Spagnuolo, C., and Scarano, V. (2020, January 9–13). A Design-Methodology for Epidemic Dynamics via Time-Varying Hypergraphs. Proceedings of the 19th International Conference on Autonomous Agents and MultiAgent Systems, Auckland, New Zealand.
13. Kato, T., and Kamoshida, R. (2020). Multi-Agent Simulation Environment for Logistics Warehouse Design Based on Self-Contained Agents. Appl. Sci., 10.10.3390/app10217552 ↗
14. Agent-based simulation for horizontal cooperation in logistics and transportation: From the individual to the grand coalition10.1016/j.simpat.2018.04.002 ↗
15. Allan, R.J. (2010). Survey of Agent Based Modelling and Simulation Tools, Science & Technology Facilities Council.
16. Agent-based Simulation Platforms: Review and Development Recommendations10.1177/0037549706073695 ↗
17. A Survey of Agent Platforms10.18564/jasss.2661 ↗
18. A survey on parallel and distributed multi-agent systems for high performance computing simulations10.1016/j.cosrev.2016.08.001 ↗
19. Pal, C., Leon, F., Paprzycki, M., and Ganzha, M. (2020). A Review of Platforms for the Development of Agent Systems. arXiv.
20. Castle, C., and Crooks, A. (2006). Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations, Centre for Advanced Spatial Analysis (UCL). Working Paper. CASA Working Papers (110).
21. Spatial process and data models: Toward integration of agent-based models and GIS10.1007/s10109-005-0148-5 ↗
22. Building, composing and experimenting complex spatial models with the GAMA platform10.1007/s10707-018-00339-6 ↗
23. Platforms and methods for agent-based modeling10.1073/pnas.072079499 ↗
24. A Survey of Programming Languages and Platforms for Multi-Agent Systems
25. Tools of the Trade: A Survey of Various Agent Based Modeling Platforms
26. Theodoropoulos, G., Minson, R., Ewald, R., Lees, M., Uhrmacher, A., and Weyns, D. (2009). Simulation Engines for Multi-Agent Systems. Multi-Agent Systems: Simulation and Applications, Taylor & Francis. Chapter 3.
27. PDES-MAS: Distributed Simulation of Multi-agent Systems10.1016/j.procs.2013.05.231 ↗
28. Evaluation of free Java-libraries for social-scientific agent based simulation
29. A Survey on Comparative Study of Mobile Agent Platforms
30. Mobility impacts, reactions and opinions: Traffic demand management options in Europe: The MIRO Project
31. An agent-based parallel geo-simulation of urban mobility during city-scale evacuation10.1177/0037549713485468 ↗
32. BioWar: Scalable agent-based model of bioattacks10.1109/TSMCA.2005.851291 ↗
33. Epstein, J.M., Goedecke, D.M., Yu, F., Morris, R.J., Wagener, D.K., and Bobashev, G.V. (2007). Controlling Pandemic Flu: The Value of International Air Travel Restrictions. PLoS ONE, 2.10.1371/journal.pone.0000401 ↗
34. An agent- and GIS-based virtual city creator: A case study of Beijing, China10.5198/jtlu.2018.1270 ↗
35. Conte, R., Hegselmann, R., and Terna, P. (1997). Advancing the Art of Simulation in the Social Sciences. Proceedings of the Simulating Social Phenomena, Springer.10.1007/978-3-662-03366-1 ↗
36. Aligning simulation models: A case study and results10.1007/BF01299065 ↗
37. A Survey of Agent-Based Modeling Practices (January 1998 to July 2008)
38. Agent-based modeling: A revolution?10.1073/pnas.072081299 ↗
39. Path dependence and the validation of agent-based spatial models of land use10.1080/13658810410001713399 ↗
40. Leon, F. (2022). ActressMAS, a .NET Multi-Agent Framework Inspired by the Actor Model. Mathematics, 10.10.3390/math10030382 ↗
41. AgentPy: A package for agent-based modeling in Python10.21105/joss.03065 ↗
42. Datseris, G., Vahdati, A.R., and DuBois, T.C. (2022). Agents.jl: A performant and feature-full agent-based modeling software of minimal code complexity. Simulation, 003754972110688.10.1177/00375497211068820 ↗
43. Care HPS: A high performance simulation tool for parallel and distributed agent-based modeling10.1016/j.future.2016.08.015 ↗
44. Bommel, P., Becu, N., Le Page, C., and Bousquet, F. (2016). Cormas: An Agent-Based Simulation Platform for Coupling Human Decisions with Computerized Dynamics. Proceedings of the Simulation and Gaming in the Network Society, Springer.10.1007/978-981-10-0575-6_27 ↗
45. CppyABM: An open-source agent-based modeling library to integrate C++ and Python10.1002/spe.3067 ↗
46. Standish, R.K., and Leow, R. (2004). EcoLab: Agent Based Modeling for C++ programmers. arXiv.
47. Evoplex: A platform for agent-based modeling on networks10.1016/j.softx.2019.02.009 ↗
48. Holcombe, M., Coakley, S., and Smallwood, R. (2006, January 25–29). A general framework for agent-based modelling of complex systems. Proceedings of the 2006 European Conference Complex Systems, Paris, France.
49. Coakley, S., Gheorghe, M., Holcombe, M., Chin, S., Worth, D., and Greenough, C. (2012, January 25–27). Exploitation of High Performance Computing in the FLAME Agent-Based Simulation Framework. Proceedings of the 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems, Liverpool, UK.10.1109/HPCC.2012.79 ↗
50. Hai, H.B., Contamin, L., Choisy, M., and Brugière, A. (2022, October 31). Gamar: An R Interface to the GAMA Platform. Available online: https://github.com/r-and-gama/gamar.
51. Insight Maker: A general-purpose tool for web-based modeling & simulation10.1016/j.simpat.2014.03.013 ↗
52. Developing multi-agent systems with a FIPA-compliant agent framework10.1002/1097-024X(200102)31:2<103::AID-SPE358>3.0.CO;2-O ↗
53. JAS-mine: A new platform for microsimulation and agent-based modelling10.34196/ijm.00151 ↗
54. Antelmi, A., Cordasco, G., D’Auria, M., De Vinco, D., Negro, A., and Spagnuolo, C. (2019). On Evaluating Rust as a Programming Language for the Future of Massive Agent-Based Simulations. Proceedings of the Methods and Applications for Modeling and Simulation of Complex Systems, Springer.10.1007/978-981-15-1078-6_2 ↗
55. Wagner, T., and Rana, O.F. (2001). The MadKit Agent Platform Architecture. Proceedings of the Infrastructure for Agents, Multi-Agent Systems, and Scalable Multi-Agent Systems, Springer.10.1007/3-540-47772-1 ↗
56. MASON: A Multiagent Simulation Environment10.1177/0037549705058073 ↗
57. Sullivan, K., Coletti, M., Luke, S., and Crooks, A. (2022, October 31). GeoMason: Geospatial Support for MASON. Available online: https://cs.gmu.edu/~eclab/projects/mason/extensions/geomason/.
58. Software review: The ECJ toolkit10.1007/s10710-011-9148-z ↗
59. Distributed MASON: A scalable distributed multi-agent simulation environment10.1016/j.simpat.2018.09.002 ↗
60. Chuang, T., and Fukuda, M. (2013, January 3–5). A Parallel Multi-agent Spatial Simulation Environment for Cluster Systems. Proceedings of the 2013 IEEE 16th International Conference on Computational Science and Engineering, Sydney, Australia.10.1109/CSE.2013.32 ↗
61. Kazil, J., Masad, D., and Crooks, A. (2020). Utilizing Python for Agent-Based Modeling: The Mesa Framework. Proceedings of the Social, Cultural, and Behavioral Modeling, Springer International Publishing.10.1007/978-3-030-61255-9_30 ↗
62. Uri, W. (2001, January 21–25). Modeling nature’s emergent patterns with multi-agent languages. Proceedings of the EuroLogo 2001, Linz, Austria.
63. PyNetLogo: Linking NetLogo with Python10.18564/jasss.3668 ↗
64. Abbott, R., and Lim, J. (2021, January 7–9). PyLogo: A Python Reimplementation of (Much of) NetLogo. Proceedings of the 11th International Conference on Simulation and Modeling Methodologies, Technologies and Applications—SIMULTECH, INSTICC, SciTePress, Online.10.5220/0010466400002995 ↗
65. R Marries NetLogo: Introduction to the RNetLogo Package10.18637/jss.v058.i02 ↗
66. Jiang, L., and Zhao, C. (2009, January 12–14). The Netlogo-Based Dynamic Model for the Teaching. Proceedings of the 2009 Ninth International Conference on Hybrid Intelligent Systems, Shenyang, China.10.1109/HIS.2009.121 ↗
67. Improving Execution Speed of Models Implemented in NetLogo10.18564/jasss.3282 ↗
68. Rubio-Campillo, X. (2014, January 12–16). Pandora: A Versatile Agent-Based Modelling Platform for Social Simulation. Proceedings of the SIMUL 2014, The Sixth International Conference on Advances in System Simulation, Nice, France.
69. Experiences creating three implementations of the repast agent modeling toolkit10.1145/1122012.1122013 ↗
70. Complex adaptive systems modeling with Repast Simphony10.1186/2194-3206-1-3 ↗
71. Collier, N.T., Ozik, J., and Tatara, E.R. (2020, January 13). Experiences in Developing a Distributed Agent-based Modeling Toolkit with Python. Proceedings of the 2020 IEEE/ACM 9th Workshop on Python for High-Performance and Scientific Computing (PyHPC), Atlanta, GA, USA.10.1109/PyHPC51966.2020.00006 ↗
72. Parallel agent-based simulation with Repast for High Performance Computing10.1177/0037549712462620 ↗
73. Florin, L. (2022, October 31). ActressMas. Available online: https://github.com/florinleon/ActressMas.
74. Foramitti, J. (2022, October 31). AgentPy—Agent-Based Modeling in Python. Available online: https://agentpy.readthedocs.io/en/latest/.
75. Datseris, G., Vahdati, A.R., and DuBois, T.C. (2022, October 31). Agents.jl. Available online: https://juliadynamics.github.io/Agents.jl/.
76. Bommel, P., Becu, N., Le Page, C., and Bousquet, F. (2022, October 31). CORMAS: COmmon-Pool Resources and Multi-Agent Simulations. Available online: http://cormas.cirad.fr/indexeng.html.
77. Nourisa, J. (2022, October 31). CppyABM. Available online: https://pypi.org/project/cppyabm/.
78. Standish, R.K., and Leow, R. (2022, October 31). EcoLab. Available online: https://ecolab.sourceforge.net/.
79. Cardinot, M., O’Riordan, C., Griffith, J., and Perc, M. (2022, October 31). Evoplex–Agent-Based Modeling on Networks. Available online: https://evoplex.org/.
80. Laboratory, S.R.A. (2022, October 31). FLAME. Available online: http://flame.ac.uk/.
81. Richmond, P. (2022, October 31). FLAME GPU. Available online: https://flamegpu.com/.
82. Taillandier, P., Gaudou, B., Grignard, A., Huynh, Q.N., Marilleau, N., Caillou, P., Philippon, D., and Drogoul, A. (2022, October 31). GAMA Platform. Available online: https://gama-platform.org/.
83. Fortmann-Roe, S. (2022, October 31). Insight Maker. Available online: https://insightmaker.com/.
84. Bellifemine, F., Caire, G., Rimassa, G., Poggi, A., Bergenti, F., Trucco, T., Gotta, D., Cortese, E., Quarta, F., and Vitaglione, G. (2022, October 31). JADE Site|Java Agent Development Framework. Available online: https://jade.tilab.com/.
85. Richiardi, M.G., and Richardson, R.E. (2022, October 31). JAS-Mine. Available online: http://jas-mine.net/.
86. Spagnuolo, C., D’Ambrosio, G., De Vinco, D., Postiglione, L., Foglia, F., and Caramante, P. (2022, October 31). krABMaga. Available online: https://krabmaga.github.io/.
87. Gutknecht, O., and Ferber, J. (2022, October 31). MaDKit. Available online: https://www.madkit.net/madkit/.
88. Sean, L., Catalin Balan, G., Sullivan, K., and Panait, L. (2022, October 31). MASON Multiagent Simulation Toolkit. Available online: https://cs.gmu.edu/~eclab/projects/mason/.
89. Munehiro, F., Freksa, C., Salathe, E., Wooyoung, K., and Yasushi, K. (2022, October 31). MASS: A Parallelizing Library for Multi-Agent Spatial Simulation. Available online: https://depts.washington.edu/dslab/MASS/.
90. Boyu, W., and Kazil, J. (2022, October 31). Mesa-Geo: GIS Extension for Mesa Agent-Based Modeling. Available online: https://github.com/projectmesa/mesa-geo.
91. Mesa Community (2022, October 31). Mesa 3D Graphics Library. Available online: https://github.com/Mesa3D/mesa.
92. Kazil, J., Masad, D., and Crooks, A. (2022, October 31). Mesa: Agent-Based Modeling in Python 3+. Available online: https://mesa.readthedocs.io/en/latest/.
93. Abbott, R., and Lim, J. (2022, October 31). PyLogo. Available online: https://pylogo.sourceforge.net/.
94. Jaxa-Rozen, M., and Kwakkel, J.H. (2022, October 31). pyNetLogo. Available online: https://pynetlogo.readthedocs.io/en/latest/.
95. Thiele, J.C. (2022, October 31). RNetLogo. Available online: http://rnetlogo.r-forge.r-project.org/.
96. Russell, E., and Hovet, J. (2022, October 31). NetLogo Gis Extension. Available online: https://ccl.northwestern.edu/netlogo/docs/gis.html.
97. Brady, C., Grider, R., and Brandes, A. (2022, October 31). NetLogo View2.5D Extension. Available online: https://github.com/NetLogo/View2.5D.
98. Uri, W., Hjorth, A., Bain, C., Payette, N., Head, B., and Bertsche, J. (2022, October 31). NetLogo. Available online: https://ccl.northwestern.edu/netlogo.
99. Rubio-Campillo, X. (2022, October 31). Pandora. Available online: http://xrubio.github.io/pandora/.
100. Collier, N., Murphy, J.T., Ozik, J., Rimer, S., Sheeler, D., and Tatara, E. (2022, October 31). Repast Suite. Available online: https://repast.github.io/.