Вы находитесь на странице: 1из 8



A New Dynamic Programming Method for Reliability & Redundancy Allocation in a Parallel-Series System
Alice Yalaoui, Eric Chtelet, and Chengbin Chu, Member, IEEE
AbstractReliability & redundancy allocation is one of the most frequently encountered problems in system design. This problem is subject to constraints related to the design, such as required structural, physical, and technical characteristics; and the components available in the market. This last constraint implies that system components, and their reliability, must belong to a nite set. For a parallel-series system, we show that the problem can be modeled as an integer linear program, and solved by a decomposition approach. The problem is decomposed into as many sub-problems as subsystems, one sub-problem for each subsystem. The subproblem for a given subsystem consists of determining the number of components of each type in order to reach a given reliability target with a minimum cost. The global problem consists of determining the reliability target of subsystems. We show that the sub-problems are equivalent to one-dimensional knapsack problems which can be solved in pseudopolynomial time with a dynamic programming approach. We show that the global problem can also be solved by a dynamic programming technique. We also show that the obtained method YCC converges toward an optimal solution. Index TermsAllocation, dynamic programming, parallel-series system, redundancy, reliability.

the volume of items of type integer parameter of the method so that minimum reliability for subsystem maximum volume of the knapsack benet brought by the volume in knapsack number of different solutions obtained for subsystem feasible reliability for the subsystem

, ,

NOTATIONS number of subsystems number of different component types available for subsystem lower, and upper bounds on the number of redundant components in subsystem minimum reliability required for the system reliability, and cost of component of type for subsystem reliability, and cost of subsystem number of components of type in subsystem number of components of type used in the solution of the subproblem : maximum number of free places leaving after having chosen the number of components of type to take in the subsystem in the allocation problem. is also the number of items of type taken in the knapsack number of items of type used in the solution of the subproblem maximum volume for the knapsack

optimal reliability and cost of subsystem for a given optimal reliability, and cost of the system for a given optimal volume of the knapsack for a given Volume of the item of type in the global problem optimal quantity of items of type for any value of prot brought by items chosen between the so that the volume used is items of type exactly optimal number of items to take in order to obtain the maximal prot maximal total benet obtained by choosing one so that the total item of each types volume used is exactly Volume of the item of type chosen among items available providing the maximal total benet I. INTRODUCTION

, ,

Manuscript received March 25, 2003; revised May 2, 2004 and June 2, 2004. Associate Editor: K. Kanoun. The authors are with ISTIT, Universit de Technologie de Troyes, 10010 Troyes, France (e-mail: yalaouia@utt.fr; chatelet@utt.fr; chu@utt.fr). Digital Object Identier 10.1109/TR.2005.847270

ELIABILITY engineering has attracted many researchers since 1960 due to reliabilitys critical importance in a variety of systems. As explained by Tzafestas in 1980 [1], one of the undeniable steps in the design of multi-component systems is the problem of using the available resources in the most effective way so as to maximize the overall system reliability, or so as to minimize the consumption of resources while achieving specic reliability goals. There exist several methods to improve the system reliability. The most known are: reduction of the system complexity, allocation of components reliability, allocation of redundancy alone or combined with reli ability allocation, or

0018-9529/$20.00 2005 IEEE



the practice of planned maintenance and repair schedule. The diversity of system structures, resource constraints, and options for reliability improvement has led to construction & analysis of several optimization models. According to Elegbede 2000 [2], there are two distinct approaches in reliability allocation: weighting methods, and 1. optimization ones. 2. As far as the weighting approach is concerned, the reliability goal for the system is distributed with weighting coefcients to components in order to reect the importance of each component [3], [4]. Concerning the second approach, a solution that satises optimality requirements is sought through decision variables, which may be component reliabilities, or the number of parallel components. In this paper, we are interested in this second approach. Surveys on this subject regularly appear (e.g. Tzafestas [1], Misra [5], Kuo & Prasad [6]). One of the most recent publications on this subject is the book by Kuo et al. [7]. According to Kuo & Prasad [8], the major focus of recent works is on the development of heuristic methods, and metaheuristic algorithms for redundancy allocation problems. Few papers are devoted to exact solutions for such problems. In this paper, we are interested in the combined reliability & redundancy allocation problem in which the reliability of the components & the redundancy levels have to be simultaneously determined in order to minimize the consumption of a resource under a reliability constraint. In 1992, Chern studied the redundancy allocation problem in a parallel-series system, and showed that this problem is NP-hard, for the cost minimization with a reliability constraint, and its dual [9]. Dynamic programming is the most used & known exact technique for solving this problem [10]. Recently, Prasad & Kuo [8] developed an exact method based on a lexicographic search for the reliability & redundancy allocation problem in coherent systems. In such systems, replacing failed components with good ones does not cause system failure when the system is functioning. There exist also a large family of heuristics for this problem. The most known are presented in the thesis of Elegbede [2]. Metaheuristics have also been used, as for example the genetic algorithms used by Elegbede [2], and the simulated-annealing approach used by Ravi et al. [11]. In most studies on reliability & redundancy allocation (e.g. Elegbede et al. [12]), the reliability of the components is assumed to be any real value between 0 & 1. In practice, only a few types of components, which have the same function in a system, are available in the market. Very few studies have considered this assumption. In 1996, Coit & Smith [13] worked on the allocation problem in a parallel-series system when the components are chosen in a nite set. They assumed that different types of ). Their resolution redundancy are allowed (active, standby, technique was a genetic algorithm. Kuo & Prasad [8] proposed an exact resolution method for this problem for any system. According to Kuo et al. [7], there exists no method dedicated to the problem of redundancy & reliability allocation in parallel-series systems where components must be chosen among a nite set. This paper presents a pseudopolynomial dynamic programming method (YCC) based on the analogy between the relia

bility & redundancy allocation problem in parallel-series systems, and a one-dimensional knapsack problem. This algorithm, dedicated to this problem, takes into account the market contraint. It has many applications because parallel-series systems represent a generic set. Indeed, such structures are met in many different types of systems, like security systems in power plants, processes, or multi-component products. This paper is organized as follows. In Section II, we present the assumptions, and the mathematical formulations. Section III is dedicated to the resolution of a one-stage problem; and in Section IV, the previous results are generalized to solve the multi-stage problem. Section V describes the numerical experiments for investigating the performances of the method. II. PROBLEM DESCRIPTION We consider a series system composed of subsystems. Each is composed of actively redundant subsystem components in parallel. We want to nd, under a minimum reli, and with a cost minimization objective, ability constraint the redundancy & reliability allocation. For each subsystem , of component types available in the we know the number market. We assume that there are an unlimited number of components available of each type. Each component type is char. acterized by its reliability , and its unit cost We assume, without loss of generality, that , and . The decision variables are the number of components of type used in subsystem . The system reliability is given by (1) We assume that the redundancy level of subsystem is bounded . Thus, we below by , and bounded above by obtain the following mathematical programming model (M1) for this reliability & redundancy allocation problem (2) (3) (4) (5) III. THE ONE-STAGE SUB-PROBLEM In this section, we consider a one-stage problem which constitutes a sub-problem of an -stage problem. Let be the index of this subsystem. Given a target reliability for this onestage system, we have to solve the following problem (M2): (6) (7)



(8) (9) The approach that we propose to solve (M2) is based on the transformation of the one-stage reliability & redundancy allocation problem into a one-dimensional knapsack problem. We show in the next subsection how this transformation is done, and then we explain how to solve the one-dimensional knapsack problem by dynamic programming. A. Analogy With the Knapsack Problem To present the problems relationship to the knapsack problem, we dene, for each component type , . Then, we obtain the following the quantity model (M3): (10) B. Dynamic Programming Formulation

(22) (23)

One of the most known methods for solving knapsack problems is the dynamic programming approach. This method, founded on a recursive approach by Bellman in 1957 [14], which allows one to obtain an optimal solution in pseudopolynomial time, is well-adapted to knapsack problems. as the maximum We dene the prot function prot brought by exactly items chosen among items of type so that the total volume is exactly . We also dene as the optimal number of items of type to take in order to obtain the maximal prot . We have the following recurrent formulation. Initial conditions: (24)

(11) (12) (13) We now dene , the maximum number of free places left after having chosen the number of components of type to remove. Thus, we obtain the model (M4), equivalent to (M3) (14) (15) (16) (17) (18) This model is a one-dimensional knapsack problem in which the total value of the items put into a knapsack is to be maximized. The capacity in volume of this bag is . The total number of items must be between , and . Thus, items of type have as as volume. Moreover, , the number of items of value, and type put into the bag, must not exceed . Finally, we obtain model (M5) (19) (20) (21)

Recursive equation:


, the cumulated number of items with , which must satisfy the following relation for (26) And for (27) The cumulated number of items is an integer, but the volume may be any real value less than . This makes it impossible to enumerate all the pairs that satisfy (26) & (27). To overcome this difculty, we may consider only positive integer values less than . But this implies a loss of precision, and then a loss of optimality. To keep as much precision as possible, we consider an integer value which allows us to round off the volume with more or less precision. We consider all the integer values less than . The recursive expression becomes


being any integer such that . is the optimal number of items of type used in the sub-problem providing the maximal prot for a given . The optimal solution corresponds to with (29)






For example, if


The corresponding optimal solution to the one-stage reliability & redundancy allocation problem may be obtained using the inverse variable substitution. C. Example To illustrate the resolution of a one-stage problem, let us consider the design of a one-stage problem for which 4 different . The bounds on types of components are available , and . the number of redundant components are The characteristics of the 4 types of items are given in Table I. The volume of a component of type is obtained from . The reliability objective is which . The model of the knapsack problem is gives ) the following: (with

and , the volume is and the corresponding maximal prot is . The states for the following step which are in Table IV. There are 7 feasible volumes for are 712, 765, 814, 818, 846, 876, and 899 with respectively 90.24, 107.91, 123.89, 125.58, 131.74, 141.56, and 149.41 as ; there is no feasible state with costs. All these states have at step 4 because all the corresponding volumes exceed 915, the maximum allowed volume. The maximal prot (for ) is 149.41, for a volume of 899. It is easy to note that . Thanks to the change . of variables, we nd The optimal reliability is , and the corresponding cost is . there The larger the value is, the more different pairs are to explore. In the following subsection, we evaluate the impact of different parameters considered for the complexity of this method. D. Complexity of the One-Stage Problem

To evaluate the time & memory complexities of the method for the one-stage problem, we have to bound the number of different states, and the number of calculations necessary to obtain for each state. Each state is charthe maximal prot acterized by three values: , , and . Because (30) (31) (32) there are at most states. , at most comparisons are needed to comFor each . Then, the time complexity of the method for pute ; that is to say a one-stage problem is . As far as the memory complexity is concerned, for each state . The at stage , we only need to know the states at stage , so the memory number of states at any stage is complexity is .

The initial condition is . For , may be equal to 0, 1, or 2. Among all the volumes between 0 & 915, only three values (0, 81, 162) are feasible. The maximal prot for each of them is indicated in Table II. As far as the is concerned, may only be 2, 3, or 4. second step There are only six feasible values for the volume (Table III).



IV. THE MULTI-STAGES PROBLEM In this section, we want to exploit the results obtained in the previous one to solve the -stage problem. We may use a global descending approach composed of two steps: the assignment of to each stage , and the a reliability target resolution of the subproblems using the previous method. The should be determined reliability targets so that (33) of component types Since we make use of a nite number for each subsystem , the reliability of the subsystems can take only certain values in (0;1). For this reason, we are unable to . Thus, we cannot nd the optimal objectives for a given , directly by nd the optimal solution using the dynamic programming method presented in the previous section, and then, we cannot use the global descending to the approach. Instead of assigning a target reliability subproblem, we may obtain a lower and an upper bound for the reliability of each subsystem. A. Lower, and Upper Bounds for Subsystems We give here a lower, and an upper bound, respectively denoted by , and , for the reliability of subsystem . Because we assumed that , we know that , and then we have the following set of equations: (34) (35) Thus, , noted and the equivalent limits on the volume and , are (36) (37) Instead of using a global descending approach, we may use an ascending approach which consists of two steps. We rst search all the feasible solutions for each subsystem , so that the nal volume is between , and . Let be the number of such solutions. Then we solve the global problem using the results of the rst step. solutions of the rst step, we may use the To nd the previous dynamic programming approach for the subsystems; we save not only the solution with the best prot satisfying the volume constraint, but also the solutions so that the volume is , and . The corresponding reliability between values, denoted by , are is the number of obtained by applying relations (38) where solution, put into the knapsack ; and items of type in the

is the number of redundant components of type in the solution, for the subsystem


B. Resolution of the Global Problem by Dynamic Programming The mathematical formulation of the global problem, using the results of the previous section, with reliabilities of the subsystems as decision variables, is the following: (39) (40) (41) being the cost function. An equivwith alent problem is obtained by introducing , and as maximum volume be the benet brought of the knapsack. Let by an item of volume . We obtain the following formulation (M7) equivalent to model (M6): (42) (43) (44) This problem is a one-dimensional knapsack problem in which exactly items, we have to put into a knapsack of volume , we must one of each type. For each type different items, characterized choose only one in a set of by their volume and their benet . To nd the global solution for (M7), we may use again dynamic programming for the same reasons as for the one-stage problem. For this purpose, we dene the prot function as the maximal total benet for subsystems 1 to , so that the total volume used is less than or equal to . As for the resolution of a one-stage problem, we must use an integer value in order to enumerate all the feasible volumes. Then, we have the following recurrence formulation: Initital conditions: (45) Recursive equation:







The optimal solution for a given is given by . The equivalent solution for the reliability & redundancy multistage problem may be easily obtained with the inverse variable substitution. C. Complexity of the YCC Method In the dynamic programming approach for the general problem presented at the previous subsection, each state is characterized by two parameters: , and . different states, In the worst case, there are comparisons have to be compute and for each of them, . We may bound this value by . We have to add the complexity of the subproblems. We showed in Section III-D that the time complexity of a one-stage . We may bound by problem is , and then at most calculations are required values for a given . Thus, for the for obtaining the subsystems, calculations are necessary. We may bound by , and by , with , and . The global time complexity becomes . To evaluate the memory complexity of the method, we have to keep the most important memory complexity of the two steps of the method. We showed at Section III-D that the memory complexity of the resolution of any subproblem is , which may by bounded by . As far as the general resolution is concerned, we only need to . In the worst case, know at any stage the states at stage . Thus, the memory the number of states at any stage is . complexity of the method is V. NUMERICAL EXPERIMENTATION A. Example Let us consider the design of a system composed of two subsystems in series. The rst subsystem has the same characteristics as the one-stage problem studied at Section III-C. For the . second one, two types of components are available , The bound on the number of redundant components are . The reliability objective is . Applying and , and the proposed method to this system gives (Table VI). Applying dynamic programming as explained in


, we nally obtain , Section IV-B, with , which gives for a total and . cost As far as this example is concerned, this solution is not improved for any , and is the optimal solution of the problem. This is not always the case, and sometimes the solution may be improved with a larger value of . But the running time increases with the value of . That is what we observe on Table VII. These observations lead us to study the convergence of the method toward the optimum, and the evolution of the running time as a function of . We may notice that because decreases with , when the minimum reliability increases, the running time decreases. B. Analysis As shown before, the time complexity of the method is . This means that the running time depends on the size of the problem, the value of , the maximum volume of the global knapsack, and the size & . We illustrate with the problems of of the data Table VIII the impact of these parameters on the computation times, for different values of (Table IX). The differences of the computation times between respectively & , and





. We have et . In this case, the enumeration solves the problem faster than our algorithm, and guarantees the optimality of the solution. Consider now a problem characterized by the parameters , , , and . We have , and for all the values . For the problems of this size, the average gaps are equal to zero for values (Table X), then we should use our dynamic programming method. The complexity of the complete enumeration method increases exponentially with , while our method has a linear complexity with . Our method thus becomes more effective for large size systems. VI. CONCLUSION

& show the impact of , and . The impact of the & , and the inuence size is illustrated with problems seems less important than that of (computation times of of & ). Note that decreases with . As far as the convergence of the solution toward the optimum is concerned, the average gaps in percentages, for a given value of , between the solution & the optimum, obtained by enumeration, are presented in Table X. For all the 56 tested problems, from size to (8 of each size), the optimum is obtained in the worst case for . The average gaps seem to increase slowly with for a given value of . As the time complexity of the YCC method depends on several parameters, it may be interesting to compare it to the time complexity of the global enumeration of all the solutions. Then, for a given combination of parameters, we may use the fastest method between our dynamic programming one, and the enumeration which gives the optimum. To enumerate all the solutions for the global problem, we have to nd the set of solutions for each subsystem . For a set of values , the number of different solutions is . Each solution needs at most computations. For all the subsystems, computations are necessary to obtain all the solutions. At worst, there are global solutions; and for each of them, computations have to be made. Finally, the time complexity of the enumeration is . To compare this complexity with (47) which is the time complexity of our method YCC, we must bound the complexity of the enumeration. may be bounded by , and by . Finally, the time complexity of the enumeration is (48) Thus, for each problem, we may solve (47) & (48), and chose the method corresponding to the smallest value. To illustrate this point, consider the example of Section V-A. The characteristics of this problem are , , ,

Several tools for the design & the improvement of systems have been elaborated since the 1950s, in order to satisfy effectiveness objectives. Among all the developed techniques, the reliability allocation methods have aroused much attention. In most of the studies on reliability optimization, the reliability of the components is assumed to be any real value between 0 & 1. However, in practice, there are only a few different components available in the market, to accomplish a required functionality in a system. Only very few studies have considered this assumption for general systems. This paper addressed the redundancy & reliability allocation problem in parallel-series systems where components must be chosen among a nite set. This cost minimization problem under a minimum reliability constraint can be formulated as an integer linear program, and we showed that it is equivalent to a one-dimensional knapsack problem, where the prot has to be maximized under a maximum volume constraint. From the study of a one-stage problem, we developed a dynamic programming method. We generalized it to the multi-stage problem. The pseudopolynomial YCC algorithm is then composed of two steps: the resolution of the subproblems, one for each of the stages of the system; and the global resolution using the previous results. We studied the convergence of the obtained solutions toward a solution within the required precision for the transformation of the allocation problem into a knapsack one. We showed that the solutions converge quickly toward the optimum as a function of the required precision. We applied this dynamic programming method to the cost minimization under reliability constraint. Dynamic programming is the most known method for solving knapsack problems. It may seem interesting to use other recent methods to solve them, both for the global problem, and for the subproblems. But in reality, dynamic programming still seems to be the most adapted for the sub-problems. In fact, if another method is used, we must solve a sub-problem of stage for each value of , while with Dynamic Programming, all sub-problems for all values of are solved at the same time. Moreover, the YCC approach can deal with more constraints, such as a maximum volume, or weight. However, in this case, the computation time increases. ACKNOWLEDGMENT The authors are grateful to the Associate Editor, and the referees for their constructive comments & suggestions which led to an improvement of their paper.



[1] S. G. Tzafestas, Optimization of system reliability: a survey of problems and techniques, Int. J. of Sys. Sci., vol. 11, pp. 455486, 1980. [2] C. Elegbede, Contribution aux mthodes dallocation dexigences de abilit aux composants de systmes, Ph D thesis, Universit de Technologie de Compigne, 2000. [3] C. Elegbede and K. H. Adjallah, State of the art in reliability allocation: a comparative study on a mechanical system, in Proc. Saf. Rel., Rotterdam, 1998, pp. 501508. [4] D. Kececioglu, Reliability Engineering Handbook. Englewood Cliffs, NJ: Prentice Hall, 1991. [5] K. Misra, On optimal reliability design: a review, Sys. Sci., vol. 12, pp. 530, 1986. [6] W. Kuo and V. R. Prasad, An annotated overview of system-reliability optimization, IEEE Trans. Rel., vol. 49, no. 2, pp. 176187, 2000. [7] W. Kuo, V. R. Prasad, F. A. Tilman, and C. L. Hwang, Optimal Reliability Design: Fundamentals and Applications, UK: Cambridge University Press, 2001. [8] V. R. Prasad and W. Kuo, Reliability optimization of coherent systems, IEEE Trans. Rel., vol. 49, pp. 323330, 2000. [9] W. Chern, On the computational complexity of the reliability redundancy allocation in a series system, Oper. Res. Lett., vol. 11, pp. 309315, 1992. [10] K. Misra, An algorithm to solve integer programming problems: an efcient tool for reliability design, Microelectron. Rel., vol. 31, pp. 275284, 1991. [11] K. Ravi, K. Murty, and K. Reddy, Nonequilibrium simulated annealing algorithm applied to reliability optimization of complex systems, IEEE Trans. Rel., vol. 46, pp. 233239, 1997. [12] A. O. C. Elegbede, C. Chu, K. H. Adjallah, and F. Yalaoui, Reliability allocation through cost minimization, IEEE Trans. Rel., vol. 52, no. 1, pp. 106111, 2003. [13] D. W. Coit and A. E. Smith, Solving the redundancy allocation problem using a combined neural networkgenetic algorithm approach, Computers and Operations Research, vol. 23, pp. 515526, 1996. [14] R. Bellman, Dynamic Programming. Princeton: Princeton University Press, 1957.

Alice Yalaoui is Assistant Professor at Troyes University of Technology (France). She received the Ph.D in 2004 in Systems optimization and dependability from Troyes University of Technology (UTT). Her research topic focused on the problems of reliability & redundancy allocation, and on optimization problems in general. She obtained the D.E.A. in Systems optimization & dependability from the UTT after having obtained the M.S degree in Industrial Systems in the same university. She is pursuing her research activities in the Institute of Information Science and Technology of Troyes (ISTIT).

Eric Chtelet is professor at Troyes University of Technology (France). He received his PhD (1991) in Theoretical Physics (Cosmic rays physics) from Bordeaux I University, France, and has worked in Cosmic Rays Physics, and Neutrinos Physics until 1994. He is Professor at Troyes University of Technology (UTT), France. He is Director of studies of the UTT from 2001. His research topic in the Institute of Information Science and Technology of Troyes (ISTIT) is focused to stochastic modeling for maintenance & reliability (assessment & optimization), and the performance analysis of complex systems. He is member of the IMdR (French institute of risk management), and ESRA (European Safety and Reliability Association).

Chengbin Chu received his BSc (1985) from Hefei University of Technology (China) in Electrical Engineering, and his PhD (1990) from Metz University (China) in Computer Science. He worked at INRIA (National Research Institute in Computer Science and Automation), France, for 9 years as a PhD Student, Expert Engineer, and Research Ofcer. He is a Professor at Troyes University of Technology, France. He is interested in research areas related to operation research, and modeling, analysis, & optimization of discrete event systems. He is author or co-author of 1 book, and more than 40 papers in journals such as Operation Research, IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, and SIAM J. Computing. For his research & application activities, he received the rst Prize of 1996 Robert Faure Award. He also received the 1998 Best Transactions Award from IEEE Robotics and Automation Society. He is member of IEEE, and French Association of Operation Research and Decision Aid (ROADEF).