You are on page 1of 15

Advanced Maintenance Modelling

Grouping of Maintenance and Optimization by using Genetic Algorithm

Zafar Hameed , Jørn Vatn


Norwegian University of Science and Technology,
Production and Quality Engineering
N-7491 Trondheim, Norway
E-mails: zafar.hameed@ntnu.no ; jorn.vatn@ntnu.no

Abstract

Cost effective maintenance strategies are the underpinning of a robust and efficient engineering system. A
part of maintenance optimization is to group maintenance activities into work packages. The grouping is
performed to take the advantage of sharing set-up costs and to reduce the administrative efforts while
implementing a maintenance program. Initial maintenance intervals for components are established by
analyzing each component separately. Activities with more or less the same maintenance interval could be
grouped together to save the set-up costs if possible, and to ensure higher availability because less
downtime is required. In this piece of writing, optimization for the determination of optimal maintenance
interval is performed by using genetic algorithm (GA) and then the grouping size was determined based on
the same maintenance interval. While doing the grouping activities, dynamic grouping is preferred over
static one because the former is too much important from the application point of view in the industry.
Selection of GA was undertaken due to its robust search capabilities which are directly helpful in
minimizing the computational complexities of the problem.

Key Words – Grouping, optimization, GA, iterative scheme, maintenance,

1. Introduction
Numbers of maintenance strategies are available like age replacement policy (ARP) and block replacement
policy (BRP). The former one is based on the replacement regime depending upon the age and the
maintenance clock is reset in case of failure and the latter is similar to ARP but the main difference is that
that the maintenance clock is not reset when the failure is occurred. It seems that in BRP one is wasting the
valuable component life time since the replacement of component is done at a lower age than maintenance
interval if a failure occurs in maintenance period. But on the other hand, one gets the advantage of applying
BRP in the form of savings in administrative and set-up costs.

One way to realize the BRP is to group the maintenance activities based on their optimal maintenance
interval. Two forms of grouping strategies exist, one is called static grouping and the other one is dynamic
grouping. In the static regime, the grouping is fixed during the entire system lifetime, whereas in the
dynamic regime the groups are re-established over and over again. The static grouping situation may be
easier to implement than the dynamic, and the maintenance effort is constant, or at least predictable. The
dynamic grouping model requires some computing effort, as well as a flexible maintenance system
allowing maintaining the component groups at their optimum times. The advantage of the dynamic
grouping is that new information, unforeseen events, etc., may require a new grouping and changing of
plans.

In classical maintenance optimization the objective is to find the optimum frequency of maintenance of one
component at a time. However, in the multi-component situation there exist dependencies between the
components, e.g., they may share common set-up costs, the downtime may be reduced if some components
can be maintained simultaneously i.e. grouping of different maintenance activities is performed. This will
complicate the modeling from the single component approach. In this paper we only consider the situation
where we can save some set-up costs and downtime costs by executing several maintenance activities at the

1
Proceedings of the 38th ESReDA Seminar, Pecs, Hungary, May. 04-05.2010

same time by using dynamic grouping regime. For a literature overview of the field of maintenance of
multi-component systems and maintenance grouping, we refer to the articles by Cho and Parlar [1], Dekker
et.al. [2] and Wildeman [3].

Dynamic grouping is performed based on having the optimization of maintenance interval. The
maintenance interval is optimized by employing GA and the results of this method are compared with those
of obtained by iterative scheme being used for the same purpose. Based on this optimal maintenance
interval, the task of grouping interval and size was performed by using Excel solver, both for iterative and
GA solutions. The determination of grouping interval and size by using GA is included in the future works.
This time, the objective of using GA was only to demonstrate its robustness as compared to iterative
scheme for optimization of maintenance interval. We have used a dynamic grouping regime for a gas lift
compressor on an oil production vessel as a case example. However, the grouping model can also be
adapted to other systems with similar maintenance characteristics like offshore wind turbines as one
example. At this stage, we think that there is a room for improvement especially in employing GA in a
more efficient way but the objective here is to realize the effectiveness of GA as an alternative to existing
schemes existed for the same purpose.

In the next section, brief explanation about GA is given. After that, mathematical modeling,
implementation, comparison of iterative scheme and GA results, comparison between dynamic and static
groupings, and the end conclusions are listed in the next sections respectively.
____________________________________

Notations
cip Planned maintenance cost
cir Unplanned cost upon a failure
MTTFi Mean time to failure of component i
λE ,i (τ ) Effective failure rate of a single component i
αi Shape (aging) parameter of component i
S Set-up costs, i.e., the costs of preparing the preventive maintenance of a group of
components maintained at the same time. We assume the same set-up costs for all
activities.
xi* Maintenance interval that minimizes maintenance cost for a single component i
t i* Optimum time of next maintenance action for a single component i
ti Point of time of last maintenance for component i.
t0 Point of time when we are planning the next group of activities
p
MDTi Mean down time of preventive maintenance of component i
r
MDT i Mean down time of corrective maintenance of component i
k Number of components in a group
Ψ (t; k ) Savings of grouping k components
Φi (x ) Total cost related to a single component i
tS Time spent to shut down and start up the system in relation to maintenance
nl Number of workers needed to maintain the system
cl Labor cost per time unit
cd Downtime cost (production specific) per time unit
cb Cost of breakdown (additional cost due to damage of equipment)
ci Unit cost of one component

2
Advanced Maintenance Modelling

2. Genetic Algorithms
GA is a well-known method for global optimization of complex systems. The start of GA can be traced
back to 1950s, but the work done in 1970s by John Holland at the University of Michigan led to GA, as we
know it today [4 and 5]. In simple terms the algorithm represents a search strategy based on the mechanics
of natural selection and reproduction in biological systems. The search procedure is derived from the
process of natural selection and evolution originally observed and documented by Charles Darwin. The
philosophy of “survival of the fittest” has been adopted, implemented numerically, and developed for the
general problem of optimization in which natural evolution and adaptation to environment variation is
simulated mathematically. Because of the inherent advantage of being able to proceed with a large
population of designs, the method facilitates arrival at the globally optimal solution [6].

GA starts with a set of randomly selected potential solutions to the problem at hand, and makes them
evolve by iteratively applying a set of stochastic operators, known as selection, crossover and mutation.
The technique relies on cost function (fitness) evaluation [7]. The better solution has higher fitness value.
No gradient information is required; only evaluation of the cost (objective) function and the constraints are
necessary to determine fitness. Such a derivative freeness technique makes GA versatile and gives it the
ability to deal with problems with a complicated objective function where derivative is difficult to obtain or
unattainable (non-differentiable function). The stochastic and random nature of GA avoids the gradient-
based optimization methods’s drawback of getting trapped in local optima.

2.1. Genetic Algorithm and Optimization Procedure


GA is a subset of evolutionary algorithms that model and mimic biological processes to find optimal
solutions of highly complex problems. GA draws analogy to the natural process of reproduction, natural
selection and evolution in biological population, where genetic characteristics stored in chromosomal
strings evolves over generations to give individuals a better chance of survivability in a static or changing
environment. This chromosomal configuration represents the generational memory and is partially
transferred and altered when members of the population reproduced. The basic idea of GA is simple. First,
a population of individuals is created in a computer (typically stored as binary strings in the computer's
memory), and then the population is evolved with use of the principles of variation, selection, and
inheritance [8].

The three basic processes that affect the chromosomal makeup in natural evolution are crossover of genetic
information between the reproduction parents, an occasional mutation of genetic information, and survival
of the fittest to reproduce in upcoming generations. Crossover process exchanges genetic structure between
the parents and allows for beneficial genes to be represented in the offspring. Mutation is a sudden and
infrequent alternation in chromosomal makeup, which causes new traits to surface in individuals.
Individuals with favorable qualities have better chance to adapt and survive, and therefore procreate.

GA, in a fashion analogous to their natural counterpart, uses chromosome-type representations of feasible
solutions of the problem to explore the searching space for improved solutions. GA incorporates a bias
reproduction strategy, where members of the population that are deemed most fit are preferred for
reproduction and are given higher opportunity to strengthen the chromosomal composition of the offspring
generation. This approach is implemented by assigning a fitness value or scale indicating the goodness of
an individual of the population in a given generation during the evolution process. The objective function
serves as an excellent candidate in measuring individual's fitness.

Major component of GAs including encoding scheme, fitness evaluation, parent’s selection, crossover
operators and mutation operators are briefly explained next in the context of optimization.

a) Principle of encoding scheme: The first step is to transform points in the parameter space into bit
string representations. By converting each parameter into its binary equivalent, it may be mapped
into a fixed-length string of 0's and 1's (gene). Clearly, the string (gene) length determines the
numerical precision with which this parameter may be represented.
b) Cost function and fitness evaluation: GA uses selection, crossover, and mutation operators to
breed good solutions. “Goodness” of the solution is measured by so-called “fitness function.” The
fitness function is based on the objective function of the problem and must be non-negative [9].

3
Proceedings of the 38th ESReDA Seminar, Pecs, Hungary, May. 04-05.2010

The fitness should be evaluated for each design in every generation and it depends on the objective
function value.
c) Selection: After evaluating the fineness of each member of the current population, a selection
process for individuals to participate in the creation of the next generation is in order. The selection
should be biased toward individuals with higher fitness value analogous to survival of the fittest in
natural selection. Selection for reproduction among members of higher fitness ensures moving the
search toward producing more fit members in the population and eliminating the less fit ones. First
the population is ranked according to their fitness. Members are selected from the mating pool and
paired (i.e., {parent1, parent2}) with selection probability proportional to their fitness value. Self-
pairing is not permitted. The paired individuals are used to create new individuals through
crossover operators to replace the discarded ones.
d) Cross over: Crossover is the exchange of design characteristics among randomly selected pairs
from the parent pool. There are many types of crossover; the most general one (i.e., uniform
crossover) is briefly explained. Uniform crossover looks at each bit in the parents and randomly
assigns the bit from one parent to one offspring and the bit from the other parent to the other
offspring. First a random mask is generated. This mask is a random vector of ones and zeros and is
the same length as the parents. When the bit in the mask is 0, then the corresponding bit in parent1
is passed to offspring1 and the corresponding bit in parent2 is passed to offspring2. When the bit in
the mask is 1, then the corresponding bit in parent1 is passed to offspring2 and the corresponding
bit in parent2 is passed to offspring1:
e) Mutation: This step diversifies the population so that different areas of the parameters space can
be explored and also prevents the solution from premature convergence. A mutation operator is
capable of spontaneously generating new chromosomes. The most common way of implementing
mutation is by switching a 0 with a 1 or vice versa with a probability equal to the very low given
mutation rate.

3. Mathematical Modeling
This paper uses a gas lift compressor sited on a sea going vessel as a case. The modeling framework will
therefore be molded to suit the characteristics of this system. The optimization problem is basically a
question of balancing planned costs against unplanned costs. The planned costs are incurred when the gas
lift compressor is taken out of service for preventive maintenance, whereas the unplanned costs arise upon
failures, i.e., corrective maintenance costs (repairs), costs related to accidents, delays, etc.

In the model presented we follow the ideas of Wildeman [10] and consider a multi-component system with
n components i, i ∈ {1,..., n}. Each component i can be preventive-maintained, and in this paper we assume
that there is one and only one maintenance activity related to each component; replacement, bringing the
component back to a perfect state (as good as new). This simplifies notation because we then may alternate
between failures of component i and executing maintenance activity i.

The cost related to these maintenance activities consist of a component-dependent cost cip and a system-
dependent cost S. The system-dependent cost S is called the set-up cost and is assumed the same for all
activities. When component i is preventive maintained on its own cip + S has to be paid, whereas for a
group of activities that are executed together the set-up cost has to be paid only once, that is, we then have
to pay for each component cip + S k , k is the number of components sharing the set-up cost for the actual
group. This implies that combining m activities yields a cost reduction of “S(m - 1)” compared to executing
these m activities separately.

The component-specific cost cip comprises a down time dependent term and a fixed component cost:

cip =MDTi p ( cd + nl ⋅ cl ) + ci (1)

Where MDTi p is the required mean down time for maintenance, cd is the production shutdown cost per unit
time, nl is the number of workers needed for maintenance, cl is the man-hour cost and ci is the unit cost for

4
Advanced Maintenance Modelling

the maintenance activity. For each component there is an expected degradation cost within a defined time
interval [0, x]. Generally we denote this deterioration cost by Mi(x), but in the following we will make some
assumptions enabling us to find an explicit expression for the cost function to minimize. First of all we
assume the cost related to a failure, say cir , is independent of the age of the component at the time of
failure. A component will be as good as new after maintenance. Repair times are short compared to failure
times. Thus we have:

M i ( x ) = cir ⋅Wi ( x ) = cir ⋅ λE ,i ( x ) ⋅ x (2)

Where Wi(x) is the renewal function, and λE,i(x) is the effective failure rate of a component periodically
maintained at intervals of length x. Assuming a block replacement policy (BRP) with Weibull distributed
failure times Chang et al. [11] has derived the following approximation for the effective failure rate:
αi
 Γ(1 + 1/ α i )  αi −1
λE ,i ( x) =   x ⋅ γ ( x,α i , MTTFi ) (3)
 MTTFi 

Where αi is the shape parameter and MTTF is the mean time to failure without preventive maintenance.
 0.1α x 2 (0.09α − 0.2) x 
Γ(⋅) is the gamma function and γ ( x,α , MTTF) = 1 − 2
+  is a correction term. The
 MTTF MTTF 
costs cir may in principle be found by risk modeling, regularity modeling, etc. Often the “cost” of a failure
represents various dimensions such as safety, regularity, environmental aspects and so on. How to combine
these cost elements into one single number is not discussed here, but we refer to e.g., Aven & Vatn [12] for
further discussions.

The unplanned cost cir also comprises a down time dependent term and a fixed component cost:

cir = MDTi r ( cd + nl ⋅ cl ) + ( ci + cb ) (4)

where MDTir is the mean down time for corrective maintenance and cb is an additional break down cost.
The total cost per unit time for component i may then be written:

cip + S + M i ( x ) cip + S
Φi ( x ) = = + cir ⋅ λE ,i ( x ) (5)
x x
The optimal value xi* can be found by setting the derivative of Φ i ( x ) w.r.t. x to zero. Even by introducing
the approximation in equation (3) a closed formula could not be obtained, but the following fix point
iteration scheme needs only one or two iterations to give a very good approximation:

MTTFi α cip + S
xi* = i (6)
Γ (1 + 1/ α i ) cir [ (α i − 1) ⋅ γ ( xi , α i , MTTFi ) + xi ⋅ γ '( xi , α i , MTTFi ) ]

 0.2α x 0.09α − 0.2 


where γ '( x, α , MTTF) =  − + is the derivative of the correction term. As a starting
 MTTF
2
MTTF 
point for the iteration scheme we pragmatically set xi = MTTFi/2. The individual maintenance rule in eq.
(6) needs only to be applied once for each component.

The next challenge is to establish the grouping either in a finite or infinite time horizon. In addition to the
grouping, we also have to schedule the execution time for each group. The grouping and the scheduling can
not be done separately.

In the above cost model, the activity i is a preventive replacement of component i and is executed each x
time units at a cost of cip + S . In this paper we suggest that the cost element S must be divided by the

5
Proceedings of the 38th ESReDA Seminar, Pecs, Hungary, May. 04-05.2010

number, k, of activities that activity i is grouped together with in average, S/k, looking at a long term
perspective, a component i is in average maintained together with an average number of other components,
p
k. Hence the preventive replacement cost of component i should reflect this fact; c i + S / k , and thereby
placing the single component execution day closer to its resulting execution day in a group. This gives a
modification of the long-term average costs Φ i ( x ) as a function of the interval length x:

cip + S / k + M i ( x ) cip + S / k
Φi ( x ) = = + cir ⋅ λE ,i ( x ) (7)
x x
Due to reduced cost of the preventive replacement ( cip + S ⇒ cip + S / k ), the individual maintenance
interval will be reduced. Another effect is that the order in which the activities should be executed may
change. The larger the cost of component maintenance (compared to the set-up cost) the less k influences
the maintenance interval.

These two effects influences the execution times of the groups along with the grouping itself, as it takes
execution times of the single activities in sorted order as a starting point for grouping. In the following we
assume the same k for all components, but in principle we should allow k to vary between components.

* * *
Let ti = ti + xi be the tentatively planned execution time for activity i found by adding xi time units to
the latest execution date, ti of activity. Given the activities to include in the candidate group it is straight
forward to find the execution time for this group by minimizing the sum of penalties for shifting the
activities in the candidate group. The cost of shifting the execution time of an activity from its tentatively
planned execution time has to be calculated. Wildeman et.al [10] proposes to use a penalty function in this
situation, and other one is suggested by Vatn [13] and in this paper, the latter is preferred and implemented.

In case of Widleman, let hi (∆t ) be the penalty cost for a shift ∆t from time t i* . We assume an infinite time
horizon, and assume that the execution interval for activity i is changed only for this time, i.e., from xi* to
xi* + ∆t , while all future intervals remain xi* . The deterioration costs in the first interval (of length
xi* + ∆t ) are given by M i (xi* + ∆t ) , whereas otherwise the deterioration costs equals M i (xi* ) . The extra
( ) ( )
cost is then given by M i xi* + ∆t - M i xi* . Since all following intervals remain of length xi* , all future
execution times after t are deferred by ∆t time units, which saves ∆t ⋅ Φ *i . The penalty function for
*
i
component i may thus be written:

hi ( ∆t ) = M i ( xi* + ∆t ) − M i ( xi* ) − ∆t ⋅ Φ*i = cir ( xi* + ∆t )λE ,i ( xi* + ∆t ) − xi* ⋅ λE ,i ( xi* )  − ∆t ⋅ Φ*i (8)

In case of Vatn, let Φ*i,k be the minimum average costs when one component is considered individually,
and let x*i,k be the corresponding optimum x value. It is then easy to prove that mi(x*i,k) = M'i(x*i,k) = Φ*i,k
meaning that when the instantaneous expected unplanned costs per unit time, mi(x), exceeds the average
costs per unit time, maintenance should be carried out. The way to use the result is now the following.
Assume we are going to determine the first point of time to execute the maintenance, i.e., to find t = x*i,k
starting at t = 0. Further, assume that we know the average costs per unit time (Φ*i,k) but that we have for
some reason “lost” or “forgotten” the value of x*i,k. What we then can do is to find t such that mi(t) =M'i(t)
= Φ*i,k yielding the first point of time for maintenance. Then from time t and the remaining planning
horizon we can pay Φ*i,k as the minimum average costs per unit time. This is the traditional marginal
costs approach to the problem, and brings the same result as minimizing equation (7). The advantage of
the marginal thinking is that we now are able to cope with the dynamic grouping. Assume that the time
now is t0, and xi is the age (time since last maintenance) for component i in the group we are considering
for the next execution of maintenance. Further assume that the planning horizon is [t0,T]. The problem
now is to determine the point of time t (≥t0) when the next maintenance is to be executed. The total cost of
executing the maintenance activities in a group is S + Σi ciP which we pay at time t. Further, the expected
unplanned costs in the period [t0 , t] is ΣiMi(t-t0+xi) -ΣiMi(xi). For the remaining time of the planning

6
Advanced Maintenance Modelling

horizon, the total costs are (T-t)ΣiΦ*i,k provided that each component i can be maintained at “perfect
match” with k-1 activities the rest of the period. Since Φ*i,k depends on how many components that share
the set-up cost, which we do not know at this time, we use some average value Φ*i,Av. We assume that we
know this average value at the first planning. To determine the next point of time for maintaining a given
group of components we thus minimize:

c1 (t ; k ) = S + ∑ cip + M i (t − t0 + xi ) − M i ( xi ) + (T − t )Φ *i , Av  (9)
i∈K k

The costs in equation (7) depend on which components to include in the group of activities to be executed
next. The more activities we include, the higher the costs will be. For some activities it might thus be
cheaper to include them in groups to be executed later. For activities we do not include in this first group
we assume that they will be maintained at their “optimum” time t*i,Av > t. The total contribution to the costs
related to these activities in [t0,T] is:

 
c2 (t ; k ) = ∑ c
i∉K k
i
p
+S
ki , Av
+ M i ( xi*, Av ) − M i ( xi ) + (T − ti*, Av )Φ*i , Av 

(10)

provided they can be maintained at “perfect match” with other activities, i.e., the set-up costs are shared
with (ki,av – 1) activities, and executed at time t*i,Av. The total optimization problem related to the next
group of activities is therefore to minimize:

c (t ; k ) = S + ∑
i∈ K k
 c ip + M i ( t − t 0 + x i ) − M i ( x i ) + (T − t ) Φ *i , A v 
(11)
 
+ ∑  c ip + S + M i ( x i*, A v ) − M i ( x i ) + (T − t i*, A v ) Φ *i , A v 
i∉ K k 
k i, Av 

The idea is simple, we first determine the best group to execute next, and the best time to execute it. Further
we assume that subsequent activities can be executed at their local optimum. It is expected to do better by
taking the second grouping into account when planning the first group, and not only treat the activities
individually. See e.g., Budai et al (2005)[14] for more advanced heuristics in similar situations to those
presented here. The heuristic is as follows:

Step 0 – Initialization. This means to find initial estimates of ki,Av, and use these k values as basis for
minimization of equation (7). This will give initial estimates for x*i,Av and Φ*i,Av. Finally the time horizon
for the scheduling is specified, i.e., we set t0 = 0 and choose an appropriate end of the planning horizon (T).

Step 1 – Prepare for defining the group of activities to execute next. First calculate (t*i = x*i,Av + t0 - xi ) and
sort in increasing order.

Step 2 – Establish the candidate groups, i.e., for k = 1 to N we use the ordered t*i ’s to find a candidate
group of size k to be executed next. If t*k > mini<k (t*i +x*i,Av) this means that at least one activity in the
candidate group needs to be executed twice before the last one is scheduled which does not make sense.
Hence, in this situation the last candidate group is dropped and we are not searching for more candidate
groups at the time being.

Step 3 – For each candidate group Kk, minimize c(t,k) in (11) with respect to execution time t. Next choose
the candidate group Kk that gives the minimum cost. This group should then be executed at the
corresponding optimum time t.

Step 4 – Prepare for the next group, i.e., we assume that all activities in the chosen candidate group are
executed at time t. This corresponds to setting xi = 0 for i ∈
Kk, xi = xi +t-t0 for i Kk and then update the ∉
current time, i.e., t0 = t. If t0 < T GoTo Step 1, else we are done.

7
Proceedings of the 38th ESReDA Seminar, Pecs, Hungary, May. 04-05.2010

After getting the value of hi ( ∆t ) in case of Wildeman from eq.(7) or having the value of c (t ; k ) in case of
Vatn from eq.(10),the idea now is simply to maximize the savings by creating candidates groups. In case of
Vatn, the savings can be expressed as:

Ψ ( t ; k ) = S ( k − 1) − ∑ c(t ; k ) (12)
i∈K k

The candidate groups are found by starting with the activity with lowest tentatively execution time, and
trying to group it together with the next activity. This forms the first candidate group, consisting of two
activities with a maximum saving of S. The next candidate group is made by including the third activity in
equation (11), with a maximum saving of 2S, and so on. The searching for new candidate groups stops
when the savings starts dropping as a new activity is included.

Note that there is a possibility that the last activity considered in a candidate group contribute to a larger
saving by not being included in this candidate group. Therefore a test is conducted by backtracking –
starting with the last activity in the candidate group and create new candidate groups within the original by
splitting it in two. Thereafter a comparison of the savings is conducted.

4. Implementation

The procedure is demonstrated by analyzing components in a gas lift compressor at a sea going oil
production vessel. Input data is taken from a FMECA, formally done on the compressor.

Table 1. Snapshot of FMECA for gas lift compressor


ID Component Function Failure Failure Cause
Mechanism
202 Bearings – drive end Ensure correct horizontal Wear Roller bearing failure
and vertical position
241 Bearings – non drive end Ensure correct horizontal Wear Roller bearing failure
and vertical position
248 High pressure cylinders Compress gas Wear, fatigue Piston ring
and piston
250 Low pressure valves (first Open and close Wear, fatigue Spring failure, and valve
stage) plate failure
251 Low pressure valves Open and close Wear, fatigue Spring failure, and valve
(second stage) plate failure
252 Crosshead guide Guide the piston Wear, fatigue Breakage
256 Pressure packing’s – Oil Prevent oil from leaving Wear Wear of carbon rings
crank case
258 Pressure packing’s – Gas Prevent gas cylinder to Wear Wear of carbon rings
surroundings

Set-up costs are assumed to be a function of the time needed to shut down and start up the system ( t S ),
how many workers that are involved ( nl ), cost per man-hour ( cl ) and the downtime cost per hour
downtime of the system ( c d ):

S = tS ⋅ ( nl ⋅ cl + cd ) (13)

With values shown in Table 2 we obtain S = 20,200 US $.

Table 2. Parameter values in relation to shutdown


tS 2 Hours
nl 2 Persons
cl 50 US $

8
Advanced Maintenance Modelling

cd 10000 US $

We assume a standard age replacement model, but it is easy to adopt to more complex situations where we,
for example, combine inspection and replacement upon condition rather than age (see e.g., Podofollini [15]
for an example model).

In the first step of the algorithm we first assess k = 2 for all activities, meaning that we initially believe that
in average more than half of the activities are included in each execution of a maintenance group. Further
we assume that we have a winter season each year from the first of November to the first of March. All
processes on the boat are also scheduled to shut down one time each year at the first of January. We do not
assume to have any constraints regarding the length of the shutdown, meaning that there is no extra cost
related to activities with long MDT.

Table 3 gives cost figures for the compressor components. All failure times are assumed to be Weibull
distributed. The scale parameter has been taken from the FMECA while the age parameter has been
established on a very qualitative understanding of failure mechanisms.

Table 3. Cost figures and reliability parameters

Ageing, xi* (months) Φ*i


ID cp
c r MTTFi
i i
(months) αi Iterative Iterative
GA GA
scheme scheme
202 492400 2099400 6 3,5 3,544 3,541 203098,5 203098,6
251 123100 223100 6 3,5 4,875 4,988 40448,3 40434,2
250 243700 343700 6 3,5 5,334 5,682 71580,3 71462,1
252 130600 230600 9,6 3,5 7,868 8,056 26508,4 26497,7
258 153750 253750 12 3,5 10,065 10,376 24223,0 24208,3
256 153750 253750 24 3,5 20,129 20,753 12111,5 12104,1
248 246200 346200 24 3,5 21,363 22,776 18054,6 18024,2
241 371800 471800 48 3,5 44,611 48,000 13014,7 12971,4

We use equation (6) to find xi* for each activity through iterative scheme means and S was replaced with
“S/k”. The result is shown in Table 3 for xi* and then putting this value in equation (7), we obtain the value
of Φ*i .
In case of GA solution, equation (7) was the objective function and minimum value of Φ*i was achieved at
optimum xi* . The result is shown in Table 3 along with that of obtained by iterative scheme means. The
GA solution was obtained by using the GA module of “Gene Hunter” software [16].

Then we calculate the optimum of each individual activity, ti* = xi* − xi (Both for iterative scheme and
GA). In the example we have assumed that initially all xi ’s are zero (all components replaced). These
values are sorted in Table 4 (values given in months) with iterative scheme solution and in Table 5 (values
given in months) with GA. Next step is to establish candidate groups, and we calculate Ψ (t; k ) . The
maximum savings are shown in Table 4 and Table 5. The minimum is found for k = 1. Further Ψ (t ;1) has
its maximum for t* =3.54 months and in this case it is 0. We now proceed, and set xi to 0 for those
activities which are executed (i.e., i ≤ 1), whereas xi ← xi + 3,54 months for i > 1. Finally we set date =
date + 3, 54 months before we go to Step 1 again. The next group of activities is similarly found to be
executed at t* = 5, 37 and t* = 4, 96 months, with k = 2 for iterative scheme and GA solutions, both are
shown in Table 4 and Table 5 respectively.

9
Proceedings of the 38th ESReDA Seminar, Pecs, Hungary, May. 04-05.2010

5. Comparison of Iterative scheme and GA Results


The values of optimal maintenance interval and corresponding optimal maintenance cost are shown in
Table 3 both for iterative scheme and GA solution. When the comparison between these two solutions is
carried out, then it is evident the value of ( xi* )GA (for GA) is clearly more than that of ( xi* ) A (for iterative
scheme). It shows that GA has explored more solution space and due to this higher values of ( xi* )GA , the
*
corresponding optimal cost values Φ i obtained by GA are less as compared to that of obtained by iterative
scheme means. It is clear that at each solution, the value of ( xi* )GA is higher than ( xi* ) A and this
corresponds to less value of (Φ ) *
i GA compared to (Φ ) *
i A . In Figure 1, the difference of

∆xi* = ( ( xi* )GA − ( xi* ) A ) and in Figure 2, the corresponding difference of ∆Φ*i i.e.

∆Φ*i = ( Φ*i ) ( GA
− ( Φ*i )
A
) are shown. At the start, as the value of ∆xi* is increasing, there is an
* *
corresponding decrease in ∆Φ i . This increment in ∆xi is quite evident at number 3 and at this point, there
* * *
is a sharp decrease in ∆Φ i . From 3 to 4, the value of ∆xi decreases, and then ∆Φ i does the opposite but
* * *
from 4 to 5, ∆xi increases but ∆Φ i decreases. From 5 to 8, the value of ∆xi increases and
* *
correspondingly ∆Φ i decreases with only exception at point 6. It shows that the change in ∆xi from one
*
component to another has some effect on the value of ∆Φ i but we can not say that both are highly
correlated with each other.

Difference of Optimal Maintenance Interval between GA and Analytical Solution


( GA-Iterative Scheme)
4
Optimal Mainte Inverval

3
Optimal Maint Interval Diff
2
Diff

0
1 2 3 4 5 6 7 8
-1
Figure 1: Difference of Optimal Maintenance Interval obtained by Iterative scheme and GA Solutions

Difference of Optimal Cost between GA and Analytical Soultions


50 (GA-Iterative Scheme)
Optimal Cost Difference

0
1 2 3 4 5 6 7 8
-50

Optimal Cost Diff


-100

-150
Figure 2: Optimal Cost Difference obtained by Iterative scheme and GA Solution

10
Advanced Maintenance Modelling

In case of dynamic grouping, when the procedure terminates after the first 20 iterations (Table 4 & 5), we
have a total saving of 0,71 and 0,77 million US $ in case of iterative scheme and GA solutions which
correspond to a yearly saving of 0.14 and 0.17 million US $ respectively. The savings given by iterative
scheme and GA were 12,09% and 15,01% as compared to total maintenance cost of the gas lift compressor
and this corresponds to per year savings of 3,02% and 3,75% per year in case of iterative scheme and GA
respectively. When the savings of iterative scheme and GA were mapped on the same scale, then the
savings given by iterative scheme and GA were of 12524, 52 and 14456, 47 respectively.

We have recorded the values of k which in this problem ranges from 1 to 6, with an average value of 2.5 for
iterative scheme solution, which is slightly higher than the initial assessment of k = 2. The value of k
recorded for GA solution was of 2.6 based on the number of groups ranges from 1 to 5 which is slightly
higher than what we obtained from iterative scheme means.

11
Proceedings of the 38th ESReDA Seminar, Pecs, Hungary, May. 04-05.2010

Table 4. Result of first 20 iteration (Iterative scheme )


Iteration Candidate group ( )
Ψ t; k t k (months) Date Remarks

Start 0 01.01.2011
1 {202} 0,000 3,54 16.04.2011
2 {251,250} 29697,5 5,37 11.06.2011
3 {202,252} 28299,9 7,12 21.08.2011
4 {202,251,258} 49977,9 10,64 19.11.2011
5 {250} 0,000 11,13 03.12.2011
6 {202,252} 28611,3 14,21 06.03.2012
7 {251,250,256} 43128,5 16,52 15.05.2012
8 {202} 0,000 17,75 22.06.2012
9 {202,251,250,258,248} 87192,8 21,40 13.10.2012
10 {202,252} 20916,9 24,86 25.01.2013
11 {251,250} 29733,4 26,79 23.03.2013
12 {202} 0,000 28,39 11.05.2013
13 {202,251,250,252,258} 89010,5 31,99 01.08.2013
14 {202,256} 29350,7 35,55 15.12.2013
15 {251,250} 29681,6 37,39 11.02.2014
16 {202,252,258} 41530,0 39,22 06.04.2014
17 {251,250} 29671,2 42,81 24.07.2014
18 {251,250,252,258,248,241} 107925, 48,21 06.01.2015 Planned SD
19 {251,250,256} 47861,5 53,53 16.06.2015
20 {252,258} 25932,7 57,39 11.10.2015

Table 5. Result of first 20 iteration (GA )


Iteration Candidate group Ψ (t; k ) t k (months) Date Remarks

Start 0 01.01.2011
1 {202} 0,000 3,54 16.04.2011
2 {251,250} 27192,6 4,96 29.05.2011
3 {202,252} 28320,8 7,124 03.08.2011
4 {202,251,250,258} 69615,2 10,61 18.11.2011
5 {202,252} 27999,6 14,19 05.03.2012
6 {251,250,258} 41218,7 15,99 01.05.2012
7 {202,251} 31107,0 18,00 01.07.2012
8 {202,252,258} 49351,8 21,56 16.10.2012
9 {251,250,248} 48099,7 22,84 25.11.2012
10 {202} 0,000 25,12 03.01.2013
11 {202,251,250,252} 68430,2 28,64 19.05.2013
12 {202,258,256} 42081,7 32,21 06.09.2013
13 {251,250} 29048,1 34,03 01.11.2013
14 {202,252} 28381,3 35,78 23.12.2013
15 {202,251,250} 49721,2 39,34 10.04.2014
16 {202,252,258,248,241} 87146,1 42,93 28.07.2014 Planned SD
17 {251,250} 29028,8 44,74 22.09.2014
18 {202} 0,000 46,43 13.11.2014
19 {202,251,250,252,256} 87568,6 50,04 01.03.2015
20 {202,258} 30208,2 53,57 17.06.2015

The result of dynamic grouping both obtained by iterative scheme and GA are shown in Table 4 & 5. The
results of first 20 iterations are shown and we may explore the whole planning horizon. In Figure 3, the
difference of optimal time from one iteration to another is illustrated obtained by iterative scheme and GA
solutions (Refer to Table 4 &5) and the corresponding difference in savings from one iteration to another
one for GA and iterative scheme solution in Figure 4. The average time travel of GA for first 20 iterations
was of 2.678 from one iteration to another and for that of iterative scheme it was of 2.868. This time
difference from one iteration to another one has a significant effect on the net savings we get at the end of
the day. One fact is quite evident that after the 20 iterations, the total time of GA was of 53.57 and that of
iterative scheme was of 57.36 and corresponding total savings were of 0.77 and 0.71 Million US $
respectively. Even if we compare the total savings for four years , even then the savings are of 0.64 and
0.65 Million US $ from iterative scheme and GA solution.

12
Advanced Maintenance Modelling

Difference of Time from One Iteration to another for


GA and Iterative Scheme in Grouping
6
TIme Difference at Each

GA Iterative Schemel
5
Iteration

4
3
2
1
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Figure 3: Time Difference from One Iteration to another for GA and Iterative scheme Solution

Difference of Savings from One Iteration to anothr for


GA and Iterative Scheme in Gropuping
1.00E+05
8.00E+04 GA Iterative Scheme
Diference in Savings at Each

6.00E+04
4.00E+04
Iteration

2.00E+04
0.00E+00
-2.00E+04 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
-4.00E+04
-6.00E+04
-8.00E+04
Figure 4: Difference of Savings from One Iteration to another for GA and Iterative scheme Solution

While comparing Figure 3 & 4, it is quite clear that time difference between one iteration to another ∆
and ∆ have some effect on how the values of corresponding savings changes from one iteration to
another say ∆  and ∆  . The important things is that the value of ∆  are
going in consonant with those of ∆  in Figure 4 with exceptions at iteration 8th, 13th, and 19th
iterations. In Figure3, most of the values of ∆ and ∆ are in a discord state with each other except
some similar at the start (iterations 1 to 4) and at the end (iterations 19-20). But this discordance
between∆ and ∆ have not significant effect on the behavior of ∆  and∆  .
This shows an important fact that change in execution time of maintenance (with in the limits of dates
given by GA and iterative scheme solution) will affect the net savings but the amount of this net saving will
vary from iteration to iteration (from one time period to another). Moreover getting results from two
models and their degree of fit with each other will give flexibility in schedule to maintenance engineers to
adjust other known and unknown factors at that time.

Important information we require is to decide about the timing of shut down. The timing of shut down
could be determined when most the components will be renewed. In case of GA, the shut down can be
planned in 42.93 when most of the components will be renewed and that in case of iterative scheme it will
be in 48.28.

6. Dynamic Grouping Vs Static Grouping


The dynamic grouping model requires some computing effort, as well as a flexible maintenance system
allowing maintaining the component groups at their optimum times. An alternative approach is to use static

13
Proceedings of the 38th ESReDA Seminar, Pecs, Hungary, May. 04-05.2010

grouping, see e.g. Wildeman [3] where a certain predefined interval, say T, is set for allowing preventive
maintenance. Each component could then be maintained with intervals of length ki⋅T where ki is an integer.

Detailed comparison has been made between the dynamic and static grouping regimes and it has been
established that while using the dynamic type of grouping, more money is saved as compared to static one.
It has been established that dynamic group must be preferred unless the administrative cost of it regime is
too high compared with static grouping [17]. Based these results, it could be established that the same trend
will be revealed when the static grouping will be done by using iterative scheme and GA tools. It means
that when the results of dynamic grouping carried out by iterative scheme and GA tools would give better
results with those of carried out for static grouping.

7. Conclusions
The proposed dynamic grouping model is capable of suggesting grouping strategies based on real data, and
thereby be a decision support tool in the planning of future maintenance. The use of a dynamic scheduling
regime also creates a flexibility regarding changes as new information become available. The dynamic
model also enables to treat unforeseen situation, e.g., when the operator gets an alarm on the system, and
thereby have the possibility of three different maintenance options all creating different saving. The
operator may have to take a quick decision, and the model demonstrates the magnitude of savings of the
three options, creating a decision support tool for the operator.

The results show that GA solution gives more saving as compared to iterative scheme in most of the cases
and offers a smart alternative to iterative scheme. The effectiveness of GA will be more visible when the
problem becomes complex and it is hard to differentiate.

The model was applied to offshore sea vessel and with modifications the same could be applied to the
maintenance of offshore wind farms and this area of offshore wind farms have started to emerge on a rapid
scale. In this scenario, the proposed model could be tested on offshore wind farms and it is expected that it
will give reliable and accurate results regarding the planning of maintenance activities.

8. Future Works
With the cost data used here where PM and CM cost are very similar, for some components a corrective
strategy might be more advantageous than a preventive strategy as we apply (see component IDs
241,248,250,258 in Table 3). This also means that the proposed iterative schemes (equation 6) are not very
robust, since maintenance interval is very close to MTTF. These aspects will be included in the future
modeling that for some we rather should evaluate a corrective strategy.

Optimal interval and size of the groups will be determined by using GA and then the robustness of GA will
be revealed in more realistic way.

References
[1] Cho, D.I. and Parlar, M. A survey of maintenance models for multi-unit systems. European Journal of
Operational Research, 51:1-23, 1991.

[2] Dekker R, Schouten F A D and Wildeman R E. A review of Multi-component maintenance models with
economic dependence. Econometric Institute Report 28, Erasmus University Rotterdam, Econometric
Institute. 1996.

[3] Wildeman R E. The art of grouping maintenance. PhD thesis. Available as “Discussion Paper 66”,
Erasmus University Rotterdam, Faculty of Economics. 1996.

[4] J.H. Holland. Adaptation in Natural and Artificial System, University of Michigan Press, Ann Arbor,
MI(1975).

[5] M.Gen and R.Cheng., Genetic Algorithms and Engineering Optimization, Wiley, New York (2000).

14
Advanced Maintenance Modelling

[6] C. Mares and C. Surace, An application of genetic algorithms to identify damage in elastic structures.
Journal of Sound and Vibration 195 2 (1996), pp. 195–215.

[7] Z. Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs, Springer, New York
(1996).

[8] S.Forrest, Genetic algorithms: principles of natural selection applied to computation. Science 261 5123
(1993), pp. 872–878.

[9] R.S. Sharp and D.A. Crolla, Road vehicle suspension system design: a review. Vehicle System
Dynamics 16 (1987), pp. 167–192.

[10] Wildeman R.E., Dekker R and Smit A C J M. A Dynamic Policy for Grouping Maintenance
Activities. 1996 European Journal of Operational Research, Volume 99:3, pp 530-551. 1997.

[11] Chang KP, Rausand M, Vatn J, Reliability assessment of reliquefaction systems on LNG carriers.
Reliability Engineering and System Safety. 93:9, pp 1345-1353. 2008.

[12] Aven, T. and Vatn, J. An approach to maintenance optimisation where safety issues are important.
Submitted to Reliability Engineering and Systems Safety for publication. 2008.

[13] Vatn J. Maintenance in Rail Industry. Complex System Maintenance Handbook, pp 509-532, Springer.
ISBN: 978-1-84800-010-0. 2008.

[14] Budai G, Huisman D,Dekker R. Scheduling Preventive Railway Maintenance Activities (2005).
Accepted for publication in Journal of the Operational Research Society.

[15] Podofillini L, Zio E, Vatn J. Risk-informed optimization of railway tracks inspection and maintenance
procedures. Reliability Engineering and System Safety 91:1, pp 20-30, 2006.

[16] http://www.ward.net/

[17] Lyngby,N., Vatn,J., Dynamic grouping of maintenance activities, Accepted for the Proceedings of the
34th ESReDA Seminar , San Sebastian, Spain, May. 13-14.2008.

15

You might also like