Google
 

Tuesday, August 7, 2007

Queing .xls













Click on the link above to download the Excel sheet






































































































Descriptions









Models included in this workbook









Definition of Steady State









Using the Models









Exponential Service and Interarrival Times









Models with limited waiting capacity (balking)









Models with infinite waiting capacity (no balking)









General Service and Interarrival Times, Approximation









Infinite waiting capacity, Approximation









Limited waiting capacity, Simulation































The Finite Queue model assumes that there is a limit to the waiting line, and that









customers will not join the queue when that limit is reached. Those customers are









permanently lost, but the arrival rate of future customers is not affected.









Assumptions: Identical Servers, Poisson arrivals, Exponential service times.









(More)










The Infinite Queue model assumes that there is no limit to the waiting line. That is,









customers are extremely patient and will wait indefinitely.









Assumptions: Identical Servers, Poisson arrivals, Exponential service times,









and Arrival Rate < (Number of Servers)(Service Rate capacity per server)









This model also allows up to 4 priority classes (non-preemptive).









(More)










The Infinite Queue Approximation gives a fairly simple formula that allows you to









adjust the CV (coefficient of variation) for arrival and service times. Output includes









averages but not probabilities.










Assumptions: Identical Servers, Arrival Rate < (# Servers)(Service Rate)









(More)










The Finite Queue Simulation begins with no customers, and simulates using the









Gamma distribution for time between arrivals and for service times.









If CV (coefficient of variation) = 1.0, the Gamma is the same as the Exponential,









in which case the simulation results should converge to the Finite Queue Model.









For CV 1, the average queue should converge to a value similar to the









Infinite Queue Approximation, if the service capacity exceeds the arrival rate,









and if the simulation's queue capacity large enough.









Assumptions: Identical Servers, Gamma inter-arrival times, Gamma service times.









(More)










































The probability distributions of arrivals and service times do not change with time.









For example, you cannot model variations in the arrivals at different times of day.









The outputs are long run averages.










For example, if the model gives 9% probability that the queue is empty, it means that









9% of the time there will be no one waiting. But the 9% does not apply, for example, if









you start with no one waiting and watch the system for 15 minutes.































Your inputs always go in the yellow cells, like this:
























































































































The model also assumes that arrivals cease when the queue is full. This is "balking".




















There are S identical servers, and the queue can hold M customers.









Therefore the system can hold up to M+S customers (M in queue and S in service).



































































































If there is no waiting area at all, what fraction of the patients will leave without service?









How large should the waiting area be so that at least 95% of patients will be served?









If the waiting area holds 20 patients, how often will more than 10 be waiting?





















On the Finite Queue worksheet, put in S = 2, M = 0, l = 45 and m = 25.









Answer: Customers who Balk = 36.65%, so this is how many leave without service.









Choose larger values for M until Customers who Balk is below 5%. Answer: M=9.









Go to the Finite Queue Graph sheet to see the entire probability distribution displayed.









Put in M=20 and Q=10. Answer: 19.22%






















Using M=20 as the capacity of the waiting area, change the number of servers to 3









and watch what happens to the Finite Queue Graph.









Change the number of servers to 1 and watch what happens to the Finite Queue Graph.









Note that the queue is never empty when there is only one server to handle the load.





















































There are S identical servers, and the queue can hold an unlimited number of customers.









The arrival rate of customers is l, and the service rate is m for each server.


































































*The time units are the same as the ones you use for the arrival and service rates.

































































What is the average size of the waiting line, and how long is the average wait?









What percent of the time are more than 10 patients are waiting?









What is the probability that a patient will have to wait more than one-half of a day?









20% of the patients have severe injuries that require immediate attention. How long do









these "high-priority" patients have to wait, on average?









Does the use of a priority system change the total size of the waiting line?





















On the Infinite Queue worksheet, put in S = 2, l = 45 and m = 25.









This will cause Nq = 7.674 patients waiting, on average, and Tq = 0.1705 days waiting,









on average. (Tq is in days because the arrival rate is in customers per day.)









Put in Q = 10. Answer: 26.76%










Put in T = 0.5. Answer: 7%










Put in 0.8 as the fraction of priority 2 customers, and put 0 for priorities 3 and 4.









The result is Tq (1) = 0.0208 days for priority 1 customers.









No. Adding the waiting lines gives a total of 7.674, the same as part (a).























































There are S identical servers, and the queue can hold an unlimited number of customers.









The arrival rate of customers is l, and the service rate is m for each server.









CV(s) = Coefficient of Variation of Service Times:









CV(a) = Coefficient of Variation of Inter-arrival Times (i.e. times between arrivals):









Definition: CV = standard deviation divided by the mean.
































































What is the average service time?










The standard deviation of service time is 0.16 hours. What is its CV?









What is the average inter-arrival time?










The standard deviation of inter-arrival time is 0.1 hours. What is its CV?









What is the average size of the waiting line, and how long is the average wait?





















To serve 25 customers in 8 hours, service time must be 8/25 = 0.32 hours.









CV(s) = Standard Deviation divided by Average = 0.16/0.32 = 0.5









If 45 customers arrive in 8 hours, one arrives every 8/45 = 0.178 hours.









CV(a) = Standard Deviation divided by Average = 0.1/0.178 = 0.562









On the Infinite Queue Approx. worksheet, put in S = 2, l = 45, m = 25, CV(a) = 0.562









and CV(s) = 0.5. Result: Nq = 2.186 patients waiting, on average, and Tq = 0.0486 days









waiting, on average. (Tq is in days because the arrival rate is in customers per day.)





















































There are S identical servers, and the queue can hold unlimited customers.









The arrival rate of customers is l, and the service rate is m for each server.









CV(s) = Coefficient of Variation of Service Times:









CV(a) = Coefficient of Variation of Inter-arrival Times (i.e. times between arrivals):









Definition: CV = standard deviation divided by the mean.









Simulated time per repetition, RunLength: Time units per repetition of the simulation.








Time Units are defined by Arrival and Service Rates.









If you use customers per hour for the arrival rate,









You MUST use the SAME UNITS for the service rate, and









● The time units for the simulation will be "hours".









Repetitions (≤200), nReps = the number of times the simulation is repeated.









Data collection occurs after each repetition.










Number of Repetitions to Ignore, WarmUp = number of repetitions NOT included in








the summary statistics. If "Repetitions" = 12 and WarmUp = 3, then the summary









statistics will cover runs 4 to 12.














































































































Find the average number waiting and the probability that more than 5 are waiting.









What is the average waiting time for a customer?










What fraction of customers hang up without receiving service?









How do your answers compare to the theoretical values using the Finite Queue model?









If the CV of service time is reduced to 0.3, what is the effect on the answers to part (a)?









Comment on the changes that you see between the two results.





















On the Queue Simulation worksheet, put in S = 5, M = 10, l = 45 and m = 10.









Enter 1.0 for CV(a) and CV(s), and set RunLength = 100, nReps = 12, WarmUp = 2.









Then click the "Simulate" Button.










Answers: Your answers will differ because each simulation has different customers.









Average number waiting, Nq = 2.8 P(>5) in queue = 23%









Average Waiting Time (Tq) = 0.065 days Fraction who balk = 3.7%









Virtually the same: 2.73, 21.8%, 0.063 days, and 3.49%, respectively.









Same method except CV(s) = 0.3










Answers: Your answers will differ because each simulation has different customers.









Average number waiting = 2.4 P(>5) in queue = 16%









Average Waiting Time (Tq) = 0.054 days Fraction who balk = 1.4%









Less variablity of service means that the number of customers in the system remains









closer to the average. That lowers the probability of the system being full, which means









less balking. It also lowers the probability of a long queue.





















Change the RunLength to 10 and see what happens.









Note that the "Results" become much more variable. The simulation's accuracy depends









on a lot of observations.





































































No comments: