0% found this document useful (0 votes)
82 views24 pages

Simulation With Arena Chapter 2 - Fundamental Simulation Concepts Slide 1 of 46

The document describes the key concepts and processes involved in discrete event simulation. It discusses the event-scheduling "world view" where characteristic events are identified and the logic for processing each event type is defined. This includes effecting state changes, observing statistics, and updating the calendar of future events. The simulation clock advances from one event to the next. Events for a simple processing system include part arrivals and departures, as well as the end of the simulation. State variables track current status like the server busy/idle and the queue length. The document provides an example simulation performed by hand to illustrate these concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views24 pages

Simulation With Arena Chapter 2 - Fundamental Simulation Concepts Slide 1 of 46

The document describes the key concepts and processes involved in discrete event simulation. It discusses the event-scheduling "world view" where characteristic events are identified and the logic for processing each event type is defined. This includes effecting state changes, observing statistics, and updating the calendar of future events. The simulation clock advances from one event to the next. Events for a simple processing system include part arrivals and departures, as well as the end of the simulation. State variables track current status like the server busy/idle and the queue length. The document provides an example simulation performed by hand to illustrate these concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Fundamental Simulation

Concepts
Chapter 2

Simulation Dynamics:
The Event-Scheduling World View

Identify characteristic events


Decide on logic for each type of event to

Effect state changes for each event type


Observe statistics
Update times of future events (maybe of this type, other
types)

Keep a simulation clock, future event calendar


Jump from one event to the next, process,
observe statistics, update event calendar
Must specify an appropriate stopping rule
Usually done with general-purpose programming
language (C, FORTRAN, etc.)

Events for the


Simple Processing System
Arrival of a new part to the system

Update time-persistent statistical accumulators (from last


event to now)

Mark arriving part with current time (use later)


If machine is idle:

Start processing (schedule departure), Make machine busy, Tally


waiting time in queue (0)

Else (machine is busy):

Area under Q(t)


Max of Q(t)
Area under B(t)

Put part at end of queue, increase queue-length variable

Schedule the next arrival event

Events for the


Simple Processing System (contd.)

Departure (when a service is completed)

Increment number-produced stat accumulator


Compute & tally time in system (now - time of arrival)
Update time-persistent statistics (as in arrival event)
If queue is non-empty:

Take first part out of queue, compute & tally its waiting time in
queue, begin service (schedule departure event)

Else (queue is empty):

Make the machine idle (Note: there will be no departure event


scheduled on the future events calendar, which is as desired)

Events for the


Simple Processing System (contd.)

The End

Update time-persistent statistics (to end of the simulation)


Compute final output performance measures using current
(= final) values of statistical accumulators

After each event, the event calendars top record


is removed to see what time it is, what to do
Also must initialize everything

Some Additional Specifics for the


Simple Processing System

Simulation clock variable (internal in Arena)


Event calendar: List of event records:

[Entity No., Event Time, Event Type]


Keep ranked in increasing order on Event Time
Next event always in top record
Initially, schedule first Arrival, The End (Dep.?)

State variables: describe current status

Server status B(t) = 1 for busy, 0 for idle


Number of customers in queue Q(t)
Times of arrival of each customer now in queue (a list of
random length)

Simulation by Hand

Manually track state variables, statistical


accumulators
Use given interarrival, service times
Keep track of event calendar
Lurch clock from one event to the next
Will omit times in system, max computations
here (see text for complete details)

Simulation by Hand:
Setup
System

Clock

B(t)

Q(t)

Number of
completed waiting
times in queue

Total of
waiting times in queue

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)

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)

4.66

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)

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)

8.05

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

Time-average number in queue:


Area under Q(t ) curve 15.78

0.79 part
Final clock value
20

Utilization
press:18.34
Area underofB(drill
t ) curve

0.92 (dimension less)


Final clock value
20

Complete Record of the Hand


Simulation

You might also like