Contents Chapter 1: 1.1 1.2 1.3 1.4 Chapter 2: 2.1 2.2 2.3 What Is Simulation? 1 Modeling 1.1.1 What's Being Modeled? 1.1.2 How About Just Playing with the System? 1.1.3 Sometimes You Can't (or Shouldn't) Play with the System 1.1.4 Physical Models 1.1.5 Logical (or Mathematical) Models 1.1.6 What Do You Do with a Logical Model? Computer Simulation 1.2.1 Popularity and Advantages 1.2.2 The Bad News 1.2.3 Different Kinds of Simulations How Simulations Get Done 1.3.1 By Hand 1.3.2 Programming in General-Purpose Languages 1.3.3 Simulation Languages 1.3.4 High-Level Simulators 1.3.5 Where Arena Fits In When Simulations Are Used 1.4.1 The Early Years 1.4.2 The Formative Years 1.4.3 The Recent Past 1.4.4 The Present 1.4.5 The Future 1 2 3 3 4 4 4 5 5 6 7 8 8 9 10 10 10 12 12 12 13 13 13 Fundamental Simulation Concepts 15 An Example 2.1.1 The System 2.1.2 Goals of the Study Analysis Options 2.2.1 Educated Guessing 2.2.2 Queueing Theory 2.2.3 Mechanistic Simulation Pieces of a Simulation Model 2.3.1 Entities 2.3.2 Attributes 2.3.3 (Global) Variables 2.3.4 Resources 2.3.5 Queues 15 15 17 18 18 19 20 20 20 21 21 22 22 2.4 2.5 2.6 2.7 2.8 2.9 Chapter 3: 3.1 3.2 3.3 2.3.6 Statistical Accumulators 2.3.7 Events 2.3.8 Simulation Clock 2.3.9 Starting and Stopping Event-Driven Hand Simulation 2.4.1 Outline of the Action 2.4.2 Keeping Track of Things 2.4.3 Carrying It Out 2.4.4 Finishing Up Event- and Process-Oriented Simulation Randomness in Simulation 2.6.1 Random Input, Random Output 2.6.2 Replicating the Example 2.6.3 Comparing Alternatives Simulating with Spreadsheets 2.7.1 A Newsvendor Problem 2.7.2 A Single-Server Queue 2.7.3 Extensions and Limitations Overview of a Simulation Study Exercises A Guided Tour Through Arena Starting Up Exploring the Arena Window 3.2.1 Opening a Model 3.2.2 Basic Interaction and Pieces of the Arena Window 3.2.3 Panning, Zooming, Viewing, and Aligning in the Flowchart View 3.2.4 Modules 3.2.5 Internal Model Documentation Browsing Through an Existing Model: Model 3-1 3.3.1 The Create Flowchart Module 3.3.2 The Entity Data Module 3.3.3 The Process Flowchart Module 3.3.4 The Resource Data Module 3.3.5 The Queue Data Module 3.3.6 Animating Resources and Queues 3.3.7 The Dispose Flowchart Module 3.3.8 Connecting Flowchart Modules 3.3.9 Dynamic Plots 3.3.10 Dressing Things Up 3.3.11 Setting the Run Conditions 3.3.12 Running It 3.3.13 Viewing the Reports 23 23 24 24 25 25 26 28 32 32 34 34 35 36 38 38 43 47 47 48 53 53 55 55 56 58 60 61 62 62 63 64 66 67 67 68 68 69 71 72 73 74 3.4 3.5 3.6 3.7 3.8 3.9 3.10 Chapter 4: 4.1 4.2 4.3 Building Model 3-1 Yourself 3.4.1 New Model Window and Basic Process Panel 3.4.2 Place and Connect the Flowchart Modules 3.4.3 The Create Flowchart Module 3.4.4 Displays 3.4.5 The Entity Data Module 3.4.6 The Process Flowchart Module 3.4.7 The Resource and Queue Data Modules 3.4.8 Resource Animation 3.4.9 The Dispose Flowchart Module 3.4.10 Dynamic Plots 3.4.11 Window Dressing 3.4.12 The Run > Setup Dialog Boxes 3.4.13 Establishing Named Views Case Study: Specialized Serial Processing vs. Generalized Parallel Processing 3.5.1 Model 3-2: Serial Processing - Specialized Separated Work 3.5.2 Model 3-3: Parallel Processing - Generalized Integrated Work 3.5.3 Models 3-4 and 3-5: The Effect of Task-Time Variability More on Menus, Toolbars, Drawing, and Printing 3.6.1 Menus 3.6.2 Toolbars 3.6.3 Drawing 3.6.4 Printing Help! More on Running Models Summary and Forecast Exercises Modeling Basic Operations and Inputs Model 4-1: An Electronic Assembly and Test System 4.1.1 Developing a Modeling Approach 4.1.2 Building the Model 4.1.3 Running the Model 4.1.4 Viewing the Results Model 4-2: The Enhanced Electronic Assembly and Test System 4.2.1 Expanding Resource Representation: Schedules and States 4.2.2 Resource Schedules 4.2.3 Resource Failures 4.2.4 Frequencies 4.2.5 Results of Model 4-2 Model 4-3: Enhancing the Animation 4.3.1 Changing Animation Queues 4.3.2 Changing Entity Pictures 79 80 81 81 82 83 83 84 84 85 85 88 89 89 89 90 92 95 97 97 102 105 107 107 108 109 110 115 115 116 117 128 130 132 133 134 138 140 143 147 148 150 4.4 4.5 4.6 4.7 4.8 Chapter 5: 5.1 5.2 5.3 5.4 5.5 5.6 5.7 4.3.3 Adding Resource Pictures 4.3.4 Adding Variables and Plots Model 4-4: The Electronic Assembly and Test System with Part Transfers 4.4.1 Some New Arena Concepts: Stations and Transfers 4.4.2 Adding the Route Logic 4.4.3 Altering the Animation Finding and Fixing Errors Input Analysis: Specifying Model Parameters and Distributions 4.6.1 Deterministic vs. Random Inputs 4.6.2 Collecting Data 4.6.3 Using Data 4.6.4 Fitting Input Distributions via the Input Analyzer 4.6.5 No Data? 4.6.6 Nonstationary Arrival Processes 4.6.7 Multivariate and Correlated Input Data Summary and Forecast Exercises Modeling Detailed Operations Model 5-1: A Simple Call Center System New Modeling Issues 5.2.1 Customer Rejections and Balking 5.2.2 Three-Way Decisions 5.2.3 Variables and Expressions 5.2.4 Storages 5.2.5 Terminating or Steady-State Modeling Approach Building the Model 5.4.1 Create Arrivals and Direct to Service 5.4.2 Arrival Cutoff Logic 5.4.3 Technical Support Calls 5.4.4 Sales Calls 5.4.5 Order-Status Calls 5.4.6 System Exit and Run Setup 5.4.7 Animation Model 5-2: The Enhanced Call Center System 5.5.1 The New Problem Description 5.5.2 New Concepts 5.5.3 Defining the Data 5.5.4 Modifying the Model Model 5-3: The Enhanced Call Center with More Output Performance Measures Model 5-4: An (s, S) Inventory Simulation 5.7.1 System Description 5.7.2 Simulation Model 152 154 156 156 158 161 164 172 173 174 175 176 183 186 187 187 188 195 196 197 197 198 198 199 199 200 202 202 208 210 213 214 220 222 225 225 227 229 233 238 244 244 246 5.8 5.9 Chapter 6: 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 Chapter 7: 7.1 7.2 7.3 7.4 Chapter 8: 8.1 8.2 8.3 8.4 Summary and Forecast Exercises Statistical Analysis of Output from Terminating Simulations Time Frame of Simulations Strategy for Data Collection and Analysis Confidence Intervals for Terminating Systems Comparing Two Scenarios Evaluating Many Scenarios with the Process Analyzer (PAN) Searching for an Optimal Scenario with OptQuest Summary and Forecast Exercises Intermediate Modeling and Steady-State Statistical Analysis Model 7-1: A Small Manufacturing System 7.1.1 New Arena Concepts 7.1.2 The Modeling Approach 7.1.3 The Data Modules 7.1.4 The Logic Modules 7.1.5 Animation 7.1.6 Verification Statistical Analysis of Output from Steady-State Simulations 7.2.1 Warm-Up and Run Length 7.2.2 Truncated Replications 7.2.3 Batching in a Single Run 7.2.4 What To Do? 7.2.5 Other Methods and Goals for Steady-State Statistical Analysis Summary and Forecast Exercises Entity Transfer Types of Entity Transfers Model 8-1: The Small Manufacturing System with Resource-Constrained Transfers The Small Manufacturing System with Transporters 8.3.1 Model 8-2: The Modified Model 8-1 for Transporters 8.3.2 Model 8-3: Refining the Animation for Transporters Conveyors 8.4.1 Model 8-4: The Small Manufacturing System with Nonaccumulating Conveyors 8.4.2 Model 8-5: The Small Manufacturing System with Accumulating Conveyors 258 258 265 266 266 268 273 277 282 287 288 293 293 294 296 297 299 306 308 312 312 316 317 320 321 321 321 327 327 329 333 334 341 347 350 355 8.5 8.6 Chapter 9: 9.1 9.2 9.3 9.4 9.5 9.6 9.7 Summary and Forecast Exercises A Sampler of Further Modeling Issues and Techniques Modeling Conveyors Using the Advanced Transfer Panel 9.1.1 Model 9-1: Finite Buffers at Stations 9.1.2 Model 9-2: Parts Stay on Conveyor During Processing More on Transporters Entity Reneging 9.3.1 Entity Balking and Reneging 9.3.2 Model 9-3: A Service Model with Balking and Reneging Holding and Batching Entities 9.4.1 Modeling Options 9.4.2 Model 9-4: A Batching Process Example Overlapping Resources 9.5.1 System Description 9.5.2 Model 9-5: A Tightly Coupled Production System 9.5.3 Model 9-6: Adding Part-Status Statistics A Few Miscellaneous Modeling Issues 9.6.1 Guided Transporters 9.6.2 Parallel Queues 9.6.3 Decision Logic Exercises Chapter 10: Arena Integration and Customization 10.1 10.2 10.3 10.4 Model 10-1: Reading and Writing Data Files 10.1.1 Model 10-2: Reading Entity Arrivals from a Text File 10.1.2 Model 10-3 and Model 10-4: Reading and Writing Access and Excel Files 10.1.3 Advanced Reading and Writing VBA in Arena 10.2.1 Overview of ActiveX Automation and VBA 10.2.2 Built-in Arena VBA Events 10.2.3 Arena's Object Model 10.2.4 Arena's Macro Recorder Model 10-5: Presenting Arrival Choices to the User 10.3.1 Modifying the Creation Logic 10.3.2 Designing the VBA UserForm 10.3.3 Displaying the Form and Setting Model Data Model 10-6: Recording and Charting Model Results in Microsoft Excel 10.4.1 Setting Up Excel at the Beginning of the Run 10.4.2 Storing Individual Call Data Using the VBA Module 10.4.3 Charting the Results and Cleaning Up at the End of the Run 356 356 359 359 360 364 365 366 366 367 375 375 376 382 382 384 390 393 394 394 395 396 403 403 405 409 416 420 420 422 425 428 431 432 434 435 442 443 446 448 10.5 10.6 10.7 10.8 Creating Modules Using the Arena Professional Edition: Template 10-1 10.5.1 The Create from File Module 10.5.2 The Template Source File: Template 10-01.tpl 10.5.3 The Panel Icon and User View 10.5.4 The Module Logic and Operands 10.5.5 Uses of Templates Real-time Integration Summary and Forecast Exercises Chapter 11: Continuous and Combined Discrete/Continuous Models 11.1 11.2 11.3 11.4 11.5 Modeling Simple Discrete/Continuous Systems 11.1.1 Model 11-1: A Simple Continuous System 11.1.2 Model 11-2: Interfacing Continuous and Discrete Logic A Coal-Loading Operation 11.2.1 System Description 11.2.2 Modeling Approach 11.2.3 Model 11-3: Coal Loading with Continuous Approach 11.2.4 Model 11-4: Coal Loading with Flow Process Continuous State-Change Systems 11.3.1 Model 11-5: A Soaking-Pit Furnace 11.3.2 Modeling Continuously Changing Rates 11.3.3 Arena's Approach for Solving Differential Equations 11.3.4 Building the Model 11.3.5 Defining the Differential Equations Using VBA Summary and Forecast Exercises Chapter 12: Further Statistical Issues 12.1 12.2 12.3 12.4 12.5 12.6 12.7 Random-Number Generation Generating Random Variates 12.2.1 Discrete 12.2.2 Continuous Nonstationary Poisson Processes Variance Reduction 12.4.1 Common Random Numbers 12.4.2 Other Methods Sequential Sampling 12.5.1 Terminating Models 12.5.2 Steady-State Models Designing and Executing Simulation Experiments Exercises 449 450 451 451 452 456 457 462 462 465 466 466 469 473 474 475 477 487 491 491 492 493 494 498 500 501 505 505 511 511 513 515 516 517 523 524 525 529 531 532 Chapter 13: Conducting Simulation Studies 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 A Successful Simulation Study Problem Formulation Solution Methodology System and Simulation Specification Model Formulation and Construction Verification and Validation Experimentation and Analysis Presenting and Preserving the Results Disseminating the Model Appendix A: A Functional Specification for The Washington Post A.l A.2 A.3 A.4 A.5 A.6 Introduction A.l.l Document Organization A.l.2 Simulation Objectives A.l.3 Purpose of the Functional Specification A. 1.4 Use of the Model A.l.5 Hardware and Software Requirements System Description and Modeling Approach A.2.1 Model Timeline A.2.2 Presses A.2.3 Product Types A.2.4 Press Packaging Lines A.2.5 Tray System A.2.6 Truck Arrivals A.2.7 Docks A.2.8 Palletizers A.2.9 Manual Insertion Process Animation Summary of Input and Output A.4.1 Model Input A.4.2 Model Output Project Deliverables A.5.1 Simulation Model Documentation A.5.2 User's Manual A.5.3 Model Validation A.5.4 Animation Acceptance Appendix B: IIE/RA Contest Problems 535 535 538 539 540 544 546 549 550 551 553 553 553 553 554 554 555 555 555 555 557 557 557 558 559 559 560 561 561 561 562 564 564 564 564 564 564 567 Appendix C: A Refresher on Probability and Statistics C.l C.2 C.3 C.4 C.5 C.6 C.7 Probability Basics Random Variables C.2.1 Basics C.2.2 Discrete C.2.3 Continuous C.2.4 Joint Distributions, Covariance, Correlation, and Independence Sampling and Sampling Distributions Point Estimation Confidence Intervals , Hypothesis Tests Exercises 569 569 571 571 572 574 576 579 581 581 583 585 Appendix D: Arena's Probability Distributions 587 Arena's Probability Distributions Beta Continuous Discrete Erlang Exponential Gamma Johnson Lognormal Normal Poisson Triangular Uniform Weibull 587 589 590 592 593 594 595 596 597 598 599 600 601 602 Appendix E: Academic Software Installation Instructions E.l E.2 E.3 Authorization to Copy Software Installing the Arena Software System Requirements 603 603 603 604 References 605 Index 609