S1. What is "discrete-event simulation"?

A simulation is any dynamic model that changes with time and that is used to predict the behavior of a (usually) far more complex system. The discrete-event bit is discussed in more detail below...

For example, meteorologists use simulations to forecast weather patterns and airline pilots are trained using flight simulations to prepare them for new aircraft and to cope with emergencies. In the automotive industry, simulations are used to predict how new vehicles will behave in a crash, to predict paint film thicknesses when programming painting robots and to improve throughput in assembly plants - amongst many other applications. Simulations can be used to verify extremely rapid processes (such as the execution of a new computer processor design, in which the simulation runs considerably slower than the real system) or predict how extremely slow processes evolve (such as world climate change simulations, in which the simulation runs way faster than the real system).

Simulations are useful because it's usually a lot cheaper and safer to test out scenarios on a computer than it is to do them in the real-life system. Would you rather be in a flight simulator or the cock-pit of a Boeing 747 when you want to test how well it flies on a single engine?

In some cases, it is not even feasible to observe the real-life system: watching how the weather system responds to a set of starting conditions isn't much help when you really wanted to know beforehand whether you were going to get rained on during your golf round. If you're building a new $500M production facility, would you rather just commission it and see how it performs, or would you rather simulate it first to see how well your design stands up? It's guaranteed that fixing the design on the drawing board is way cheaper than fixing your finished under-performing plant (and you will probably only annoy the plant designers, rather than your customer, project accountant and upper management).

There are two primary approaches to creating simulations. The first, termed continuous simulation, is based on solving sets of mathematical equations simultaneously. They are applicable when the state of the simulation changes continuously over time. One example of this would be a weather forecasting model in which factors such as air pressure, temperature and wind speed (amongst many others) vary according to the complex relationships between them. Such simulations tend to be deterministic; that is, they produce the same results given the same starting conditions and parameters. Examples of continuous simulation technologies include finite element analysis and computational fluid dynamics.

A discrete-event simulation is an approach based on the assumption that the state of the simulation changes at discrete-time intervals. For example, in a manufacturing environment, a single event may signal that a machine has completed a job. Discrete-event simulations are more generally applicable than continuous simulations, and can even be used to approximate the behavior of continuous simulations. Discrete-event simulations can also be stochastic (that is, they can represent random processes, such as people arriving at a bus stop or breakdowns affecting a machine) as well as deterministic. (That said, discrete-event simulations achieve their stochastic nature through a deterministic sleight-of-hand called pseudo-random number generation). Many computer simulation games use discrete-event simulation techniques.

Of course, no simulation is ever 100% accurate when predicting the behavior of its corresponding system: they are usually considerably simpler than the associated system, contain a number of assumptions (some of which may be invalid), are based upon incomplete or uncertain data (garbage in, garbage out) and may even contain bugs or logic errors. In general, the complexity of each simulation, and therefore its accuracy, is governed by its objectives. You wouldn't teach your teenage son to drive solely using Gran Turismo 5 and then realistically expect them to return your Lexus unscathed on their first trip to the store - that's not an objective of the game. However, if all you want is bragging rights over your friends, then it's an acceptable test of your relative racing skills.