1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate
2 Optimal Staffing of Systems with Skills- Based-Routing OR seminar, July 21, 2008 Zohar Feldman Advisor: Prof. Avishai Mandelbaum
3 Contents Skills-Based-Routing (SBR) Models The Optimization Problem Related Work Optimization Algorithm (Stochastic Approximation) Experimental Results Future Work
4 Introduction to SBR Systems I – set of customer classes J – set of server pools Arrivals for class i : renewal (e.g. Poisson) processes, rate λ i Servers in pool j : N j, statistical identical Service of class i by pool j: D S i,j (Im)patience of class i: D P i Schematic Representation
5 Introduction to SBR Systems Routing Arrival Control: upon customer arrival, which of the available servers, if any, should be assigned to serve the arriving customer Idleness Control: upon service completion, which of the waiting customers, if any, should be admitted to service
6 The Optimization Problem We consider two optimization problems: Cost Optimization Constraints Satisfaction
7 The Optimization Problem Cost Optimization Problem f k (N) – service level penalty functions Examples: f k (N) = c’ k λ k P N {ab k } – cost of abandonments per time unit f k (N) = λ k E N [c’ k (W k )] – waiting costs
8 The Optimization Problem Constraints Satisfaction Problem f k (N) – service level objective Examples f k (N) = P N {W k >T k } – probability of waiting more than T time units f k (N) = E N [W k ] – expected wait
9 Related Work Call Centers Review (Gans, Koole, Mandelbaum) V model (Gurvich, Armony, Mandelbaum) Inverted-V model (Armony, Mandelbaum) FQR (Gurvich, Whitt) Gcµ (Mandelbaum, Stolyar) Simulation & Cutting Planes (Henderson, Epelman) Staffing Algorithm (Whitt, Wallace) ISA (Feldman, Mandelbaum, Massey, Whitt) Stochastic Approximation (Juditsky, Lan, Nemirovski, Shapiro)
10 Simulation Approach Need to evaluate Generate samples ω 1, ω 2,… Estimate
11 Stochastic Approximation (SA) Uses Monte-Carlo sampling techniques to solve (approximate) - convex set ξ – random vector, probability distribution P supported on set Ξ - convex almost surely
12 Stochastic Approximation – Basic Assumptions f(x) is analytically intractable There is a sampling mechanism that can be used to generate iid samples from Ξ There is an Oracle at our disposal that returns for any x and ξ The value F(x,ξ) A stochastic subgradient G(x,ξ)
13 SA for SBR f(x) – analytically intractable Sampling mechanism for generating samples ξ 1, ξ 2,… Oracle returns F(x, ξ i ) Oracle returns G(x, ξ i ) F convex a.s. ! f(N) – analytically intractable SBR simulation generates sample paths ω 1, ω 2,… Simulation calculates performance measures F(N,ω i ) G(N,ω i ) - finite differences F convex a.s. ?
14 Stochastic Approximation - Algorithms Basic SA θ depends on strong convexity constant Objective convergence rate - O(j -1 ). ( error of solution O(j -0.5 ) )
15 Stochastic Approximation - Algorithms Robust SA θ does not depend on any parameter (robust) Objective convergence rate - O(J -0.5 )
16 Stochastic Approximation - Algorithms Mirror Descent SA In order to guarantee accuracy ε with confidence level δ, one should use J of order O(ε -2 ) dependent on δ logarithmically
17 Stochastic Approximation - Algorithms Minimax Problems which is the same as solving the Saddle Point problem
18 Stochastic Approximation - Algorithms Mirror SA for Saddle Point Problem In order to guarantee accuracy ε with confidence level δ, one should use J of order O(ε -2 ) dependent on δ logarithmically
19 Optimization Algorithms Let Ω be the probability space formed by arrival, service and patience times. f(N) can be represented in the form of expectation. For instance, D(N,ω) is the number of Delayed customers A(ω) is the number of Arrivals Use simulation to generate samples ω and calculate F(N,ω) Subgradient is approximated by
20 Cost Optimization Algorithm – Initialization i ← 0 ; Choose x 0 from X – Step 1 Generate F k (x i,ξ i ) and G k (x i,ξ i ) using simulation – Step 2 x i+1 ←Π X (x i - γG k (x i,ξ i )) – Step 3 i ← i+1 – Step 4 If i < J go to Step 1. – Step 5
21 Cost Optimization Algorithm Denote: Theorem: using, and we achieve
22 Constraints Satisfaction Algorithm Basic concept: There exist a solution with cost C that satisfies the Service Level constraints if”f where Look for the minimal C in a binary search fashion
23 CS Algorithm – Formal Procedure Initialization dC ←C max, x←x max /2, x* ←x max Step 1 If dC<δ return the solution x*, dC ← dC/2 Step 2 If Feasible ( x )=true, C ← C-dC, x* ← x,, go to Step 1 Step 3 x ←MirrorSaddleSA(C) Step 4 If Feasible ( x )=true, C ← C-dC, x* ← x,, go to Step 1 Step 5 C ← C+dC, go to Step 1
24 CS Algorithm – MirrorSaddle Subprocedure Sub-procedure MirrorSaddleSA
25 CS Algorithm – MirrorSaddle Subprocedure Sub-procedure MirrorSaddleSA Mapping Function
26 CS Algorithm – Feasible Subprocedure Sub-procedure Feasible [lb k (n), ub k (n)] – confidence interval for f k based on n samples 1. If ub k (n)≤α k +δ for all k=1,…,K return true 2. If lb k (n)>α k +δ for some k=1,…,K return false 3. Generate sample, n ←n+batch, calculate confidence interval [lb k (n), ub k (n)]. Go to 1.
27 CS Algorithm Denote: Theorem: using, and we achieve
28 Experimental Results Goals Examine algorithm performance Explore the geometry of the service level functions, validate convexity Method Construct SL functions by simulation Compare algorithm solution to optimal
29 Cost Optimization 1: Penalizing Wait N model ( I=2,J=2 ) λ 1 = λ 2 =100 µ 11 =1, µ 21 =1.5, µ 22 =2 Static Priority: class1 customers prefer pool 1 over pool 2. Pool 2 servers prefer class 1 customers over class
30 Cost Optimization 1: Penalizing Wait Problem Formulation
31 Cost Optimization 1: The Objective Function
32 Cost Optimization 1: Penalizing Wait Algorithm solution : N=(88,47), cost=190 Optimal solution: N*=(80,54), cost*=188
33 Cost Optimization 2: Penalizing Abandonments N model ( I=2,J=2 ) λ 1 = λ 2 =100 µ 11 =1, µ 21 =1.5, µ 22 =2 θ 1 = θ 2 =1 Static Priority: class1 customers prefer pool 1 over pool 2. Pool 2 servers prefer class 1 customers over class
34 Cost Optimization 2: Penalizing Abandonments Problem Formulation
35 Cost Optimization 2: The Objective Function
36 Cost Optimization 2: Algorithm Evolution
37 Cost Optimization 2: Convergence Rate
38 Cost Optimization 2: Penalizing Abandonments Algorithm Solution: N=(98,57) cost=219 Optimal Solution: N*=(102,56) cost*=218
39 Constraint Satisfaction 1: Delay Threshold with FQR N model ( I=2,J=2 ) λ 1 = λ 2 =100 µ 11 =1, µ 21 =1.5, µ 22 =2 T 1 =0.1, α 1 =0.2; T 2 =0.2, α 2 =0.2 FQR: pool 2 admits to service customer from class i which maximize Q i - p i ∑Q j, p=(1/3,2/3); Class 1 will go to pool j which maximize I j - q j ∑ I k q=(1/2,1/2)
40 Constraint Satisfaction 1: Delay Threshold with FQR Problem Formulation
41 Constraint Satisfaction 1: Delay Threshold with FQR
42 Constraint Satisfaction 1: Delay Threshold with FQR Feasible region and optimal solution Algorithm solution: N=(91,60), cost=211
43 Constraint Satisfaction 1: Delay Threshold with FQR Comparison of Control Schemes FQR controlSP control
44 Constraints Satisfaction 2: Time- Varying Model N model λ 1 (t)= λ 2 (t)= sin(t) µ 11 =10, µ 21 =15, µ 22 =20 Static Priority: class1 customers prefer pool 1 over pool 2. Pool 2 servers prefer class 1 customers over class2.
45 Constraints Satisfaction 2: Time- Varying Model Problem Formulation
46 Constraints Satisfaction 2: Time- Varying Model Arrivals and Staffing
47 Constraints Satisfaction 2: Time- Varying Model Performance Measures
48 Constraints Satisfaction 2: Time- Varying Model System Statistics
49 Realistic Example Medium-size Call Center (US Bank: SEE lab) 2 classes of calls Business Quick & Reilly 2 pools of servers Pool 1- Dedicated to Business Pool 2 - Serves both
50 Realistic Example Arrival Rates
51 Realistic Example Service Distribution (via SEE Stat) BusinessQuick & Reilly LogN(3.7,3.4)LogN(3.9,4.3)
52 Realistic Example Patience – survival analysis shows that Exponential distribution fits both classes Business: Exp(mean=7.35min) Quick: Exp(mean=19.3min)
53 Realistic Example: Hourly SLA Problem Formulation
54 Realistic Example: Hourly SLA Solution – total cost 575
55 Realistic Example: Hourly SLA SLA
56 Realistic Example: Daily SLA Problem Formulation
57 Realistic Example: Daily SLA Solution – total cost 510 (11% reduction)
58 Realistic Example: Daily SLA SLA
59 Future Work Incorporating scheduling mechanism Complex models Enhance algorithms Independent of convexity assumptions Work faster