This notebook contains material from CBE40455-2020; content is available on Github.

3.0 Introduction to Discrete Event Simulation

3.0.1 What is discrete-event simulation?

Simulation is of profound importance to engineering practice. By comparing simulation to experiments, simulation can be used to verify one's understanding of complex systems. Going the next step, simulation can be used to validate the design of new systems prior to their physical realization.

Discrete-event simulation addresses the simulation of systems characterized by events. In contrast to systems typically modeled by low order and mathematically smooth functions and differential equations, discrete-event systems generally comprise objects and activities demarcarted by events such as the start and completion of tasks, the assignment of discrete resources to tasks, preemption of tasks. Discrete-event simulation has a wide range of applications ranging from manufacturing and logistics to health care delivery.

There are a broad range of software tools that support discrete-event simulation. In this unit we will examine two representative tool sets. The first is SimPy, an easy to use Python library that is used to construct custom simulations and can be integrated with a vast array of other Python tools. The second is AnyLogic, a commercial simulation too representative of current state-of-the-art in discrete-event simulation.

3.0.2 SimPy

In [ ]: