NL4Py: Agent-Based Modeling in Python with Parallelizable NetLogo Workspaces

by   Chathika Gunaratne, et al.

NL4Py is a NetLogo controller software for Python, for the rapid, parallel execution of NetLogo models. NL4Py provides both headless (no graphical user interface) and GUI NetLogo workspace control through Python. Spurred on by the increasing availability of open-source computation and machine learning libraries on the Python package index, there is an increasing demand for such rapid, parallel execution of agent-based models through Python. NetLogo, being the language of choice for a majority of agent-based modeling driven research projects, requires an integration to Python for researchers looking to perform statistical analyses of agent-based model output using these libraries. Unfortunately, until the recent introduction of PyNetLogo, and now NL4Py, such a controller was unavailable. This article provides a detailed introduction into the usage of NL4Py and explains its client-server software architecture, highlighting architectural differences to PyNetLogo. A step-by-step demonstration of global sensitivity analysis and parameter calibration of the Wolf Sheep Predation model is then performed through NL4Py. Finally, NL4Py's performance is benchmarked against PyNetLogo and its combination with IPyParallel, and shown to provide significant savings in execution time over both configurations.



There are no comments yet.


page 18


SEIR-Campus: Modeling Infectious Diseases on University Campuses

We introduce a Python package for modeling and studying the spread of in...

Uncertainty and Sensitivity Analyses Methods for Agent-Based Mathematical Models: An Introductory Review

Multiscale, agent-based mathematical models of biological systems are of...

Evoplex: A platform for agent-based modeling on networks

Evoplex is a fast, robust and extensible platform for developing agent-b...

Surrogate Assisted Methods for the Parameterisation of Agent-Based Models

Parameter calibration is a major challenge in agent-based modelling and ...

Paradigms of Computational Agency

Agent-based models have emerged as a promising paradigm for addressing e...

Screenline-based Two-step Calibration and its application to an agent-based urban freight simulator

Calibration is an essential process to make an agent-based simulator ope...

PTRAIL – A python package for parallel trajectory data preprocessing

Trajectory data represent a trace of an object that changes its position...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.