Discrete-Event Simulation A First Course
Discrete-Event Simulation A First Course
*Discrete-Event Simulation: Modeling, Programming, and Analysis by G. Fishman, 2001, pp. 26-27
*Simulation,
Modeling & Analysis (3/e) by Law and Kelton, 2000, p. 4, Figure 1.1
Introduction
What is discrete-event simulation?
Modeling, simulating, and analyzing systems Computational and mathematical techniques
Model: construct a conceptual framework that describes a system Simulate: perform experiments using computer implementation of the model Analyze: draw conclusions from output that assist in decision making process We will first focus on the model
Characterizing a Model
Deterministic or Stochastic
Does the model contain stochastic components? Randomness is easy to add to a DES
Static or Dynamic
Is time a significant variable?
Continuous or Discrete
Does the system state evolve continuously or only at discrete points in time? Continuous: classical mechanics Discrete: queuing, inventory, machine shop models
Definitions
Discrete-Event Simulation Model
Stochastic: some state variables are random Dynamic: time evolution is important Discrete-Event: significant changes occur at discrete time instances
Model Taxonomy
Specification
On paper May involve equations, pseudocode, etc. How will the model receive input?
Computational
A computer program General-purpose PL or simulation language?
Validation
Computational model should be consistent with the system being analyzed Did we build the right model? Can an expert distinguish simulation output from system output?
Service technician(s):
2-year contract at $52,000/yr Each works 230 8-hr days/yr
System Diagram
2) Conceptual Model:
State of each machine (failed, operational) State of each techie (busy, idle) Provides a high-level description of the system at any time
3) Specification Model:
What is known about time between failures? What is the distribution of the repair times? How will time evolution be simulated?
5) Verify:
Software engineering activity Usually done via extensive testing
6) Validate:
Is the computational model a good approximation of the actual machine shop? If operational, compare against the real thing Otherwise, use consistency checks
Observations
Make each model as simple as possible
Never simpler Do not ignore relevant characteristics Do not include extraneous characteristics
Simulation Studies
Algorithm 1.1.2 Using the resulting model:
7) Design simulation experiments
What parameters should be varied? Perhaps many combinatoric possibilities
9) Analyze Output
Observations are often correlated (not independent) Take care not to derive erroneous conclusions
Programming Languages
General-purpose programming languages
Flexible and familiar Well suited for learning DES principles and techniques E.g.: C, C++, Java
Terminology
Model vs. Simulation (noun)
Model can be used WRT conceptual, specification, or computational levels Simulation is rarely used to describe the conceptual or specification model Simulation is frequently used to refer to the computational model (program)
Looking Ahead
Begin by studying trace-driven single server queue Follow that with a trace-driven machine shop model