Available online at www.sciencedirect.com
ScienceDirect Procedia Manufacturing 11 (2017) 2123 – 2130
27th International Conference on Flexible Automation and Intelligent Manufacturing, FAIM2017, 27-30 June 2017, Modena, Italy
Supporting maintenance scheduling: a case study Patrícia Senraª, Isabel Lopesª*, José A Oliveiraª ªALGORITMI Research Centre, Department of Production and Systems, University of Minho, Guimarães 4800-058, Portugal
Abstract This work intends to incorporate in a computerized maintenance management system (CMMS) a scheduling support tool that, given a set of preventive maintenance tasks and the availability of equipment and technicians, returns a scheduling solution for a given time period. The tool is based on an algorithm that aims to minimize the total tardiness. The algorithm sorts, initially, the maintenance tasks by a critically index equipment and by tasks due date. Then the tasks are assigned checking previously if necessary spare parts are available. An application example is provided to show the proposed algorithm effectiveness. ©©2017 Published by Elsevier B.V.B.V. This is an open access article under the CC BY-NC-ND license 2017The TheAuthors. Authors. Published by Elsevier (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review under responsibility of the scientific committee of the 27th International Conference on Flexible Automation and Peer-review under responsibility of the scientific committee of the 27th International Conference on Flexible Automation and IntelligentManufacturing Manufacturing. Intelligent Keywords: Scheduling; maintenance scheduling; preventive maintenace; heuristics, optimization
1. Introduction Preventive maintenance (PM) is applied at predetermined intervals or according to certain criteria with the purpose to reduce the probability of failure or degradation [1]. PM scheduling aims to establish “when” and by “who” each planned task will be processed and its main concern is to find the best sequence of maintenance tasks for the manufacturing process in each period over a planning horizon [2] so that the company’s needs are satisfied. Each preventive maintenance task to be scheduled usually involves technicians, equipment and, frequently, spare parts. This paper reports part of an ongoing project aimed to improve the computerized maintenance management
* Corresponding author. Tel.:+351 253604762; fax: +351 253604741. E-mail address:
[email protected]
2351-9789 © 2017 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review under responsibility of the scientific committee of the 27th International Conference on Flexible Automation and Intelligent Manufacturing doi:10.1016/j.promfg.2017.07.342
2124
Patrícia Senra et al. / Procedia Manufacturing 11 (2017) 2123 – 2130
system (CMMS) of an automotive company. In the company, the PM scheduling is performed “manually” by a planner, supported by the CMMS which roles as an information system and solution editor. Therefore, nowadays the maintenance scheduling is a time-consuming activity due to the high number of planned tasks to be considered and the constraints to attend: the technician’s availability and their skills; the spare part stock; and, mainly, the downtime of production lines that defines the equipment availability. Consequently, the current scheduling method evidences lack of effectiveness and efficiency. In the automotive company that works 24 hours a day, the planner elaborates a weekly scheduling concerning the production lines schedule. However, daily, the planner reschedules the tasks to use the unplanned downtime of production lines, since the automotive company does not allocate time exclusively for preventive maintenance, except on the weekends. The daily changes in production plan compromise the application of the maintenance scheduling weekly plan. The tasks allocation process does not follow any method or formal dispatching rule. As an input on the CMMS, there are around 6000 preventive maintenance tasks that need to be scheduled. Besides regular tasks, this input includes tasks with predefined time schedule (for instance a compulsory task to comply with the law) and autonomous maintenance tasks. As output, the algorithm must provide a schedule, which, taking as example one week, establishes the assignment of approximately 600 maintenance tasks to technicians.In the manufacturing area, the different production lines have different utilization rates, where some of them have significantly higher utilization rates than others. Therefore, equipment which is part of the production line with higher utilization rates should be given priority over other equipment since line stops are much less frequent. The maintenance scheduling requires a method to allocate the maintenance tasks to the limited resources that takes into account the objective function and a set of constraints. The objective function must meet the main goal of the company and the method should be appropriate to solve the problem, achieving a good solution in a short time [3] since the scheduling method might be used several times a day, and the number of task is very large. Thus, this paper outlines the development of a scheduling support tool based on an algorithm that aims to minimize the total tardiness and an objective function defined by the company. The paper is organized in five sections. Section 2 shows a literature review about scheduling, Section 3 presents the algorithm. Section 4 presents an application example of the algorithm and, finally, Section 5 shows the main conclusions. 2. Literature Review According to Noemi M. Paz [4], the maintenance scheduling problem can be modeled as a job shop scheduling problem where: • a job in the job shop problem is the maintenance work order to process; • an equipment in the job shop problem is a maintenance worker [4]. In this section the adequate objective functions for maintenance tasks scheduling and scheduling approaches are reviewed. 2.1 Objective Function According to Pinedo [3], due dates, deadlines and periodicity are important parameters on preventive maintenance tasks. These parameters should be respected to guarantee a proper functioning of production lines. The objective functions most related with maintenance task delays and due dates are the minimization of maximum lateness (Lmax), minimization of number of tardy tasks (Uj) and minimization of total tardiness (ΣTj) [3,5]. The minimization of maximum lateness is equivalent to minimizing the worst case of the schedule and it is expressed by Lmax = max (Cj – dj), where Cj is the completion time of task j and dj is the due date of task j (Fig. 1 (a)). The minimization of number of tardy tasks (Uj) is another objective function which represents the number of tasks that were done after due date. However, minimizing the number of tardy tasks can result in a schedule with high delay. The total tardiness measure is another performance measure related with the delay expressed by ΣTj = Σ max {Cj – dj; 0} (Fig. 1(b)). It considers the sum of tardiness of all scheduled tasks. However, if it is intended, different tasks may carry different priority weights, where the most critical tasks have the higher weights (wj). Apart from the tardiness penalization, the earliness completion (Ej) of tasks can be also penalized. The representation of cost functions that consider earliness and tardiness penalties (Ej + Tj) is presented in Fig. 1 (c).
Patrícia Senra et al. / Procedia Manufacturing 11 (2017) 2123 – 2130
a
b
c
Fig. 1 -Graphic of due date related objectives: (a) the lateness Lj of job j; (b) the tardiness Tj of job j and (c) cost function in practice [4].
2.2 Scheduling approaches Ebrahimipour et al. [2] proposes a scheduling model of preventive maintenance tasks in a series-parallel manufacturing system composed of multiple production lines. The proposed model considers reliability of the production line, maintenance costs, failure and downtime of system as multiple objectives. In this approach, different thresholds for available manpower, spare part inventory and periods under maintenance were applied. The authors consider two types of maintenance activities: adjustment and replacement. A mixed-integer nonlinear multiobjective model was proposed for this problem. Duffua and Al- Sultan [6] present one of the first mathematical formulation of the stochastic programming for scheduling maintenance personnel. It incorporates deterministic and stochastic contributions. Samhouri [7] presents an intelligent method of how to decide whether a particular item requires opportunistic maintenance or not and if so, how cost-effective this opportunity-based maintenance will be when compared to a probable future grounding. Opportunistic Maintenance is a systematic method of collecting, investigating, preplanning and publishing a set of proposed maintenance tasks and acting on them when there is an unscheduled failure or a repair opportunity. The objective function of the method focuses on the total cost of maintenance that includes the remaining life cost, down time cost, unplanned down time cost, risk cost, Hazard function, secondary damage cost due to failure and unit price per finished product or service unit. Manzini et al. [8] present a resource-constraints mixed integer programming model that minimizes the total cost function which includes spare parts contributions, the cost of execution of the preventive actions, the cost of additional repair activity in case of unplanned failure, the cost of personnel of the producer and/or the maintenance provider. This model can be applied to a short-term plan (e.g. weekly) of preventive actions and resources (spare parts, equipment and personnel) necessary to conduct maintenance tasks. Each approach presented in this section aims to address specific cases, once each case requires different specifications. However, all the presented approaches have the same concern, scheduling the maintenance tasks required to keep items in a specified condition, guaranteeing a proper performance of equipment. These approaches were tested with small size instances. Though, our real world instances are very large, which demands a tailored constructive algorithm to provide effective solutions in real time. In this paper an initial approach of a scheduling algorithm will be presented and discussed based on a small instance. In order to validate and to compare the results obtained with the constructive algorithm, the small instance was also solved by a mixed-integer linear programming (MILP). Through the application of a MILP model, it is possible to obtain optimal plans considering small instances. 3. The Scheduling Algorithm Preventive maintenance scheduling requires three resources: manpower (technician), material (spare parts) and equipment [4]. The scheduling support tool for this problem should be concerned with due dates of maintenance tasks and availability of all resources, and should be able to elaborate a short-term plan (weekly or monthly). It should also consider the equipment availability because in the company there are equipment with long operating periods, and consequently, with limited availability for maintenance tasks. A scheduling support tool that meets the company’s requirements is being developed. This support tool is based on a preventive maintenance scheduling algorithm (PMS) that can be divided in three parts with specific objectives:
2125
2126
Patrícia Senra et al. / Procedia Manufacturing 11 (2017) 2123 – 2130
• Identification of the scheduling period and equipment availability for preventive maintenance in this period; (step 1of the algorithm) • Tasks ordering (steps 2 and 3); • Allocation of tasks to each technician based on the defined order and equipment availability (steps 5 – 6). The tasks ordering is made in two steps. In the first step, all the maintenance tasks are ordered by a criticality index for equipment, designated by Business Impact Rating (BIR), in descending order. Then, in the second step, for each maintenance tasks with the same BIR, a second sorting is done by due dates. The tasks will be assigned following this last order. Both ordering have the aim to minimize delays on the execution of maintenance tasks, especially in the most critical equipment. Maintenance tasks with the same BIR and due date will be sorted by their processing times in descending order. These orderings, besides being used to prioritize the assignment of tasks, will also allow the visualization of all the maintenance tasks that should be executed in a short–term horizon and to be a support in the negotiation between manufacturing and maintenance departments to provide time for preventive maintenance performing. The visualization is possible through “Maintenance Tasks Table”, a table in the company’s CMMS that contains all tasks ordered to be scheduled. The main objective of BIR is the impact evaluation of equipment breakdown on productivity. BIR is obtained through two criteria: CA – Equipment utilization and CB – Availability of alternative equipment. The “equipment utilization” criterion shows the production line’s criticality. A line that is being used more than other lines is more critical because it has less time available to perform maintenance tasks and less capacity slack to be able to recover from downtimes and meet deadlines when there are delays. The criterion “availability of alternative equipment” intends to show if there are equipment in the production line that can do the same operations as the equipment that is being assessed. The existence of alternative equipment can decrease the impact of a breakdown since production can continue, using the other equipment. Each criterion can be classified in three levels, where the higher level is the most critical. Each combination of two criteria was analyzed and for each one, a classification with four levels was assigned as presented in Table 1. Table 1 - Business impact rating Equipment utilization 3 3 2 2 1 1
Availability of alternative equipment 2 1 2 1 2 1
BIR 4 3 3 2 2 1
The planner defines and introduces in the scheduling tool a scheduling period. Consequently, it will be possible to identify the equipment with available intervals during this period. Consecutively, the equipment should be ordered by BIR and the maintenance tasks associated to the available equipment should be imported from the “Maintenance Tasks Table”. The allocation of maintenance tasks as previously mentioned, should consider the availability of spare parts, equipment and technicians. So, the algorithm starts the allocation process with the equipment with higher BIR. This way, the allocation is done in parallel among equipment with the same the BIR taking into account due date of maintenance tasks, and in serial among the equipment with different BIR value. The ordering by processing times prioritizes the tasks with higher durations. While the equipment is available and there are also available technicians, the PMS will check if the task requires spare parts, and if they are available. In case of unavailability of the spare parts, spare part acquisition is requested and the maintenance task will not be scheduled. In contrast, if the spare part is available the PMS will search an available and competent technician. The same process happens when the maintenance task does not require spare part. The allocation of maintenance task to technician starts selecting the technician with, at least, the lowest level competence required. If there is an available and competent technician, the maintenance task is scheduled. When a maintenance task is scheduled, its data information is updated. At the end, after checking if all the maintenance tasks imported can be scheduled during the availability time window of equipment, the PMS will return a schedule solution. The PMS structure is the following: Step 1. Identify the time windows availability of equipment and technicians; Step 2. Sort the maintenance tasks by BIR in descending order;
2127
Patrícia Senra et al. / Procedia Manufacturing 11 (2017) 2123 – 2130
Step 3. For each BIR value: 3.1 Sort the maintenance tasks by due date. 3.2 When the maintenance tasks have the same BIR and due date, order by processing time in descending order. 3.3 Return a “Maintenance Tasks Table”. Step 4. (Scheduling period) 4.1Define the scheduling period. 4.2 Filter the available equipment for the pre-selected scheduling period: 4.2.1 Order the equipment by BIR in descending order; 4.2.2 Import the maintenance tasks previously ordered associated to each available equipment in the scheduling period. Step 5. (Allocation for each equipment following the order defined in 4.21.) 5.1 While the equipment is available and there is competent technician: 5.1.1For each imported maintenance tasks ordered by BIR and due date: 5.1.1.1 If the maintenance task requires spare-parts: 5.1.1.1.1 The spare part is available: Go to step 5.1.1.3. 5.1.1.1.2 The spare part is not available: Request the spare part acquisition and the maintenance task returns to “Maintenance Tasks Table” to be scheduled later. 5.1.1.2 Else: Go to step 5.1.1.3. 5.1.1.3 Filter the technician with a level of competence equal or higher than it is required. 5.1.1.3.1 For each technician: 5.1.1.3.1.1 If the technician is available: Schedule the maintenance task and go back to 5.1. 5.1.1.3.1.2 Else: Maintenance task returns to “Maintenance Tasks Table” to be schedule later and go back to 5.1. Step 6. Return the solution.
4. Application case For the application case, it is considered that the technician team is composed by three technicians competent to perform all maintenance tasks to be scheduled and their availability is presented in Table 2. Furthermore, for simplification, it is considered that the maintenance tasks do not require spare parts. The defined scheduling period starts at 10:00 a.m. of February 9th, 2016 and ends at 17:00 p.m. of February 10th, 2016 where only few equipment have availability windows (Table 2). The respective maintenance tasks imported from “Maintenance Tasks Table” are presented in Table 3. Table 2 - Availability of Technicians and Equipment Availability Technician’s Designation Work Schedule
Equipment’s Designation
BIR
T1
06:00 – 14:30
GP01
4
T2
14:30 – 23:00
ASY10_0010
3
T3
23:00 – 06:00
FCT50_0010
2
BUR50_0301
1
VT17
4
Day 09/02/2016 10/02/016 10/02/2016 09/02/2016 10/02/2016 10/02/2016 09/02/2016 10/02/2016
Hour 18:00-24:00 24:00 - 7:00 06:00 - 17:00 18:00 - 24:00 24:00 - 04:00 11:00-24:00 10:00-20:00 16:00-24:00
The tasks ordering allows to understand the maintenance tasks that should be scheduled first. In cases of tasks with the same BIR and due date, they were ordered by processing time in descending order. This way, the available time of equipment will be filled by the maintenance tasks with higher durations first.
2128
Patrícia Senra et al. / Procedia Manufacturing 11 (2017) 2123 – 2130
Table 3 - List of maintenance tasks filtered and ordered Equipment
Maintenance Tasks
index
Line
Designation
BIR
Designation
Due Date
t1
2N16
GP01
4
Replacing the Stator and Rotor of the Dispensing Pump
09/02/2016
t2
2M05-2
VT17
4
Cleaning the flow tank
09/02/2016
34
t3
2N16
GP01
4
Curtains replacement of in EPM's
10/02/2016
240
t4
2M05-2
VT17
4
Check flow quantity
10/02/2016
14
t5
2M05-2
VT17
4
Machine Check
10/02/2016
11
t6
2N05
ASY10_0010
3
Replacing Vacuum Pumps (suction cups)
10/02/2016
4
t7
2N05
FCT50_0010
2
Replace interface needles
09/02/2016
96
t8
2N05
FCT50_0010
2
Internal cleanliness
09/02/2016
34
t9
2I05
BUR50_0301
1
Maintenance level 1 aparaf. Guides and suction cups (ASI)
09/02/2016
30
t10
2I05
BUR50_0301
1
O-ring replacement
09/02/2016
6
t11
2I05
BUR50_0301
1
Preventive Maintenance PC - Cooler and Mass
10/02/2016
53
t12
2I05
BUR50_0301
1
Cleaning the oven glasses
10/02/2016
32
Duration 108
Analyzing the Table 3, the allocation process will initiate with t1 task with a duration of 108 min. The equipment associated is GP01 which has the following available periods: 18:00 to 24:00 at February 9th and 24:00 to 07:00 at February 10th during the schedule period, as shown in Fig. 2. The technicians T2 and T3 are available during the first available period of GP01, and the technicians T3 and T1 are available during the second period. All technicians are available at different instants. In order to respect the due date and minimize the delays, the maintenance tasks will be allocated at the first available instant that all resources are available. Thus, t1 will be allocated to technician T2 at 18:00 (Fig. 2). The same process will be executed for the second maintenance task (Fig. 3) and so on until one of the resources finishes. In Fig. 4 is presented a Gantt chart for all the equipment that have available periods during the schedule period, with all the tasks allocated. 09/02/2016 Hours
11
12
13
14
15
16
17
18
10/02/2016 19
20
21
22
23
24
1
2
3
4
5
6
7
8
7
8
9
10
11
12
13
14
15
16
17
12
13
14
15
16
17
t1
GP01 VT17 ASY10 FCT50 BUR50
Fig. 2 - Gantt chart with first scheduled task. 09/02/2016 Hours
11
13
14
15
16
17
18
10/02/2016 19
20
21
22
23
24
1
2
3
4
5
6
t1
GP01 VT17
12
t2
ASY10 FCT50 BUR50 Fig. 3 - Gantt chart with second scheduled task.
9
10
11
2129
Patrícia Senra et al. / Procedia Manufacturing 11 (2017) 2123 – 2130
09/02/2016 11
Hours
12
13
14
15
16
17
18
10/02/2016 19
20
21
22
23
24
t1
GP01
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
t4 t5
t2
VT17 ASY10
t6 t7 t8
FCT50
t9 t10
BUR50
t11 t12
Fig. 4 - Gantt chart for the equipment.
In this example, there are few maintenance tasks to be allocated, hence the available period of equipment are not totally filled and there were not conflict situation during the allocation process. The PMS aimed to perform the maintenance task allocation on the beginning of the equipment’s availability period, which allows a margin to possible delays without compromising the task accomplishment in time. It is important to respect the due dates of each maintenance task to ensure the production quality and the proper performance of each equipment. The diagram in the Fig. 5 is the result of the allocation process that considers the availability of all resources: equipment, spare parts and technicians. 09/02/2016 Hours
T1
11
12
17
t3
13
14
15
16
17
18
10/02/2016 19
20
21
22
23
24
1
2
3
4
5
6
7
8
9
10
11
12
13
t2
t6
t9 t10 t11 t12
VT17
ASY01
BUR50
T2
14
15
16
17
t1
t7 t8
t4 t5
GP01
FCT50
VT17 t3 GP01
T3
Fig. 5 - Gantt chart for technicians.
In Fig. 5, it can be noticed that t9 and t10 were scheduled with delay due to equipment unavailability (BUR50). In this example, the total tardiness obtained was ΣTj = 2 (days), there is 2 tardy jobs in total (ΣUj =2; t9 and t10) and the maximum lateness (Lmax) is one day. In this company the technicians are also allocated for production work and corrective maintenance. Therefore, although the distribution of preventive maintenance tasks and the total completion time (ΣCj) are not equal between the three technicians (see Table 4), the remaining hours of the shifts could be occupied with production support and corrective maintenance interventions. Table 4 - Maintenance tasks scheduled to each technician Technician T1 T2 T3
Number of maintenance tasks allocated 6 5 1
ΣCj 159 263 240
This instance was also solved by MILP and the same solution was obtained. It is a successful outcome since the PMS was able to provide an optimal solution. Through the analysis of this example, it is possible to identify some specific situations that need special attention and study: • The maintenance tasks with small durations should first be scheduled on the gaps between the shifts and lunch time, consequently the longer available intervals of equipment would be filled by the maintenance tasks with longer durations.
2130
Patrícia Senra et al. / Procedia Manufacturing 11 (2017) 2123 – 2130
• It would be interesting to apply the opportunistic maintenance concept, i.e. when a corrective maintenance intervention is performed, preventive maintenance tasks with small processing time could be performed, allowing the increase of the efficiency of the maintenance task execution. • The ordering of maintenance tasks adopted only considers the equipment’s criticality, it does not consider the impact of maintenance task non-achievement on the equipment performance. This can lead to situations that available time windows of equipment are totally occupied with maintenance tasks schedule with low impact on equipment performance that could be schedule later, instead of being occupied with maintenance tasks with higher impact on performance equipment. Therefore, this criterion will be considered in the ordering method. • The objective function only considers the tasks delays. 5. Conclusion An algorithm is being developed to construct a quick scheduling solution, taking into account availability of equipment and technicians, processing times of maintenance tasks, due date, competence level required and downtime of production line. The algorithm orders the maintenance tasks by a criticality index equipment and due date and the allocation to technicians occurs after verifying the availability of required spare parts. Thus, the algorithm that supports the scheduling support tool is composed by identification of availability times, an ordering method and an allocation method, and aims to minimize the total tardiness. Through an application example, it was possible to show the proposed algorithm’s effectiveness. The ordering method adopted in this initial approach can lead to situations that decrease the efficiency of scheduling, such as the maintenance tasks related to equipment with lower BIR value that have higher impact on the quality and performance of the equipment are not scheduled, because the algorithm only prioritizes the equipment with higher BIR. The same goes to spare parts, where this method can lead to situations where the spare parts are allocated to equipment with higher BIR value, when it can be more urgent to allocate them toequipmentwith lower BIR value (if the spare required is the same). In this first computing experience, it was possible to conclude that the PMS is a promising scheduling approach method. Future work will be focused on tasks ordering considering the impact of not performing the maintenance task as well as the possible tolerance in due date for a given task. After the complete definition of the algorithm, the associated computational application will be developed to be integrated in the company’s CMMS. Acknowledgements This work has been supported by the Portugal Incentive System for Research and Technological Development. Project in co-promotion nº 002814/2015 (iFACTORY 2015-2018). References [1] EN 13306. European Standard: Maintenance Terminology 2010. [2] Ebrahimipour V, Najjarbashi A, Sheikhalishahi M. Multi-objective modeling for preventive maintenance scheduling in a multiple production line. J Intell Manuf 2013;26:111–22. doi:10.1007/s10845-013-0766-6. [3] Pinedo M. Planning and Scheduling in Manufacturing and Services. 2009. doi:10.1007/978-1-4419-0910-7_7. [4] Paz NM, Leigh W. Maintenance scheduling: issues, results and research needs. Int J Oper Prod Manag 1994;14:47–69. [5] Leung JYT. Handbook of scheduling: algorithms, models, and performance analysis. CRC Press; 2004. [6] Duffuaa SO, Al-Sultan KS. A stochastic programming model for scheduling maintenance personnel. Appl Math Model 1999;23:385–97. doi:10.1016/S0307-904X(98)10009-4. [7] Samhouri MS. An intelligent opportunistic maintenance (OM) system: A genetic algorithm approach. TIC-STH’09 2009 IEEE Toronto Int Conf - Sci Technol Humanit 2009:60–5. doi:10.1109/TIC-STH.2009.5444428. [8] Manzini R, Accorsi R, Cennerazzo T, Ferrari E, Maranesi F. The scheduling of maintenance. A resource-constraints mixed integer linear programming model. Comput Ind Eng 2015;87:561–8. doi:10.1016/j.cie.2015.06.006.