Of the analytic methods that comprise operations research,
simulation stands in sharp contrast to the mathematical programming
algorithms and stochastic models presented earlier. With simulation,
the analyst creates a model of a system that describes some
process involving individual entities such as persons, products
or messages. The components of the model try to reproduce, with
varying degrees of accuracy, the actual operations of the real
components of the process. Most likely the system will have
time-varying inputs and time-varying outputs that are affected
by random events. The components of the simulation are interconnected
and can often be viewed as a network with complex input-output
relationships. Moreover, the flow of entities through the system
is controlled by logic rules that derive from the operating
rules and policies associated with the process being modeled.
Because the model takes the form of a computer program, which
operates as a facsimile of its real-world counterpart, it is
much less restricted than analytical models such as those encountered
in the queueing chapter. Within the limitations of the input
and output interfaces, a skilled programmer can duplicate with
a high level of accuracy, most systems that can be observed
and rationalized. Because of this capacity for detail, simulation
has become a very popular method of analysis. Particularly appealing
is its ability to model random variables with arbitrary probability
distributions and systems that have a variety of interacting
random processes. Modern simulation languages are very powerful
tools, allowing even a beginner to create representations of
Several reasons that motivate the use of simulation are outlined
- Simulation may be the only alternative to provide solutions
to the problem under study. For example, it is not possible
to obtain transient (time-dependent) solutions for complex
queuing models in closed form or by solving a set of equations,
but they are readily obtained with simulation methods.
- Models to be simulated can represent a real-world process
more realistically because fewer restrictive assumptions are
required. Examples include the use of nondeterministic lead
times in an inventory model, non-Poisson arrivals or service
times in a queuing process, and nondeterministic parameters
in a multiperiod production scheduling and inventory control
problem. Each of these situations results in analytic models
that are intractable.
- Changes in configuration or structure can be easily implemented
to answer "What happens if . . . ?" questions. For
example, various decision rules can be tested for altering
the number of servers in a network of queues.
- In most cases, simulation is less costly than actual experimentation;
in other cases, it may be the only reasonable initial approach,
as when the system does not yet exist but theoretical relationships
are well-known. For example, solar energy thermal collection
systems for homes have been tested by simulation prior to
being built to help solve site-specific problems or to explore
new design issues.
- Simulation can be used for pedagogical (teaching) purposes
either to illustrate a model or to better comprehend a process,
such as revenue management policies used by airlines to price
tickets over time.
- For many dynamic processes, simulation provides the only
means for direct and detailed observation within specified
time limits. The approach also allows time compression, whereby
a simulation accomplishes in minutes what might require years
of actual experimentation.
With these advantages and others one might ask "Why not
approach all modeling through simulation?" First, simulation
is time-consuming and costly compared to many analytic approaches.
For example, a simulation to estimate optimal reorder levels
and quantities for an inventory problem requires an extensive
search for optimal values of controllable variables, whereas
an analytic solution would not. Second, certain issues associated
with design, validation, and estimation are complex at best
and unresolved at worst. Because it attempts to reproduce significant
amounts of detail, a simulation model may require a large programming
effort, its accuracy may be difficult to verify, and the computational
burden it imposes may be extensive compared to other approaches.
Like queueing analysis, simulation is a tool that requires the
enumeration of alternatives to determine an optimal design.
Unlike queueing analysis, simulation does not yield expected
values. Rather, a simulation run is like making an observation
of a system in the real world and recording the relevant statistics.
Since statistics are themselves random variables, the interpretation
of the results must be done carefully, with procedures based
on the appropriate theory. This requirement is often neglected
in practice, giving rise to the possibility that the results
will either be misinterpreted or misused.