250 likes | 562 Views
On Priority Queues with Impatient Customers:. Seminar in Operations Research 01/01/2007. Exact and Asymptotic Analysis. Luba Rozenshmidt. Advisor: Prof. Avishai Mandelbaum. Flow of the Talk. Environments with heterogeneous customers Call Centers: Overview
E N D
On Priority Queues with Impatient Customers: Seminar in Operations Research 01/01/2007 Exact and Asymptotic Analysis Luba Rozenshmidt Advisor: Prof. Avishai Mandelbaum
Flow of the Talk • Environments with heterogeneous customers • Call Centers: Overview • Background – exact and asymptotic results • Erlang-C with priorities • Erlang-A with priorities • Asymptotic results: the lowest priority • Asymptotic results: other priorities • Additional results and future research
Environments with Priority Queues Customers differ by their needs, spoken languages, potential profit, urgency ... • Hospitals: patients – urgent, regular, surgical, … • Banks: customers – private, organizations, Platinum, Gold … • Supermarkets: cashiers – express, regular • Call Centers Examples
Call Centers: Priority Queues with Impatient Customers • Call centers are the primary contact channel between service providers and their customers U.S. Statistics • Over 60% of annual business volume via the telephone • 70,000 – 200,000 call centers • 3 – 6.5 million employees (3% – 6% workforce) • 20% annual growth rate • $100 – $300 billion annual expenditures • 1000’s agents in a “single" call center (large systems) • Human aspects (impatience, abandonment).
Erlang-C (M/M/N) Background N 0 1 N+1 N-1 μ 2μ (N-1)μ Nμ Nμ Nμ • Arrivals : Poisson(λ) • Service: exp(μ) • Number of Servers: N • Utilization ρ (=λ/Nμ)<1 Steady State Erlang-C Formula
N N-1 0 1 N+1 μ 2μ (N-1)μ Nμ Nμ+θ Nμ+2θ Erlang-A (M/M/N+M) Background • Arrivals : Poisson(λ) • Service: exp(μ) • Number of Servers: N • Individual Patience:exp(θ) • Steady State always exists • Offered Load per server ρ=λ/Nμ Erlang-A Formula Note:
Asymptotics: Background Define: = Offered Load. • Operational Regimes • ED • QD • QED ; Utilization 100%, P(Wait) ≈ 1. Short waiting time for agents, P(Wait) ≈ 0. Balance between high utilization of servers and service quality P(Wait) ≈ α, 0 < α < 1 Erlang-C: Halfin-Whitt, 1981 Erlang-A: Garnett-Mandelbaum-Reiman, 2002
Erlang- A/C: Excursions N,N-1 • T = Avg. Busy Period • T = Avg. Idle Period N N+1 N-1 0 1 N-1,N Nμ μ 2μ (N-1)μ μ μ N N+1 Idle Period Busy Period lim rate rate lim
Queues with Priorities • N i.i.d. servers • Kcustomer types, indexed k = 1, 2, …, K • Type j has apriorityover type k • FCFS within each type queue • where is offered load per server • allocated to class k • Type k • Poisson Arrivals at rateλ • Exponential service at rateμ • Exponential Patience with rate θ ( Total =M/M/N(+M)) k d High priority interrupts lower ones • Preemptive Priority • Non-Preemptive Priority Service interruptions not allowed
Some Notation: Priority Queues avg. waiting time of type k under Preemptive priority avg. waiting time of k first typesunder Preemptive priority Similarly: avg. waiting time of all typesunder Preemptive priority avg. total number of delayed customers under Preemptive priority Similarly: Non-Preemptive
Some Notation: Related M/M/N(+M) Systems avg. waiting time in M/M/N (+M)with arrival rate λ k avg. waiting time in M/M/N (+M) with arrival rate avg. waiting time in M/M/N (+M) with arrival rate Similarly:
Preemptive Priority Example: K=2 Note: does not depend on service policy Calculation of average wait of classk, , k=1,2 1) 2)
Expected Waiting Time – Recursion based on Little’s Law Preemptive Priority Step 1: Step 2: Step 3: The Same Recursion for M/M/N and M/M/N+M Queues!
Non-Preemptive Priority:Erlang-C Queues Kella & Yechielly (1985) proofs via model with vacations: Here - fraction of time spent with types 1, …, k Explanation
Non-Preemptive Priority:Erlang-C Queues By PASTA Erlang-C Diagram Avg. Queue length (given wait) M/M/N, Avg. Busy-Period duration M/M/1,
Non-Preemptive Priority:Erlang-A Queues • The Highest Priority: (Delay probability does not depend on the service discipline)
Non-Preemptive Priority:Transition-Rate Diagram 1 1 1 N,1,0 1,0,0 2,0,0 N-1,0,0 N,0,0 N,3,0 0,0,0 Nμ+θ N,2,0 Nμ+2θ Nμ μ 2μ 2 2 2 Nμ+θ θ θ θ 1 1 1 2 N,0,1 N,1,1 N,2,1 N,3,1 Nμ+θ L Nμ+2θ 2 2 Nμ+2θ 2θ 2θ 2θ 2 1 1 1 2 N,3,2 N,0,2 N,1,2 N,2,2 Nμ+θ Nμ+2θ 1 1 1 L 1 N,1 N,2 N,3 N,0 + Nμ+θ Nμ+2θ Nμ+3θ
Non-Preemptive Priority: K Types Step 1: The Algorithm Step 2: ”Merge” the first k types to a single type with Step 3:
Towards : Example K=2 Non-Preemptive Preemptive
Many Servers QEDExample K=2 QED Assume: Type2isnot negligible: the same convergence rate! “QD | Wait” QD the same limit!
Many Servers EDExample K=2 ED: Assume: Type2isnot negligible: the same convergence rate! (=1) the same limit!
Many Servers , QED, ED Higher Priorities, Non-Preemptive: Erlang A = C Higher priorities in Erlang –A enjoy QD regime (given they wait) hence “Erlang-C” performance • Erlang-C • Erlang-A that is Erlang-A Erlang-C
Additional Applications:Time-Varying Queues • Time-stable performance under time-varying arrivals • ISA = Iterative Staffing Algorithm (Feldman Z. et. al. ) • Comparison with common practice (PSA, Lagged PSA) in four real call-centers • Extension of ISA to priority queues • Analysis of the effect of service-time distribution (Log-Normal in practice)
Future Research Preemptive and Non-preemptive priority • Waiting-time distribution with current assumptions • Analysis of waits with different service/abandonment rates • Waiting-time distribution with different service / abandonment rates • Theoretical explanation of stationary ISA performance • The impact of the service-time distribution in the QED regime Time-varying arrival rates Heavy-traffic approximations