This program simulates a Queuing station with arbitrary distributions
for interarrival and service times. Note that both the Random
Variables and Queuing add-ins must be installed to run the simulation.
We have used the Random Variables add-in to create two random
variables, TBA and TFS. TBA is the distribution of the times
between arrivals to the Queuing system, and TFS is the distribution
for the service times.
a Queuing system, select Simulate Queue from the OR_MM
menu. The following dialog box is presented.
The arrival and service distribution entries provide the names
of random variables that have been previously defined using the
Add_RV item of the Random Variables add-in. For the example,
the interarrival times have a generalized Beta distribution ranging
from 0 to 0.4. The service process is Poisson with lambda=
2 (or mean time to service of 0.5). Other simulation parameters
are: the cell location of the upper left corner where the data
and averages of the simulation will be placed, the number of
channels, the maximum number in system if the queue is finite,
random number seeds for the arrival and service processes, the
number of arrivals to be simulated, the start time for data collection
and and the stop time for data collection.
There are two types of simulation, Entity and Next
Event. We illustrate the entity simulation first. A checkbox
allows the student to use Exponential distributions instead
of named distributions. When this box is checked the Arrival
and Service distribution cells accept the arrival and service
There are two ways to run the simulation, dynamic or not dynamic.
The choice is determined by Dynamic button on the dialog.
A dynamic simulation places the formulas for the simulation
directly on the worksheet. Changing the parameters of the simulation
such as number of servers, arrival rate, or random number seeds
causes the simulation to be automatically recalculated. This
provides students with immediate feedback on the effect of
queuing system design changes. Although the number of iterations
of the simulation is not limited by the program, the dynamic
simulation requires a large amount of memory. This may crash
the system if too large a simulation is attempted. Fifty iterations
is the default value.
When the dynamic option is not selected, the formulas are
replaced by the values they produce at each iteration. Although
the results are not dynamic, the number of iterations possible
is much greater.
Pressing the OK button causes the simulation to be performed
and the results to be placed on the worksheet. The data and results
for the example are given below.
The entity simulation
is accomplished using functions made available by the add-in.
The average results of the simulation are in column E for the
example. The simulated values of TBA and TFS are in columns
I and J. We only show 25 of the 50 simulated entities. Columns
M through P show the important times determined by the simulation,
with one row for each arrival. The results give when the entity
arrived, entered the queue, entered service and left service.
For the finite queue, an entity may arrive, but not enter the
queue. The Entity simulation provides one row for each
simulated individual. Many Excel columns are hidden for this
display. The columns are all colored yellow to indicate that
they contain formulas. The items not colored yellow in column
D, may be changed and the simulation will automatically recompute.
For a non-dynamic simulation, numbers replace the formulas
and the cells are not colored yellow.
The Start and Stop Data times are initially set to 0 and the
time of the last arrival respectively. These may be changed
to allow warm up and cool down periods for the simulation.
Next Event Simulation
||The second kind of simulation
is the Next Event simulation. It has the same data and
options as the Entity simulation. The simulation is performed
entirely with Excel formulas and built-in functions, so it is
probably faster and requires less memory than the Entity simulation.
It is automatically specified as Dynamic.
||The results below are
for the Next Event simulation. Here each event, an arrival
or service completion, provides a row of output. There should
be twice as many rows as the numbered simulated when no balking
occurs. When balking occurs for a finite queuing system, there
will be a smaller number of events because arrivals that balk
do not require service. When there is no balking both of the
queuing methods return the same results. With balking, the service
times used may be different for an entity, so the results may
be slightly different.