Next Article in Journal
Methodology and Statistical Modeling of Social Capital Influence on Employees’ Individual Innovativeness in a Company
Previous Article in Journal
Local Stability of Traveling Waves of a Model Describing Host Tissue Degradation by Bacteria
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multi-Objective Model and Variable Neighborhood Search Algorithms for the Joint Maintenance Scheduling and Workforce Routing Problem

1
SI2M, Laboratoire Systèmes d’Information, Systèmes Intelligents et Modélisation Mathématique, Institut National de Statistique et d’Economie Appliqué, Rabat 10100, Morocco
2
LISIC—UR 4491, Laboratoire d’Informatique, Signal et Image de la Côte d’Opale, Université du Littoral Côte d’Opale, 62228 Calais, France
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(11), 1807; https://doi.org/10.3390/math10111807
Submission received: 29 April 2022 / Revised: 20 May 2022 / Accepted: 20 May 2022 / Published: 25 May 2022
(This article belongs to the Section Mathematics and Computer Science)

Abstract

:
This paper addresses a problem faced by maintenance service providers: performing maintenance activities at the right time on geographically distributed machines subjected to random failures. This problem requires determining for each technician the sequence of maintenance operations to perform to minimize the total expected costs while ensuring a high level of machine availability. To date, research in this area has dealt with routing and maintenance schedules separately. This study aims to determine the optimal maintenance and routing plan simultaneously. A new bi-objective mathematical model that integrates both routing and maintenance considerations is proposed for time-based preventive maintenance. The first objective is to minimize the travel cost related to technicians’ routing. The second objective can either minimize the total preventive and corrective maintenance cost or the failure cost. New general variable neighborhood search (GVNS) and variable neighborhood descent (VND) algorithms based on the Pareto dominance concept are proposed and performed over newly generated instances. The efficiency of our approach is demonstrated through several experiments. Compared to the commercial solver and existing multi-objective VND and GVNS, these new algorithms obtain highly competitive results on both mono-objective and bi-objective variants.

1. Introduction

Large-scale systems are essential to today’s industry, such as aeronautics, railways, telecommunications, etc. The management of such systems is often complicated and requires an adapted maintenance strategy. Maintenance is indeed a vital primary service in industries, especially when failures are likely to impact personnel safety and cause important environmental damages. It can also have a major impact on profitability.
Maintenance aims to retain equipment in its operating condition or restore it to a previous state enabling its required functions. To perform maintenance activities, it is crucial to effectively manage a crew of operators and sequence their visits over a planning horizon. Two main categories of maintenance can be distinguished [1]:
(1)
Corrective Maintenance (CM) that is performed after the failure. It includes actions such as repair or replacement.
(2)
Preventive Maintenance (PM), which occurs before the failure and intends to reduce the risks of unforeseen breakdowns. It can itself be divided into two categories:
1.
Time-Based Maintenance (TBM) that includes the periodic replacement and the age replacement policy (ARP).
2.
Condition-Based Maintenance (CBM) that is based on the inspection of the unit or system before the intervention.
In the first case of TBM, the preventive replacement is performed at regular time intervals. For the ARP, the unit is replaced depending on its age or its remaining useful life [1]. CBM is based on the inspection of the unit or system before the intervention. It focuses on predicting the health condition of the system using information collected from sensors.
The companies mainly outsource their maintenance operations to a service provider. This maintenance provider is required to ensure good quality maintenance services at the lowest overall cost. Figuring out the right time and manner to carry out the maintenance are therefore major concerns. The planning of maintenance operations on geographically dispersed machines subjected to random failures is, therefore, a complex problem faced by service providers. In the industry, machines are exposed to random failures that can lead to significant penalties. The opportune maintenance times are sometimes defined by the equipment manufacturer, but more often, the companies entrust their maintenance providers to define the maintenance schedule. The service provider tries to reduce the number of maintenance operations as much as possible, which can be accomplished by maximizing the periods between two successive visits to the same machine. At the same time, he seeks to avoid the huge costs resulting from carrying out corrective maintenance operations on broken machines. The challenge is therefore finding the optimal number of visits to perform maintenance operations. Mathematical maintenance policies are used to develop an effective preventive maintenance plan. The objective of such policies is to design a maintenance schedule including both preventive replacement and corrective replacement. The maintenance models dealing with these policies are probabilistic due to the uncertainty of the mechanism that causes failure. When machines are geographically distributed, it is necessary to sequence the visits and determine the best routing–maintenance policy. Cost, availability, reliability, and maintainability are the benchmarks for evaluating maintenance decisions, similar to cost, quality, and time objectives in logistics. The maintenance company would be interested in finding the best compromise between services and maintenance costs on one hand and operational and transport costs on the other hand. The objective is to jointly consider the technical aspects of maintenance and the organizational aspects of operations management. To consider these two aspects, many works in the literature consider both maintenance and routing problems [2,3,4,5]. To handle this optimization problem, it is necessary to simultaneously investigate the maintenance scheduling and vehicle routing problem (VRP). The vehicle routing problem with time windows (VRPTW) has been widely used in the literature as the main variant of VRP for planning and scheduling maintenance operations [4,5,6,7].The problem addressed in this paper consists of determining the best routing maintenance policy when planning operators’ schedules to perform maintenance operations on geographically distributed machines subjected to random failures.
Herein, the main contributions of this work are summarized as follows.
(1)
A new bi-objective model is proposed, aiming to minimize both maintenance and transport costs in the case of time-based preventive maintenance. The first objective minimizes the total travel cost related to technicians’ routing. The second objective can either minimize the total preventive and corrective maintenance cost or the failure cost. A penalty cost is incurred when the maintenance activities are performed after the optimal time interval. The present paper comes with the novelty of introducing a nonlinear and uncertain failure cost that uses information from equipment degradation. Moreover, the failure and maintenance costs adopted have not been used in a multi-objective study with the routing objective. We also include a continuous-time for the last restoration in the second objective of the model.
(2)
Variable Neighborhood Descent and General Variable Neighborhood Search variants have been designed and implemented to solve the mono-objective and the bi-objective problems. The proposed multi-objective VND and GVNS algorithms are based on the Pareto dominance strategy and start with a unique initial solution. The algorithm MOVND/P is designed to be an intensified local search component of the GVNS algorithms, whereas MOVND/PI and MOGVNS/P are intended to solve the multi-objective problem. They use a proposed multi-objective best improvement strategy called MOBI/P and new adaptations of VNS mechanisms in the multi-objective context.
(3)
Extensive experiments demonstrated that the proposed algorithms outperformed the literature algorithms. We also test some other GVNS variants for comparison reasons. An analysis is conducted to clearly show the differences between the performance of the algorithms proposed and the literature algorithms. It permits measuring the influence of the proposed mechanisms to improve the results.
This study will be presented as follows: Section 2 sets a summary of the corresponding literature. Section 3 delineates the problem and sets out its mathematical formulation. A description of the proposed solution approaches and their implementation details are given in Section 4. Section 5 then presents experimental results. At last, Section 6 lays out concluding observations and perspectives for upcoming research.

2. Literature Review

The majority of existing studies tackling routing and maintenance problems dealt separately with each of them. Two principal research streams can be distinguished in the literature:
  • First stream: The routing is used to schedule maintenance operations.
  • Second stream: Maintenance and routing are viewed as an integrated problem by considering both their specific features.
The first stream of research includes workforce scheduling problems that are particularly useful in reality and affect many organizations. Indeed, the workforce cost constitutes one of the highest costs in any organization. The major problems addressed in the first stream are technician routing and scheduling problem (TRSP) [8], technician and task scheduling problem (TTSP) [7], service technician routing and scheduling problem (STRSP) [6], and workforce scheduling and geographically distributed asset maintenance problems (GDMP) [2]. Cordeau et al. [7] proposed a mixed-integer linear program and a solution approach for the ROADEF 2007 challenge. This challenge tackled the specific features of the TTSP in a large telecommunications company. A constructive heuristic was proposed to generate a feasible solution by defining teams and assigning tasks. An adaptive large neighborhood search metaheuristic is then used to solve the problem in the improvement phase. Each technician is specialized in different tasks with different skill levels. He is able to execute tasks requiring lower levels than his as well. Skills requirements and a time window characterize each maintenance task. An outsourcing budget, as well as task priorities, are considered. Kovacs et al. [6] introduced the service technician routing and scheduling problem. Their model minimized routing and outsourcing costs by considering skills and team-building constraints. They used an adaptive large neighborhood search algorithm to solve the problem. They also proposed to select destroy–repair operator pairs and adapted the adaptive mechanism consequently. Pillac et al. [8] dealt with the dynamic technicians routing and scheduling problem (DTRSP). The assignment of technicians with adequate skills, spare parts, and tools to tasks is realized to minimize the overall cost. To handle more requests, technicians can replenish tools and spares at the depot at any time. The authors proposed a re-optimization approach for the periodic problem. This approach relies on a parallel adaptive neighborhood search (RpALNS) algorithm, which generates a new route each time a request arrives. The suggested parallelization scheme distributes the computational effort among the different processors. Their metaheuristic has achieved the same performances as the state-of-the-art results for the dynamic vehicle routing problem with time windows. Çakırgil et al. [9] studied the multi-skill workforce scheduling and routing problem for an electricity company. Different skills requirements and priorities characterize the maintenance operations, and teams of technicians need to be formed to perform them. A mixed-integer programming model was proposed to complete higher priority tasks earlier and minimize total costs. The authors proposed a two-stage matheuristic based on the variable neighborhood search to solve the bi-objective problem.
The second stream of research is concerned with the combination of maintenance and routing characteristics. Workforce scheduling is not the only problem dealt with in this case since other maintenance problems are taken into account. Reliability analysis can be included to design solutions that assign technicians at the right time to perform maintenance operations. Workforce costs and maintenance costs are both dealt with in this case. Lopez-Santana et al. [4] proposed a mathematical model called the combined maintenance and routing (CMR) and a two-phase procedure to solve it. In the first phase, a maintenance model is solved to determine the optimal times to perform preventive maintenance operations, their frequency, and their time windows while minimizing the total expected maintenance cost. The output data of the maintenance model is then considered in a second phase as the input data of the routing model that schedules maintenance operations for each technician. The maintenance model is again solved using the updated start times of preventive operations obtained by the routing model to connect the two problems. This procedure is repeated until meeting the stopping criterion. The nonlinear and convex maintenance cost of the objective function is approximated using a piecewise linear function, and the problem is solved for small instances using a commercial solver. Jbili et al. [3] modeled an integrated strategy of vehicle routing and maintenance. They considered vehicles used in transcontinental transportation that are subject to random failures on the road. These failures have to be repaired, which may take random durations that induce delays. A policy consisting of replacing the critical component when arriving at selected customers is adopted. A mathematical model is proposed to determine the optimal routing and sequence of PM actions simultaneously. The objective is to minimize the total expected cost per unit time. It considers the reliability of the vehicle, maintenance (PM operations and minimal repairs), transportation costs, and finally, maintenance durations and penalties incurred by late arrivals. A genetic algorithm is then proposed to solve large instances. Chen et al. [2] studied the maintenance of gully pots or storm drains. They modeled a multi-period VRP, which considers the risk impact of gully pot failure and its failure behavior each day. The risk impact is estimated using meteorological information. A risk-driven analysis is adopted to evaluate maintenance actions. They focused on two factors: parked cars and gully pots status information. The latter has been proven to be the dominant factor that may negatively affect the scheduling of maintenance actions. Rashidnejad et al. [5] presented a bi-objective multi-period model of preventive maintenance planning in geographically dispersed systems through prognostic information and remaining useful life (RUL) called the integrated vehicle routing problem with time windows and maintenance scheduling (IVRPTW-MS). The first objective minimizes the total cost composed of the performing maintenance cost, the expected failure cost, and the travel cost, whereas the second objective minimizes the unavailability of the assets. The authors used fixed costs and did not include corrective maintenance. They used a non-dominated sorting genetic algorithm II (NSGA-II) to solve this NP-hard problem.
There is a relatively small amount of research combining preventive and corrective maintenance strategies since most of the papers examined dealt only with preventive scheduling, apart from [2,4]. Moreover, they did not consider the uncertainty of the breakdowns and did not deal with a multi-objective perspective. Papers that considered random breakdowns among those examined are [3,4]. The multi-objective formulation is considered in [5,9]. Analyzing the previous problems emphasizes the need to propose solutions to the real problem that includes the following realistic features: large scale, uncertainty, the combination of both corrective and preventive maintenance, and finally, routing of technicians in a multi-objective perspective. To the best of our knowledge, no previous study investigated these features together. These aspects make the NP-hard optimization problem even more challenging. Therefore, heuristic-based approaches are necessary for large instances since exact methods are practically limited. Due to their success in solving many mono-objective combinatorial problems, VND and GVNS algorithms were extended in several studies to deal with multi-objective optimization problems. However, most of these extensions do not question the utility of using properties working well for evolutionary algorithms such as dealing with a population of solutions, aggregation, etc. They also do not propose a specific local search strategy for multi-objective optimization apart from Paquette et al. [10]. Instead, most literature algorithms apply mono-objective local searches by dealing with each objective separately [11] or use previously proposed local search strategies [12,13] such as Pareto local search [13].
The present paper comes with the novelty of exploring the combination of vehicle routing and maintenance problems in a unique bi-objective model and proposes novel VND and GVNS algorithms to solve it. This paper proposes a bi-objective model for the joint maintenance and routing problem. The first objective minimizes the total travel cost and the penalty cost. The second objective can be minimizing the total preventive and corrective maintenance cost. This cost was proposed by Lopez-Santana et al. [4] in their single objective model. The paper also introduces a nonlinear and uncertain failure cost that uses information from equipment degradation, with the routing model as a second objective. The maintenance hypothesis of renewal theory is considered on both costs through a continuous time for the last restoration. Penalties for late arrivals are also associated with the second considered objective. Moreover, the failure and maintenance costs adopted have not been used in a multi-objective study with the routing objective. The workforce cost and the maintenance cost represent the highest costs in a plant. Failing to optimize these costs together can lead to a serious loss for the manufacturing company and reduce its profitability. The maintenance and transport are support processes often outsourced due to their importance. They are directly linked for a service provider to the production of its service. This model simultaneously optimizes these costs in an organization, making it appropriate for real-world situations. Maintenance service providers can use this model to provide the best services to their customers whenever the maintenance strategy adopted by those customers is time-based maintenance, including preventive and corrective maintenance. The previous research gaps of the problem in the literature are therefore filled. To solve the integrated maintenance and routing problem efficiently, multi-objective new adaptations of the variable neighborhood descent and the general variable neighborhood search algorithms are proposed. This paper describes the design of the improvement method, the new best improvement strategy proposed MOBI/P, the acceptance criterion, the stopping criterion, and the approach adopted to reduce the computational time. The paper finally presents an analysis to demonstrate the efficiency and novelty of the proposed mechanisms compared to the literature. This work differs from the literature since it proposes novel adaptations of VND and GVNS algorithms to solve multi-objective problems. Indeed, it does not use the existing local search strategies but a new one called MOBI/P. Moreover, the VND algorithm, which is to be used as an intensification algorithm, is designed to be far faster than the GVNS algorithm. In addition, these algorithms include more design features to lead to better solutions than the literature.

3. Problem Definition and Formulation

We consider a set M of machines that are located in dispersed customers’ sites. They are subjected to random breakdowns due to the failure of a critical component. For each machine and at regular time intervals, preventive maintenance (PM) interventions are scheduled. A PM operation has a cost C p m i and lasts a duration T p m i . Each preventive operation must be performed within its corresponding time window. However, if it is not possible due to the high workload of technicians, late arrivals are then allowed. Hence, technicians can arrive at an operation i following the end of its time window b i . A penalty cost p i k is incurred in this case. On the other hand, a team of technicians has to wait until the earliest time a i to start an operation i. Teams of technicians K are available to perform both preventive and corrective maintenance. They perform corrective maintenance (CM) operations when machines unexpectedly break down. In this case, the machine stays in a failure state until the arrival of the teams of technicians for a certain time W i . The unit waiting cost for each operation is C w i . A CM operation has a cost C c m i and lasts a duration T c m i . A minimized number of vehicles among the available ones must be determined and used for all operations to reduce transport costs. The Node 0 is considered the departure point of maintenance teams, and the Node n + 1 is considered the final destination. We denote by O the set of all nodes of the PM operations related to all machines, and by V , the set of all locations (operations nodes plus the depots). Each team of technicians has to perform the maintenance operations at the customers’ sites. Thus, the model could be defined as a directed complete graph G = ( V , A ) , where A = { ( i , j ) , i V o , j V d , i j } with V o and V d as the sets of origin and destination vertices. The following assumptions are considered:
  • All maintenance teams have the same skills and qualifications to do the maintenance operations.
  • It is considered that the random variable of the time to failure for each machine follows a Weibull distribution whose shape and scale parameters are, respectively, β m and σ m , m M . Any other distribution resulting from the historical data of machine failures can be applied.
  • We suppose β m > 1 , m M to deal with the third part of the bathtub curve. This part features the wear-out life of the machine when the failure rate is an increasing function of age or usage. Indeed, the wear-out is the phenomenon accelerating the risk of failure over time.
  • All costs related to the maintenance and penalties are known and constant.
  • The duration of PM and CM tasks are known and constant.
  • After each PM or CM operation, a machine is considered in a state similar to a new one.
  • The mean time of the CM operation is superior to the mean time of the PM operation.
  • The cost of a CM operation is superior to the cost of a PM operation.
  • Each PM operation must be performed in its associated time window. However, if it is not possible, we allow a team of technicians to arrive following the end of its time window. In this case, a penalty cost is added to the total cost.
  • The failure of a machine is generally due to the failure of its critical components.
  • Failures of individual machines are statistically independent.
  • A machine can have several maintenance operations over the planning horizon.
  • In case of failure, before the beginning of the next PM operation, the customer must wait for the team of technicians to perform a CM operation instead. The team is not rescheduled based on this new situation.
  • The travel times are deterministic and satisfy the triangle inequality.

3.1. Notation of the Joint Maintenance Scheduling and Workforce Routing Problem

The notations below are employed throughout the paper.

3.1.1. Sets

  • M = { 1 , , l } : set of machines.
  • O = { 1 , , n } : set of PM operations ( n = m M n m ).
  • V = { 0 , , n + 1 } : set of all vertices including the PM operations, departure depot 0 and destination depot n + 1 .
  • V o = { 0 , , n } : set of origin nodes.
  • V d = { 1 , , n + 1 } : set of destination nodes.
  • K = { 1 , , K } : set of technicians’ teams or vehicles.
  • A = { ( i , j ) , i V o , j V d , i j } : set of arcs linking nodes.

3.1.2. Maintenance Parameters

  • C p m m : total preventive maintenance operation (PM) cost of machine m.
  • C c m m : total corrective maintenance operation (CM) cost of machine m.
  • C w m : unit waiting cost. This cost can be interpreted as the production loss cost per unit time incurred by the customer for this machine m.
  • T p m m : service time of PM operation of machine m.
  • T c m m : service time of CM operation of machine m.
  • M m ( δ m ) : mean time to failure of the machine m given that the failure occurred before the optimal PM period for machine m, δ m .
  • W m : waiting time before starting a CM operation on machine m. It is the time waited before the arrival of the technicians to perform a CM operation when the machine m suddenly breaks down.
  • C M m ( δ m ) : the total cost per unit time if the PM operation is performed when the machine m is of age δ m .
  • T m : random variable of the time to failure of machine m.
  • β m : shape parameter of the Weibull distribution of machine m.
  • σ m : scale parameter of the Weibull distribution of machine m.
  • F m ( t ) : cumulative distribution function of t. It represents also the probability of failure of machine m in the interval [ 0 , t ] .
  • f m ( t ) : density function of the Weibull distribution of t of machine m.
  • t o l m : the percentage of time of delaying or advancing a PM operation.
  • H: length of the planning horizon.

3.1.3. Routing Parameters

  • t i , j : travel time associated to the arc ( i , j ) A .
  • c i , j : routing cost associated to the arc ( i , j ) A .
  • a i : earliest time to start a PM operation i.
  • b i : latest time to start a PM operation i.
  • c: penalty cost per unit time for arriving after the deadline b i associated to PM operation.
  • K: number of teams of technicians.
  • B: large number.

3.1.4. Variables

  • x i , j , k : binary decision variable that takes the value one if the technicians’ teams k travels through arc ( i , j ) A and 0 otherwise.
  • θ i , k : arrival time of the team of technicians k to the maintenance operation i.
  • p i , k : penalty variable that measures the total time in excess of the latest permitted time to start the service b i by the team of technicians k. p i , k = m a x ( 0 , θ i , k b i ) .
  • ρ i , k : time of the last restoration (renewal) previous to the i-th PM operation performed by the team of technicians k. It is the previous start time of the operation on the same machine.
    The variables of the maintenance model that are constant input parameters for the routing one are defined as follows:
  • δ m : optimal PM period for machine m.
  • n m : frequency of PM operations of machine m. It is the number of PM operations of the machine m on the planning horizon.
  • ϕ i : execution time of operation i.
  • n: number of PM operations to perform in the planning horizon.

3.2. The Description of the General Approach

The maintenance model is solved to determine the optimal time ϕ i for each maintenance operation i that minimizes the total maintenance cost. The optimal date ϕ i to perform a PM operation i is used to determine the durations d i for the PM operations, the total number of operations n and a time window interval [ a i , b i ] that minimizes the total maintenance cost. The above steps have been adopted by Lopez-Santana et al. [4]. We then solve the defined joint maintenance and routing model that minimizes the routing and the maintenance costs or the routing and the failure costs. Penalties for late arrival are considered in both cases. In the first case, the maintenance cost is minimized considering the workforce routing constraints that incorporate maintenance requirements (maintenance time windows, etc.). Integrating technical maintenance requirements with transport management is the first merit of the approach. In the second case, the failure cost is minimized to reduce the risk of failures. However, the optimal time chosen must be within a time window that minimizes the total maintenance cost. This latter case considers three objective requirements simultaneously while the minimization of maintenance cost is included in time windows constraints. Expressing some objectives of optimization problems as constraints reduces the problem complexity as adopted in [14]. The second merit of our approach is integrating several maintenance strategies. Indeed, the chosen optimal time reduces the risk of failures, the maintenance cost, and the travel cost (risk-based maintenance, etc.). The outputs of the problem are shown in Figure 1. The workforce routing constraints influence the time to perform maintenance operations, the time of the last restoration that depends on that latter in the combined model, and the waiting time. All the variables are interconnected. Therefore, it is essential to model an integrated problem and to solve it using multi-objective optimization.

3.3. The Maintenance Model

The decision model to determine the optimal interval between PM operations is referred to as the maintenance model. It is used when the aim of performing maintenance activities is to minimize the total related maintenance costs of preventive and corrective maintenance operations. The optimal period δ m to perform a PM operation is determined for each machine m with the frequency n m of PM operations in the planning horizon.
In the following, we define the main terms employed in the maintenance decision model. The probability of failure in the interval [ 0 , δ m ] of machine m, where P m is the probability’s notation, is:
F m ( δ m ) = P m ( T m δ m ) = 0 δ m f m ( t ) d t
The model generally applied by researchers in the literature to settle optimal times to carry out PM operations in the case of periodic preventive maintenance is defined in [15]. Given a machine m, we seek the optimal time δ m * to execute PM operations that minimizes the total maintenance cost C M m ( δ m ) :
C M m ( δ m ) = E [ C M m ( δ m ) ] E [ T m ( δ m ) ] = C p m m ( 1 F m ( δ m ) ) + C c m m F m ( δ m ) δ m ( 1 F m ( δ m ) ) + M m ( δ m ) F m ( δ m )
The terms E [ C M m ( δ m ) ] and E [ T m ( δ m ) ] refer, respectively, to the total expected cost of a cycle and the expected cycle length for a machine m.
Lopez-Santana et al. [4] propose an extended maintenance cost which includes the waiting cost expression in addition to the PM and CM durations. These service times cannot be negligible when the systems under study are large-scale.
C M m ( δ m ) = C p m m ( 1 F m ( δ m ) ) + ( C c m m + W m C w m ) F m ( δ m ) ( δ m + T p m m ) ( 1 F m ( δ m ) ) + ( M m ( δ m ) + W m + T c m m ) F m ( δ m )
M m ( δ m ) represents the expected time to failure of machine m assuming the failure happens before δ m .
M m ( δ m ) = 0 δ m t f m ( t ) F m ( δ m ) d t
According to Lopez-Santana [4], the waiting time W i of an operation i undertaken by the teams of technicians k is the difference between the technicians arrival time to the PM task θ i , k and the mean time to failure M m ( θ i , k ) :
W i = θ i , k M m ( θ i , k ) , i { 1 , , n m } , k K
The values of θ i , k are needed to compute the waiting times. They are also the outputs of the routing model. Consequently, the number of W i obtained is equal to the number of PM operations to be performed for the machine m in the planning horizon. Since the maintenance model takes only one value, Lopez-Santana et al. [4] consider the average value of all W i , where i refers to the PM operations related to the machine m to update the waiting time W m and iterate the procedure. However, the values of θ i , k are unknown before solving the routing model. Therefore, we suppose a PM operation will be scheduled at δ m . This approximation has also been used by [16].
The waiting time is therefore defined as follows:
W m = δ m M m ( δ m )
The maintenance cost per time unit for a machine m at the time δ m is finally equal to:
C M m ( δ m ) = C p m m ( 1 F m ( δ m ) ) + ( C c m m + ( δ m M m ( δ m ) ) C w m ) F m ( δ m ) ( δ m + T p m m ) ( 1 F m ( δ m ) ) + ( δ m + T c m m ) F m ( δ m )
This nonlinear equation without constraints is solved to obtain the optimal period for each machine m, δ m * = argmin C M m ( δ m ) .
The frequency of a PM operation on the planning horizon H can be obtained as follows:
n m = H E [ T m ( δ m * ) ] , m M
The frequency of a PM task is the number of times it is realized in the horizon. Considering a frequency n m of a machine m, the PM operations need to be performed at times { δ m * , δ m * + E [ T m ( δ m * ) ] , δ m * + 2 E [ T m ( δ m * ) ] ,..., δ m * + ( n m 1 ) E [ T m ( δ m * ) ] } . The execution date ϕ m o of an operation o corresponding to machine m is equal to ϕ i which represents the execution date of an operation i and is obtained as follows:
ϕ i = ϕ m o = δ m * + ( o 1 ) × E [ T m ( δ m * ) ] , o { 1 , , n m } , m M , i O
The time window [ a i , b i ] of PM tasks associated with a machine are obtained using [ a m , b m ] the time window of the PM period of machine m on the first cycle. [ a m , b m ] is determined using the percentage of time of postponing or preempting a PM task that we can tolerate. The cost stays relatively low and close to the minimal value C M m ( δ m * ) in this interval. [ a i , b i ] can be expressed as follows:
a i = a o m = a m + ( o 1 ) × E [ T m ( δ m * ) ] , o { 1 , , n m } , m M , i O
b i = b o m = b m + ( o 1 ) × E [ T m ( δ m * ) ] , o { 1 , , n m } , m M , i O
where a o m and b o m correspond to the lower and upper bound of the time window of machine m and its associated operation o. Each machine m can have n m operations in the horizon, o { 1 , , n m } . All operations for all machines are indexed by i. For each machine m, we can associate an operation i with i { 1 , , n } and ( n = m M n m ). The interval [ a m , b m ] is determined as follows:
a m = δ m * t o l m × δ m * , m M
b m = δ m * + t o l m × δ m * , m M

3.4. The Joint Maintenance Scheduling and Workforce Routing Model

As mentioned previously, a machine has to undergo a number n m of operations within the time horizon. They are indexed by i { 1 , , n m } . In this case, the parameters related to operations i related to the same machine m are equal to the parameters of this machine m. F i , σ i and β i are, respectively, equal to F m , σ m and β m . This way, the values of the operations parameters in the routing model are obtained from the maintenance parameters. The mathematical model of the integrated maintenance scheduling and routing problem can be formulated as follows.
min ( f 1 ( x i , j , k , θ i , k , ρ i , k , p i , k ) , f l ( x i , j , k , θ i , k , ρ i , k , p i , k ) , l = 2 , 3 )
s.t.
j = 1 n + 1 k = 1 K x i , j , k = 1 , i O , i j
i = 0 n k = 1 K x i , j , k = 1 , j O , i j
i = 0 n x i , j , k = i = 1 n + 1 x j , i , k , j O , k K
θ i , k + T p m i ( 1 F i ( δ i * ) ) + T c m i F i ( δ i * ) + t i , j θ j , k + B ( 1 x i , j , k ) , i V o , j V d , k K , i j
a i θ i , k b i + p i , k , i V , k K
j = 1 n k = 1 K x 0 , j , k = i = 1 n k = 1 K x i , n + 1 , k
j = 1 n x 0 , j , k 1 , k K
θ i , k , p i , k , ρ i , k 0 , x i , j , k { 0 , 1 }
The first objective function f 1 regards the transport of technicians. The second objective function f l deals with maintenance. It equals either f 2 or f 3 :
f 1 = i = 0 n j = 1 n + 1 k = 1 K c i , j x i , j , k + i = 0 n + 1 k = 1 K c × p i , k
f 2 = i = 1 n k = 1 K ( C c m i + W i C w i ) F i ( θ i , k ρ i , k ) + i = 0 n + 1 k = 1 K c × p i , k
f 3 = i = 1 n k = 1 K C M i ( θ i , k ρ i , k ) + i = 0 n + 1 k = 1 K c × p i , k
The objective function f 1  (23) minimizes the total travel cost related to technicians routing as well as the penalty cost of not respecting the operations time windows upper bounds. The objective function f 2  (24) minimizes the failure cost, the waiting cost, and the penalty cost. Minimizing the machines probability of failure is equivalent to maximizing machines reliability. The objective function f 3  (25) minimizes the total expected maintenance cost and the penalty cost incurred for arriving after the deadline b i associated to PM operations. The penalty term is intended to ensure that the time windows are respected. Therefore, it is considerably small compared to the first term of the objectives whether it is the routing, failure, or maintenance cost and does not increase the correlation between the objectives. The constraints (15) and (16) indicate that each PM operation has to be executed exactly once by one team of technicians. Constraints (17) ensure that the entry of a team of technicians to node i is mandatorily followed by their leaving. Constraints (18) make sub-tours impossible. The purpose of constraints (19) is ensuring that each PM operation is carried out within its time window. Note that we assume a 0 = 0 and b n + 1 represents the maximum time of arrival to the depot. It is permitted to arrive after the deadline b i . A penalty p i is then calculated. Constraints (20) determine the number of vehicles needed and that minimizes the total costs. Constraints (21) ensure that there are different teams of technicians in the different tours. They also ensure that every tour starts at the depot. Finally, the constraints (22) impose domain conditions on the variables.

3.5. The Novelty of the Proposed Model

Several multi-objective or bi-objective models have been proposed for the maintenance scheduling and workforce routing problem. However, adopting the failure and maintenance costs as the second objective with the routing cost has never been proposed to date in the literature to the best of our knowledge. The second objective function of the model can either be minimizing the total preventive and corrective maintenance cost and the penalty cost (25) or minimizing the failure cost with the penalty cost (24). In both costs related to maintenance, the time of the last restoration previous to the i-th PM operation performed by the team of technicians k, ρ i , k is used to verify the hypothesis of the renewal theory. Including this time in the objectives functions is a novel aspect of the model. The definition of the failure cost itself and its possible use is another novelty of the proposed model.
  • The Failure Cost: The second objective function f 2 minimizes the failure cost and the penalty cost. The aim is to maximize machines reliability. The uncertainty aspect is integrated into the failure cost function by incorporating the probability of failure and the reliability of each machine. In the second objective function, we have used the probability of failure, F i ( θ i , k ρ i , k ) , for each operation i O to utilize information from equipment degradation and hence consider failure risks in technicians’ assignment to tasks. It includes direct costs (failure cost) and indirect costs (production losses) illustrated by the waiting time. During that time, the failed machines were out of order and were not used by the organization for production activities. Losses are, therefore, supported by the company. When we multiply it by the waiting cost per unit time, we obtain a cost that can be interpreted as the production loss incurred by the organization due to this machine failure. The failure cost is beneficial in industries where breakdowns are hazardous and influence safety. This term is nonlinear and includes a random variable. It is equal, in the case of the Weibull distribution, to:
    F i ( θ i , k ρ i , k ) = 1 e ( ( θ i , k ρ i , k ) / σ i ) β i , i O , k K
  • The Maintenance Cost: The objective function f 3 minimizes the total expected maintenance cost with the penalty cost. The maintenance cost balances both preventive and corrective maintenance to find the least cost considering the two strategies.
  • The Task Duration: The duration of the maintenance operation i is probabilistic. It is simplified in the model as proposed by [4] to be deterministic. Its real expression proposed by [4] is:
    d i = T p m i ( 1 F i ( θ i , k ρ i , k ) ) + T c m i F i ( θ i , k ρ i , k ) , i O , k K

4. Proposed Multi-Objective Algorithms

The proposed mathematical model is a mixed integer nonlinear program (MINLP) which cannot be solved by commercial solvers in a reasonable time when applied to large-scale instances. VRPTW is NP-hard [5], and the classical maintenance scheduling problem using operations research techniques is NP-hard as well [5]. Naturally, the combined problem is an NP-hard problem.
The following section presents an adaptation of variable neighborhood descent (VND) and general variable neighborhood search (GVNS) to the multi-objective context to solve the proposed bi-objective combined maintenance and routing problem. At first, the method adopted is explained, and multi-objective notions used in this paper are defined; then the solution representation is shown. Next, the functions used by the algorithms and neighborhood structures are presented. Finally, the proposed multi-objective algorithms are described, as well as their novelty compared to the literature. The proposed algorithms extend single objective variable neighborhood descent (VND) and general variable neighborhood search (GVNS) proposed by Mladenovic and Hansen [17] to solve multi-objective problems. The algorithm MOVND/P is designed to be an intensification local search component of the GVNS algorithms, whereas MOVND/PI and MOGVNS/P are intended to solve the multi-objective problem. They use the Pareto dominance strategy and start with a unique initial solution. They also incorporate novel proposed strategies. Additionally, they all use a novel multi-objective best improvement strategy called MOBI/P. The other GVNS variants aim to measure the impact of the inclusion of a decomposition strategy on the algorithms. MOGVNS/D uses a weighted sum method instead of the Pareto dominance concept and a population of solutions, whereas MOGVNS/CDP tests the use of a population of solutions with MOGVNS/P.

4.1. Pareto Optimality

  • Pareto Optimal Dominance: “The solution s dominates another solution s ” is denoted by f i ( s ) f i ( s ) that is ensured if these both conditions are verified f i ( s ) f i ( s ) , i { 1 , 2 , , k } and f j ( s ) < f j ( s ) , j { 1 , 2 , , k } where k is the number of objectives.
  • Pareto Optimal Dominance Negation: “The solution s does not dominate another solution s ” is denoted by f i ( s ) f i ( s )
  • Pareto Weakly Dominance: “The solution s weakly dominates another solution s ” is denoted by f i ( s ) f i ( s ) if f i ( s ) f i ( s ) , i { 1 , 2 , , k }
  • Incomparable Solutions: Two solutions s and s are incomparable if they are equally good. This means neither solution dominates the other and is denoted by f i ( s ) f i ( s ) and f i ( s ) f i ( s )

4.2. Solution Representation and Constraints Handling

A solution is represented as a set of K tours, where each tour is a permutation of PM operations. All the constraints considered are hard apart from verifying the upper bounds of the time windows. We allow the arrival of a team to an operation after the latest permitted time defined by its time window. We therefore accept only feasible solutions. Figure 2 shows the solution representation that was used in our implementation and the results for one instance when minimizing only the first objective (the routing cost). The solution that minimizes this cost is composed of two routes (two vehicle are therefore needed). Each route is composed of three tasks in the specified order. Section 3.4 explicitly indicates how the three objective costs are evaluated and how the start time is calculated θ i k , i O , k K . For instance, five machines are being considered. Each machine has one operation, apart from machine three that has two operations: three and four. The renewal time ρ i k for all operations apart from four is therefore zero. The renewal time ρ 42 for task four related to machine three is in route two. It is equal to the start time of task three associated with the same machine, and that precedes task four. The data of this specified instance is detailed in [18].

4.3. Initial Population Generation

We use a weighted aggregation of the two objectives when generating an initial solution. The weighted sum method is used in MOGVNS/D to evaluate and compare solutions. In contrast, the other proposed algorithms (MOVND/P, MOVND/PI, MOGVNS/P, and MOGVNS/CDP) use a multi-objective evaluation and can therefore start with any weightless solution. The weighted sum method is a linear combination of weights. The evaluated function using this method is:
f ( s ) = w 1 f 1 ( s ) + w l f l ( s ) , w 1 + w l = 1 , l = 2 , 3
The algorithms start with initial solutions constructed using the best insertion heuristic. This latter calculates the minimum insertion cost for each operation that has to be inserted in the solution. The insertion cost of an operation i represents the difference between the cost solution with and without operation i. At each iteration of the heuristic, the operation with the minimum insertion cost is inserted at its best position in the current solution. The process stops when all the operations are inserted. The proposed algorithms, MOGVNS/CDP and MOGVNS/D deal with a population of solutions. Each population individual is generated using the best insertion heuristic and specific weighted sum method. The detailed procedure is described in Algorithm 1. In decomposition approaches, each population individual is associated with a subproblem. It is necessary to decompose the multi-objective problem effectively to reach the maximum parts of the Pareto front. Subproblems are defined in our case by firstly generating the weights. These weights (or search directions) are chosen to explore different directions. The best insertion heuristic is then used to construct each population’s individual using these weights.
Algorithm 1: GenerateInitialPopulation.
    Data: M: population parameter
    Result: p o p : a population of initial solutions
Mathematics 10 01807 i001

4.4. Local Search Procedure and Neighborhood Structures

Our VNS and VND algorithms rely on the set of the neighborhood structures used and particularly on the sequence of their execution. The neighborhood structures are classified and then applied from the best to the least performing [17]. This work adopts the following sequence of neighborhood structures: the swap, the insert, the 2-opt*, and the 2-opt operators. We use approximately the same order as the literature for VRP problems [19,20]. The results of our previous work [18] show that with well-chosen operators, the GVNS algorithm is an effective method to solve the single objective version of our problem. Its general structure can be applied to improve other methods performance [21]. Preliminary tests were realized using a steepest descent heuristic (best improvement local search) to verify this order. The semi-randomization and the randomization of the operators have been tested in both shaking and VND phases. They worsen the solutions obtained. In this study, we have used the classical BA strategy for the mono-objective GVNS and a novel proposed BA strategy, the MOBI/P, for the multi-objective algorithms to obtain a complete Pareto front. In our Pareto-based algorithms, a solution s is considered better than an other solution s if it dominates it or if it is incomparable to it. In other words, if after applying a move operator f ( s ) f ( s ) or f ( s ) f ( s ) and f ( s ) f ( s ) , the solution s is considered as a new efficient solution and the set A is updated by means of the a d d S o l u t i o n method. The intra-route moves are used on a single route, while inter-route moves intervene on multiple routes. We examine in the neighborhood exploration all possible positions for each operator. The three first neighborhood structures are inter-routes, and the 2-opt is an intra-route operator. The insert and 2-opt* procedure may modify the number of operations in each route as well as their order. Here’s a description of the different possible moves:
  • The swap move exchanges two operations either in the same route or between different routes.
  • The insert move deletes an operation from its position and inserts it in another position that can be in the same route or in a different route.
  • The 2-opt* operator generates a neighboring solution by removing arcs ( i , i + 1 ) and ( j , j + 1 ) belonging to two distinct routes and reconnecting arcs ( i , j + 1 ) and ( j , i + 1 ) . It withdraws two edges from a route and replaces them with two other edges to form new routes. This operator is therefore inter-route.
  • The 2-opt operator removes arcs ( i , i + 1 ) and ( j , j + 1 ) from a route and links arcs ( i , j ) and ( i + 1 , j + 1 ) in the same route. This operator is the same as a reverse operator that reverses the elements between i and j + 1 . This operator is intra-route since it intervenes on arcs belonging to the same route.

4.5. Updating Non-Dominated Solutions Set

The addSolution method described in Algorithm 2 is used to update the set of non-dominated solutions in the archive A [12,22]. This method uses Pareto dominance to evaluate solutions.
Algorithm 2: addSolution.
   Data: A: a set of non-dominated solutions;
   s: a starting solution;
   Result: A: updated archive;
    a d d e d : a boolean equal to true if s is added to the archive A;
Mathematics 10 01807 i002

4.6. Multi-Objective Variable Neighborhood Descent Based on Pareto Dominance (MOVND/P)

The multi-objective variable neighborhood descent based on Pareto dominance is an adaptation of the variable neighborhood descent algorithm (VND) to solve our multi-objective problems. It is called MOVND/P. This algorithm has been designed primarily as a multi-objective local search component and an intensification algorithm. Its goal is to improve the performance of other algorithms. This algorithm is based on the general principle of exploring several neighborhoods when there is still an improvement and is inspired by the single objective VND.
Algorithm 3 describes the proposed MOVND/P algorithm. At each iteration and while the archive is still improving (steps 6–28), the current neighborhood of s is entirely explored with a novel multi-objective best improvement strategy called MOBI/P. This MOBI/P procedure tests if each neighbor of s is non-dominated with the best solution found so far in the neighborhood of s. This best solution changes during the search. The MOBI/P strategy is very impactful since it allows the search to be more efficient and diversified and enables the algorithm to converge rapidly. All non-dominated solutions by the best solution found so far in the neighborhood of s are then stored in the set P (step 11).
Each point in P generated with the MOBI/P procedure that is not in the archive A is evaluated to enter this latter or not (steps 13–19). The solution x is included in the archive A if it is non-dominated by s and replaces the current solution s. This replacement of the current solution s by a solution that dominates it or that is incomparable to it is another new feature used. It can be noticed in line 15 and is directly inspired by a single-objective local search.
The counterAISecond measures if some solutions have been added to the archive from the previous iteration to the next iteration. It is incremented in line 17. The aim is to continue running the algorithm while there is still an improvement. The counterAISecond precisely measures if there is an improvement compared to the counter of the previous iteration counterAISecondPrevIt. There is, however, a stopping condition on the number of iterations i t e r m a x to avoid large computational time.
We define a new multi-objective neighborhood change procedure. In our case, we say that a neighborhood N l improves the archive A if all the solutions returned in P are non-dominated by the solutions in A. An improvement means that all new points have been added to the archive A. This is recorded using the counter c o u n t e r A I , which is incremented at each improvement.
A new characteristic was also incorporated in the neighborhood change procedure. In our algorithm, we stay in the improving neighborhood if all the solutions in P are non-dominated by s but also when c o u n t e r did not reach i t e r C m a x . The last part of the condition is required to avoid not exploring the other neighborhoods when the first neighborhood is constantly improving. We can obtain an efficient mix between staying in the best neighborhood and exploring the different neighborhoods.   
Algorithm 3: Multi-objective VND based on Pareto Dominance (MOVND/P).
   Data: l m a x : number of neighborhood structures;
    s 0 : initial solution;
   Result: A: a set of potentially efficient solutions;
Mathematics 10 01807 i003

4.7. Multi-Objective Variable Neighborhood Descent Based on Pareto Dominance Improved (MOVND/PI)

The multi-objective variable neighborhood descent improved based on Pareto dominance (MOVND/PI) presented in Algorithm 4 is an improvement of our Algorithm 3 presented in Section 4.6. The improved algorithm can be used to solve multi-objective problems but is not intended to be a local search component such as the previous algorithm. We allow it, therefore, to consume more computational time through a more sophisticated selection criterion. The new solution s for the following iteration is randomly chosen from the set of non-dominated solutions A among solutions that have not been previously explored in the search. The aim of this criterion is to avoid the intensification of a point already visited and exploited. The algorithm, therefore, does not include the line 16 of the Algorithm 3 to select a solution for the next iteration. The only criteria here to continue running the algorithm is the maximum number of iterations.
Algorithm 4: Multi-objective VND based on Pareto Dominance Improved (MOVND/PI).
   Data: l m a x : number of neighborhood structures;
    s 0 : initial solution’
   Result: A: a set of potentially efficient solutions;
Mathematics 10 01807 i004

4.7.1. Multi-Objective General Variable Neighborhood Search Based on Pareto Dominance (MOGVNS/P)

Algorithm 5 describes the GVNS-based algorithm proposed. At each iteration of MOGVNS/P and while the archive is still improving (steps 7–33), a shaking procedure is applied on the current solution s to obtain s . The shaking procedure selects a random solution s from the current kth neighborhood of the current solution s ( s N k ( s ) ). The aim of this phase is to diversify the search process. This perturbation is applied n S times.
An intensification step is then applied to the perturbed solution s using the MOVND/P described in Section 4.6. The non-dominated solutions obtained by MOVND/P are stored and returned in the set P V N D (step 16). All the solutions of the P V N D set are compared to s to update the archive A using the function addSolution. The improvement of the archive A while exploring P V N D is recorded using c o u n t e r A I and c o u n t e r A I S e c o n d from one iteration to the other such as in the MOVND/P algorithm.
We stay in the same neighborhood if all solutions in P V N D are added to the archive (steps 25–29). The multi-objective neighborhood change procedure is the same as defined in MOVND/P and MOVND/PI.
In this algorithm, and differently from MOVND/P, the non-dominated solutions in the archive A are used to restart the current solution s. Indeed, the new solution s for the next iteration is randomly chosen from the archive A among solutions that have not been already explored.
The step-by-step procedure of MOGVNS/P can be summarized as follows. First, an initial solution is constructed using the best insertion heuristic and is added to the archive of efficient solutions A. The main procedure is then repeated while there is still an improvement of the archive A and while not reaching a maximum number of iterations i t e r m a x . It is composed of the following steps: the exploration of the neighborhood structures while k k m a x and a random selection in the archive A for the next iteration of the algorithm. The neighborhood exploration phase is composed of four steps. It starts with a shaking procedure to perturb the current solution, followed by an intensification phase using the MOVND/P algorithm to generate the Pareto front P V N D . Next, a test is applied to verify that the points in P V N D are non-dominated by s to enter the set of efficient solutions A or not. Finally, the decision to stay in the improving neighborhood or explore other neighborhoods is made. Counters are used throughout the algorithms to define stopping criteria, including counters that record the improvement of the archive A.
Algorithm 5: Multi-objective GVNS based on Pareto Dominance (MOGVNS/P).
     Data: k m a x : number of neighborhood structures in MOGVNS/P;
      l m a x : number of neighborhood structures in MOVND/P;
     Result: A: a set of potentially efficient solutions;
Mathematics 10 01807 i005

4.7.2. Multi-Objective General Variable Neighborhood Search Based on Pareto Dominance and Decomposition (MOGVNS/CDP)

Algorithm 6 extends the MOGVNS/P by starting with a population of initial solutions rather than a single solution. The population is generated using the population generation procedure previously presented in Algorithm  1. The chosen weights in each solution aim to guide the search process in different directions. For each individual in the population, the MOGVNS/P algorithm is used to obtain the non-dominated solutions. The algorithm is therefore based on Pareto dominance. The population of solutions aims to introduce more diversity in the search process by exploring different regions. The drawback of this method is that it can be more time-consuming since we start from a population of solutions.   
Algorithm 6: Multi-objective GVNS based on Pareto Dominance and Decomposition (MOGVNS/CDP).
      Data: k m a x : number of neighborhood structures in MOGVNS/P;
       l m a x : number of neighborhood structures in MOVND/P;
       p o p vector of M + 1 empty solutions;
      M: population parameter;
      Result: A: a set of potentially efficient solutions;
Mathematics 10 01807 i006

4.8. Multi-Objective General Variable Neighborhood Search Based on Decomposition (MOGVNS/D)

Algorithm 7 combines the general structure of the classical aggregation-based method, decomposition algorithms, and GVNS algorithm. It divides the multi-objective problem into M + 1 mono-objective problems based on aggregation through different weight vectors. The proposed algorithm here is called MOGVNS/D. It uses the single objective local search VND to solve the scalar subproblems.
The single objective VND applies a weighted sum function to evaluate and compare solutions. Given a solution s, the weighted sum function associated to a solution s and weight vector ( w 1 , w l ) is calculated as follows: g ( s , w 1 , w l ) = w 1 × f 1 ( s ) + w l × f l ( s ) with l = 2, 3. The initial population is generated using the procedure described in Algorithm 1. Compared to the previous ones based on Pareto dominance, the main drawback of this method is that the Pareto front returned is an approximation of the supported efficient solutions. It can also be time-consuming since we start from a population of solutions. On the other hand, this algorithm is easily convertible to the single objective GVNS algorithm since it is based on aggregation.

4.9. Novelty in the Proposed Algorithms

4.9.1. Novelty among Acceptance Strategies in Multi-Objective Optimization

Several authors have proposed and used several adaptations for the first-accept (FA) and best-accept (BA) in the multi-objective optimization. Therefore, we analyze and review the existing ones and the proposed method hereafter.
  • First-Accept based on Pareto dominance: This procedure consists of accepting the first solution s that is non-dominated by s. It has been used by Cota et al. [12].
  • Best-Accept based on Pareto dominance PLS: Paquete et al. [10] proposed Pareto local search to apply the BA strategy in the multi-objective context. All the neighborhood of s is explored, and the new solution is accepted if it is not dominated by any solution in the set of efficient solutions.
  • Best-Accept based on Pareto dominance MOBI/P: We use in this paper a novel best-accept strategy for multi-objective optimization called Multi-objective Best Improvement strategy based on Pareto dominance (MOBI/P). This procedure tests if each neighbor of s is non-dominated with the best solution found so far in the neighborhood of s. This best solution changes during the search. If the new solution s dominates this best solution, it replaces it, and so on until exploring all the neighborhoods and retaining a unique last best solution that is the most converging. Choosing the last best solution permits a translation in the Pareto front, ensuring diversification if the new solution s is incomparable with the best solution or more convergence if it dominates it. Moreover, it is faster compared to the PLS strategy since we avoid comparing each solution in the neighborhood to each solution in the archive as in PLS.
    Algorithm 7: Multi-objective General Variable Neighborhood Search based on Decomposition (MOGVNS/D).
       Data: kmax: number of neighborhood structures in MOGVNS/P;
       lmax: number of neighborhood structures in MOVND/P;
       pop: vector of M + 1 empty solutions;
       M: population parameter;
       Result: A: a set of potentially efficient solutions;
    Mathematics 10 01807 i007
  • Best-Accept for each objective separately: This procedure consists of applying a single objective local search but for each objective separately. Duarte et al. [11] use VND-1 (respectively, VND-2) to improve the value of f1 (respectively, f2) regardless of the value of f2 (respectively, f1) in a bi-objective problem. The final local optimum is then tested to enter the archive or not.
    Combination between the FA and BA strategy in PLS: Dubois-Lacoste et al. [13] propose an alternative to accept only dominating solutions to speed up the search. They suggest switching to the criteria adopted in PLS of accepting non-dominated solutions if such solutions are no longer found. The authors also proposed an alternative strategy. It consists of using the first-improvement technique to converge first to a good approximation of the Pareto front until all solutions in the archive are flagged as visited. Afterward, one can move to the PLS best improvement strategy to complete the archive with the remaining neighbors.

4.9.2. Novelty in the Design of the Multi-Objective Algorithms

We consider an improvement if all the solutions explored have been added to the archive. This procedure is different than the definition of improvement proposed by [11], where improving means at least one new point has been added to the archive A.
Likewise, we stay in the improving neighborhood if all the solutions explored are non-dominated by s but also when a defined counter does not reach a maximum number of iterations. This last condition is required to avoid not exploring the other neighborhoods when the first neighborhood is constantly improving. In the literature, if there is an improvement, the exploration continues in the same neighborhood structure [11]. Queiroz and Mundim [23] propose to change the neighborhood systematically at each iteration in an adapted template from [11] to reduce the computational time.
The proposed algorithms use the MOBI/P procedure above as a multi-objective best improvement strategy, whereas there are several different FA and BA accept strategies in the literature.

5. Computational Experiments

This section presents computational experiments carried out to measure the performance of the proposed algorithms. We present the results of the mono-objective problem using the GVNS algorithm and the results of the multi-objective problem using the proposed algorithms MOVND/P, MOVND/PI, and MOGVNS/P. The results of the other proposed variants, MOGVNS/CDP and MOGVNS/D, are also shown to demonstrate the performance of the three aforementioned algorithms. In addition, CPLEX results are reported for the mono-objective problem. Heuristic Pareto fronts are also provided for comparison to our multi-objective problem. The maintenance model without constraints was solved using Python 3.6. The joint maintenance scheduling and workforce routing model was then solved using C++. This work has been compiled with GCC 7.4 in a Linux environment. To solve the MILP using an exact method, the concert technology library of CPLEX 12.10.0 version with default settings in C++ has been used. Experiments were conducted using the CALCULCO computing platform in an AMD EPYC 7702 with 2CPU, 2 gigahertz, and 1 core was dedicated to each instance. All methods are run using the same machine to avoid bias.

5.1. Instances Description

We use two sets of instances. The first one, denoted by Re, is inspired by industrial reality. In the Re instances, large and short maintenance durations are considered ( T c m and T p m go from 0.5 to 48 h). We set the shape the parameter of deleted Weibull distribution β > 1 to consider the wear-out period of the machine’s life. These machines are, therefore, old. Short (27 km) and long distances (up to 500 km) are considered. The speed is fixed to 60 km/h, as adopted in real-world scenarios. The horizon is set to H = 101 h for n = 12 and H = 80 h for n = 6. The penalty cost is fixed to c = 10. This cost is high enough to produce the desired effect of penalizing the objective functions whenever multiplied by the penalty variables. The depot time window is the interval between the lower bound a 0 = 0 and the upper bound b n + 1 . For this class of instances, b n + 1 = H . These data are shown in [18]. There are six machines that may need more than one maintenance task in the planning horizon in the class of instances Re. The travel time and distance between the same machine operations are naturally zero. The number of available vehicles is initially fixed to 4 for n = 12 and 2 for n = 6 . We note that in some obtained solutions, we can use fewer vehicles than those available. The second set is derived from the well-known Solomon benchmark. These benchmark problems are available on Solomon’s web page http://web.cba.neu.edu/msolomon/problems.htm (accessed on 29 April 2022). We used the first 10, 25, 50 machines of Solomon’s classes of instances. The number of operations used in these instances varies from 23 to 91 operations, and the number of vehicles ranges from 5 to 35. This latter can also be reduced during the search.
Solomon’s instance are classified in three groups:
  • R: randomly distributed locations.
  • C: geographically clustered locations.
  • RC: partially randomly distributed and partially clustered locations.
There are six Solomon’s classes with different locations coordinates: C101, C201, R101, R201, RC101, RC201. The unitary speed is adopted. For each of these six classes, we consider the horizon H = 100 h with a latest arrival time at the depot b n + 1 = 200 h and H = 200 h with b n + 1 = 400 h. The opening time is a 0 = 0. The maintenance parameters were generated as described in [4]: T p m i U c [ 5 , 10 ] , T c m i U c [ 15 , 30 ] , C p m i U c [ 100 , 200 ] , C c m i U c [ 400 , 800 ] , C w i U c [ 10 , 20 ] , and σ t 0 i U c [ 2 , 5 ] . Only the parameter β U c [ 2 , 6 ] is generated differently compared to the one described in [4] so that it can be closer to reality. The continuous uniform distribution U c has been used to generate the random information. In the instances sets, the percentage of time windows tolerance is set to t o l = 7 % . It is inspired by the values usually used in large-scale industries that consider a restricted time window. Another significant time windows tolerance is considered t o l = 30 % .

5.2. Numerical Results for the Mono-Objective Problem

5.2.1. Parameter Setting and Performance Metrics

To set the algorithm parameters, we have run several preliminary tests. We noticed that a high value of the shaking parameter n S and a high number of iterations have a negative impact on the computational time. The retained parameters for the maximum number of iterations is i t e r m a x = m a x ( 1 , E [ n / 8 ] ) for the routing objective (23) and the maintenance objective (25), where the symbol E stands for the whole experiments parts of the integer portion of the number. For the failure objective (24), this parameter is i t e r m a x = m a x ( 1 , E [ n / 4 ] ) . The diversification parameter n S in the shaking phase is set to three. We compare the results of the CPLEX solver and our mono-objective GVNS algorithm for the routing objective function (23). In the CPLEX columns, we report the objective value, the CPU time, and whether the solution is optimal, feasible, or not found after 96 h of execution. In the GVNS algorithm, we indicate, respectively, the maximum, minimum, and average values for five runs. We also provide the corresponding maximum, minimum, and CPU time.
The pseudo-code of mono-objective GVNS and VND are shown in [18]. The mono-objective GVNS can directly be obtained with MOGVNS/D when the initial population is reduced to one individual. The gap between the objective value of our metaheuristic and the CPLEX solution is calculated as follows:
G a p ( C P L E X , G V N S ) = ( V a l u e ( C P L E X ) V a l u e ( G V N S ) V a l u e ( C P L E X ) ) × 100 %
This gap represents the percent decrease of the cost objective when the GVNS algorithm is used in comparison to the use of the CPLEX solver. It is the case whenever the CPLEX solver only found a feasible penalized solution, and the gap is different from zero.
The percent decrease of CPU time when using the GVNS algorithm compared to the CPLEX solver is given by:
I C P U ( C P L E X , G V N S ) = ( T i m e ( C P L E X ) T i m e ( G V N S ) T i m e ( C P L E X ) ) × 100 %

5.2.2. Test Results

The results of the GVNS and CPLEX solver for the routing objective are represented in Table 1. Bold values are the minimum objective values obtained by either the GVNS or the solver. Whenever a number in the improvement column is bold, there is an improvement.
The quality of the initial solution obtained with the best insertion heuristic considerably reduces the CPU time since we start from a reduced objective compared to random initial solutions. The impact of good initial solutions on the CPU time is illustrated in [18]. Indeed, providing a well-chosen starting solution positively influences the execution time and helps to improve the final solution quality rapidly. Optimizing the failure cost requires more iterations to reach high-quality solutions than optimizing the routing cost or the maintenance cost.
For small instances (less than 26 operations) of Solomon’s class C, both CPLEX and GVNS were able to solve the problem optimally. However, the GVNS algorithm consumed less CPU time than CPLEX for most of the instances. When the number of operations increases to more than 34, some optimums were obtained for class C, R, or RC instances. For these instances, CPLEX returns mostly either feasible solutions or optimal solutions but after a very long CPU time (more than 48 h). In many instances, CPLEX fails to find optimal solutions after one week. In most cases, the GVNS algorithm improves the objective value of feasible solutions obtained by CPLEX. The Gap of GVNS for most instances is 0 % . The algorithm is also very robust since the difference between the maximum, minimum, and average values is very small, almost negligible.
For the 47 tested instances, CPLEX returned either feasible or optimal values for 29 instances and failed to obtain any feasible solution for the remaining 18 instances, even after a week of execution. For the 29 instances for which we obtained either feasible or optimal solutions using CPLEX, the average gap or objective improvement of GVNS over CPLEX is 18.47%. The average improvement of CPU is 32.81%. When removing the four Re instances for which the number of operations is inferior to 12, we obtain an average objective improvement in favor of GVNS equal to 21.42 % and an average improvement of the CPU is 77.96%. The gap value is 0 for 17 instances among 29 instances solved. Therefore, the proposed GVNS found the optimums in these instances. The GVNS algorithm improves the CPLEX results on 11 instances out of the 29 instances for which CPLEX returns either feasible or optimal solutions. However, it obtains a slightly worse value for only one instance. The average gap for the 12 instances where the gap is different from 0 is 44.61%. This means that when the gap is different from zero (meaning only a feasible solution is found), GVNS finds a better objective value than CPLEX with a percentage of 44.61%. The average percent decrease of CPU time when using GVNS compared to CPLEX is 85.73% in this case.
Our GVNS algorithm outperforms CPLEX in terms of running time, the longest CPU time being only 3 h (10,906.1 s) compared to the maximum CPU time reached by CPLEX of 95.53 h (343,932 s).

5.3. Numerical Results for the Multi-Objective Problem

5.3.1. Parameter Setting and Performance Metrics

There are two stopping conditions for the MOVND/P, MOVND/PI and MOGVNS/P: the maximum number of iterations i t e r m a x and the stopping criterion related to the neighborhood change i t e r C m a x . The value of these parameters has been fixed according to the number of operations n. For the MOVND/P algorithm, the maximum number of iterations is i t e r m a x = m a x ( 1 , E [ n / 2 ] ) . The second defined stopping criterion related to the neighborhood change is i t e r C m a x = m a x ( 1 , E [ n / 16 ] ) . Similarly, for MOGVNS/P these parameters are i t e r m a x = m a x ( 1 , E [ n / 2 ] ) and i t e r C m a x = m a x ( 1 , E [ n / 16 ] ) . For MOVND/PI, these values are i t e r m a x = 2 n and i t e r C m a x = m a x ( 1 , E [ n / 16 ] ) . For the algorithm MOGVNS/D, i t e r m a x = 1 in the multi-objective case. The algorithm also repeats the instructions until there is no improvement for each individual of the population. For the mono-objective case, as mentioned previously, the stopping criterion is a maximum number of iterations that equals i t e r m a x = m a x ( 1 , E [ n / 8 ] ) for the routing objective and the maintenance objective and i t e r m a x = m a x ( 1 , E [ n / 4 ] ) for the failure objective. MOGVNS/CDP calls MOGVNS/P and has, therefore, the same values as this latter for i t e r m a x and i t e r C m a x . The population size parameter equals M = 10 .
In mono-objective optimization, it is simple to evaluate the quality of a solution. It is a more difficult task in multi-objective optimization since the output is represented by sets of trade-off solutions, potentially incomparable in terms of Pareto dominance. Consequently, we use several indicators to measure the quality of an approximation of the Pareto front involving several criteria such as solution quality, computational effort, robustness, and other factors. The indicators assess solution quality and computational effort. The CPU indicator evaluates the time needed for the algorithm to return a final Pareto front. The quality indicators that we used are the number of non-dominated solutions and the hypervolume indicator to measure coverage and assess the front returned convergence.
The hypervolume (HV) indicator is a metric that measures the size of the space covered. It assesses the space enclosed by all the solutions of the objective space. The HV of an estimated Pareto front is the sum of the hypercubes that each set of solutions contains. It shows the distribution of solutions along the Pareto front. The larger the HV indicator is, the better the Pareto front is.
The reference point ( f 1 r p , f l r p ) is chosen to be dominated by all solutions of the Pareto front. In this section, the reference point r p used is ( f 1 m a x , f l m a x ) since we seek to minimize costs. f 1 m a x and f l m a x are, respectively, the maximum values of the first objective (routing cost) and the second objective, either failure or maintenance cost in the Pareto front identified by the mono-objective GVNS. The size of a rectangular area a i enclosed by a solution s i is h v i = ( f 1 r p f 1 ( s i ) ) ( f l r p f l ( s i ) ) where l = 2,3. The hypervolume is the sum of the areas formulated as follows:
h v = i = 1 p ( f 1 m a x f 1 ( s i ) ) ( f l m a x f l ( s i ) ) , s i A
where l = 2,3, and p is the number of solutions s i in the Pareto front A.
Our bi-objective algorithms based on VND and GVNS frameworks were compared to those of [11]. Algorithms in [11] were run for a longer time to have a complete Pareto front and meaningful results. For a fair comparison, all methods were run on the same machine in the computing platform.
The improvement of our algorithms over the literature algorithm is evaluated using a percent increase of the HV indicator and the number of non-dominated points when using the proposed algorithms PA compared to the comparison algorithms CA of [11].
I H V ( C A , P A ) = ( H V ( P A ) H V ( C A ) H V ( C A ) ) × 100 %
I N D P ( C A , P A ) = ( N D P ( P A ) N D P ( C A ) N D P ( C A ) ) × 100 %
It is also evaluated using the percent decrease of the CPU time of the proposed algorithms PA over the comparison algorithms CA.
I C P U ( C A , P A ) = ( C P U ( C A ) C P U ( P A ) C P U ( C A ) ) × 100 %

5.3.2. Test Results

Tests are realized over small, medium, and large instances. Small instances include 6 and 12 PM operations. The number of operations varies between 23 and 34 for medium-sized instances and between 52 and 73 for large-sized instances. The indicators assessed are the hypervolume (HV) to measure the convergence and coverage of the solutions in the Pareto front obtained, the number of non-dominated points (NDP), and the CPU time in seconds.

Comparison with the Literature

Table A1 and Table A2 show the results of the proposed variable neighborhood descent algorithms, MOVND/P, MOVND/PI, and the results of the MOVND suggested by [11]. Furthermore, Table A1 details the results for the maintenance cost as a second objective, whereas Table A2 shows the results when the failure cost is the second objective of the problem.
Some results that were not displayed in detail are also reported here for the tested instances: the average percent improvement of HV (IHV), NDP (INDP), and CPU (ICPU). They are summarized in Table 2. There is an improvement for bold numbers. When the maintenance cost is the second objective considered, both MOVND/P and MOVND/PI have better average values than the MOVND of [11] on all the considered quality indicators. Indeed, the average percent improvement of MOVND/P compared to MOVND [11] of the hypervolume (IHV) and the number of non-dominated points (INDP) is, respectively, 7.82 % and 2.79 % . These two indicators improved slightly; however, the CPU time decreased considerably by 81.56 % . The second proposed algorithm, MOVND/PI, considerably outperforms the MOVND of the literature [11] for the 46 instances tested. Indeed, the hypervolume and the number of non-dominated points increased, respectively, by an average of I H V = 104.12 % and I N D P = 108.45 % , which is a considerable improvement. However, the CPU decreased by only 4.73 % . Despite the minor improvement for the CPU time, the other coverage and convergence indicators are considerably improved. We also measure this improvement for the proposed VND algorithms over MOVND of the literature [11] for the instances without the four small instances Re. For the 42 derived from Solomon’s instances, the improvement of the indicators HV, NDP, and CPU of MOVND/P is, respectively, I H V = 2.32 % , I N D P = 3.26 % , and I C P U = 88.81 % . The improvement of the same indicators for MOVND/PI becomes I H V = 106.38 % , I N D P = 105.20 % , and I C P U = 28.87 % .
We consider the failure cost as a second objective with the routing one. The average percent improvement of the indicators of MOVND/P in comparison to MOVND of the literature [11] is considerable, and the values of HV, NDP, and CPU indicators equal, respectively, 85.71 % , 67.74 % , and 80.79 % . The average percent improvement of HV for MOVND/PI compared to MOVND of the literature is 303.78 % . The number of non-dominated points NDP increased by 304.90 % . However, the improvement of the CPU is 10.21 % . When the four small instances Re are deleted to consider only instances generated from Solomon’s set, the improvement of the indicators stays considerable for both algorithms. The values of HV, NDP, and CPU indicators improved by, respectively, 67.16 % , 67.11 % , and 88 , 81 % for MOVND/P and by 324.52 % , 325.54 % , and 14.01 % for MOVND/PI. The quality indicators are improved, and the CPU time of our algorithms is considerably less.
We can conclude that all the indicators were improved for both failure cost and maintenance cost as the second objective. There is a slight improvement for the HV and NDP indicator for MOVND/P for the maintenance cost and a considerable improvement in the CPU time that has decreased. On the other hand, MOVND/PI improves the HV and NDP indicators considerably with only a tiny improvement in the CPU time. The results of the failure cost as a second objective demonstrated a considerable improvement for all the quality and time indicators for both MOVND/P and MOVND/PI algorithms.
Table A3 illustrates the results of the comparison between our proposed MOGVNS/P and MOGVNS of the literature suggested by [11]. When the maintenance cost is the second objective, the average percent improvement of HV when using MOVGVNS/P is 52.29 % . The number of non-dominated points NDP increased by an average of 52.15 % . The computational time CPU of MOVGVNS/P decreased by I C P U = 41.69 % . When the failure cost is the second objective, the average percent improvement of HV of MOVGVNS compared to MOGVNS of the literature is 91.47 % . The number of non-dominated points NDP increased by 92.11 % . The running time is reduced by 47.74 % . All the indicators have been improved. We can conclude that the MOGVNS/P algorithm considerably outperforms the literature algorithm in all the assessed indicators for both second objectives.
We fixed a time limit to one week to have all the instances. We have therefore tested the MOGVNS of the literature for fewer instances since it consumes more time.

Comparison between the Proposed Algorithms

Table A4 and Table A5 present the results of the three indicators measuring the quality of the solutions obtained and the time to get those solutions for the proposed MOGVNS/P, MOGVNS/CDP, and MOGVNS/D algorithms. The last study aims to compare the performance of the algorithms presented and discuss their difference. When the maintenance cost is the second objective, and for the 46 tested instances, MOGVNS/P outperforms in average MOGVNS/CDP in the three indicators HV, number of NDP, and CPU with, respectively, 2.42%, 1.92%, and 24.73%. MOGVNS/P is better on average than the decomposition-based algorithm MOGVNS/D in the indicators HV, the number of NDP, and CPU with, respectively, 574.41%, 573.14%, and 19.92%. The MOGVNS/P improves MOVND/PI on the indicators HV and NDP by about 25.87% and 26.90%. However, MOGVNS/P consumes more time (−706.20%) than MOVND/PI. In the opposite direction, the MOVND/PI improves MOGVNS/P by −0.38%, −0.23%, and 65.74%. Therefore, we can conclude that MOVND/PI has similar performance for the HV and NDP indicators and is far faster than MOGVNS/P. When the failure cost is the second objective and for the 46 instances tested, MOGVNS/P outperforms on average MOGVNS/CDP in the three indicators HV, the number of NDP, and CPU with, respectively, 2.91 % , 1.68 % , and 18.24 % . The MOGVNS/P is better than MOGVNS/D in the indicators HV, NDP, and CPU with 792.71 % , 679.11 % , and 13.03 % . The MOGVNS/P improves MOVND/PI on the three indicators HV, NDP, and CPU by about 22.02%, 21.75%, and −387.50%. The HV and NDP indicators are improved; however here again, MOGVNS/P consumes more time than MOVND/PI when the failure cost is considered. In the opposite sense, the MOVND/PI improves MOGVNS/P by −7.55%, −7.41%, and 70.87%. We can conclude from this study that MOGVNS/P is better in all indicators compared to MOGVNS/CDP and MOGVNS/D. Moreover, MOVND/PI has approximately the same performance as MOGVNS/P, but it is considerably faster.
The convergence of the proposed algorithms for all the instances tested can be discussed from the HV results of Table 2. The improvement for the HV indicator of MOGVNS/P over MOGVNS/CDP is slight. The two algorithms therefore have similar convergence and coverage performance. They also have approximately the same number of non-dominated points NDP. The mono-objective GVNS, whose results are presented in Section 5.2.2 obtains a solution with the optimal cost found by the solver or a solution with a better objective value than the feasible solution returned by the solver. Therefore, the GVNS algorithm converges. The algorithm MOGVNS/D uses the same components (neighborhood structures, etc.) as the GVNS algorithm and an aggregated function to evaluate solutions. It therefore has the same convergence as the other GVNS algorithms. However, the set of efficient solutions returned includes only supported solutions, which explains its weak performance in the HV and NDP indicators compared to MOGVNS/P. Figure 3 illustrates for a given instance of 52 operations that MOGVNS/D has a good convergence but returned an incomplete Pareto front. MOVND/P is designed to be an intensification algorithm. It is a main component of MOGVNS/P and MOGVNS/CDP. It therefore has less convergence than the latter two. MOGVNS/P outperforms MOVND/PI in the HV and NDP indicators. MOGVNS/P also takes more time. Therefore, the convergence and the coverage of MOGVNS/P are better than those of MOVND/PI. The MOGVNS/P algorithm also returns more non-dominated points than MOVND/PI. This is shown in Figure 3. We can conclude that all the algorithms converge; however, the convergence of the GVNS algorithms is better than the convergence of VND-based algorithms. All the GVNS algorithms proposed in this paper have the same convergence as MOGVNS/P but differ only in terms of coverage.

Discussion of the Results

In conclusion, the proposed algorithms MOVND/P, MOVND/PI, and MOGVNS/P have a better performance compared to the MOVND, and MOGVNS of [11]. One reason can be that the VND used by [11] first tries to improve each objective separately independently from the other using a single objective evaluation. As a result, the algorithms are not totally based on Pareto dominance. The method we used to fully explore the neighborhoods MOBI/P is also very impactful in improving solution quality and reducing computational time. We also force the exploration of all the neighborhoods with specific stopping criteria, while in [11], staying in the same neighborhood is necessary when it still improves. MOGVNS/P has a similar performance as MOGVNS/CDP. However, the latter consumes more time since MOGVNS/CDP is the same as MOGVNS/P applied to a population of solutions instead of one initial solution. The shaking procedure is also a better perturbation than the method we used to generate the initial population and is sufficient to diversify the search. The importance of the shaking procedure also appears when comparing the performance between MOGVNS/P and MOVND/PI. MOGVNS/P outperforms for the quality indicators MOVND/PI. MOGVNS/P is far better than MOGVNS/D for all quality indicators since the latter algorithm returns only supported solutions. All methods have a good convergence towards a good Pareto front. The methods differ in the coverage and convergence indicator, the number of non-dominated solutions, and the computational time. Our best algorithms are MOGVNS/P and MOVND/PI.
Figure 3 illustrates the Pareto front obtained on the instance C201/25/18/100/200/0.30. For this specific instance, MOGVNS/P and MOGVNS/CDP have good performance over all other algorithms. MOVND/P and MOVND/PI are better than the MOVND proposed in the literature. Moreover, MOVND/PI is also better than MOGVNS in the literature. MOGVNS/D returns an incomplete Pareto front but has a good convergence. This instance can represent the results of the performance of all the algorithms on average. The proposed MOGVNS/P algorithm has better convergence compared to MOVND/PI. The average percent results obtained in Table 2 show the same performance. However, the results of MOVND/PI, on average, are close to those of MOGVNS/P, although it is less converging.

6. Conclusions

In this paper, we address a joint maintenance and workforce routing problem. We propose a novel bi-objective mathematical model that aims to minimize both maintenance and transport costs in the case of time-based preventive maintenance. The set of machines is supposed to be geographically distributed and subject to non-deterministic failures. The joint maintenance and routing problem’s objective is to simultaneously determine the optimal times to perform preventive maintenance operations on each machine and find the optimal sequence of these operations that simultaneously minimizes the maintenance and routing cost.
There are many contributions to this paper. We first propose a nonlinear stochastic failure cost that uses information from equipment degradation. It includes direct costs (failure cost) and indirect costs (production losses) illustrated by the waiting time. This objective is particularly valuable for industries where failures seriously influence personnel safety and cause environmental damage. We also investigate another maintenance cost previously proposed in the literature that aims to balance both preventive and corrective costs related to maintenance operations. For the first time, a bi-objective approach is proposed to deal with this problem, where we associate either the failure cost or the maintenance cost with the routing cost. Both costs also consider the time of the last restoration. The proposed model considers maintenance operations time windows, penalties related to late arrival, and maintenance costs under uncertainty which are interesting features of real industrial problems. New adaptations of variable neighborhood descent and general variable neighborhood search frameworks called respectively MOVND/P, MOVND/PI, and MOGVNS/P are proposed to deal with combinatorial multi-objective optimization problems, and this problem, particularly. To obtain high-quality solutions, we describe how to design the improvement method, the acceptance criterion, the stopping criterion, and the neighborhood change procedure. These algorithms are based on the Pareto dominance concept and use a new multi-objective best improvement strategy called MOBI/P. We test a pure decomposition approach. The resultant algorithm, MOGVNS/D, decomposes the problem into several scalar subproblems and uses the weighted sum method to evaluate the solutions. This algorithm is easily convertible to a mono-objective general variable neighborhood search. Finally, we test the use of a population of solutions with MOGVNS/P. The resulting variant is called MOVNS/CDP.
Several numerical experiments have been performed to validate our proposals. First, the mathematical model and the proposed algorithms were evaluated on randomly generated instances. For the single objective variant of the problem, the computational results for the linear routing objective indicate that the GVNS significantly outperforms the results of the commercial solver CPLEX in terms of solution quality and CPU time. The obtained results also demonstrate that MOVND/P, MOVND/PI, and MOGVNS/P outperform existing MOVND and MOGVNS in the literature for all indicators measuring convergence and coverage in less computational time. Compared to the other proposed MOGVNS variants, MOGVNS/P is significantly better than MOGVNS/D for all the quality and time indicators since the latter algorithm returns only supported solutions. MOGVNS/P slightly outperforms MOGVNS/CDP in less computational time. Moreover, MOVND/PI and MOGVNS/P have almost similar performances with a time advantage in favor of MOVND/PI.
Future research will include exploring the integration of other maintenance strategies with the routing problem to reduce maintenance costs and improve the quality of maintenance services. It will also be promising to test the hybridization of local search and population-based methods to solve the problem.

Author Contributions

Conceptualization, L.D.; methodology, L.D.; software, L.D.; validation, L.D., A.K., R.B., R.N.G., C.F.; formal analysis, L.D.; investigation, L.D.; data curation, L.D.; writing—original draft preparation, L.D.; writing—review and editing, L.D.; visualization, L.D.; supervision, A.K., R.B., R.N.G., C.F. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the PhD research scholarship grant number 1INSEA2018 of the Centre National pour la Recherche Scientifique et Technique (CNRST), Morocco and the joint PhD research scholarship of the Université du Littoral Côte d’Opale (ULCO), France.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Acknowledgments

Acknowledgments are addressed to the Centre National pour la Recherche Scientifique et Technique (CNRST), Morocco and the Université du Littoral Côte d’Opale (ULCO), France for the research scholarship provided. Acknowledgments are also addressed to the anonymous referees for the valuable comments that significantly improved the paper. Experiments presented in this paper were carried out using the CALCULCO computing platform, supported by SCOSI/ULCO (Service Commun du Système d’Information de l’Université du Littoral Côte d’Opale).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Comparison of the Proposed Algorithms with the Literature

Table A1. Results of MOVND/P, MOVND/PI and MOVND literature for the maintenance cost as a second objective.
Table A1. Results of MOVND/P, MOVND/PI and MOVND literature for the maintenance cost as a second objective.
Instance nMOVND/PMOVND/PIMOVND Literature
HV ( × 10 10 )NDPCPU (s)HV ( × 10 10 )NDPCPU (s)HV ( × 10 10 )NDPCPU (s)
R E / 6 / 2 / 80 / 80 / 0.30 / 2 60.000350.050.000350.20.000340.04
R E / 6 / 4 / 101 / 101 / 0.30 / 2 120.048581.220.0666114.470.0843145.36
R E / 6 / 2 / 80 / 80 / 0.07 / 2 60.000740.060.000770.210.000210.03
R E / 6 / 4 / 101 / 101 / 0.07 / 2 120.047951.220.067044.480.057264.01
C 101 / 10 / 8 / 100 / 200 / 0.07 / 2 231.24419.472.498133.153.1110116.31
C 101 / 10 / 5 / 100 / 200 / 0.07 / 2 231.55523.720.3115.870.93386.28
C 101 / 10 / 7 / 100 / 200 / 0.07 2612.97923.8312.979209.435.774130.84
C 101 / 25 / 18 / 100 / 200 / 0.07 54562.3416533.781581.59456428.67667.78198932.8
C 201 / 10 / 7 / 100 / 200 / 0.07 244.10415.715.774142.893.07340.64
C 201 / 25 / 18 / 100 / 200 / 0.07 52386.1711609.311097.39325450.49702.11209680.37
R 101 / 10 / 7 / 100 / 200 / 0.07 346.39255.923.19126.766.402281.41
R 101 / 25 / 18 / 100 / 200 / 0.07 68951.51121091.672140.902717,624.5475.75621,268.8
R 201 / 10 / 7 / 100 / 200 / 0.07 3417.17291.986.17226.749.273417.44
R 201 / 25 / 18 / 100 / 200 / 0.07 65897.63141242.881987.663114,485.9769.371219,628.2
R C 101 / 10 / 7 / 100 / 200 / 0.07 3317.17355.667.22224.267.242276.07
R C 101 / 25 / 18 / 100 / 200 / 0.07 621011.3515677.42292.503410,612.21348.522013,304
R C 201 / 10 / 7 / 100 / 200 / 0.07 336.59268.926.57224.243.301121.77
R C 201 / 10 / 7 / 100 / 200 / 0.07 601227.72211032.72104.66368961.95876.78159027.58
C 101 / 10 / 8 / 100 / 200 / 0.30 / 2 235.411922.129.9735132.914.5616147.47
C 101 / 10 / 5 / 100 / 200 / 0.30 / 2 231.42520.675.4119126.22.851099.42
C 101 / 10 / 7 / 100 / 200 / 0.30 2629.051735.0842.9431209.2618.0113150.65
C 101 / 25 / 18 / 100 / 200 / 0.30 54548.3416590.272296.17676034.47274.1788805.36
C 201 / 10 / 7 / 100 / 200 / 0.30 243.9349.7319.662015412.781392.96
C 201 / 25 / 18 / 100 / 200 / 0.30 52445.8213357.93223.72945141.71097.373217,867.8
R 101 / 10 / 7 / 100 / 200 / 0.30 3415.71561.066.28226.7718.856340.59
R 101 / 25 / 18 / 100 / 200 / 0.30 68938.9412743.794616.595918,565.42660.353454,171.9
R 201 / 10 / 7 / 100 / 200 / 0.30 348.99352.7335.9612564.0729.9710425.77
R 201 / 25 / 18 / 100 / 200 / 0.30 651008.2516904.883150.855015,022.9441.12732,633.30
R C 101 / 10 / 7 / 100 / 200 / 0.30 3310.66396.333.55124.2721.326454.34
R C 101 / 25 / 18 / 100 / 200 / 0.30 62863.8913609.683322.725011,081.21727.762622,870.20
R C 201 / 10 / 7 / 100 / 200 / 0.30 3325.77873.5622.557502.7222.557429.36
R C 201 / 25 / 18 / 100 / 200 / 0.30 60345.926464.332882.67509104.311787.193120,760.4
C 101 / 10 / 18 / 200 / 400 / 0.07 / 2 52294.75171242.3346.772011,082294.751718,586.1
C 101 / 10 / 18 / 200 / 400 / 0.07 58464.93131868.44434.221214,898.9289.48820,384.3
C 201 / 10 / 18 / 200 / 400 / 0.07 54158.0761092.76447.881711,487.4342.481323,556.1
R 101 / 10 / 18 / 200 / 400 / 0.07 73690.09101395.123795.375549,525.11587.102364,858.6
R 101 / 10 / 18 / 200 / 400 / 0.07 72871.90141719.022366.543847,512.11556.882586,544.6
R C 101 / 10 / 18 / 200 / 400 / 0.07 71860.73111957.612112.702743,173.41095.451439,987.6
R C 201 / 10 / 18 / 200 / 400 / 0.07 72604.6983235.91982.631345,042.6755.851086,450.6
C 101 / 10 / 18 / 200 / 400 / 0.30 / 2 52260.40322103.68398.744910,837.7195.292434,088.3
C 101 / 10 / 18 / 200 / 400 / 0.30 58569.45161129.31530.414315,580.8284.73819,984.4
C 201 / 10 / 18 / 200 / 400 / 0.30 54234.599616.881172.964512,336.6781.953023,290.3
R 101 / 10 / 18 / 200 / 400 / 0.30 731570.12232435.373618.165349,4472457.4736149,979
R 201 / 10 / 18 / 200 / 400 / 0.30 72430.9471366.784063.016646,973.41785.1529150,895
R C 101 / 10 / 18 / 200 / 400 / 0.30 711547.50201715.485493.567144,989.61934.232580,095.2
R C 101 / 10 / 18 / 200 / 400 / 0.30 72820.64112227.892909.573946,574.32685.5836130,648
Table A2. Results of MOVND/P, MOVND/PI and MOVND literature for the failure cost as a second objective.
Table A2. Results of MOVND/P, MOVND/PI and MOVND literature for the failure cost as a second objective.
Instance nMOVND/PMOVND/PIMOVND Literature
HV ( × 10 10 )NDPCPU (s)HV ( × 10 10 )NDPCPU (s)HV ( × 10 10 )NDPCPU (s)
R E / 6 / 2 / 80 / 80 / 0.30 / 2 60.003450.060.000450.210.000440.04
R E / 6 / 4 / 101 / 101 / 0.30 / 2 120.090981.220.1117104.450.100894.05
R E / 6 / 2 / 80 / 80 / 0.07 / 2 60.001540.060.001540.210.000410.03
R E / 6 / 4 / 101 / 101 / 0.07 / 2 120.067151.220.117474.480.100163.64
C 101 / 10 / 8 / 100 / 200 / 0.07 / 2 235.31915.15.319135.195.30964.05
C 101 / 10 / 5 / 100 / 200 / 0.07 / 2 231.763146.4511128.083.52643.86
C 101 / 10 / 7 / 100 / 200 / 0.07 2618.79731.5818.797213.7310.744103.54
C 101 / 25 / 18 / 100 / 200 / 0.07 541231.3318559.093899.40576678.621983.79298206.33
C 201 / 10 / 7 / 100 / 200 / 0.07 245.77316.775.77313.775.77337.4
C 201 / 25 / 18 / 100 / 200 / 0.07 52865.3213551.992196.74335780.61532.46810,127.5
R 101 / 10 / 7 / 100 / 200 / 0.07 3442.19886.95116.4322657.0752.88101166.9
R 101 / 25 / 18 / 100 / 200 / 0.07 684066.99292002.3721,038.0715018,851.93786.482733,391.7
R 201 / 10 / 7 / 100 / 200 / 0.07 3463.141294.2852.6610647.321.054452.07
R 201 / 10 / 7 / 100 / 200 / 0.07 654361.90381034.5715,726.1613715,669.4918.13833,337.7
R C 101 / 10 / 7 / 100 / 200 / 0.07 3355.469127.0367.9011565.1643.137881.1
R C 101 / 25 / 18 / 100 / 200 / 0.07 623657.4430707.279510.847811,472.44023.343315,830.2
R C 201 / 10 / 7 / 100 / 200 / 0.07 3332.66659.110.86265.8727.215453.44
R C 201 / 25 / 18 / 100 / 200 / 0.07 601566.2015685.663445.64339295.291252.911218,024.7
C 101 / 10 / 8 / 100 / 200 / 0.30 / 2 2313.772529.4818.7334132.678.811686.21
C 101 / 10 / 5 / 100 / 200 / 0.30 / 2 235.491016.2510.4419125.598.2215116.21
C 101 / 10 / 7 / 100 / 200 / 0.30 267.82331.5449.5019210.4723.429155.62
C 101 / 25 / 18 / 100 / 200 / 0.30 54806.5712384.274571.50686545.2537.50810,506
C 201 / 10 / 7 / 100 / 200 / 0.30 2424.091332.8127.7915154.4912.957160.28
C 201 / 25 / 18 / 100 / 200 / 0.30 521308.5220641.115038.12775401.41261.6545892.46
R 101 / 10 / 7 / 100 / 200 / 0.30 3472.9014147.27156.5130642.17104.1920906.05
R 101 / 25 / 18 / 100 / 200 / 0.30 682914.36211139.929306.646719,275.66387.174655,910.8
R 201 / 10 / 7 / 100 / 200 / 0.30 3455.751077.69117.9623658.7677.9614911.04
R 201 / 25 / 18 / 100 / 200 / 0.30 652934.5425880.8112,567.2311115,819.61173.171026,295.3
R C 101 / 10 / 7 / 100 / 200 / 0.30 3354.65995.43158.0826579.1230.295445.19
R C 101 / 25 / 18 / 100 / 200 / 0.30 623137.2626976.839533.747910,722.83378.242825,547.6
R C 101 / 10 / 7 / 100 / 200 / 0.07 3332.196114.3832.136543.1616.073348.52
R C 101 / 25 / 18 / 100 / 200 / 0.07 601654.2216917.795377.30528604.74929.90917,975.6
C 101 / 10 / 18 / 200 / 400 / 0.07 / 2 52247.5110519.16544.522211,468.7321.76139274.35
C 101 / 10 / 18 / 200 / 400 / 0.07 581011.13201644.541769.473516,796.7859.451722,559.4
C 201 / 10 / 18 / 200 / 400 / 0.07 54300.018489.9450.041211,983.4375.001013,677
R 101 / 10 / 18 / 200 / 400 / 0.07 735556.85612423.7724,150.2226548,796.84281.0147187,668
R 201 / 10 / 18 / 200 / 400 / 0.07 724314.09512484.220,134.7123845,927.85412.2964154,388
R C 101 / 10 / 18 / 200 / 400 / 0.07 716007.16571913.2314,228.3413544,609.62107.102028,488
R C 201 / 10 / 18 / 200 / 400 / 0.07 721199.78121645.211199.791245,741899.84942,006.1
C 101 / 10 / 18 / 200 / 400 / 0.30 / 2 52350.15301882.84735.406311,11046.67413,236
C 101 / 10 / 18 / 200 / 400 / 0.30 58548.2611876.113489.587016,929.41246.102524,077.3
C 201 / 10 / 18 / 200 / 400 / 0.30 54409.3311630.191228.073312,909.9669.761820,636.9
R 101 / 10 / 18 / 200 / 400 / 0.30 734336.84481873.7313,106.6014548,922.14876.0254230,071
R 201 / 10 / 18 / 200 / 400 / 0.30 726785.69813001.9913,665.3816346,528.3921.4711209,551
R C 101 / 10 / 18 / 200 / 400 / 0.30 715012.31482224.2412,745.5012244,8253446.7433103,688
R C 201 / 10 / 18 / 200 / 400 / 0.30 721089.28111673.895447.255547,334.73169.183295,318.4
Table A3. Results of MOGVNS literature and improvement of MOGVNS/P over the MOGVNS of the literature [11].
Table A3. Results of MOGVNS literature and improvement of MOGVNS/P over the MOGVNS of the literature [11].
Instance nThe Maintenance ObjectiveThe Failure Objective
MOGVNS LiteratureImprovement of MOGVNS/PMOGVNS LiteratureImprovement of MOGVNS/P
Over MOGVNS Literature (%)Over MOGVNS Literature (%)
HV (×1010)NDPCPU (s)IHVINDPICPUHV (×1010)NDPCPU (s)IHVINDPICPU
C 101 / 10 / 8 / 100 / 200 / 0.07 / 2 232.498292.9262.5262.50−93.807.6613291.07−30.76−30.7725.46
C 101 / 10 / 5 / 100 / 200 / 0.07 / 2 230.933158.81−33.08−33.33−35.973.526146.89100.04100.00−87.10
C 101 / 10 / 7 / 100 / 200 / 0.07 2610.097638.2442.8642.8645.6018.797762.43−14.29−14.2953.43
C 101 / 25 / 18 / 100 / 200 / 0.07 54843.5224253,456108.33108.3385.622736.2940328,94562.5162.5089.62
C 201 / 10 / 7 / 100 / 200 / 0.07 243.073438.0833.3433.3368.185.773270.7633.3333.33−24.74
C 201 / 25 / 18 / 100 / 200 / 0.07 52912.7426288,6847.707.6994.811464.3922285,426145.47145.4589.27
R 101 / 10 / 7 / 100 / 200 / 0.07 343.2011294.75199.70200.0059.7595.23188911.0672.2972.2269.82
R 201 / 10 / 7 / 100 / 200 / 0.07 346.1822827.070.090.0068.1763.15128289.31150.18150.0062.83
R C 101 / 10 / 7 / 100 / 200 / 0.07 337.2421846.610.090.0071.4061.75108152.0190.1090.0066.10
R C 101 / 25 / 18 / 100 / 200 / 0.07 621618.2324521,08320.8320.8394.715242.7443682,10079.0979.0790.13
R C 201 / 10 / 7 / 100 / 200 / 0.07 333.3011174.53200.25200.0059.5921.7845799.40.040.0083.40
R C 201 / 25 / 18 / 100 / 200 / 0.07 601520.1726501,547215.39215.3889.742928.8624484,99114.1033.3395.00
C 101 / 10 / 8 / 100 / 200 / 0.30 / 2 234.8418401.75147.06133.33−156.047.1513418.21277.19276.92−99.83
C 101 / 10 / 5 / 100 / 200 / 0.30 / 2 235.1318365.833.3433.33−145.157.6814350.343.0942.86−5.53
C 101 / 10 / 7 / 100 / 200 / 0.30 2624.9318856.6255.5655.56−78.3823.4291009.15355.96355.56−75.78
C 101 / 25 / 18 / 100 / 200 / 0.30 541268.0237401,78486.4986.4990.302621.1539351,41197.4997.4490.52
C 201 / 10 / 7 / 100 / 200 / 0.30 2416.7117712.6252.9452.94−15.2816.669790.65122.38122.22−17.34
C 201 / 25 / 18 / 100 / 200 / 0.30 521474.6643351,20342.9353.4995.262355.1836317,68175.0275.0092.68
R 101 / 10 / 7 / 100 / 200 / 0.30 3415.7155142.7380.0280.0063.0078.191513,043.5260.37260.0059.06
R 201 / 10 / 7 / 100 / 200 / 0.30 3423.9787247.3825.0025.0078.5966.841210,749.3175.16175.0079.46
R C 101 / 10 / 7 / 100 / 200 / 0.30 3317.7755546.07−20.03−20.0088.0497.18167944.1625.1325.0074.25
R C 201 / 10 / 7 / 100 / 200 / 0.30 3322.5575212.0957.1457.1479.0637.5175000.9457.4157.1463.73
C 101 / 10 / 18 / 200 / 400 / 0.07 / 2 52329.4319351,20310.5310.5391.65396.0116336,77993.7593.7590.98
C 101 / 10 / 18 / 200 / 400 / 0.07 58361.8510891,106−50.00−50.0097.021213.3424801,33962.5062.5093.07
C 201 / 10 / 18 / 200 / 400 / 0.07 54342.4913466,326−23.08−23.0893.54712.5319567,14410.5310.5391.68
C 201 / 10 / 18 / 200 / 400 / 0.30 54729.8228701,5943.583.5794.441116.3730833,22220.0120.0091.00

Appendix B. Comparison between the Proposed Algorithms

Table A4. Results of MOGVNS/P, MOGVNS/CDP and MOGVNS/D for the maintenance cost as a second objective.
Table A4. Results of MOGVNS/P, MOGVNS/CDP and MOGVNS/D for the maintenance cost as a second objective.
Instance nMOGVNS/PMOGVNS/CDPMOGVNS/D
HV ( × 10 10 )NDPCPU (s)HV ( × 10 10 )NDPCPU (s)HV ( × 10 10 )NDPCPU (s)
R E / 6 / 2 / 80 / 80 / 0.30 / 2 60.000350.610.000350.690.000232.17
R E / 6 / 4 / 101 / 101 / 0.30 / 2 120.09091522.720.07841323.760.0181364.39
R E / 6 / 2 / 80 / 80 / 0.07 / 2 60.000740.580.001060.690.000532.37
R E / 6 / 4 / 101 / 101 / 0.07 / 2 120.0862919.370.0766821.640.0190249.14
C 101 / 10 / 8 / 100 / 200 / 0.07 / 2 234.0413567.694.3514540.531.555963.5
C 101 / 10 / 5 / 100 / 200 / 0.07 / 2 230.622215.941.866301.861.244995.92
C 101 / 10 / 7 / 100 / 200 / 0.07 2614.4110347.1914.4110543.162.8821540.26
C 101 / 25 / 18 / 100 / 200 / 0.07 541757.325036,453.21476.154232,099.8140.58421,119.6
C 201 / 10 / 7 / 100 / 200 / 0.07 244.104139.394.104451.881.021814.02
C 201 / 25 / 18 / 100 / 200 / 0.07 52983.002814,984.41954.685729,964.8140.42414,866
R 101 / 10 / 7 / 100 / 200 / 0.07 349.603521.143.2011425.673.2014394.02
R 101 / 25 / 18 / 100 / 200 / 0.07 681506.651920,8931982.432538,759.2158.59255,887.3
R 201 / 10 / 7 / 100 / 200 / 0.07 346.192899.8412.3841100.963.1014236.49
R 201 / 25 / 18 / 100 / 200 / 0.07 652821.334447,265.51538.862439,607.3320.60550,983.9
R C 101 / 10 / 7 / 100 / 200 / 0.07 337.252528.117.2521435.143.6212839.68
R C 101 / 25 / 18 / 100 / 200 / 0.07 621955.352927,539.33169.044746,969.1337.13533,062.7
R C 201 / 10 / 7 / 100 / 200 / 0.07 339.893474.66.6021363.496.6024309.18
R C 201 / 25 / 18 / 100 / 200 / 0.07 604794.418251,475.71871.003232,881.3116.93229,448.2
C 101 / 10 / 8 / 100 / 200 / 0.30 / 2 2311.97421028.6612.25431012.731.7161255.38
C 101 / 10 / 5 / 100 / 200 / 0.30 / 2 236.8424896.7510.5537916.971.9971230.12
C 101 / 10 / 7 / 100 / 200 / 0.30 2638.78281528.0540.17291676.915.5441407.87
C 101 / 25 / 18 / 100 / 200 / 0.30 542364.746938,991.22707.437941,306.1274.17833,123.8
C 201 / 10 / 7 / 100 / 200 / 0.30 2425.5626821.5331.46321169.565.906872.48
C 201 / 25 / 18 / 100 / 200 / 0.30 522107.706616,6331920.485632,819.2240.06718,837.8
R 101 / 10 / 7 / 100 / 200 / 0.30 3428.2891902.7421.9973817.5512.5744957.75
R 101 / 25 / 18 / 100 / 200 / 0.30 683599.374633,302.65242.556778,662.6391.23565,550.5
R 201 / 10 / 7 / 100 / 200 / 0.30 3429.97101551.5456.94193758.0714.9854040.9
R 201 / 25 / 18 / 100 / 200 / 0.30 653339.905380,219.73217.405241,885.8315.09542,049.4
R C 101 / 10 / 7 / 100 / 200 / 0.30 3314.214663.5628.4481989.767.1124935.93
R C 101 / 25 / 18 / 100 / 200 / 0.30 622694.575153,688.22923.984461,284.6398.72640,465.1
R C 201 / 10 / 7 / 100 / 200 / 0.30 3335.43111091.4825.7783174.479.6734613.12
R C 201 / 25 / 18 / 100 / 200 / 0.30 604669.828131,113.32479.054359,595.3461.22827,920.8
C 101 / 10 / 18 / 200 / 400 / 0.07 / 2 52364.112129,319.5260.081528,688.786.69556,155.4
C 101 / 10 / 18 / 200 / 400 / 0.07 58180.92526,547.2578.961655,461.7108.55357,331.8
C 201 / 10 / 18 / 200 / 400 / 0.07 54263.461030,138.6289.801130,350.5131.73542,786.6
R 101 / 10 / 18 / 200 / 400 / 0.07 732691.2939143,3863312.3548160,197138.00274,408.6
R 201 / 10 / 18 / 200 / 400 / 0.07 722491.1040156,4401992.8832247,398186.83379,235.2
R C 101 / 10 / 18 / 200 / 400 / 0.07 711486.711919,687.11799.7123106,481234.74368,235.6
R C 201 / 10 / 18 / 200 / 400 / 0.07 721133.811589,6831133.801555,479.2302.33481,787
C 101 / 10 / 18 / 200 / 400 / 0.30 / 2 52598.304748,933.3415.005178,190.256.96743,388.3
C 101 / 10 / 18 / 200 / 400 / 0.30 581921.9054103,5401743.9049103,414177.95558,642.1
C 201 / 10 / 18 / 200 / 400 / 0.30 54755.932939,023.71251.164845,827.1156.39656,019.9
R 101 / 10 / 18 / 200 / 400 / 0.30 734573.8567193,7026485.2595258,245477.877143,966
R 201 / 10 / 18 / 200 / 400 / 0.30 723016.5249138,1793570.6158253,926345.06588,666.5
R C 101 / 10 / 18 / 200 / 400 / 0.30 713404.464462,050.94487.6358220,287524.99783,348.4
R C 201 / 10 / 18 / 200 / 400 / 0.30 722238.123098,0682536.5234149,601447.63677,137.2
Table A5. Results of MOGVNS/P, MOGVNS/CDP and MOGVNS/D for the failure cost as a second objective.
Table A5. Results of MOGVNS/P, MOGVNS/CDP and MOGVNS/D for the failure cost as a second objective.
Instance nMOGVNS/PMOGVNS/CDPMOGVNS/D
HV ( × 10 10 )NDPCPU (s)HV ( × 10 10 )NDPCPU (s)HV ( × 10 10 )NDPCPU (s)
R E / 6 / 2 / 80 / 80 / 0.30 / 2 60.000560.590.000450.650.000232.43
R E / 6 / 4 / 101 / 101 / 0.30 / 2 120.16981515.710.19071724.670.0339360.23
R E / 6 / 2 / 80 / 80 / 0.07 / 2 60.001850.590.001850.710.001132.32
R E / 6 / 4 / 101 / 101 / 0.30 / 2 120.1172719.90.1005618.950.0333245.58
C 101 / 10 / 8 / 100 / 200 / 0.07 / 2 235.319216.9610.6118981.692.3641085.69
C 101 / 10 / 5 / 100 / 200 / 0.07 / 2 237.0412274.832.935573.822.9351293.41
C 101 / 10 / 7 / 100 / 200 / 0.07 2616.106355.0524.1591021.9113.4251627.55
C 101 / 25 / 18 / 100 / 200 / 0.07 544446.776534,139.15092.487434,088.1478.86725,013.6
C 201 / 10 / 7 / 100 / 200 / 0.07 247.694337.743.892475.765.773993.2
C 201 / 25 / 18 / 100 / 200 / 0.07 523594.675430,615.32942.534429,954.2399.40620,716.7
R 101 / 10 / 7 / 100 / 200 / 0.07 34164.07312689.1217.78405828.5831.7665327.16
R 101 / 25 / 18 / 100 / 200 / 0.07 6818,654.8413393,925.715,409.9710990,059.71262.27964,565
R 201 / 10 / 7 / 100 / 200 / 0.07 34158.00303081.38200.01374998.8236.8475065.3
R 201 / 25 / 18 / 100 / 200 / 0.07 6515,381.7413474,28421,163.0418387,0841033.06960,050.9
R C 101 / 10 / 7 / 100 / 200 / 0.07 33117.39192763.77120.11194822.8243.2474516.16
R C 101 / 25 / 18 / 100 / 200 / 0.07 629389.077767,295.310,924.158963,118.8853.54729,063.3
R C 201 / 10 / 7 / 100 / 200 / 0.07 3321.794962.5755.62103642.3616.3334058.1
R C 201 / 25 / 18 / 100 / 200 / 0.07 603341.873224,243.64940.534747,436.3313.30336,816.5
C 101 / 10 / 8 / 100 / 200 / 0.30 / 2 2326.9949835.6931.05541032.433.8671339.66
C 101 / 10 / 5 / 100 / 200 / 0.30 / 2 2310.9920369.6716.1028838.582.7551098.4
C 101 / 10 / 7 / 100 / 200 / 0.30 26106.78411773.9095.24361755.0613.0252057.67
C 101 / 25 / 18 / 100 / 200 / 0.30 545176.537733,325.17161.2010642,890.5201.54631,026.5
C 201 / 10 / 7 / 100 / 200 / 0.30 2437.0520927.7839.34211098.5412.9771200.75
C 101 / 25 / 18 / 100 / 200 / 0.30 524122.096323,267.94268.456524,749.7196.19620,101
R 101 / 10 / 7 / 100 / 200 / 0.30 34281.77545339.7203.74385483.7436.5274909.06
R 101 / 25 / 18 / 100 / 200 / 0.30 688193.865931,630.710,913.777867,300.91111.17872,624
R 201 / 10 / 7 / 100 / 200 / 0.30 34183.93332207.54250.89445704.2839.0376199.63
R 201 / 25 / 18 / 100 / 200 / 0.30 6511,274.879680,442.811,462.149782,898.8822.02753,859.1
R C 101 / 10 / 7 / 100 / 200 / 0.30 33121.61202045.54161.47262161.3630.4054634.17
R C 101 / 25 / 18 / 100 / 200 / 0.30 6214,242.8611870,866.511,046.549175,571.3361.91643,626.3
R C 201 / 10 / 7 / 100 / 200 / 0.07 3359.04111814.0238.3172147.7621.4744423.04
R C 201 / 25 / 18 / 100 / 200 / 0.07 605687.615524,037.77904.997652,829.2310.14637,858.9
C 101 / 10 / 18 / 200 / 400 / 0.07 / 2 52767.283130,374.4691.192765,021.6173.26736,495
C 101 / 10 / 18 / 200 / 400 / 0.07 581971.713955,556.11996.6039114,965353.90758,048.8
C 201 / 10 / 18 / 200 / 400 / 0.07 54787.572147,186.4416.121121,047.7187.51545,972.9
R 101 / 10 / 18 / 200 / 400 / 0.07 7317,862.57196218,37921,549.32232291,184820.019157,945
R 201 / 10 / 18 / 200 / 400 / 0.07 7216,413.05194212,09617,552.03204287,891761.319152,872
R C 101 / 10 / 18 / 200 / 400 / 0.07 719064.5786139,08314,973.80140254,233737.767101,806
R C 201 / 10 / 18 / 200 / 400 / 0.07 721999.6520124,1092228.2122108,438499.90577,240.8
C 101 / 10 / 18 / 200 / 400 / 0.30 / 2 52548.624766,374.2916.127681,434.670.02645,062.4
C 101 / 10 / 18 / 200 / 400 / 0.30 582193.4644101,0373329.4266125,092249.18568,694.4
C 201 / 10 / 18 / 200 / 400 / 0.30 541339.743675,004.41838.224977,837.6297.70859,965.1
R 101 / 10 / 18 / 200 / 400 / 0.30 7313,650.66151304,35913,525.98147295,760813.419221,425
R 201 / 10 / 18 / 200 / 400 / 0.30 728549.0010298,438.413,032.20153301,157838.3510176,422
R C 101 / 10 / 18 / 200 / 400 / 0.30 7111,283.23108197,3509114.3686231,112940.419176,085
R C 201 / 10 / 18 / 200 / 400 / 0.30 724456.75453502.35715.835714,995.39594.306132,318

References

  1. Dohi, T.; Kaio, N.; Osaki, S. Preventive Maintenance Models: Replacement, Repair, Ordering, and Inspection. In Handbook of Reliability Engineering; Hoang, P., Ed.; Springer: London, UK, 2003; pp. 349–366. [Google Scholar]
  2. Chen, Y.; Polack, F.; Cowling, P.; Mourdjis, P.; Remde, S. Risk Driven Analysis of Maintenance for a Large-scale Drainage System. In Proceedings of the 5th ICORES, Rome, Italy, 23–25 February 2016; pp. 296–303. [Google Scholar]
  3. Jbili, S.; Chelbi, A.; Radhoui, M.; Kessentini, M. Integrated strategy of Vehicle Routing and Maintenance. Reliab. Eng. Syst. Saf. 2018, 170, 202–214. [Google Scholar] [CrossRef]
  4. López-Santana, E.; Akhavan-Tabatabaei, R.; Dieulle, L.; Labadie, N.; Medaglia, A.L. On the combined maintenance and routing optimization problem. Reliab. Eng. Syst. Saf. 2016, 145, 199–214. [Google Scholar] [CrossRef]
  5. Rashidnejad, M.; Ebrahimnejad, S.; Safari, J. A bi-objective model of preventive maintenance planning in distributed systems considering vehicle routing problem. Comput. Ind. Eng. 2018, 120, 360–381. [Google Scholar] [CrossRef]
  6. Kovacs, A.A.; Parragh, S.N.; Doerner, K.F.; Hartl, R.F. Adaptive large neighborhood search for service technician routing and scheduling problems. J. Sched. 2012, 15, 579–600. [Google Scholar] [CrossRef]
  7. Cordeau, J.F.; Laporte, G.; Pasin, F.; Ropke, S. Scheduling technicians and tasks in a telecommunications company. J. Sched. 2010, 13, 393–409. [Google Scholar] [CrossRef]
  8. Pillac, V.; Guéret, C.; Medaglia, A.L. A Fast Reoptimization Approach for the Dynamic Technician Routing and Scheduling Problem. In Recent Developments in Metaheuristics. Operations Research/Computer Science Interfaces Series; Amodeo, L., Talbi, E.G., Yalaoui, F., Eds.; Springer: Berlin/Heidelberg, Germany, 2018; Volume 62. [Google Scholar]
  9. Çakırgil, S.; Yücel, E.; Kuyzu, G. An integrated solution approach for multi-objective, multi-skill workforce scheduling and routing problems. Comput. Oper. Res. 2020, 118, 104908. [Google Scholar] [CrossRef]
  10. Paquete, L.; Chiarandini, M.; Stützle, T. Pareto local optimum sets in the biobjective traveling salesman problem: An experimental study. In Metaheuristics for Multiobjective Optimisation; Springer: Berlin/Heidelberg, Germany, 2004; pp. 177–199. [Google Scholar]
  11. Duarte, A.; Pantrigo, J.J.; Pardo, E.G.; Mladenovic, N. Multi-objective variable neighborhood search: An application to combinatorial optimization problems. J. Glob. Optim. 2015, 63, 515–536. [Google Scholar] [CrossRef]
  12. Cota, L.P.; Guimarães, F.G.; Ribeiro, R.G.; Meneghini, I.R.; de Oliveira, F.B.; Souza, M.J.; Siarry, P. An adaptive multi-objective algorithm based on decomposition and large neighborhood search for a green machine scheduling problem. Swarm Evol. 2019, 51, 100601. [Google Scholar] [CrossRef]
  13. Dubois-Lacoste, J.; López-Ibáñez, M.; Stützle, T. Anytime pareto local search. Eur. J. Oper. Res. 2015, 243, 369–385. [Google Scholar] [CrossRef] [Green Version]
  14. Dahite, L.; Kadrani, A.; Benmansour, R. Optimization models for train load and transport planning problems. In MATEC Web of Conferences 2018; EDP Sciences: Les Ulis, France, 2018; Volume 200. [Google Scholar]
  15. Tsang, A.H.C. Condition-based maintenance: Tools and decision making. J. Qual. Maint. Eng. 1995, 1, 3–17. [Google Scholar] [CrossRef]
  16. Fontecha, J.E.; Akhavan-Tabatabaei, R.; Duque, D.; Medaglia, A.L.; Torres, M.N.; Rodríguez, J.P. On the preventive management of sediment-related sewer blockages: A combined maintenance and routing optimization approach. Water Sci. Technol. 2016, 74, 302–308. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  17. Hansen, P.; Mladenovic, N. A Tutorial on Variable Neighborhood Search. Les Cah. GERAD ISSN 2003, 711, 2440. [Google Scholar]
  18. Dahite, L.; Kadrani, A.; Benmansour, R.; Guibadj, R.N.; Fonlupt, C. Optimization of Maintenance Planning and Routing Problems. In Lecture Notes in Computer Science, Proceedings of the International Conference on Variable Neighborhood Search, ICVNS 2019, Rabat, Morocco, 3–5 October 2019; Benmansour, R., Sifaleras, A., Mladenović, N., Eds.; Springer: Berlin/Heidelberg, Germany, 2019; Volume 12010, p. 12010. [Google Scholar]
  19. Chen, P.; Huang, H.K.; Dong, X.Y. Iterated variable neighborhood descent algorithm for the capacitated vehicle routing problem. Expert Syst. Appl. 2010, 37, 1620–1627. [Google Scholar] [CrossRef]
  20. Rezgui, D.; Bouziri, H.; Aggoune-Mtalaa, W.; Siala, J.C. An Evolutionary Variable Neighborhood Descent for Addressing an Electric VRP Variant. In Proceedings of the International Conference on Variable Neighborhood Search, ICVNS 2018, Sithonia, Greece, 4–7 October 2018; Sifaleras, A., Salhi, S., Brimberg, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2019; Volume 11328. [Google Scholar]
  21. Dahite, L.; Guibadj, R.N.; Fonlupt, C.; Kadrani, A.; Benmansour, R. A Semi Adaptive Large Neighborhood Search for the Maintenance Scheduling and Routing Problem. In Proceedings of the 2021 7th International Conference on Optimization and Applications (ICOA), Wolfenbüttel, Germany, 19–20 May 2021; pp. 1–6. [Google Scholar]
  22. Lust, T.; Teghem, J. Two-phase Pareto local search for the biobjective traveling salesman problem. J. Heuristics 2010, 16, 475–510. [Google Scholar] [CrossRef]
  23. Queiroz, T.A.D.; Mundim, L.R. Multiobjective pseudo-variable neighborhood descent for a bicriteria parallel machine scheduling problem with setup time. Int. Trans. Oper. Res. 2020, 27, 1478–1500. [Google Scholar] [CrossRef]
Figure 1. The general approach.
Figure 1. The general approach.
Mathematics 10 01807 g001
Figure 2. Solution representation of the result minimizing the routing cost for the instance Re/6/2/80/80/0.07/2 (time in hours).
Figure 2. Solution representation of the result minimizing the routing cost for the instance Re/6/2/80/80/0.07/2 (time in hours).
Mathematics 10 01807 g002
Figure 3. Pareto fronts of the different algorithms for the instance C201/25/18/100/200/0.30 and the failure cost as second objective (52 operations).
Figure 3. Pareto fronts of the different algorithms for the instance C201/25/18/100/200/0.30 and the failure cost as second objective (52 operations).
Mathematics 10 01807 g003
Table 1. Results of mono-objective GVNS for the routing objective.
Table 1. Results of mono-objective GVNS for the routing objective.
Instance nCPLEXGVNSImprovement
ObjectiveStatusCPU (s)maxminavgmax cpumin cpuavg cpuGap (%)ICPU (%)
R E / 6 / 2 / 80 / 80 / 0.07 / 2 6110.88optimal0.03110.88110.88110.880.2440.2330.2390−676.67
R E / 6 / 4 / 101 / 101 / 0.07 / 2 12353.52optimal0.92362.64353.52355.3443.662.643.010−186.96
R E / 6 / 2 / 80 / 80 / 0.30 / 2 698.64optimal0.09105.3698.6492.7840.180.120.1460−33.33
R E / 6 / 4 / 101 / 101 / 0.30 / 2 12325.92optimal1.74349.44325.92336.7685.943.494.2240−100.57
C 101 / 10 / 8 / 100 / 200 / 0.07 / 2 23119.699optimal131.61121.451119.699120.133131.5694.83113.878027.95
C 101 / 10 / 5 / 100 / 200 / 0.07 / 2 23225.078optimal2186.44226.826225.078225.588161.9556.89107.518097.40
C 101 / 10 / 7 / 100 / 200 / 0.07 2382.536optimal55.2882.99682.53682.628211.3156.28179.0420−78.36
C 101 / 25 / 18 / 100 / 200 / 0.07 54192.184optimal114,985196.632192.184193.9635586.444218.194868.12096.33
C 201 / 10 / 7 / 100 / 200 / 0.07 2477.168optimal44.1977.16877.16877.168148.581.96116.020−85.47
C 201 / 25 / 18 / 100 / 200 / 0.07 52223.01feasible83,458228.691222.451224.9473566.312902.283245.330.2996.52
R 101 / 10 / 7 / 100 / 200 / 0.07 34507.37feasible51,587.8544.467450.746492.615649.18540.83611.38211.1698.95
R 101 / 25 / 18 / 100 / 200 / 0.07 68244,302feasible67,536.8316.103299.882307.84213,044.310,906.112,133.299.8883.85
R 201 / 10 / 7 / 100 / 200 / 0.07 34341.741feasible236,032354.432341.741348.367716.37487.04578.662099.79
R 201 / 25 / 18 / 100 / 200 / 0.07 65---246.648237.633239.43610,748.37093.858823.51--
R C 101 / 10 / 7 / 100 / 200 / 0.07 33752.961feasible51,859777.745716.459747.226752.87541.27659.034.8598.96
R C 101 / 25 / 18 / 100 / 200 / 0.07 6218,763.7feasible14,382.1262.036261.552261.7467660.665238.136368.3298.6163.58
R C 101 / 50 / 35 / 100 / 200 / 0.07 89---560.06560.06560.0635,389.431,967.633,868.1--
R C 201 / 10 / 7 / 100 / 200 / 0.07 33678.987feasible241,174676.96612.94637.187750.19320.74552.8229.7399.87
R C 201 / 25 / 18 / 100 / 200 / 0.07 60281.088feasible343,932321.337277.384287.316173.464781.445537.821.3298.61
R C 201 / 50 / 35 / 100 / 200 / 0.07 91---713.324706.072708.9434,343.826,443.529,329.9--
C 101 / 10 / 8 / 100 / 200 / 0.30 / 2 2382.544feasible225,50683.34482.54482.704159.3177.38121.358099.97
C 101 / 10 / 5 / 100 / 200 / 0.30 / 2 2382.544optimal18,631.683.73682.54482.9424147.7678.27119.06099.58
C 101 / 10 / 7 / 100 / 200 / 0.30 2665.044optimal2288.1465.04465.04465.044251.2152.27190.812093.35
C 101 / 25 / 18 / 100 / 200 / 0.30 5442,379.5feasible78,964.4166.876159.068163.7536284.013802.554849.6299.6295.18
C 201 / 10 / 7 / 100 / 200 / 0.30 2470.116optimal356.4870.11670.11670.116109.4784.3499.466076.34
C 201 / 25 / 18 / 100 / 200 / 0.30 52116,913feasible80,200.3180.7179.144179.7584440.743303.944050.4399.8595.88
R 101 / 10 / 7 / 100 / 200 / 0.30 3494.96feasible236,317107.64495.528101.242805.61431.89558.634−0.6099.82
R 101 / 25 / 18 / 100 / 200 / 0.30 68---208.588203.616205.71413,602.911,030.512,438.2--
R 201 / 10 / 7 / 100 / 200 / 0.30 3483.28optimal24,458.887.1883.2884.06791.51694.42752.572097.16
R 201 / 25 / 18 / 100 / 200 / 0.30 65---195.636190.732192.2613,517.87052.69646.78--
R C 101 / 10 / 7 / 100 / 200 / 0.30 33173.116feasible241,311207.477173.116189.96747.57425.65571.79099.82
R C 101 / 25 / 18 / 100 / 200 / 0.30 62---232.152229.78230.7617774.126244.387005.41--
R C 201 / 10 / 7 / 100 / 200 / 0.30 33117.011feasible258,832128.91117.011121.77638.44439.24555.072099.83
R C 201 / 25 / 18 / 100 / 200 / 0.30 60---224.492219.724221.6497803.895486.566723.49--
C 101 / 10 / 18 / 200 / 400 / 0.07 / 2 52148.156feasible342,141130.743130.743130.74310,770.57695.348634.2311.7597.75
C 101 / 10 / 18 / 200 / 400 / 0.07 58---103.895.97298.645619,472.212,096.715,370.3--
C 201 / 10 / 18 / 200 / 400 / 0.07 54---96.21696.1696.17127471.9461536749.16--
R 101 / 10 / 18 / 200 / 400 / 0.07 73---71.89271.89271.89232,985.825,402.728,932--
R 201 / 10 / 18 / 200 / 400 / 0.07 72---71.89671.89671.89630,988.522,842.125,594.4--
R C 101 / 10 / 18 / 200 / 400 / 0.07 71---86.10486.10486.10424,206.517,693.719,926--
R C 101 / 10 / 18 / 200 / 400 / 0.07 72---86.10486.10486.10430,12321,641.724,153.9--
C 101 / 10 / 18 / 200 / 400 / 0.30 / 2 5211,986.3feasible252,973102.328100.588101.19813,018.19452.8810,463.799.1696.26
C 101 / 10 / 18 / 200 / 400 / 0.30 58---84.86484.62484.7218,539.59654.0213,218.7--
C 201 / 10 / 18 / 200 / 400 / 0.30 54---94.7288.10490.675211,208.86835.289404.82--
R 101 / 10 / 18 / 200 / 400 / 0.30 73---82.71271.88877.60831,45225,678.529,740--
R 201 / 10 / 18 / 200 / 400 / 0.30 72---81.13671.89679.28832,522.225,003.328,856.2--
R C 101 / 10 / 18 / 200 / 400 / 0.30 71---94.79286.10487.841626,959.819,969.324,013.2--
R C 201 / 10 / 18 / 200 / 400 / 0.30 72---92.19286.10487.321629,509.419,741.823,851.1--
Table 2. Comparisonbetween the proposed algorithms and the literature algorithms.
Table 2. Comparisonbetween the proposed algorithms and the literature algorithms.
ImprovementThe Maintenance ObjectiveThe Failure Objective
IHV (%)INDP (%)ICPU (%)IHV (%)INDP (%)ICPU (%)
MOVND/P over MOVND of [11]7.822.7981.5685.7167.7480.79
MOVND/PI over MOVND of [11]104.12108.454.73303.78304.90−10.21
MOGVNS/P over MOGVNS of [11]52.2952.1541.6991.4792.1147.74
MOGVNS/P over MOGVNS/CDP2.421.9224.73−2.91−1.6818.24
MOGVNS/P over MOGVNS/D574.41573.1419.92792.71679.1113.03
MOGVNS/P over MOVND/PI25.8726.90−706.2022.0221.75−387.50
MOVND/PI over MOGVNS/P−0.38−0.2365.74−7.55−7.4170.87
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Dahite, L.; Kadrani, A.; Benmansour, R.; Guibadj, R.N.; Fonlupt, C. Multi-Objective Model and Variable Neighborhood Search Algorithms for the Joint Maintenance Scheduling and Workforce Routing Problem. Mathematics 2022, 10, 1807. https://doi.org/10.3390/math10111807

AMA Style

Dahite L, Kadrani A, Benmansour R, Guibadj RN, Fonlupt C. Multi-Objective Model and Variable Neighborhood Search Algorithms for the Joint Maintenance Scheduling and Workforce Routing Problem. Mathematics. 2022; 10(11):1807. https://doi.org/10.3390/math10111807

Chicago/Turabian Style

Dahite, Lamiaa, Abdeslam Kadrani, Rachid Benmansour, Rym Nesrine Guibadj, and Cyril Fonlupt. 2022. "Multi-Objective Model and Variable Neighborhood Search Algorithms for the Joint Maintenance Scheduling and Workforce Routing Problem" Mathematics 10, no. 11: 1807. https://doi.org/10.3390/math10111807

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop