We’ve been spending a lot of time on queueing problems lately, and one of the things I love about queues is that they’re literally everywhere. From call centers to emergency response systems, there are countless examples of queues in the “real world”, so I figured I’d dedicate this blog post to the queues I’ve observed in my past experiences.
For me, the first queues that come to mind relate to the fast-food industry. As a higher schooler, I spent nearly two years working for McDonald’s, and only now do I realize just how many queues that job involved. The drive-through had a queue, the cash registers had a queue, and even the dish washing machine had a queue! It was a queue-topia, and the queues came in all kinds of varieties. Some were simple, like the cash-register queue that had three servers, while others, like the drive-through, were more complicated. During the lunch rush, for example, the line of cars in the drive-through would get so long that it would be backed up to the street and no more customers could enter it, making it a capacitated queue. Additionally, although the drive-through usually functioned as a first-come-first-served (FCFS) queue, sometimes customers would be asked to “pull ahead” if they had a large order so that people with smaller orders could be served while the larger order was being prepared. Of course, some people saw this as a “skip”, and those customers are one of the main reasons I don’t miss McDonald’s or its queues.
Beyond the french fries and golden arches, however, there are also several queues I’ve seen in my more recent work. At the State of Wisconsin, for example, I worked with employees who were responsible for completing IT service requests for several state agencies. While most of these service requests were processed on a FCFS basis, a few receive higher priority. Some of these service requests were marked “urgent” while others, like those from the Governor’s Office, were simply treated with higher priority by default. As we know from lecture, this queue would be classified as a “nonpreemptive priority queue” since the high-priority service requests don’t interrupt anyone’s work.
In contrast, one example where a server is interrupted by higher priority arrivals would be in an emergency department (ED), which is a scenario I had to model in a simulation contest last year. When patients with severe conditions (also known as “priority 1” patients) arrived via ambulance, we had one of the ED physicians stop what they were doing and help that patient. Once the physician was finished helping the patient who was in critical condition, they would then return to the patient they had been treating previously. The logic behind this decision is that someone with a minor injury can have their treatment delayed without the interruption causing much harm whereas someone who just got into a car accident needs immediate attention. According to the queue types discussed in lecture, this is an example of a “preemptive priority queue”, and these subtle differences matter. While simply identifying queues is an important first step, considering the tradeoffs and differences between different types of queues is also essential.