59
1 Optimal Staffing of Systems with Skills-Based- Routing Temporary Copy Do not circulate

1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

  • View
    217

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

1

Optimal Staffing of Systems with Skills-Based-Routing

Temporary Copy

Do not circulate

Page 2: 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

Page 3: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

3

Contents

Skills-Based-Routing (SBR) Models The Optimization Problem Related Work Optimization Algorithm (Stochastic

Approximation) Experimental Results Future Work

Page 4: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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: Nj, statistical identical

Service of class i by pool j: DS

i,j

(Im)patience of class i: DPi

Schematic Representation

iPiD

,Si jD

jN

Page 5: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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

Page 6: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

6

The Optimization Problem

We consider two optimization problems: Cost Optimization Constraints Satisfaction

Page 7: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

7

1

min

. .

KT

J

k

Nk

T

c f NN

s t A N b

N

The Optimization Problem

Cost Optimization Problem

f k(N) – service level penalty functions Examples:

f k(N) = c’kλkPNabk – cost of abandonments per time unit

f k(N) = λkEN[c’k(Wk)] – waiting costs

Page 8: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

8

The Optimization Problem

Constraints Satisfaction Problem

f k(N) – service level objective Examples

f k(N) = PNWk>Tk – probability of waiting more than T time units

f k(N) = EN[Wk] – expected wait

min

. . , 1,

T

N

k

T

J

k

c N

f Ns t k K

A N b

N

Page 9: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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)

Page 10: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

10

Simulation Approach

Need to evaluate

Generate samples ω1, ω2,…

Estimate

,f N F N dP

1

1ˆ ,m

ii

f N F Nm

Page 11: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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

min : ,x X

E xf x F

nX

:F X

Page 12: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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,ξ)

,

, , ,

x

T

F x

F y F x y x y X

G x,ξ

G x,ξ

Page 13: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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. ?

,f x E F x , dN F N Pf

Page 14: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

14

Stochastic Approximation - Algorithms Basic SA

θ depends on strong convexity constant Objective convergence rate - O(j-1). (error of

solution O(j-0.5))

1 : ,

:

j X j j j j

j

x x G x

j

Page 15: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

15

Stochastic Approximation - Algorithms Robust SA

θ does not depend on any parameter (robust) Objective convergence rate - O(J-0.5)

1

1

: ,

:

1

j X j j j j

j

J

N jj

x x G x

J

x xJ

Page 16: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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

1

1

: ,

: arg min ,

:

1

jj x j j j

Tx

z X

j

J

J jj

x P G x

P y y z x V x z

J

x xJ

Page 17: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

17

Stochastic Approximation - Algorithms Minimax Problems

which is the same as solving the Saddle Point problem

1,

min max : ,k k

x X k Kf x E F x

1

1

min max , :

: 0, 1

Kk

kx X y Y

k

KK

kk

x y y f x

Y y y y

Page 18: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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

1 1 1

1

1

1

: , , ,

,, ,

, , , ,

1

jj j j z j j j

Kk

kk

K

J

J jj

z x y P G x y

y G xG x y

F x F x

z zJ

Page 19: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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

,

: 0 : ,N

Nf N P W dP F N

D

AdP

, , ,iiG N F N e F N

Page 20: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

20

Cost Optimization Algorithm

– Initialization i ← 0; Choose x0 from X

– Step 1 Generate Fk(xi,ξi) and Gk(xi,ξi) using simulation

– Step 2 xi+1←ΠX(xi- γGk(xi,ξi))

– Step 3 i ← i+1– Step 4 If i < J go to Step 1.

– Step 5 1

J

jj

x xJ

Page 21: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

21

Cost Optimization Algorithm

Denote:

Theorem: using , and we achieve

0

22

2

: max

: sup ,

Xx X

x X

D x x

M E G x

2

XD MJ

XD M

J

ˆP f x f x

Page 22: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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

1, ,

min max 0C

kk

x X k Kf x

: : TCX x X c x C

Page 23: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

23

CS Algorithm – Formal Procedure

• Initialization dC ←Cmax , x←xmax/2, x* ←xmax

• 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

/CXx x C C dC

/CXx x C C dC

/CXx x C C dC

Page 24: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

24

CS Algorithm – MirrorSaddle Subprocedure Sub-procedure MirrorSaddleSA

1

1

*

: ,

1ˆ ˆˆ : ,

ˆ:

jj z z j j

J

J J J tt

J

z P G z

z x y zJ

x x

Page 25: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

25

CS Algorithm – MirrorSaddle Subprocedure Sub-procedure MirrorSaddleSA

Mapping Function

2

2

1

2

2

1

, 1, ,

, 1, ,

i

j

i

j

iJ

jj

z ii

J K

jj J

z Ji J

z J

Pz K

i J J Kz K

Page 26: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

26

CS Algorithm – Feasible Subprocedure Sub-procedure Feasible

[lbk(n), ubk(n)] – confidence interval for fk based on n samples

1. If ubk(n)≤αk+δ for all k=1,…,K return true

2. If lbk(n)>αk+δ for some k=1,…,K return false

3. Generate sample, n ←n+batch, calculate confidence interval [lbk(n), ubk(n)]. Go to 1.

Page 27: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

27

CS Algorithm

Denote:

Theorem: using , andwe achieve

2 2 2* *, *,

2 2*,

2 2*,

: 2 ln 2 ln

, ,

, ,

x y

kx x

ky

M M J M K

E G x M k x

E F x M k x

*

2:

5M J

2*

2 2

20MJ

maxlog

1, ,ˆmax 1 1

Ckk

k KP f x

maxlogˆ 1 1 2

CTP c x c

Page 28: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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

Page 29: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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 class2.

1 1.5 2

100100

Page 30: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

30

Cost Optimization 1: Penalizing Wait

Problem Formulation

1 2 1 2min 1 2 20 10

. .

N NN

J

N N E W E W

s t AN b

N

Page 31: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

31

Cost Optimization 1: The Objective Function

Page 32: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

32

Cost Optimization 1: Penalizing Wait

Algorithm solution : N=(88,47), cost=190 Optimal solution: N*=(80,54), cost*=188

Page 33: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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 class2.

1 1.5 2

100100

1 1

Page 34: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

34

Cost Optimization 2: Penalizing Abandonments Problem Formulation

1 2 1 2min 1 2 3 100 2 100

. .

N NN

J

N N P AB P AB

s t AN b

N

Page 35: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

35

Cost Optimization 2: The Objective Function

Page 36: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

36

Cost Optimization 2: Algorithm Evolution

Page 37: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

37

Cost Optimization 2: Convergence Rate

Page 38: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

38

Cost Optimization 2: Penalizing Abandonments Algorithm Solution: N=(98,57) cost=219 Optimal Solution: N*=(102,56) cost*=218

Page 39: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

39

Constraint Satisfaction 1: Delay Threshold with FQR N model (I=2,J=2)

λ1= λ2=100

µ11=1, µ21=1.5, µ22=2

T1=0.1, α1=0.2; T2=0.2, α2=0.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) i i

ij j

j

Tp

T

1 1.5 2

100100

Page 40: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

40

Constraint Satisfaction 1: Delay Threshold with FQR Problem Formulation

1 2

1

2

min1 2

. . 0.1 0.2

0.2 0.2

N

N

N

J

N N

s t P W

P W

N

Page 41: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

41

Constraint Satisfaction 1: Delay Threshold with FQR

Page 42: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

42

Constraint Satisfaction 1: Delay Threshold with FQR Feasible region and optimal solution

Algorithm solution: N=(91,60), cost=211

Page 43: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

43

Constraint Satisfaction 1: Delay Threshold with FQR Comparison of Control Schemes

FQR control SP control

Page 44: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

44

Constraints Satisfaction 2: Time-Varying Model N model

λ1(t)= λ2(t)=1000+200sin(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.

Page 45: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

45

Constraints Satisfaction 2: Time-Varying Model Problem Formulation

10 10

1, 2,1 1

1,

2,

min 1 2

. . 0 0.1 1, ,10

0 0.5 1, ,10

t tN

t t

N t

N t

T J

N N

s t P W t

P W t

N

Page 46: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

46

Constraints Satisfaction 2: Time-Varying Model Arrivals and Staffing

Page 47: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

47

Constraints Satisfaction 2: Time-Varying Model Performance Measures

Page 48: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

48

Constraints Satisfaction 2: Time-Varying Model System Statistics

Page 49: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

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

Page 50: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

50

Realistic Example

Arrival Rates

Page 51: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

51

Realistic Example

Service Distribution (via SEE Stat) Business Quick & Reilly

LogN(3.7,3.4) LogN(3.9,4.3)

Page 52: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

52

Realistic Example

Patience – survival analysis shows that Exponential distribution fits both classes Business: Exp(mean=7.35min) Quick: Exp(mean=19.3min)

Page 53: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

53

Realistic Example: Hourly SLA

Problem Formulation

24 24

1, 2,1 1

1,

2,

min

. . 0 0.2 1, , 24

0 0.5 1, , 24

t tN

t t

N t

N t

T J

N N

s t P W t

P W t

N

Page 54: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

54

Realistic Example: Hourly SLA

Solution – total cost 575

Page 55: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

55

Realistic Example: Hourly SLA

SLA

Page 56: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

56

Realistic Example: Daily SLA

Problem Formulation

24 24

1, 2,1 1

1

2

min

. . 0 0.2

0 0.5

t tN

t t

N

N

T J

N N

s t P W

P W

N

Page 57: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

57

Realistic Example: Daily SLA

Solution – total cost 510 (11% reduction)

Page 58: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

58

Realistic Example: Daily SLA

SLA

Page 59: 1 Optimal Staffing of Systems with Skills- Based-Routing Temporary Copy Do not circulate

59

Future Work

Incorporating scheduling mechanism Complex models Enhance algorithms

Independent of convexity assumptions Work faster