## Table of contents for Simulation modeling and analysis / Averill M. Law.

Bibliographic record and links to related information available from the Library of Congress catalog.

Note: Contents data are machine generated based on pre-publication provided by the publisher. Contents may have variations from the printed book or be incomplete or contain other coding.

```CONTENTS
List of Symbols xvii
Preface xix
Chapter 1 Basic Simulation Modeling 1
1.1 The Nature of Simulation 1
1.2 Systems, Models, and Simulation 3
1.3 Discrete-Event Simulation 6
1.3.1 Time-Advance Mechanisms 7
1.3.2 Components and Organization of a Discrete-Event Simulation Model 9
1.4 Simulation of a Single-Server Queueing System 12
1.4.1 Problem Statement 12
1.4.2 Intuitive Explanation 18
1.4.3 Program Organization and Logic 27
1.4.4 FORTRAN Program 32
1.4.5 C Program 41
1.4.6 Simulation Output and Discussion 49
1.4.7 Alternative Stopping Rules 51
1.4.8 Determining the Events and Variables 57
1.5 Simulation of an Inventory System 60
1.5.1 Problem Statement 60
1.5.2 Program Organization and Logic 62
1.5.3 FORTRAN Program 66
1.5.4 C Program 73
1.5.5 Simulation Output and Discussion 78
1.6 Alternative Approaches to Modeling and Coding Simulations 80
1.6.1 Parallel and Distributed Simulation 80
1.6.2 Simulation across the Internet and Web-Based Simulation 83
1.7 Steps in a Sound Simulation Study 83
1.8 Other Types of Simulation 87
1.8.1 Continuous Simulation 87
1.8.2 Combined Discrete-Continuous Simulation 89
1.8.3 Monte Carlo Simulation 90
1.9 Advantages, Disadvantages, and Pitfalls of Simulation 91
Appendix 1A: Fixed-Increment Time Advance 93
Appendix 1B: A Primer on Queueing Systems 94
1B.1 Components of a Queueing System 95
1B.2 Notation for Queueing Systems 95
1B.3 Measures of Performance for Queueing Systems 96
Problems 99
Chapter 2 Modeling Complex Systems 106
2.1 Introduction 106
2.2 List Processing in Simulation 107
2.2.1 Approaches to Storing Lists in a Computer 107
2.2.2 Linked Storage Allocation 108
2.3 A Simple Simulation Language: simlib 114
2.4 Single-Server Queueing Simulation with simlib 123
2.4.1 Problem Statement 123
2.4.2 simlib Program 123
2.4.3 Simulation Output and Discussion 128
2.5 Time-Shared Computer Model 129
2.5.1 Problem Statement 129
2.5.2 simlib Program 130
2.5.3 Simulation Output and Discussion 138
2.6 Multiteller Bank with Jockeying 141
2.6.1 Problem Statement 141
2.6.2 simlib Program 142
2.6.3 Simulation Output and Discussion 152
2.7 Job-Shop Model 155
2.7.1 Problem Statement 155
2.7.2 simlib Program 157
2.7.3 Simulation Output and Discussion 168
2.8 Efficient Event-List Manipulation 170
Appendix 2A: C Code for simlib 171
Problems 184
Chapter 3 Simulation Software 202
3.1 Introduction 202
3.2 Comparison of Simulation Packages with Programming Languages 203
3.3 Classification of Simulation Software 204
3.3.1 General-Purpose Versus Application-Oriented Simulation Packages 204
3.3.2 Modeling Approaches 205
3.3.3 Common Modeling Elements 207
3.4 Desirable Software Features 208
3.4.1 General Capabilities 208
3.4.2 Hardware and Software Requirements 210
3.4.3 Animation and Dynamic Graphics 210
3.4.4 Statistical Capabilities 212
3.4.5 Customer Support and Documentation 213
3.4.6 Output Reports and Graphics 214
3.5 General-Purpose Simulation Packages 215
3.5.1 Arena 215
3.5.2 Extend 219
3.5.3 Other General-Purpose Simulation Packages 225
3.6 Object-Oriented Simulation 227
3.6.1 MODSIM III 228
3.7 Examples of Application-Oriented Simulation Packages 233
Chapter 4 Review of Basic Probability and Statistics 235
4.1 Introduction 235
4.2 Random Variables and Their Properties 235
4.3 Simulation Output Data and Stochastic Processes 247
4.4 Estimation of Means, Variances, and Correlations 249
4.5 Confidence Intervals and Hypothesis Tests for the Mean 253
4.6 The Strong Law of Large Numbers 259
4.7 The Danger of Replacing a Probability Distribution by its Mean 260
Appendix 4A: Comments on Covariance-Stationary
Processes 260
Problems 261
Chapter 5 Building Valid, Credible, and Appropriately Detailed Simulation Models
264
5.1 Introduction and Definitions 264
5.2 Guidelines for Determining the Level of Model Detail 267
5.3 Verification of Simulation Computer Programs 269
5.4 Techniques for Increasing Model Validity and Credibility 273
5.4.1 Collect High-Quality Information and Data on the System 274
5.4.2 Interact with the Manager on a Regular Basis 275
5.4.3 Maintain an Assumptions Document and Perform a Structured Walk-Through 276
5.4.4 Validate Components of the Model by Using Quantitative Techniques 277
5.4.5 Validate the Output from the Overall
Simulation Model 279
5.4.6 Animation 282
5.5 Management?s Role in the Simulation Process 282
5.6 Statistical Procedures for Comparing Real-World Observations and Simulation
Output Data 283
5.6.1 Inspection Approach 283
5.6.2 Confidence-Interval Approach Based on Independent Data 287
5.6.3 Time-Series Approaches 289
Problems 290
Chapter 6 Selecting Input Probability Distributions 292
6.1 Introduction 292
6.2 Useful Probability Distributions 298
6.2.1 Parameterization of Continuous Distributions 298
6.2.2 Continuous Distributions 299
6.2.3 Discrete Distributions 318
6.2.4 Empirical Distributions 318
6.3 Techniques for Assessing Sample Independence 329
6.4 Activity I: Hypothesizing Families of Distributions 332
6.4.1 Summary Statistics 333
6.4.2 Histograms 335
6.4.3 Quantile Summaries and Box Plots 337
6.5 Activity II: Estimation of Parameters 343
6.6 Activity III: Determining How Representative the Fitted Distributions Are
347
6.6.1 Heuristic Procedures 347
6.6.2 Goodness-of-Fit Tests 356
6.7 The ExpertFit Software and an Extended Example 370
6.8 Shifted and Truncated Distributions 376
6.9 BZzier Distributions 378
6.10 Specifying Multivariate Distributions, Correlations, and Stochastic
Processes 378
6.10.1 Specifying Multivariate Distributions 380
6.10.2 Specifying Arbitrary Marginal Distributions and Correlations 383
6.10.3 Specifying Stochastic Processes 384
6.11 Selecting a Distribution in the Absence of Data 386
6.12 Models of Arrival Processes 389
6.12.1 Poisson Processes 389
6.12.2 Nonstationary Poisson Processes 390
6.12.3 Batch Arrivals 393
6.13 Assessing the Homogeneity of Different Data Sets 394
Appendix 6A: Tables of MLEs for the Gamma and Beta Distributions 395
Problems 397
Chapter 7 Random-Number Generators 402
7.1 Introduction 402
7.2 Linear Congruential Generators 406
7.2.1 Mixed Generators 409
7.2.2 Multiplicative Generators 410
7.3 Other Kinds of Generators 412
7.3.1 More General Congruences 413
7.3.2 Composite Generators 414
7.3.3 Tausworthe and Related Generators 416
7.4 Testing Random-Number Generators 417
7.4.1 Empirical Tests 418
7.4.2 Theoretical Tests 423
7.4.3 Some General Observations on Testing 426
Appendix 7A: Portable Computer Codes for a PMMLCG 427
7A.1 FORTRAN 428
7A.2 C 430
7A.3 Obtaining Initial Seeds for the Streams 431
Appendix 7B: Portable C Code for a Combined MRG 432
Problems 435
Chapter 8 Generating Random Variates 437
8.1 Introduction 437
8.2 General Approaches to Generating Random Variates 439
8.2.1 Inverse Transform 440
8.2.2 Composition 448
8.2.3 Convolution 451
8.2.4 Acceptance-Rejection 452
8.2.5 Special Properties 459
8.3 Generating Continuous Random Variates 459
8.3.1 Uniform 460
8.3.2 Exponential 460
8.3.3 m-Erlang 461
8.3.4 Gamma 461
8.3.5 Weibull 464
8.3.6 Normal 465
8.3.7 Lognormal 466
8.3.8 Beta 467
8.3.9 Pearson Type V 468
8.3.10 Pearson Type VI 468
8.3.11 Log-Logistic 468
8.3.12 Johnson Bounded 468
8.3.13 Johnson Unbounded 469
8.3.14 BZzier 469
8.3.15 Triangular 469
8.3.16 Empirical Distributions 470
8.4 Generating Discrete Random Variates 471
8.4.1 Bernoulli 472
8.4.2 Discrete Uniform 472
8.4.3 Arbitrary Discrete Distribution 472
8.4.4 Binomial 477
8.4.5 Geometric 477
8.4.6 Negative Binomial 477
8.4.7 Poisson 478
8.5 Generating Random Vectors, Correlated Random Variates, and Stochastic
Processes 478
8.5.1 Using Conditional Distributions 479
8.5.2 Multivariate Normal and Multivariate Lognormal 480
8.5.3 Correlated Gamma Random Variates 481
8.5.4 Generating from Multivariate Families 482
8.5.5 Generating Random Vectors with Arbitrarily
Specified Marginal Distributions and Correlations 482
8.5.6 Generating Stochastic Processes 483
8.6 Generating Arrival Processes 484
8.6.1 Poisson Processes 485
8.6.2 Nonstationary Poisson Processes 485
8.6.3 Batch Arrivals 489
Appendix 8A: Validity of the Acceptance-Rejection Method 489
Appendix 8B: Setup for the Alias Method 490
Problems 491
Chapter 9 Output Data Analysis for a Single System 496
9.1 Introduction 496
9.2 Transient and Steady-State Behavior of a Stochastic Process 499
9.3 Types of Simulations with Regard to Output Analysis 502
9.4 Statistical Analysis for Terminating Simulations 505
9.4.1 Estimating Means 506
9.4.2 Estimating Other Measures of Performance 515
9.4.3 Choosing Initial Conditions 518
9.5 Statistical Analysis for Steady-State Parameters 518
9.5.1 The Problem of the Initial Transient 519
9.5.2 Replication/Deletion Approaches for Means 525
9.5.3 Other Approaches for Means 527
9.5.4 Estimating Other Measures of Performance 537
9.6 Statistical Analysis for Steady-State Cycle Parameters 539
9.7 Multiple Measures of Performance 542
9.8 Time Plots of Important Variables 545
Appendix 9A: Ratios of Expectations and Jackknife Estimators 545
Problems 547
Chapter 10 Comparing Alternative System Configurations 553
10.1 Introduction 553
10.2 Confidence Intervals for the Difference Between the Expected Responses of
Two Systems 557
10.2.1 A Paired-t Confidence Interval 557
10.2.2 AModified Two-Sample-t Confidence Interval 559
10.2.3 Contrasting the Two Methods 560
10.2.4 Comparisons Based on Steady-State Measures of Performance 560
10.3 Confidence Intervals for Comparing More than Two Systems 562
10.3.1 Comparisons with a Standard 563
10.3.2 All Pairwise Comparisons 564
10.3.3 Multiple Comparisons with the Best 566
10.4 Ranking and Selection 566
10.4.1 Selecting the Best of k Systems 567
10.4.2 Selecting a Subset of Size m Containing the Best of k Systems 569
10.4.3 Selecting the m Best of k Systems 570
10.4.4 Additional Problems and Methods 572
Appendix 10A: Validity of the Selection Procedures 575
Appendix 10B: Constants for the Selection Procedures 576
Problems 579
Chapter 11 Variance-Reduction Techniques 581
11.1 Introduction 581
11.2 Common Random Numbers 582
11.2.1 Rationale 583
11.2.2 Applicability 584
11.2.3 Synchronization 586
11.2.4 Some Examples 590
11.3 Antithetic Variates 598
11.4 Control Variates 604
11.5 Indirect Estimation 611
11.6 Conditioning 613
Problems 617
Chapter 12 Experimental Design, Sensitivity Analysis, and Optimization 622
12.1 Introduction 622
12.2 2k Factorial Designs 625
12.3 Coping with Many Factors 637
12.3.1 2k_p Fractional Factorial Designs 638
12.3.2 Factor-Screening Strategies 644
12.4 Response Surfaces and Metamodels 646
12.5 Sensitivity and Gradient Estimation 655
12.6 Optimum Seeking 657
12.6.1 Optimum-Seeking Methods 659
12.6.2 Optimum-Seeking Packages Interfaced with Simulation Software 662
Problems 666
Chapter 13 Simulation of Manufacturing Systems 669
13.1 Introduction 669
13.2 Objectives of Simulation in Manufacturing 670
13.3 Simulation Software for Manufacturing Applications 672
13.4 Modeling System Randomness 675
13.4.1 Sources of Randomness 675
13.4.2 Machine Downtimes 678
13.5 An Extended Example 684
13.5.1 Problem Description and Simulation Results 684
13.5.2 Statistical Calculations 693
13.6 A Simulation Case Study of a Metal-Parts Manufacturing Facility 695
13.6.1 Description of the System 695
13.6.2 Overall Objectives and Issues to Be Investigated 696
13.6.3 Development of the Model 696
13.6.4 Model Verification and Validation 697
13.6.5 Results of the Simulation Experiments 699
13.6.6 Conclusions and Benefits 701
Problems 702
Appendix 707
References 711
Subject Index 745
```

Library of Congress Subject Headings for this publication:

Digital computer simulation.