scheduling problem encountered in a large call center of Bouygues Telecom, a. French mobile phone operator. Our experiments show that CP can advanta-.
Constraint Programming Contribution to Benders Decomposition: A Case Study Thierry Benoist, Etienne Gaudin, Benoît Rottembourg Bouygues e-lab, 1 av. Eugène Freyssinet, 78061 St Quentin en Yvelines Cedex, France {tbenoist,egaudin,brottembourg}@bouygues.com
Abstract. The aim of this paper is to demonstrate that CP could be a better candidate than MIP for solving the master problem within a Benders decomposition approach. Our demonstration is based on a case study of a workforce scheduling problem encountered in a large call center of Bouygues Telecom, a French mobile phone operator. Our experiments show that CP can advantageously replace MIP for the implementation of the master problem due to its greater ability to efficiently manage a wide variety of constraints such as the ones occurring in time tabling applications.
1. Introduction J.F. Benders initially introduced the eponymous decomposition method [1 ] for solving large-scale Mixed Integer Programming (MIP) problems. The partitioning consisted in separating integer variables and real variables in order to gain efficiency and to treat larger instances via decomposition. Benders decomposition has also been successfully used in a different way to take advantage of underlying problem structures for various optimization problems such as network design [2 ,3 ], hose or power supply planning [4 ] or stochastic optimization [5 ]. It is especially well suited when assignment of a subset of variables yields easily solvable disconnected and convex slave problems, such as flows for example. More recently, Benders decomposition has been used by the Constraint Programming (CP) community in order to hybrid linear programming with other kinds of algorithms [6 ,7 ,8 ,9 ]. The aim of this paper is to demonstrate that CP can be a better choice than MIP for solving some large-scale optimization problems with a decomposition based on problem structure. We do not propose a new framework based on Benders decomposition, but adapt classic Benders decomposition, where CP plays the role of MIP within the master problem solving. Our demonstration is based on a case study of a workforce scheduling problem encountered in a large call center of a French mobile phone operator, Bouygues Telecom, subsidiary of Bouygues. This problem will be referred to as the W ORKFORCE SMOOTHING PROBLEM (WSP) in the rest of this paper. We applied Benders decomposition to this problem to take advantage of its network flow underly-
ing structure in order to treat large instances of call center scheduling. Even if the resulting master problem has a linear underlying structure, we show that CP, equipped with a flow global constraint with its greater ability to efficiently manage a wide variety of constraints, could advantageously replace MIP as a master solver. The article is structured as follows. In section 2, WSP will be introduced and modeled as a MixedInteger Program with an underlying flow structure. Section 3 will be devoted to a brief presentation of Benders decomposition. In section 4, the Benders decomposition for WSP will be introduced, presenting the master and the slave problems induced by the variable partitioning. Section 5 will describe its implementation. We will present in section 6 the main lines of the global constraint “flow”, branching guide for the master problem in CP. Finally, section 7 will point out the benefit of using a CP framework within a Benders decomposition when additional constraints are concerned.
2. Workforce Smoothing Problem We first encountered the WSP after the introduction of the French “35 heures” labor rule in 2000, reducing weekly hours from 39 to 35. This new rule, stating that each employee must work 35 hours a week (on a yearly basis in our case) was particularly challenging for workforce management in call centers. Bouygues Telecom, the third largest French mobile operator with more than 6 million customers, relies almost exclusively on its call centers to keep contact with its customers. Those centers gather 2500 agents and provide a broad spectrum of services (up to 30 different activities). Agent timetables must be scheduled in order to cover the “expected work load per activity”: ensuring that, at each time period, enough skilled employees are present in order to answer expected calls . A service level is defined for each activity yielding a strict minimum staffing requirement. The combinatorial scheduling problems at stake have obvious economical issues for telecom operators: avoiding understaff (to limit the amount of delayed calls thus ensure a sufficient quality of service (QoS)) and of course overstaff. This problem must be solved on different time horizons: from minutes to year. In this paper we will introduce WSP to model the long-term horizon problem. The activity of a call center heavily depends on the season (Chris tmas gifts yields new customers, Valentine’s day is an opportunity to promote new offers…). Consequently, one has to smooth agents weekly hours on a yearly basis ensuring that each agent reaches a total amount of hours (typically 1600) and that workload requirements for each skill are satisfied as much as possible. 2.1. Model During P periods, we consider N agents for which: • Ω: [1,N]→ Z+ gives the total number of hours per agent, • Cnmax : [1,N]→ Z + and Cnmin : [1,N]→ Z + are the maximum and minimum number of hours over any period for an agent. Agents can work on K different skills, S⊆[1,N]×[1,K] denoting the set of feasible pairs. Workload requirements per period and per skill are given by Q:[1,P]×[1,K]→ Z + .
With these notations the W ORKFORCE SMOOT HING PROBLEM can be written with N×P×K integer variables ωn,p,k representing the amount of work performed by agent n, during period p, on skill k. maximize ∆ subject to:
∑ω
n , p, k
p≤ P k∈Kn
≤ Ωn
Cnmin ≤ ∑ω k∈K n
n , p, k
≤ Cnmax
∆ ≤ ∑ω n, p,k − Qk , p n∈N k
∀ n≤ N
(1)
∀ p≤ P, n≤ N
(2)
∀ p≤ P, k≤ K
(3)
Where Kn={k≤K,(n,k)∈S} and Nn={n≤N,(n,k)∈S} Kn denotes the set of skills that agent n can potentially perform and Nk , conversely, represents the set of agents that can potentially perform skill k. Constraints (1) set that each agent does not exceed its workload objective. Constraints (2) are derived from each agent contract; it limits the minimum and maximum work duration per period (typically a week or a set of consecutive weeks). Constraints (3) define ∆ as the lower bound of the workload satisfaction gap. Maximizing ∆ is equivalent to minimizing the worst understaffed skills for all periods, which is a commonly used criterion to represent QoS in call center scheduling tools. An optimum with ∆ = 0 ensures a QoS of 100%.
2.2. Problem structure The WSP has an underlying flow structure. It differs from a maximum flow problem only by its objective function. Finding a feasible solution for a fixed objective value is equivalent to solving a feasible flow problem in the graph described in Fig. 1 (on each edge the interval [l,u] represents the lower and upper bound of the flow going through the edge). This graph has three layers. There is one node per agent in the first one, one node per agent and per period in the second one and finally one node per period and per skill in the last one. The incoming flow of a first layer node is equal to the total number of hours of the corresponding agent (minimum edge flow = maximal edge flow = Ω n). This flow is dispatched per period through the second layer and then per skills through the last layer. The outgoing flow on each node of the third layer is bounded from below by the workload of the corresponding skill/period pair Qn,p plus ∆. The flow passing from the second to the third layer is a feasible solution of a WSP, the so-called ωn,p,k variables.
[C1 min , C1max] 1
[Ω 1,Ω 1]
1,1
[C1 min , C1max]
1,2
[C1 min , C1max]
1,p 2,1
2
ω1,1,1 ω1,1,2 ω1,1,k
1,1 [∆+Q1,1 ,+∞] .2 1, . . 1,k
ω2,1,k
ω1,2,1
[C2 min , C2max]
2,1
[∆+Q2,1 ,+∞]
[Ω 2,Ω 2]
t
s
[Ω n,Ω n]
n
[Cnmin, Cnmax ] n,p
ωn,p,k
P,k [∆+Qp,k,+∞ ]
Fig. 1. WSP layered graph
One can imagine a pseudo polynomial algorithm based on a dichotomic search of the objective ∆ for the WSP. The efficiency of this trivial algorithm depends on the complexity of the feasible flow algorithm. For basic WSP, it consists of a simple feasible flow problem (which is equivalent to a maximum flow problem [10 ]), which can be efficiently implemented using standard flow algorithms [17 ] or Linear Programming. Unfortunately, this straightforward tractability is far less obvious for real life problems with additional constraints such as restricted domain for the working duration (some values in [Cnmin, C nmax] may be forbidden, for example due to prohibit shift combinations within a week, see section 7.2), patterns of working duration (the number of consecutive periods at Cnmax may be restricted), or equity on the skills distribution, to name a few. According to those enriched domains or constraints, the “feasibleFlow” sub-problem can become NP-hard in the general case. These constraints frequently occur in real life problems, depending on legislation or trade union agreements and advocate the need for a more flexible approach than pure flow algorithms. Unfortunately, our experiments with basic approaches with CP or MIP solvers exceeded the computational time limit stated by the operational context. A typical call center WSP gathers hundreds of agents, a dozen of skills with a time horizon of at least 15 weeks. The problem size may exceed millions of variables with hundreds of thousands of constraints. This size is not out of reach for off-the-shelf MIP tools, as we shall see in the following, but we will highlight how the use of Benders decomposition can drastically speed up the process.
3. Classical Benders decomposition Benders Decomposition is a variable partitioning procedure used for solving complex mathematical programming problems [1 ]: at each iteration of this algorithm, a master problem is solved to fix values of a subset of variables, and a slave solver both completes this assignment and produces a duality based “Benders cut” that is added
to the master problem. We refer the reader to either [1 ] for a general introduction and convergence properties of Benders decomposition, or [7 ] for a presentation of the method closer to the CP formalism. Benders decomposition can be applied when problem P has the following structure: P: minimize f(x)+cy Subject to: Ax+Gy ≥ b where x∈D and y≥0 y variables are typically continuous variables and D encompasses discrete domains. For any assignment x*, the slave problem reads as follow: SP: minimize cy Subject to: Gy ≥ b –Ax* where y≥ 0 and Ax* constants A solution of the dual of this linear problem is a linear combination of its inequalities [11 ] whose left-hand side is smaller than cy (i.e. u such that uG≤ c) and thus leading to a lower bound: cy ≥ u(b-Ax*). The duality theorem claims that for u* minimizing u(b-Ax*), this bound is the optimum1 of SP. It shall be noted that dual feasibility is independent of x*, thus the inequality cy≥ u*(b-Ax) is valid for all x. Therefore, each time a new xi* is considered, the corresponding inequality can be added to the master problem defined after I iterations by: MP: minimize z Subject to: z ≥ f(x)+ u i*(b-Ax) ∀ i