Condition based maintenance in the context of opportunistic maintenance

Javid Koochaki, Jos A. C. Bokhorst, Hans Wortmann*, Warse Klingenberg

*Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

74 Citations (Scopus)


Condition based maintenance (CBM) uses the operating condition of a component to predict a failure event. Compared to age based replacement (ABR), CBM usually results in higher availability and lower maintenance costs, since it tries to prevent unplanned downtime and avoid unnecessary preventive maintenance activities for a component. However, the superiority of CBM remains unclear in multi-component systems, in which opportunistic maintenance strategies can be applied. Opportunistic maintenance aims to group maintenance activities of two or more components in order to reduce maintenance costs. In a serial system, this may also result in less downtime of the production line. The aim of this paper is to examine the impact of opportunistic maintenance on the effectiveness of CBM. We simulate a small system consisting of three components in series and vary the number of components under a CBM policy, the length of the opportunistic maintenance zone, the cost benefits of grouping maintenance activities, and the chance of a failure occurrence within a preventive maintenance (PM) interval. The results show that within the current experimental settings, CBM remains cost effective in the multi-component serial system, but is less effective than ABR in grouping maintenance activities. When the chance of failure is small and the length of the opportunistic maintenance zone is large, ABR may even be a better option if line productivity is important.

Original languageEnglish
Pages (from-to)6918-6929
Number of pages12
JournalInternational Journal of Production Research
Issue number23
Publication statusPublished - 2012


  • condition based maintenance
  • opportunistic maintenance
  • age based replacement
  • preventive maintenance
  • line productivity

Cite this