Keywords

Agent Based;Simulation;Open Source;Python;Resource Network

Location

Session A2: Interoperability, Reusability, and Integrated Systems

Start Date

11-7-2016 11:30 AM

End Date

11-7-2016 11:50 AM

Abstract

Simulation of engineered resource systems is increasingly expected to represent the actions of multiple actors, from individual agents who manage one site to institutions that manage complex interactions within the resource system. These models often incorporate multiple components, which need to be integrated into a single computing context. In order to achieve such integration, a common semantic connection must be defined. We focus on systems such as water resources where a network of nodes and links can be used to represent the system. We present Pynsim, an open-source python simulation framework. In a Pynsim simulation, multiple model developers can contribute their code as a sub-model, or ‘engine’. Multiple engines operate on the same network, whose node types, topology and data are defined as Pynsim objects. Pynsim can also represent governmental, physical or social hierarchies. By providing this central structure, Pynsim can accommodate complex interdependencies between engines. We describe the application of Pynsim to two international case-studies. One is a multi-agent simulation of Jordan’s national water system, incorporating the physical, social, economic and political aspects of this system. This project demonstrates how developers with different backgrounds can work towards a complex integrated model using a single flexible software framework. Pynsim’s design ensures the resulting model consists of reusable and manageable components. The second project focuses on how the addition of new run-of-river power plants affects a mountainous river network. This project connects a Pynsim simulation to a multi-objective evolutionary algorithm to help determine the optimal placement of new power plants within a network. This example shows that topology changes can be performed during the optimisation process.

COinS
 
Jul 11th, 11:30 AM Jul 11th, 11:50 AM

Pynsim: An Open-Source Software Framework for Building Simulation Models of Multi-Actor Resource Networks

Session A2: Interoperability, Reusability, and Integrated Systems

Simulation of engineered resource systems is increasingly expected to represent the actions of multiple actors, from individual agents who manage one site to institutions that manage complex interactions within the resource system. These models often incorporate multiple components, which need to be integrated into a single computing context. In order to achieve such integration, a common semantic connection must be defined. We focus on systems such as water resources where a network of nodes and links can be used to represent the system. We present Pynsim, an open-source python simulation framework. In a Pynsim simulation, multiple model developers can contribute their code as a sub-model, or ‘engine’. Multiple engines operate on the same network, whose node types, topology and data are defined as Pynsim objects. Pynsim can also represent governmental, physical or social hierarchies. By providing this central structure, Pynsim can accommodate complex interdependencies between engines. We describe the application of Pynsim to two international case-studies. One is a multi-agent simulation of Jordan’s national water system, incorporating the physical, social, economic and political aspects of this system. This project demonstrates how developers with different backgrounds can work towards a complex integrated model using a single flexible software framework. Pynsim’s design ensures the resulting model consists of reusable and manageable components. The second project focuses on how the addition of new run-of-river power plants affects a mountainous river network. This project connects a Pynsim simulation to a multi-objective evolutionary algorithm to help determine the optimal placement of new power plants within a network. This example shows that topology changes can be performed during the optimisation process.