Title: Optimal Staffing of Systems with Skills-Based-Routing
1Optimal Staffing of Systems with
Skills-Based-Routing
- Temporary Copy
- Do not circulate
2Optimal Staffing of Systems with
Skills-Based-Routing
- OR seminar, July 21, 2008
- Zohar Feldman
- Advisor Prof. Avishai Mandelbaum
3Contents
- Skills-Based-Routing (SBR) Models
- The Optimization Problem
- Related Work
- Optimization Algorithm (Stochastic Approximation)
- Experimental Results
- Future Work
4Introduction 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 Nj, statistical identical
- Service of class i by pool j DSi,j
- (Im)patience of class i DPi
5Introduction 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
6The Optimization Problem
- We consider two optimization problems
- Cost Optimization
- Constraints Satisfaction
7The Optimization Problem
- Cost Optimization Problem
- f k(N) service level penalty functions
- Examples
- f k(N) ck?kPNabk cost of abandonments per
time unit - f k(N) ?kENck(Wk) waiting costs
8The Optimization Problem
- Constraints Satisfaction Problem
- f k(N) service level objective
- Examples
- f k(N) PNWkgtTk probability of waiting more
than T time units - f k(N) ENWk expected wait
9Related 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)
10Simulation Approach
- Need to evaluate
- Generate samples ?1, ?2,
- Estimate
11Stochastic Approximation (SA)
- Uses Monte-Carlo sampling techniques to solve
(approximate) - - convex set
- ? random vector, probability distribution P
supported on set ? - - convex almost surely
12Stochastic 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,?)
13SA 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. ?
14Stochastic Approximation - Algorithms
- Basic SA
- ? depends on strong convexity constant
- Objective convergence rate - O(j-1). (error of
solution O(j-0.5))
15Stochastic Approximation - Algorithms
- Robust SA
- ? does not depend on any parameter (robust)
- Objective convergence rate - O(J-0.5)
16Stochastic Approximation - Algorithms
- Mirror Descent SA
- In order to guarantee accuracy e with confidence
level d, one should use J of order O(e-2)
dependent on d logarithmically
17Stochastic Approximation - Algorithms
- Minimax Problemswhich is the same as solving
the Saddle Point problem
18Stochastic Approximation - Algorithms
- Mirror SA for Saddle Point Problem
- In order to guarantee accuracy e with confidence
level d, one should use J of order O(e-2)
dependent on d logarithmically
19Optimization 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
20Cost Optimization Algorithm
- Initialization i ? 0 Choose x0 from X
- Step 1 Generate Fk(xi,?i) and Gk(xi,?i) using
simulation - Step 2 xi1??X(xi- ?Gk(xi,?i))
- Step 3 i ? i1
- Step 4 If i lt J go to Step 1.
- Step 5
21Cost Optimization Algorithm
- Denote
- Theorem using , and we
achieve
22Constraints Satisfaction Algorithm
- Basic concept
- There exist a solution with cost C that satisfies
the Service Level constraints iff where - Look for the minimal C in a binary search fashion
23CS Algorithm Formal Procedure
- Initialization dC ?Cmax , x?xmax/2, x ?xmax
- Step 1 If dCltd 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 ? CdC, go to Step 1
24CS Algorithm MirrorSaddle Subprocedure
- Sub-procedure MirrorSaddleSA
25CS Algorithm MirrorSaddle Subprocedure
- Sub-procedure MirrorSaddleSA
- Mapping Function
26CS Algorithm Feasible Subprocedure
- Sub-procedure Feasible
- lbk(n), ubk(n) confidence interval for fk
based on n samples - If ubk(n)akd for all k1,,K return true
- If lbk(n)gtakd for some k1,,K return false
- Generate sample, n ?nbatch, calculate confidence
interval lbk(n), ubk(n). Go to 1.
27CS Algorithm
- Denote
- Theorem using , andwe achieve
-
-
28Experimental 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
29Cost Optimization 1 Penalizing Wait
- N model (I2,J2)
- ?1 ?2100
- µ111, µ211.5, µ222
- Static Priority class1 customers prefer pool 1
over pool 2. Pool 2 servers prefer class 1
customers over class2.
30Cost Optimization 1 Penalizing Wait
31Cost Optimization 1 The Objective Function
32Cost Optimization 1 Penalizing Wait
- Algorithm solution N(88,47), cost190
- Optimal solution N(80,54), cost188
33Cost Optimization 2 Penalizing Abandonments
- N model (I2,J2)
- ?1 ?2100
- µ111, µ211.5, µ222
- ?1 ?21
- Static Priority class1 customers prefer pool 1
over pool 2. Pool 2 servers prefer class 1
customers over class2.
1
1
34Cost Optimization 2 Penalizing Abandonments
35Cost Optimization 2 The Objective Function
36Cost Optimization 2 Algorithm Evolution
37Cost Optimization 2 Convergence Rate
38Cost Optimization 2 Penalizing Abandonments
- Algorithm Solution N(98,57) cost219
- Optimal Solution N(102,56) cost218
39Constraint Satisfaction 1 Delay Threshold with
FQR
- N model (I2,J2)
- ?1 ?2100
- µ111, µ211.5, µ222
- T10.1, a10.2 T20.2, a20.2
- FQR pool 2 admits to service customer from class
i which maximize Qi - pi?Qj, p(1/3,2/3) Class 1
will go to pool j which maximize Ij - qj ? Ik
q(1/2,1/2)
40Constraint Satisfaction 1 Delay Threshold with
FQR
41Constraint Satisfaction 1 Delay Threshold with
FQR
42Constraint Satisfaction 1 Delay Threshold with
FQR
- Feasible region and optimal solution
- Algorithm solution N(91,60), cost211
43Constraint Satisfaction 1 Delay Threshold with
FQR
- Comparison of Control Schemes
FQR control
SP control
44Constraints Satisfaction 2 Time-Varying Model
- N model
- ?1(t) ?2(t)1000200sin(t)
- µ1110, µ2115, µ2220
- Static Priority class1 customers prefer pool 1
over pool 2. Pool 2 servers prefer class 1
customers over class2.
45Constraints Satisfaction 2 Time-Varying Model
46Constraints Satisfaction 2 Time-Varying Model
47Constraints Satisfaction 2 Time-Varying Model
48Constraints Satisfaction 2 Time-Varying Model
49Realistic 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
50Realistic Example
51Realistic Example
- Service Distribution (via SEE Stat)
Business
Quick Reilly
LogN(3.7,3.4)
LogN(3.9,4.3)
52Realistic Example
- Patience survival analysis shows that
Exponential distribution fits both classes - Business Exp(mean7.35min)
- Quick Exp(mean19.3min)
53Realistic Example Hourly SLA
54Realistic Example Hourly SLA
55Realistic Example Hourly SLA
56Realistic Example Daily SLA
57Realistic Example Daily SLA
- Solution total cost 510 (11 reduction)
58Realistic Example Daily SLA
59Future Work
- Incorporating scheduling mechanism
- Complex models
- Enhance algorithms
- Independent of convexity assumptions
- Work faster