Scheduling agents using forecast call arrivals at Hydro-Québec s call centers



Similar documents
A Quantitative Approach to the Performance of Internet Telephony to E-business Sites

Leveraging Multipath Routing and Traffic Grooming for an Efficient Load Balancing in Optical Networks

Examples of adverse selection: Moral Hazard A simple job search model Unemployment Insurance. Risks of Selling a Life Annuity.

Reducing Surgical Ward Congestion through. Improved Surgical Scheduling and Uncapacitated Simulation

OPTIMIZING WEB SERVER'S DATA TRANSFER WITH HOTLINKS

Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016

Clustering and scheduling maintenance tasks over time

This paper introduces a new method for shift scheduling in multiskill call centers. The method consists of

CRITERIUM FOR FUNCTION DEFININING OF FINAL TIME SHARING OF THE BASIC CLARK S FLOW PRECEDENCE DIAGRAMMING (PDM) STRUCTURE

Command Alkon. 7Dispatch Optimizati n

Appendix: Simple Methods for Shift Scheduling in Multi-Skill Call Centers

Topic 4: Introduction to Labour Market, Aggregate Supply and AD-AS model

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Expert Systems with Applications

A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

The Research on Demand Forecasting of Supply Chain Based on ICCELMAN

SOLUTION PAPER GET THERE FIRST

Scheduling Breaks in Shift Plans for Call Centers

TEMPLE - A Domain Specific Language for Modeling and Solving Staff Scheduling Problems

Vectors Math 122 Calculus III D Joyce, Fall 2012

REDUCING RISK OF HAND-ARM VIBRATION INJURY FROM HAND-HELD POWER TOOLS INTRODUCTION

STOCHASTIC SERVICE NETWORK DESIGN: THE IMPORTANCE OF TAKING UNCERTAINTY INTO ACCOUNT

Automated Shift Design and Break Scheduling

Two objective functions for a real life Split Delivery Vehicle Routing Problem

VIP Seller ProgramTm. WhalenGroup R E A L E S T A T E A D V I S O R. step system. to get your home sold fast and for top dollar

Simple Methods for Shift Scheduling in Multi-Skill Call Centers

Human Health Care and Selection Effects. Understanding Labour Supply in the Market for Nursing

Locating and sizing bank-branches by opening, closing or maintaining facilities

A Robust Statistical Scheme to Monitor Transient Phenomenon in Sensor Networks

Online vehicle routing and scheduling with continuous vehicle tracking

Solving the chemotherapy outpatient scheduling problem with constraint programming

Generating Personnel Schedules in an Industrial Setting Using a Tabu Search Algorithm

Selling T-shirts and Time Shares in the Cloud

Scalable Load Balancing in Nurse to Patient Assignment Problems

Resource Allocation for Security Services in Mobile Cloud Computing

HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE

Oracle Scheduling: Controlling Granularity in Implicitly Parallel Languages

UCU Guide to Employment Tribunals

Building a High-Quality Teaching Profession

HARMONIC PROGRESSIONS DOMINANT TO TONIC MOTION. V I/i

If anything is damaged or missing, contact your dealer.

A CP Scheduler for High-Performance Computers

Early Warning Indicators of Strategic Risk in Togolese Commercial Banks: An AHP Model Approach

World Service Office PO Box 9999 Van Nuys, CA USA. World Service Office Europe 48 Rue de l Eté B-1050 Brussels, Belgium

Choosing the Optimal Object-Oriented Implementation using Analytic Hierarchy Process

Workforce scheduling with logical constraints: theory and applications in call centers

Multi-service Load Balancing in a Heterogeneous Network with Vertical Handover

COLLATERAL RESPONDING UNDER A DRL SCHEDULE'

Regrets Only! Online Stochastic Optimization under Time Constraints

Optimal Service Pricing for Cloud Based Services

University of British Columbia Co director s(s ) name(s) : John Nelson Student s name

THE EVALUATION OF NEW MEDIA IN EDUCATION: KEY QUESTIONS OF AN E-LEARNING MEASUREMENT STRATEGY

How can we best visualize worker movement throughout the day?

UNI GLOBAL UNION CALL CENTRE CHARTER

A Programme Implementation of Several Inventory Control Algorithms

Determining Inventory Levels in a CONWIP Controlled Job Shop

An introduction to our Mortgage & Finance Broking service. We ll find the loan that s right for you

XXX. Problem Management Process Guide. Process Re-engineering Problem Management Process

A Constraint Programming Application for Rotating Workforce Scheduling

A hybrid approach for solving real-world nurse rostering problems

A Shift Sequence for Nurse Scheduling Using Linear Programming Problem

Revenue Management for Transportation Problems

EXECUTIVE SUMMARY: NEW YORK CITY PILOTS AUTOMATIC TELEPHONE WEATHER ANSWERING SERVICE (PATWAS) TEST

Simulation-based Optimization Approach to Clinical Trial Supply Chain Management

The University of Toledo Soil Mechanics Laboratory

An Overview of Routing and Staffing Algorithms in Multi-Skill Customer Contact Centers. Submitted version

On the Impact of Real-Time Information on. Field Service Scheduling. Ioannis Petrakis, Christian Hass, Martin Bichler 1

1.2 Cultural Orientation and Consumer Behavior

Optimal Sequential Paging in Cellular Networks

Network Traffic Prediction Based on the Wavelet Analysis and Hopfield Neural Network

DESIGN PROCEDURE FOR A LEARNING FEED-FORWARD CONTROLLER

Distributionally robust workforce scheduling in call centers with uncertain arrival rates

Dimensioning an inbound call center using constraint programming

Integrated maintenance scheduling for semiconductor manufacturing

Security-Aware Beacon Based Network Monitoring

Offline sorting buffers on Line

A multilevel integrative approach to hospital case mix and capacity planning DEPARTMENT OF DECISION SCIENCES AND INFORMATION MANAGEMENT (KBI)

Proceedings of the 2008 Winter Simulation Conference S. J. Mason, R. R. Hill, L. Mönch, O. Rose, T. Jefferson, J. W. Fowler eds.

Overwhelmingly, young people who become

A Clustering Heuristic Algorithm for Scheduling Periodic and Deterministic Tasks on a Multiprocessor System

CALL CENTER SCHEDULING TECHNOLOGY EVALUATION USING SIMULATION. Sandeep Gulati Scott A. Malcolm

Fundamentals Keyboard Exam

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

A Tool for Generating Partition Schedules of Multiprocessor Systems

What does 'just intonation' mean?

A Production Planning Problem

wwwww BASW Continuing Professional Development (CPD) Policy

Dynamic Management of an Emergency Vehicle Fleet : Deployment and Redeployment of Ambulances

RESEARCH PRODUCTIVITY OF DEGREE COLLEGE TEACHERS IN GOA UNIVERSITY: A STUDY

Expected Shortfall: a natural coherent alternative to Value at Risk

PARTIAL CROSS TRAINING IN CALL CENTERS WITH UNCERTAIN ARRIVALS AND GLOBAL SERVICE LEVEL AGREEMENTS. D. J. Medeiros

Air Force Operations Center Scheduling (AFOCS)

A hierarchical multicriteria routing model with traffic splitting for MPLS networks

Call Center Staffing Models

IMPACT OF INFORMATION TECHNOLOGY ON THE PERFORMANCE OF TUNISIAN BANKS: A STOCHASTIC FRONTIER ANALYSIS WITH PANEL DATA

OPTIMUM TOUR SCHEDULING OF IT HELP DESK AGENTS

Static Analysis for Regular Expression Denial-of-Service Attacks

COMPUTER SIMULATION OF THE PERFORMANCE OF LIFEJACKETS - A Feasibililty Study

12. Inner Product Spaces

LocalSolver: black-box local search for combinatorial optimization

Transcription:

Scheduling agents using forecast call arrivals at Hydro-Québec s call centers Marie Pelleau 1, Louis-Martin Rousseau 2, Pierre L Ecuyer 1, Walid Zegal 3, Louis Delorme 3 1 Université de Montréal, Montreal, Canada me.pelleau@umontreal.ca, lecuyer@iro.umontreal.ca 2 Polytechnique Montréal, Montreal, Canada, louis-martin.rousseau@polymtl.ca 3 Institut de recherche d Hydro-Québec, Montreal, Canada, {zegal.alid, delorme.louis}@ireq.ca Abstract. The call center managers at Hydro-Québec (HQ) need to deliver both lo operating costs and high service quality. Their task is especially difficult because they need to handle a large orkforce (more than 500 employees) hile satisfying an incoming demand that is typically both time-varying and uncertain. The current techniques for determining the schedule of each employee according to the forecast call volumes at HQ are often unreliable, and there is a need for more accurate methods. In this paper, e address the concerns of the call center managers at HQ by modeling the problem of multi-activity shift scheduling. This model has been implemented and tested using real-life call center data provided by HQ. The main contribution of this paper is to demonstrate that a constraint programming (CP) model ith regular language encoding can solve large problems in an industrial context. Furthermore, e sho that our CP-based formulation has considerably better performance than a ell-knon commercial softare package. 1 Introduction The management of call center operations at Hydro-Québec (HQ) is a highly complicated task that often involves balancing contradictory objectives. Managers need to achieve simultaneously high levels of service quality and operational efficiency. The service quality is typically measured by key target performance metrics such as the average caller aiting time, i.e., the délai moyen de réponse (DMR). The daily target DMR is 120 seconds. The operational efficiency is typically measured by the proportion of time that agents are busy handling calls. It can readily be seen that high levels of service quality are associated ith lo levels of operational efficiency, and vice versa. It is challenging to achieve the right balance. First, there is the problem of determining the appropriate staffing level, eeks or even months in advance, based on long-term forecasts of future incoming demand (i.e., future call volumes); this demand is typically both time-varying and random. Second, there is the problem of scheduling (and rescheduling) the available pool of agents based on updated forecasts, typically

made several days or eeks in advance, hich is a problem of resource deployment. Finally, short-term decisions must be made, such as the routing of incoming calls in real-time to available agents or the mobilizing of agents at short notice because of unforeseen fluctuations in the incoming demand. At HQ, additional real-time control involves moving agents beteen the front office (here they anser calls) and the back office (here they perform other tasks such as paperork). These decisions are based on short-term forecasts, updated one day or a fe hours in advance. In this paper, e focus on the resource deployment problem. Given a staffing level, e ish to specify hich activity (such as taking calls, responding to emails, or orking in the back office) each orker should perform in each period of the day. The creation of such a detailed schedule is generally referred to as the multi-activity assignment problem and is much more difficult than the traditional mono-activity version. The need to specify the occupation of an employee in each time period drastically increases the number of possible ork shifts, hich makes classical formulations (such as set covering [4]) intractable in this context. In recent years, researchers have investigated using formal languages to solve complex scheduling problems here employees need to perform several tasks during a shift. These approaches can be combined ith MIP (mixed integer programming) formulations and then solved directly, through column generation [5, 11, 2], via metaheuristics such as large neighborhood search [10] or tabu search [3], via a hybrid MIP/CP approach [12], or directly in CP through lazy clause generation [7]. As in [8, 6] e solve the activity assignment problem, hich involves shift scheduling here the shift positions and breaks are fixed. The main contribution of this paper is to demonstrate that a constraint programming (CP) model ith regular language encoding can solve large problems in an industrial context. In the data provided by HQ, there are 40 periods of 15 minutes covering the period from 8 a.m. to 6 p.m. There are beteen 129 and 142 activities, and from 369 to 544 employees to schedule. The problem is significantly larger than the test cases used in the existing literature on multi-activity scheduling. Furthermore, e sho that our CP-based formulation has considerably better performance than a ell-knon commercial softare package. This paper is organized as follos. Section 2 introduces the problem and the main limitations of the current tool used by HQ. In Section 3, e present the model e used to address these limitations. Section 4 provides concluding remarks. 2 Problem Description We consider the problem of designing ork schedules for the agents. Given a day divided into periods, a set of employees, and a staffing requirement, e must select hich activities should be performed by each employee during each period of the day, in order to satisfy the demand.

2.1 Problem characteristics We no detail the different characteristics of the problem and give some of the notation. Activities. In HQ, there are more than 100 different activities. Let the set of all the activities be A. There are to types of activities. The nonproductive activities are the breaks. We denote by A rest the set of nonproductive activities. The productive activities are all the activities that are not in A rest. The set of such activities is denoted by A prod. And may be splited into three disjoints sets: the phone activities A phone (taking the calls), the back-office activities A office (doing paperork), and the eb activities A eb (responding to emails). We must distinguish beteen the different activities to formalize some of the concerns of the call center managers; see Section 2.2. Periods. The call arrival process is uncertain and time-varying. In order to approximate it, the day is divided into m periods of 15 minutes. We retained this time division in the scheduling process. We define T = {1,..., m} to be the set of periods in a day. Employees. Let E be the set of employees. Each employee has a set of skills S e A. For each employee e E in each period t T, e must determine hich activity should be performed. Let x e,t S e be the activity performed by employee e in period t. Staffing and Deviation. The staffing requirement indicates the desired number of staff for each activity in each period of the day; it is calculated beforehand. We denote by d a,t the staffing requirement for activity a A in period t T. The goal is to ensure that the number of employees for each activity in each period of the day is greater than or equal to the requirement. Hoever, it may not be possible to provide a schedule that fully satisfies the demand. In this context, the aim is to minimize the sum of the eighted staff shortages over all activities and periods, ith eights that depend on both activities and time. This is referred to as deviation or undercover and denoted by u a,t ith a A and t T. Thus, given a set of skills and a staffing requirement, building an optimal schedule corresponds to assigning activities to each employee for every period of the day. Each assigned employee must have the necessary skills, and the goal is to minimize the total deviation. 2.2 HQ s solution HQ currently applies a idely used commercial scheduling softare. This system is able to compute the staffing requirement, and given a staffing requirement it

8:00 8:30 9:00 9:30 10:00 10:30 Employee 1 Rest Phone Break Web Employee 2 Office Phone Break Phone Employee 3 Rest Office Phone Break Fig. 1. Example of HQ schedule for three employees beteen 8 and 10:30 designs a schedule that satisfies the demand. Figure 1 shos an example of a schedule for three employees beteen 8:00 and 10:30. Hoever, the current tool does not consider some of the folloing critical aspects of the management of HQ s call centers. Priority management. Some activities have priority over others. For instance the activity of ansering failure call type has priority over other call types. Moreover, any phone activity has priority over office and eb activities. One may also ant to prioritize certain times of the day, such as lunchtime hen many employees are unavailable. The tool currently used at HQ does not allo the prioritization of activities, resources, and calls. Activity transitions. The current tool is unable to efficiently manage sequences of different activities. It computes solutions in hich employees must sitch from one activity to another after only a short interval. For example, in Figure 1, Employee 3 has just 15 minutes of office ork before sitching to phone activity. Hoever, HQ s managers ish to establish a minimum duration of one hour for each activity type. The curent tool cannot enforce this rule, so the schedules must be corrected manually. Multi-skill management. Multi-skill management is necessary only for the phone activities. Given the stochastic context of call arrivals, it is desirable to assign an agent to a set of phone activities during the same period. Hoever, the current tool is unable to select a subset of activities and assigns an employee to all the phone activities in his or her set of skills. In practice, the multiskill assignment is performed using an internal simulator. This simulator is part of the softare and is not documented. We do not kno if it is stochastic or deterministic, or ho the call arrival process is modeled. Furthermore, e do not have access to the results of the simulator. It generates a distribution of skills per agent per period. We define the phone activity distribution ratio to be the percentage of time allocated to a specific call type for an agent ho is assigned to phone activities for a given period. This distribution is important because the good coverage of calls by agents relies on it. HQ thus uses the ratio belo that is proportional to each activity s demand to evaluate the quality of a schedule.

Proportional ratio for multi-skill management. This ratio is designed to satisfy the conditions of the call center by taking into account the demand for a period. Let e E be an employee, and S e A his or her set of skills. Let S e be the phone-related skills and d a,t the demand for activity a A in period t T. If employee e is assigned to phone activities during period t, the ratio for each phone activity a Se phone is S phone e r e,a,t = d a,t a S phone e. d a,t For all the other activities, this ratio is equal to 1. This ratio can be seen as a realistic assessment of the current conditions in HQ s call centers. In previous ork, HQ has implemented a MIP model using CPLEX. Hoever, for large instances, this method sometimes returns an out-of-memory error. To address the limitations introduced above, and to reduce the large number of variables, e decided to use CP. 3 Constraint programming formulation 3.1 Proposed solutions to address the limitations We address the issues of priority management and sequence limitations. For multi-skill management e currently use the method applied in HQ s existing tool: e assign an employee to all the phone activities in his or her set of skills, and e compute the deviation using the ratio introduced in the previous section. Priority Management. Assigning a cost C a,t to each activity a A and each period t T allos us to prioritize some activities and periods over others. Activity Transition. As part of the scheduling process, e propose to use a regular language to model the transition rule beteen the different types of activities. This rule states that an employee must perform productive activities of the same type (phone, office, or eb) for a fixed duration (e.g., 1 hour) before sitching to another activity. The rule is based not on activities but rather on families of activities. In addition, the rule must be validated for each employee e E. To model this sequence rule, e use an automaton and state that, for an employee, the ord formed by the activities performed during the day must be recognized by the automaton. Let Σ = {n, p, o, } be the alphabet of the automaton, here n A rest, p A phone, o A office, and A eb belong respectively to the set of nonproductive, phone, office, and eb activities. Let Q = {0,..., 9} be the set of states. The automaton defined on (Σ, Q) is given in Figure 2. Starting from the initial state 0, the automaton ensures that if an employee is assigned to a phone activity (state 1), an office activity (state 4), or a eb activity (state 7) for a period of

n n n n 0 p 1 p 2 p 3 n n p n o 4 o 5 o 6 n n o n 7 8 9 o p Fig. 2. Automaton for the activity transition rule 15 minutes, then it must perform an activity from that category for at least one hour. Breaks can occur during or after this block of activities. Moreover, the fact that state 0 is accepting ensures that even the last block of activities lasts at least one hour. This automaton is represented by its transition table and modeled using a Table constraint. For each employee e and each period t, q e,t Q gives the state in the automaton. 3.2 Model This model is a simplified version because all the breaks are fixed. We used the schedules designed by HQ s softare and fixed the breaks at the same periods. Variables x e,t S e u a,t N q e,t Q Activity performed by employee e during period t Shortage of employees performing activity a during period t State in the automaton Constraints min C a,t u a,t (1) a A prod t T s.t. ((x e,t == a) r e,t,a ) + u a,t d a,t, a A prod, t T (2) e E Table((q e,t, x e,t, q e,t+1 ), automaton) e E, t {1,..., m 1} (3) q e,1 = 0 e E (4) q e,m = 0 e E (5)

Objective Value ith CP 10% 20% 30% 10% 20% 30% Objective Value ith HQ s tool (a) Impact Based Search Objective Value ith HQ s tool (b) Phone First Fig. 3. Comparison of the CP results and the HQ schedules. 3.3 Implementation We implemented this model using the Or-Tools[9] library for Java. The main reason for using Java is to be able in future ork to communicate directly ith the call-center simulator [1]. In this version e used pure CP, ith a timeout of 5 minutes. We try several strategies to select the next branching variable during the search. We report here the results for the classical Impact Based Search and a dedicated search strategy e call Phone First, hich consist of first assigning employees that can perform phone activities and focus on office, eb, and rest activities afterards. We tested our implementation on daily data for February to May 2011. In these instances, there are 40 periods of 15 minutes corresponding to 8 a.m. to 6 p.m. There are beteen 129 and 142 activities, of hich 40 are phone activities, and from 369 to 544 employees to schedule. The experiments ere run on a 1.7-GHz Intel Core i7. A comparison of our solution and the HQ solution on 82 instances shos that e reduced the understaffing by an average of 5% ith the Impact Based Search, and 9% ith the Phone First strategy. Figure 3 compares the HQ s currently used tool ith CP for both search strategies. Points belo the bisector are instances on hich CP outperforms the current solution, e can thus see that both search strategies perform quite ell. Phone First, hoever, seems to be more robust as it degrades the solution in only to cases. 4 Conclusion In this paper, e have investigated a large industrial multi-activity assignment problem. We took into account the concerns of the call center managers and proposed a solution that considers issues not handled by their current tool. We

implemented this model ith Or-Tools and tested it on a significant number of real instances. Future ork ill involve solving the full multi-activity shift scheduling problem, here the shift positions and breaks are not fixed. References 1. Eric Buist and Pierre L Ecuyer. A java library for simulating contact centers. In Proceedings of the 37th Conference on Winter Simulation, pages 556 565, 2005. 2. Marie-Claude Côté, Bernard Gendron, and Louis-Martin Rousseau. Grammarbased column generation for personalized multi-activity shift scheduling. IN- FORMS Journal on Computing, 25(4):461 474, 2013. 3. Sana Dahmen and Monia Rekik. Solving multi-activity personalized shift scheduling problems ith a hybrid heuristic. Technical report, Faculté des sciences de l administration, Université Laval, 2012. 4. George B. Dantzig. A comment on edie s traffic delays at toll booths. Journal of the Operations Research Society of America, 2(3):339 341, 1954. 5. Sophie Demassey, Gilles Pesant, and Louis-Martin Rousseau. A cost-regular based hybrid column generation approach. Constraints, 11(41):315 333, 2006. 6. Mahsa Elahipanah, Guy Desaulniers, and Ève Lacasse-Guay. A to-phase mathematical-programming heuristic for flexible assignment of activities and tasks to ork shifts. Journal of Scheduling, 16(5):443 460, 2013. 7. Graeme Gange, Peter J. Stuckey, and Pascal van Hentenryck. Explaining propagators for edge-valued decision diagrams. In Proceedings of the 19th International Conference on Principles and Practice of Constraint ProgrammingPrinciples and Practice of Constraint Programming, pages 340 355, 2013. 8. Quentin Lequy, Mathieu Bouchard, Guy Desaulniers, François Soumis, and Beyime Tachefine. Assigning multiple activities to ork shifts. Journal of Scheduling, 15(2):239 251, 2012. 9. Google OR-Tools. https://code.google.com/p/or-tools/. 10. Claude-Guy Quimper and Louis-Martin Rousseau. A large neighbourhood search approach to the multi-activity shift scheduling problem. Journal of Heuristics, 16(3):373 392, 2010. 11. Marìa I. Restrepo, Leonardo Lozano, and Andrés L. Medaglia. Constrained netork-based column generation for the multi-activity shift scheduling problem. International Journal of Production Economics, 140(1):466 472, 2012. 12. Domenico Salvagnin and Toby Walsh. A hybrid mip/cp approach for multi-activity shift scheduling. In Proceedings of the 18th International Conference on Principles and Practice of Constraint Programming, pages 633 646, 2012.