MGTSC 352 Lecture 23: Inventory Management Big Blue Congestion Management Introduction: Asgard Bank example Simulating a queue Types of congested systems, queueing template
BigBluePills, Inc. Expensive drug treatments Perishable – last only 3 months Order once every 3 months Regular cost: $400 per treatment If demand > order size, place rush order Rush cost: $1,000 per treatment Price to patient: $650 How much should they order? Pg. 161
Single period models Perishable product Past demand data Must decide how much to order before knowing actual demand for the period Must live with the consequences We’ve seen this before: it’s called the “newsvendor problem”
Five Years of Demand Data
Solution 1 Average demand = 18, so … –… let’s order 18 each quarter –Profit = 18 (650 – 400) = $4,500 –Right? Q < D lose ? / unit Q > D lose ? / unit Do these cancel out on average?
Tradeoffs Q > D wasted product –Lose $400 –On product bought but not sold Q < D loss on Sale –Lose $ $650 = $350 –On Rush order (no lost sales) If order = average demand each outcome will occur half the time. Is that what you want?
Solution 2: simulation Solution 1 predicted this profit with Q = 18
The Flaw of Averages When input is uncertain... output given average input may not equal the average output
Huh? Average BigBluePill demand = 18 Profit for Q = 18, given D = 18: $4,500 Average profit with Q = 18: $1,740 –Less than half Optimal Q = 20, with avg. profit: $1,786 Using avg. demand (ignoring variability) Seriously overestimates profit Results in a suboptimal decision
How bad can it get? What if rush cost is $1,800 (instead of $1,000) The “averaging analyst” will still recommend Q = 18 and estimate P = $4,500. The actual profit with Q = 18 will be -$565. Using Q = 20 generates P = $1,217 Using average inputs is a bad idea. “How bad” will depend on data.
In general Profit(AVERAGE(Demand 1, Demand 2, …, Demand n )) AVERAGE(Profit(Demand 1 ), Profit(Demand 2 ), …, Profit(Demand n ))
Simple example of the flaw of averages: A drunk on a highway Random walk
Consider the drunk’s condition The AVERAGE location of the drunk –Middle of the road The outcome at the middle of the road ALIVE What do you think the average outcome for the drunk is? DEAD Average inputs do not result in average outputs.
Congestion Asgard Bank ATM Pg. 168
Asgard Bank: Times Between Arrivals (pg. 173) pg. 168
Asgard Bank: Arrival Rate Given: avg. time between arrivals = 1.00 minute average arrival rate per hour = = ?
Asgard Bank: Service Times
Asgard Bank: Service Rate Given: avg. service time = 0.95 minutes average service rate per hour (if working continuously) = = Note: –the service rate is not the rate at which customers are served –it’s the rate at which customers could be served, if there were enough customers –service rate = capacity of a server
Asgard Bank – Collecting Data Real system: Record arrival time, service start, service end Compute inter-arrival times, service times, waiting time, time in system Simulating the system: Simulate inter-arrival times, service times Compute arrival time, service start, service end, time in system, waiting time
Why Do Customers Wait? Given: Average inter-arrival time = 1.00 min. Average service time = 0.95 min Customer arrives and begins service Customer leaves time Next customer arrives and begins service What’s missing from this picture?
What’s missing from this Picture? VARIABILITY!
Including Randomness: Simulation Service times: Normal distribution, mean = 57/3600 of an hour stdev = 10/3600 of an hour MAX(NORMINV(RAND(),57/3600,10/3600),0) Inter-arrival times: Exponential distribution, mean = 1/ 60 of an hour. (1/60)*LN(RAND()) To Excel …
Simulated Lunch Hour 1: 71 arrivals
Simulated Lunch Hour 2: 50 arrivals
Simulated Lunch Hour 3: Unused capacity
Causes of Congestion Higher than average number of arrivals Lower than average service capacity Lost capacity due to timing Lesson: For a service where customers arrive randomly, it is not a good idea to operate the system close to its average capacity
Anatomy of a Congested System (pg. 172) waiting room = queue potential customers parallel servers
Notation: M/M/s/K/N 1.Inter-arrival time distribution 2.Service time distribution M = exponential distribution G = general distribution 3.s = number of servers 4.K = max. # of customers allowed in system being served + waiting 5.N = population size K and N are left out when they are infinite
Types of Congested Systems We Will Analyze (pg. 173) TypeService time dist’n Inter- arrival time dist’n # of servers # that can wait # of potential customers M/M/sExponentialexponentials M/M/s/s+Cexponential sC Finite Population exponential s M M/G/1generalexponential1
Analyzing a Congested System (pg. 174) System Description Measures of Quality of Service Measures important to Servers Model of the System Inputs Outputs
System Description (mu) = service rate (per server per time unit) (lambda) = arrival rate (per time unit) s = number of servers C = maximum number that can wait in line = queue capacity M = number of potential customers S (sigma sub S) = standard deviation of service times
Measures of Quality of Service Wq = average time in queue W = average time in system Lq = average number of customers in queue L = average number of customers in system SL = service level = fraction of customers that wait less than some given amount of time PrBalk = fraction of customers that balk (do not enter system) PrWait = fraction of customers that wait
Measures Important to Servers (rho) = utilization = fraction of time each server is busy
And now the formulas for the simplest case: M / M / 1 Or would you prefer an Excel template?
Template.xls Does calculations for –M/M/s –M/M/s/s+C –M/M/s/ /M –M/G/1 Want to know more? Go to Asgard Bank Data –Model: M/G/1 –Arrival rate: 1 per minute –Average service time: 57/60 min. –St. dev of service time: 10/60 min.
Asgard Conclusions The ATM is busy 95% of the time. Average queue length = 9.3 people Average no. in the system = (waiting, or using the ATM) Average wait = 9.3 minutes What if the arrival rate changes to … –1.05 / min.? –1.06 / min.?