1,074
Views
1
CrossRef citations to date
0
Altmetric
Research Articles

On the multi-period combined maintenance and routing optimisation problem

ORCID Icon, ORCID Icon & ORCID Icon
Pages 8265-8290 | Received 19 Dec 2021, Accepted 24 Dec 2022, Published online: 07 Mar 2023

Abstract

This paper focuses on the combined maintenance and routing optimisation problem in a multi-period environment that consists of scheduling maintenance operations for a set of geographically distributed machines, subject to non-deterministic failures with a set of technicians that perform preventive maintenance and corrective operations. This study uses a two-step approach based on column generation. The first step consists of a maintenance model that determines the optimal time until the next preventive maintenance operation, and each machine’s maintenance frequency while minimising the total expected maintenance costs. The second step involves a routing model that assigns and schedules maintenance operations for each technician over the planning horizon while minimising the routing and maintenance costs. We formulate the second step problem as a periodic vehicle routing problem and to solve it, we propose a column generation approach. The master problem is a set partitioning formulation that indicates which machines must be visited in the planning horizon. This decomposition has two auxiliary problems: the first one is an elementary shortest-path problem to find a feasible path for each period and the second one finds a set of visiting periods for each machine. Our approach balances the maintenance cost, routing cost, and failure probabilities.

1. Introduction

Thoughtful planning and scheduling of maintenance operations lead to significant improvements in the reliability of an industrial installation or a distribution network (Remy et al. Citation2013). Therefore, optimising maintenance planning plays a crucial role in the strategic continuity of operations, several decisions can be optimised such as the frequency of the maintenance actions or the dates when maintenance is scheduled.

Today’s business dynamics demand a high level of operational efficiency and effectiveness where continuity becomes a crucial factor in the business economy. Therefore, maintenance in any productive system ceases to be considered a cost generator that has a negative effect on productivity. It becomes an important factor that can generate value for different operations. Maintenance decisions can be influenced by different factors (Van Horenbeek, Pintelon, and Muchiri Citation2010) such as policies – (failure-based, time use, condition-based), events (failures, time limits, conditions), actions (corrective, replacement, preventive, preventive replacement), criteria (costs, availability, reliability), effectiveness (perfect repair, minimal repair, imperfect repair, worse repair, worst repair), deterioration (failure distribution, ageing models, condition-based), and system information (complete, incomplete, data sources).

Given these maintenance concepts, the optimisation models become important tools that support decision-making in strategy development that achieves the continuous operation of any production system. By identifying effective policies and special factors, it can be used to optimise the policies of maintenance while satisfying different goals such as cost or reliability. Nevertheless, to guarantee the correct maintenance of any system it is necessary to consider the constraints of this process, which is the personnel or machinery involved in the maintenance process to guarantee the correct maintenance of any system. Therefore, it is important to consider the interrelated problems of maintenance and routing personnel or machines that perform this maintenance.

In many industrial fields the continuity of the production or operational system depends on the multicomponent system and its functionality and the reliability of the overall system can be affected over time if one or more components are not working appropriately (Zhang et al. Citation2022) (Elsido, Martelli, and Grossmann Citation2021). In this sense, enterprises are also restricted by costs mainly because the crew that performs this type of work increases the overall costs (Han, Zhen, and Huang Citation2022) due to the time required to perform the operations (travel and repair times). For example, in systems such as multipurpose process plants, the time period of the maintenance planning is crucial for the operation given that the production plan and the flexibility of the system can be affected (Vassiliadis et al. Citation2000), other industrial example is related to the maintenance planning of public buildings including risk criteria, (Ruparathna, Hewage, and Sadiq Citation2018).

López-Santana et al. (Citation2016) proposed the combined maintenance and routing optimisation problem. The authors consider a system with a set of machines that are geographically distributed over a region. These machines are subject to unforeseen failures that result in downtime and hence loss of productivity. To reduce the unforeseen downtimes, a maintenance operation is scheduled with a certain frequency. A set of technicians who are missioned to visit these machines to perform maintenance operations are also considered. When a machine fails suddenly, the maintenance crew must perform Corrective Maintenance (CM) operations.

The applicability of our proposed approach in an industrial context lies in complex systems in which the continuity of the operation is critical for business and performance indicators such as production systems, oil and gas processes, airline industries, and wind power generation systems among others, in fact, some commercial solutions try to solve this type of problems, for instance (IBM Citation2022).

The remainder of this paper is organised as follows. Section 2 reviews the literature related to combined maintenance and routing problems. In Section 3 the problem statement is presented followed by the mathematical models, Section 4 with the maintenance model, Section 5 with the routing model, and the decomposition approach. Section 6 introduces the benchmark procedure, which consists of a simple method to generate the visit pattern set and it is used to test the relevance of integrating the routing model within the maintenance policies over several periods. The experimentation and analysis are shown in Section 7 and finally, conclusions are developed in Section 8.

2. Literature review

A maintenance policy is the combination of inspections (for monitoring purposes) and preventive and corrective operations intended to restore a machine to a state in which it can perform its required functions Lugtigheid, Banjevic, and Jardine (Citation2004). In this way, this review aims to find the main mathematical models and related factors considered in the planning of maintenance operations. For deeper studies of maintenance optimisation models see (A Review on Maintenance Optimisation Citation2019).

Several authors have developed applications depending on the type of maintenance and additional characteristics considered. For example, in (Martinod et al. Citation2018), the authors have developed an optimisation approach for generating maintenance policies in a multiple-product environment. The authors propose an optimisation technique in which the maintenance policy used is defined as an imperfect maintenance action, where actions are divided into corrective and preventive. The main objective is to minimise the preventive and corrective maintenance costs. For the preventive actions, two different policies are evaluated: (i) periodic block-type where maintenance is performed periodically over a planning horizon, and (ii) aged-based policy that uses a reliability function for each component that defines a threshold value for performing the maintenance. The proposed model and policies are tested in a real-life application of passenger-aerial-cable cars.

Another application of maintenance strategies is proposed by (Faddoul, Raphael, and Chateauneuf Citation2018). The authors consider the interdependencies between multiple components in their application. Over a planning horizon of one year, the deterioration of the components is modelled using Markov decision processes and is solved using a combined stochastic dynamic programming and Lagrangian relaxation. Numerical tests are performed over a pipeline with five serial sections where the deterioration of each component is modelled using several factors. The considered maintenance policies are: (i) do nothing, (ii) preventive, (iii) corrective, and (iv) replacement.

The application of routing personnel and optimisation of the maintenance of airplanes is presented in (Eltoukhy et al. Citation2018). The authors discerned that aircraft maintenance and maintenance staffing problems are interrelated and interdependent; therefore, they develop a joint mathematical model to solve both problems. By identifying the objectives of both problems as a multi-objective model, the authors have developed a bi-level optimisation programming model embedded with an ant colony optimisation metaheuristic to solve the first stage of the problem. The problem is modelled using a scenario-based approach for the stochastic version, and a strategy of the leader-follower Stackelberg game is used to connect the problems. The model is tested over a real instance of a middle-size airline company to obtain improved cost. Another application of the maintenance of airplanes is presented in (Eltoukhy et al. Citation2019) where a study of the interdependence of aircraft routing and maintenance staffing is developed. The study uses the concept of Nash equilibrium with Ant Colony Optimisation and data analytics to optimise the selection of maintenance providers to decide the size of the crew and the places where the maintenance is to be performed to minimise the overall cost.

In any system, different limitations are involved when making decisions. Maintenance decisions are affected by these limitations. In (Khatab et al. Citation2018), the authors proposed an application where a selective maintenance problem is developed by introducing a nonlinear programming model that selects the components to be maintained, the maintenance levels, and the assignments to repair persons or channels. Several samples were tested to prove the benefits of the model’s application.

An application for joint maintenance and production control is presented by (Wakiru et al. Citation2021). In this paper, the authors integrated opportunistic maintenance by considering several factors that affected the operation and proposing an approach that used discrete event simulation modelling. The study evaluated the stochasticity of different elements of the operation embedded with a semi-Markov decision process and the opportunistic maintenance generating rules for performing the maintenance operations. This proposal also uses degradation rates to evaluate product quality and its relationship with maintenance operations. Similarly (Gopalakrishnan, Subramaniyan, and Skoogh Citation2020) proposed a data-driven approach to analysing the maintenance operations and increased productivity. Their proposal is based on a framework for evaluating machine criticality where four different cases were evaluated concluding increments in productivity when the proposal is used.

When a system of study includes multiple interrelated components, an application of power systems can be found (Briš et al. Citation2017). In this paper, the authors distinguished between four types of components: non-repairable, repairable with CM, repairable with latent failures, and reparable with preventive policies. The authors used a discrete maintenance optimisation method with a reliability constraint where the stochastic factor was the life cycle. This proposed method was validated through the use of a real case in a power system network, a similar problem was also analysed in (Foong et al. Citation2008). Also, a multi-station system was studied in (Zhou & Shi, Citation2019). The authors modelled the problem by using a capacity function rate to describe the impacts of the failures in the system’s capacity. Based on this function, a rule-based opportunistic maintenance policy was proposed.

Samal and Pratihar (Citation2015) developed a joint optimisation model for the maintenance and spare parts inventory problems. For modelling the life cycle of machines, the authors have used the probability of a failure as a function of time and consider that the time spent repairing a machine is depreciable. Once maintenance is performed, the assumption is that the machine is restored as good as new. The spare kits are required for performing the maintenance and their orders generate costs associated with inventory, holding, and backorders. To solve this combined problem, a genetic algorithm and particle swarm optimisation are used and tested with instances from real cases in the industry generating cost savings.

In the same way (Nguyen et al. Citation2019), by including routing in the maintenance process, to develop an optimisation model for the maintenance of a production system using the grouping and routing of a crew. The maintenance is divided into two different parts: corrective, using the policy as bad as old, and preventive using the policy as good as new. Grouping and planning maintenance crew routes are solved by a combination of local search and genetic algorithms. Also, the life cycle of each interrelated critical component of the production system is modelled with a Weibull distribution. Several experiments were performed with generated instances, also a sensitivity analysis was performed.

Another application of combined routing and maintenance is presented by (Ade et al. Citation2017). The authors develop an application for routing and scheduling planning for the maintenance of offshore wind farms. The authors do not consider the life cycle of the wind farms as a stochastic process. However, over a planning horizon, they decide the period to make the maintenance which can be of different types. Routing and scheduling are solved using a MILP and Dantzig-Wolfe decomposition which is solved for each turbine generating feasible paths for each period. Another MILP is proposed for finding the optimal configuration that minimises the total costs.

Hajej, Rezg, and Gharbi (Citation2020) presented a combination of maintenance and production operations in the case of remanufactured products. The authors developed a two-stage mathematical optimisation problem that included the average number of failures in a production cycle as the estimation of the stochastic values. To solve the problem, the use of an evolutionary algorithm was proposed. Similarly (Hajej, Rezg, and Gharbi Citation2018) proposed a combination of a production system that is subject to failures that can affect the quality of the product. The proposed model determines a joint control policy based on a stochastic production and maintenance planning problem. This work was extended by (Hajej and Rezg Citation2020) who added a multi-machine environment intended to minimise the overall total costs composed of the production, maintenance, and energy consumption elements.

Similarly (Koochaki et al. Citation2012) proposed the use of the condition-based rule to perform preventive maintenance operations by a group of maintenance operators. Nevertheless, these operators are considered under different scenarios: (1) an unlimited number of operators, (2) a limited number of operators, and (3) external operators with service times. The performance indicators are related to maintenance costs and how smoothly the maintenance plans are executed.

Jbili et al. (Citation2018) proposed a very interesting problem that performs the maintenance of the vehicles in the routing process. The article’s main idea concerns guaranteeing the distribution process in intercontinental transportation, where critical components of vehicles are subject to failure and the reparation time is unknown. Replacement of failed components is the maintenance policy under consideration, and a mathematical model is proposed to solve small instances while a genetic algorithm is also proposed for bigger instances. A similar problem for the railway corridors was analysed by (Ome et al. Citation2018) but without considering the crew as a maintenance factor.

A mathematical optimisation model and algorithmic approach for the combined design and maintenance of large-scale multicomponent industrial systems was developed in (Adjoul et al. Citation2021). The authors have proposed a two-phase algorithm wherein the first part – a Non-Sorting-Genetic Algorithm II (NSGA-II) – is used to identify the best combinations of design solutions and is used as an input for the second phase, which searches a dynamic maintenance planning using a genetic algorithm. The proposed approach was tested over different instances taken from the literature, costs were reduced, and the robustness of the system was improved.

Also in (Ahmed, Zeghal Mansour, and Haouari Citation2018), a combined problem involving aircraft, maintenance, and crew pairing was developed. The main idea was to find an aircraft route maintenance policy and a crew pairing to support the maintenance. Because these two decisions are interrelated, the authors proposed to find robust solutions that can respond to unpredictable disruptions such as weather and breakdowns. The authors used information from well-known companies to test their approach and have generated a set of circumstances that showed good quality, cost-effective solutions.

Table  presents a classification of the main characteristics of the articles analysed above given two major elements: (i) maintenance and (ii) technicians which has its own main characteristics.

Table 1. Summary and classification of the literature review.

Based on the articles analysed in Table , the main contribution of our work can be summarised as follows: from the managerial perspective, the optimisation models become an important tool that supports decision-making in the strategic development that achieves the continuous operation of any production system. Therefore, we have included in our analysis four main elements that affect the maintenance planning process: multiple time periods, random times of failure, geographically distributed machines, and the condition of the machines after a CM or PM operation. These real elements are in most of the works described in the literature discussed. By identifying the policies and special factors to use, our analysis can become a tool that optimises the maintenance policies while satisfying different criteria such as costs or reliability. Nevertheless, to guarantee the correct maintenance of any system it is necessary to consider a limiting factor for this process, which is the personnel or machinery involved in the maintenance process. Therefore, it is important to consider the interrelated problems of maintenance and routing personnel or machines that perform this maintenance. From this point of view, we have included real aspects of crew scheduling and routing that most of the works described have not included. These factors are related to the scheduling and routing of technicians, the travel times, the time windows, and the workload. Hence, another contribution is the combination of these interrelated decisions that most of the articles treat as separate problems.

From the theoretical perspective, we have extended the work developed by (López-Santana et al. Citation2016) by increasing the complexity of the model by adding multiple time periods. Also, we have modified the basic model where we have eliminated the connection between the RM and the MM by leaving the expected waiting time which is a stable variant of the maintenance model. In addition, we propose a solution approach based on column generation decomposition approach with two subproblems. The first subproblem generates feasible paths for the technicians to visit the machines, and the second one makes the pattern visit to schedule the maintenance operations in the planning horizon.

3. Problem statement

López-Santana et al. (Citation2016) introduces the CMR optimisation problem. The authors consider a system with a set of customers VC={1,2,,N} geographically distributed over a region, where each customer has one machine subject to unforeseen failures. The machines are mutually independent regarding their failures and hence it is possible to determine an optimal maintenance policy for each machine separately. To reduce the occurrence of these unforeseen failures, maintenance operations are scheduled with a certain frequency for each machine in a planning horizon. We extended the CMR optimisation problem in a planning horizon T defined by a set of periods {1,2,,T}, for instance, days in a week. For each period tT we consider a set of identical technicians K={1,2,..,m}, who need to visit the set of machines to perform the scheduled maintenance operations. In addition, the technician performs a CM operation in cases where the machine fails suddenly before the scheduled date of the maintenance operation. A single central depot indexed by 0 (outside of all customer locations) is considered as the point of departure and the final destination for all technicians. Thus our problem can be defined in a directed complete graph G=(V,A), V=VC{0}, A={(i,j):i,jV,ij}. Each arc (i,j) has an associated non-negative value dij which represents the travel time from i to j. Finally, the multi-period combined maintenance and routing optimisation problem (MP-CMR) consists of determining a joint routing-maintenance policy for all machines such that it minimises the routing cost and the total expected maintenance cost (PM and CM costs including the cost of unavailability due to the delay time before the arrival of the technician in case of failure). The assumptions and conditions of the problem are summarised as follows:

  • The machines are mutually independent in terms of failure behaviour.

  • The machines start in as good as new condition, and after the PM or CM operation, they are returned to as good as new condition.

  • A cycle is the time interval between two renewals of the machine, i.e. a cycle starts after the completion of the PM or CM operation and ends when the next PM or CM operation is performed.

  • The mean time required to perform a CM operation is longer than the mean time required to perform a PM operation on each machine.

  • The CM cost is higher than the PM cost.

  • It is possible to schedule a maximum of one maintenance operation in each period for each customer.

  • All technicians are homogeneous in the sense that they can perform any PM or CM operation and the travel times between any given pair of customers are identical (among all technicians).

  • For all periods, all technicians start in the depot at the beginning of the planning horizon and must return to the depot by the end of the planning horizon.

  • The travel times are deterministic and fulfil the triangle inequality.

  • In the case of failure before the beginning of the next maintenance operation, the customer must wait for the technician, i.e. the technician is not rescheduled based on the customer’s new situation.

According to (López-Santana et al. Citation2016), our approach consists of solving two models:

  1. Maintenance Model (MM): for each customer, we solve the MM introduced by (López-Santana et al. Citation2016). The input of this model is the set of parameters shown in Figure . The MM allows determining the optimal date of a maintenance operation. This optimal time is calculated by minimising the individual total expected maintenance policy costs per unit of time (CM and PM). Given the planning horizon, the output consists of the number of maintenance operations, the date that each operation should be executed, and the expected maintenance policy cost for each period tT.

  2. Routing Model (RM): This model takes as input the outputs of the MM, the set of periods T and the graph G=(V,A) corresponding to the geographical location of the customers and the depot as an input (see Figure ). For the RM, we use a column generation approach to find a set of routes (also named paths) such that all maintenance operations are executed, and the route duration does not exceed the available workload of each technician and each period. The output is a set of routes for each technician in each period, with the scheduled maintenance operations.

Figure 1. Proposed Multi-Period Combined Maintenance and Routing (MPCMR) model.

Algorithm description composed by two inputs, two outputs, and their connection between the Maintenance Model (MM) and Routing Model (RM).
Figure 1. Proposed Multi-Period Combined Maintenance and Routing (MPCMR) model.

The notation used in the maintenance and routing models is as follows:

Sets:

VC:=

set of customers

V:=

set of vertices (customers and depot)

A:=

set of arcs

K:=

set of technicians

T:=

set of periods

R:=

set of visit patterns

vi:=

set of PM operations of customer i, νi={oi1,oi2,..,oiηi}

Parameters:

T:=

planning horizon

N:=

number of customers

m:=

number of technicians

Ti:=

random variable of the time to failure of machine i

fi(Ti):=

probability density function (p.d.f.) of Ti

Fi(Ti):=

cumulative distribution function of Ti

δi:=

maintenance operation period of machine i

wi(δi):=

expected waiting time in function of maintenance operation period δi of machine i

rikt:=

the renewal time before the maintenance operation i when it is performed by technician k in a period t

sjkt:=

start time of a maintenance operation j when it is performed by technician k in a period t

Mi(δi):=

conditional expected time to failure of machine i when the maintenance operation is δi knowing that the failure occurs before δi

TCMi:=

mean time required to perform a CM operation of machine i

TPMi:=

mean time required to perform a PM operation of machine i

CPMi:=

the total cost of PM for machine i over its operation

CCMi=

the total cost of CM operation for machine i over its operation

Cwi:=

waiting cost per unit time at machine i

Ci(δi):=

the total expected cost per unit of time incurred in one cycle for machine i when the maintenance operation period is δi

φt:=

expected maintenance cost per unit of time in a period t

φit:=

expected maintenance cost per unit of time for machine i in a period t

φir:=

expected maintenance cost per unit of time for machine i in a visit pattern t

ηi:=

number of expected operations (PM or CM) on the planning horizon for machine i

ϕij:=

date of j-th PM operation of machine i (jνi)

ϕj:=

expected date of j-th PM operation

τij:=

travel time between customers i and j

Our proposed approach (multi-period combined maintenance and routing model, MP-CMR) is an extension of the CMR model proposed by (López-Santana et al. Citation2016) involving multiple periods for the RM and the routing cost in the objective functions. According to (Fontecha et al. Citation2020), the connection between the MM and the RM was eliminated by leaving the expected waiting time, i.e, wi=δiM(δi), which is a stable variant of the MM.

In sections 4 and 5, the components of the MP-CMR model are presented. First, we presented the MM for a single machine and generalised it in the context of geographically distributed machines. Then we developed the RM to schedule maintenance operations and solved it based on a column generation approach.

4. Maintenance model (MM)

We use the maintenance model for one machine introduced by (López-Santana et al. Citation2016) and modified by (Fontecha et al. Citation2020). The notation of the MM for a single machine is summarised as follows:

  • T: planning horizon

  • T: random variable of the time to failure

  • f(T): probability density function (p.d.f.) of T

  • F(T): cumulative distribution function of T

  • δ: maintenance operation period at the beginning of the cycle

  • w: expected waiting time before the beginning of the CM operation

  • s: start time of a maintenance operation

  • M(δ): the conditional expected time to failure when the maintenance operation period is δ knowing that the failure occurs before δ

  • TCM: mean time required to perform a CM operation

  • TPM: mean time required to perform a PM operation

  • CPM: total cost of PM operation over its operation

  • CCM: total cost of CM operation over its operation

  • Cw: waiting cost per unit time

  • C(δ): total expected cost per unit of time incurred in one cycle when the maintenance operation period is δ

  • φt: expected maintenance cost per unit of time in a period t

The operation of the machine follows a replacement model, and we define a cycle as the time interval between two renewals of the machine with two types of cycles, preventive, and corrective. For the preventive cycle type, if the machine does not fail before δ then a PM operation is performed. For the failure cycle type, if the machine fails before time δ it must wait to be repaired. In Figure , the machine starts at time 0 in as good as new condition and works until time δ, when it undergoes PM and comes back in as good as new condition at time δ+TPM. Therefore, that the first cycle is a preventive cycle and a cost CPM is incurred.

Figure 2. Sample maintenance cycles with preventive and corrective maintenance operations (E. López-Santana et al. Citation2016).

Three cumulative functions for three different cases of maintenance.
Figure 2. Sample maintenance cycles with preventive and corrective maintenance operations (E. López-Santana et al. Citation2016).

For example, given the machine no fails, then it starts in as good as new condition, then during the second cycle, a failure occurs at time δ+TPM+T, denoted by A, then the machine remains unavailable from this date until the next maintenance operation (with the waiting time w). After the repair, the machine is assumed to be in as good as new condition again at time δ+TPM+T+w+TCM. In this case, the cycle is a failure cycle and a cost CCM+wCw is incurred, where the first term is the cost of the CM operation, and the second term is the cost of unavailability of the machine because of the waiting time before the CM operation. The third cycle is identical to the first cycle; however, it does not mean that the preventive and corrective maintenance are done continuously one after the other.

The probability of failure in the interval [0,δ] is F(δ) which is calculated as follows (1) F(δ)=P(Tδ)=0δf(t)dt.(1) The probability that a preventive cycle (cycles 1 and 3 in Figure ) occurs is 1F(δ) and the probability that a failure cycle (cycle 2 in Figure ) occurs is F(δ). With the assumption that the machine is in as good as new condition after the PM or CM operation, the cumulative distribution function of failure in any cycle is F(δ).

The objective is to determine the optimal maintenance operation period (δ) that minimises the cost criterion. For this purpose, it is common to use a long-run expected cost per unit time (Jardine and Tsang Citation2005; López-Santana et al. Citation2016; Ross Citation2006). This cost for one machine is given by (2) C(δ)=E[C(δ)]E[T(δ)]=Total expected cost of a cycleExpected cycle length.(2) where the total expected cost of a cycle and the expected cycle length is given by equations (3) and (4) according to (López-Santana et al. Citation2016). (3) E[C(δ)]=CPM(1F(δ))+(CCM+wCw)F(δ)(3) (4) E[T(δ)]=(δ+TPM) (1F(δ))+(M(δ)+w+TCM)F(δ)(4) According to (Fontecha et al. Citation2020), the expected waiting time w is replaced by δM(δ) in equations (3) and (4). In addition, Lopez-Santana et al. (Citation2016) shows as it is computed the mean time to failure M(δ) when the maintenance operation is scheduled at time δ in equation (5). (5) M(δ)=0δtf(t)F(δ)dt,(5) Finally, the total expected cost per unit time for a machine is given by: (6) C(δ)=CPM(1F(δ))+(CCM+(δM(δ))Cw)F(δ)(δ+TPM) (1F(δ))+(δ+TCM)F(δ).(6) C(δ) is a continuous convex function for δ>0 given f(t) and F(t) are continuous, and TPM and TCM are deterministic and non-negative. According with (Fontecha et al. Citation2020), the limδ0+C(δ)=CPMTPM and limδC(δ)=Cw ensure the feasibility of C(δ). Then, it is possible to determine that this function has a minimum value in some point δ. The optimal value of δ i.e. δ is found from equation (6) using a simple one-dimensional procedure for unconstrained nonlinear optimisation (López-Santana et al. Citation2016). This procedure uses a straightforward implementation of a golden search method and numerical approximation of the first derivative.

Figure  illustrates the curve of cost of the proposed MM. The PM cost decreases as δ increases since a smaller number of PM operations are required to be performed on the machine over the planning horizon. On the other hand, the CM cost increases when δ increases since a larger number of CM operations are required at the machine in the planning horizon because the probability of failures increases with δ. The total cost curve is the sum of the PM and CM costs. The date δ (minimum value of  C(δ)) represents a balance between preventive maintenance and corrective maintenance costs.

Figure 3. Total maintenance policy cost, PM, and CM cost.

Three different graphs of the total costs, preventive maintenance, and corrective maintenance.
Figure 3. Total maintenance policy cost, PM, and CM cost.

If the planning horizon has the length  T, then η is defined as the frequency of maintenance operations given by: (7) η=TE[T(δ)],(7) where . is the floor function and E[T(δ)] is the expected cycle length at the optimal maintenance time δ. For the j-th PM operation over the planning horizon,j=1,2,,η, the expected execution date, denoted by ϕj, is calculated as follows: (8) ϕj=δ+(j1)E[T(δ)](8) For the j-th PM operation, we obtain an expected date ϕj to perform it. We assume that the optimal cost of the maintenance policy remains unchanged when the date of a maintenance operation is shifted from δ to ϕj, thus we set Cj(ϕj)=C(δ).

We assume that the planning horizon T is discretized in a set of periods T={1,2,,|T|} and we assume that just one maintenance operation can be scheduled for one period t. Then, the length of each period t is T|T| and the curve of the total expected cost per unit time Cj(ϕj) is in Figure . This situation illustrates the case of 12 periods and 2 PM operations in the planning horizon for one customer.

Figure 4. Approach to the total expected cost per unit time function with |T| = 12 periods and η = 2.

Time horizon composed by 12 time periods with a frequency of two preventive maintenance operations.
Figure 4. Approach to the total expected cost per unit time function with |T| = 12 periods and η = 2.

The approximated curve represents the expected maintenance cost per unit time for one customer in a period t, denoted by φt. Given ϕt1 as the lower bound of time and ϕt as the upper bound of time for a period t, the cost φt is calculated by (9) φt=Ci(ϕt1)+Ci(ϕt)2, tT(9) The MM presented above is solved for each customer iVC, and to generalise this model for N customers an index i is added to all variables. To sum up, for each customer i we obtain the optimum time δi until the next maintenance operation, the expected maintenance cost per unit of time φit, and the number of expected operations (PM or CM) on the planning horizon ηi. These are inputs to the RM as described in the next section.

5. Routing model (RM) for PM operations scheduling in a multi-period environment

In this section, we formulate a mixed-integer program to determine the set of routes to be performed by a set of technicians who execute all PM and CM operations over the set of periods of the planning horizon. First, we introduce the mathematical formulation of the routing problem as a multi-period distance-constrained vehicle routing problem and probabilistic constraints. Then, we present a column generation approach to solve the deterministic case.

5.1. The mathematical formulation of the RM

We extended the CMR optimisation problem introduced by (López-Santana et al. Citation2016) in a multi-period environment defined by a set of periods  T. We consider a directed complete graph G=(V,A), where the vertex set V={0,1,2,,N} contains a central depot (vertex 0), and a subset of customers VC=V{0}, as well as the arc set A={(i,j):i,jV,ij} which represents the links between all pairs of vertices. The technician set is also defined by K={1,2,,m}. Non-negative weights τij are associated with each arc (i,j)A; representing the travel time of technicians from customer i to j. We assume that these times are given by the shortest-paths and therefore satisfy the triangle inequality. Furthermore, they are assumed to be symmetric (tij=tjiij). Each vertex iVC has a duration of the PM operation TPM and the CM operation TCM. These features are the same for any period t in the planning horizon.

From the MM, for each customer i we have the number of maintenance operations (ηi) over the planning horizon and the expected maintenance cost per unit of time in a period t(φit). We define a set of visits in a pattern Ri that represents the combinations of visit periods for each customer i. For instance, in a set of three periods, the visit pattern r1={1,1,1} consists of visiting the customer during all periods and another pattern r2={1,0,1} consists of visiting the customer in the periods one and three. Thus, we define βirt as a parameter that is 1 if a period t belongs to visit combination rRi of customer i, and 0 otherwise, and φir is the expected maintenance cost for a customer i and a visit pattern rRi which is computed by (10) φir=tTφitβirt.(10) Moreover, we define an auxiliary set of maintenance operations for customer i as νi={oi1,oi2,..,oiηi}; we further assume |νi|1, which means that at least one PM operation is scheduled over the planning horizon. In addition, we define a set of all maintenance operations VM=i=1Nνi={1,2,,n}, where n=i=1Nηi is the total number of maintenance operations.

Then, the routing problem is defined on the auxiliary directed graph G=(V,A), with V=VC{0,N+1} and A={(0,i):iVC}{(i,N+1):iVC}{(i,j):i,jVC,ij}. The nodes 0 and N+1 represent the depot. We assume a zero-service time at the depot, that is TPM0=TPMn+1=0 and TCM0=TCMn+1=0. To build the mathematical formulation, two additional sets are defined: Δ+(i) called the forward star of vertex i, defined as the set of vertices j such that arc (i,j)A, i.e. the vertices that are directly reachable from i (also called successors of i). Analogously, Δ(i) denotes the backward star of vertex i, defined as the set of vertices j such that arc (j,i)A, i.e. the vertices from which i is directly reachable (predecessors of i).

The RM consists of designing a set of routes for each technician such that:

  • Each maintenance operation is performed a maximum of one for each period,

  • The number of maintenance operations must be greater than or equal to ηi over the planning horizon

  • Every route originates at vertex 0 and ends at vertex N+1 or each period,

We formulate the RM as Multi-period and Distance-Constrained Vehicle Routing Problem (MPDCVRP). We use binary variables xijkt that takes the value of 1 only if the technician kK on period tT traverses the arc (i,j)A, where ij; and take the value of 0, otherwise. Another binary variable is yirk that takes the value of 1 only if customer iVC is visited by technician kK on pattern rRi; and take the value of 0, otherwise. The variables sikt is the start time of maintenance operation on customer iVC when performed by technician kK on a period tT.

Finally, The RM can then be stated mathematically as follows: (11) Min tTkK(i,j)Acijxijkt+kKrRiiVCφiryirk(11) s.t., (12) kKrRiyirk=1 iVC(12) (13) tTkKrRiβirtyirkηi iVC(13) (14) kKjΔ+(i)xijkt=kKrRiβirtyirk iVC,tT(14) (15) jΔ(i)xjiktjΔ+(i)xijkt=0 iVC,kK,tT(15) (16) jΔ+(0)x0jkt=1 kK,tT(16) (17) jΔ(n+1)xj,N+1,kt=1 kK,tT(17) (18) sikt+TPMi(1Fi(δi))+TCMiFi(δi)+τijM(1xijkt)sjkt (i,j)A,kK,tT(18) (19) xijkt{0,1} (i,j)A,kK,tT(19) (20) yirk{0,1} iVC,rRi,kK(20)

The objective function (11) minimises the total routing and maintenance policy cost. The first term in the objective function is the total routing costs that consider the visiting cost of all customers in the paths. The second term consists of the total maintenance policy cost of all PM operations scheduled. Constraints (12) ensure that each customer i is assigned to exactly once visit pattern set over the planning horizon. The visiting pattern set Ri determines in which periods the technician must be to perform a PM or CM operation in the customer i. The set of constraints in Equation (13) states that for each customer i that the number of maintenance operation scheduled over the planning horizon is greater than or equal to ηi. The set of constraints (14) links the route variables xijkt with the visit pattern yirk to build a feasible route for the technicians over the planning horizon. The set of constraints (15) ensures that after a technician arrives at the vertex i it must leave to another destination. The set of constraints (16) and (17) indicate that each technician must leave the depot (node 0) and must arrive at the depot (node N+1) for each period t. Note that an unused technician visit is modelled by using the “empty” route (0,N+1) with τ0,N+1=0. The set of constraints (18) establishes the relationship between the technician’s departure time from a customer and its immediate successor where M is a large number. If one route includes visit customer i and j, the time include the duration of maintenance operation of customer i plus travel time between customers i and j. According with (López-Santana et al. Citation2016) the duration of a maintenance operation could be a PM or a CM operation, this duration is an expected time dependent on the probability of failure in the last cycle. To approximate this time, we use the probability of a failure in the interval [0,δi] and the expected cycle length as (4). Finally, the set of constraints (19) and (20) impose binary conditions on the flow and visit pattern variables, respectively.

The RM formulation is a deterministic linear combinatorial optimisation problem and it is very hard to solve due to the combination of a DCVRPTW problem which is difficult to solve for larger instances (Kek, Cheu, and Meng Citation2008; López-Santana et al. Citation2016), and the set of visit patterns Ri that is too large to consider (Francis, Smilowitz, and Tzur Citation2008; Rodriguez, Correa, and López-Santana Citation2015). Thus, we consider a decomposition approach based on a set-covering formulation for the RM and column generation method to find the routes and the visit pattern to scheduling the maintenance operation.

5.2. Decomposition approach to RM

The column generation method is an efficient algorithm for solving larger linear programs (Nemhauser Citation2012). The main idea of this method consists of exploiting the structure of the problem and only considering a subset of variables (columns) to solve an optimisation problem.

The proposed method solves iteratively two problems: the master problem (MP) and the subproblem (sP). The MP is the original problem with a small subset of variables as the initial solution, it is called the restricted master problem (RMP). With the RMP’s solution and its shadow prices (or dual variables), the sP is created. The sP consists of a new problem created to identify a new attractive variable to add to the RMP. The new variable (column) is added to the RMP if it could improve the RMP’s objective function, i.e. the objective function of the sP is the reduced cost of a new variable concerning the RMP’s shadow prices, and the constraints ensure a feasible solution. Then, the RMP is re-solved again, and the process continues iteratively to the sP returns a solution (column) that does not improve the RMP’s objective function. Hence, it can be concluded that the solution to the MP is optimal. Column generation has also been applied to integer problems. For this, we use the linear relaxation of the restricted master problem (RMP).

The applications in routing problems of the decomposition have successfully been applied in VRPTW and periodic VRP (Choi and Tcha Citation2007; Grigoriev, Van de Klundert, and Spieksma Citation2006; López-Santana, Romero Carvajal, and de Citation2015; Toth and Vigo Citation2002).

Our approach consists of a Restricted Master Problem (RMP) for the RM formulated as a set-covering problem. We start with a feasible initial solution and solve the linear relaxation of RMP and obtain the shadow prices of each constraint. Then we solve two independent subproblems: a route generator and visit patterns generator. The first subproblem consists of a route generator that is formulated as an Elementary Shortest Path Problem (ESPP) for each period tT. The second subproblem is a visit patterns generator for each customer that finds the best allocation of maintenance operations over the planning horizon. The new routes and visit patterns are added into the RMP and re-solved again. This is an iterative process where the stopping criterion can be the lack of improvement in the RMP’s objective function or when the iterative process reaches a maximum allowed run time. Figure  illustrates our proposed approach.

Figure 5. Column generation approach to solve the RM.

Squares describing the column generation approach with two subproblems Route generator and Visit-patterns generator and the Master Problem.
Figure 5. Column generation approach to solve the RM.

5.2.1. The master problem (MP)

P is defined as the set of all feasible routes, where a feasible route starts and ends at the depot (Toth and Vigo Citation2002). Appendix A describes the way to transform the RM to a set-covering formulation to obtain the master problem.

The resulting model given here is the classical set partitioning formulation: (21) MintTpPcptzpt+rRiiVMφiryir(21) Subject to, (22) rRiyir=1 iVMdual variables[ω](22) (23) pPαiptzptrRiβirtyir=0 iVM,tT dual variables[πit](23) (24) pPzpt=mtT dual variables[σ](24) (25) zpt{0,1} pP,tT(25) (26) yir{0,1} iVM,rRi(26)

We want to derive a good lower bound for the integer RMP by solving its LP relaxation. Therefore conditions (25) and (26) are replaced by zpt0 and yir0, which yields the (linear) master problem (RMP). If Ri is known and a finite set, this LP cannot be solved directly, due to the large number of variables (columns) corresponding to routes. Instead, we restrict ourselves to a small number of initial columns PP. The corresponding LP is referred to as restricted master problem (RMP). Additional columns (routes) that can improve the current LP solution are generated by iteratively solving the so-called pricing subproblem. This is called the route set subproblem.

Likewise, if P is known and a finite set, this LP cannot be solved directly, due to the large number of variables (columns) corresponding to patterns. We restrict the set to a small number of initial columns RR. The corresponding LP is referred to as the restricted master problem (RMP). Another pricing subproblem consists in determining a set of Ri for each machine i, this is named the pattern visit set subproblem.

5.2.2. The route set subproblem

The pricing subproblem resembles the shortest-path problem (SPP) (Desaulniers, Desrosiers, and Solomon Citation2005). Regarding the quality of the theoretically obtainable lower bound it is beneficial to restrict the search to elementary paths, hence only the elementary SPP (ESPP) is considered. Unfortunately, this condition renders the problem NP-hard. We further assume a homogeneous set of technicians. The reduced cost of route p in a period t is given by: (27) cpt~=cpt[ω|πit|σ]T[0aipt1t]=(i,j)Acij xijt(i,j)Aπitxijtσt=(i,j)A(cijπit)xijtσt(27) where, πit are dual variables associated with the set constraints (23), and σ are dual variables associates with set constraints (24). Following the ESPP pricing subproblem holds for each period tT and is solved,

  • (28) minpcpt~=(i,j)A(cijπit)xijtσt(28)

Subject to, (29) jΔ(i)xjitjΔ+(i)xijt=0 iVM(29) (30) jΔ+(0)x0jt=1(30) (31) jΔ(n+1)xj,n+1t=1(31) (32) sit+TPMi(1Fi(δi))+TCMiFi(δi)+tijM(1xijt)sjt(i,j)A(32) (33) xijt{0,1} (i,j)A(33)

The constraints (29–31), are flow constraints that result in a path from vertex v0 to the vertex vn+1 (both represents the depot). The constraint (32) are time constraints to determine the feasible path. The constraints (33) are the binary variables.

5.2.3. The pattern visits set subproblem

The problem consists of getting a new pattern of visits to the master problem, such that it enters the basis of the master problem. If φit is the stopping cost at vertex iVC on period tT, then the stopping cost at vertex iVC when is served by pattern rRi is given by: (34) φir=tTφitβirt(34) where βirt is 1 if the machine i is visited on period t by pattern r, 0 in otherwise. The reduced cost of pattern r is given by: (35) φir~=φir[ω|πit|σ][1iβirt0]=tTφitβirtωi+tTπitβirt=tT(φit+πit)βirtωi(35) where, ω are dual variables associated with set constraints (22), and πit are dual variables associated with the set of constraints (23). Finally, we want to find a pattern r with minimum reduced cost, so that it complies with the minimum and maximum visit frequency constraints. The model is formulated as: (36) minrφir~=tT(φit+πit)βirtωi(36) Subject to, (37) t{1,,Tk}βirt1kk{1,,ηi1}(37) (38) tTβirt1ηi(38) (39) βirt{0,1}tT(39)

The constraints (37) ensure that the maintenance cost of a pattern is according to the frequency of maintenance operations. For example, for a customer i the frequency of maintenance operations is 3 and the planning horizon is 5 periods, we determine T1=2 and T2=4 as the latest period to perform the first and second operations, and we state two constraints: βir1+βir21 and βir1+βir2+βir3+βir42. This, Tk is defined as the latest period to perform the kth maintenance operations, where k{1,,ηi1}. The constraint (38) ensures the minimum frequency of maintenance operations over the planning horizon. The constraints (39) impose the binary conditions on variables βirt.

6. Benchmark

To illustrate the relevance of integrating the routes set and the pattern visits set subproblems in the decomposition approach, within the maintenance optimisation problem, we developed two additional methods to generate the pattern visit set. The first one consists of an allocation model that determines the period when the maintenance operation must be performed according to the frequency of maintenance. The second one is a simple procedure referred to based on periodic planning over the planning horizon.

The allocation model uses as input the number of maintenance operations (ηi) for each customer iVC and the expected maintenance cost per unit of time in a period t(φit). The decision variables determine the set of visits pattern Ri and we define βit as binary variable as 1 if a period t belongs to visit combination of customer i, and 0 otherwise. Then, the model could be stated mathematically as follows: (40) Min iVCtTφitβit(40) s.t., (41) t{1,,Tk}βitk iVC,k{1,,ηi1}(41) (42) tTβitηi iVC(42) (43) βit{0,1} iVC,tT(43)

The objective function (40) minimises the total expected maintenance policy cost in the planning horizon. The constraints (41) ensure that the maintenance cost of a pattern is according to the frequency of maintenance operations, i.e. the variable βit take values according to the time to perform de operations in the planning horizon. The set of constraints (42) states for each customer i that the number of operations scheduled over the planning horizon is greater than or equal to ηi. Finally, the set of constraints (43) impose binary conditions on the visit pattern variables βit.

The second benchmark method consists in generating feasible pattern visit periods according to the frequency of the maintenance operations in the planning horizon for each customer. The process determines a visit pattern set according to a periodic visit set with the same lag between visits. First, we determine the first period to start with a visit as discrete uniform distribution t1 = U(0,|T|ηi), and the lag ωi=|T|t1ηi. Then, the periods when the customer is visited are tk=tk1+ωi for k=2,..,ηi.

Finally, Algorithm 1 provides the pseudo-code of our benchmark procedure to generate the pattern visit sets Ri.

The benchmark procedure finds a pattern visit set used to solve the routing model with the proposed method based on column generation. We do not propose a benchmark to find a routing solution for the problem given the results of (López-Santana et al. Citation2016) where the authors proof that the combined maintenance and routing model get better results compared with a benchmark based on the intuition of maintenance planners. In addition, given the number of customers solving the VRPTW problem is hard, and column generation helps to reduce its complexity.

7. Numerical results

In this section, we report the computational results of the CMR model against those obtained with the benchmark procedure on randomly generated instances. All tests in this work were run using Java 8 and Xpress-MP 8.11 on a Windows 10 64-bit machine, with an Intel 7 1075H processor (2 × 2.8 GHz) and 16 GB of RAM. For the MM we use the Java Statistical Classes (JSC) library (available at http://www.jsc.nildram.co.uk).

7.1. Test instances

According to (López-Santana et al. Citation2016), we adapted some of the VRP instances proposed by (Solomon Citation1987) adding for each customer, the PM cost (CPM), CM cost (CCM), waiting cost per unit time (Cw), PM mean time (TPM), CM mean time (TCM), and the probability density function of the time between failures (f(t)). These instances have 25, 50, and 100 customers, either randomly distributed in a 100 × 100 square or in clusters. For our instances, we chose the first N customers of Solomon’s instances.

To generate the random information, we used the continuous uniform distribution UC and the discrete uniform distribution UD. For each customer iVC, the parameters were generated as follows:

  • CPMiUC[100,200],

  • CCMi UC[400,800],

  • Cwi UC[10,20],

  • TPMiUC[5,10],

  • TCMiUC[15,30],

  • fi(t)UD[Weibull, normal],

If fi(t) is Weibull then:

  • o scale parameter t0iUC[2,5],

  • o shape parameter [2.0,2.5,3.0,3.5].

If fi(t) is normal then:

  • o mean μt0iUC[3,4],

  • o standard deviation:μ/UC[9,12],

where t0i is the travel time from the depot (denoted by 0) to customer i. We use the Euclidean distances with a unitary speed, then the travel time tij between any pair of vertices (i,j) is calculated as (xixj)2+(yiyj)2, where the points (xi,yi) and (xj,yj) are the locations of customers i and j in the Cartesian plane. All parameters are rounded to integer values.

7.2. Description of the results

To better understand of what a solution means, we will describe the result over a single instance in detail. The analysed instance is comprised of composed by 5 time periods and 20 customers. The detailed results are presented as follows:

To solve the proposed model, the computational time is 6.834 s (that includes the iterations and the mathematical model) with 45 iterations and 219 paths, and 244 patterns generated. 45 iterations were obtained for the instance under analysis where the first iterations correspond to the first phase of the method until it reaches a feasible solution (therefore the first iterations correspond to unfeasible values). The improvement obtained between the initial feasible solution and the best solution found is approximately 38% where the final solution is composed by the routing cost (54.86% approximately) and the maintenance cost (45.64%).

In terms of the number of paths and patterns generated, the algorithm reached 219 and 244 respectively, with different combinations of costs. There are some routes where the number of customers to be visited is 0 (therefore their costs are 0) and the number of this type of generated routes is approximately 6.5% of the total. On the other hand, the number of customers per route varies between 1 (the minimum) and 4 (the maximum), where the percentage of routes generated with 1, 2, 3, and 4 are 7.5%, 24.1%, 41.2%, and 20.6% respectively. It is natural to conclude that increasing the number of customers per route generates higher costs compared with those that include a smaller number of customers.

In a similar analysis, in Figure  is contrasted the optimal result of the frequency of maintenance visits is contrasted with the number of times each customer appears in a route generated by the proposed method. The customers who appear more in the routes are customers 1, 12, and 13 whose optimal solution (in terms of frequency) is 3, 4, and 5 respectively. On the other hand, the customer with a lower number of times in a route is customer number 8 who has a frequency of 1. In the best solution found, the frequencies generated vary between 1 and 5 and the percentages obtained are 35%, 30%, 20%, 10%, and 5% respectively.

Figure 6. Number of times that each customer is considered in a route and the optimal maintenance frequency.

Bar and dot graph contrasting the frequency and number of times in a route.
Figure 6. Number of times that each customer is considered in a route and the optimal maintenance frequency.

Finally, the expected waiting time before the beginning of the corrective maintenance operation is presented in Figure  where for each customer, the solution of the variable w is detailed. It can be analysed that higher waiting times are obtained for customers 4, 7, 15, and 17 and lower waiting time values are obtained for customers 14, 16, and 19.

Figure 7. Expected waiting time before CM.

bar graph of the expected waiting times.
Figure 7. Expected waiting time before CM.

On the other hand, to analyse the impact of a higher instance over the performance of the model, we contrast the results of the previous instance analysed and a bigger one with similar characteristics, but we consider 10 periods of time. Summarising the results obtained, in terms of computational time, the time required for the bigger instance is 10.943 s (which is still a small and reasonable value), the number of iterations increases to 51, and the paths and the patterns to 420 and 712 respectively. In Figure  it can be compared the final solution obtained by analysing the period when each customer is visited.

Figure 8. Timer period where each customer is visited (left: 5 time periods, right: 10 time periods).

Two dot graphs contrasting the period when a customer is visited with two different time periods.
Figure 8. Timer period where each customer is visited (left: 5 time periods, right: 10 time periods).

It can be concluded that the frequency for each customer does not change given that the extension of the time periods with the same number of customers can be understood as an extension of a day (increasing for example the number of shifts in a day, therefore 5 days with 1 shift is extended to 5 days with two shifts).

To analyse the robustness of our proposed method, we have generated simulated data to test the solution over the results of an instance. For the instance with five periods and 20 customers, we have obtained the solution of each customer including their frequency and the arrival time to perform the planned maintenance operation (CM or PM). Figure  shows the example of one customer with a frequency of two maintenance operations.

Figure 9. Example of a replication of event simulation of one customer with 5 times periods and a frequency of 2 maintenance operations.

Figure 9. Example of a replication of event simulation of one customer with 5 times periods and a frequency of 2 maintenance operations.

From Figure  we can analyse different elements. The planning visits are in periods two and four in the planning horizon. Given a MP-CMR solution, a technician arrives at times s1 and s2. For this replication, the machine does not fail before the time s1, thus the technician performs a PM operation with a time TPM. The maintenance cost incurred at this time is just preventive cost, and it is computed as CPMs1+TPM. After the time s1+TPM, the machine is working and fails in a time A1, then the machine must be waiting for the technician arrives to perform a CM operation with a time TCM. For this second visit, the cost is corrective maintenance cost plus waiting time cost and it is computed as CCM+wCw(s2+TCM(s1+TPM). The total cost is the sum of the two costs computed.

We built an event simulation model to analyse the performance of each customer and its results (frequency and times where the operations to be performed are planned). We generated random data for the time to failure according to the probability density function for each customer and follow the explanation presented in Figure  where we run 10 replications for each customer. The pseudocode of the simulation is presented in Algorithm 2. We use as input the visit pattern set denoted by βit, the frequency of maintenance operations denoted by ηi, and the maintenance execution date denoted by sk for k=1,,ηi, for each customer iVc. These parameters are the solution of the MP-CMR model. Then, the first step of the simulation is focused on generating random times of failures fik for each customer i and the k-th maintenance operation according to k=1,2,..,ηi. And we determine for each customer i of the times period of each visit Pik. After, the second step consists of contrasting the time visit Pik with the time of failure TFik to determine if there is a PM or CM to calculate the anticipation time ATik or the waiting time WTik respectively. For each iteration, we updated the time of renewal TRik that consist in the time after a PM or CM maintenance operations. In addition, we compute the total average maintenance cost (AVGCost(i)) for each customer i adding the preventive or corrective maintenance costs according to the operation executed.

The summary of results is presented in Table . The results present for each customer the average number of PM and CM performed, their corresponding percentages given the frequency, the average of anticipation and waiting times, and finally the maintenance cost over the simulated data, the maintenance cost from the MP-CMR model, and the gap between these two costs. It can be concluded that in seven instances 100% of operations performed corresponds to PM meaning that the customers dońt have to wait because of any CM. Also, it can be concluded that on average the percentage of CM operations performed is 6.6%, thus most operations performed corresponds to PM operations given that the objective function creates a balance between the costs of CM, PM, and waiting times. On the other hand, from the second part of the results, it can be concluded that the average anticipation times are greater than the waiting times given in the first part of the results where for 7 instances the results show that customers must not wait in any scenario, meaning that only PM was performed, for the rest of customers the average waiting times are small compared with the anticipation times which is a good factor for keeping continuously the operation. Finally, it can be concluded that on average the model proposed can achieve a reduction of 11.32% over the MP-CMR costs. From the results of these simulations, for five customers we obtained a positive gap, which means an increment of the simulation cost concerning MP-CMR cost. Given the simulation, in some replications, we get only PM or only CM maintenance or combined PM and CM gave the randomness in the data, thus the cost varies with respect to the MP-CMR, however, for most customers the cost is reduced.

It can be concluded that our proposed method is robust to planning the maintenance operation given the objective function of the maintenance model aims to reduce the failure probability and thus the CM operations and waiting times in case a failure happened before a maintenance operation is performed.

Table 2. Summary of results from event simulation model for each customer i.

7.3. Computational performance

Once we have detailed a solution of a specific problem, now we will describe the experimentation performed that allows us to analyse different instances and the performance of the proposed method. Thus, the experimentation performed is composed by 5 technicians who perform the maintenance operations, the number of periods analysed are 5, 10, and 20 and the number of customers is from 10 in steps of 10 until an infeasibility is reached, this infeasibility is because of the number of technicians. These results are detailed in Table  which contains the number of customers, the objective function found split into the routing and maintenance costs and their percentage, followed by the computational time in seconds. Finally, the number of paths, the number of patterns, and the number of iterations required are detailed in the three last columns.

Table 3. Results with 5, 10, and 20 time periods.

From Table  only one instance can be solved given the short time periods (5) and the number of technicians available. In terms of computational time, the instance can be solved in around 5 s. In terms of the percentage of the objective function, results show that the major portion of the costs is in the routing costs compared with the maintenance costs. On the other hand, the number of patterns generated is greater that the number of paths.

From the second part of Table  (10 customers), the number of solvable instances increases to 60. The percentages related to routing and maintenance costs are balanced, which means that they are almost 50% each one. In terms of the computational time between the first two instances, there are not big differences given that the models are solved in less than one minute. Nevertheless, from the instance of 40 customers, the times increase exponentially but is still a reasonable computational time given that times were less than 3 min. Compared with the instances of 5 time periods, the number of paths, patterns and iterations increases (reflected also in the computational time), where the number of patterns generated is around twice the number of paths.

Finally, in the third part of Table , results with 20 time periods are presented when an additional instance can be solved (70 customers) where the balance (in terms of proportion) between the routing and maintenance costs is kept. The computational times increase but it is still reasonable given the complexity of the model (the max time used is less than 18 min). The number of patterns is still around twice the number of paths which is related to the number of iterations that also increases.

On the other hand, in Table  we present the results of the contrast between the proposed method and benchmark. To show the comparison we have split the results in five columns, the first one corresponds to the objective function where the routing and the maintenance costs are presented in columns two and three respectively. In the fourth column, the CPU time in seconds is presented and the number of paths and the number of iterations is presented in columns five and six respectively. To analyse the experiments, we have fixed the time periods in 5, 10, and 20, and the number of customers varies from 20 to 70 in steps of 10.

Table 4. Results of Multi-Period Combined Maintenance and Routing model (MP-CMR) and benchmark procedure.

From Table  it can be concluded that the proposed method outperforms the objective function of the whole instances compared to the benchmark where the greatest improvement is related to the routing costs nevertheless there are some instances that the maintenance costs cańt be improved. Given the instances used, it seems that according to the number of customers and the time periods increases, the percentage of improvement of the total costs also increases. In terms of the computational time, the proposed method requires more computational time in seconds but in two instances the amount of computational time is lower compared to the benchmark.

About the waiting times, the behaviour shows that they are not influenced by the period’s length or the frequency of the maintenance operations. Figure (a) presents the average of the waiting time for each customer for the planning horizon of 5, 10, and 20 periods and the number of operations performed for 20 customers, where the value of waiting time varies without influence of the customer, periods length or frequency of the maintenance operations. The results evidence the independently behaviour of these parameters or the routing decision in our solution approach. In terms of the paths generated, the proposed method generates a smaller number of paths and requires less iterations compared to the benchmark proposed.

Figure 10. The average of waiting time for T = 5, 10, and 20 periods with (a) 20 customers, (b) 30 customers, and (c) 40 customers.

Three-line graphs and one dot graph presenting the cumulative waiting times and the frequency of visits respectively for 20, 30, and 40 customers.
Figure 10. The average of waiting time for T = 5, 10, and 20 periods with (a) 20 customers, (b) 30 customers, and (c) 40 customers.

In addition, Figure (b) shows the results of waiting times in the case of 30 customers where the same behaviour of 20 customers is found. The frequency or the period’s length is not influenced by the waiting time. The results are similar for the case of 40 customers in Figure (c) for 5 and 10 periods.

7.4. Illustrative case study

To illustrate our proposed approach, we applied an example based on a real-world scenario presented (López-Santana et al. Citation2016). The problem concerns daily operations in an upstream oil and gas company that involves managing a network of interconnected pumping stations that are geographically distributed over a region and subject to unforeseen failures that result in downtime. We assume that the failures are stochastic, and the company has a maintenance department that serves multiple plants (with several pumping stations) scattered over a wide geographical area that covers several towns. The maintenance department performs a variety of activities, including analysis of demand, staff availability, travel times, and maintenance strategies. The department hires technicians with specific skills, for example electrical, mechanical, or instrumentation, with limited working hours per day. They are willing to travel to conduct the maintenance operations.

According with (López-Santana et al. Citation2016), we consider a set of ten plants geographically distributed, each with a single pumping station. Table  shows the travel time between pumping stations and the parameters of the maintenance model for each plant i. There are six technicians with a single set of skills to attend all PM and CM operations. In the real-world case, there is not a central depot for the technicians; indeed, the technicians are located in nodes 1, 2, and 3. We create an artificial depot (denoted by 0) and consider the travel time to nodes 1, 2, and 3 to be zero, and the travel time from the depot to all the other nodes as the maximum travel time among nodes 1, 2, and 3 to the destination node. The parameters of the MM are presented in the next columns of Table .

Table 5. Travel time (hours) between pumping stations and maintenance parameters for each plant i.

For planning the operations, we assume eight working hours per day and seven days per week, since the production in the oil and gas industry is uninterrupted. To compare the effect on the schedule of maintenance operations with different horizons, we run two scenarios with one week (7 days) and two weeks (14 days) as the planning horizon.

Table  presents the results of the case study with two planning horizons with T=7 and T=14 periods corresponding to one week and two weeks respectively. The objective function provided by the MP-CMR model is less than the value achieved with the benchmark model. The reduction was 37% and 48% for 7 and 14 periods, respectively. In addition, the routing and maintenance have similar behaviour, with fewer values provided by the MP-CMR approach and reductions. Regarding the CPU times, the MP-CMR approach takes more time because it solves the decomposition with two subproblems while the benchmark approach executes just one subproblem. Given the maintenance model is equal for the two models, the frequency of maintenance operations is equal, however, the number of paths and patterns generated by the MP-CMR model is greater than the generated by the benchmark model. Finally, the number of iterations for the case of 7 periods was less by the MP-CMR model against the results of 14 periods, where the iterations increased.

Table 6. Results of Multi-Period Combined Maintenance and Routing model (MP-CMR) and benchmark model on case study with T=7 and T=14.

Table  shows the detailed results of the case study with two planning horizons with T=7 and T=14 periods. We compute the average of maintenance cost for each plant as the total maintenance cost of the plant divided into its frequency of maintenance operations. For the scenario with 7 periods, the average of maintenance cost provided with the MP-CMR model is less than or equal to the value obtained with the benchmark approach for all stations. In the case of 14 periods, the performance was similar for all stations except station 8 with an increment of 2%. Moreover, the frequency of maintenance operations increases from 14 operations in one week to 34 operations in 2 weeks. However, the total average maintenance cost decreased from 135.68 units to 131.57 units. These results suggest that the maintenance planning in general reach a better level despite for some stations the cost increased. Finally, the results are similar to those obtained by (López-Santana et al. Citation2016), where with a longer planning horizon, the MP-CMR model is still able to achieve low costs better than the benchmark procedure, which lacks the prescriptive power of generate visit patterns.

Table 7. Average of maintenance cost of multi-Period Combined Maintenance and Routing model (MP-CMR) and benchmark model on case study with T=7 and T=14 for each plant i.

In summary, the results show that the MP-CMR model gets better results compared with the benchmark model for planning maintenance operations. More importantly, the total, routing, and maintenance costs are better for MP-CMR than the benchmark procedure. The CPU time was increased in the MP-CMR model compared to the benchmark, however, both approaches take less than 6 s. For larger instances, the CPU time could be increased, and it is necessary to evaluate the trade-off between the improvement in the costs versus the computational effort.

8. Conclusions and future work

This work presents a combined multi-period maintenance and routing problem for a set of geographically distributed machines subject to non-deterministic failures. The proposed model is solved through an iterative model based on column generation decomposition where the subproblems generate the paths (or routes) and the visit patterns iteratively. The problem consists of determining a joint routing-maintenance policy for all machines aiming to minimise the routing cost and the total expected maintenance cost composed of preventive and corrective maintenance. We have extended previous work-related by adding the times period in the mathematical model and modifying the connection between the subproblems and we propose an optimisation framework that can be used for solving several classes of maintenance problems.

The experimentation performed allows us to analyse the behaviour of the iterative algorithm contrasting the impact of increasing the number of time periods and the number of customers. Of course, when an instance increases the size the computation time also increases, but in terms of solvability, the number of instances that can be solved is higher.

From the point of view of managerial insights in the industry, our approach led to decision makers to automatise the decisions of maintenance planning and the crew scheduling process involved in a smarter way which contemplates the overall complexity of the process and the uncertainty associated which can avoid being reactive to different events (such as failures) into preventive actions while minimising the overall costs.

From the theoretical point of view, our work can be extended in several directions. First, operators can have specific operations (heterogeneous) splitting the decisions of PM and CM, thus increasing the complexity of decision-making but making the model more adaptable to the reality of the operations. Second, a deterioration factor can be included to analyse the life cycle of machines and the impact on maintenance planning and scheduling. Finally, an indicator of importance given to the CM and the PM can be used to analyse the behaviour of the operation.

In addition, some real-world applications could be explored as future works. In the maintenance planning problem of security services, for example, most of the banks outsource the maintenance of security devices (e.g. video cameras or sensors) in automated teller machines (ATM), where these devices could fail due to damage or vandalism, and then a maintenance operation must be performed to restore them. From the routing point of view, the ATMs are geographically distributed, and the repairmen must travel to perform the maintenance operations in a planning horizon (for instance a week or a month). Likewise, from the maintenance point of view, the failure behaviour could be modelled using a stochastic process to determine the date to planning preventive maintenance operations. Thus, our MP-CMR approach could be applied to obtain maintenance planning for the ATM. Another real-world application arises naturally in utility services, where the service sites are geographically distributed and subjected to unforeseen failures, and the personnel or machinery involved in the maintenance process is a limiting factor. For both areas, because of the prohibitive costs of stopping the operation, the companies need to ensure the highest service levels with appropriate maintenance planning processes.

Acknowledgements

We thank Fair Isaac Corporation (FICO) for providing us with Xpress-MP licenses under the Academic Partner Program subscribed with Universidad Distrital Francisco José de Caldas and Universidad del Rosario. Third author (Carlos Franco) would like to express gratitude to Universidad del Rosario for providing the required funding and support during the research process.

Disclosure statement

No potential conflict of interest was reported by the authors.

Data availability statement

Raw data were generated at ARCOSES Research Group. Derived data supporting the findings of this study are available from the corresponding author ELS on request.

Additional information

Notes on contributors

Eduyn López-Santana

Eduyn López-Santana is assistant professor of Industrial Engineering Department at Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. His research interests include the development and application of optimisation techniques and expert systems to scheduling and engineering design. He is also a member and faculty advisor of student chapter of the Institute of Industrial and Systems Engineers (IISE), and the Colombian Operations Research Association (ASOCIO – Asociación Colombiana de Investigación Operativa).

Germán Méndez

Germán Méndez is professor of operations research of Industrial Engineering Department at Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. His publication list includes around 50 publications, including papers in international academic journals and leading textbooks in Operations Management, Scheduling, Simulation and System Dynamics. His main research interests and results span knowledge-based and expert system to making decision in operations management, mathematical models applied to social and enterprises environments.

Carlos Franco

Carlos Franco is Associate professor at School of Business and Management of Universidad del Rosario, Bogotá, Colombia. His research focuses on the development of mathematical approaches applied to health care logistics and supply chain management.

References

  • Ade, C., D. Ouelhadj, D. Jones, M. Stålhane, and I. Bakken. 2017. “Optimisation of Maintenance Routing and Scheduling for Offshore Wind Farms.” European Journal of Operational Research 256 (1): 76–89. doi:10.1016/j.ejor.2016.05.059.
  • Adjoul, O., K. Benfriha, C. El Zant, and A. Aoussat. 2021. “Algorithmic Strategy for Simultaneous Optimization of Design and Maintenance of Multi-Component Industrial Systems.” Reliability Engineering and System Safety 208: 107364. doi:10.1016/j.ress.2020.107364.
  • Ahmed, M. Ben, F. Zeghal Mansour, and M. Haouari. 2018. “Robust Integrated Maintenance Aircraft Routing and Crew Pairing.”. doi:10.1016/j.jairtraman.2018.07.007.
  • Briš, R., P. Byczanski, R. Goňo, and S. Rusek. 2017. “Discrete Maintenance Optimization of Complex Multi-Component Systems.” Reliability Engineering & System Safety 168: 80–89. doi:10.1016/j.ress.2017.04.008.
  • Choi, E., and D. W. Tcha. 2007. “A Column Generation Approach to the Heterogeneous Fleet Vehicle Routing Problem.” Computers and Operations Research 34 (7): 2080–2095. doi:10.1016/j.cor.2005.08.002.
  • Desaulniers, G., J. Desrosiers, and M. M. Solomon. 2005. Column Generation, edited by G. Desaulniers, J. Desrosiers, and M. M. Solomon. Yu: Springer US. doi:10.1007/b135457.
  • Elsido, C., E. Martelli, and I. E. Grossmann. 2021. “Multiperiod Optimization of Heat Exchanger Networks with Integrated Thermodynamic Cycles and Thermal Storages.” Computers & Chemical Engineering 149: 107293. doi:10.1016/j.compchemeng.2021.107293.
  • Eltoukhy, A. E. E., Z. X. Wang, F. T. S. Chan, and S. H. Chung. 2018. “Joint Optimization Using a Leader–Follower Stackelberg Game for Coordinated Configuration of Stochastic Operational Aircraft Maintenance Routing and Maintenance Staffing.” Computers & Industrial Engineering 125: 46–68. doi:10.1016/j.cie.2018.08.012
  • Eltoukhy, A. E. E., Z. X. Wang, F. T. S. Chan, and X. Fu. 2019. “Data Analytics in Managing Aircraft Routing and Maintenance Staffing with Price Competition by a Stackelberg-Nash Game Model.” Transportation Research Part E: Logistics and Transportation Review 122: 143–168. doi:10.1016/j.tre.2018.12.002.
  • Faddoul, R., W. Raphael, and A. Chateauneuf. 2018. “Maintenance Optimization of Series Systems Subject to Reliability Constraints.” Reliability Engineering and System Safety 180: 179–188. doi:10.1016/j.ress.2018.07.016
  • Fontecha, J. E., O. O. Guaje, D. Duque, R. Akhavan-Tabatabaei, J. P. Rodríguez, and A. L. Medaglia. 2020. “Combined Maintenance and Routing Optimization for Large-Scale Sewage Cleaning.” Annals of Operations Research 286 (1–2): 441–474. doi:10.1007/s10479-019-03342-8.
  • Foong, W. K., A. R. Simpson, H. R. Maier, and S. Stolp. 2008. “Ant Colony Optimization for Power Plant Maintenance Scheduling Optimization—A Five-Station Hydropower System.” Annals of Operations Research 159 (1): 433–450. doi:10.1007/s10479-007-0277-y.
  • Francis, P. M., K. R. Smilowitz, and M. Tzur. 2008. “The Period Vehicle Routing Problem and its Extensions.” In The Vehicle Routing Problem (Vol. 43), edited by B. Golden, S. Raghavan, and E. Wasil, 73–102. Springer US. doi:10.1007/978-0-387-77778-8_4.
  • Gopalakrishnan, M., M. Subramaniyan, and A. Skoogh. 2020. “Data-driven Machine Criticality Assessment-Maintenance Decision Support for Increased Productivity.” Production Planning & Control The Management of Operations, 1–19. doi:10.1080/09537287.2020.1817601.
  • Grigoriev, A., J. Van de Klundert, and F. C. R. Spieksma. 2006. “Modeling and Solving the Periodic Maintenance Problem.” European Journal of Operational Research 172 (3): 783–797. doi:10.1016/j.ejor.2004.11.013.
  • Hajej, Z., and N. Rezg. 2020. “An Optimal Integrated lot Sizing and Maintenance Strategy for Multi-Machines System with Energy Consumption.” International Journal of Production Research 58 (14): 4450–4470. doi:10.1080/00207543.2019.1654630.
  • Hajej, Z., N. Rezg, and A. Gharbi. 2018. “Quality Issue in Forecasting Problem of Production and Maintenance Policy for Production Unit.” International Journal of Production Research 56 (18): 6147–6163. doi:10.1080/00207543.2018.1478150.
  • Hajej, Z., N. Rezg, and A. Gharbi. 2020. “Maintenance on Leasing Sales Strategies for Manufacturing/Remanufacturing System with Increasing Failure Rate and Carbon Emission.” International Journal of Production Research 58 (21): 6616–6637. doi:10.1080/00207543.2019.1683254.
  • Han, Y., X. Zhen, and Y. Huang. 2022. “Multi-objective Optimization for Preventive Maintenance of Offshore Safety Critical Equipment Integrating Dynamic Risk and Maintenance Cost.” Ocean Engineering 245: 110557. doi:10.1016/j.oceaneng.2022.110557.
  • IBM. 2022. Maintenance Management Software Features. https://www.ibm.com/uk-en/business-operations/maintenance-management?utm_content=SRCWW%26p1=Search%26p4=43700073482957102%26p5=p%26gclid=Cj0KCQiA7bucBhCeARIsAIOwr-_9WwwkVv8sSpNWDQ3UHqs5iSREAbxj2mp4bTTYTb9JdlfNM-KF-qwaAkv5EALw_wcB%26gclsrc=aw.ds.
  • Irawan, C. A., D. Ouelhadj, D. Jones, M. Stålhane, and I. B. Sperstad. 2017. “Optimisation of Maintenance Routing and Scheduling for Offshore Wind Farms.” European Journal of Operational Research 256 (1): 76–89. doi:10.1016/J.EJOR.2016.05.059.
  • Jardine, A. K. S., and A. H. C. Tsang. 2005. “Component Replacement Decisions.” In Maintenance, Replacement, and Reliability, 27–89. Nu: CRC Press, Taylor & Francis Group.
  • Jbili, S., A. Chelbi, M. Radhoui, and M. Kessentini. 2018. “Integrated Strategy of Vehicle Routing and Maintenance.” Reliability Engineering & System Safety 170: 202–214. doi:10.1016/j.ress.2017.09.030.
  • Kek, A. G. H., R. L. Cheu, and Q. Meng. 2008. “Distance-Constrained Capacitated Vehicle Routing Problems with Flexible Assignment of Start and End Depots.” Mathematical and Computer Modelling 47 (1–2): 140–152. doi:10.1016/j.mcm.2007.02.007.
  • Khatab, A., C. Diallo, U. Venkatadri, Z. Liu, and E.-H. Aghezzaf. 2018. “Optimization of the Joint Selective Maintenance and Repairperson Assignment Problem Under Imperfect Maintenance.” Computers & Industrial Engineering 125: 413–422. doi:10.1016/j.cie.2018.09.012.
  • Koochaki, J., J. A. C. Bokhorst, H. Wortmann, and W. Klingenberg. 2012. The Influence of Condition-Based Maintenance On Workforce Planning and Maintenance Scheduling The Influence of Condition-Based Maintenance on Workforce Planning and Maintenance Scheduling. doi:10.1080/00207543.2012.737944.
  • López-Santana, E., R. Akhavan-Tabatabaei, L. Dieulle, N. Labadie, and A. L. Medaglia. 2016. “On the Combined Maintenance and Routing Optimization Problem.” Reliability Engineering & System Safety 145: 199–214. doi:10.1016/j.ress.2015.09.016.
  • López-Santana, E., J. Romero Carvajal, and J. de. 2015. “A Hybrid Column Generation and Clustering Approach to the School bus Routing Problem with Time Windows.” Ingeniería 20 (1): 111–127. doi:10.14483/udistrital.jour.reving.2015.1.a07.
  • Lugtigheid, D., A. Banjevic, and A. K. S. Jardine. 2004. “Modelling Repairable System Reliability with Explanatory Variables and Repair and Maintenance Actions.” IMA Journal of Management Mathematics 15 (2): 89–110. doi:10.1093/imaman/15.2.89.
  • Martinod, R. M., O. Bistorin, L. F. Castañeda, and N. Rezg. 2018. “Maintenance Policy Optimisation for Multi-Component Systems Considering Degradation of Components and Imperfect Maintenance Actions.” Computers & Industrial Engineering 124: 100–112. doi:10.1016/j.cie.2018.07.019
  • Nemhauser, G. 2012. “Column Generation for Linear and Integer Programming.” Optimization Stories I: 65–73. http://www.emis.ams.org/journals/DMJDMV/vol-ismp/21_nemhauser-george-colgen.pdf.
  • Nguyen, H. S. H., P. Do, H.-C. Vu, and B. Iung. 2019. “Dynamic Maintenance Grouping and Routing for Geographically Dispersed Production Systems.” Reliability Engineering & System Safety 185: 392–404. doi:10.1016/j.ress.2018.12.031.
  • Ome, J., C. Zhang, Y. Gao, L. Yang, U. Kumar, and Z. Gao. 2018. ARTICLE IN PRESS Integrated Optimization of Train Scheduling and Maintenance Planning on High-Speed Railway Corridors.”. doi:10.1016/j.omega.2018.08.005.
  • Remy, E., F. Corset, S. Despréaux, L. Doyen, and O. Gaudoin. 2013. “An Example of Integrated Approach to Technical and Economic Optimization of Maintenance.” Reliability Engineering and System Safety 116: 8–19. doi:10.1016/j.ress.2013.02.001.
  • A review on maintenance optimization. 2019. European Journal of Operational Research 285 (3): 805–824.
  • Rodriguez, S., D. Correa, and E. López-Santana. 2015. “An Alternative Iterative Method to Periodic Vehicle Routing Problem.” In IIE Annual Conference and Expo 2015, edited by S. Cetinkaya, and J. K. Ryan, 2001–2010.
  • Ross, S. 2006. Introduction to Probability Models. 9th ed. Academic Press. http://www.amazon.com/dp/0125980620.
  • Ruparathna, R., K. Hewage, and R. Sadiq. 2018. “Multi-period Maintenance Planning for Public Buildings: A Risk Based Approach for Climate Conscious Operation.” Journal of Cleaner Production 170 (1): 1338–1353. doi:10.1016/j.jclepro.2017.09.178.
  • Samal, N. K., and D. K. Pratihar. 2015. “Joint Optimization of Preventive Maintenance and Spare Parts Inventory Using Genetic Algorithms and Particle Swarm Optimization Algorithm.” International Journal of System Assurance Engineering and Management 6 (3): 248–258. doi:10.1007/s13198-015-0349-3.
  • Solomon, M. M. 1987. “Algorithms for the Vehicle Routing and Scheduling Problems with Time Window Constraints.” Operations Research 35 (2): 254–265. doi:10.1287/opre.35.2.254.
  • Toth, P., and D. Vigo. 2002. “The Vehicle Routing Problem.” In Optimization 9: SIAM. doi:10.1137/1.9780898718515.
  • Van Horenbeek, A., L. Pintelon, and P. Muchiri. 2010. “Maintenance Optimization Models and Criteria.” International Journal of System Assurance Engineering and Management 1 (3): 189–200. doi:10.1007/s13198-011-0045-x.
  • Vassiliadis, C. G., J. Arvela, E. N. Pistikopoulos, and L. G. Papageorgiou. 2000. “Planning and Maintenance Optimization for Multipurpose Plants.” Computer Aided Chemical Engineering 8 (C): 1105–1110. doi:10.1016/S1570-7946(00)80186-8.
  • Wakiru, J. M., L. Pintelon, P. Muchiri, and P. Chemweno. 2021. “Integrated Maintenance Policies for Performance Improvement of a Multi-Unit Repairable, One Product Manufacturing System.” Production Planning and Control 32 (5): 347–367. doi:10.1080/09537287.2020.1736684.
  • Zhang, L., X. Chen, A. Khatab, and Y. An. 2022. “Optimizing Imperfect Preventive Maintenance in Multi-Component Repairable Systems Under s-Dependent Competing Risks.” Reliability Engineering & System Safety 219: 108177. doi:10.1016/j.ress.2021.108177.
  • Zhou, X., & Shi, K. (2019). Capacity Failure Rate Based Opportunistic Maintenance Modeling for Series-Parallel Multi-Station Manufacturing Systems. Reliability Engineering & System Safety, 181, 46–53. doi:10.1016/j.ress.2018.09.007

Appendix A1.

Explanation of the master problem for the routing model

Let Pk be the set of feasible paths for technician kK in a period tT. Hence, pPk corresponds to an elementary path which can also be described by using the binary values xijpkt, where xijpkt=1 if technician k goes directly from vertex i to vertex j on path p on period t, and xijpkt=0 in otherwise. Any solution xijkt to the routing model stated in section 5.1 can be written as a non-negative convex combination of a finite number of elementary paths as follows: (44) xijkt=pPkxijpktzpkt kK, (i,j)A,tT(44) (45) pPkzpkt=1 kK,tT(45) (46) zpkt{0,1} kK, pPk, tT(46) where zpkt take the value of 1 if a path p is used by one technician k on period t and take the value of 0 in otherwise. Using xijpkt we can define the cost of a path p on period t as cpkt, and the number of times a customer i is visited by technician k on path p on period t as αipkt, and both are computed as follows: (47) cpkt=(i,j)Acijxijpkt kK, pPk, tT(47) (48) αipkt=jVC U {N+1}xijpktkK,iVC,pPk, tT(48) The total routing cost is given by: (49) tTkK(i,j)Acijxijkt=tTkK(i,j)A[pPkcijxijpktzpkt]=tTkKpPkcpktzpkt(49) Now we can substitute these values into RM formulated in section 5.1 and arrive with the next formulation: (50) min tTkKpPkcpktzpkt+kKiVCrRiφiryirk(50) subject to, (51) kKrRiyirk=1 iVC(51) (52) kKpPkαipktzpkt=kKrRiβirtyirk iVC,tT(52) (53) pPkzpkt=1 kK,tT(53) (54) zpkt{0,1} pPk,tT,kK(54) (55) yirk{0,1} iVC,rRi,kK(55)

For each machine iVC, variables yirk takes the value of 1 whether visit combination rRi is chosen for customer i and technicians k, and take the value of 0 in otherwise. The cover constraints (51) guarantee that one visit period combination is selected per machine, constraints (52) link the routes and the visit combinations, and finally, the constraints (53) enforce that one route is selected for each technician k on period t.

The set of all feasible routes, which is exponentially large, is denoted by P in the usual case of a single depot and a homogeneous set of technicians with the same initial conditions for all technicians, all Pk are identical, that is, P=Pk,kK. (56) kKzpkt=zpt(56) where zpt is 1 if a path p is used or 0 in otherwise and variable yir is 1 if pattern rRi is assigned to machine iVM or 0 in otherwise. Then, we compute cpt, aipt and yir as follows: (57) cpt=(i,j)Acij xijptpP, tT(57) (58) αipt=jN U {n+1}xijpt iN,pP,tT(58) (59) kKyirk=yir iVM,rRi(59)

Given the set of technicians are homogenous, we omit the index k for the vehicles, and xijpt takes the value of 1 if a technician goes directly from vertex i to vertex j on path p on period t, and 0 in otherwise, and cpt define the cost of a path p on period t, and αipt is the number of times a customer i is visited on path p and period t. Then, the resulting model given below is the classical set partitioning formulation: (60) Min tTpPcptzpt+rRiVMφiryir(60) Subject to, (61) rRiyir=1 iVM(61) (62) pPαiptzptrRiβirtyir=0 iVM,tT(62) (63) pPzpt=mtT(63) (64) zpt{0,1} pP,tT(64) (65) yir{0,1} iVM,rRi(65)