Discrete event simulation (DES) is a powerful technique that can be used to to solve more complex system reliability modeling and supportability problems. This article discusses using the Discrete Event Simulation tool in the Reliability Analytics Toolkit for spare parts planning purposes.
This article uses the pre-filled input in the Discrete Event Simulation tool – simply click the calculate button to experiment for yourself.
In order to generate a spare parts usage table, part numbers must be defined for each serial numbered item entered into Input #1, as highlighted in yellow below. The tool expects part number to be in the fifth input field, to the right of a part description.
Setting the simulation for 100 trials of 8,760 hours each results in the following table showing per trial spare parts usage. The table also provides an indication of the variability in spare parts required by showing the maximum and minimum number of spare parts required over the 100 trials.
Spares Table Observations:
In the first row, part number 223141 was coded to fail exactly on 2,190 hour intervals. Since we simulate for 8,760 hours per trial, one might expect four failures, and thus four spares would be required (8760/2190 = 4). However the table shows a max, min and average spares of 3 required for this part number. This is because the part number was coded to take one hour to restore. Therefore, a fourth spare would not be needed until the simulation clock reaches 8,764 hours, which accounts for the one hour restoration time for each of the four failures. Because each trial ends at time 8,760 hours, three spares are required, not four. However, extending the simulation time by four hours to 8,764 hours in Input #4A will result in 4 spares required for part number 223141.
The second row of the table, part number 543221, required an average of 2.3 failures with a minimum of 1 and a maximum of 4. There are two 543221 parts in the system, with an MTBF of 5,000 hours. At first glance one might expect (1/5000)*2*8760 = 3.5 failures, and thus an average of 3.5 spares required. Why does the table indicate only 2.3 spares for part number 543221? The reason that this part number is associated with sn3 and sn4 and these two serial numbers were coded to be restored only on 4,000 hour intervals (input #3, regularly scheduled preventive maintenance, shown below). Therefore, there is often a significant wait time for restoration when no further failures can occur, thus no further spares are required.
However, 3.1 spares is still less than the 3.5 expected. A second reason why we are getting an average that is less than expected is because the serial numbers associated with this part number were coded in input #1 to take 68 hours to restore, with a standard deviation of 48 hours and a normal distribution, as shown below:
The remaining difference (3.3 versus the expected 3.5) is caused by the variability with simulating only 100 trials. Leaving the seed input blank (input #5) and rerunning the 100 trial simulation several times will result in an average spares required for part number 543221 that varies around 3.5.
The above table shows that for 1000 trials, the maximum spares ever required for a one year period was 11. So, at least one time in 1000 trials, 11 spares were required. Checking this result against the Poisson spares calculator, with a confidence of 0.999, results in 11 spares being required:
A confidence of 0.999 means that 999 times out of 1000 we expect 11 spares to be sufficient; however, for one time out of 1000 we expect more than 11 spares to be required. For the simulation results shown above, the maximum was 11 spares after 1000 trials, therefore, this is not exactly what is expected based on the Poisson calculation above. We would expect that for at least one trial would require 12 spares. This unexpected result is again due to the variability associated with the simulation and not fully reaching a steady state. Removing the seed in input #5 and rerunning the simulation several times will result in the expected maximum of 12 spares, as shown below:
The Flow regulator, part number 665789 shown in the third row above requires an average of 17.1 spares. This item fails approximately once every 800 hours. On average, we would expect 8760/800=10.95 failures for one item. This part was coded to take 168 hours to repair, therefore, on average there is 8760-10.95*168 = 6920 hours during which the item can fail (it is down for repair other times). The expected failures for one item during this operating time is 6920/800 = 8.7 failures. For two items, 2*8.7 = 17.4, which is about what the average spares required is based on the simulation results. Clicking the up/down charts helps visualize this process, for example showing 18 failures for trial #1:
The fourth row in the above table, part number 830254, shows only 3.3 failures required. This may seem wrong at first, as this item fails every 1000 hours. However, this part number is associated with sn8 and sn9, which were specified to be restored to as good as new every 525 hours in Input #3:
Therefore, since this part number 830254 was coded to fail in accordance with a Weibull distribution, with a characteristic life of 1000 hours, and a shape parameter of 3.5, which approximates a normal distribution probability density function, most failures will occur after 525 hours of life. Therefore, because we have specified with Input #3 that new bearings are installed every 525 hours, only an average of 3.3 spares are needed for corrective maintenance, but the price to pay for the lack of failures during operation is than an average of 31.5 spares are needed for preventive maintenance:
8760/525=16.7, therefore 16 PM actions per year are made for each bearing. Since we have two bearings, we expect 2*16=32 bearings to be used for PM, which agrees reasonably with the simulation result of 31.5.
The final row of the table for 830258, Power Supply, requires an average of 1.3 spares per year. There are three power supplies, so we expect (1/20000)*3*8760 = 1.3 failures, therefore, the simulation result is as expected.