Chapter 3 - Department of Computer Science

advertisement
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
1
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
*Terminology (pg. 89)






System
Model
System State
Entity
Attributes
List






Event
Event notice
Event list (FEL)
Activity
Delay
Clock
3
Terminology
System
Model
Collection of one or more Abstract representation of
a system, in form other
entities interacting
than the system itself
together over time to
accomplish some goal
 Includes relationships
that describe system
or goals




School
Airport
Gas Station
Human Body

(state, entities,
activities, events,
processes, delays, etc.)
Mathematical, physical,
computer program, etc.
4
Terminology
System State
Entity
Collection of variables
necessary to fully
describe the system at
a point in time
 Number-in-queue
 Number-of-servers
 Status-of-servers
Object or component of
system that requires
representation in the
model; an object of
interest
 Customer
 Server
 Queue
5
Terminology
Attributes
Attribute Values
Properties of an entity
that describe it
Actual values assigned to
an attribute at a
particular point in time
1.
2.
3.
4.
5.
Length (of queue)
Capacity (of queue)
Status (of server)
Speed (of server)
Type (of customer
1.
2.
3.
4.
5.
0 to Capacity
1, 2, 3, …
Busy, Idle, On-Break
Num. Services/Time
Business, Personal
6
Terminology
List
Event
Collection of associated
entities, ordered in
some manner
Instantaneous occurrence
that changes the state
of system



FIFO queue of
customers
Priority queue of
customers
Available servers



Arrival of customer
Completion of service
Breakdown of
machine
7
Terminology
Event Notice
Event List (FEL)
Record of event to
occur at current or
future time + data
necessary to execute
it; event type & time
 Arrival, 10
 End-service, 30




Future Event List
List of Event Notices
ordered by time
Typically a linked list
Is the “driver” for a
simulation program
8
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
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
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
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
12
Waits
Conditional vs. Unconditional


Conditional Wait = Delay
 Caused by some other condition
 In Queue
Unconditional Wait = Activity
 Scheduled
 Service time
13
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
State components from Example 2.6






System
Model
System State
Entity
Attributes
List






Event
Event notice
Event list (FEL)
Activity
Delay
Clock
15
Dynamic Relationships &
Interactions Between Components


Consider the questions on page 91.
Answers are necessary to
determine correct model.
16
Time Management Methods

Determines how CLOCK is managed
(updated)
Time Slice Approach
 Continuous Systems
vs.
Critical Event Approach
 Discrete Event Approach
17
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
18
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
19
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
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
21
Future Events List

What are implementation
options? Pros & Cons?


Array
 Ordered, Unordered
Linked List
 Ordered
22
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
23
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 ???

24
Critical Events



In a basic queuing system,
there are 2 critical events.
What are they?
 1. ?????
 2. ?????
These are events in FEL
25
Arrival Event Processing
ARRIVAL*
No
BEGIN SERVICE*
Server
BUSY?
Yes
ENTER QUEUE
26
Complete Service Event Processing
Complete
Service
Server Idle
NO
Another
IN Q?
YES
Remove
from Q
Begin
Service*
27
Generating Events

Initialize



Next Arrival


Stop event (if stopping on TIME)
First Arrival (of each type)
As an Arrival is removed
Complete Service
As an arrival Begins Service
Note * on flowcharts  new event generated

28
Queuing System Components

Queue




Calling population
Discipline
Capacity
Arrivals


Times, rates
Nature of
29
Queuing System Components

Services



Times
Nature of
System





Number of queues
Number of servers
State variables
Capacity
Nature of Arrivals/ Departures
30
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
31
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
32
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
33
Queuing Models (cont.)

Input Parameters
 Arrival rates
 Service demand
 Service rate
 Number & arrangements of
servers
34
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?
35
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
36
Queue Attributes






# of Phases or Stations (sequential)
# of Channels (parallel)
# of Servers
Blockers-non blocking stations
Capacity
Discipline (FIFO, LIFO, Priority, etc.)
37
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
38
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
39
Single Server-Single Queue
Arrive
Queue
Server
Depart
40
Parallel Servers – Same Type
Single Queue
S
Arrive  Q
Depart
S
41
Parallel Servers & Queues
Different Servers
A1
Q1
S1
D
A2
Q2
S2
D
A1 & A2 have different arrival rates.
S1 & S2 are different types w/ different rates.
42
Parallel Servers
S1
Arrive
Depart
Q
S2
S1 & S2 provide same service but may have different service
rates. Choice between S1 & S2 may be rule-based or
43
random.
Sequential Servers
A
Q1
S1
Q2
S2
D
Each customer must receive both services.
44
Goals of Simulation

Common Questions
1. Average Queue Length?
2. Amount (%) of server Idle Time? (Utilization)
3. Mean Waiting time of Customers?
4. Others?
Consider
Information Cost Value
45
Simulation Methodology
1.
2.
3.
4.
5.
Plan
Model
Validate & Verify
Simulate
Apply
46
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
47
Methodology (cont.)
Model
2.

Construct a REPRESENTATION
consisting of the minimal set
possible
48
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
49
Methodology (cont.)
Apply
4.




What is output?
How should the results be
interpreted?
How can we use the results?
How can we communicate the results
to others?
50
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?
51
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?
52
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.
53
World Views (3)
1.
2.
3.



Event Scheduling
Process Interaction
Activity Scanning
Way we view of the model & Interactions
Languages may favor one view
View may be hidden from user
54
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, endservice, etc.
55
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
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
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
GPSS
58
Other World Views



Hybrids
Some languages, systems support
multiple views
Many simulation environments “hide”
approach with GUI
59
Next!
Read Implementation Paper posted on
Class Web Site
60
Download