List of Symbols
Preface
Chapter l Basic Simulation Modeling
1.1 The Nature of Simulation
1.2 Systems, Models, and Simulation
l.3 Discrete-Event Simulation
l.3.1 Time-Advance Mechanisms
1.3.2 Components and Organization of a Discrete-Event Simulation Model
1.4 Simulation of a Single-Server Queueing System
1.4. I Problem Statement
1.4.2 Intuitive Explanation
1.4.3 Program Organization and Logic
1.4.4 FORTRAN Program
1.4.5 C Program
1.4.6 Simulation Output and Discussion
1.4.7 Altemative Stopping Rules
l.4.8 Determining the Events and Variables
1.5 Simulation of an Inventory System
l.5. I Problem Statement
l.5.2 Program Organization and Logic
l.5.3 FORTRAN Program
l.5.4 C Program
1.5.5 Simulation Output and Discussion
1.6 Altemative Approaches to Modeling and Coding Simulations
1.6. l Parallel and Distributed Simulation
l.6.2 Simulation across the Intemet and Web-Based Simulation
1.7 Steps in a Sound Simulation Study
l.8 Other Types of Simulation
l.8.l Continuous Simulation
1.8.2 Combined Discrete-Continuous Simulation
l.8.3 Monte Carlo Simulation
l.9 Advantages, Disadvantages, and Pitfalls of Simulation
Appendix 1A: Fixed-Increment Time Advance
Appendix 1B: A Primer on Queueing Systems
1B.1 Components of a Queueing System
1B.2 Notation for Queueing Systems
1B.3 Measures of Performance for Queueing Systems
Problems
Chapter 2 Modeling Complex Systems
2.l Introduction
2.2 List Processing in Simulation
2.2.1 Approaches to Storing Lists in a Computer
2.2.2 Linked Storage Allocation
2.3 A Simple Simulation Language: simlib
2.4 Single-Server Queueing Simulation with simlib
2.4.l Problem Statement
2.4.2 simlib Program
2.4.3 Simulation Output and Discussion
2.5 Time-Shared Computer Model
2.5.l Problem Statement
2.5.2 simlib Program
2.5.3 Simulation Output and Discussion
2.6 Multiteller Bank with Jockeying
2.6.l Problem Statement
2.6.2 simlib Program
2.6.3 Simulation Output and Discussion
2.7 Job-Shop Model
2.7.1 Problem Statement
2.7.2 simlib Program
2.7.3 Simulation Output and Discussion
2.8 Efficient Event-List Manipulation
Appendix 2A: C Code for simlib
Problems
Chapter 3 Simulation Software
3.l Introduction
3.2 Comparison of Simulation Packages with Programming Languages
3.3 Classification of Simulation Software
3.3.1 General-Purpose Versus Application-Oriented Simulation Packages
3.3.2 Modeling Approaches
3.3.3 Common Modeling Elements
3.4 Desirable Software Features
3.4.l General Capabilities
3.4.2 Hardware and Software Requirements
3.4.3 Animation and Dynamic Graphics
3.4.4 Statistical Capabilities
3.4.5 Customer SuppoH and Documentation
3.4.6 Output Repons and Graphics
3.5 General-Puryose Simalation Packages
3.5.l Arena
3.5.2 Extend
3.5.3 Other General-Purpose Simulation Packages
3.6 Object-Oriented Simulation
3.6.l MODSIM nl
3.7 Examples of Application-Oriented Simulation Packages
Chapter 4 Review of Basic Probability and Statistics
4.l Introduction
4.2 Random Variables and Their PropeHies
4.3 Simulation Output Data and Stpchastic Processes
4.4 Estimation of Means, Variances, and 'Comelations
4.5 Confidence Intervals and H)rpothesis Tests for the Mean
4.6 The Strong Law of Large Numbers
4.7 The Danger of Replacing a Probability Distribution by its Mean
Appendix 4A: Comments on Covariance-Stationary
Processes
Problems
Chapter 5 Building Valid, Credible, and Appropriately Detailed
Simulation Models
5.1 Introdaction and Definitions
5.2 Guidelines for Determining the Level of Model Detail
5.3 Verification of Simulation Computer Programs
5.4 Techniques for Increasing Model Validity and Credibility
5.4. I Collect High-QualitY Information and Data on the System
5.4.2 Interact with the Manager on a Regular Basis
5.4.3 Maintain an Assumptions Document and Perform a Suuctured Walk-Through
5.4.4 Validate Components of the Model by Using Quantitative Techniques
5.4.5 Validate the Oatput from the Overall Simulation Model
5.4.6 Animation
5.5 Management's Role in the Simulation Process
5.6 Statistical Procedures for Comparing Real-World Observations and Simulation Output Data
5.6.l Inspection Approach
5.6.2 Confidence-Interval Approach Based on Independent Data
5.6.3 Time-Series Approaches
Problems
Chapter 6 Selecting Input Probability Distributions
6.l Introduction
6.2 Useful Probability Distributions
6.2.l Parameterization of Continuous Distributions
6.2.2 Continuous Distribntions
6.2.3 Discrete Distributions
6.2.4 Empirical Distributions
6.3 Techniqnes for Assessing Sample Independence
6.4 Activity I: Hypothesizing Families of Distributions
6.4.l Summary Statistics
6.4. 2 Histograms
6.4.3 Quantile Summaries and Box Plots
6.5 Activity II: Estimation of Parameters
6.6 Activity III: Determining How Representative the Fitted Distributions Are
6.6.l Heudstic Procedures
6.6.2 Goodness-of-Fit Tests
6.7 The ExpenFit Software and an Extended Example
6.8 Shifted and Truncated Distributions
6.9 Bezier Distributions
6.1O Specifying Muliivariate Distributions, Correlations, and Stochastic Processes
6.1O.l Specifying Multivariate Distributions
6.1O.2 Specifying Arbitrary Marginal Distributions and Comelations
6.1O.3 Specifying Stochastic Processes
6.11 Selecting a Distribution in the Absence of Data
6.12 Models ofAnival Processes
6.12.l Poisson Processes
6.12.2 Nonstationary Poisson Processes
6.l2.3 Batch Arrivals
6.13 Assessing the Homogeneity of Different Data Sets
Appendix 6A: Tables of MLEs for the Gamma and Beta
Distributions
Problems
Chapter 7 Random-Number Generators
7.l Introduction
7.2 Linear Congruential Generators
7.2.1 Mixed Generators
7.2.2 Multiplicative Generators
7.3 Other Kinds of Generators
7.3.1 More General Congruences
7.3.2 Composite Generators
7.3.3 TauswoHhe and Related Generators
7.4 Testing Random-Number Generators
7.4.1 Empirical Tests
7.4.2 Theoretical Tests
7.4.3 Some Oeneral Observations on Testing
Appendix 7A: PoHable Computer Codes for a PMMLCG
7A.l FORTRAN
7A.2 C
7A.3 Obtaining Initial Seeds for the Streams
Appendix 7B: PoHable C Code for a Combined MRG
Problems
Chapter 8 Generating Random Variates
8.1 Inuoduction
8.2 Ceneral Approaches to Generating Random Variates
8.2.l Inverse Transform
8.2.2 Composition
8.2.3 Convolution
8.2.4 Acceptance-Rejection
8.2.5 Special PropeHies
8.3 Generating Continuous Random Variates
8.3.1 Uniform
8.3.2 Exponential
8.3.3 m-Erlang
8.3.4 Gamma
8.3.5 Weibull
8.3.6 Normal
8.3.7 Lognormal
8.3.8 Beta
8.3.9 Pearson Type V
8.3.10 Pearson Type VI
8.3.11 Log-Logistic
8.3.12 Johnson Bounded
8.3.13 Johnson Unbounded
8.3.14 Bezier
8.3.l5 Triangular
8.3.l6 Empirical DisUibutions
8.4 Generating Discrete Random Variates
8.4.l Bemoulli
8.4.2 Discrete Unifonn
8.4.3 Arbitrary Discrete Distribution
8.4.4 Binomial
8.4.5 Geometric
8.4.6 Negative Binomial
8.4.7 Poisson
8.5 Generating Random Vectors, Comelated Random Variates, and Stochastic Processes
8.5.1 Using Conditional Distributions
8.5.2 Multivariate Normal and Multivariate Lognormal
8.5.3 Comelated Gamma Random Variates
8.5.4 Generating from Multivariate Families
8.5.5 Generating Random Vectors with Arbitrarily Specified Marginal Distributions and Comelations
8.5.6 Generating Stochastic Processes
8.6 Oenerating Anival Processes
8.6.1 Poisson Processes
8.6.2 Nonstationary Poisson Processes
8.6.3 Batch Amivals
Appendix 8A: Validity of the Acceptance-Rejection
Method
Appendix 8B: Setup for the Alias Method
Problems
Chapter 9 Output Data Analysis for a Single System
9.l Introduction
9.2 Transient and Steady-State Behavior of a Stochastic Process
9.3 Types of Simulations with Regard to Output Analysis
9.4 Statistical Analysis for Terminating Simulations
9.4. l Estimating Means
9.4.2 Estimating Other Measures of Performance
9.4.3 Choosing Initial Conditions
9.5 Statistical Analysis for Steady-State Parameters
9.5.1 The Problem of the Initial Transient
9.5.2 Replication/Deletion Approaches for Means
9.5.3 Other Approaches for Means
9.5.4 Estimating Other Measures of Performance
9.6 Statistical Analysis for Steady-State Cycle Parameters
9.7 Multiple Measures of Performance
9.8 Time Plots of ImpoHant Variables
Appendix 9A: Ratios of Expectations and Jackknife
Estimators
Problems
Chapter IO Comparing Altemative System Configurations
1O.l Introduction
1O.2 Confidence Intervals for the Difference Between the Expected Responses of Two Systems
1O.2.l A Paired-t Confidence Interval
1O.2.2 A Modified Two-Sample-r Confidence Interval
1O.2.3 Contrasting the Two Methods
1O.2.4 Comparisons Based on Steady-State Measures of Performance
1O.3 Confidence Intervals for Comparing More than Two Systems
1O.3. l Comparisons with a Standard .
1O.3.2 AII Pairwise Comparisons
1O.3.3 Multiple Comparisons with the Best
1O.4 Ranking and Selection
1O.4.1 Selecting the Best of k Systems .
1O.4.2 Selecting a Subset of Size In Containing the Best of Ic Systems
1O.4.3 Selecting the Ht Best of Ir Systems
10.4.4 Additional Problems and Methods
Appendix IOA: Validity of the Selection Procedures
Appendix IOB : Constarlts for the Selection Procedures
Problems
Chapter tl Variance-Reduction Techniques
11.l Introduction
ll.2 Common Random Numbers
1l.2.l Rationale
11.2.2 Applicability
11.2.3 Synchronization
ll.2.4 Some Examples
ll.3 Antithetic Variates
ll.4 Control Variates
ll.5 Indirect Estimation
ll.6 Conditioning
Problems
Chapter 12 Experimental Design, Sensitivity Analysis, and
Optimization
12.l Introduction
12.2 2k Factorial Designs
12.3 Coping with Many Factors
12.3.l 2k"P Fractional Factorial Designs
l2.3.2 Factor-Screening Strategies
12.4 Response Surfaces and Metamodels
12.5 Sensitivity and Gradient Estimation
12.6 Optimum Seeking
12.6.l Optimum-Seeking Methods
12.6.2 Optimum-Seeking Packages Interfaced with Simulation Software
Problems
Chapter t3 Simulation of Manufacturing Systems '
13.l Introduction
l3.2 Objectives of Simulation in Manufacturing
l3.3 Simulation Software for Manufacturing Applications
13.4 Modeling System Randomness
l3.4.l Sources of Randomness
l3.4.2 Machine Downtimes
13.5 An Extended Example
13.5.l Problem Description and Simulation Results
13.5.2 Statistical Calculations
13.6 A Simalation Case Study of a Metal-Parts Manufacturing Facility
l3.6.1 Description of the System
13.6.2 Overall Objectives and Issues to Be Investigated
l3.6.3 Development of the Model
l3.6.4 Model Verification and Validation
l3.6.5 Results of the Simulation Experiments
13.6.6 Conclusions and Benefits
Problems
Appendix
References
Subject Index