Contribute Media
A thank you to everyone who makes this possible: Read More

Event discrete simulation with SimPy

Summary

Often, experiments with real world systems are high-risk, accompanied by high costs or not even possible at all. That’s when simulations come into play. This talk will give a brief introduction into the topic of simulation. By means of simple examples, it will demonstrate how you can use SimPy to implement event-discrete simulations and which features SimPy offers to help you doing that.

Description

Simulation is important for the analysis of complex systems or the analysis of the impact of certain actions on that systems. They are especially useful if the actions are potentially harmful or expensive.

Simulation is used in various natural scientific and economic areas, e.g., for the modeling and study of biological or physical systems, for resource scheduling and optimization or at the research for the integration of renewable energies into the power grid (my personal background). The simulated time can thereby be seen as continuous or discrete (discrete time or discrete event).

In this talk, I want to show why Python is a good choice for implementing simulation models and how SimPy can help here.

Structure of the talk (20min talking + 5min discussion + 5min buffer):

  • Why simulation? (5min)
  • History of SimPy (3min)
  • How does SimPy work? (9min)
  • Conclusion (3min)

In the introduction, I’ll briefly explain what simulation is and motivate, why it is a useful tool.

The main part will consist of an introduction and demonstration of SimPy. Since SimPy is now more then ten years old, I’ll first give a quick overview about its history and development. Afterwards, I’ll explain SimPy’s concepts and features by means of simple examples.

In the conclusion, I’ll give a short outlook on the future development of SimPy.

The main goal of this talk is to create awareness that simulation is a powerful tool in a lot of domains and to give the audience enough information to ease their first steps.

Details

Improve this page