Modeling Basic Operations and Inputs
Modeling Basic Operations and Inputs
Spreadsheet simulation
Decompose problem
Terminology
Simulation by hand
Some basic statistical issues
Simple static, dynamic models
The System:
A Simple Processing System
Machine
(Server)
Arriving
Blank Parts
Queue (FIFO)
Departing
Finished Parts
Part in Service
General intent:
Time units
Model Specifics
Arrival Time
0.00
1.73
3.08
3.79
4.41
18.69
19.39
34.91
38.06
39.82
40.82
.
.
Interarrival Time
1.73
1.35
0.71
0.62
14.28
0.70
15.52
3.15
1.76
1.00
.
.
.
Service Time
2.90
1.76
3.39
4.52
4.46
4.36
2.07
3.36
2.37
5.38
.
.
.
Goals of Study:
Output Performance Measures
Total production of parts over run (P)
Average waiting time of parts in queue:
N
WQi
i =1
Goals of Study:
Output Performance Measures (contd.)
Time-average number of parts in queue:
20
0 Q (t ) dt
TSi
i =1
max TSi
i =1,...,P
Goals of Study:
Output Performance Measures (contd.)
Utilization of machine (proportion of time busy)
20
B(t ) dt
20
1
if
machine
is
busy
at
time
t
, B(t ) = 0 if machine is idle at time t
Analysis Options
Educated guessing
Queueing theory
Mechanistic Simulation
Entities
Attributes
Time of arrival
Due date
Priority
Color
(Global) Variables
Resources
People
Equipment
Space
Queues
Statistical accumulators
Simulation Dynamics:
Event-Scheduling World View
Identify characteristic events
Decide on logic for each type of event to:
Take first part out of queue, compute & tally its waiting time in
queue, begin service (schedule departure event)
Simulation by Hand
Simulation by Hand:
Setup
System
Clock
Number of
completed waiting
times in queue
Total of
waiting times in queue
B(t)
Q(t)
Arrival times of
custs. in queue
Area under
Q(t)
Event calendar
Area under
B(t)
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 0.00, Initialize
System
Number of
completed waiting
times in queue
0
Clock
B(t)
Q(t)
0.00
Arrival times of
Event calendar
custs. in queue
[1, 0.00,
Arr]
<empty> [, 20.00,
End]
Total of
waiting times in queue
Area under
Q(t)
Area under
B(t)
0.00
0.00
0.00
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 0.00, Arrival of Part 1
System
1
Number of
completed waiting
times in queue
1
Clock
B(t)
Q(t)
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[2, 1.73,
Arr]
<empty> [1, 2.90,
Dep]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)
0.00
0.00
0.00
0.00
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 1.73, Arrival of Part 2
System
Number of
completed waiting
times in queue
1
Clock
B(t)
Q(t)
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[1, 2.90,
Dep]
(1.73) [3, 3.08,
Arr]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)
1.73
0.00
0.00
1.73
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 2.90, Departure of Part 1
System
2
Number of
completed waiting
times in queue
2
Clock
B(t)
Q(t)
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[3, 3.08,
Arr]
<empty> [2, 4.66,
Dep]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)
2.90
1.17
1.17
2.90
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 3.08, Arrival of Part 3
System
Number of
completed waiting
times in queue
2
Clock
B(t)
Q(t)
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[4, 3.79,
Arr]
(3.08) [2, 4.66,
Dep]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)
3.08
1.17
1.17
3.08
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 3.79, Arrival of Part 4
System
Number of
completed waiting
times in queue
2
Clock
B(t)
Q(t)
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[5, 4.41,
Arr]
(3.79, 3.08) [2, 4.66,
Dep]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)
3.79
1.17
1.88
3.79
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 4.41, Arrival of Part 5
System
Number of
completed waiting
times in queue
2
Clock
B(t)
Q(t)
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[2, 4.66,
Dep]
(4.41, 3.79, 3.08) [6, 18.69,
Arr]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)
4.41
1.17
3.12
4.41
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 4.66, Departure of Part 2
System
Number of
completed waiting
times in queue
3
Clock
B(t)
Q(t)
4.66
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[3, 8.05,
Dep]
(4.41, 3.79) [6, 18.69,
Arr]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)
2.75
3.87
4.66
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 8.05, Departure of Part 3
System
Number of
completed waiting
times in queue
4
Clock
B(t)
Q(t)
8.05
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[4, 12.57,
Dep]
(4.41) [6, 18.69,
Arr]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)
7.01
10.65
8.05
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 12.57, Departure of Part 4
System
5
Number of
completed waiting
times in queue
5
Clock
B(t)
Q(t)
12.57
Arrival times of
custs. in queue
Total of
waiting times in queue
Area under
Q(t)
15.17
15.17
Event calendar
[5, 17.03,
Dep]
() [6, 18.69,
Arr]
[, 20.00,
End]
Area under
B(t)
12.57
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 17.03, Departure of Part 5
System
Number of
completed waiting
times in queue
5
Clock
B(t)
Q(t)
17.03
Arrival times of
custs. in queue
()
Event calendar
[6, 18.69,
Arr]
[, 20.00,
End]
Total of
waiting times in queue
Area under
Q(t)
Area under
B(t)
15.17
15.17
17.03
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 18.69, Arrival of Part 6
System
6
Number of
completed waiting
times in queue
6
Clock
B(t)
Q(t)
18.69
Arrival times of
custs. in queue
()
Total of
waiting times in queue
Area under
Q(t)
Event calendar
[7, 19.39,
Arr]
[, 20.00,
End]
[6, 23.05,
Dep]
Area under
B(t)
15.17
15.17
17.03
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 19.39, Arrival of Part 7
System
Number of
completed waiting
times in queue
6
Clock
B(t)
Q(t)
Total of
waiting times in queue
Arrival times of
Event calendar
custs. in queue
[, 20.00,
End]
(19.39) [6, 23.05,
Dep]
[8, 34.91,
Arr]
Area under
Area under
Q(t)
B(t)
19.39
15.17
15.17
17.73
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
t = 20.00, The End
System
Number of
completed waiting
times in queue
6
Clock
B(t)
Q(t)
20.00
Arrival times of
Event calendar
custs. in queue
[6, 23.05,
Dep]
(19.39) [8, 34.91,
Arr]
Total of
waiting times in queue
Area under
Q(t)
Area under
B(t)
15.17
15.78
18.34
Q(t) graph
3
2
1
0
B(t) graph
10
15
20
10
15
20
2
1
0
Interarrival times
Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...
Service times
2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...
Simulation by Hand:
Finishing Up
Average waiting time in queue:
Total of times in queue 15.17
=
= 2.53 minutes per part
No. of times in queue
6
List processing
Random-number generation
Random-variate generation
Statistics collection
Event-list and clock management
Summary and output
Simulation Dynamics:
Process-Interaction World View
Identify characteristic entities in system
Multiple copies of entities co-exist, interact,
compete
Code is non-procedural
Tell a story about what happens to a typical
entity
May have many types of entities, fake entities
for things like machine breakdowns
Usually requires special simulation software
Randomness in Simulation
Substantial variability
across replications
In general, X tn 1,1 / 2s / n
(normality assumption?)
For expected total production, 3.80 (2.776)(1.64 / 5 )
3.80 2.04 Precision?
Comparing Alternatives
Two examples
Scrap revenue
Cost
-1
U(0, 1)
random number
X ~ normal (, )
$ pins down following
column or row when
copying formula
Round to
nearest
integer
MAX 2nd
argument
Results
Ai = (1/) ln(1 U)
Si = a + (b a) U
Understand system
Be clear about goals
Formulate model representation
Translate into modeling software
Verify program
Validate model
Design experiments
Make runs
Analyze, get insight, document results
More: Chapter 13
Start Arena
Load, explore, run an existing model
Behavior of Arena
Starting Up
Or, Start > All Programs > Rockwell Software > Arena > Arena
Licensed Mode vs. Training/Evaluation Mode (STUDENT)
button
Flowchart view
Spreadsheet view
Graphics
Process flowchart
Animation, drawing
Edit things by double-clicking on them, get into a dialog
Displays model data directly
Can edit, add, delete data in spreadsheet view
Displays all similar kinds of modeling elements at once
Project Bar
Status Bar
Display grid (
), snap to grid (
) toggles
Rulers, alignment, guides, glue see text
Modules
Only one instance of each kind of data module in model, but it can
have many entries (rows) in spreadsheet view
Can edit via dialog double-click on number in leftmost column
Flowchart Modules
Data Modules
Animation objects
Resource animation
Two plots
Some (passive) labels, art work
module type
See all instances of a module type at once
Resource
Queue
Entity delay time (processing)
Action
Dynamic Plots
Plot button
Dressing Things Up
Number of Replications
Initialization options Between Replications
Start Date/Time to associate with start of simulation
Warm-up Period (when statistics are cleared)
Replication Length (and Time Units)
Hours per Day (convenience for 16-hour days, etc.)
Base Time Units (output measures, internal computations, units
where not specified in dialog, e.g. Plot X Axis time units)
Terminating Condition (complex stopping rules)
Tabs for run speed, run control, reports, array sizes, visuals
Terminating your simulation:
You must specify part of modeling
Arena has no default termination
If you dont specify termination, Arena will usually keep running forever
Running It
Viewing Reports
Drill Press:
Avg. wait time in all queues was 3.0340 min. (counts only
entities that left the system, but Queue Time Waiting
Time Drilling Center.Queue counts all entities that left
this queue, so these results can differ)
Entity Other Wip Part:
Average Work in Process was 1.7060, max WIP was 4
Build It Yourself
Case Study:
Compare Model 3-2 vs. 3-3
Case Study:
Effect of Task-Time Variability
Is parallel always better than serial under any
conditions?
See text
Case Study:
Effect of Task-Time Variability (contd.)
Model-file management
Template attach/detach
DXF import (from CAD packages), Visio import
Color palettes
Printing
Send (e-mail) open model file
Recent models
Exit from Arena
Edit Menu
Undo/Redo
Cut/Copy/Paste
Paste Link (create OLE link)
Duplicate, Delete selection
Select/Deselect All
Entity Pictures change content, definition of
pictures presented in Entity data module
Find searches all modules, animation objects
for a text string useful for finding wrong
names, typos after an error message from Arena
View Menu
Tools Menu
Also Output Analyzer not on menus ... start from Start menu
Arrange Menu
Object Menu
Run Menu
Window Menu
Help Menu
More on Toolbars
More on Drawing
Printing
Help!
Help! (contd.)
Online Help
http://www.rockwellautomation.com/support
Run > Go
run simulation normally
(depends on selections from Run > Run Control
and Tools > Options > Run Control)
Run > Step
one step at a time (verify,
debug)
Run > Fast-Forward
disable animation
(faster)
Run > Pause
(or Esc key) freeze run, resume
with Go
Run > Start Over
go back to beginning of
simulation
Modeling approaches
New Arena modules (Decide, Record)
Resource Schedules, States, and Failures
Frequency outputs
More on utilizations
Part A
Go immediately to Sealer
Part B
Go to Sealer
Resource utilization
Number in queue
Time in queue
Building Model
Create ( 2)
Assign ( 2)
Process ( 4)
Decide ( 2)
Record ( 3)
Dispose ( 3)
Alternate strategy
place one module at a
time, fill it out completely
Value: 5
Units: Minutes
Value: 30
Units: Minutes
Type: Attribute
Attribute Name: Sealer Time
New Value: TRIA(1, 3, 4)
Add button:
Type: Attribute
Attribute Name: Arrive Time
New Value: TNOW (to compute time in system on exit)
TNOW is internal Arena variable name for simulation clock; see
Help > Arena Help > Contents > Variables, Functions, and Distributions > Variables >
Date and Time Variables
Type: Attribute
Attribute Name: Sealer Time
New Value: WEIB(2.5, 5.3)
Add button:
Type: Attribute
Attribute Name: Arrive Time
New Value: TNOW
Names for things in Arena
Default names usually suggested
Names placed on appropriate pull-down lists for future reference
All names in a model must be unique (even across different kinds of objects)
If several Resources
were named (Add
button), entity would
have to Seize them all
before Delay could start.
Record Modules
Dispose Modules
Not needed for what we want (we installed our own Record
modules), and would slow execution
Running Model
Check
Animation speed
Go
(if desired)
Run > Run Control > Batch Run (No Animation) is fastest
Viewing Results
What you get depends on Run > Setup > Project Parameters
Run Conditions
Schedules
Schedules (contd.)
Schedules (contd.)
Resource Failures
Frequencies
Frequencies (contd.)
Double-click on queue
Select Type to be Point
Click Points button
Successively click Add for points, then OK
Drag them around on screen
Check Rotate box to show entities turning
New name wont appear in Entity data module until you type it there
Variable object
from Animate toolbar
Double-click, specify Expression to be shown (Expression
Builder), and cosmetics
Resize, reposition later
Route button
Quantitative modeling
Collecting Data
Using Data:
Alternatives and Issues
Use data directly in simulation
Fit Menu
Need to edit end of expression slightly by adding an extra pair at the end still
inside the parentheses, , 1.000, xmax where xmax is the largest value
you ever want to generate
No Data?
Interview experts
Two issues: