Simulation Modeling and Arena
Preface
Book Support Files
Acknowledgments
Usage of Arena
Intended Audience
Organization of the Book
Course Syllabus Suggestion
About the Author
1
Simulation Modeling
1.1
Simulation Modeling
1.2
Why Simulate?
1.3
Types of Systems and Simulation Models
1.4
Simulation: Descriptive or Prescriptive Modeling?
1.5
Randomness in Simulation
1.6
Simulation Languages
1.7
Simulation Methodology
1.8
Organization of the Book
1.9
Exercises
2
Introduction to Simulation and Arena
2.1
The Arena Environment
2.2
Performing Simple Monte-Carlo Simulations using Arena
2.2.1
Simple Monte Carlo Integration
2.2.2
Arena Modules Needed for Static Simulation Examples
2.2.3
Area Estimation via Arena
2.2.4
The News Vendor Problem
2.3
How the Discrete-Event Clock Works
2.4
Simulating a Queueing System By Hand
2.5
Elements of Process-Oriented Simulation
2.5.1
Entities, Attributes, and Variables
2.5.2
Creating and Disposing of Entities
2.5.3
Defining Variables and Attributes
2.6
Modeling a Simple Discrete-Event Dynamic System
2.6.1
A Drive through Pharmacy
2.6.2
Modeling the System
2.6.3
Pharmacy Model Implementation
2.6.4
Specify the Arrival Process
2.6.5
Specifying the Resources
2.6.6
Specify the Process
2.6.7
Specify Run Parameters
2.6.8
Analyze the Results
2.7
Extending the Drive Through Pharmacy Model
2.8
Animating the Drive Through Pharmacy Model
2.9
Attributes, Variables, and Some I/O
2.9.1
Modifying the Pharmacy Model
2.9.2
Using the ASSIGN Module
2.9.3
Using the READWRITE Module
2.9.4
Using the RECORD Module
2.9.5
Animating a Variable
2.9.6
Running the Model
2.10
How Arena Manages Entities and Events
2.11
Summary
2.12
Exercises
3
Statistical Analysis for Finite Horizon Simulation Models
3.1
Finite versus Infinite Horizon Simulation Studies
3.2
Types of Statistical Quantities in Simulation
3.2.1
Within Replication Observations
3.2.2
Across Replication Observations
3.3
Review of Statistical Concepts
3.3.1
Point Estimates and Confidence Intervals
3.3.2
Sample Size Determination
3.3.3
Determining the Sample Size for an Arena Simulation
3.4
Modeling a STEM Career Mixer
3.4.1
Conceptualizing the System
3.4.2
Implementing the Model
3.4.3
Planning the Sample Size
3.5
Using Sequential Sampling Methods on a Finite Horizon Simulation
3.6
Tabulating Frequencies using the STATISTIC Module
3.7
Summary
3.8
Exercises
4
Modeling Systems with Processes and Basic Entity Flow
4.1
Enhancing the STEM Career Mixer Example
4.1.1
Turning Off a CREATE Module
4.1.2
Modeling Walking Time
4.1.3
Using Expressions within an Arena Model
4.1.4
Introducing the STATION, ROUTE, STORAGE, and SET Modules
4.1.5
Controlling Randomness by Specifying Stream Numbers
4.1.6
Pseudo-code for the Revised STEM Mixer Example
4.1.7
Implementing the Revised STEM Mixer Model in Arena
4.2
Example: Iterative Looping, Expressions, and Sub-models
4.3
Batching and Separating Entities
4.3.1
Conceptualizing the Model
4.3.2
Building the Model
4.4
Statistical Issues When Comparing Two Systems
4.4.1
Analyzing Two Independent Samples
4.4.2
Analyzing Two Dependent Samples
4.5
The LOTR Makers, Inc. Example
4.5.1
Conceptualizing the Model
4.5.2
Implementing the Model
4.5.3
Running the Model
4.6
Comparing Two Alternative Configurations for the LOTR Makers
4.6.1
Resource Sets
4.7
Modeling Systems with Routing Sequences
4.7.1
Computer Test and Repair Shop Example
4.7.2
Conceptualizing the Model
4.7.3
STATION, ROUTE, and SEQUENCE Modules
4.7.4
Running the Test and Repair Model
4.8
Summary
4.9
Exercises
5
Statistical Analysis for Infinite Horizon Simulation Models
5.1
A Spreadsheet Example
5.2
Statistical Analysis Techniques for Warmup Detection
5.2.1
Assessing the Effect of Initial Conditions
5.2.2
Using a Welch Plot to Detect the Warmup Period
5.3
Performing the Method of Replication-Deletion
5.3.1
Looking for the Warm up Period in the Welch Plot Analyzer
5.4
The Batch Means Method
5.4.1
Performing the Method of Batch Means
5.5
Applying Queueing Theory Results to Verify and Validate a Simulation
5.5.1
Analyzing the Preparation Station
5.5.2
Analyzing the Build Lines
5.5.3
Analyzing the Packaging Station
5.5.4
Analyzing the Palletizing Station
5.5.5
Analyzing the Total System Time
5.5.6
Other Issues for Verification and Validation
5.6
Summary
5.7
Exercises
6
Modeling Systems with Advanced Process Concepts
6.1
Non-stationary Processes
6.1.1
Thinning Method
6.1.2
Rate Inversion Method
6.2
Advanced Resource Modeling
6.2.1
Scheduled Capacity Changes
6.2.2
Calculating Utilization
6.2.3
Resource Failure Modeling
6.3
Job Fair Example with Non-Stationary Arrivals
6.3.1
Collecting Statistics by Time Periods
6.3.2
Modeling the Statistical Collection
6.3.3
Implementing the Model in Arena
6.4
Modeling Balking and Reneging
6.5
Holding and Signaling Entities
6.5.1
Redoing the M/M/1 Model with HOLD/SIGNAL
6.5.2
Using Wait and Signal to Release Entities
6.5.3
Modeling a Reorder Point, Reorder Quantity Inventory Policy
6.6
Miscellaneous Modeling Concepts
6.6.1
Picking Between Stations
6.6.2
Generic Station Modeling
6.6.3
Picking up and Dropping Off Entities
6.7
Summary
6.8
Exercises
7
Modeling Systems with Entity Movement and Material Handling Constructs
7.1
Resource Constrained Transfer
7.1.1
Implementing Resource Constrained Transfer
7.1.2
Animating Resource Constrained Transfer
7.2
Constrained Transfer with Transporters
7.2.1
Test and Repair Shop with Workers as Transporters
7.2.2
Animating Transporters
7.3
Modeling Systems with Conveyors
7.3.1
Test and Repair Shop with Conveyors
7.3.2
Animating Conveyors
7.3.3
Miscellaneous Issues in Conveyor Modeling
7.4
Modeling Guided Path Transporters
7.5
Summary
7.6
Exercises
8
Applications of Simulation Modeling
8.1
Analyzing Multiple Systems
8.1.1
Sensitivity Analysis Using the Process Analyzer
8.1.2
Multiple Comparisons with the Best
8.2
SM Testing Contest Problem Description
8.3
Answering the Basic Modeling Questions
8.4
Detailed Modeling
8.4.1
Conveyor and Station Modeling
8.4.2
Modeling Samples and the Test Cells
8.4.3
Modeling Sample Holders and the Load/Unload Area
8.4.4
Performance Measure Modeling
8.5
Simulation Horizon and Run Parameters
8.6
Preliminary Experimental Analysis
8.7
Final Experimental Analysis and Results
8.7.1
Using the Process Analyzer on the Problem
8.7.2
Using OptQuest on the Problem
8.7.3
Investigating the New Logic Alternative
8.7.4
Sensitivity Analysis
8.8
Completing the Project
8.9
Some Final Thoughts
8.10
Exercises
Appendix
A
Generating Pseudo-Random Numbers and Random Variates
A.1
Pseudo Random Numbers
A.1.1
Random Number Generators
A.2
Generating Random Variates from Distributions
A.2.1
Inverse Transform Method
A.2.2
Convolution
A.2.3
Acceptance/Rejection
A.2.4
Mixture Distributions, Truncated Distributions, and Shifted Random Variables
A.3
Summary
A.4
Exercises
B
Probability Distribution Modeling
B.1
Random Variables and Probability Distributions
B.2
Modeling with Discrete Distributions
B.3
Fitting Discrete Distributions
B.3.1
Fitting a Poisson Distribution
B.3.2
Visualizing the Data
B.3.3
Estimating the Rate Parameter for the Poisson Distribution
B.3.4
Chi-Squared Goodness of Fit Test for Poisson Distribution
B.3.5
Chi-Squared Goodness of Fit Test
B.3.6
Using the fitdistrplus R Package on Discrete Data
B.3.7
Fitting a Discrete Empirical Distribution
B.4
Modeling with Continuous Distributions
B.5
Fitting Continuous Distributions
B.5.1
Visualizing the Data
B.5.2
Statistically Summarize the Data
B.5.3
Hypothesizing and Testing a Distribution
B.5.4
Kolmogorov-Smirnov Test
B.5.5
Visualizing the Fit
B.5.6
Using the Input Analyzer
B.6
Testing Uniform (0,1) Pseudo-Random Numbers
B.6.1
Chi-Squared Goodness of Fit Tests for Pseudo-Random Numbers
B.6.2
Higher Dimensional Chi-Squared Test
B.6.3
Kolmogorov-Smirnov Test for Pseudo-Random Numbers
B.6.4
Testing for Independence and Patterns in Pseudo-Random Numbers
B.7
Additional Distribution Modeling Concepts
B.8
Summary
B.9
Exercises
C
Queueing Theory
C.1
Single Line Queueing Stations
C.1.1
Queueing Notation
C.1.2
Little’s Formula
C.1.3
Deriving Formulas for Markovian Single Queue Systems
C.2
Examples and Applications of Queueing Analysis
C.2.1
Infinite Queue Examples
C.2.2
Finite Queue Examples
C.3
Non-Markovian Queues and Approximations
C.4
Summary of Queueing Formulas
C.4.1
M/M/1 Queue
C.4.2
M/M/c Queue
C.4.3
M/M/c/k Queue
C.4.4
M/G/c/c Queue
C.4.5
M/M/1/k Queue
C.4.6
M/M/c/k Queue
C.4.7
M/M/1/k/k Queue
C.4.8
M/M/c/k/k Queue
C.5
Exercises
D
Miscellaneous Topics in Arena
D.1
Getting Help in Arena
D.2
SIMAN and the Run Controller
D.2.1
SIMAN MOD and EXP Files
D.2.2
Using the Run Controller
D.3
Programming Concepts within Arena
D.3.1
Using the Generated Access File
D.3.2
Working with Files, Excel, and Access
D.3.3
Using Visual Basic for Applications
D.4
Resource and Entity Costing
D.4.1
Resource Costing
D.4.2
Entity Costing
D.5
Summary
E
Arena Operators, Functions, Distributions, and Modules
E.1
Arena Mathematical and Logical Operators
E.2
Arena Probability Distributions Functions
E.3
Basic Process Panel Modules
E.4
Advanced Process Panel Modules
E.5
Advanced Transfer Panel Modules
E.6
Important SIMAN Blocks, Elements, and Pre-Defined Attributes and Variables
F
Distributions
F.1
Discrete Distrbutions
F.2
Continuous Distrbutions
G
Statistical Tables
References
Published with bookdown
Simulation Modeling and Arena
E
Arena Operators, Functions, Distributions, and Modules