# Discrete event simulation packs a punch

Discrete event simulation can be a powerful tool to aid companies in understanding their processes better and to produce beneficial information to support decision making. With discrete event simulation, a broad spectrum of data can be obtained, ranging from finding process bottlenecks to the optimization of processing parameters to increase throughput and lower costs.

Discrete event simulation, like all forms of simulation, is a method used to model an aspect of real life on a computer. With discrete event simulation, every change that takes place in the simulation model is its own discrete event. For example, when a processing machine starts processing a raw material, this is one discrete event. The end of processing is another discrete event, after which a new discrete event might follow: the processed raw material begins moving to the next processing machine, for example.

The discrete events in the simulation model can be dependent on each other, or independent, as in real life. Each event happens on its own time as time passes in the simulation, the same way it does in real life.

Discrete event simulation is well suited to modelling production facilities, traffic flows, logistics, and customer service situations. Basically, any situation where a quantifiable amount of anything (raw materials, calls, products…) enters a process and is processed or held up for a definable period of time, after which it eventually exits, can be simulated with discrete event simulation.

Even a relatively small process can be too complex to be fully understood without proper visualisation; how it operates and how all the interdependencies affect the outcomes of the process.

Understanding everything in the finest detail is not, naturally, always needed. Having an unclear picture of how the process works might, however, become a problem when changes have to be made. For example, when capacity is no longer sufficient, or if keeping up with the competition has become more difficult, knowing what to change, and how to do it, is essential.

## What can be achieved with discrete event simulation?

Bottleneck identification is quite simple to achieve with discrete event simulation. Once the simulation model has been built and the simulation has been run, the utilisation rates for all activities can be obtained. While there might not be a single activity acting as a bottleneck yet, this can change with increased production or changes in the production plan. This can be easily tested in the simulation. Figure 1 (overleaf) is an example of a simulation bottleneck identification graph.

It is also easy to test different scenarios with a simulation model. For example, when considering a production equipment upgrade, the effects of the upgrade on the whole process are easily tested by changing the parameters for the processing equipment. The effects of changes in the production schedule can be tested by changing the processing parameters in the simulation.

Simulation is commonly used for storage space approximation. The simulation model clearly displays the needed storage space or how the current storage space can become a bottleneck in the process. Figure 2 is an example graph of storage space requirement simulation results. Resource needs and utilisation rates can also be identified with discrete event simulation where the resources could be workers, pallets, etc.

A good simulation model can also be a useful aid in decision-making related to process changes. The simulation can clearly display what effects changes would have. This knowledge is particularly important when decisions regarding large investments have to be made.

A simulation model is a representation of the real world and can be simplified very much, or made more complex (closer to real life) by taking into account minor details that affect the real life process.

## Why use discrete event simulation?

Dedicated simulation software really excels when the small variations and randomness of the real world have to be taken into account. For instance, the time that a processing room is occupied for the manufacture of a certain product usually varies according to a kind of distribution. This variation can be taken into account, by setting a distribution that represents the real life processing times as the time value for that processing room. The software then randomly selects processing times according to the distribution.

It might seem that the average processing time alone would do much the same as a distribution, but this, however, is rarely the case. If the process upstream depends on the availability of the processing room, or if the process downstream depends on the output from the processing room, it can make a big difference in the simulation model if the average processing time is used as the processing time value, or if a distribution which better represents the real world is used instead.

Another benefit of simulation is how fast it is. Building a simulation model and testing different scenarios is usually so much faster than performing tests in real life that the latter is not really an option. Tests that would take years to complete in real life can be performed within minutes or hours (depending on the complexity of the system) with a simulation model. It is also not usually commercially feasible to conduct experiments on production equipment, as the equipment should be used optimally for production.

Building a simulation model also takes less time than doing similar calculations with other methods. Barring possibly the simplest models, doing similar calculations with alternative means is, in fact, virtually impossible.

## Optimization

Discrete event simulation can be also used for optimization. By varying parameters according to set limits, and aiming to a set a target value, the simulation software can find an optimal solution.

It is not always clear how exactly certain changes affect the process. In these situations optimization can give us results that would be difficult to obtain otherwise. The number of workers working on a part of a process, for example, could be optimized with a simulation model. Having more workers means faster processing, but also costs more. The optimal number can be quite easily determined with a simulation.

## Better data, better results

Good data is really important when running a simulation. If the data doesn’t represent reality closely, neither will the simulation. “What goes in comes out” holds very much true in simulation. With bad data, the simulation might initially seem realistic, but might, in fact, represent the reality extremely poorly. This can, of course, be checked by comparing the result data from the simulation with equivalent data from the real world, which is something that should always be done, if possible.

It also has to be taken into account that a simulation is a mathematical model, a representation of the real world, and thus will never perfectly correspond to reality. With good data the model can, however, be made to correspond to the real life situation very closely. It is also possible to do multiple simulation runs with different random number sets and a verified model to get statistically significant results.

Obtaining the required data for a simulation might be as easy as exporting data from ERP-software or other production planning and logging software. Usually, some editing of the data is required, but after editing the data can be imported into the simulation software on a spreadsheet. The time spent on proper data collection and verification is reduced many times over when the simulation represents the real world from the start.

With good data, discrete event simulation can be a powerful tool that gives us useful information that can be used to improve processes and solve problems that would be difficult to do otherwise.

**Author: Risto Hänninen **