** Console program for spare parts from poisson distribution at 95%C ** This page is under development. Comments are welcome, but please load any comments in the comments section at the bottom of the page. Please include your wiki MONIKER in your comment with the same courtesy that I will give you. Its very hard to reply understandably without some background of the correspondent. Thanks,[gold] ---- <> [gold] Here is an eTCL console program for spare parts in warranty period based on poisson distribution, lamda=1. Calculate spare parts in warranty period for 95% confidence level (eg. > 95%C). Calculations estimate spare parts or spare drives for a cloud backup system. This report references both the poisson and normal distributions, as implemented in TCL. *** Pseudocode and Equations *** ====== #pseudocode can be developed from rules of thumb. #pseudocode: some problems can be solved by proportions (rule of three), to some order of magnitude #pseudocode: enter quantity1, quantity2, quantity3 and expected output (quantity4) for testcases. #pseudocode: enter time in years, number of remaining items #pseudocode: output fraction of (remaining items) over (items at time zero) #pseudocode: ouput remaining items as fraction or percent #pseudocode: output fraction of (quantity4 ) over ( quantity1 at time zero) #pseudocode: output fraction of (quantity2) * (quantity3 ) over (quantity1 at time zero) #pseudocode: outputs should be in compatible units. #pseudocode: rules of thumb can be 3 to 15 percent off, partly since g..in g..out. #pseudocode: need test cases > small,medium, giant #pseudocode: need testcases within range of expected operation. #pseudocode: are there any cases too small or large to be solved? ====== ---- ***Testcases Section*** **** Testcase 1 **** %|table 1, Spare Parts for one operating device from iterative poisson solution|printed in| tcl wiki format|% %| quantity| value| comment, if any|% &| testcase number:|1 | iterative solution from poisson|& &| 400. :|warranty hours or expected lifetime, MTBF hours | mean time between failures |& &| 0.003534 :|failure rate per hours | usually given in specs |& &| 95 :|percentile for iterative solution | usually 95 |& &| 282.965 :|answers: MTTF hours from givens | mean time to failure |& &| 117.034 :|MTTR hours from givens, mean time to repair | MTTR=MTBF-MTTF |& &| 0.7074 :|availability without spares | A0=MTTF/MTBF |& &| 565.930 :|MTTFD without spares, mean time to dangerous failure | MTTFD=2*MTTF |& &| 0.963 :|experimental availability from probability with spares | A0=experimental formula |& &| 260.0 :|experimental MTTF from exponential model | |& &| 0.00385 :|experimental failure_rate_per_hours from exponential model | |& &| 1.4136 :|average failures across warranty period | |& &| 1.4136 :|simple replacement of average failures with spares, approx. 50%C | |& &| 2.0 :|rounded up simple replacement of average failures | |& &| 0.973 :|probability on last iteration |& &| 4 :|iterations for solution from poisson distribution| |& &| 4 :|poisson spare parts from iterative solution | |& ---- %|textbook table solution gives 4 spares | warranty=400 hours | 1.4 failures in 400 hours| 0.003534 f/hr | 16 days interval | MTTF=283 hours |% %|from real_life problem | |||poi. & nor. distributions from CRC rubber & textbook tables||% &| probability of X row >>> | p(0)| p(1)| p(2) | p(3) | p(4) |& &| textbook poisson cdf,L=1 | .3679 | .7358 | .9197 | .9810 |.9963 |& &| textbook poisson pdf,L=1 | .3679 | .3679 | .1839 | .0613 |.0153 |& &| textbook normal cdf,S=1 | .5000 | .8413 | .9773 | .9987 |1.0 |& &| textbook normal pdf,S=1 | .3989 | .2420 | .0540 | .0044 |.0001 |& &| solution of 4 spares > 95% | | | | 4 spares col. ^^^^ | |& &| % difference in cum. curves| | 14.3% | 6.2% | 1.8% | 0.37% |& ---- ---- **** Testcase 2 **** %|table 2, Spare Parts for one operating device from iterative poisson solution|printed in| tcl wiki format|% %| quantity| value| comment, if any|% &| testcase number:|2 | iterative solution from poisson|& &| 400. :|warranty hours or expected lifetime, MTBF hours | mean time between failures |& &| 0.003534 :|failure rate per hours | usually given in specs |& &| 90 :|percentile for iterative solution | usually 95 |& &| 282.965 :|answers: MTTF hours from givens | mean time to failure |& &| 117.0345 :|MTTR hours from givens, mean time to repair | MTTR=MTBF-MTTF |& &| 0.7074 :|availability without spares | A0=MTTF/MTBF |& &| 565.930 :|MTTFD without spares, mean time to dangerous failure | MTTFD=2*MTTF |& &| 0.9630 :|experimental availability from probability with spares | A0=experimental formula |& &| 260.0 :|experimental MTTF from exponential model | |& &| 0.00385 :|experimental failure_rate_per_hours from exponential model | |& &| 1.4136 :|average failures across warranty period | |& &| 1.4136 :|simple replacement of average failures with spares, approx. 50%C | |& &| 2.0 :|rounded up simple replacement of average failures | |& &| 0.973 :|probability on last iteration |& &| 4 :|iterations for solution from poisson distribution| |& &| 4 :|poisson spare parts from iterative solution | |& ---- **** Testcase 3 **** %|table 3, Spare Parts for one operating device from iterative poisson solution|printed in| tcl wiki format|% %| quantity| value| comment, if any|% &| testcase number:|3 | iterative solution from poisson|& &| 400. :|warranty hours or expected lifetime, MTBF hours | mean time between failures |& &| 0.003534 :|failure rate per hours | usually given in specs |& &| 60 :|percentile for iterative solution | usually 95 |& &| 282.965 :|answers: MTTF hours from givens | mean time to failure |& &| 117.0345 :|MTTR hours from givens, mean time to repair | MTTR=MTBF-MTTF |& &| 0.707 :|availability without spares | A0=MTTF/MTBF |& &| 565.930 :|MTTFD without spares, mean time to dangerous failure | MTTFD=2*MTTF |& &| 0.7197 :|experimental availability from probability with spares | A0=experimental formula |& &| 260.0 :|experimental MTTF from exponential model | |& &| 0.00385 :|experimental failure_rate_per_hours from exponential model | |& &| 1.4136 :|average failures across warranty period | |& &| 1.4136 :|simple replacement of average failures with spares, approx. 50%C | |& &| 2.0 :|rounded up simple replacement of average failures | |& &| 0.729 :|probability on last iteration |& &| 3 :|iterations for solution from poisson distribution| |& &| 3 :|poisson spare parts from iterative solution | |& ---- ***References:*** * Find The Right Fit With Probability Distributions By David Harper * Hard drive reliability to the test by Peter Bright,Technology Editor at [http://arstechnica.com] * Math Encounters Blog, Spare Parts Math, 27feb2012, Mark Biegert * Assurance. Related Technologies. Volume 9, Number 1. Application of the Poisson Distribution * [https://src.alionscience.com/pdf/POIS_APP.pdf] * MIST: MATLAB Introductory Statistical Toolbox * Poisson distribution calculator, Assurance. Related Technologies * Disk problems contribute to 20% to 55% of storage subsystem failures, Mary Brandel, Computerworld ---- **Appendix Code** ***appendix TCL programs and scripts *** ====== # pretty print from autoindent and ased editor # written on Windows XP on eTCL # working under TCL version 8.6.2 and_or eTCL 1.0.1 # gold on TCL WIKI, 5nov2014 # Console program for spare parts in warranty period # based on poisson distribution, lamda=1 # calculate spare parts for 95% confidence level (eg. > 95%C). package require Tk namespace path {::tcl::mathop ::tcl::mathfunc} console show proc poissionx {warranty_hours failure_rate_hours percentile} { set parts_prob 0 set percentile_factor [* $percentile 1.E-2 ] foreach item { 1 2 3 4 5 6 7 8 9 10 } { set exponent [* $warranty_hours $failure_rate_hours -1. ] set parts_prob [+ $parts_prob [exp $exponent ] ] puts "spares $item prob. $parts_prob /n product warranty_hours $warranty_hours /n failure_rate_per_hours $failure_rate_hours MTTF=1/L=283 hours /n average failures across warranty period is 400/283 or 1.4 /n simple replacement would rounded 1.4 or 2 spares at approx. 50%C /n additional spares needed for 95%C " if { $parts_prob > $percentile_factor } { return $item } } return 0 } puts " poission spare parts from home_brew [ poissionx 400. 0.003534 95 ] " puts " 4 spares are required for above 95 percent confidence level " ====== ---- [gold] This page is copyrighted under the TCL/TK license terms, [http://tcl.tk/software/tcltk/license.html%|%this license]. **Comments Section** <> Please place any comments here, Thanks. <> Numerical Analysis | Toys | Calculator | Mathematics| Example