Spare part modelling – An introduction Jørn Vatn 1 Motivation For single component optimization models (wrt ) indicates that there might be beneficial to keep a spare in order to reduce the MDT, and hence the cost of a failure If we only have one component, we can compare the situation with, and without a spare, and find the best solution In case of many components, there will be a “competition” on achieving the spare in case of simultaneous failures Thus, we may consider to have more than one spare in stock What will be the optimal number of spares to keep 2 Content Situation 1 A situation with only one maintenance base, where failed components achieve a spare from the stock if available The failed component is repaired in a workshop, there are infinite number of repair men Situation 2 Components can not be repaired any longer, and at a critical stock size, n, we order m new spares There is a lead time before spares arrive Lead time is gamma distributed What we do not cover More than one maintenance base Several local, and one central stock Many other aspects 3 Model assumptions, situation1 Constant rate of failure (total for many components) = Number of spares = s An inventory (stock) holds available spares Failed spares are repaired in the workshop Number of spares in the workshop = X Repair rate for each failed component = Infinite number of repair men 4 Modelling According to Palms theorem X Po( /) Introduce 𝑝 𝑘 = Pr 𝑋 = 𝑘 = 𝜆 𝑘 𝜇 𝑘! 𝑒 −𝜆/𝜇 𝑝 0 = 𝑒 −𝜆/𝜇 𝑝 𝑠+1 = 𝜆 𝜇 𝑠+1 𝑝 𝑠 Probability of shortage 𝑅 𝑠 = 𝑃 𝑋 > 𝑠 = ∞ 𝑘=𝑠+1 𝑝(𝑘) 𝑅 0 = 1 − 𝑝(0) 𝑅 𝑠+1 = ∞ 𝑘=𝑠+2 𝑝 𝑘 = ∞ 𝑘=𝑠+1 𝑝(𝑘) − 5 𝑝 𝑠 + 1 = 𝑅 𝑠 − 𝑝(𝑠 + 1) Modelling, cont The number of components failed waiting for a spare is denoted the number of backorders = BO EBO 𝑠 = 𝐸 𝐵𝑂 = 𝐸(max 0, 𝑋 − 𝑠 ) = EBO 𝑠 + 1 = ∞ 𝑘=𝑠+2(𝑘 ∞ 𝑘=𝑠+1(𝑘 − 𝑠)𝑝(𝑘) ∞ 𝑘=𝑠+1(𝑘 − 𝑠 − 1)𝑝(𝑘) − 𝑠 − 1)𝑝(𝑘) = EBO 𝑠 + 1 = EBO 𝑠 + ∞ 𝑘=𝑠+1 −1 𝑝 𝑘 = EBO 𝑠 − 𝑅(𝑠) The following recursive regime may thus be used 𝑝 0 = 𝑒 −𝜆/𝜇 𝑅 0 = 1 − 𝑝(0) EBO 0 = 𝐸 𝑋 = 𝜆/𝜇 𝑝 𝑠+1 = 𝜆 𝜇 𝑠+1 𝑝 𝑠 𝑅 𝑠 + 1 = 𝑅 𝑠 − 𝑝(𝑠 + 1) EBO 𝑠 + 1 = EBO 𝑠 − 𝑅(𝑠) 6 Visual basic Function PrepModel1(lambda As Single, mu As Single, _ sMax As Integer, p() As Single, _ R() As Single, EBO() As Single) Dim lm As Single lm = lambda / mu p(0) = Exp(-lm) R(0) = 1 - p(0) EBO(0) = lm For s = 0 To sMax - 1 p(s + 1) = lm * p(s) / (s + 1) R(s + 1) = R(s) - p(s + 1) EBO(s + 1) = EBO(s) - R(s) Next s End Function 7 Simple cost model Cost figures CU = Cost of unavailability of a component per unit time CS = Capital cost per unit time to keep a spare in stock Cost equation 𝐶 𝑠 = 𝐶𝑆 𝑠 + 𝐶𝑈 EBO(𝑠) 8 Visual basic Function OptimizeModel1() Dim p(0 To 10) As Single Dim R(0 To 10) As Single Dim EBO(0 To 10) As Single Dim Cu As Single Dim Cs As Single Dim s As Integer Cu = 10000 Cs = 1 PrepModel1 0.01, 0.1, 10, p, R, EBO For s = 0 To 10 Debug.Print s, Cs * s + Cu * EBO(s) Next s End Function 9 Example result s 0 1 2 3 4 5 6 7 8 9 Cost 999.9999 49.37424 3.585931 3.039493 4.001117 5.000443 6.000523 7.000615 8.000708 9.0008 10 10.00089 10 Markov modelling Since failures and repairs are exponentially distributed an alternative modelling approach will be to use Markov We may implement different strategies, e.g., an finite number of repair men We may also introduce semi-Markov models to treat nonexponential repair times, or use virtual states in a phase type modelling approach Drawbacks It is hard to treat an infinite number of back orders We need manually to specify the transition matrix For huge systems, time and storage capacity is a limitation 11 Markov diagram Shortage of spares Number of spares in stock …. s 0 s -1 (s+1) 12 -2 (s+2) -3 (s+3) …. Solutions Transition matrix State vector Steady state solution Visiting frequencies 13 a00 a Transition matrix 10 A The indexing generally starts on 0, and moves to r, e.g., there are r +1 ar 0 system states (we need special indexing) a01 a11 aij ar1 a0 r a1r arr Each cell in the matrix has two indexes, where the first (row index) represent the ”from” state, whereas the second (column index) represent the “to” state. The cells represent transition rates from one state to another aij is thus the transition rate from state i to state j The diagonal elements shall fulfil the condition that all cells in a row adds up to zero 14 State probabilities Let Pi(t) represent the probability that the system is in state i at time t Now introduce vector notation, i.e. P(t) = [P0(t), P1(t),…,Pr(t)] From the definition of the matrix diagram it might be shown that the Markov state equations are given by: P(t) A = d P(t)/d t These equations may be used to establish both the steady state probabilities, and the time dependent solution 15 The steady state solution In the long run when the system has stabilized we must have that d P(t)/d t = 0, hence PA = 0 This system of equations is over-determined, hence we may delete one column, and replace it with the fact that P0+ P1+…+Pr = 1 Hence, we have 16 The steady state solution P A1 = b where a00 a 10 A1 ar 0 a01 a11 a r1 1 1 1 and b = [0,0, …,0,1] 17 Transition matrix To -3 From -3 From -2 From -1 From 0 From 1 From s =Lambda 0 0 0 0 To -2 =(s+3)*Mu =Lambda 0 0 0 To -1 0 =(s+2)*Mu =Lambda 0 0 18 To 0 0 0 =(s+1)*Mu =Lambda 0 To 1 0 0 0 =(s+0)*Mu =Lambda To s 0 0 0 0 =(s-1)*Mu Solution our example Steady state solution is obtained by P A1 = b Fraction of time with spare part shortage = 1 is found by: U1 = P-1 Fraction of time with spare part shortage = 2 is found by: U2 = P-2 etc. Total unavailability U = U1 + 2U2 + 3U3 19 Results Steady state pr. P-3 7.589E-08 P-2 3.771E-06 P-1 1.508E-04 P0 4.524E-03 P1 9.048E-02 P2 9.048E-01 EBO= Cost= BO Contr 3 2.27665E-07 2 7.54159E-06 1 0.000150808 0 0 0 0 0 0 0.000158578 3.585775317 20 Assume only 1 repair man Shortage of spares Number of spares in stock …. s 0 -1 -2 21 -3 …. Structure of transition matrix Define “infinity”, e.g., “- = -3” (as high as feasible) The transition matrix starts with row index “-” There are altogether + 1 + s rows The elements below the diagonal is always If infinite number of repair men, the elements above the diagonal starts with repair rate ( + s) and decreases with for each cell downwards the diagonal Each row sums up to 0 in order to find the diagonal elements To -3 From -3 From -2 =Lambda From -1 0 From 0 0 From 1 0 From s 0 To -2 =(s+3)*Mu =Lambda 0 0 0 To -1 0 =(s+2)*Mu =Lambda 0 22 0 To 0 0 0 =(s+1)*Mu =Lambda 0 To 1 0 0 0 =(s+0)*Mu =Lambda To s 0 0 0 0 =(s-1)*Mu Model assumptions, situation 2 Constant rate of failure = Mean lead time when ordering new spares = MLT Lead times are Gamma (Erlang) distributed with parameters = 4, and = / MLT Note that = 4 may be changed to account for general value of SD(LT) = ½ / Ordering totally m new spares when stock level equals n 23 Phase type distribution and semi-Markov A continuous-time stochastic process is called a semiMarkov process if the embedded jump chain is a Markov chain, and where the holding times (time between jumps) are random variables with any distribution, whose distribution function may depend on the two states between which the move is made Semi-Markov processes are hard to work with A phase-type distribution is a probability distribution that results from a system of one or more inter-related Poisson processes occurring in sequence, or phases. The distribution can be represented by a random variable describing the time until absorption of a Markov process with one absorbing state. Example Erlang distribution 24 Diagram for stock n = Number of components at replenishment .... Out of stock .... New order Out of stock .... .... .... m = Number of component replenished 25 ... ... Markov diagram, step 1 (failures) m+n n 0 26 -1 -2 -3 Markov diagram, step 2 (“repair”) m+n n 0 n1 n2 n3 27 -1 -2 -3 Markov diagram, step 2 (“repair”) m+n n 0 -1 -2 -3 n1 n2 n3 = rate of order, passing 4 steps The blue states repersent substates in the order If no components are taken out of stoc, it will be m + n components at the time of replenishment 28 Markov diagram, step 3 (still failing…) m+n n 0 n1 n2 n3 29 -1 -2 -3 Markov diagram, step 4 (complete model) m+n n 0 n2 n3 01 30 -2 -3 -11 02 03 -1 n1 -12 -13 Solution for our example Steady state solution is obtained by P A1 = b Fraction of time with spare part shortage = 1 is found by: U1 = P-1 + P-11 + P-12 + P-13 Fraction of time with spare part shortage = 2 is found by: U2 = P-2 + P-21 + P-22 + P-23 etc. Total unavailability formula in Excel: U = U1 + 2U2 + 3U3 Frequency of running out of spares equals F = (P-0 + P-01 + P-02 + P-03) 31 What is ? Assume that we have a huge number (N) of components with Weibull distributed life times Consider the situation where t < In this period there is no PM, i.e., we may assume a corrective strategy The total rate of failures as a function of t is N w(t) where w(t) = W(t)/ t is the renewal rate Initially N w(t) should form the basis for the total failure rate, After some time we set = N [1/ + E()] 32