general simulation principles
DESCRIPTION
General Simulation Principles. Refer to Chapter 3 Very Important Chapter Section 3.1 Memorize all basic definitions & be able to discuss thoroughly Also includes additional material not in book. Discrete Event Systems. Discrete systems – focus of course Framework for modeling systems - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/1.jpg)
1
General Simulation Principles
Refer to Chapter 3 Very Important Chapter Section 3.1
Memorize all basic definitions & be able to discuss thoroughly
Also includes additional material not in book
![Page 2: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/2.jpg)
Discrete Event Systems
Discrete systems – focus of course Framework for modeling systems General Terminology General Purpose Languages vs.
Simulation Packages Dynamic (over time) Stochastic (randomness)
2
![Page 3: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/3.jpg)
3
*Terminology (pg. 89)
System Model System State Entity Attributes List
Event Event notice Event list (FEL) Activity Delay Clock
![Page 4: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/4.jpg)
Terminology
System
Collection of one or more entities interacting together over time to accomplish some goal or goals School Airport Gas Station Human Body
ModelAbstract representation of
a system, in form other than the system itself Includes relationships
that describe system (state, entities, activities, events, processes, delays, etc.)
Mathematical, physical, computer program, etc.
4
![Page 5: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/5.jpg)
Terminology
System StateCollection of variables
necessary to fully describe the system at a point in time Number-in-queue Number-of-servers Status-of-servers
EntityObject or component of
system that requires representation in the model; an object of interest Customer Server Queue
5
![Page 6: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/6.jpg)
Terminology
AttributesProperties of an entity
that describe it
1. Length (of queue)
2. Capacity (of queue)
3. Status (of server)
4. Speed (of server)
5. Type (of customer
Attribute ValuesActual values assigned to
an attribute at a particular point in time1. 0 to Capacity
2. 1, 2, 3, …
3. Busy, Idle, On-Break
4. Num. Services/Time
5. Business, Personal
6
![Page 7: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/7.jpg)
Terminology
ListCollection of associated
entities, ordered in some manner FIFO queue of
customers Priority queue of
customers Available servers
EventInstantaneous occurrence
that changes the state of system Arrival of customer Completion of service Breakdown of
machine
7
![Page 8: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/8.jpg)
Terminology
Event NoticeRecord of event to
occur at current or future time + data necessary to execute it; event type & time Arrival, 10 End-service, 30
Event List (FEL) Future Event List List of Event Notices
ordered by time Typically a linked list Is the “driver” for a
simulation program
8
![Page 9: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/9.jpg)
Terminology: ACTIVITY Duration of time of specified length known
when begins; scheduled & desired; Unconditional wait
Duration determination Deterministic: always 10 minutes Statistical: Uniform (1,10) Functional: based on attribute (age, capacity)
Begins & Ends with an Event Service time: Begin Service, End Service
9
![Page 10: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/10.jpg)
Terminology: DELAY
Duration of time of unspecified, indefinite length not known until it ends; duration determined by system conditions; i.e. by other events or activities; not scheduled or desired Conditional wait Time waiting in queue Time waiting on any other event
10
![Page 11: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/11.jpg)
Terminology: CLOCK
Variable representing simulated time Elapsed time in smallest time unit
necessary Updated with each new event time as
the event is executed
11
![Page 12: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/12.jpg)
12
Primary vs. Secondary Events
Primary Event Occurrence is scheduled Placed on FEL Arrival, Complete Service
Secondary Event Occurrence due to some other event or
condition Not on FEL Enter or Leave queue, Begin service
![Page 13: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/13.jpg)
13
Waits Conditional vs. Unconditional
Conditional Wait = Delay Caused by some other condition In Queue
Unconditional Wait = Activity Scheduled Service time
![Page 14: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/14.jpg)
Example 2.6 – page 51
Computer technical support center is staffed by 2 people, Able & Baker, who take calls & answer questions to solve computer problems. Able is more experienced & faster. If both are idle, Able takes call. If both busy, caller placed on hold & calls are answered in the order received.
14
![Page 15: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/15.jpg)
15
State components from Example 2.6
System Model System State Entity Attributes List
Event Event notice Event list (FEL) Activity Delay Clock
![Page 16: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/16.jpg)
Dynamic Relationships & Interactions Between Components
Consider the questions on page 91. Answers are necessary to
determine correct model.
16
![Page 17: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/17.jpg)
17
Time Management Methods
Determines how CLOCK is managed (updated)
Time Slice Approach Continuous Systems
vs.
Critical Event Approach Discrete Event Approach
![Page 18: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/18.jpg)
18
Time Slice Approach
Simulation is controlled by time Clock is incremented by fixed number of
time units (N) each time State of system is based on everything that
occurred in past N time units Typical for simulating continuous systems Able to easily compress or expand time by
varying N
![Page 19: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/19.jpg)
19
Critical Event Approach
Simulation is controlled by occurrence of “critical events”
Clock is incremented (updated) by variable amounts as determined by occurrence of next critical event
Critical events cause specific changes in state of the system
Used for discrete systems
![Page 20: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/20.jpg)
Time Slice vs. Discrete Event:Examples
Discuss clock management & system updates…
Continuous Release of pollutants into a river Flood of city due to rain storm
Discrete Use of student computer lab Baggage check-in counter at airport
20
![Page 21: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/21.jpg)
21
Future Events List (FEL)
A set of all events that have been scheduled to occur at a future time
Arrange in chronological order Linked List t<= t1<= t2 <= t3<=…tn t is value of clock t1 is the imminent event
![Page 22: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/22.jpg)
Future Events List
What are implementation options? Pros & Cons? Array
Ordered, Unordered Linked List
Ordered
22
![Page 23: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/23.jpg)
23
Event Scheduling – Time Advance Algorithm (main)
1. Remove imminent event
2. Advance Clock
3. Execute imminent event: update state
4. Generate future events (as necessary) & Place on FEL
5. Update Cumulative Statistics & counters
6. Repeat (1-5) until simulation ends
![Page 24: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/24.jpg)
24
Stop Event
An event whose occurrence causes termination of the simulation
EXAMPLES:
1. Clock time exceeds value N
2. Number of events exceeds value N
3. Queue reaches length L
~~~ Others ???
![Page 25: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/25.jpg)
25
Critical Events
In a basic queuing system, there are 2 critical events.
What are they? 1. ????? 2. ?????
These are events in FEL
![Page 26: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/26.jpg)
26
Arrival Event Processing
ARRIVAL*
BEGIN SERVICE*
ENTER QUEUE
ServerBUSY?
No Yes
![Page 27: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/27.jpg)
27
Complete Service Event Processing
Complete Service
AnotherIN Q?
YESNO Remove from Q
Begin Service*
Server Idle
![Page 28: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/28.jpg)
Generating Events Initialize
Stop event (if stopping on TIME) First Arrival (of each type)
Next Arrival As an Arrival is removed
Complete Service As an arrival Begins Service
Note * on flowcharts new event generated
28
![Page 29: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/29.jpg)
29
Queuing System Components
Queue Calling population Discipline Capacity
Arrivals Times, rates Nature of
![Page 30: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/30.jpg)
30
Queuing System Components
Services Times Nature of
System Number of queues Number of servers State variables Capacity Nature of Arrivals/ Departures
![Page 31: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/31.jpg)
31
Characteristics
Key elements: Customers and Servers Calling Population: set of potential
customers - finite vs. infinite System Capacity: the total number which
may wait and be served at any given time Finite vs. infinite Arrival rate vs. effective arrival rate
![Page 32: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/32.jpg)
32
Characteristics (cont.)
Arrival Process Characterized by inter-arrival times of
successive customers Scheduled vs. random 1 at a time or batches Poisson Arrivals – independence Examples
![Page 33: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/33.jpg)
33
Introduction to Queuing Models Queue = Waiting line Customer = any entity that may
request “service” from a system Typical Measures of System
Performance Server utilization Length of waiting lines Delays of customers
![Page 34: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/34.jpg)
34
Queuing Models (cont.)
Input Parameters Arrival rates Service demand Service rate Number & arrangements of
servers
![Page 35: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/35.jpg)
35
Start-up vs. Wind-down Conditions
Start-up What is state of system when simulation
starts? Empty? Full? Initialization?
Wind-down How is simulation stopped? Are customers left in system? What do you
do with them?
![Page 36: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/36.jpg)
36
Queuing Models
Mathematical Analysis vs. Simulation Analysis Topics to be addressed
Dynamic behavior General characteristics Meaning and relationships of the important
performance measures Estimation of performance measures Effect of varying input parameters Mathematical solutions to basic models
![Page 37: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/37.jpg)
37
Queue Attributes
# of Phases or Stations (sequential) # of Channels (parallel) # of Servers Blockers-non blocking stations Capacity Discipline (FIFO, LIFO, Priority, etc.)
![Page 38: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/38.jpg)
38
Queue Behavior
Balk: upon arrival, customer decides not to enter the system
Renege: after being in queue for some period of time, customer leaves system
Jockey: to change queues after entering one queue
![Page 39: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/39.jpg)
39
Queue Behavior
Priority: a number affecting the processing of customers
Preempt: to stop serving one customer before completion in order to begin serving another customer
![Page 40: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/40.jpg)
40
Single Server-Single Queue
Arrive Server DepartQueue
![Page 41: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/41.jpg)
41
Parallel Servers – Same Type Single Queue
Arrive
DepartQS
S
![Page 42: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/42.jpg)
42
Parallel Servers & QueuesDifferent Servers
A1 Q1 S1 D
A2 Q2 S2 D
A1 & A2 have different arrival rates.
S1 & S2 are different types w/ different rates.
![Page 43: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/43.jpg)
43
Parallel Servers
S1
S2
Arrive
DepartQ
S1 & S2 provide same service but may have different service rates. Choice between S1 & S2 may be rule-based or random.
![Page 44: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/44.jpg)
44
Sequential Servers
Q1 S1 Q2 S2
A D
Each customer must receive both services.
![Page 45: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/45.jpg)
45
Goals of Simulation
Common Questions1. Average Queue Length?
2. Amount (%) of server Idle Time? (Utilization)
3. Mean Waiting time of Customers?
4. Others?
Consider
Information Cost Value
![Page 46: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/46.jpg)
Simulation Methodology
1. Plan
2. Model
3. Validate & Verify
4. Simulate
5. Apply
46
![Page 47: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/47.jpg)
47
Simulation Methodology
1. Plan Define problem & factors that affect the
system Estimate resources needed to observe
system and collect data Determine feasibility of continuing
Consider reduction Collect info.- interviews, literature
search, observation
![Page 48: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/48.jpg)
48
Methodology (cont.)
2. Model Construct a REPRESENTATION
consisting of the minimal set possible
![Page 49: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/49.jpg)
49
Methodology (cont.)
3. Validate and Verify Validate: to ensure that the model accurately
represents the system Verify: to ensure that the program accurately
represents the model How? – historical data & predictions
Statistical tests Sensitivity Analysis
Reasons for Failure to validate or verify
![Page 50: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/50.jpg)
50
Methodology (cont.)
4. Apply What is output? How should the results be
interpreted? How can we use the results? How can we communicate the results
to others?
![Page 51: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/51.jpg)
51
Steady State
The system is running in such a way that state variables (statistics) experience only small variations
Must consider “start- up” & “wind- down” conditions
How can steady state be recognized? Why do we care?
![Page 52: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/52.jpg)
52
Conway’s Method(Determining Steady State)
Take snapshots of some stats – independent, not cumulative
Rule: throw out first intervals such that they are min or max. When first interval is not, then in steady state.
Limits: Sensitive to interval size.
Which stats should be considered?
![Page 53: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/53.jpg)
53
Emshoff & Sisson Method(Determining Steady State)
Apply Conway to reduce the number of intervals. Look at the individual points in the set. Determine the % of values above & below the mean. Use Chi Square test to determine if the next interval is likely to come from the previous cumulative population.
Allows for gradual changes in data, but spots dramatic or sudden changes.
![Page 54: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/54.jpg)
World Views (3)
1. Event Scheduling
2. Process Interaction
3. Activity Scanning
Way we view of the model & Interactions Languages may favor one view View may be hidden from user
54
![Page 55: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/55.jpg)
Event Scheduling (variable time advance)
Approach we have been discussing Schedule & Process each individual event,
updating System State as each is processed
Typical approach for simulation in high-level language Main: loops, removing events from FEL &
calling functions Functions: begin-service, enter-queue, end-
service, etc. 55
![Page 56: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/56.jpg)
Process Interaction (variable time advance)
View entities in terms of process they follow; their life cycle
Process: time sequenced list of events, activities, & delays, including demands for resources, that define the life cycle of entity as it moves through system
Underlying support is likely event-based Simscript language
56
![Page 57: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/57.jpg)
Process Example
Customer A Definition Arrive at business Get in Queue A Request Service A Receive Service A End Service A Leave business
Customer B Definition Arrive at business Get Cart Get in Queue A Request Service A Receive Service A End Service A Return Cart Leave business
57
![Page 58: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/58.jpg)
Activity Scanning (time-slice)
Uses fixed time increment & rule-based approach to determine when activities begin
At each time advance, conditions for each activity checked, if true then activity starts
Simple, can be modular, easily maintainable
Repeated scanning can make simulation run slowly
GPSS58
![Page 59: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/59.jpg)
Other World Views
Hybrids Some languages, systems support
multiple views Many simulation environments “hide”
approach with GUI
59
![Page 60: General Simulation Principles](https://reader030.vdocuments.mx/reader030/viewer/2022033101/56813064550346895d963926/html5/thumbnails/60.jpg)
Next!
Read Implementation Paper posted on Class Web Site
60