Download presentation
Presentation is loading. Please wait.
1
Mathematics for Business Decisions, Part 1.5a Managing ATM Queues
2
Background Branch office of People's Bank has 3 ATM's. Manager wants to determine what level of service to provide – how many ATM's to open and how to configure the queues.
3
Queuing Models Standard Model: Queue forms at each server, and customer at front of queue is routed to server when it becomes available. Serpentine Model: Single queue forms, and customer at front of queue is routed to first available server.
4
Six Advertising Claims Manager is considering six possible advertising claims: Mean waiting time is at most 1 minute. No one will wait more than 12 minutes. At most 5% of customers will be delayed. Mean number of people in queue will not exceed 8. At most 3% of customers will be irritated. Total number present will never exceed 10.
5
Queue Data.xls Data on ATM usage for 5 week period. Arrival times of customers during 9 a.m. hour on Fridays. Arrival times of customers during 9 p.m. hour on Fridays. Service times during first week.
6
Objective Based only on 9 a.m. hour on Fridays, how many ATM’s should be opened and what queuing model should be used to validate each advertising claim during 9-10 a.m. period? Based only on 9 p.m. hour on Fridays, how many ATM’s should be opened and what queuing model should be used to validate each advertising claim during 9-10 p.m. period? What is the expected cost of the gift certificate program? How would this change if it is estimated that only 60% of eligible will decide to claim the gift?
7
Cost of Gift Certificate Prog. Suppose that three ATM’s are used with a serpentine queue during the 9:00 a.m. hour on Fridays. Arriving customers take numbered slips from a dispenser. It would be possible to upgrade the slip dispenser to a machine that stamps the current time and date on each customer’s slip. Given this, and the time stamped transaction record ticket from the ATM, a customer could document his or her waiting time. When the purchase price of the time stamp queuing machine, its hourly maintenance cost, and its operating cost are considered; it will cost $20 per hour to time stamp customers’ queuing slips.
8
The bank manager is considering installing a time stamp machine and offering a $25 gift to any customer who is delayed (waits more than 5 minutes). What is the expected hourly cost of such a plan? How would this change if it is estimated that only 60% of eligible customers would decide to claim the gift?
9
Assumptions No one is using an ATM or waiting for a machine at start of hour. Service times for each ATM have same distribution as that sampled in Week 1. Time until first arrival and times between arrivals of customers have same distribution. In standard model, arriving customers enter shortest of queues. If queues are same length, customer selects queue at random.
10
Random Variables A: time (in minutes) between consecutive arrivals or until first arrival at 9 a.m. hour on Fridays. A ~ exp(0.52) Why? B: time (in minutes) between consecutive arrivals or until first arrival at 9 p.m. hour on Fridays. B ~ exp(1.92) Why? S: service time (in minutes) Distribution of service times is unknown.
11
Random Variables (9:00 AM) Let i = 1, 2, or 3 ATM’s W i : waiting time (in minutes) between the arrival of a customer during the 9 a.m. hour on Fridays and start of his/her service. Q i : number of people being served, or waiting to be served, when a new customer arrives at the 9 a.m. hour on Fridays. C i : total number of people present when a new customer arrives during the 9 a.m. hour on Fridays.
12
Random Variables (9:00 PM) Let i = 1, 2, or 3 ATM’s U i : waiting time (in minutes) between the arrival of a customer during the 9 p.m. hour on Fridays and start of his/her service. R i : number of people being served, or waiting to be served, when a new customer arrives at the 9 p.m. hour on Fridays. D i : total number of people present when a new customer arrives during the 9 p.m. hour on Fridays.
13
Probability Distributions These are found for the case of the data given to your team by adjusting the Queue Focus.xls file. Waiting times between customers (9:00 AM), pmf and pdf.
14
Probability Distributions Waiting times between customers (9:00 PM) distributions
15
Service Times Histograms for service times for class project
16
Simulation Monte Carlo: Probability distribution is known Bootstrapping: Probability distribution is unknown Your role: Bank Managers trying to decide about whether your advertising claims are satisfied, and work according what the simulation suggests. From the simulation, we would like to find the following numbers: E(W)= measure of quality of your service E(Q)=measure of customer satisfaction Max C=another measure of customer satisfaction Max W=measure of quality of your service P(W greater or equal to 5 minutes)=Measure of delay P(Q greater or equal to 3 people)=Measure of irritation Remember: W (waiting b/w customers), Q (queue), C (crowding), S (service time)
17
Preliminary Adjust the three worksheets in Queue Focus.xls (Data, Histograms, Random Sampling) so that they fit the data assigned to your team Create the probability distributions for your team data for the 9:00AM and 9:00 PM hours, as well as the service times as displayed on the sheet Random Sampling described above. Investigate how a local business (foodstore, fastfood place, bank, stadium, etc) decides about its queues by contacting them. You will be given 5 bonus points for doing this. Find the definitions of the following 9 terms:“random sampling”, “bootstrapping”, “Monte Carlo method”, “simulation”, “discrete (or finite) random variable”, “continuous random variable”, pmf, pdf, and cdf, in your electronic textbook, or on the web. Make sure the preliminary has the probability distributions (graphs from the “Random Sampling” sheet) for your team data. Submit your preliminary powerpoint presentation at the D2L discussion board by the date posted.
18
1 ATM Time of arrival of first customer (F35) Randomly selected observation from exp(0.52) =-0.52*LN(1-RAND())
19
1 ATM (continued) Length of service (G35) Randomly selected observation from sample of 7634 service times for Week 1 =VLOOKUP(RANDBETWEEN(1,7634),Table_array,2) Start of service (H35) Time of arrival =F35 End of service (I35) Start of service + length of service =H35+G35
20
Simulation: 1 ATM (continued) Waiting time (J35) Start of service – time of arrival =H35-F35 Delayed? (K35) If waiting time > 5 Then “yes” Else “no” =IF(J35>5,"yes","no") Number in queue (L35) 0
21
1 ATM (continued) Time of arrival of second customer (F36) Time of arrival of preceding customer + randomly selected observation from exp(0.52) =F35-0.52*LN(1-RAND()) Length of service (G36) Same as for preceding customer =VLOOKUP(RANDBETWEEN(1,7634),Table_array,2) Start of service (H36) Maximum of time of arrival of current customer and end of service for preceding customer =MAX(F36,I35)
22
1 ATM (continued) End of service (I36) Same as for preceding customer =H36+G36 Waiting time (J36) Same as for preceding customer =H36-F36 Delayed? (K36) Same as for preceding customer =IF(J36>5,"yes","no")
23
1 ATM (continued) Number in queue (L36) Number of end of service times that are greater than or equal to time of arrival of current customer =DCOUNT($I$34:I35,,Y35:Y36) Caution regarding formulas Y 34 35=(F$36<=I35)
24
Summary Statistics Mean waiting time = Maximum waiting time Percent delayed = Mean queue length = Percent irritated Maximum total number present = maximum number in queue sum of waiting times number of customers number of customers delayed number of customers sum of numbers in queue number of customers
25
2 ATM's Time of arrival of first customer (F35) Randomly selected observation from exp(0.52) =-0.52*LN(1-RAND()) Length of service (G35) Randomly selected observation from sample of 7634 service times for Week 1 =VLOOKUP(RANDBETWEEN(1,7634),Table_array,2) Number in queue for ATM 1 (H35) 0 Number in queue for ATM 2 (K35) 0
26
2 ATM's (continued) Start of service at ATM 1 (I35) If ATM 1 selected Then time of arrival Else blank =IF(RANBETWEEN(1,2)=1,F35,"") End of service at ATM 1 (J35) If ATM 1 selected Then start of service + length of service Else 0 =IF(ISNUMBER(I35),I35+G35,0)
27
2 ATM's (continued) Start of service at ATM 2 (L35) If ATM 1 selected Then blank Else time of arrival =IF(ISNUMBER(I35)"",F35) End of service at ATM 2 (M35) If ATM 2 selected Then start of service + length of service Else 0 =IF(ISNUMBER(L35),L35+G35,0)
28
2 ATM's (continued) Waiting time (N35) 0 Delayed? (O35) If waiting time > 5 Then “yes” Else “no” =IF(N35>5,"yes","no") Number in queue (P35) Minimum of numbers in queues =MIN(H35,K35) Total number present (R35) Sum of numbers in queues =H35+K35
29
2 ATM's (continued) Time of arrival of second customer (F36) Time of arrival of preceding customer + randomly selected observation from exp(0.52) =F35-0.52*LN(1-RAND()) Length of service (G36) Same as for preceding customer =VLOOKUP(RANDBETWEEN(1,7634),Table_array,2)
30
2 ATM's (continued) Number in queue for ATM 1 (H36) Number of end of service times at ATM 1 that are greater than or equal to time of arrival of current customer =DCOUNT($J$34:J35,,AG35:AG36) Number in queue for ATM 2 (K36) Number of end of service times at ATM 2 that are greater than or equal to time of arrival of current customer =DCOUNT($M$34:M35,,AJ35:AJ36)
31
2 ATM's (continued) Start of service at ATM 1 (I36) If # in queue for ATM 1 < # in queue for ATM 2 Then max. of time of arrival of current customer and end of service for preceding customer Else If # in queue for ATM 1 = # in queue for ATM 2 Then If ATM 1 selected Then max. of time of arrival of current customer and end of service for preceding customer Else blank =If(H36<K36,MAX($J$35:J35,F36),IF(H36=K36,IF(RAN DBETWEEN(1,2)=1,MAX($J$35:J35,F36),""),""))
32
2 ATM's (continued) End of service at ATM 1 (J36) Same as for preceding customer =IF(ISNUMBER(I36),I36+G36,0) Start of service at ATM 2 (L36) If ATM 1 selected Then blank Else max. of time of arrival of current customer and end of service for preceding customer =IF(ISNUMBER(I36)"",MAX($M$35:M35,F36)) End of service at ATM 2 (M36) Same as for preceding customer =IF(ISNUMBER(L36),L36+G36,0)
33
2 ATM's (continued) Waiting time (N36) Start of service – end service at ATM selected =IF(ISNUMBER(I36),I36-F36,L36-F36) Delayed? (O36) Same as for preceding customer =IF(N36>5,"yes","no") Number in queue (P36) Same as for preceding customer =MIN(H36,K36) Total number present (R36) Same as for preceding customer =H36+K36
34
3 ATM's Time of arrival of first customer (F35) Randomly selected observation from exp(0.52) =-0.52*LN(1-RAND()) Length of service (G35) Randomly selected observation from sample of 7634 service times for Week 1 =VLOOKUP(RANDBETWEEN(1,7634),Table_array,2) Number in queue for ATM 1 (H35) 0 Number in queue for ATM 2 (K35) 0 Number in queue for ATM 3 (N35) 0
35
3 ATM's (continued) Start of service at ATM 1 (I35) If ATM 1 selected Then time of arrival Else blank =IF(RANBETWEEN(1,3)=1,F35,"") End of service at ATM 1 (J35) If ATM 1 selected Then start of service + length of service Else 0 =IF(ISNUMBER(I35),I35+G35,0)
36
3 ATM's (continued) Start of service at ATM 2 (L35) If ATM 1 selected Then blank Else If ATM 2 selected Then time of arrival Else blank =IF(ISNUMBER(I35)"",IF(RANDBETWEEN(1,2)=1,F35,"") End of service at ATM 2 (M35) If ATM 2 selected Then start of service + length of service Else 0 =IF(ISNUMBER(L35),L35+G35,0)
37
3 ATM's (continued) Start of service at ATM 3 (O35) If ATM's 1 or 2 selected Then blank Else time of arrival =IF(OR(ISNUMBER(I35),ISNUMBER(L35)),""F35) End of service at ATM 3 (P35) If ATM 3 selected Then start of service + length of service Else 0 =IF(ISNUMBER(O35),LO5+G35,0)
38
3 ATM's (continued) Waiting time (Q35) 0 Delayed? (R35) If waiting time > 5 Then “yes” Else “no” =IF(Q35>5,"yes","no") Number in queue (S35) Minimum of numbers in queues =MIN(H35,K35,N35) Total number present (T35) Sum of numbers in queues =H35+K35+N35
39
3 ATM's (continued) Time of arrival of second customer (F36) Time of arrival of preceding customer + randomly selected observation from exp(0.52) =F35-0.52*LN(1-RAND()) Length of service (G36) Same as for preceding customer =VLOOKUP(RANDBETWEEN(1,7634),Table_array,2)
40
3 ATM's (continued) Number in queue for ATM 1 (H36) Number of end of service times at ATM 1 that are greater than or equal to time of arrival of current customer =DCOUNT($J$34:J35,,AJ35:AJ36) Number in queue for ATM 2 (K36) Number of end of service times at ATM 2 that are greater than or equal to time of arrival of current customer =DCOUNT($M$34:M35,,AM35:AM36) Number in queue for ATM 3 (N36) Number of end of service times at ATM 3 that are greater than or equal to time of arrival of current customer =DCOUNT($P$34:P35,,AP35:AP36)
41
3 ATM's (continued) Start of service at ATM 1 (I36) If # in queue for ATM 1 < min. of # in queue for ATM 2 and # in queue for ATM 3 Then max. of time of arrival of current customer and end of service for preceding customer Else If # in queue for ATM 1 > min. of # in queue for ATM 2 and # in queue for ATM 3 Then blank Else If # in queue for ATM 2 = # in queue for ATM 3 Then If ATM 1 selected Then max. of time of arrival of current customer and end of service for preceding customer Else blank Else If ATM 1 selected Then max. of time of arrival of current customer and end of service for preceding customer Else blank
42
3 ATM's (continued) Start of service at ATM 1 (I36) (continued) =IF(H36 MIN(K36,N36),"",IF(K36=N36,IF(RANDBETWEEN(1,3) =1,MAX($J$35:J35,F36),""),IF(RANDBETWEEN(1,2)=1, MAX($J$35:J35,F36),"")))) End of service at ATM 1 (J36) Same as for preceding customer =IF(ISNUMBER(I36),I36+G36,0)
43
3 ATM's (continued) Start of service at ATM 2 (L36) If ATM 1 is selected Then blank Else If # in queue for ATM 2 < # in queue for ATM 3 Then max. of time of arrival of current customer and end of service for preceding customer Else If # in queue for ATM 2 = # in queue for ATM 3 Then If ATM 2 is selected Then max. of time of arrival of current customer and end of service for preceding customer Else blank
44
3 ATM's (continued) Start of service at ATM 2 (L36) (continued) =IF(ISNUMBER(I36),"",IF(K36<N36,MAX($M$35:M35, F36),IF(K36=N36,IF(RANDBETWEEN(1,2)=1,MAX($M $35:M35,F36),""),""))) End of service at ATM 2 (M36) Same as for preceding customer =IF(ISNUMBER(L36),L36+G36,0)
45
3 ATM's (continued) Start of service at ATM 3 (O36) If ATM's 1 or 2 selected Then blank Else max. of time of arrival of current customer and end of service for preceding customer =IF(OR(ISNUMBER(I36),ISNUMBER(L36)),"",MAX($P$3 5:P35,F36)) End of service at ATM 3 (P36) Same as for preceding customer =IF(ISNUMBER(O36),O36+G36,0)
46
3 ATM's (continued) Waiting time (Q36) Start of service – end service at ATM selected =IF(ISNUMBER(I36),I36-F36,IF(ISNUMBER(L36),L36- F36),O36-F36)) Delayed? (R36) Same as for preceding customer =IF(Q36>5,"yes","no") Number in queue (S36) Same as for preceding customer =MIN(H36,K36,N36) Total number present (T36) Same as for preceding customer =H36+K36+N36
47
3 ATM's: Serpentine Time of arrival of first customer (F35) Randomly selected observation from exp(0.52) =-0.52*LN(1-RAND()) Length of service (G35) Randomly selected observation from sample of 7634 service times for Week 1 =VLOOKUP(RANDBETWEEN(1,7634),Table_array,2)
48
3 ATM's: Serpentine (continued) Number ahead at ATM 1 (H35) 0 Start of service at ATM 1 (I35) If ATM 1 selected Then time of arrival Else blank =IF(RANBETWEEN(1,3)=1,F35,"") End of service at ATM 1 (J35) If ATM 1 selected Then start of service + length of service Else 0 =IF(ISNUMBER(I35),I35+G35,0)
49
3 ATM's: Serpentine (continued) Number ahead for ATM 2 (K35) 0 Start of service at ATM 2 (L35) If ATM 1 selected Then blank Else If ATM 2 selected Then time of arrival Else blank =IF(ISNUMBER(I35)"",IF(RANDBETWEEN(1,2)=1,F35,"") End of service at ATM 2 (M35) If ATM 2 selected Then start of service + length of service Else 0 =IF(ISNUMBER(L35),L35+G35,0)
50
3 ATM's: Serpentine (continued) Number ahead at ATM 3 (N35) 0 Start of service at ATM 3 (O35) If ATM's 1 or 2 selected Then blank Else time of arrival =IF(OR(ISNUMBER(I35),ISNUMBER(L35)),""F35) End of service at ATM 3 (P35) If ATM 3 selected Then start of service + length of service Else 0 =IF(ISNUMBER(O35),LO5+G35,0)
51
3 ATM's: Serpentine (continued) Waiting time (Q35) 0 Delayed? (R35) If waiting time > 5 Then “yes” Else “no” =IF(Q35>5,"yes","no") Number in queue (S35) Minimum of 0 and sum of numbers ahead – 2 =IF(MIN(H35,K35,N35)=0,0,SUM(H35,K35,N35)-2) Total number present (T35) Sum of numbers ahead =H35+K35+N35
52
3 ATM's: Serpentine (continued) Time of arrival of second customer (F36) Time of arrival of preceding customer + randomly selected observation from exp(0.52) =F35-0.52*LN(1-RAND()) Length of service (G36) Same as for preceding customer =VLOOKUP(RANDBETWEEN(1,7634),Table_array,2) Number ahead at ATM 1 (H36) Number of end of service times at ATM 1 that are greater than or equal to time of arrival of current customer =DCOUNT($J$34:J35,,AJ35:AJ36)
53
3 ATM's: Serpentine (continued) Start of service at ATM 1 (I36) If min. of end of service for all preceding customers > time of arrival of current customer Then If end of service for preceding customer at ATM 1 < min. of end of service for preceding customers at ATM's 2 & 3 Then end of service for preceding customer at ATM 1 Else blank Else If end of service for preceding customer at ATM 1 > time of arrival of current customer Then blank Else If min. of end of service for preceding customers at ATM's 2 & 3 > time of arrival of current customer Then time of arrival of current customer Else If max. of end of service for preceding customers at ATM's 2 & 3 <= time of arrival of current customer Then If ATM 1 selected Then time of arrival of current customer Else blank Else If ATM 1 selected Then time of arrival of current Else blank
54
3 ATM's: Serpentine (continued) Start of service at ATM 1 (I36) (continued) =IF(MIN(MAX($J$35:J35),MAX($M$35:M35),MAX($P$ 35:P35))>F36,IF(MAX($J$35:J35) F36,"",IF(MIN(MAX($M$35:M35),MAX($P$3 5:P35))>F36,F36,IF(MAX(MAX($M$35:M35),MAX($P$ 35:P35))<=F36,IF(RANDBETWEEN(1,3)=1,F36,""),IF(R ANDBETWEEN(1,2)=1,F36,""))))) End of service at ATM 1 (J36) Same as for preceding customer =IF(ISNUMBER(I36),I36+G36,0)
55
3 ATM's: Serpentine (continued) Number ahead at ATM 2 (K36) Number of end of service times at ATM 2 that are greater than or equal to time of arrival of current customer =DCOUNT($M$34:M35,,AM35:AM36) Start of service at ATM 2 (L36) If ATM 1 is selected Then blank Else If min. of end of service for preceding customers at ATM's 2 & 3 > time of arrival of current customer Then If end of service for preceding customer at ATM 2 <= end of service for preceding customer at ATM 3 Then end of service for preceding customer at ATM 2 Else blank Else If end of service for preceding customer at ATM 2 > time of arrival of current customer Then blank Else If end of service at ATM 3 <= time of arrival of current customer Then If ATM 2 selected Then time of arrival of current customer Else blank Else time of arrival of current customer
56
3 ATM's: Serpentine (continued) Start of service at ATM 2 (L36) (continued) IF(ISNUMBER(I36),"",IF(MIN(MAX($M$35:M35),MAX ($P$35:P35))>F36,IF(MAX($M$35:M35) F36," ",IF(MAX($P$35:P35)<=F36,IF(RANDBETWEEN(1,2)= 1,F36,""),F36)))) End of service at ATM 2 (M36) Same as for preceding customer =IF(ISNUMBER(L36),L36+G36,0)
57
3 ATM's: Serpentine (continued) Number ahead at ATM 3 (N36) Number of end of service times at ATM 3 that are greater than or equal to time of arrival of current customer =DCOUNT($P$34:P35,,AP35:AP36) Start of service at ATM 3 (O36) If ATM's 1 or 2 selected Then blank Else max. of time of arrival of current customer and end of service for preceding customer =IF(OR(ISNUMBER(I36),ISNUMBER(L36)),"",MAX($P $35:P35,F36)) End of service at ATM 3 (P36) Same as for preceding customer =IF(ISNUMBER(O36),O36+G36,0)
58
3 ATM's: Serpentine (continued) Waiting time (Q36) Start of service – end service at ATM selected =MAX(I36,O36,L36)-F36 Delayed? (R36) Same as for preceding customer =IF(Q36>5,"yes","no") Number in queue (S36) Same as for preceding customer =IF(MIN(H36,K36,N36)=0,0,SUM(H36,K36,N36)-2) Total number present (T36) Same as for preceding customer =H36+K36+N36
59
Results
60
Results (continued) ClaimNumber Required Mean Wait: Mean waiting time is at most 1 min. 3 ATM’s Maximum Wait: No one will wait more than 12 minutes. 3 ATM’s Serpentine Percent Delayed: At most 5% will be delayed. 3 ATM’s Mean Queue: Mean number of people in the queue will not exceed 8. 2 ATM’s Percent Irritated: At most 2% will be irritated. 3 ATM’s Maximum Present: The total number present will never exceed 10. Cannot be achieved
61
Results (continued)
62
ClaimNumber Required Mean Wait: Mean waiting time is at most 1 min. 2 ATM’s Maximum Wait: No one will wait more than 12 minutes. 2 ATM’s Percent Delayed: At most 5% will be delayed. 1 ATM Mean Queue: Mean number of people in the queue will not exceed 8. 1 ATM Percent Irritated: At most 2% will be irritated. 2 ATM’s Maximum Present: The total number present will never exceed 10. 2 ATM's
63
Results (continued) Our simulations can now be used to find the expected cost of the manger’s proposed gift certificate plan. With a mean time of 0.52 minutes between arrivals, we would expect to average approximately 60/0.52 115.4 customers per hour. Our estimate for the probability that a customer will be delayed is 0.003. Hence, the expected number of delayed customers per hour is 115.4 0.003 = 0.3462. Since the gift certificates are worth $25, the expected cost of gift certificates per hour is $25 0.3462 $8.66. Adding the $20 hourly cost for the up-graded slip dispenser, we find that the expected hourly cost of the gift certificate program is $28.66. Experience shows that not everyone who is delayed and is entitled to a certificate will actually claim the $25 that is offered. If we suppose that only 60% of those who are delayed will redeem their certificates, then the expected number of customers who will receive and use a certificate is 0.3462 0.6 0.2077 per hour.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.