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