1 Model Formulation 2 Scheduling Problem

5 downloads 29904 Views 97KB Size Report
Variable metric algorithm for staffing problem in call center via stochastic ... Definition 1 For an integer point x , the set N(x ) = {x : x − x ∞ ≤ 1. 5. } is called a 1. 5.
Variable metric algorithm for staffing problem in call center via stochastic perturbation

1

Model Formulation

Call types k=1,....,K; Agent types (or skill groups) i=1,....,I; Periods p=1,....,P ; Shift types q=1,....,Q. The vectors c, x and y are costs, decision variables and auxiliary variables respectively. • The shift specifies the time when the agent starts working, when he/she finishes, and all the lunch and coffee breaks. • c = (c1,1 , .., c1,Q , .., cI,1 , .., cI,Q ) where ci,q = cost of an agent of type i having shift q. • x = (x1,1 , .., x1,Q , .., xI,1 , .., xI,Q ) where xi,q = number of an agent of type i having shift q. • y = (y1,1 , .., y1,P , .., yI,1 , .., yI,P ) where yi,q = number of an agent of type i in period p. ˜ and element (p, q) of A˜ is • We have y = Ax where A is a block diagonal matrix with i blocks A, 1 if shift q covers period p, 0 otherwise. • gk,p (y) = long-run service level for call type k in period p. • gp (y) = aggregated long-run service level over period p. • gk (y = aggregated long-run service level for call type k. • g(y) = aggregated long-run service level overall.

2

Scheduling Problem  Q I P P  tx =  Minimize : c ci,q xi,q    i=1 q=1      Subject to : Ax = y,     gk,p (y) ≥ lk,p for all k, p,  gp (y) ≥ lp for all p,      gk (y) ≥ lk for all k,     g(y) ≥ l,     x ≥ 0, and integer.

1

(1)

Since y = Ax then the problem (1) is equivalent to the flowing problem  Q I P P   tx =  Minimize : c ci,q xi,q    i=1 q=1       Subject to :gk,p (Ax) ≥ lk,p for all k, p, gp (Ax) ≥ lp for all p,    gk (Ax) ≥ lk for all k,      g(Ax) ≥ l,     x ≥ 0, and integer.

2.1

(2)

Penalty function method

We consider the integer programming problem with nonlinear constraint in the form of problem (2). 0 Let Ssch and Ssch be the sets defined by Ssch = {x ∈ IRIQ | gk,p (Ax) ≥ lk,p , gp (Ax) ≥ lp , gk (Ax) ≥ lk for all k, p, g(Ax) ≥ l, x ≥ 0} 0 = {x |x ∈ Ssch , xi is integer, i = 1, 2, ..., IQ}. Ssch

Definition 1 For an integer point x0 , the set N (x0 ) = {x : kx − x0 k∞ ≤ neighborhood of the integer point x0 .

1 5}

is called a

1 5 -cubic

Define the penalty function of scheduling (2) φsch (x, r, k) = ct x + r[Ax − y + +

P P

K P P P k=1 p=1 K P

max{0, lp − gp (y)} +

p=1

max{0, lk,p − gk,p (y)}+ max{0, lk − gk (y)}+

k=1 IQ P

+ max{0, l − g(y)}] − k

cos 2πxi

i=1

then the sample constraints global optimization problems associated to scheduling problem is min φsch (x, r, k) IQ

(3)

x∈IR+

where r and k are large enough. Lemma 1 Suppose that x∗ is a global minimizer of optimization problem (3) in Ssch and if x∗ is in a 1 ¯ ∈ Ssch , then x ¯ is a solution of the scheduling problem (1). 5 - cubic neighborhood of an integer point x

2

3

Staffing Problem

Relaxation: forget about the admissibility of schedules; just assume that any staffing is admissible. Costs: c = (c1,1 , .., c1,P , .., cI,1 , .., cI,P ) where ci,p = cost of an agent of type i in period p.  I P P P    Minimize : ct y = ci,p yi,p    i=1 p=1       Subject to : gk,p (y) ≥ lk,p for all k, p, gp (y) ≥ lp for all p, (4)    g (y) ≥ l for all k,  k k     g(y) ≥ l,     y ≥ 0, andinteger.

3.1

Penalty function method

We consider the integer programming problem with nonlinear constraint in the form of staffing problem (4). 0 Let Ssta and Ssta be the sets defined by Ssta = {y ∈ IRIP | gk,p (y) ≥ lk,p , gp (y) ≥ lp , gk (y) ≥ lk for all k, p, g(y) ≥ l, y ≥ 0} 0 Ssta = {y |y ∈ Ssta , yi is integer, i = 1, 2, ..., IP }.

Definition 2 For an integer point y0 , the set N (y0 ) = {y : ky − y0 k∞ ≤ neighborhood of the integer point y0 .

1 5}

is called a

1 5 -cubic

Define the penalty function of staffing problem φsta (y, r, k) = ct y + r[

K P P P

max{0, lk,p − gk,p (y)}+

k=1 p=1 P P

+

max{0, lp − gp (y)} +

p=1

+ max{0, l − g(y)}] − k

K P k=1 IP P

max{0, lk − gk (y)}+ cos 2πyi

i=1

then the sample constraints global optimization problems associated to staffing problem is min φsta (y, r, k), IP

(5)

y∈IR+

where r and k are large enough. Lemma 2 Suppose that y∗ is a global minimizer of optimization problem (5) in Ssta and if y∗ is in a 51 - cubic neighborhood of an integer point y¯ ∈ Ssta , then y¯ is a solution of the staffing problem (4).

3

We denote that f (y) = φ• (y, r, k). f is continuously locally Lipschitz then ∂f (y) = ∇f (y) almost surely. The approximation: g• ([y]) + g• ([y + 1]) , 2 g• (yk+1 ) − g• (yk ) ∇g• (yk ) ≈ yk+1 − yk g• (y) ≈

or ∇g• (yk ) ≈

3.2

g• ([yk+1 ]) + g• ([yk ]) 2

Program of objective function and its gradient K P P P

f (y) = ct y + r[

max{0, lk,p − gk,p (y)} +

k=1 p=1

+

K P

P P

max{0, lp − gp (y)}

p=1

max{0, lk − gk (y)} + max{0, l − g(y)}] − k

cos 2πyi

i=1

k=1

4

IP P

Random Perturbation of Variable Metrics Method (RPVM)

Algorithme de M´ etrique Variable a k = 0; soint y0 point initial, B0 une matrice symet´etrique d´efinie positive (par example la matrice identit´e) b Calculer la direction de descente: dk = −Bk ∇f (yk ) c Calculer µk minimisant f (yk + µdk ) d Calculer : le point suivant yk+1 = Qk (yk ) = yk + µk dk le gradient en ce point : ∇f (yk+1 ) la variation de y: δk = yk+1 − yk la variation du gradient γk = ∇f (yk+1 ) − ∇f (yk )

e Calculer Bk+1 en utilisant la m´ethode de DFP(Davidon-Fletcher-Powell) Bk+1 = Bk +

Bk γk γkt Bk δk δkt − δkt γk γkt Bk γk

f k = k + 1; test d’arrˆet : fin ou aller en b.

4

(6)

Stochastic Perturbation The main difficulty remains the lack of convexity: if the objective function is not convex, the KuhnTucker points may be not correspond to global minimum. In the sequel, we shall improve this point by using an appropriate random perturbation. The sequence of real numbers {yk }k≥0 is replaced by a sequence of random variables {Xk }k≥0 involving a random perturbation Pk of the deterministic iteration (6). A simple way for the generation of a convenient sequence of perturbations {Pk }k≥0 is Pk = ζk Zk where 1 {ζk }k≥0 is non increasing sequence of strictly positive real numbers converging to 0 and such that ζ0 ≤ 1. 2 {Z}k≥0 is a sequence of random vectors taking their values on IRn , and a simple strategy consists in X0 = y0 ; ∀k ≥ 0 Xk+1 = Qk (Xk ) + Pk

(7)

Equation (7) can be viewed as perturbation of the descent direction dk , which is replaced by a new direction Dk = dk + Pk /µk and the iterations (6) become Xk+1 = Xk + µk Dk . The procedure generates a sequence Uk = f (Xk ). By construction this sequence is decreasing and lower bounded by l? = min• φ• (y, r, k). y∈IR+ ∀k ≥ 0 : l∗ ≤ Uk+1 ≤ Uk

(8)

Thus, there exists U ≥ l? such that Uk → U for k → +∞ Theorem 3 Let Zk = Z, where Z is a random variable following N (0, σId), σ > 0 and let r a ζk = log(k + d)

(9)

where a > 0, d > 0 and k is the iteration number. Then, for a large enough, U = l? almost surely.

5