Simul8 is a visual simulation package produced by Simul8 Corporation.
Simulation is a technique in which one builds a computer model of a system and then experiments with the model in order to assess the behaviour of the underlying system. The principle of building a computer model is the same as for optimization models; the difference lies in the nature of the model and what one does with it. Simulation models typically have more detail than optimization models but the user has to decide what to do with the model rather than defining an objective and asking the model to find the best solution.
In practice simulation and optimization are complementary techniques and are used to tackle different problems or different aspects of a single large problem. Scheduling systems involve a large element of simulation, but this is not quite the same as the simulation one does with Simul8.
Simul8 is used to explore the behaviour of a system which involves random events and to assess how well the system responds to those events, e.g. the operation of a call centre or a fast food outlet. Simul8 incorporates random number generators which produce events in accordance with probability distributions which the user specifies, e.g. the arrival of calls; the nature of a customer's order. The simulation is run to model the behaviour of the system for an extended period of time and statistics are collected, e.g. of the time that a customer has to wait, or the length of the queue.
Simul8 uses a visual approach which facilitates the building of simulation models. Elements of the model are represented by icons which can be dragged and dropped onto the screen. The simulation itself can be run slowly so that each individual action can be seen. This makes it easy to discuss the model's representation of the system with those involved, which helps to improve the model's accuracy.
The process of building the model may itself lead to the identification of bottlenecks and suggest ways of improving the system. These can then be explored by changing the configuration of the model, e.g. adding an extra service hatch, and running the simulation again. Simul8 makes it possible to explore various alternative ways of improving the system and assess their benefits before deciding which to implement.