## Abstract

We consider the problem of planning preventive maintenance and overhaul for modules that are used in a fleet of assets such as trains or airplanes. Each type of module, or rotable, has its own maintenance program in which a maximum amount of time/usage between overhauls of a module is stipulated. Overhauls are performed in an overhaul workshop with limited capacity. The problem we study is to determine aggregate workforce levels, turn-around stock levels of modules, and overhaul and replacement quantities per period so as to minimize the sum of labor costs, material costs of overhaul, and turn-around stock investments over the entire life-cycle of the maintained asset. We prove that this planning problem is strongly \(\mathcal{NP}\)-hard, but we also provide computational evidence that the mixed integer programming formulation can be solved within reasonable time for real-life instances. Furthermore, we show that the linear programming relaxation can be used to aid decision making. We apply the model in a case study and provide computational results for randomly generated instances.

This is a preview of subscription content, access via your institution.

## Notes

- 1.
The reverse option in which the integrality constraints are only relaxed for

*S*_{ i }is not interesting because for integral*x*_{ i,t }and*n*_{ i,t }, optimal*S*_{ i }cannot be fractional. - 2.
CPLEX is a commercial solver that can use multiple CPU cores in parallel. More information on this solver can be found on http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/.

- 3.
GUROBI is a commercial solver that can use multiple CPU cores in parallel. More information on this solver can be found on http://www.gurobi.com/.

- 4.
CBC stands for Coin Branch and Cut and is an open source solver associated with the COIN-OR initiative. At present, CBC can only use one CPU core. More information on this solver can be found on http://www.coin-or.org/Cbc/

- 5.
GLPK stands for GNU linear programming kit and is an open source solver. GLPK can only use one CPU core. More information on this solver can be found on http://www.gnu.org/software/glpk/.

## References

Asiedu, Y., & Gu, P. (1998). Product life cycle cost analysis: state of the art review.

*International Journal of Production Research*,*36*(4), 883–908.Billington, P., McClain, J., & Thomas, L. (1983). Mathematical programming approaches to capacity-constrained MRP systems: review, formulation and problem reduction.

*Management Science*,*29*(10), 1126–1141.Bitran, G., & Hax, A. (1977). On the design of hierarchical production planning systems.

*Decision Sciences*,*8*, 28–55.Bitran, G., Haas, E., & Hax, A. (1981). Hierarchical production planning: a single stage system.

*Operations Research*,*29*(4), 717–743.Bitran, G., Haas, E., & Hax, A. (1982). Hierarchical production planning: a two stage system.

*Operations Research*,*30*(2), 232–251.Charest, M., & Ferland, J. (1993). Preventive maintenance scheduling of power generating units.

*Annals of Operations Research*,*41*, 185–206.Chen, C., Yan, S., & Chen, M. (2010). Short-term manpower planning for MRT carriage maintenance under mixed deterministic and stochastic demands.

*Annals of Operations Research*,*181*, 67–88.De Kok, T., & Fransoo, J. (2003). Planning supply chain operations: definition and comparison of planning concepts. In A. de Kok & S. Graves (Eds.),

*Supply chain management: design, coordination and operation*(pp. 597–675). Amsterdam: Elsevier.Driessen, M., Arts, J., Van Houtum, G., Rustenburg, W., & Huisman, B. (2010).

*Maintenance spare part planning and control: a framework for control and agenda for future research*. Beta working paper 325, Eindhoven University of Technology, Eindhoven, the Netherlands.Dzielinski, B., Baker, C., & Manne, A. (1963). Simulation tests of lot size programming.

*Management Science*,*9*(2), 229–258.Ebeling, C. (2010).

*Introduction to reliability and maintainability engineering*(2nd ed.). Long Grove: Waveland Press.Erengüç, E., Simpson, N., & Vakharia, A. (1999). Integrated production/distribution planning in supply chains: an invited review.

*European Journal of Operational Research*,*115*(2), 219–236.Garey, M., & Johnson, D. (1979).

*Computers and intractability: a guide to the theory of NP-completeness*. New York: W.H. Freeman and company.Gupta, Y., & Chow, W. (1985). Twenty-five years of life cycle costing—theory and applications: a survey.

*International Journal of Quality and Reliability Management*,*2*(3), 51–76.Hopp, W., & Spearman, M. (2001).

*Factory physics*. New York: McGraw-Hill.Ilgin, M., & Gupta, S. (2010). Environmentally conscious manufacturing and product recovery (ECMPRO): a review of the state of the art.

*Journal of Environmental Management*,*91*, 563–591.Joo, S. (2009). Scheduling preventive maintenance for modular designed components: a dynamic approach.

*European Journal of Operational Research*,*192*, 512–520.Nahmias, S. (2009).

*Production and operations analysis*(6th ed.). New York: McGraw-Hill.Öner, K., Franssen, R., & Kiesmüller, G. (2007). Life cycle costs measurement of complex systems manufactured by an engineer-to-order company. In R. Qui, D. Russel, W. Sullivan, & M. Ahmad (Eds.),

*The 17th international conference on flexible automation and intelligent manufacturing*(pp. 569–589). Amsterdam: Elsevier.Paz, N., & Leigh, W. (1994). Maintenance scheduling: issues, results and research needs.

*International Journal of Operations & Production Management*,*14*(8), 47–69.Ross, S. (1996).

*Stochastic processes*(2nd ed.). Hoboken: Wiley.Safaei, N., Banjevic, D., & Jardine, A. (2011). Workforce constrained maintenance scheduling for military aircraft fleet: a case study.

*Annals of Operations Research*,*186*, 295–316.Sherbrooke, C. (2004).

*Optimal inventory modeling of systems: multi-echelon techniques*(2nd ed.). Boston: Kluwer.Silver, E., Pyke, D., & Peterson, R. (1998).

*Inventory management and production planning and scheduling*. Hoboken: Wiley.Spitter, J. (2005).

*Rolling schedule approaches for supply chain operations planning*. PhD thesis, Eindhoven University of Technology, Department of Technology Management, Eindhoven, the Netherlands. http://alexandria.tue.nl/extra2/200511140.pdf.Spitter, J., Hurkens, C., De Kok, A., Lenstra, J., & Negenman, E. (2005). Linear programming models with planned lead times for supply chain operations planning.

*European Journal of Operational Research*,*163*, 706–720.Van Dijkhuizen, G., & Van Harten, A. (1997). Optimal clustering of frequency-constrained maintenance jobs with shared set-ups.

*European Journal of Operational Research*,*99*, 552–564.Vernooij, K. (2011).

*An aggregate planning for preventive maintenance of bogies by NedTrain*. Master’s thesis, Eindhoven University of Technology, School of Industrial Engineering, the Netherlands. http://alexandria.tue.nl/extra2/afstversl/tm/Vernooij_2011.pdf.Wagner, H., Giglio, R., & Glaser, R. (1964). Preventive maintenance scheduling by mathematical programming.

*Management Science*,*10*(2), 316–334.

## Acknowledgements

The authors would like to thank Bob Huisman of NedTrain for introducing this research topic to the authors and many stimulating discussions. The authors also thank Karin Vernooij who conducted an initial study in this subject, and who collected some of the data that we use. The authors also thank anonymous referees, Geert-Jan van Houtum and Matthew Reindorp for their constructive feedback.

## Author information

### Affiliations

### Corresponding author

## Appendices

### Appendix A: Proof of Proposition 2

We show that being able to solve the AROSCP will enable one to decide the BIN-PACKING decision problem, i.e. we reduce BIN-PACKING to AROSCP. The following decision problem, known as BIN-PACKING, is strongly \(\mathcal{NP}\)-complete (e.g. Garey and Johnson 1979): Given positive integers *α*
_{1},…,*α*
_{
m
}, *β*, and *κ*, is there a partition of {1,…,*m*} into disjoint sets ϒ_{1},…,ϒ_{
κ
} such that \(\sum_{j\in\Upsilon_{i}}\alpha_{j} \leq\beta\) for *i*=1,…,*κ*?

Now suppose we are given an instance of BIN-PACKING. Without loss of generality, we may assume that \(\sum_{i=1}^{m} \alpha_{i}\leq\kappa\beta\) and *α*
_{
i
}≤*β* for all *i*∈{1,…,*m*}. From this instance of BIN-PACKING, we will show how to create an instance of AROSCP in polynomial time such that the answer to this instance of BIN-PACKING is yes, if and only if the optimal objective value of the corresponding instance of AROSCP equals 0. The basic idea behind this reduction is the following. By setting the initial number of non ready-for-use rotables sufficiently high, the release of overhaul orders is constrained only by available workforce capacity, i.e. by (29). This workforce capacity can be kept constant at *β* across periods by constraints (27) and (28). Now the problem can be viewed as packing overhaul order releases into several one period bins of fixed size *β*. By penalizing these order releases in all but *κ* periods, the objective becomes to pack as many order releases as possible in the *κ* periods in which the order releases are not penalized. If the optimal objective of AROSPC is 0, then it was possible to pack all overhaul order releases in *κ* periods and so the instance of BIN-PACKING is a yes-instance.

More formally, the reduction is as follows. Set *Y*={1,…,*m*+1} and \(T^{Y}_{y}=\{y\}\) for all *y*∈*Y*; thus, aggregated and regular periods coincide. Set *W*
^{d}=*β*, and \(\Delta_{y}^{l}=\Delta_{y}^{u}=\delta_{t}^{l}=\delta_{t}^{u}=1\). This ensures capacity is identical across periods. Set *I*={1,…,*m*} and set *a*
_{
i
}=1, *p*
_{
i
}=*m*+1, *q*
_{
i
}=*m*+1, *L*
_{
i
}=1, \(H^{\mathrm{d}}_{i}=1\), \(B^{\mathrm{d}}_{i}=0\), \(n^{\mathrm{d}}_{i,0}=0\), \(D^{\mathrm {d}}_{i,m+1}=1\) and *r*
_{
i
}=*α*
_{
i
} for all *i*∈*I*. Furthermore, set \(D^{\mathrm{d}}_{i,t}=0\) for all *i*∈*I* and *t*∈{1,…,*m*}. Thus, each type of rotable needs to be replaced exactly once before or in the last period of the planning horizon. This instance of AROSCP is feasible because the following is a feasible solution: *n*
_{
i,i
}=1 for *i*∈*I* and *n*
_{
i,t
}=0 otherwise, *x*
_{
i,m+1}=1 for all *i*∈*I* and *x*
_{
i,t
}=0 otherwise. (Note that all other variables are set by constraints). There are no acquisitions (*a*
_{
i
}=1 for all *i*∈*I*) so \(c^{a}_{i}\) does not need to be set. Most other cost parameters are set to 0; \(c^{W}_{y}=0\) for all *y*∈*Y* and \(c^{r}_{i,t}=0\) for all *i*∈*I* and \(t\in T^{I}_{i}\). However, we set \(c^{m}_{i,t}=1\) for all *i*∈*I* and *t*∈{1,…,*m*−*κ*} and set \(c^{m}_{i,t}=0\) otherwise. Note that *m*−*κ*≥1 because, by assumption, \(\sum_{i=1}^{m}\alpha_{i}\leq\kappa\beta\) and *α*
_{
i
}≤*β* for all *i*∈{1,…,*m*}. The objective function now reduces to \(\textstyle\sum_{i\in I} \textstyle\sum_{t=1}^{m-\kappa} c^{m}_{i,t} n_{i,t}\). Let *OPT* denote the optimal solution to this instance of AROSCP. If *OPT*=0 then, necessarily *n*
_{
i,t
}=0 for all *i*∈*I* and *t*∈{1,…,*m*−*κ*}. Furthermore, by constraint (25), \(\sum_{i\in I_{t}}r_{i} n_{i,t}\leq w_{t}\) for all *t*∈*T*, which, by our choice of parameter values, implies ∑_{
i∈I
}
*α*
_{
i
}
*n*
_{
i,t
}≤*β* for all *t*∈{*m*−*κ*+1,…,*m*}. All rotables in this instance of AROSCP have to be overhauled exactly once in or before period *m* because of constraints (31), (32) and (35). Therefore, for each *i*∈*I* there is some *t*∈{*m*−*κ*+1,…,*m*} such that *n*
_{
i,t
}=1. when *OPT*=0. Now it follows that a partition that satisfies the requirement of the original BIN-PACKING problem is given by:

In an analogous manner, it is possible to construct an optimal solution with objective 0 to an instance of AROSCP if the corresponding instance and truth certificate of BIN-PACKING is given, by setting all *x*
_{
i,t
} and *n*
_{
i,t
} to 0, except *x*
_{
i,m+1}=1 for all *i*∈*I* and *n*
_{
i,m−κ+j
}=1 if *i*∈ϒ_{
j
}. Thus, we have shown that an instance of BIN-PACKING is a yes-instance if and only if the corresponding AROSCP problem has an optimal objective of 0. Observing further that the reduction above is a pseudo-polynomial reduction as defined by Garey and Johnson (1979, p. 101), and that BIN-PACKING is strongly \(\mathcal{NP}\)-complete, completes the proof. □

### Appendix B: Details on the random instance generator

### B.1 Rotable characteristics

First, we generate the number of different rotable types that are already in the field at the beginning of the planning horizon, |*I*
_{1}|, from \(\mathcal{UD}(25,40)\). Then for each *i*∈*I*
_{1}, we draw *p*
_{
i
}, *q*
_{
i
}, *r*
_{
i
} and *L*
_{
i
} as shown in Table 5. Note that for *i*∈*I*
_{1}, *a*
_{
i
}=1 by definition and needs not be generated randomly.

Some of the rotables *i*∈*I*
_{1} may belong to assets that will be disposed of before the end of the planning horizon, i.e., possibly *p*
_{
i
}<360 for some *i*∈*I*
_{1}. If this is the case, we assume that this asset will be replaced by a new type of asset, which consists of rotables with identical characteristics that will remain current for the remainder of the planning horizon. For example, if 1∈*I*
_{1}, *p*
_{1}=270, *a*
_{1}=1, *q*
_{1}=120, *r*
_{1}=200, *L*
_{1}=1, and |*I*
_{1}|=32, then we add rotable type 33 to *I* and set *a*
_{33}=*p*
_{1}+1=271, *p*
_{33}=*p*
_{1}=360, *q*
_{33}=*q*
_{1}=120, *r*
_{33}=*r*
_{1}=200, and *L*
_{33}=*L*
_{1}=1. This procedure is shown formally in Table 5 using set expressions and the fact that *I* is generated to contain a sequence of integers. We note that it is also possible that a rotable type that is replaced some time during the planning horizon is replaced with a rotable type that has different characteristics. In particular, new rotable types are likely to be more reliable due to technological advancements. The models can also accommodate these scenarios. However, we make the conservative assumption that rotable types are replaced rotable types with identical characteristics.

### B.2 Initial conditions and flexibility

For each type of rotable *i*∈*I*, there are revisions already due. We assume the worst case scenario that the first upcoming revision of any one rotable type are due in a single period. For rotable type *i*∈*I*, this single period is *a*
_{
i
}+*τ*
_{
i
} and *τ*
_{
i
} is generated as \(\tau_{i}=\mathcal{UD}(10,q_{i})\). The number of revisions due in period *a*
_{
i
}+*τ*
_{
i
} is drawn from \(\mathcal{UD}(30,600)\). This means that for each *i*∈*I*, \(D^{\mathrm{d}}_{i,t}=0\) if *t*≠*τ*
_{
i
} and \(D^{\mathrm{d}}_{i,\tau_{i}}=\mathcal{UD}(30,600)\).

Again as a worst case scenario, \(U^{\mathrm{d}}_{i}=0\) and \(n^{\mathrm {d}}_{i,t}=0\) for all relevant *i* and *t*, meaning that there are no recent order releases and that there have been no replacements ahead of time. Initially, for each *i*∈*I*
_{1} there is no stock of non-ready for use rotables, i.e., \(H^{\mathrm{d}}_{i}=0\) for all *i*∈*I*
_{1}. The initial ready-for-use stock of *i*∈*I*
_{1} is generated as a fraction of the first peak number of revisions due in period *a*
_{
i
}+*τ*
_{
i
}: \(B^{\mathrm{d}}_{i} = \lceil\mathcal{U}(0.1,0.3)\cdot D^{\mathrm {d}}_{i,\tau_{i}} \rceil\), where ⌈*x*⌉ is *x* rounded up to the nearest integer.

The bounds \(\Delta^{l}_{y}\) and \(\Delta^{u}_{y}\) are obtained by generating Δ^{l} (Δ^{u}) as \(\mathcal{U}(0.7,0.95)\)
\((\mathcal{U}(1.05,1.3))\) and setting \(\Delta^{l}_{y} = \Delta^{l}\) and \(\Delta^{u}_{y}=\Delta^{u}_{y}\) for all *y*∈*Y*∖{|*Y*|}. Similarly \(\delta^{l}_{t}\) (\(\Delta^{u}_{t}\)) are obtained by generating *δ*
^{l} (*δ*
^{u}) as \(\mathcal{U}(0.7,0.95)\) (\(\mathcal {U}(1.05,1.3)\)) and setting \(\delta^{l}_{t}=\delta^{l}\) and \(\delta^{u}_{t}=\delta^{u}\) for all *t*∈*T*. Finally, in each case, *W*
^{d} is set as 150000. We do not generate this parameter randomly, because the *r*
_{
i
} are already generated randomly.

### B.3 Costs parameters

The costs parameters are discounted on a yearly basis by the discount parameter *α*. Within a year however, there is no discounting, so that for a period *t*∈*T*, the corresponding year is ⌈*t*/12⌉.

## Rights and permissions

## About this article

### Cite this article

Arts, J., Flapper, S.D. Aggregate overhaul and supply chain planning for rotables.
*Ann Oper Res* **224, **77–100 (2015). https://doi.org/10.1007/s10479-013-1426-0

Published:

Issue Date:

### Keywords

- Maintenance
- Aggregate planning
- Life cycle costs
- \(\mathcal{NP}\)-hard
- Repairable parts
- Reverse logistics