A Python Framework for Multi-Agent Simulation of Networked Resource Systems

Stephen Knox, Philipp Meier, Jim Yoon, Julien J. Harou

    Research output: Contribution to journalArticlepeer-review

    3 Downloads (Pure)


    Modelling managed resource systems can involve the integration of multiple software modules into a single codebase. These modules are often written by non-software specialists, using heterogeneous terminologies and modelling approaches. One approach to model integration is to use a central structure to which each external module connects. This common interface acts as an agreed mode of communication for all contributors. We propose the Python Network Simulation (Pynsim) Framework, an open-source library for building simulation models of networked systems. Pynsim's central structure is a network, but it also supports non-physical entities like organisational hierarchies. We present two case studies using Pynsim which demonstrate how its use can lead to flexible and maintainable simulation models. First is a multi-agent model simulating the hydrologic and human components of Jordan's water system. The second uses a multi-objective evolutionary algorithm to identify the best locations for new run-of-river power plants in Switzerland.
    Original languageEnglish
    Pages (from-to)16-28
    Number of pages12
    JournalEnvironmental Modelling and Software
    Early online date15 Feb 2018
    Publication statusPublished - May 2018


    • Modelling framework
    • Simulation
    • Python
    • Open source


    Dive into the research topics of 'A Python Framework for Multi-Agent Simulation of Networked Resource Systems'. Together they form a unique fingerprint.

    Cite this