Overview of Systems Simulation

Introduction

Uses, Popularity of Simulation

One of the most popular, widely used of all scientific Techniques

Historical Roadblocks

Hard to write code for large, complicated models: Now have very good software—improving all the time

Requires too much computer time: Marginal cost of computing decreases all the time.

Many simulations (stochastic) don’t give exact “answers”—only estimates: True, but with one is able to increase the precision of the estimate.

Modeling

System: Physical facility or process, usually evolving through time it may or may not exist. Usually want to study its performance

Model: An abstraction/simplification of the system used as a proxy

Physical (iconic), Mathematical—quantitative and logical assumptions, Numerical and simulation.

Relative advantages of studying the model vs. system: May be impractical or impossible to perform experiments on the real system.

Methods of Studying a System

Types of Models

Useful dimensions of classification with regard to design/analysis: Dynamic vs. Static, Stochastic vs. Deterministic, Discrete vs. Continuous

Some examples:

Deterministic / Stochastic
No randomness
Inputs are exact, no uncertainty
One model needs only one run / Random inputs—uncertain
Inputs are from known distributions
One model needs more than one run
Static / No time element / Use fitted regression model for unobserved independent-variable combinations
Financial scenarios / “Monte Carlo” simulation
Estimate an intractable integral
Get empirical distribution of a new test statistic for some null hypothesis
Dynamic / Passage of time is important part of model / Differential-equation models of population growth and decay
Deterministic forecasting over time
Dynamic macroeconomic models / Queueing models representing manufacturing, computer, or communications systems
Inventory models
Compute (exactly) desired output quantities / Can only estimate desired output quantities

Advantages and Disadvantages of Simulation

Compared to experimenting with the actual system:

 Validity uncertainty with simulation (as with all models)

 Much more flexibility in simulation to try things out

 Can control the uncontrollable in simulation

 Can study the physically impossible or non-existent

Compared to exact analytical models:

 Don’t have to make as many simplifying assumptions—get more flexible models that can be more valid

 Don’t get simple formulas from which insight can be gained

 Don’t get exact answers—only estimates, maybe uncertain—calls for careful design and analysis of simulation experiments (our concern)

Steps in a Simulation Model

Simulation Modeling, Input, Output, and Experiments

Modeling

The modeling process: two distinct but related activities

Structural modeling

Physical/logical relationships among components

Topology/layout of machines

Possible routings for part flows

Feedback/failure loops

Closed vs. open structure in model of a computer system

Quantitative modeling

Specific numerical/distributional assumptions composing model

How many machines at each workcenter?

Probabilities for branch points on routing decisions?

Cycle times of part type 3 on a machine in group 5 are random variates drawn from what distribution? With what parameters?

Run model for one hour? One year? Until 5000 parts have been produced?

Building “good” simulation models:

Verification—Code (in whatever language or product) is correct

Validation—Model (as expressed in the verified code) faithfully mimics the system to study; can use model/code as surrogate for system to make decisions

Credibility—The valid model is accepted by decision makers; critical for implementation success

Elements of both structural and quantitative components can become variables (or factors) in the design of simulation experiments

Structural factors:

Try a different layout of machines

What if part-flow routings changed due to technology?

What if rework were just scrapped instead (no feedback loops)?

What if the computer system went from open (batch jobs) to closed (interactive)?

Quantitative factors:

What if we added a machine somewhere?

What if quality improvement changed pass/fail branching probabilities?

How effective would it be to reduce cycle times on the bottleneck work center?

How long will the model operate before becoming unduly congested?

“Machine” View of What a Simulation Does:

A Brief History

1733 / Buffon needle problem—estimate p
1920s, 1930s / Random-number schemes used by applied statisticians
Physical methods of generating random numbers (tables)
1940s / Manhattan project, used to estimate multiple integrals and solutions to systems of differential equations
Electronic random-number generators (more tables)
1950s / Early language development (GPSS, SIMSCRIPT)
Recognition of simulation for complex queueing models
First algorithmic random-number generators
1960s / Early work on probabilistic/statistical methodology
Recognition of need to do analysis of simulation results
Variance reduction for static simulations
Algorithms for variate and process generation
1970s / Advances in probabilistic/statistical methodology
Variance reduction for dynamic simulation
Use of stochastic processes for rigorous output analysis
Simulation languages widened, improved (GASP, SLAM)
1980s / Continued advances in rigorous output analysis
Initialization/termination methods
Adaptation of ranking/selection methods to dynamic simulation
Languages continue to improve (SIMAN)
Implementation on microcomputers
Current / Estimating derivatives and gradients of simulated response
Optimizing simulated systems
Refined, strengthened-output analysis methods
Hybrid analytical/simulation methods
Technology transfer of probabilistic/statistical methodology to practitioners, languages

4