Return to Index
Operations Research Models and Methods
Computation Section
Queuing Add-in
 - Queuing Simulation

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.


To simulate 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 rates.


Entity Simulation


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.

Return to Top

tree roots

Operations Research Models and Methods
by Paul A. Jensen
Copyright 2004 - All rights reserved

Next Page