Overview

Our objective in this text is to provide a basic treatment of
the important aspects of discrete-event simulation, with particular
emphasis on examples to illustrate simulation principles and
applications in manufacturing, services, and computing.
The fifth edition, like all earlier editions, is meant for an
upper-level-undergraduate or master's-level introduction to
simulation, or for a second course with applications.
We have updated the material extensively and revised some chapters
completely. The associated website www.bcnn.net is an
essential companion to the text. Although the book remains
independent of any particular simulation language, we have
continued the trend begun in the fourth edition of providing
Excel-based examples and simulation support tools.
* SimulationTool.xls *, and the assistance of Feng
Yang and Jun Xu for modifying the software for use with this
book. Ira Gerhardt translated examples written in Maple for
previous editions of the book into the MATLAB examples in this
edition.

The first part of the book, entitled
** Introduction to Discrete-Event System Simulation**,
encompasses Chapters 1 through 4.
Chapter 1, * Introduction to Simulation *,
addresses the questions:

- What is simulation?
- What is it for?
- When is it the right tool?
- What are its advantages and disadvantages?
- What are the types of simulations?
- How do you carry out a simulation project?

In this edition abstracts of many real simulation cases have been added.

Chapter 2, *Simulation Examples in a Spreadsheet*,
introduces simulation with a series of demonstrations in Excel.
To introduce random numbers, the chapter starts with simple
examples to simulate coin tossing, and to simulate random
service and arrival times using simple discrete distributions.
From there, the instructor may choose any of the later extended
examples for queueing, inventory, and other types of systems. All
examples are based on a common framework, emphasizing model
definition, the state variables needed for the Excel
implementation, input specification, outputs, and performance
measures---all in a simplified manner accessible to the student
before covering the statistical review in Chapter 5. The Excel
implementations, available on the website, are useful for
hands-on experimentation to illustrate simulation concepts and
as a starting point for some of the exercises at the end of the
chapter.

While Excel is useful for teaching simulation concepts, for
demonstrating the effect of statistical variability, and
especially for analyzing and presenting results, it has severe
limitations as a basis for simulation itself.
Therefore Chapter 3, *General Principles*,
discusses a generic framework centered on the key concepts of
events and processes that is used as the basis for the
implementation of nearly all discrete-event simulation software.
Chapter 4, * Simulation Software*, provides a history of
simulation and examples in GPSS and Java. We also include an
updated discussion of the features and capabilities of currently
available simulation software. Simulation software evolves
rapidly, therefore, follow the Web links given in this chapter
to access the latest vendor information.

The second part of the book, entitled
** Mathematical and Statistical Models**
and comprising Chapters 5 and 6, provides background material in
statistics and queueing that is useful in simulation. Chapter 5,
* Statistical Models in Simulation *, collects, in one
location, the statistical background needed for the remainder of
the book. In Chapter 6, *Queueing Models*, we introduce
waiting-line concepts, a few simple steady-state queueing models,
and performance measures for queueing systems. In this edition
we have added a case study on rough-cut modeling of queueing
systems prior to simulation. Some calculations are illustrated
in MATLAB code. The spreadsheet QueueingTools.xls computes queueing performance
measures for all of the models in the chapter.

The third part of the book, entitled ** Random Numbers **,
discusses random-number generation in Chapter 7, and
random-variate generation in Chapter 8. Its purpose is to
introduce the concepts and some of the algorithms for generating
simulation inputs, not so that a student can implement
state-of-the-art methods, but so that they can use the tools
intelligently and critically. The spreadsheet
RandomNumberTools.xls contains implementations in
Visual Basic for Applications (VBA) of a long-period
random-number generator, such as those described in Chapter 7,
* Random-Number Generation *; as well as implementations of
the random-variate generation algorithms in Chapter 8,
* Random-Variate Generation *.

The fourth part of the book, entitled ** Analysis of
Simulation Data **, encompasses Chapter 9 on input modeling,
Chapter 10 on verification and validation,
and Chapters 11 and 12 on output analysis.

Chapter 9, * Input Modeling *, focuses on the use of data
to drive a simulation, specifically, choosing the statistical
distributions to represent a model's random input variables. In
this edition, the core example has been replaced with a series
of brief mini-cases that illustrate the difficulties that can
occur in input modeling, particularly violations of the usual
``i.i.d.'' assumption. Input modeling when no data are available
is also described.

Chapter 10, * Verification and Validation of Simulation Models *,
addresses the questions:
How do we know our model is ``correct''?
How accurate is it?
What techniques can we use to assess the model's accuracy and correctness?

In this edition, the chapters on the analysis of simulation
output have been renamed:
Chapter 11 is * Estimation of Absolute Performance * and
Chapter 12 is * Estimation of Relative Performance *.
This reflects our opinion that the key issue is not how many
systems designs are being simulated, but on whether performance
in isolation, or relative to something else, is of interest. All
examples in both chapters have been replaced with more timely
applications. The spreadsheet SimulationTools.xls implements many of the statistical
procedures in these two chapters as menu-driven applications. In
addition, the material in Chapter 12 on metamodeling now
emphasizes issues that are special to simulation experiments as
opposed to regression analysis in general.

The fifth and last part of the book, entitled
** Applications **, has chapters on manufacturing and
material handling systems, and on networked computer systems.

Chapter 13, * Simulation of Manufacturing and Material-Handling Systems *,
discusses some of the issues and performance measures specific
to manufacturing and material handling, and includes an extended
example and analysis of a small job shop.

Chapter 14, * Simulation of Networked Computer Systems *,
combines elements of 4/e Chapters 14 and 15, removing the
material on simulation of CPUs and memory, and adding new
material relevant to the simulation of wirelessly networked
systems. In particular we describe common models of user
mobility, and illustrate the range of complexities in models of
radio propagation.

* Discrete-Event System Simulation* can serve as a
textbook in the following types of courses:

- An introductory simulation course in engineering, computer science, or management (Chapters 1 through 9 and selected parts of Chapters 10 through 12 when no companion language text is used; if a companion language text is used, skip Chapter 4, and use the application Chapters 13 and 14, as appropriate);
- A second course in simulation (all of Chapters 10 through 12, a companion language text, and an outside project; add Chapter 13 or 14, as appropriate)