Identify a routinary activity that requires a queue to be managed, and document it. Highlight the attributes of the entities involved and the estimated times allotted for the execution of each step.

I began by modeling a concession stand at the movie theater. The concession stand will be staffed with 5 workers, and each register has its own queue.

Initial Concession Model
Initial Concession Model

I configured the model source to use a random exponential with \(\lambda = 1\) for 60 customers per hour. I configured 5 servers with with a random exponential serve time of 4 minutes. Based on these conditions, the 5 servers should be able to keep up with the incoming customers.

While running the simulation, customers chose one of the servers at random, which led to lines at some servers, but no one waiting at others, see the image above. In the real world, customers will choose the line which is the shortest, but that doesn’t necessarily mean that they will be served fastest.

I ran the simulation for 5 hours expecting about 300 customers.

Server # Queued Processed Avg Wait (Min) Time Starved (Min)
1 69 57 52.9 7.8
2 58 52 4.4 73.8
3 72 70 10.8 31.2
4 51 49 8.8 90.2
5 55 51 3.3 100.0
Total 305 279 17.4 303.0

Looking at these results, the queue for server 1 nearly always had customers waiting. With significantly longer wait times, the guest experience was not good.

Revised Concession Model
Revised Concession Model

The revised model allows for a single queue, which should give a more uniform experience for guests and for concession workers.

Server # Queued Processed Avg Wait (Min) Time Starved (Min)
Total 277 271 1.1 8.7

Moving to a single first in first out queue significantly improved the average wait time for customers.