Scheduling a maintenance activity under skills constraints to minimize total weighted tardiness and late tasks

Article history: Received November 12 2014 Received in Revised Format January 1


Introduction
The maintenance activity has become extremely important in the industry since of its advantages in terms of keeping system availability and safety, as well as improving both quality and productivity (Alsyouf, 2007;Ait-Kadi et al., 2011).According to intervention type, the maintenance can be classified into two categories: corrective and preventive.Corrective maintenance consists of those tasks required to restore a system to a functioning state after an identified or suspicious failure has occurred.Preventive maintenance consists of scheduled tasks performed before a failure is likely to occur.It can reduce the number of failures but the costs will increase as the level of prevention increases.There is an optimum level of preventive maintenance that improves system performance and reduces total maintenance costs.
Naturally, the preventive maintenance tasks depend on the concerned system, nevertheless classical tasks include changing lubricants, replacing worn parts, re-calibrating adjustable subsystems, etc.It requires a fixed time interval during which the system is turned off and production is stopped.So, after the preventive maintenance time, the system becomes more efficient, but it will be indispensable to establish a strategy that spreads the tasks to be performed over a suitable time scale that is, available resources must be assigned to tasks, each one of which will include a temporal sequence of tasks.So, depending on the maintenance tasks' and resources' features, one of the primordial problems of the maintenance service manager well be to find for each task what resource must treat it?and at what time must accomplish it?This problem is generally known as Maintenance Scheduling (MS).
The MS problem has attracted large attention and many authors focalized their research on this area putting in evidence the increasing interest shown by the scientific and industrial community to face the related problematic.In fact, the exact solution methods such as branch and bound (Egan et al., 1976;Bagchi et al., 1987;Dorn & Kerr, 1994), dynamic programming (Zurn & Quintana, 1975;Abdul-Razaq & Potts, 1988), integer programming (Dopazo & Merrill, 1975;Edwin & Curtius, 1990) and Lagrangian relaxation (Li, 1997) generate optimal schedules.Practically, these methods are generally inefficient in computational time terms that they are not suggested for scheduling of flexible industrial systems under dynamically changing conditions.Moreover, these methods based on mathematical optimization techniques are used for the MS that belongs to combinatorial optimization problem.Indeed, they can generate an exacting optimal solution for small scale problems but are inefficient for the large scale problems because of considerable number of transitional solutions.So, it is very hard in MS context to find the global optimal solution of large scale problems within reasonable computing time.Thus, many approximation approaches, based on the characteristics of the problem, have been proposed.These approaches such as simulated annealing (Aarts et al. 1986;Satoh & Nara, 1991), tabu search (Glover 1986, Gopalakrishnan et al., 2001), and genetic algorithm (Goldberg, 1989;Besbes et al., 2010) are generally known as heuristics or meta-heuristics techniques, generate acceptable schedules with less computational time than the exact approaches.Practically, for greater acceptance, approximation approaches must take care of dominant uncertainty of changes such as system failures.
Nowadays, MS problem become a popular topic among researches and extensive efforts have been investigated in solving various problems (Kubzin and Strusevich, 2006;Levin et al., 2009;Mosheiov & Sarig, 2009a, 2009b); Yang, 2010;Yang & Yang, 2010, Sun & Li, 2010;Batun & Azizoglu, 2009;Hartmann & Briskorn, 2010;Mor & Mosheiov, 2012).We are interested in this paper to unrelated parallel-machine scheduling problems.Most of these problems are NP-hard and thus are computationally challenging (Lin et al., 2011).Therefore, the development of efficient heuristics is often important to solve large instances of these problems.So, we mentioned Pfund which presented in the first part of his study (Pfund et al., 2004) a state of the art of algorithms for single-and multi-objective unrelated parallel machine deterministic scheduling problems, than identified that unrelated parallel machine problems rest relatively unstudied.Notably, they indicated that there were little solution approaches to minimize duedate-related criteria.Many authors have considered these problems for individual minimization of three regular and important performance measures: total weighted completion time, makespan and total weighted tardiness.According to Pfund et al. (2004), the problem of minimizing the makespan is the most studied of all unrelated parallel machine scheduling problems, including (Lin et al., 2011;Gairinga et al., 2007;Azar & Epstein, 2005;Hariri & Potts, 1991;Davis & Jaffe, 1981;De & Morton, 1980) based on their solutions on two-phase heuristics that used LP relaxation followed by scheduling non-integer variables.In addition, the total weighted completion time which the weight of task represents a priority features, denoting the importance of concerned task relative to the others in the system.This problem is formulated by Azizoglu and Kirca (1999) as a mathematical program and then the solution given to solve it use a branch-and-bound algorithm.Cruz-Chávez et al. ( 2009) also presented a solution to this problem using a simulated annealing algorithm that solves it as a weighted bipartite matching problem.The total weighted tardiness is a measure of customer satisfaction as well as it has more or less been addressed in literature (Marmier et al., 2009a;Lee et al., 1996).However, it does not preclude reference to some research works proposed in this context; including Panwalkar et al. (1993) who proposed a heuristic to minimize the mean tardiness for the single-machine sequencing problem.This heuristic is based on the shortest processing time (SPT) and the earliest due date (EDD) principles.An extension of this solution from the single-machine tardiness problem to a parallel-machine setting was proposed by Koulamas (1997).Further, a heuristic was developed by Liaw et al. (2000) to give an upper bound for the problem.Three years after Liaw et al. (2003) solved the problem using a branch-and-bound algorithm.In addition, Cao et al. (2005) proposed tabu search-based heuristic to solve the problem of simultaneously selecting and scheduling parallel machines to minimize the sum of job tardiness cost and machine holding cost.
Moreover, the industrial companies consider the management of human resources according to their skills is extremely important (Grabot et al., 2000).However, few authors have dealt the unrelated parallel machine scheduling problems under resources' and kills' constraints (Aït et al., 2011).Among researchers who have dealt with this problem, we reference the work of Marmier et al. (2009a) who proposed an approach to assign maintenance tasks to resources under skills constraint.In order to minimize the total weighted tardiness, the static scheduling algorithm has been introduced in the first part.In addition, to confer a maximum robustness to the obtained schedule a proactive methodology which takes into account possible variations has been also proposed.In this context, the same authors (Marmier et al., 2009b) proposed a multi-criteria approach to dynamically insert new tasks into an existing schedule.This approach gives to the maintenance manager a set of solutions with their evaluations following different criteria.Indeed, Fuzzy logic has been used to deal with uncertainties and to evaluate potential penalties.
The problem considered herein is MS under skills constraints.It consists of assigning N independent non-pre-emptive maintenance tasks: j, j = {1… n} to M resources, which represent the maintenance teams.The objective is to minimize total weighted tardiness and number of late tasks.According to Lawler (1993), this problem is an NP-hard in the strong sense and the exact solution appears very hard even on very small inputs (Congram et al., 2002).This paper presents a new heuristic as well as the numerical tests executed.These tests indicate that the proposed heuristic performs consistently well and the average optimality gaps are fairly small in the majority of them.
The remainder of the paper is organized as follows: The problem formulation is given in Section 2. Section 3 describes our scheduling heuristic for generating robust schedules.Section 4 is devoted to the presentation of computational experiments and conclusions plus perspectives are given in Section 5.

Formulation
This research work deals firstly with scheduling problem describing and secondly with resources assignment.We consider a manufacture system composed of several independent equipment, and sharing M resources.These resources are responsible for performing preventive and corrective maintenance tasks on different machines of the system.Often, the number of resources is very less than the number of tasks (M << N).We also assume that all tasks are performed without pre-emption.Thus, once begun, each task is performed to its accomplishment without interruption.During the maintenance process, no production is performed, as well as the maintenance tasks do not affect the successor tasks.In addition, it is assumed that the logistic times are small enough to be integrated in the maintenance tasks' processing times.
Formally, our problem can be described similarly as the one developed in (Marmier et al., 2009a): Given a set of N tasks.The basic processing time of task j is denoted by Pj, j = 1… n.Practically, the processing time is subject to variations depending on the skill of resource it is assigned to.So, we consider M resources characterized by a skill profiles.The processing time of task j if assigned to resource i is denoted by Pij, i = 1,...,m, j = 1,...,n, which is given by : , ( , ) where each resource has a corresponding skill level for each task and the relation (task-skill-resource) can be given by a following matrix: Furthermore, we assume that all tasks cannot be scheduled before the machine availability.So, using the notation rj, j = 1... n to denote release-date of task j, The starting of j must be after rj denoted by startj > rj.In addition, the different machines in the system are weighted according to their sensitivity and their importance in the manufacture system.Thus, the weight (priority) of task j is denoted by wj, which represent the weighted of the machine.Accordingly, the maintenance service is looking to maximize the equipment availability in manufacture system with the tasks having different levels; hence our performance measure of interest is total weighted tardiness.This last is described as a measure that incurs a penalty for each task that finishes processing after its promised date.This penalty increases with the magnitude of the tardiness, and therefore schedules that minimize the weighted sum of penalties provide good performance, whereas higher than required values of tardiness indicate that many important tasks are not being treated on time.Total weighted tardiness is the summation of the weighted tardiness over all tasks j=1,…,n.It is denoted as wjTj, where Tj =max (0, Cj-dj).Further, Cj and dj refer to the completion time and the due date of task j, respectively.
On the other words, our objective is to schedule N tasks on M resources, such that the total weighted tardiness and the number of late tasks are simultaneously minimized:

Heuristic algorithm
In the industry world, the maintenance service is responsible to schedule a preventive maintenance tasks to available resources in the horizon time.This could be done with exploiting static scheduling algorithms.However, the industrial machines are often subject to random failures which must be planned in the current schedule.This could be done with exploiting dynamic scheduling algorithms.So, in this section we introduce our heuristic algorithm for the static scheduling after purposing some definitions that will be used in (Ouelhadj & Petrovic, 2009).

Definitions
 Optimality Window (OW): As described in the figure bellow, for each task j the interval [rj, dj] is called optimality window for which the cost of task processing is optimal.Therefore, within preventive strategy, the curve can be explained as: "When we intervene before rj, the maintenance cost increases which mean that we do too often preventive maintenance.On the other hand, if we exceed the dj date, the risk that the machine fails increases, which requires corrective maintenance.This last generates often additional costs notably these related to the cessation of production".

Fig. 1. Optimality window of task  Basic Window (BW):
The BW represents the interval between two tasks j and (j+1) assigned to the same resource (Fig. 2).It calculate by the following formula: The BEWj for a task j is the BW (with BW Pij) and the total weighted tardiness is minimal.Once two BW give a same cost, the BEWj is the one of smallest window. Liberty of task: The liberty of a task in a given scheduling is the possible dates of task processing in the optimality window.It indicates the ability of the task to move in the scheduling.The mathematical expression of liberty of task j if it processed by the resource i is as:

Static scheduling
The static scheduling heuristic consists of two main steps: Step 1: pre-treatment of maintenance tasks list (L) which can be:  The ascending sort: represents the sort in ascending order from rj.When two tasks have the same rj, the result is sorted in ascending order from due-date of task (dj)  The descending sort: represents the sort in ascending order from rj.When two tasks have the same rj, the result is sorted in descending order from due-date of task (dj) A comparative study is done to compare the both versions of heuristic (with ascending sort and descending sort).The results prove that the heuristic with ascending perform well in term of the both objective functions (TWT and number of late tasks).The Fig. 3 presents the comparative study results.

Fig. 3. Comparative study between both versions of heuristic (with ascending and descending sort)
Step 2: In this step, two passes on the list (L) will be done to assign tasks to resources.In the first one, we try to schedule and assign to each resource a maximum of tasks which their OW are not overlapped.In the second one, we aim to schedule and assign unassigned tasks while seeking the best position in resource planning's.The best position is the one of the BEW (see §3.1.).Static scheduling heuristic: an example Similarly to the random generator adopted by (Marmier et al, 2009a), our generator is characterized as follow: For each task, the values of pj are generated as an integer obtained in the interval [1,7200] (varying between one second and two hours), as well as the skill required for the tasks is randomly determined by taking an integer value which can be 1, 2 or 3 (implying that there are three skills).So, for each resource the level of skill is a real value generated in [1.01, 2.00].Moreover, the availability dates (rj) and the weights of penalty (wj) are respectively generated in the intervals: [0,86400] (varying between 0 and 24 hours), [1,100].The due-dates (dj) are generated as real values in the interval: [rj+2×pj, rj+2×pj+86400] (To ensuring that tasks are achievable in the time, due dates cannot be fixed before rj+2×pj and after two hours).
Firstly, we examine the performance of the presented static scheduling heuristic using test case with different problem dimensions, and we generate randomly a set of 100 examples for each problem dimension.Table 1 illustrates experimental results for test cases that include 10, 20, 40, 60, 80, 100, 160 tasks, as well as 4, 6, 8 resources.Columns give the values of both objective functions compared to the LPT-H-EDD, ECT-EDD and WSPT-H-EDD algorithms published in (Marmier et al., 2009a).Our results shown in the Table 1 reveal clearly that our static scheduling generates better schedules.
Additionally, the curves plotted on the Fig. 5 presents the evolution of both objective functions of the proposed heuristic with 4 resources compared to LPT-H-EDD, WSPT-H-EDD and ECT-EDD respectively.Step 2: Step 1: The ascending sort Team 1 Team 2

Maintenance Teams
Step 2: Second pass

Conclusion
We addressed the maintenance scheduling problem under constraints of resources and skills developing a new heuristic for its solution.The objective was to find for each resource a maintenance tasks sequence and a starting time of each task to minimize the total weighted tardiness and the number of late tasks.
Our method for this NP-hard problem has been shown to produce good solution and it focused on the off-line scheduling problem.Finally, experiments using randomly generated problems were conducted to demonstrate the effectiveness of the proposed heuristic.The good results produced in terms of minimizing number of late tasks proved that the heuristic seem more preferred for the maintenance companies in order to satisfy a maximum of customers.
Future works will follow principally one line of research.So, we are focusing on integration in our model the criteria which allow sharing material means between resources, as well as adapting the proposed heuristic to this new problem.

Fig. 2 .
Fig. 2. Graphic representation of Basic window  BEst Window (BEW):The BEWj for a task j is the BW (with BW Pij) and the total weighted tardiness is minimal.Once two BW give a same cost, the BEWj is the one of smallest window. Liberty of task: The liberty of a task in a given scheduling is the possible dates of task processing in the optimality window.It indicates the ability of the task to move in the scheduling.The mathematical expression of liberty of task j if it processed by the resource i is as: Fig. 4. Static scheduling heuristic: an exampleSimilarly to the random generator adopted by(Marmier et al, 2009a), our generator is characterized as follow: For each task, the values of pj are generated as an integer obtained in the interval[1, 7200]   (varying between one second and two hours), as well as the skill required for the tasks is randomly determined by taking an integer value which can be 1, 2 or 3 (implying that there are three skills).So, for each resource the level of skill is a real value generated in [1.01, 2.00].Moreover, the availability dates (rj) and the weights of penalty (wj) are respectively generated in the intervals: [0, 86400] (varying between 0 and 24 hours),[1, 100].The due-dates (dj) are generated as real values in the interval: [rj+2×pj, rj+2×pj+86400] (To ensuring that tasks are achievable in the time, due dates cannot be fixed before rj+2×pj and after two hours).

Fig. 5 .
Fig. 5. Evolution of the both objective functions (TWT and number of late tasks) on 4 resources