Project Scheduling Optimization in Service Centre Management

3 downloads 24926 Views 444KB Size Report
particular, they usually include several software applications that allow us to record ... or Call Centre is made up of telephonists who follow previously estab-.
0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 341

Tijdschrift voor Economie en Management Vol. LII, 3, 2007

Project Scheduling Optimization in Service Centre Management By V. VALLS, D. GÓMEZ-CABRERO, M. ÁNGELES PÉREZ and S. QUINTANILLA Vicente Valls Dpto. de Estadística e Investigación Operativa, Facultad de Matemáticas, Universitat de Valencia, Dr. Moliner, 50, 46100 Burjassot, Valencia, Spain. [email protected].

M. Ángeles Pérez Dpto. de Matemáticas para la Economía y la Empresa, Facultad de Economía, Universitat de Valencia, Avda. de los Naranjos, s/n, Edificio Departamental Oriental, 46022 Valencia, Spain. [email protected]

David Gómez-Cabrero Dpto. de Estadística e Investigación Operativa, Facultad de Matemáticas, Universitat de Valencia, Dr. Moliner, 50, 46100 Burjassot, Valencia, Spain. [email protected]

Sacramento Quintanilla Dpto. de Matemáticas para la Economía y la Empresa, Facultad de Economía, Universitat de Valencia, Avda. de los Naranjos, s/n, Edificio Departamental Oriental, 46022 Valencia, Spain. [email protected]

ABSTRACT This paper deals with a real-life problem that comes up in the daily management of Service Centres. It is a complex resource allocation and task scheduling problem that has to be solved online in a dynamic and uncertain environment. The uncertainty resides both in the task durations and the task arrival times. It is shown that this problem can be formulated and solved using project scheduling models, algorithms and concepts. To deal with uncertainty, a bi-criteria quality robustness concept in dynamic environments which extends the usual concept of static quality robustness is introduced. Several proactive-reactive scheduling procedures and surrogate measures of robustness are proposed. The computational experiments carried out on more than 700 randomly generated dynamic scenarios indicate that proactive scheduling procedures are able to prepare the predictive schedule to anticipate future infeasibilities. Keywords: Dynamic project scheduling, uncertainty, quality robustness, proactive-reactive scheduling, Service Centres.

341

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 342

I. INTRODUCTION This paper deals with a complex problem of task scheduling and resource assignments that comes up in the daily management of company Service Centres (SC). SCs usually deal with the requests reported by either external customers/citizens or internal users of an organization/company. Internal as well as external services must be provided with a given level of service. A call from a customer or a vendor requesting information about products or orders, or placing a claim or asking for technical support, is an unexpected event that requires specialised attention from the organisation. In opposition to unexpected events, programmed tasks are tasks, repetitive or not, expected in advance, that can be scheduled within a time window and must also be accomplished by specialised workers. A programmed task gives place to one or several events when planned for execution. Tools have been developed to automate and rationalise the daily activity of SCs. These tools can be termed Service Centre Management Tools (SCMT). In particular, once an event is identified by an SCMT, it is classified according to a pre-defined hierarchical structure which contains all events that can occur within the system. The database stores the hierarchical structure of possible events and the information required for their resolution. It also stores all information relative to the specific resolution of past events. We are aware of proposed SCMTs that can automate most of the operations of an SC. In particular, they usually include several software applications that allow us to record, track and report all the information involved in the daily management of an SC. However, there are two important areas that have not been dealt with, automatic task scheduling and automatic management of human resources. The SC workforce can be basically divided into three levels. Level 1 or Call Centre is made up of telephonists who follow previously established procedures. Level 2 or Work Desk is made up of multidisciplinary specialists able to resolve the various problems that were unresolved at level 1. Level 3 is made up of Management. The Level 1 workforce is homogeneous. Everyone is capable of doing the same tasks after receiving a basic training course with the help of a knowledge database and established procedures. The Level 2 workforce is heterogeneous. It is generally scarce, highly qualified, and expensive. Each specialist is able to solve some, but not all events. Some members of this workforce tend to specialise in certain tasks

342

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 343

and/or acquire greater experience with certain clients. These members should then be preferentially selected to resolve appropriate events. This paper is focused on the second level of the SC (SC-Level2). Once an SC event enters the SC-Level2, it gives place to one or several tasks to be performed by the SC-Level2 workforce. Tasks are associated with a great deal of information, regarding: (1) a standard duration, (2) a client-company service level agreement (SLA) that establishes maximum response times taken into account from the time the events enter the SC, for the beginning and the end of tasks with penalties for delays, (3) maximal and minimal generalized precedence relationships between the tasks that reflect technological constraints and (4) a criticality level indicating the client-priority in processing the task as soon as possible, independently of its service level agreements. New events can be continually incorporated into the system. The service level agreed for each client, project, and task is a fundamental aspect of the operation of an SC. The service level agreements and the criticality levels are negotiated during the contractual phase before the SC services are provided. In practice, the maximum response times are established for categories of events, not for each task individually. A task inherits its maximum response times from the category to which the event that gives place to it belongs to. The criticality level distinguishes between tasks that initially have the same service level agreement. It expresses specific company priorities whose non-fulfilment is not penalized. For example, a task representing the fixing of a printer may have a different priority depending upon whether it is a server-printer or a personal-printer. The SC-Level2 workforce is made up of specialists, with specialisations in one or more areas of knowledge. A knowledge area describes a set of tasks a specialist with specialisation in this area can handle. For each area, the efficiency level (junior, senior or standard) of a specialist describes how well he or she can handle the tasks in that area and can be quantified by the average service time. Senior (Junior) indicates that the person is one of the most (least) suitable for the area and implies a reduction (increase) of the standard duration. Each specialist has his or her own timetable which indicates the working hours every day. Pre-emption is not allowed, only interruptions of the tasks due to breaks in the worker timetables are permitted. To process a task just one specialist specialised in the area to which the task belongs is required. In general terms, the main objective for an SC-Level2 scheduling system is to obtain in real time a feasible plan of action (a task

343

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 344

schedule and an assignment of workers to tasks) that satisfies the technological constraints and does not use more specialists than are available in each period of time and that satisfies the service level agreements. Furthermore, to improve the efficiency of an SC it is required to reach some other secondary, although also important, objectives: attend the urgency levels imposed by the criticality task levels, to obtain well-balanced worker workloads and to assign the most qualified specialist to each task. Plans are made at certain points in time. During execution, however, new events are continuously incorporated into the system and resolved events are dropped from the system. The events arrive at uncertain times and their service times are also uncertain. Due to the full recording capability of SCMTs, we can realistically assume that some advance knowledge about the probability distributions of both types of times is available. In this type of rapidly changing environment, planning becomes a continuous online process. SCMTs usually include so-called scheduling tools to help managers to dynamically make allocation and scheduling decisions at certain decision points. With the information provided by these tools, managers apply their own set of rules to give response to the requests of new services that have arisen. This is a case of pure reactive scheduling (Herroelen and Leus, 2005). This simple approach is aimed at a quick generation of a feasible plan. It is an approach that aims at quickly satisfying the main constraints rather than an optimizing approach. At a given decision point, it only considers the tasks already in the system. This myopic approach might and frequently does lead to infeasible scenarios that could possibly be avoided by taking into account the available statistical knowledge on forthcoming tasks to generate robust plans which preserve feature feasibility. If we restrict our attention to those tasks already in the system up to a certain point in time and use the average estimation of task duration, this managerial problem can be considered static and deterministic, and be modelled as a project scheduling problem (the Skilled Workforce Project Scheduling Problem, SWPSP) as will be apparent in section II. This paper explores the use of project scheduling technology in the design of a system management model and the corresponding solution methodology to deal with the SC-Level2 allocation and scheduling problem. The aim is not only to make the “best” allocation and scheduling decision at certain decision points but to also learn from the past to anticipate the future and produce more robust and effective solutions.

344

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 345

Intensive research efforts over the past decades have been made in the field of project scheduling greatly expanding the variety of models and solution procedures under study. Overviews of state-of-the-art models and algorithms can be found in Demeulemeester and Herroelen (2002) and Neumann et al. (2003). The notion of skill is well known in the field of personnel assignment (Jiang et al. (2004)), but not often considered in project scheduling. Néron (2002) and Bellenguez and Néron (2004) consider the Resource Constrained Project Scheduling problem (RCPSP) where resources are staff members that have one or more skill. To be processed, each task of the project needs a given number of staff members for each skill. However, task durations do not depend on the workers assigned to their execution. A review of the state of the art in project scheduling with generalized precedence relationships can be found in Neumann et al. (2003). The books of Bagchi (1999) and T´Kindt and Billaut (2002) can be considered as reference books for researchers working on multi-criteria scheduling problems. Other interesting multi-criteria papers studying some elements of the SWPSP are the following: Cai and Li (2000) considered the problem of scheduling staff with mixed skills, and Viana and Sousa (2000) applied multiobjective versions of simulated annealing and tabu search to the RCPSP. The interest in scheduling considering due dates has been wide in fields such as machine scheduling; a review can be found in Gordon et al. (2002). In the area of project scheduling, the paper of Vanhoucke et al. (1999) is one of the first works with due dates. In this paper, resources are not considered and penalty costs for earliness or tardiness are. In a more recent paper, Vanhoucke (2002) considered the resource constraints. Valls et al. (2006) studied the RCPSP with due dates. The papers of De Reyck and Herroelen (1999), Hartmann (2001), Heilmann (2001) and Heilmann (2003) looked at the multimode RCPSP, where the task duration depends on the mix of resources assigned to it, the objective is Cmax minimization and no worker timetables are considered. Recent surveys about project scheduling with variable availability resources, such as timetables, can be found in Sanlaville and Schmidt (1998) and Neumann et al. (2003). Artigues and Roubellat (2000) study the case where, in a multiproject, multi-mode setting with ready times and due dates, it is

345

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 346

desired to insert a new unexpected activity into a given schedule such that the resulting impact on maximum lateness is minimized. As is pointed out in Van de Vonder et al. (2006), the vast majority of the research efforts on project scheduling focuses on the development of exact and heuristic procedures for the generation of a workable baseline schedule (predictive schedule), assuming complete information and a static and deterministic environment. During execution, however, a project may be subject to considerable uncertainty, which may lead to numerous schedule disruptions that can lead to numerous types of costs. A baseline schedule with express anticipation of disruptions, which is protected against certain undesirable consequences of rescheduling, is called robust. Van de Vonder et al. (2005a) distinguish between two types of robustness: quality robustness and solution robustness. Quality robustness is defined as the probability that a project ends within the project deadline. Solution robustness, also referred to as stability, is defined as a quality of the scheduling environment when there is little deviation between the baseline and the executed schedule. In general, there are two approaches to deal with uncertainty in a scheduling environment (Herroelen and Leus, 2005): proactive and reactive scheduling. Proactive scheduling constructs a baseline schedule that accounts for statistical knowledge of uncertainty. The consideration of uncertainty information is used to make the predictive schedule more robust, i.e. insensitive to disruptions. Reactive scheduling involves revising or re-optimizing a schedule when an unexpected event occurs. Robust project scheduling is a growing field of research. Recently, many proactive-reactive scheduling procedures (Herroelen and Leus, 2005; Van de Vonder et al., 2005ab; Van de Vonder et al., 2007abc; Lambrechts et al., 2007; Deblaere et al., 2007) have been proposed and computationally tested for the case of a static environment in which the uncertainty of the project resides in the activity durations. However, the problem dealt with in this particular paper is dynamic and considers both activity duration and activity arrival time uncertainties. It is interesting to note that neither the railway scheduling policy nor the policy of maintaining the baseline resource allocation when developing reactive scheduling procedures are justified in an SC-Level2 environment. The management model we propose in this paper integrates three main elements: a deterministic and static optimization algorithm; a proactive procedure and a reactive procedure. At a given time t, the

346

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 347

deterministic and static algorithm generates a predictive schedule, taking into consideration the unfinished tasks already in the system and assuming the average activity durations as their deterministic durations. The predictive schedule maintains the current resource allocation only for the tasks in process at time t and not for the tasks previously scheduled but not started yet. Then, a proactive scheduling procedure is applied to the predictive schedule to produce a baseline schedule that anticipates possible future infeasibilities. This concatenation of procedures is periodically applied at subsequent times with time intervals of length D (rescheduling times). Between times t and t∞∞+∞ D, the problem is considered static: tasks arriving within this interval are ignored until time t∞∞+∞∞D when the (re)scheduling deterministic and static algorithm is called again. During project execution, tasks may take longer or shorter than initially expected (average duration) causing deviations between the actually realized and planned completion times. Each time such a deviation occurs, a fast reactive scheduling procedure is applied to repair the schedule such that the protection against future infeasibilities is optimized. The actual schedule that is obtained after these modifications is called the realized schedule. The rest of the paper is organised as follows: In Section 2 we state the SWPSP model and the essentials of the solution approach proposed in Valls et al. (2007). In Section III, we further elaborate on the dynamics of the decision making process, propose several surrogate measures of the bi-criteria quality robustness considered in this dynamic environment, propose several proactive-reactive scheduling procedures and present the results of the computational experiments carried out. Finally, conclusions are given in Section IV.

II. THE SKILLED WORKFORCE PROJECT SCHEDULING PROBLEM The Skilled Workforce Project Scheduling Problem lies at the core of the proposed management model and is the project scheduling problem to be solved at each rescheduling time. Valls et al. (2007) have formulated this problem, shown its NP-completeness and proposed an efficient heuristic solution procedure for it. In this research work, we use this heuristic procedure to generate at each rescheduling time a predictive schedule on which the proactive scheduling procedure will act. The types of infeasibilities that such a predictive schedule may

347

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 348

incur depend on the characteristics of the SWPSP model and the solution approach applied. In this section, we provide a formulation of the SWPSP and the essentials of the solution procedure. We refer the interested reader to the aforementioned paper for further details. A. Tasks The project consists of a set of n tasks numbered 1 to n (J∞∞=∞ {1, 2, ..., n}), where each task has to be processed without pre-emption to complete the project. The dummy tasks 1 and n represent the beginning and end of the project. The client-company service level agreement establishes for each task j a maximum starting time, msj, and a maximum finishing time, mfj. Both dates can be exceeded, however some costs are incurred. We define scj (fcj) as the cost associated to the delay of one unit in the starting (finishing) time of task j. Each task j has associated a standard duration, dj, and should be processed without pre-emption by just one worker. Interruptions of the tasks due to breaks in the worker timetables are permitted. The criticality level, cj, models the client-priority in processing the task j as soon as possible and is independent of its maximum starting and finishing times. A larger value of the criticality level indicates a larger priority. The dummy tasks 1 and n require no resources, do not have associated any maximum starting and finishing dates and their durations and criticality levels are null. Durations, costs, maximum dates and criticality levels are assumed to be non-negative integers. B. Workforce The SC workforce is made up of nw workers, W∞∞=∞∞{w1,…,wnw}, with specialisations in one or more knowledge areas A∞∞=∞∞{A1, …, Ana}. A knowledge area describes a set of tasks a worker with specialisation in this area can handle. A is a partition of the set of tasks. We will denote by A(j)∞∞∈∞ A the area assigned to task j∞∞∈∞ J, by W(Ah)∞∞⊆∞ W the set of workers that can handle the tasks of the area Ah∞ ∈∞∞A, by W(j)∞∞⊆∞∞W the set of workers that can handle the task j and by A(wk)∞∞⊆∞ A the areas a worker wk∞ ∈∞∞W can be assigned to.

348

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 349

Given an area Ah, for each wk∞ ∈∞ W(Ah) an efficiency level is defined, ekh, describing how well wk can handle the tasks in area Ah. The efficiency level is represented as an integer value, ekh∞ ≥∞∞1. The smaller the value of ekh, the greater the suitability. We will consider three efficiency values: ekh∞ =∞∞1, 2 and 3, representing respectively that wk is a senior, a standard or a junior worker for area Ah. Assigning a senior (junior) worker to a job implies a reduction (increase) of the standard duration of the job. We will consider a reduction percentage of RP % and an increase percentage of IP %. The company has defined RP∞∞=∞ IP∞∞=∞ 25%. We will denote by djk the duration of task j if processed by worker wk. If wk is a standard worker djk∞ =∞∞dj. In other case, djk is calculated by applying the reduction or increase percentage to dj and rounding up the result to the nearest integer number. Each worker has his or her own timetable which indicates the working hours every day. The timetable of worker wk is represented by a vector (avkt)t∞∞=∞∞0,…,PDUR where avkt will denote the availability of worker wk in instant t. If instant t is a timetable working instant for wk then avkt∞ =∞∞1 or if it is not avkt∞ =∞∞0. PDUR is the scheduling horizon. In our model, tasks can only be interrupted at timetable breaks and have to be reassumed immediately at the end of the break. This means that in interval [sj,∞fj[ task j is in progress at time t exactly if avkt∞ =∞∞1. Thus given a start time sj and assuming task j is processed by wk, the finishing time fj of task j is uniquely determined by:

(

f j s j , wk

)

⎧ ⎪⎧ t*−1 ⎪⎫ ⎪min ⎨t * ∑ avkt = d jk ⎬ if t * exists =⎨ ⎩⎪ t = s ⎭⎪ ⎪ otherwise +∞ ⎩ j

Obviously fj∞(sj,∞wk)∞∞≥∞∞sj∞ +∞∞djk. C. Generalized Precedence Relationships The model considers generalized precedence relationships (GPRs) between the tasks, i.e. minimal and maximal time lags between tasks starting and/or finishing times. We consider four types of GPRs: startstart (SS), start-finish (SF), finish-start (FS) and finish-finish (FF). A minimal time lag indicates that a task cannot start/finish earlier than a certain number of time units after the start/finish of another task.

349

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 350

A maximal time lag indicates that a task cannot start/finish later than certain time units after the start/finish of another task. Time lags are considered to be positive, negative or zero integers. Furthermore, time lags may represent either time periods or percentage work contents. In the latter case, the length of the time lag is a percentage of the duration of one of the two tasks involved in the relationship. Only minimal relationships will be considered in the model without any loss of generality, negative/positive maximal time lags will be replaced by equivalent positive/negative minimal time lags of opposite direction. A generalized precedence relationship between two tasks, i and j, is represented by a three components vector, di,j. The first component indicates the relationship type (FF, FS, SF or SS) and the second the time lag. The third shows, in case of a percentage time lag, the task used to calculate that percentage, in a time period lag the value is fixed to zero. For example, d2,3 = (SS,∞5,∞2) means that task 3 can start after 5% of task 2 has been executed. Note that not all combinations of relationship type and task make sense in the case of percentage time lags. However, all generalized precedence relationships that appear in practice can be modelled in this way. To ensure that the dummy start and finish tasks (1 and n) correspond to the beginning and the end of the project we insert the generalized precedence relations d1,j∞∞=∞∞(FS,0,0)∞∞∀j∞∞∈∞∞J, j∞∞≠∞∞1 and dj,n∞ =∞∞(FS,0,0)∞∞∀j∞∞∈∞∞J, j∞∞≠∞∞n. Given a di,j∞ =∞ (SS, p, a) we will denote as SSij the length in time periods of lag p. If di,j is a time period relationship (a∞∞=∞∞0) then obviously SSij∞ =∞∞p. If di,j is a percentage relationship (a∞∞=∞∞i or a∞∞=∞∞j), then SSij can only be calculated when the starting time and the worker assigned to task a have already been established. For example, given the relationship di,j∞ =∞∞(SS,∞p,∞i) with p∞∞≥∞∞0, i being executed by wk, and si being the starting time of task i, we calculate: ⎧ ⎡ p ⋅ d ik ⎤ ⎪⎫ ⎪⎧ t*−1 ⎪min ⎨t * ∑ avkt = ⎢ ⎥ ⎬ − si SS ij = ⎨ ⎪⎩ t = s ⎢ 100 ⎥ ⎪⎭ ⎪+∞ ⎩

if t * exists

i

In the same way, we define SFij, FSij and FFij.

350

otherwise

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 351

D. SWPSP formulation In this section, we provide a conceptual formulation of SWPSP with the aim of unambiguously establishing the constraints and objectives involved. A schedule or solution S of an SWPSP instance is represented by two vectors S∞∞=∞∞(s, w) where the vector s∞∞=∞∞(s1,∞∞s2,∞∞...,∞∞sn) of non negative integers, indicates for each task j its starting time and w∞∞=∞∞(w(1),∞∞w(2),∞∞...,∞∞w(n)) assigns to each task i a worker w(i)∞∞∈∞∞W(i), w(1) = w(n) is a dummy worker. A schedule S∞∞=∞ (s,∞∞w) is a feasible schedule if the starting times fixed by s satisfy the generalized precedence relationships, the resource constraints and the maximum starting and finishing dates. Therefore, S is a feasible schedule if S satisfies the following constraints: (1) w(i)∞∞∈∞∞W(i)

∀i∞∞∈∞∞V

(2) sj∞ –∞∞si∞ ≥∞∞SSij

∀(i,j)∞∞∈∞∞ESS

(3) fj∞ –∞∞si∞ ≥∞∞SFij

∀(i,j)∞∞∈∞∞ESF

(4) sj∞ –∞∞fi∞ ≥∞∞FSij

∀(i,j)∞∞∈∞∞EFS

(5) fj∞ –∞∞fi∞ ≥∞∞FFij

∀(i,j)∞∞∈∞∞EFF

(6) si∞ ≤∞∞msi

∀i∞∞∈∞∞V

(7) fi∞ ≤∞∞mfi

∀i∞∞∈∞∞V

(8)

{i ∈V w(i) = w

k

and si ≤ t < f i

(9) avw (i ) s = 1

} ≤1

∀wk∞ ∈∞∞W, 0∞∞≤∞∞t∞∞∞∞t. If it is expected that many tasks of type j will arrive into the system in the time period [t,∞t1], then it would be a sensible policy to modify the predictive schedule in such a way that as many workers able to process type j tasks as possible would be unoccupied in the time period [t2,∞t3] where it is expected that the coming type j tasks will be processed. In subsection III.E, we will further elaborate on t1, t2 and t3. We assume that for each type of task the probability distributions of the time between successive task arrivals and of the number of task arrivals in any time period of a given length can be approximated from historical data. Then, the following expected value and probabilities can easily be computed: pjl∞ =

∞probability that a type j task arrives into the system between times lastj and t where lastj is the arrival time of the last type j task arrived at prior to t. pjb∞ =∞ probability that a type j task arrives into the system before time t1 given that it has arrived after time t. ENTj∞ = ∞expected number of type j tasks to arrive in time period [t,∞t1]. Then, the following weighting factors can be computed: W j1 =

p lj

∑ pil

W j2 =

i

W j5 =



∑ pib

* ENTi

W j6 =

i

W j8

=

ENT j * d j

∑ ENTi * di i

W j3 =

ENT j

∑ ENTi

p lj * d j

W j7 =



pil

p lj

* ENT j * d j

* di

i

W j9

=

p lj * ENT j

W j4 =

∑ pil * ENTi

i

i

p bj * ENT j pib

p bj

i

p bj * d j

∑ pib * di i

∑ pil * ENTi * di

W j10

=

i

where dj is the standard duration of type j tasks.

356

p bj * ENT j * d j

∑ pib * ENTi * di i

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 357

The workload of the workers of type i in time interval [t2,t3] is defined as: Occupancy(i ) =

(

Workload i, t2, t3 )

(t3 − t2 ) * NWTi where Workload(i, t2, t3 ) = ∑

(

h∈TASSING( i )∩ AT t2 , t3

)

[min(t , f ) − max(t , s )] 3

h

2

h

where NWTi is the number of workers of type i and TASSIGN(i) is the set of tasks assigned to workers of type i and AT(t2,t3)∞∞= h ∈ J f h ≥ t2 and sh ≤ t3 . Combining both kinds of information, we propose the following scheme for generating surrogate measures of robustness:

{

}

EXWORK1 = ∑W j* * Occupancy( j ) j

where Wj* denotes any of the Wjk, k∞∞=∞∞1,∞..,∞10, defined above. The application of this measure may result in unbalanced worker type occupancies: occupancies of worker types with large weights tend to decrease to zero and, therefore, occupancies of worker types with small weights tend to increase to one. A way of smoothing this effect is to use the exponential function and define: EXWORK2 = ∑W j* * q

Occupancy( j )

j

where q is an input parameter. Note that each scheme gives rise to ten surrogate measures whose relative efficiency has to be experimentally tested. B. Surrogate measure based on GPRmax slack The surrogate measure presented in this subsection is aimed at measuring how well the predictive schedule is prepared to absorb forthcoming tasks without deteriorating the value of the time infeasibility function GPR. The time infeasibility of a schedule results from the non-fulfilment of maximal GPRs. Given a schedule S and a task j belonging to a strong component we define the GPRmax slack of task j, GPRmax-slack(j), as the maximum number of time units that

357

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 358

task j can be delayed without violating any maximal GPR. If a task j does not belong to any strong component, then GPRmax-slack(j)∞∞=∞∞0. It seems apparent that the greater the total GPRmax slack of a schedule the more preferable the schedule is. Also, it seems more preferable to use a schedule where the total GPRmax slack is evenly distributed over all the tasks than a schedule where an activity has a high GPRmax slack and the others have a low GPRmax slack. For this reason, the contribution of the GPRmax slack of a task to the surrogate measure is limited to a maximum value of maxslack, where maxslack is an input parameter. As before, we are only interested in the GPRmax slack of the tasks scheduled up to a certain time t4∞∞>∞∞t. Therefore, given a task j, we define: flexibility(j)∞∞=∞∞0, if j does not belong to a strong component or s(j)∞∞>∞∞t4; and flexibility(j)∞∞=∞∞min{GPRmaxslack(j), maxslack}, otherwise. Then, the third surrogate measure is defined as FLEX( S ) = ∑ flexibility( j ). j

C. Proactive scheduling procedures The first three proactive scheduling procedures we propose are Local Search Algorithms focused on optimizing the surrogate measures EXWORK1, EXWORK2 or FLEX of any given schedule. The proactive scheduling procedures will be denoted with the name of the surrogate measure they optimize. They are mainly based on two operators, Insertion and Swap. The Insertion operator selects a task assigned to a type of worker and inserts it into the list of tasks assigned to another type of worker. The Swap Operator consists in selecting two tasks assigned to two different worker types and exchanging their positions in the lists of tasks assigned to the worker types. To improve the surrogate FLEX measure, the Swap operator swaps first those tasks with lower GPRmax-slack value. To improve the surrogate EXWORK measures, tasks assigned to worker types which contribution to the EXWORK measure is large are either reassigned to worker types with low contributions, or swapped with lower duration tasks assigned to worker types with low contributions. We also propose two other proactive scheduling procedures, FLEXEXWORK1 and FLEX-EXWORK2, that consist of the consecutive application of the procedure FLEX and the procedures EXWORK1 or EXWORK2, respectively. None of the developed Local Search Algorithms are allowed to increase the GPR value of the schedule they start with. However, they

358

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 359

are allowed to increase the TARD value up to a percentage of the initial value TARD(predictive schedule). In the two cases where the FLEX procedure is first applied, the value of the FLEX measure of the resulting schedule cannot be decreased by the posterior application of an EXWORK procedure. D. Reactive scheduling procedure The reactive scheduling procedure has the role of reacting when a disruption occurs. To be efficient in an online environment it needs to be fast and to avoid increasing the GPR() value, if possible. In our model, reactive scheduling is used when the actual completion time of a task j is different from that which was planned. If the actual completion time of task j is smaller than expected, then the next task, next_task, assigned to the same worker that has processed task j, w(j), is scheduled to start as early as possible. If the actual completion time of task j is bigger than expected, then two different cases can be considered. In the first case, the delay in the process of task j does not force next_task to start later than planned; then, next_task is scheduled to start as early as possible. In the second case, the starting time of next_task must be delayed. Before delaying any task, the contribution of each minimal generalized precedence relationship to the GPR value of the current schedule is computed and called the initial contribution of this GPR. The reactive scheduling procedure starts by scheduling next_task at the new completion time of task j. Then, the minimal GPRs with origin in task next_task are considered in turn. If the current contribution of a given minimal GPR is greater than its initial contribution, then the start of its final task is delayed until the initial contribution is restored. This procedure is applied again to all delayed tasks until no more tasks are delayed. In case that next_task has been delayed, then the whole process starts again with j = next_task. E. Computational experiments The computational experiments are based on stochastic simulation analysis. Simulation analysis is based on generating a heterogeneous set of possible scenarios and evaluating the quality of the procedures at each scenario. Each scenario has a fixed set of types of workers and a fixed set of types of tasks. Each type of task has assigned two exponential distributions: one for the times between arrivals and one

359

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 360

for the durations. For each type of tasks there is a set of tasks: each task has an arrival time and a duration, both values being computed from the related exponential distributions. At each scenario, the GPR graph structure is generated using the methodology presented in Schwindt (1996). We defined a set of generator parameters (under study) and for each combination we generate several scenarios. Near to 100 000 scenarios were generated. From this initial set, the “hardest” scenarios for each combination of a subset of generator parameters were selected. This preliminary selection was based on the computational results of an initial version of the algorithm; a total number of 729 benchmark scenarios were selected. With the aim of finetuning the proposed proactive scheduling procedures, we use the FRace procedure. FRace is a heuristic method for finetuning metaheuristics. This procedure was first used in Birattari (2002). At each iteration, it empirically selects from a set of configurations a set of candidates by discarding bad ones as soon as statistically sufficient evidence is gathered against them. FRace is based on the Friedman test, a statistical method for hypothesis testing also known as Friedman two-way analysis of variance by ranks. This procedure allows comparing many configurations with lower computational time than a brute-force (or complete) comparison method. There are five proactive scheduling procedures (EXWORK1, EXWORK2, FLEX, FLEX-EXWORK1 and FLEX-EXWORK2) and for each one of them there are several options for weighting factors, t1, t2 and t3 for EXWORK measures; and several options of t4 and maxslack for FLEX measure. There is a considerable number of possible combinations, from all of them FRace selected (non-discarded) a reduced number after running 300 instances, adding 50 instances at each FRace iteration. From the final set of configurations we have selected three promising options, C2, C3 and C4, respectively the best configurations for FLEX, FLEX-EXWORK1 and FLEX-EXWORK2 not discarded by FRace. FRace discarded all the combinations that considered only EXWORK measures. C1 denotes the algorithm that does not use any proactive scheduling procedure. Tables 1 and 2 show computational results for GPR(realized schedule) and TARD(realized schedule), respectively. The results show that proactive scheduling procedures are able to reduce average GPR(realized schedule). Among them, EXWORK procedures (C3 and C4) decrease most the average GPR(realized schedule), but the median is better for C2, so a further study is needed. Considering TARD(real-

360

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 361

ized schedule), it is clear that EXWORK procedures improve the quality of the algorithm. TABLE 1 Computational Results: GPR Average

C1 C2 C3 C4

443.48 422.06 420.03 420.03

Standard Deviation

Minimum

401.22 401.83 314.55 298.25

8 8 7 30

Maximum

3,030 3,626 3,420 3,420

25

Percentile 50

75

202.00 184.75 222.00 232.00

334.50 310.50 346.50 355.50

537.25 497.25 530.75 527.00

25

Percentile 50

75

92,083.00 92,947.25 64,332.25 63,889.75

173,028.50 174,569.50 124,371.00 119,604.50

302,834.50 300,616.50 230,066.00 219,445.00

TABLE 2 Computational Results: TARD Average

C1 C2 C3 C4

217,624.56 217,422.60 163,938.38 157,545.84

Standard Minimum Maximum Deviation 167,659.86 167,290.18 137,538.36 131,280.03

2,531 2,467 2,147 2,080

950,049 951,213 928,826 948,754

Statistical tests are necessary in order to confirm computational differences between configurations. The Kolmogorov-Smirnov test rejects normal distribution hypothesis for the TARD() measure and Q-Q plots reject the normal distribution hypothesis for the GPR() measure; consequently, we use the non-parametric Wilcoxon signed-rank test. The Wilcoxon test does not require assumptions about the form of the distribution of the data. We perform the Wilcoxon test on the two quality measures GPR() and TARD(). With regard to GPR(), C2 obtains the best signed rank value and tests show that the differences between C2 and the rest of configurations are significant. Among the rest of the configurations, there are no significant differences (see Table 3). Regarding TARD(), differences are significant for each pair wise comparison, (see Table 4). C4 is the configuration that obtains the best rank-signed results followed by C3, C2 and C1, in this order.

361

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 362

TABLE 3 Significance of Wilcoxon tests: GPR C3 vs C1 C2 vs C1 C4 vs C1 C2 vs C3 C4 vs C2 C3 vs C4 Significance (two-tailed)

0.00

0.00

0.000

0.52

0.56

0.59

TABLE 4 Significance of Wilcoxon tests: TARD C3 vs C1 C2 vs C1 C4 vs C1 C2 vs C3 C4 vs C2 C3 vs C4 Significance (two-tailed)

0.00

0.01

0.000

0.00

0.00

0.00

IV. CONCLUSIONS In this paper, we have dealt with a real-life problem that comes up in the daily management of Service Centres. It is a complex resource allocation and task scheduling problem that has to be solved online in a dynamic and uncertain environment. The uncertainty resides both in the task durations and the task arrival times. We have shown that this problem can be formulated and solved using project scheduling models, algorithms and concepts. At certain re-scheduling times, a predictive schedule is constructed by solving an instance of the Skilled Workforce Project Scheduling Problem. Problem SWPSP is a static and deterministic project scheduling problem that incorporates some real features not previously considered together in the literature, which greatly increases the computational difficulty of the problem. Three of the authors of this paper have developed a rapid and efficient enough algorithm for the online resolution of this complex multi-objective and multi-mode project scheduling problem. The main objective of an SC planning system is to generate feasible solutions. Therefore, we have proposed to generate robust schedules that preserve future feasibility. To this end, we have introduced a bi-criteria quality robustness concept in dynamic environments which extends the usual concept of static quality robustness. We have also

362

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 363

proposed three surrogate measures of the quality robustness considered in this paper and five proactive scheduling procedures that can optimize any of the surrogate measures. We have also developed a reactive scheduling procedure aimed at preserving GPR feasibility. The proposed procedures were tested on 729 randomly generated dynamic scenarios. The computational experiments indicate that proactive scheduling procedures are able to prepare the predictive schedule to anticipate future infeasibilities. The best results are obtained when first the flexibility of the predictive schedule is increased and then a surrogate measure based on expected workload is minimized. The research work presented in this paper is only a small first step in the field of online dynamic project scheduling and much more research is necessary to capture the essentials of the decision making process in the presence of uncertainty and to design more advanced algorithms. REFERENCES Artigues, C. and Roubellat, F., 2000, A polynomial activity insertion algorithm in a multiresource schedule with cumulative constraints and multiple modes. European Journal of Operational Research, 127, 294-316. Bagchi, T., 1999, Multiobjective Scheduling by Genetic Algorithms (Kluwer). Bellenguez, O. and Néron, E., 2004, Methods for the Multi-Skill Project Scheduling Problem. (Ninth International Workshop on Project Management and Scheduling, Nancy, France). Birattari, M., Stützle, T., Paquete, L. and Varrentrapp, K., 2002, A racing algorithm for configuring metaheuristics, in Langdon, W. B. et al., ed., GECCO 2002- Proceedings of the Genetic and Evolutionary Computation Conference, 11-18. (Morgan Kaufmann Publishers, San Francisco). Cai, X. and Li, K.N., 2000, A genetic algorithm for scheduling staff of mixed skills under multi-criteria. European Journal of Operational Research, 125, 359-369. De Reyck, B. and Herroelen, W., 1999, The multi-mode resource project scheduling problem with generalized precedence relations. European Journal of Operational Research, 119, 538-556. Deblaere, F., Demeulemeester, E., Herroelen, W. and Van de Vonder, S., 2007, Robust resource allocation decisions in resource-constrained projects. Decision Sciences, 38(1), 5-37. Demeulemeester, E. and Herroelen, W., 2002, Project scheduling. A research handbook. International Series in Operations Research and Management Science vol.49, (Kluwer Academic Publishers). Gendreu, M. and Potvin, J-Y., 2005, Metaheuristics in Combinatorial Optimization. Annals of Operations Research, 140, 189-213. Goldberg, D. E., 1989. Genetic Algorithms in Search, Optimization, and Machine Learning. (Addison-Wesley, Publishing, Inc., Reading, Massachusetts). Gordon, V., Proth, J-M. and Chu, C., 2002, A survey of the state-of-the art of common due date assignment and scheduling research. European Journal of operational Research, 139, 1-25. Hartmann, S., 2001. Project Scheduling with Multiple Modes: A Genetic Algorithm. Annals of Operations Research, 102, 111-135.

363

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 364

Heilmann, R., 2001, Resource-constrained project scheduling: A heuristic for the multimode case. OR Spektrum, 23, 335-357. Heilmann, R., 2003, A branch-and-bound procedure for the multi-mode resourceconstrained project scheduling problem with minimum and maximum time lags. European Journal of Operational Research, 144, 348-365. Herroelen, W. and Leus, R., 2005, Project scheduling under uncertainty: Survey and research potentials. European Journal of Operational Research, 165, 289 – 306. Jiang, H. Krishnamoorthy, M. and Sier, D., 2004, Staff Scheduling and Rostering: Theory and Applications, Part I. Special Issue, Annals of Operations Research. Lambrechts, O., Demeulemeester, E. and Herroelen, W., 2007, Proactive and reactive strategies for resource-constrained project scheduling with uncertain resource availabilities. Journal of Scheduling. Moscato P., 1989, On evolution, search, optimization, genetic algorithms and martial arts: towards memetic algorithms. (Technical report C3P 826, Caltech Concurrent Computation Program). Néron, E., 2002, Lower Bounds for the Multi-Skill Project Scheduling Problem. (Eighth International Workshop on Project Management and Scheduling, Valencia, Spain.) Neumann, K., Schwindt, C. and Zimmermann, J., 2003, Project Scheduling with Time Windows and Scarce Resources, Second Edition, (Springer). Sanlaville, E. and Schmidt, G., 1998, Machine scheduling with availability constraints. (Acta Informatica, 35, 795-811). Schwindt, C., 1996, Generation of Resource Constrained Project Scheduling Problems with Minimal and Maximal Time Lags. Technical Report WIOR-489. (Institute for Economic Theory and Operations Research.University of Karlsruhe). T´Kindt, V. and Billaut, J-C., 2002, Multicriteria Scheduling: Theory, Models and Algorithms. (Springer-Verlag). Valls, V., Ballestín, F. and Quintanilla, S., 2006, Due Dates and RCPSP, Chapter 4 in J. Weglarz and J. Jozefowska, ed. Perspectives in Modern Scheduling, (Springer). Valls, V., Pérez, A. and Quintanilla, S., 2007, Skilled Workforce Scheduling in Service Centres. Submitted to European Journal of Operational Research. Van de Vonder, S., Demeulemeester, E., Herroelen, W. and Leus, R., 2005a, The use of buffers in project management: The trade-off between stability and makespan. International Journal of Production Economics, 97(2), 227-240. Van de Vonder, S., Demeulemeester, E., Herroelen, W. and Leus, R., 2005b, The trade-off between stability and makespan in resource-constrained project scheduling. International Journal of Production Research, 44(2), 215-236. Van de Vonder, S., Demeulemeester, E., Leus, R. and Herroelen, W., 2006, Proactive-reactive project scheduling trade-offs and procedures, Chapter 2 in J. Weglarz and J. Jozefowska ed. Perspectives in Modern Scheduling, (Springer). Van De Vonder, S., Ballestin, F., Demeulemeester, E. and Herroelen, W., 2007a, Heuristic procedures for reactive project scheduling. Computers and Industrial Engineering, 52 (1), 11-28. Van De Vonder, S., Demeulemeester, E. and Herroelen, W., 2007b, A classification of predictive-reactive project scheduling procedures. Journal of Scheduling, 10(3), 195-207. Special Issue on Project Scheduling under Uncertainty (Demeulemeester, E.L. and Herroelen W.S. (eds.)). Van De Vonder, S., Demeulemeester, E. and Herroelen, W., 2007c, Proactive heuristic procedures for robust project scheduling: An experimental analysis. European Journal of Operational Research, In Press, Available online. Vanhoucke, M., Demeulemeester, E. and Herroelen, W., 1999, Exact procedure for the unconstrained weighted earliness-tardiness project scheduling problem. (Research Report, Department of Applied Economics, Katholieke Universiteit, Leuven, Belgium).

364

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 365

Vanhoucke, M., 2002. Optimal due date assignment in project scheduling, Vlerick Leuven Gent Management School Working Paper Series 2002-19, (Vlerick Leuven Gent Management School). Viana, A. and Sousa, J.P., 2000, Using metaheuristics in multiobjective resource constrained project scheduling. European Journal of Operational Research, 120, 359-374.

365

0332-07_TEM_07-3_03_Valls

12-10-2007

09:02

Pagina 366

Suggest Documents