Leong: Simpler Spreadsheet Simulation of MultiServer Queues
kennenlernen kennen lernen rechtschreibung176 INFORMS Transactions on Education mann sucht frau über 50 7(2), pp. 172–177, ©2007 INFORMS
worksheets are usually hidden, using Excel’s work
sheet hide feature (by activating Format/Sheet/Hide
in the menu).
Students are to use worksheet “Scratch” (which is
just a blank worksheet) to start placing basic infor
mation and laying out the table headers. The desired
result of this is as shown in worksheet “Proto.”
Setting aside their various attempts, the class then
continues on using the “Proto” worksheet provided.
I work interactively with students to develop the for
mulas to ﬁll the cells for customer 1, taking care
to alter the cell referencing (to absolute, relative or
mixed as needed) so that the customer 1’s row can
later be copied and pasted down to complete the sim
ulation model.
Some explanation on the generation of random
variates is needed before the interarrival time and
service time cells can be ﬁlled. The top portion of
worksheet “Data” provides the necessary notes and
formulas. Two simple methods are presented there:
resampling and inverse function. These would have
been taught in an earlier class that covers random
variates and MonteCarlo simulation. I usually use
worksheet “Data” to help review the concepts and
reinforce learning.
The ﬁrst model to complete is the singleserver
model. After evaluating the effect of different trafﬁc
intensities on the queue performance, I proceed to
show how to change the formula in the servicestart
cell to make the singleserver model into a parametric
multiserver model. I usually take a row of students
in class to role play the queue and explain why the
logic of the servicestart time formula is correct. The
students, which should number more than servers,
are assumed to be arranged in order of their arrival.
Students who are supposedly being served would,
oneatatime but not necessarily in arrival order, be
asked to leave the system, to emulate the end of their
service. Taking the role of an incoming new arrival,
I would then talk through with the class to establish
the time point at which service should start for me.
Once completed, students are required to tidy up
their work to our prescribed common layout and for
mat (as shown in Figure 1) and complete the doc
umentation of the model (as shown in Figure 2)to
improve readability and reduce risk of spreadsheet
errors. The result is a high quality professional work
able “DecisionSupport System.” Students can ﬁnally
unhide the last two worksheets and evaluate their
solutions against them.
6. Final Comments
Though the original intent of this paper was to provide
simpler alternative formulations to Hora’s G/G/c
formulation, the model constructed is not restricted
to modeling systems with independent identical dis
tributions for the arrival and service processes. For
example, the model could be used for tracedriven
simulations, where historical interarrival and service
times recorded from real systems are used. In Berger
and Whitt (1992)’s notation, the model presented here
can be characterized as the more general A/A/c/8
queue: arbitrary arrival process, arbitrary service pro
cess, c servers, and inﬁnite waiting buffer.
Multiple replications of the simulation model
can be done using either a spreadsheet simula
tion addin (e.g. XLSim kennenlernen kennen lernen rechtschreibung http://www.analycorp.com/,
Crystal Ball http://www.decisioneering.com/, and
@Risk http://www.palisade.com/) or Excel’s Data
Table feature. I prefer to do the latter as it does
not incur additional cost for students. Queue perfor
mance results (like average waittime, probability dis
tribution of system length etc.) can be collected for
the numerous simulation runs, under different trafﬁc
intensities and number of servers. In interpreting the
results of multiple replications one needs to keep in
mind that each replication terminates when some pre
speciﬁed number of customers has completed service,
as opposed to when a certain amount of time has
passed.
With the simpler proposed formulation, my col
leagues and I have for several academic terms con
ducted classes on spreadsheet queuing simulation
(in an interactive manner, along with modeling of
other business processes) for secondyear business,
accountancy, economics, information systems, and
social science undergraduates. Using only native Excel
features, these undergraduates can build reasonably
sophisticated processdriven spreadsheet queuing
models, learn to interpret implications of simulation
results, apply them to concrete realworld situations
and have fun doing it.
Acknowledgments
I have beneﬁted much and the paper is vastly improved by
the many constructive comments and suggestions given by
the associate editor and anonymous referees. Their effort in
providing “developmental review” of this paper is much
appreciated.
Appendix
LARGE
LARGE(range, k) returns the kth largest value in the data
set speciﬁed by the range. For example, LARGE(A1:A20, 1)
returns the largest value in the data set contained in
cells A1 through A20 (same result as MAX(A1:A20)),
LARGE(A1:A20, 2) returns the second largest value,
LARGE(A1:A20, 3) returns the third largest value, and so on.
When used against a column with running serial numbers
1, 2, 3,.., it can be used to sort a set of numbers in descending
order.
Overview
This example shows how to model a singlequeue singleserver system with a single traffic source and an infinite storage capacity. In the notation, the M stands for Markovian; M/M/1 means that the system has a Poisson arrival process, an exponential service time distribution, and one server. Queuing theory provides exact theoretical results for some performance measures of an M/M/1 queuing system and this model makes it easy to compare reicher mann sucht frau hamburg empirical results with the corresponding theoretical results.
Structure
The model includes the components listed below:

Entity Generator block: Models a Poisson arrival process by generating entities (also known as "customers" in queuing theory).

Simulink Function exponentialArrivalTime(): Returns data representing the interarrival times for the generated entities. The interarrival time of a Poisson arrival process is an exponential random variable.

Entity Queue block: Stores entities that have yet to be served in FIFO order

Entity Server block: Models a server whose service time has an exponential distribution.
Results and Displays
The model includes these visual ways to understand its performance:

Scopes labeled "Waiting Time: Theoretical" and "Waiting Time: Simulation" showing the theoretical and empirical values of the waiting time in the queue, on a single set of axes. You can use this plot to see how the empirical values evolve during the simulation and compare them with the theoretical value.

A scope labeled "Server Utilization" showing the utilization of the single server over the course of the simulation.
Theoretical Results
Queuing theory provides the following theoretical results for an M/M/1 queue with an arrival rate of and a service rate of :

Mean waiting time in the queue =
The first term is the mean total waiting time in the combined queueserver system and the second term is the mean service time.

Utilization of the server =
Experimenting with the Model
Move the Arrival Rate knob during the simulation and observe the change in the simulation results
Related Examples
References
[1] Kleinrock, Leonard, Queueing Systems, Volume I: Theory, New York, Wiley, 1975.
Was this topic helpful?
Try MATLAB, Simulink, and Other Products
3 Comments