|
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 C Program 32
1.4.5 Simulation Output and Discussion 39
1.4.6 Alternative Stopping Rules 41
1.4.7 Determining the Events and Variables 45
1.5 Simulation of an Inventory System 48
1.5.1 Problem Statement 48
1.5.2 Program Organization and Logic 50
1.5.3 C Program 53
1.5.4 Simulation Output and Discussion 60
1.6 Parallel/Distributed Simulation and the High Level Architecture 61
1.6.1 Parallel Simulation 62
1.6.2 Distributed Simulation and the High Level Architecture 64
1.7 Steps in a Sound Simulation Study 66
1.8 Advantages, Disadvantages, and Pitfalls of Simulation 70
Appendix 1A: Fixed-Increment Time Advance 72
Appendix 1B: A Primer on Queueing Systems 73
1B.1 Components of a Queueing System 74
1B.2 Notation for Queueing Systems 74
1B.3 Measures of Performance for Queueing Systems 75
Problems 78
vi contents
Chapter 2 Modeling Complex Systems 85
2.1 Introduction 85
2.2 List Processing in Simulation 86
2.2.1 Approaches to Storing Lists in
a Computer 86
2.2.2 Linked Storage Allocation 87
2.3 A Simple Simulation Language: simlib 93
2.4 Single-Server Queueing Simulation with simlib 102
2.4.1 Problem Statement 102
2.4.2 simlib Program 102
2.4.3 Simulation Output and Discussion 107
2.5 Time-Shared Computer Model 108
2.5.1 Problem Statement 108
2.5.2 simlib Program 109
2.5.3 Simulation Output and Discussion 117
2.6 Multiteller Bank with Jockeying 120
2.6.1 Problem Statement 120
2.6.2 simlib Program 121
2.6.3 Simulation Output and Discussion 131
2.7 Job-Shop Model 134
2.7.1 Problem Statement 134
2.7.2 simlib Program 136
2.7.3 Simulation Output and Discussion 147
2.8 Effi cient Event-List Management 149
Appendix 2A: C Code for simlib 150
Problems 163
Chapter 3 Simulation Software 181
3.1 Introduction 181
3.2 Comparison of Simulation Packages with
Programming Languages 182
3.3 Classifi cation of Simulation Software 183
3.3.1 General-Purpose vs. Application-Oriented
Simulation Packages 183
3.3.2 Modeling Approaches 183
3.3.3 Common Modeling Elements 186
3.4 Desirable Software Features 186
3.4.1 General Capabilities 187
3.4.2 Hardware and Software Requirements 189
3.4.3 Animation and Dynamic Graphics 189
3.4.4 Statistical Capabilities 190
3.4.5 Customer Support and Documentation 192
3.4.6 Output Reports and Graphics 193
contents vii
3.5 General-Purpose Simulation Packages 193
3.5.1 Arena 193
3.5.2 ExtendSim 198
3.5.3 Simio 206
3.5.4 Other General-Purpose Simulation Packages 212
3.6 Object-Oriented Simulation 212
3.7 Examples of Application-Oriented Simulation Packages 213
Chapter 4 Review of Basic Probability and Statistics 214
4.1 Introduction 214
4.2 Random Variables and Their Properties 214
4.3 Simulation Output Data and Stochastic Processes 226
4.4 Estimation of Means, Variances, and Correlations 229
4.5 Confi dence Intervals and Hypothesis Tests for the Mean 233
4.6 The Strong Law of Large Numbers 240
4.7 The Danger of Replacing a Probability Distribution by
its Mean 241
Appendix 4A: Comments on Covariance-Stationary Processes 241
Problems 242
Chapter 5 Building Valid, Credible, and Appropriately Detailed
Simulation Models 246
5.1 Introduction and Defi nitions 246
5.2 Guidelines for Determining the Level of Model Detail 249
5.3 Verifi cation of Simulation Computer Programs 251
5.4 Techniques for Increasing Model Validity and Credibility 255
5.4.1 Collect High-Quality Information and
Data on the System 256
5.4.2 Interact with the Manager on a Regular Basis 257
5.4.3 Maintain a Written Assumptions Document
and Perform a Structured Walk-Through 258
5.4.4 Validate Components of the Model by
Using Quantitative Techniques 260
5.4.5 Validate the Output from the Overall Simulation Model 262
5.4.6 Animation 268
5.5 Management’s Role in the Simulation Process 269
5.6 Statistical Procedures for Comparing Real-World
Observations and Simulation Output Data 269
5.6.1 Inspection Approach 270
5.6.2 Confi dence-Interval Approach Based on
Independent Data 273
5.6.3 Time-Series Approaches 276
5.6.4 Other Approaches 277
Problems 277
viii contents
Chapter 6 Selecting Input Probability Distributions 279
6.1 Introduction 279
6.2 Useful Probability Distributions 285
6.2.1 Parameterization of Continuous Distributions 285
6.2.2 Continuous Distributions 286
6.2.3 Discrete Distributions 305
6.2.4 Empirical Distributions 305
6.3 Techniques for Assessing Sample Independence 316
6.4 Activity I: Hypothesizing Families of Distributions 319
6.4.1 Summary Statistics 320
6.4.2 Histograms 322
6.4.3 Quantile Summaries and Box Plots 324
6.5 Activity II: Estimation of Parameters 330
6.6 Activity III: Determining How Representative
the Fitted Distributions Are 334
6.6.1 Heuristic Procedures 335
6.6.2 Goodness-of-Fit Tests 344
6.7 The ExpertFit Software and an Extended Example 359
6.8 Shifted and Truncated Distributions 364
6.9 Bézier Distributions 366
6.10 Specifying Multivariate Distributions, Correlations,
and Stochastic Processes 367
6.10.1 Specifying Multivariate Distributions 368
6.10.2 Specifying Arbitrary Marginal Distributions
and Correlations 372
6.10.3 Specifying Stochastic Processes 373
6.11 Selecting a Distribution in the Absence of Data 375
6.12 Models of Arrival Processes 380
6.12.1 Poisson Processes 380
6.12.2 Nonstationary Poisson Processes 381
6.12.3 Batch Arrivals 384
6.13 Assessing the Homogeneity of Different Data Sets 385
Appendix 6A: Tables of MLEs for the Gamma and
Beta Distributions 386
Problems 389
Chapter 7 Random-Number Generators 393
7.1 Introduction 393
7.2 Linear Congruential Generators 397
7.2.1 Mixed Generators 399
7.2.2 Multiplicative Generators 400
7.3 Other Kinds of Generators 402
7.3.1 More General Congruences 402
contents ix
7.3.2 Composite Generators 403
7.3.3 Feedback Shift Register Generators 405
7.4 Testing Random-Number Generators 409
7.4.1 Empirical Tests 409
7.4.2 Theoretical Tests 414
7.4.3 Some General Observations on Testing 418
Appendix 7A: Portable C Code for a PMMLCG 419
Appendix 7B: Portable C Code for a Combined MRG 421
Problems 423
Chapter 8 Generating Random Variates 426
8.1 Introduction 426
8.2 General Approaches to Generating Random Variates 428
8.2.1 Inverse Transform 428
8.2.2 Composition 437
8.2.3 Convolution 440
8.2.4 Acceptance-Rejection 441
8.2.5 Ratio of Uniforms 448
8.2.6 Special Properties 450
8.3 Generating Continuous Random Variates 451
8.3.1 Uniform 452
8.3.2 Exponential 452
8.3.3 m-Erlang 453
8.3.4 Gamma 453
8.3.5 Weibull 456
8.3.6 Normal 457
8.3.7 Lognormal 458
8.3.8 Beta 458
8.3.9 Pearson Type V 459
8.3.10 Pearson Type VI 460
8.3.11 Log-Logistic 460
8.3.12 Johnson Bounded 460
8.3.13 Johnson Unbounded 461
8.3.14 Bézier 461
8.3.15 Triangular 461
8.3.16 Empirical Distributions 462
8.4 Generating Discrete Random Variates 463
8.4.1 Bernoulli 464
8.4.2 Discrete Uniform 464
8.4.3 Arbitrary Discrete Distribution 464
8.4.4 Binomial 469
8.4.5 Geometric 469
8.4.6 Negative Binomial 469
8.4.7 Poisson 470
x contents
8.5 Generating Random Vectors, Correlated Random Variates,
and Stochastic Processes 470
8.5.1 Using Conditional Distributions 471
8.5.2 Multivariate Normal and Multivariate Lognormal 472
8.5.3 Correlated Gamma Random Variates 473
8.5.4 Generating from Multivariate Families 474
8.5.5 Generating Random Vectors with Arbitrarily
Specifi ed Marginal Distributions and Correlations 474
8.5.6 Generating Stochastic Processes 475
8.6 Generating Arrival Processes 476
8.6.1 Poisson Processes 476
8.6.2 Nonstationary Poisson Processes 477
8.6.3 Batch Arrivals 481
Appendix 8A: Validity of the Acceptance-Rejection
Method 481
Appendix 8B: Setup for the Alias Method 482
Problems 483
Chapter 9 Output Data Analysis for a Single System 488
9.1 Introduction 488
9.2 Transient and Steady-State Behavior of a Stochastic Process 491
9.3 Types of Simulations with Regard to Output Analysis 493
9.4 Statistical Analysis for Terminating Simulations 497
9.4.1 Estimating Means 498
9.4.2 Estimating Other Measures of Performance 507
9.4.3 Choosing Initial Conditions 510
9.5 Statistical Analysis for Steady-State Parameters 511
9.5.1 The Problem of the Initial Transient 511
9.5.2 Replication/Deletion Approach for Means 523
9.5.3 Other Approaches for Means 526
9.5.4 Estimating Other Measures of Performance 540
9.6 Statistical Analysis for Steady-State Cycle Parameters 542
9.7 Multiple Measures of Performance 545
9.8 Time Plots of Important Variables 548
Appendix 9A: Ratios of Expectations and Jackknife
Estimators 550
Problems 551
Chapter 10 Comparing Alternative System Confi gurations 556
10.1 Introduction 556
10.2 Confi dence Intervals for the Difference between the
Expected Responses of Two Systems 560
10.2.1 A Paired-t Confi dence Interval 560
contents xi
10.2.2 A Modifi ed Two-Sample-t Confi dence Interval 562
10.2.3 Contrasting the Two Methods 563
10.2.4 Comparisons Based on Steady-State Measures
of Performance 563
10.3 Confi dence Intervals for Comparing More than Two Systems 565
10.3.1 Comparisons with a Standard 566
10.3.2 All Pairwise Comparisons 568
10.3.3 Multiple Comparisons with the Best 569
10.4 Ranking and Selection 569
10.4.1 Selecting the Best of k Systems 570
10.4.2 Selecting a Subset of Size m Containing the
Best of k Systems 576
10.4.3 Additional Problems and Methods 577
Appendix 10A: Validity of the Selection Procedures 582
Appendix 10B: Constants for the Selection Procedures 583
Problems 584
Chapter 11 Variance-Reduction Techniques 587
11.1 Introduction 587
11.2 Common Random Numbers 588
11.2.1 Rationale 589
11.2.2 Applicability 590
11.2.3 Synchronization 592
11.2.4 Some Examples 596
11.3 Antithetic Variates 604
11.4 Control Variates 610
11.5 Indirect Estimation 617
11.6 Conditioning 619
Problems 623
Chapter 12 Experimental Design and Optimization 629
12.1 Introduction 629
12.2 2k Factorial Designs 632
12.3 2k2p Fractional Factorial Designs 649
12.4 Response Surfaces and Metamodels 656
12.4.1 Introduction and Analysis of the Inventory Model 657
12.4.2 Analysis of the Predator-Prey Model 668
12.4.3 Space-Filling Designs and Kriging 671
12.5 Simulation-Based Optimization 679
12.5.1 Optimum-Seeking Methods 681
12.5.2 Optimum-Seeking Packages Interfaced with
Simulation Software 682
Problems 690
xii contents
Chapter 13 Agent-Based Simulation and System Dynamics 693
13.1 Introduction 693
13.2 Agent-Based Simulation 694
13.2.1 Detailed Examples 699
13.2.2 Time-Advance Mechanisms for ABS 704
13.2.3 Summary of ABS 707
13.3 Continuous Simulation 707
13.3.1 System Dynamics 708
13.4 Combined Discrete-Continuous Simulation 713
13.5 Monte Carlo Simulation 714
13.6 Spreadsheet Simulation 717
Problems 719
Chapter 14 Simulation of Manufacturing Systems website chapter
Appendix 721
References 725
Index
|