discrete-event simulation concepts and event scheduling algorithm

61
DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Post on 19-Dec-2015

235 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

DISCRETE-EVENT SIMULATION CONCEPTS and

EVENT SCHEDULING ALGORITHM

Page 2: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Discrete Event Simulation

Is concerned with modelling of a system as it evolves over time by a representation in which the system variables change at discrete points on time

Characteristics:• the passage of time is a part of simulation (Dynamic)

• usually contains random elements (Stochastic)

Page 3: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Discrete-Event Simulation Concepts

• System: A collection of entities (e.g. people and machines) that interact together over time to accomplish one or more goals

• Model: An abstract representation of a system, usually containing structural, logical, or mathematical relationships that describe a system in terms of its state, entities and their attributes, sets, processes, events, activities and delays.

• System State: A collection of variables that contain all the information necessary to describe a system at any point in time

Page 4: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Discrete-Event Simulation Concepts

• Entity: Any object or component in a system which requires explicit representation in the model (e.g. a server, a customer, a machine)

• Attributes: Properties of a given entity (e.g. priority of a waiting customer, the routing number of a job through a job shop)

• List: A collection of (permanently or temporarily) associated entities, ordered in some logical fashion (e.g. customers currently waiting in a queue ordered according to a queueing discipline) [sets, queues, chains]

Page 5: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Discrete-Event Simulation Concepts

• Event: An instantaneous occurrence that changes the state of a system (e.g. arrival of a new customer)

• Event Notice: A record of an event to occur at the current or some future time, along with any associated data to execute the event (at a minimum: event type, event time)

• Event List: A list of event notices for future events, ordered by time of occurrence, also know as future event list (FEL)

Page 6: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Discrete-Event Simulation Concepts

• Activity: A duration of time of specified length (e.g. service time), which is known when it begins. – deterministic– random– function of state variables or entity attributes

(deterministic/random)

• Delay: A duration of time of unspecified length, which is not directly known until it ends (an event triggers the end) [conditional wait] (e.g. time a customer spends in a waiting line)

• Clock: A variable representing simulated time (CLOCK)

Page 7: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Events and System State

C2

A2

C1

A1

0S1

S2

Timet1t2 t3 t4

0Time

t1 t2 t3 t4

L(t)

1

2

0Time

t1 t2 t3 t4

1

B(t)

Page 8: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Example: A Doctor’s Office

Page 9: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Example: A Doctor’s Office

• System State– Q(t), the number of patients waiting to be examined at time t

– B(t), 0 or 1 indicate the doctor being busy or not at time t

• Entities– Neither the patients nor the doctor need to be explicitly

represented, except in terms of state variables unless certain patient averages are desired

• Events– Patient arrival event

– Examination completion event

Page 10: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Example: A Doctor’s Office

• Activities:– Interarrival time

– Examination time

• Delay– A patient’s wait until the doctor is free

• What more to specify?– Consequences of events ( a logical description)

– Activity lengths (deterministic, probabilistic, a function)

– Triggers for the beginning and the end of delays

– Initial conditions (System state at time 0)

Page 11: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Time Advance

Advancing simulated time

Fixed time increments Variable time increments

Advances the clock by one time unit & examines the events and system state

(ACTIVITY SCANNING) ApproachNot an efficient approach for most systems

Advances the clock to the most imminent event time & examinethe system state

EVENT ORIENTATION

EVENT SCHEDULING

NEXT EVENT METHOD

Page 12: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Variable Time Increment

• Moves the system from one event time to the next event time

• Produces a sequence of system snapshots (or system images) which represent the system evolution through time

• System evolution can be represented by these snapshots since between events the system does not change

Page 13: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Variable Time Increment

• Snapshots at each event time include:– The current state of the system

– FEL for all activities currently in progress (their completion times)

– The current membership to all lists

– The status of all entities

– Current values of all cumulative statistics and counters

• Thus only the last snapshot is needed to construct the next snapshot (Markovian property)

Page 14: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Future Events List (FEL)

• In real world, the future events are not scheduled but merely happen at a certain time (random arrivals, failures)

• Yet these event times can be modeled by a statistical characterization (distribution) of the time to next occurrence (arrival, failure)

• In simulation activity lengths are determined by obtaining a random sample from the distribution associated with it.

• Completion Time = Starting Time + Activity Length

• The activity completion time is determined as the activity begins and the activity completion event is added to FEL.

Page 15: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Event-Scheduling

• At any given time t, the FEL contains all previously scheduled future events and their associated event times.

• The FEL is ordered by event time, which means that the events are in chronological order.

t < t1 <= t2 <= t3 <= . . . <= tn

• The time t is the value of CLOCK, current value of simulated time

• The event associated with time t1 is called the imminent event, which means the next event to occur.

• The snapshot at CLOCK= t is updated

Page 16: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Event-Scheduling

• Simulation time advances to CLOCK= t1

• Imminent event notice about t1 is removed from the FEL

• The event is executed

• The execution creates a new snapshot of the system at t1

based on the previous snapshot and the nature of the event• This snapshot may include new future event notices added

to FEL or not(depends on the nature of the executed event)• And the cycle continues by repeating the same steps after

advancing CLOCK to the time of the new imminent event until the end of the simulation

Page 17: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System Snapshot

CLOCK

System

State . . . Future Event List . . .

t (5,1,6) (4, t1) – Type 4 event to occur at t1

(1, t2) – Type 1 event to occur at t2

(1, t3) – Type 1 event to occur at t3

.

.

.

(3, tn) – Type 3 event to occur at tn

Page 18: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System Snapshot

CLOCK

System

State . . . Future Event List . . .

t1 (5,1,7) (1, t2) – Type 1 event to occur at t2

(2, t*) – Type 2 event to occur at t*

(1, t3) – Type 1 event to occur at t3

.

.

.

(3, tn) – Type 3 event to occur at tn

Page 19: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Future Event Generation

• Exogenous Events (Events that are not caused by the internal dynamics of the system. They happen outside the system, yet effect the evolution of the system):– The events that are in the initial system snapshot at time 0 (specified

by initial conditions). These are placed to the FEL before the simulation starts.

– Other external events such as arrivals to a queueing system. These events are generated using a technique called Bootstrapping

• This technique is based on each event causing another event of the same type

• The time between the events is an activity (a) (It may be a r.v.)• When an event occurs, schedule the next event in the same stream of

events and place the associated notice in the FEL• This next event in the stream is scheduled at t* = t + a

Page 20: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Bootstrapping

Page 21: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Future Event Generation

• Endogenous Events– Service-completion event

• Each time a customer starts service a service-completion event is scheduled (End of an activity)

• Note that service-start event is never scheduled, it is called a conditional event. A service-start occurs within an arrival or a service-completion event.

• The events that are placed on FEL are called primary events.

– Uptimes and downtimes for a system subject to breakdown

• End-of-uptime and end-of-downtime events (primary events)• Similar to bootstrapping

Page 22: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Stopping Simulation Runs

• At time 0, schedule a stop-simulation event at a specified future time TE ( Simulation runs in the interval [0, TE] )

• Stop the run at the time of occurrence of some specified event E. (The completion of the 1000th service at the server)

Page 23: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

World Views

• When using a simulation package or even when doing hand simulation, a modeler adopts a world view or orientation for developing a model.

• The most prevalent world views are1. the event-scheduling world view2. the process-interaction world view3. the activity-scanning world view.

• Particular simulation packages (e.g. Arena) usually support one of these world views.

Page 24: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Event-Scheduling World View

• Concentrates on events and their effects on system state

• It makes use of the Future Event List and variable time increments

• This is the approach we have just discussed

• It is a very flexible approach using which any system can be simulated

• It requires lots of mechanisms (e.g. FEL handling) to be coded, which may slow down the development of the simulation model for very simple systems.

Page 25: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Event-Scheduling World View

• We have not used this method on any example last week. We are going to do it now on the doctor’s office system

• This is the world view that is usually used when the simulation program is directly coded on a general-purpose programming language such as Java.

• We are going to show its implementation in Java next week

• It would be hard to use this world view with EXCEL since the implementation of the standard mechanisms of Event-Scheduling is not easy in such environments (it could be done with extensive use of EXCEL macros)

Page 26: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Process-Interaction World View

• Models the system in terms of processes• Concentrates on entities, and their life cycles as

they flow through the system, demanding resources and queueing to wait for resources.

• A process is a time-sequenced list of events, activities and delays that define the life cycle of one entity as it moves through a system.

• Some activities might require resources that are limited, which may cause delays in the process

Page 27: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Process-Interaction World View

• This is the world view we adopted for the hand simulation of the doctor’s office system last week

Page 28: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Process-Interaction World View

• This approach is easier for the modeler since people usually perceive the systems in terms of the processes the entities experience

• But this approach is usually harder to implement directly, especially when the systems to be simulated are complex

• Thus, many simulation packages (including ARENA) use this view for the modeler to describe the system (user-interface), but an event-scheduling approach is used operationally to perform the simulation run, hidden from the user.

Page 29: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Activity-Scanning World View

• Concentrates on activities and conditions that allow them to begin

• It uses fixed time increments• At each clock advance, the conditions for each

activity are checked, and if the conditions hold, then the corresponding activity starts.

• The (M,N) inventory system simulation we used last week used activity-scanning approach. The time increment used was a day.

Page 30: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Activity-Scanning World View

• Simple in concept and leads to modular models that are easier to maintain, understand and modify.

• The repeated scanning (at each time increment) results in slow runtime on computers

• The pure activity-scanning approach has been modified by what is called the three-phase approach, which combines the features of event-scheduling with activity scanning to allow for variable time advance. (ARENA uses this as well)

Page 31: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Example: A Doctor’s Office

Page 32: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Example: A Doctor’s Office

• System State (Q(t),B(t))– Q(t), the number of patients waiting to be examined at time t

– B(t), 0 or 1 indicate the doctor being busy or not at time t

• Entities– (Pi,t), representing patient Pi who arrived at time t

• Events– Patient arrival event (A)

– Patient departure event (D)

– Stopping event (E)

Page 33: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Example: A Doctor’s Office

• Event Notices– (A,t,Pi) represents the arrival of patient Pi at future time t– (D,t,Pi) represents the departure of patient Pi at future time t– (E,19) represents the simulation-stop event at future time 19

• Activities– Interarrival time, described in a following table– Service time, described in a following table

• Delay– Patient time spent in the waiting room

• Set– “Waiting Room”, the set of all patients in the waiting room– “Doctor’s Room”, the set of all patients in the doctor’s room

Page 34: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Arrival Event

Generate service time s & schedule new departure event at t+s

B(t)=1 ?

YESNO

Arrival event occursat CLOCK = t

Q(t)=Q(t)+1B(t)=1

Generate interarrival time a; schedule next arrival event at t+a

Collect statistics

Return control to time-advance routineto continue simulation

Page 35: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Service Completion Event

Q(t) 1 ?YESNO

Departure event occursat CLOCK = t

Q(t)=Q(t)-1B(t)=0

Generate service time s; schedule new departure at t+s

Collect statistics

Return control to time-advance routineto continue simulation

Page 36: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Input Data (Arrival)Interarrival time Probability Cumulative probability

1 0.30 0.30 2 0.25 0.553 0.20 0.754 0.15 0.905 0.07 0.976 0.03 1.00

0.00

0.05

0.10

0.15

0.20

0.25

0.30

1 2 3 4 5 6

Probability

0.00

0.20

0.40

0.60

0.80

1.00

1 2 3 4 5 6

Cumulative probability

Page 37: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Input Data (Service)Service time Probability Cumulative probability

1 0.25 0.25 2 0.25 0.503 0.25 0.754 0.25 1.00

0.00

0.05

0.10

0.15

0.20

0.25

1 2 3 4

Probability

0.00

0.20

0.40

0.60

0.80

1.00

1 2 3 4

Cumulative probability

Page 38: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Generation of interarrival timesInterarrival time Cumulative probability Random digit assignment

1 0.30 01-302 0.25 31-553 0.20 56-754 0.15 76-905 0.07 91-976 0.03 97-00

Customer No. Random digit Interarrival time

1 - -2 38 2

3 84 4

4 15 1

5 50 2

6 99 6

… … …

Label1

Page 39: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Generation of service timesInterarrival time Cumulative probability Random digit assignment

1 0.25 01-252 0.25 26-503 0.25 51-754 0.25 76-90

Customer No. Random digit Service time

1 28 22 24 1

3 73 3

4 46 2

5 04 1

6 85 4

… … …

Page 40: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Statistics

Discrete time statistics Continuous time statistics

(Observational data) Time dependent dataContinuous statisticsTime weighted statistics

Defined relative to the collection ofrandom variables with a discrete time index (Observational data)

Defined on the random variables {Q(t)},{B(t)}, each of which is indexed on the continuous time parameter̂

Page 41: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

NotationTQ: time integral of Q(t) (from 0 to T)TB: time integral of B(t) (from 0 to T)TL: time integral of (B+Q)(t) (from 0 to T)R: total response time for patients (time-in-the-system) who departed by TW: total waiting time of patients (time-in-the-queue) who departed by TN: total number of departures by T

Example: calculation of TL : TLnew=TLold+(T-Told)(Bold +Qold)

T B+Q TL

0 0

2

3

0+(2-0)*1=2

2+(3-2)*1=3

6 3+(6-3)*0=3

19 13+(19-15)*1=17

1

1

0

1

0

Page 42: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Simulation table

Clock Q(t) FEL R N

TQB(t) W TB

17 4 6 4 13

0

2

3

6

7

9

11

12

15

19

1

1

0

1

1

1

1

0

1

0

0

0

0

0

1

1

0

0

0

0

(P1,0)

(P2,2)

(P3,6)

(P3,6)

(P4,7)

(P5,9)

(P6,15)

(P4,7)

(P5,9)

(A,2,P2),(D,2,P1),(E,19)

(D,3,P2),(A,6,P3),(E,19)

(A,6,P3),(E,19)

(A,7,P4),(D,9,P3),(E,19)

(A,9,P5),(D,9,P3),(E,19)

(D,11,P4),(A,15,P6),(E,19)

(D,12,P5),(A,15,P6),(E,19)

(A,15,P6),(E,19)

(D,19,P6),(E,19),(A,24,P7)

(A,24,P7)

0

2

3

3

3

6

10

13

13

17

0

0

0

0

0

2

4

4

4

4

0

1

2

2

2

3

4

5

5

6

0

0

0

0

0

2

4

4

4

4

0

2

3

3

4

6

8

9

9

13

DR WR

Page 43: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Another Example of Hand Simulation using Event-SchedulingFrom Chapter 2 of the Arena Book

ArrivingBlank Parts

DepartingFinished Parts

Machine(Server)

Queue (FIFO) Part in Service

4567

Page 44: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

44

Model Specifics• Initially (time 0) empty and idle• Base time units: minutes• Input data (assume given for now …), in minutes:

Part Number Arrival Time Interarrival Time Service Time1 0.00 1.73 2.902 1.73 1.35 1.763 3.08 0.71 3.394 3.79 0.62 4.525 4.41 14.28 4.466 18.69 0.70 4.367 19.39 15.52 2.078 34.91 3.15 3.369 38.06 1.76 2.37

10 39.82 1.00 5.3811 40.82 . .

. . . .

. . . .• Stop when 20 minutes of (simulated) time have passed

Page 45: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock

B(t)

Q(t)

Arrival times of custs. in queue

Event calendar

Number of completed waiting times in queue

Total of waiting times in queue

Area under Q(t)

Area under B(t)

Q(t) graph B(t) graph

Time (Minutes) Interarrival times 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:Setup

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

Page 46: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 0.00

B(t) 0

Q(t) 0

Arrival times of custs. in queue

<empty>

Event calendar [1, 0.00, Arr] [–, 20.00, End]

Number of completed waiting times in queue 0

Total of waiting times in queue 0.00

Area under Q(t) 0.00

Area under B(t) 0.00

Q(t) graph B(t) graph

Time (Minutes) Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

Page 47: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 0.00

B(t) 1

Q(t) 0

Arrival times of custs. in queue

<empty>

Event calendar [2, 1.73, Arr] [1, 2.90, Dep] [–, 20.00, End]

Number of completed waiting times in queue 1

Total of waiting times in queue 0.00

Area under Q(t) 0.00

Area under B(t) 0.00

Q(t) graph B(t) graph

Time (Minutes) Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

1

Page 48: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 1.73

B(t) 1

Q(t) 1

Arrival times of custs. in queue

(1.73)

Event calendar [1, 2.90, Dep] [3, 3.08, Arr] [–, 20.00, End]

Number of completed waiting times in queue 1

Total of waiting times in queue 0.00

Area under Q(t) 0.00

Area under B(t) 1.73

Q(t) graph B(t) graph

Time (Minutes) Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

12

Page 49: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 2.90

B(t) 1

Q(t) 0

Arrival times of custs. in queue

<empty>

Event calendar [3, 3.08, Arr] [2, 4.66, Dep] [–, 20.00, End]

Number of completed waiting times in queue 2

Total of waiting times in queue 1.17

Area under Q(t) 1.17

Area under B(t) 2.90

Q(t) graph B(t) graph

Time (Minutes) Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

2

Page 50: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 3.08

B(t) 1

Q(t) 1

Arrival times of custs. in queue

(3.08)

Event calendar [4, 3.79, Arr] [2, 4.66, Dep] [–, 20.00, End]

Number of completed waiting times in queue 2

Total of waiting times in queue 1.17

Area under Q(t) 1.17

Area under B(t) 3.08

Q(t) graph B(t) graph

Time (Minutes) Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

23

Page 51: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 3.79

B(t) 1

Q(t) 2

Arrival times of custs. in queue

(3.79, 3.08)

Event calendar [5, 4.41, Arr] [2, 4.66, Dep] [–, 20.00, End]

Number of completed waiting times in queue 2

Total of waiting times in queue 1.17

Area under Q(t) 1.88

Area under B(t) 3.79

Q(t) graph B(t) graph

Time (Minutes) Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

234

Page 52: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 4.41

B(t) 1

Q(t) 3

Arrival times of custs. in queue

(4.41, 3.79, 3.08)

Event calendar [2, 4.66, Dep] [6, 18.69, Arr] [–, 20.00, End]

Number of completed waiting times in queue 2

Total of waiting times in queue 1.17

Area under Q(t) 3.12

Area under B(t) 4.41

Q(t) graph B(t) graph

Time (Minutes)

Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

2345

Page 53: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 4.66

B(t) 1

Q(t) 2

Arrival times of custs. in queue

(4.41, 3.79)

Event calendar [3, 8.05, Dep] [6, 18.69, Arr] [–, 20.00, End]

Number of completed waiting times in queue 3

Total of waiting times in queue 2.75

Area under Q(t) 3.87

Area under B(t) 4.66

Q(t) graph B(t) graph

Time (Minutes)

Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

345

Page 54: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 8.05

B(t) 1

Q(t) 1

Arrival times of custs. in queue

(4.41)

Event calendar [4, 12.57, Dep] [6, 18.69, Arr] [–, 20.00, End]

Number of completed waiting times in queue 4

Total of waiting times in queue 7.01

Area under Q(t) 10.65

Area under B(t) 8.05

Q(t) graph B(t) graph

Time (Minutes)

Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

45

Page 55: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 12.57

B(t) 1

Q(t) 0

Arrival times of custs. in queue

()

Event calendar [5, 17.03, Dep] [6, 18.69, Arr] [–, 20.00, End]

Number of completed waiting times in queue 5

Total of waiting times in queue 15.17

Area under Q(t) 15.17

Area under B(t) 12.57

Q(t) graph B(t) graph

Time (Minutes)

Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

5

Page 56: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 17.03

B(t) 0

Q(t) 0

Arrival times of custs. in queue ()

Event calendar [6, 18.69, Arr] [–, 20.00, End]

Number of completed waiting times in queue 5

Total of waiting times in queue 15.17

Area under Q(t) 15.17

Area under B(t) 17.03

Q(t) graph B(t) graph

Time (Minutes)

Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

Page 57: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 18.69

B(t) 1

Q(t) 0

Arrival times of custs. in queue ()

Event calendar [7, 19.39, Arr] [–, 20.00, End] [6, 23.05, Dep]

Number of completed waiting times in queue 6

Total of waiting times in queue 15.17

Area under Q(t) 15.17

Area under B(t) 17.03

Q(t) graph B(t) graph

Time (Minutes)

Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

6

Page 58: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

System

Clock 19.39

B(t) 1

Q(t) 1

Arrival times of custs. in queue

(19.39)

Event calendar [–, 20.00, End] [6, 23.05, Dep] [8, 34.91, Arr]

Number of completed waiting times in queue 6

Total of waiting times in queue 15.17

Area under Q(t) 15.17

Area under B(t) 17.73

Q(t) graph B(t) graph

Time (Minutes)

Interarrival times 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

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

67

Page 59: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Simulation by Hand: t = 20.00, The End

0

1

2

3

4

0 5 10 15 20

012

0 5 10 15 20

67

System

Clock 20.00

B(t) 1

Q(t) 1

Arrival times of custs. in queue

(19.39)

Event calendar [6, 23.05, Dep] [8, 34.91, Arr]

Number of completed waiting times in queue 6

Total of waiting times in queue 15.17

Area under Q(t) 15.78

Area under B(t) 18.34

Q(t) graph B(t) graph

Time (Minutes)

Interarrival times 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, ...

Page 60: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Simulation by Hand:Finishing Up

• Average waiting time in queue:

• Time-average number in queue:

• Utilization of drill press:

part per minutes 53261715

queue in times of No.queue in times of Total

..

part 79020

7815value clock Final

curve under Area.

.)( tQ

less)(dimension 92020

3418value clock Final

curve under Area.

.)( tB

Page 61: DISCRETE-EVENT SIMULATION CONCEPTS and EVENT SCHEDULING ALGORITHM

Complete Record of the Hand Simulation