Optimal Reliability Allocation with Discrete Cost ... - Semantic Scholar

25 downloads 0 Views 99KB Size Report
and reliability as an automatic one for which it serves as a (redundant) backup, or (b) a spare tire for an automobile need not have the same cost and reliability ...
Optimal Reliability Allocation with Discrete Cost-Reliability Data for Components Subba Rao V. Majety1 Milind Dawande2 Jayant Rajgopal1*

1 2

*

Department of Industrial Engineering, University of Pittsburgh, Pittsburgh, PA 15261 Graduate School of Industrial Administration, Carnegie Mellon University, Pittsburgh, PA 15213 Corresponding Author

1

ABSTRACT This paper addresses the optimal allocation of reliability among components that are to be assembled into a system.

While it is a generally accepted notion that a component’s cost is an

increasing function of its reliability, most research to date adopts exponentially increasing, closedform functions to relate cost and reliability.

However, in practice such functions are often

unknown or difficult to construct, and it is often more reasonable to describe cost-reliability relationships via discrete data sets.

We consider such situations, where each component is

available at several reliability levels with corresponding costs. The design optimization problem results in a nonlinear integer programming formulation. Since every system configuration has an equivalent representation as either a series connection of parallel subsystems or a parallel connection of series subsystems, we provide formulations and algorithms for these two.

INTRODUCTION The optimal reliability allocation problem addresses a situation where a system with a given configuration is to be assembled and the individual components that will make up the system may be selected at different levels of cost and reliability. Given a specific configuration for the system, it is possible that the same level of system reliability can be achieved by different component selections, so that there is a natural optimization problem.

The typical reliability allocation

problem may be stated as maximization of system reliability subject to some budget constraint, or minimization of system cost subject to the attainment of some specified level of system reliability. A special case which has received much attention is that of redundancy allocation where a specified level of reliability for a component can be achieved by placing several less reliable (and less expensive) units in parallel, and the optimum configuration of redundant components is

2

sought. A detailed discussion on various formulations and solution procedures for reliability design can be found in Tillman, Huang and Kuo [1980]. While reviewing prior research in the general area of reliability design two distinguishing facts may be observed. First, component reliability is typically assumed to be a continuous parameter. Specifically, the cost and reliability of a component are related by a closed-form function (e.g., Tillman and Liitschwager [1967], Agarwal, Gupta and Misra [1975], Tillman, Huang and Kuo [1977], Nakagawa and Nakashima [1977], Jacobson and Arora [1996]). While it is a generally accepted notion that a component’s cost is an increasing function of its reliability, most researchers adopt exponentially increasing, closed-form functions to relate cost and reliability. However, in practice such functions are often unknown or difficult to construct. Moreover, while such an assumption occasionally tends to make the optimization procedures easier, there is no compelling reason put forth as to why such a relationship is appropriate. Indeed, Tillman et al. [1980] mention that such a relationship is not always necessarily true. On the contrary, it is frequently noted while addressing quality control issues that the cost of a component can be a nonconvex function of its reliability and often discontinuous as well (see Fig. 1).

A primary purpose of this paper is to address the reliability allocation problem for systems

where the component cost-reliability curves are nonconvex, discontinuous, or not capable of being described by a functional form.

The procedures developed herein are based on our

observation that from a manufacturer’s perspective, it is much more reasonable to provide a cost for specified reliability of a component as compared to providing a precise cost-reliability relationship. For instance, it may be possible to manufacture the component (which may be a small subsystem by itself) using different grades of materials, different part qualities, different configurations, different designs or different levels of built-in redundancies. For each of these

3

options, it would be much easier for the manufacturer to specify a reliability level and quote a price that depends on this level, rather than having to provide a precise mathematical expression for the cost of the component as a function of its reliability. Indeed, such a function may well be impossible to determine, especially since the different levels of reliability that are realizable for the component may be discrete and finite in number.

Given this difficulty in deriving precise

mathematical expressions for the cost-reliability curves, we consider discrete cost reliability data sets for the components as opposed to values derived from a functional relationship. The second feature of prior research is that where discrete cost-reliability data sets have been considered, the work has been primarily on the simpler redundancy allocation problem. In these formulations it is typically assumed that the reliability of all components used to build in redundancy in a subsystem are equal. This restriction is undesirable from two perspectives. First, it is not always useful in practice from a design perspective and there is no compelling reason why a redundant component should have the same reliability value as the other components in the same subsystem. As two simple examples, (a) a mechanical device may not have the same cost and reliability as an automatic one for which it serves as a (redundant) backup, or (b) a spare tire for an automobile need not have the same cost and reliability as a regular tire. Second, from a computational perspective there does not appear to be any significant benefit in making this assumption. In fact, Kececioglu [1991] describes existing allocation methods with respect to redundancy as “poor approximations at best.” When reliability and redundancy allocation are considered together, formulations of the reliability design problem with identical duplicates lead to an expression for the reliability of a subsystem j with a total of xj identical, redundant components as (1 − Q

xj j

) , where Qj represent

4

the reliability of each component in the subsystem. If both Qj and xj are decision variables (with xj also being required to be an integer) optimization algorithms become very difficult to develop. This is reflected by the fact that numerous heuristic solution procedures have been proposed (e.g., Agarwal et al. [1975], Nakagawa and Nakashima [1977], Tillman et al. [1980], Cateanu et al. [1986], Coit and Smith [1996], Jacobson and Arora [1996]). While the development of heuristic solution procedures is a logical approach given the complexity of the problem, the formulations themselves need some attention. Since these formulations are difficult to solve optimally even for a simple series system (where redundancy is sought for stages that are in series), extending them to more complex systems offers little hope. In this regard, the approach taken by Bulfin and Liu [1985] offers interesting insights and in some sense inspires the approach proposed herein. Instead of considering the number of redundant components as a variable, they discretize this into binary variables and formulate the problem as 0-1 integer programming problem. This paper uses an analogous approach by assuming discrete cost vs. reliability relationships. As stated before, this is often a much more reasonable approach than assuming a closed form functional relationship.

Moreover, this also yields more general formulations that suit the redundancy

problem as well as the reliability allocation problem, and while still nonlinear due to the reliability expression, are relatively easy to deal with. Finally, the reliability design problem is rapidly becoming an integral part of the design process for many CAD based systems in which performance objectives as well as reliability and cost analyses are integrated.

Jackson [1988] discusses issues related to adopting reliability

designs in a computerized system based design software, and Raze [1988] gives conceptual models for RAMCAD (Reliability, Availability and Maintainability Computer Aided Design). The

5

analytical procedures presented in this paper could readily enhance such systems as well, especially because the CAD algorithms use the cost-reliability data sets assumed in this work. The design optimization problems in this paper are formulated as 0-1 mixed integer programming problem where each binary variable represent s a specific cost-reliability datum when such data are purely discrete, or a prespecified point on the cost-reliability curve of a component when such a curve is available. In the latter instance, no assumption is made regarding the function describing the curve. With the exception of simple series and simple parallel systems, the system reliability is in general, a nonlinear function of these binary variables. Careful and often painful expansions of the expression for system reliability contain terms which are products of binary variables.

While standard procedures may be adopted to linearize these terms by

introducing extra binary variables, one may easily verify that such product terms are too many even in slightly complex systems and the number of binary variables in the resulting linearization grows exponentially with the number of components. Thus, this approach becomes impractical from a computational standpoint. In this paper, we demonstrate that a careful study of the reliability expression for each system independently yields a superior relaxation procedure. Two common system configurations are analyzed: (1) series connection of parallel subsystems (seriesparallel), and (2) parallel connection of series subsystems (parallel-series). For each of these, the structure of the reliability expressions are independently examined and the appropriate linear relaxations derived. An algorithm for finding exact solutions is also presented, although more work needs to be done in terms of efficiently exploiting the structure of the reformulations. Section 1 introduces the notations used, and in Section 2 we formulate and discuss the optimization problems for the systems mentioned above. Section 3 describes the algorithm to

6

solve these problems to optimality, followed by illustrations of the same. Finally, Section 4 discusses the work in this paper and outlines possible extensions.

1.

NOTATION i

Index for the subsystems comprising the system; i ∈ {1, 2, ..., L }.

ni

Number of components used in subsystem i.

j

Index for a component in subsystem i; j ∈ {1, 2, ..., ni }.

Kij

Size (cardinality) of the discrete data set used for component j in subsystem i.

pijk, cijk Reliability and cost associated with the kth member of the data set for component j in subsystem i; k ∈ {1, 2, ..., Kij}. xijk

binary variable that is 1 if the kth member of the data set for component j in subsystem i is selected, 0 otherwise.

2.

fi

Reliability of subsystem i.

rij

Reliability of the jth component in subsystem i.

R

Reliability of the system.

Rs

Minimum required system reliability.

zi

Binary variable which when equal to 0 implies that fi ≥ [1-(1-RS)1/L]

M

A large positive constant.

PROBLEM FORMULATIONS

A general formulation of the reliability allocation problem where the system cost is minimized subject to a requirement on some specified minimum system reliability level is as follows:

7

Program A

K ij L ni Min ∑ ∑ ∑ c x ijk ijk i = 1 j = 1k = 1 s. t. R = g ( r ) ≥ R ij s x

ijk where

∈ X

K

X = {x

ijk

| x

ij ∈{0,1} ∀( i, j, k ); ∑ x = 1 ∀( i, j )} ijk ijk k =1

K

ij r = ∑ x p ∀( i, j ); ij ijk ijk k =1

g(.) is a function that depends on the specific system configuration . Note that the system reliability R is expressed as a function of its components’ reliabilities rij via g(rij) and the specific form of this function will depend on how the components are configured. The set X is defined as all 0-1 vectors which correspond to exactly one of the Kij options being selected for the jth component of the ith subsystem, and rij is simply the reliability of this component. Formulations for several common system configurations (see Fig. 2) are discussed in the following subsections. Note that the definitions of the set X and the rij are identical for all cases and are therefore not repeated when these formulations are stated.

2.1

Simple series systems

For a simple series system, the formulation is as follows:

8

L K i1 Min ∑ ∑ c x i1k i1k i = 1k = 1 L s. t. ∏ r ≥ R i1 s i =1 x ∈ X i1k Note that each “subsystem” here contains a single component so that nj=1 and we use j=1. Note that the nonlinear system reliability constraint may be linearized by taking logarithms and using the equivalence ri1∈{pi1k} ≡ ln(ri1)∈{ln(pi1k)}. To clarify this further, the definition of the set X implies that for every i, exactly one of xi11 , xi12 ,..., x i1K is equal to 1 and all others are equal to i1

K i1 0. So it follows that ln r = ∑ x ( ln p ) ∀ i . Then taking logarithms on both sides of the i1 i1k i1k k =1 L Ki1 ∑ x i1k ln( pi1k ) ≥ ln( Rs ) , and the i = 1k = 1

above constraint inequality, it may be replaced by ∑

problem reduces to a 0-1 integer linear programming problem.

2.2

Simple parallel systems

For a simple parallel system, we have the following formulation: n K1j 1 Min ∑ ∑ c x 1jk 1jk j = 1k = 1 n 1 s. t. 1 − ∏ (1 − r ) ≥ R 1j s j =1 ∈ X x 1jk

As per our notational convention, the parallel system consists of a single subsystem so that L=1 and we therefore use a value of 1 for i with ni being the number of components in parallel. As in

9

the case of a simple series system, the nonlinear system reliability constraint is easily linearized by taking logarithms and using the equivalence rij∈{pi1k} ≡ ln(1-ri1)∈{ln(1-pi1k)}. To clarify this, note that by the definition of X, for every j exactly one of x1j1 , x1j2 ,..., x1jK is equal to 1 and all 1j

K

K ij ij others are equal to 0. Thus r = ∑ x p ∀ j implies ln (1 − r ) = ∑ x ln (1 − p ) ∀ j . 1j 1jk 1jk 1j 1jk 1jk k =1 k =1

n 1

Since the reliability constraint above is equivalent to



j =1

ln (1 − r ) ≤ ln (1 − R ) , it then follows that 1j s

K L 1j it can be replaced by ∑ ∑ x ln(1- p ) ≤ ln(1 − Rs ). Thus, for a simple parallel system the 1jk 1jk i = 1k = 1

problem is once again a 0-1 integer linear programming problem. The next two subsections introduce more complex systems.

2.3

Series-Parallel systems

For a Series-Parallel system, the formulation is as follows:

[S] :

K ij L ni Min ∑ ∑ ∑ c x ijk ijk i = 1 j = 1k = 1 L s. t. ∏ f ≥ R i S i =1 n i f = 1 − ∏ (1 − r ) ∀i. i ij j =1 ∈ X x ijk

Note that unlike with simple series and parallel systems, there is no ready transformation whereby this program can be replaced by a linear equivalent.

10

2.4

Parallel-Series systems

For a Parallel-Series system, we have the following formulation: K ij L ni Min ∑ ∑ ∑ c x ijk ijk i = 1 j = 1k = 1 s. t.

[P] :

L 1 - ∏ (1 − f ) ≥ R i s i =1 n i f = ∏ r ; ∀i. i ij j =1 x ∈ X ijk

Once again, as was the case with [S], this formulation does not have a linear equivalent either.

Much of the discussion that follows is common to both problem formulations (S and P) and we use the notation S/P to refer to the problem formulations described above. Once again, it is important to note that linearization of the system-reliability constraint in S/P is not possible as in the case of simple series and simple parallel systems. As such, the above problems are 0-1 integer nonlinear programming problems which are quite hard to solve directly. This calls for other approaches to solve S/P. In the next section we will develop algorithms to solve each of these problems.

3.

AN ALGORITHM FOR COMPUTING THE EXACT SOLUTION TO S/P

The primary difficulty in solving S/P stems from the fact that the reliability constraint is nonlinear. In order to solve these problems, we introduce two new integer linear programs S0/P0. Each of these will be shown to be relaxations of the original problem.

3.1

Problem S0

11

K ij L ni Min ∑ ∑ ∑ c x ijk ijk i = 1 j = 1k = 1

[ S0 ] :

L 1L L s. t. ∏ (1 − f ) ≤ 1 − R  i s   i =1 n i f = 1 − ∏ (1 − r ); ∀i. i ij j =1 x ∈ X ijk

It is important to note that S0 is a 0-1 integer linear program. To clarify this, from the second n L L i set of constraints, ∑ ln (1 − f i ) = ∑ ∑ ln ( 1 − rij ) . Since by definition, exactly one of i=1j =1 i=1 K ij x , x ,..., x is equal to 1 and all others equal to 0, it follows that r = ∑ x p ∀ i, j ij1 ij2 ijK ij ij ijk ijk k =1 K ij implies ln (1 − r ) = ∑ x ln (1 − p ) ∀ i, j . From the two previous sentences, it follows that ij ijk ijk k =1 K ij L ni 1L L the reliability constraint is equivalent to ∑ ∑ ∑ xijk ln(1 − pijk ) ≤ 1 − Rs  , the LHS of   i = 1 j = 1k = 1 which is linear in xijk .

Proposition 1 : Every feasible solution to S is feasible in S0 . Proof : First note that S and S0 differ only in the system reliability constraint. Now, since the arithmetic mean (AM) of a set of nonnegative numbers dominates their geometric mean (GM),

(

∑ iL= 1 f i

) (

L ≥ ∏ iL= 1 f i

)

1

(

) (

)

1

L and ∑ L (1 − f ) L ≥ ∏ L (1 − f ) L . Using the first inequality i =1 i =1 i i

1L 1L the constraint ∏ iL= 1 f ≥ R in S implies that ∑ iL= 1 f ≥ LR ⇒ L − ∑ iL= 1 f ≤ L − LR ⇒ i s i s i s

(

)

1L 1L ∑ iL= 1(1 − f i ) ≤ L(1 − Rs ) ⇒ ∑ iL= 1(1 − f i ) L ≤ (1 − Rs ) . Then using the second inequality, it

12

1 L L  L follows that ∏ i = 1 (1 − f ) ≤ 1 − R  which is the constraint in S0. Thus any x satisfying the s  i 

constraint in S also satisfies the constraint in S0.

3.2

Problem P0 K ij L ni Min ∑ ∑ ∑ c x ijk ijk i = 1 j = 1k = 1 s. t. f ≥ e i [ P0 ] :

−z M  i 1 − (1 − R )1 s 

L  ; i = 1,2,..., L 

L ∑ z ≤ L −1 i i =1 n i f = ∏ r ; ∀i. i ij j =1 ∈ X , z ∈( 0,1) x ijk i

where M is a sufficiently large positive constant. Note that M must be such that even the smallest possible value for any fi exceeds the expression on the RHS of the reliability constraint above. As

n i a quick bound on the smallest value possible for fi one could compute ∏ Min ( p ) and use k ijk j =1 this information to compute a sufficiently large value for M. It should be noted that P0 is also a 0-1 integer linear program. To clarify this, note that taking logarithms on both sides and using the equalities defining fi, the reliability constraint is n i 1 equivalent to ∑ ln rij ≥ − Mzi + ln1 − (1 − RS )  j =1

L  for all i. Since by definition of X, exactly one  K

ij

of xij1 , xij2 ,..., xijK is equal to 1 and all others 0, it follows that r = ∑ x p ∀ i, j implies ij ijk ijk ij k =1

13

K

ij ln r = ∑ x ln p ∀ i, j . ij ijk ijk k =1

From the two previous sentences, it follows that the reliability

n Kij i constraint is equivalent to ∑ ∑ xijkln ( pijk ) + Mzi ≥ ln1 − (1 − RS )1  j = 1k = 1

L . 

The LHS of this

constraint is linear, and thus P0 is an integer linear program. Proposition 2 : Every feasible solution to P is feasible in P0 . Proof : Once again, P and P0 differ only in the system reliability constraint.

The new

constraints in P0 in place of the reliability constraint of P are:

−z M  1 / L )   f i ≥ e i (1 − (1 − Rs )  ; i = 1,..., L    z ∈{0,1}   i L ∑ zi ≤ L − 1 i =1

1L Note that these constraints merely indicate that f ≥ 1 − (1 − R )  for at least one i ∈ {1,..,L}. i  S 

L Hence it is sufficient to prove that the original constraint in P, namely 1 − ∏ (1 − f ) ≥ R s i i =1 1L implies that f ≥ 1 − (1 − R )  i  S 

for at least one i ∈ {1,...,L }. To prove this, suppose the

L 1L constraint in P holds and f < 1 − (1 − R )  for all i ∈ {1,...,L}. Then ∏ (1 − f ) > (1 − R ) i i  S s  i =1 L implying that 1 − ∏ (1 − f ) < R , which contradicts the feasibility of P. Hence the proof. i s i =1

14

3.3

An Algorithm for S/P

Before outlining a cutting plane algorithm that can be used to solve S/P via S0/P0 we state the following proposition that holds for both formulations and forms the basis for the cutting planes introduced by the algorithm. Proposition 4 : Let x * be an optimal solution to S0/P0 . If x * is not feasible for S/P then ijk ijk the inequality

x ≤ | I *| − 1 where I * = {{i, j , k}| x * = 1} eliminates x * from ∑ ijk ijk ijk {i, j, k} ∈ I *

the feasible set of S0/P0 and is valid for S/P. * * is the does not satisfy the proposed inequality. Moreover, x ijk Proof : Clearly, the point x ijk

only point which is eliminated from the feasible set of S0/P0 since it is the only feasible 0-1 point * is infeasible for S/P, no feasible 0-1 point is that does not satisfy the inequality. Also, since x ijk

violated by the inequality and hence it is valid for S/P. We now present an iterative algorithm for solving S/P to optimality.

Algorithm 1 1) Set p = 0 and solve S0/P0. 2)

If an integer solution x

3)

Define I

4)

Add the inequality

p

p to S0/P0 is feasible for S/P, stop; otherwise go to step 3. ijk

= {{i, j, k}| x

p = 1}. ijk

∑ {i, j , k } ∈ I

x p

ijk

p p is now infeasible for ≤ | I | − 1 to S0/P0 . Note that x ijk

S0/P0 . 5) Set p = p + 1. Solve S0/P0 and return to Step 2.

15

Proposition 5 : Algorithm 1 is finite and finds the optimal solution to S/P . Proof : By Proposition 1/2/3, the feasible set of S/P is contained in the feasible set of S0/P0. Hence, if the optimal solution to S0/P0 at the pth iteration ( x

p ) is feasible for S/P, then it is also ijk

optimal for S/P. Otherwise, the constraint added in Step 4 eliminates exactly one point, namely x

p from the feasible set of S0/P0 and nothing from that of S/P . Since there are only a finite ijk

number of points which are feasible for S0/P0 but infeasible for S/P and each iteration removes one such point, the algorithm is finite.

3.4

Illustrative examples

We illustrate Algorithm 1 for the two systems addressed in this paper via the data sets in Tables 1 and 2. Four reliability levels (0.85, 0.90, 0.95 and 0.99) were selected and we considered four components, for each of which costs were randomly generated corresponding to these four reliability levels. It was ensured that these costs increased with reliabilities. The data are shown in Tables 1 and 2. Note that we have added an additional cost and reliability datum for each component (k=1) with cij1 assumed to be zero and pij1 assumed to be equal to a sufficiently small value ε. This for the following reason: if xij1=1 at the optimum for some i, j then this component j of subsystem i is deemed irrelevant and can therefore be removed from the system. The integer linear programs treated by the algorithm were solved using the CPLEX-4.0 callable library.

16

Table-1 : Reliability Data Matrix { pijk} k pijk

1 0.001

2 0.85

3 0.90

4 0.95

5 0.99

Table-2 : Cost data matrix {cijk} for example problems Comp No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

i 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4

j 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

k 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

2 64.35 120.75 88.85 117.45 121.55 104.25 98.35 148.15 115.95 148.65 94.45 138.25 101.75 75.15 50.45 79.65 52.15 129.85 123.95 53.45

3 280.65 160.25 291.75 238.85 277.35 172.15 195.35 203.65 173.95 159.25 207.45 230.75 189.15 154.35 271.85 190.35 215.95 268.65 279.25 239.45

4 427.35 419.45 479.15 388.75 379.85 446.55 304.35 498.95 494.65 321.15 430.25 482.85 474.15 451.25 329.35 430.75 394.15 452.95 400.85 464.55

5 511.15 650.25 731.35 710.55 703.85 515.35 651.45 671.15 734.55 682.95 525.35 623.75 562.45 680.35 568.85 691.25 657.55 622.85 745.95 718.55

Example 1: Series-parallel systems We choose a series-parallel system with four subsystems. Each subsystem has five components in parallel (1 through 5 for the first subsystem 1, 6 through 10 for the second subsystem etc.). We choose Rs= 0.99. Initially, S0 is formulated and solved. The optimal solution (x112 = x121 = x132 = x142 = x151 = x212 = x222 = x231 = x242 = x251 = x312 = x321 = x332 = x342 = x352 = x412= x422 = x431 = x441 = x452 =1,

17

all other xijk=0) yields a value of 0.98941 for the system reliability, which violates the reliability constraint of S. Hence, the inequality ∑xijk ≤ 19, where the summation is across the (i,j,k) corresponding to the variables above is added as per Proposition 4, and S0 is reoptimized. This procedure continues until the reliability requirement is met. The optimal solution to the problem which was obtained after 33 such iterations is shown in Table 3 below: note that xijk=1 implies that the kth choice is made for the jth component in subsystem i. This configuration resulted in an overall system reliability of 0.990525 at a cost of 1139.05 units.

Table-3: Optimum Configuration for Series-Parallel System Subsystem No. 1 2 3 4

Component Choices x112 = x123 = x132 = x141 = x151 = 1.0 x212 = x222 = x231 = x242 = x251 = 1.0 x312 = x321 = x332 = x342 = x352 = 1.0 x412 = x422 = x431 = x441 = x452 = 1.0

Example 2: Parallel-series systems Unlike the series-parallel system, the problem formulation for a parallel-series system leads to a structure that is much more difficult to solve. While the algorithm described in Section 3.3 works well for relatively small systems, computational times start to increase rapidly as the problems grow in size. For a problem with the same data set and of similar magnitude to the one in Example 1, i.e., a system with four subsystems in parallel, each with five components in series (components 1 through 5 for the first, 6 through 10 for the second etc.), with the same value of 0.99 for Rs, the algorithm was completely impractical. However, we were able to obtain an optimal solution by enhancing the algorithm with a sequence of disjunctive cuts that removed larger portions of the (infeasible) relaxation than the original algorithm.

The optimum solution

for the problem P that was formulated and solved by this procedure is given in Table 4 below;

18

again, xijk=1 implies that the kth choice is made for the jth component in subsystem i. This configuration resulted in an overall system reliability of 0.991563 at a cost of 4528.0 units.

Table-4: Optimum Configuration for Parallel-Series System Subsystem No. 1 2 3 4

Component Choices x112 = x122 = x132 = x142 = x152 = 1 x212 = x222 = x232 = x242 = x253 = 1 x315 = x325 = x335 = x345 = x355 = 1 x412 = x422 = x432 = x442 = x452 = 1

While the details of the procedure are beyond the scope of this paper, it is worth mentioning that it is still far from being efficient and it took over 20 hours on a Sun workstation to obtain the optimum solution. While the argument could be made that this is a design and not an operational problem so that solution times are not that critical, the development of an efficient algorithm for the parallel-series system formulation is still clearly desirable. This is an open issue and a procedure incorporating principles from disjunctive programming into a branch and cut framework is currently under development as part of ongoing work on computational methods for the formulations of Section 2. Before concluding this section, it should be noted that Algorithm 1 solves a sequence of 01 linear integer programs. We have not specified any special solution procedures for these, and simply used the CPLEX callable library for this purpose.

However, it may be seen that the

problems solved are basically knapsack problems with an additional side constraint at each iteration. Exploiting this structure via stronger cutting planes and a branch and cut procedure bears further investigation, especially in the context of problems with a very large number of components, and for the parallel-series system. In this paper though, the emphasis is on the reformulations in Section 2 as opposed to specific computational issues.

19

3.5

A Possible Acceleration Scheme for a Series-Parallel System In this section we provide a scheme for possibly accelerating Algorithm 1 of Section 3.3

for the case of a series-parallel system. Such systems are probably the most common of the two that we have considered and it happens that the structure of the formulation for this case can be exploited. This is done by adding a set of additional linear constraints to the relaxation S0 that eliminate a number of points from its feasible region while leaving that of the original problem S unaffected. Proposition 6 : The constraints n K ij i ∑ ∑ x ln(1 − p ) ≤ ln(1 − R ); s ijk ijk j = 1k = 1

i = 1,..., L

are satisfied by all point feasible in program S. Proof : First note that since each fi ∈[ 0,1] , the constraint ∏iL=1 fi ≥ Rs in formulation S implies that fi ≥ Rs ; i = 1,..., L , i.e., ln (1-fi) ≤ ln (1-Rs), i=1,2,...,L. Furthermore, we use the equivalence

n i rij∈{pijk}≡ ln(1-rij)∈{ln(1-pijk)} to restate the constraints f = 1 − ∏ (1 − r ), i = 1,2,..., L in i ij j =1 n K ij i formulation S as ln (1-fi) = ∑ ∑ x ln(1 − p ), i = 1,..., L. From the last two sentences it ijk ijk j = 1k = 1

follows that any point feasible in S also satisfies the constraints specified in this proposition. It should be noted that in the feasible region of the linear relaxation S0 there may be several points that do not satisfy all of the L constraints above, and if we were to start the cutting plane procedure with these additional constraints then fewer cuts and hence fewer iterations

20

would be required to solve S. On the other hand, at each iteration the problems solved would have L additional constraints. However, one would expect that the overall effort would still be lower since with an efficient implementation these problems would not be optimized from scratch.

5. EXTENSIONS The formulations considered in this paper consider only the system reliability constraint. In other applications additional constraints such as a system weight constraint, may also be relevant. However, in most cases such additional constraints are linear in nature, and the solution procedures given herein can easily accommodate these constraints. Also, our formulations can be easily extended to other relevant problems such as: 1.

K-out-of-N system: One could reformulate this as an equivalent series-parallel system and apply the above approach. Alternatively, we have also successfully formulated the problem directly and used a linear relaxation similar to the ones in this paper, followed by Algorithm 1 of Section 3.4.

2. Component redundancy in the system: Suppose, for a series system, the cost and the reliability of each component (ci, ri ) is known a priori but the system reliability falls short of the desired reliability level. One approach to enhance the system reliability is by introducing redundancy at the component level. In effect, such a redundancy problem can be stated as one of determining the minimum number of redundant components. This problem can be addressed using our formulations for the series-parallel system. Here, the components in subsystem i are all identical with two cost-reliability data points (0,0) and (ci, ri ). By assuming sufficiently large values for ni, the number of components in level i, minimizing the cost of the system determines the minimum number of redundant components required in each subsystem to

21

attain the required system reliability. This number is given by the number of components in the subsystem that are assigned nonzero reliability. 3. Suppose it is required that at least K components be assigned nonzero reliability for any subsystem of a series-parallel system. This condition can easily be imposed by an additional linear constraint. Hence, the solution procedures remain valid. There is another aspect of reliability design where the forumlations given herein could be extended. Currently, the physical design and the reliability design of a system are not treated in a unified fashion. Very often, a physical design that is desirable may not be able to meet reliability requirements, while an optimal design from the perspective of reliability may not be physically feasible or desirable. Thus the design process tends to be iterative in nature until a suitable compromise has been achieved. A better approach would be to incorporate the physical design constraints into the reliability design formulations that have been provided in this paper. Of course, this could lead to more complex problems but such an approach merits further investigation, especially in light of the fact that many CAD packages are now taking an integrated, system level view of the design process. Finally, it is worth mentioning again that the algorithm described in this paper is primarily from the point of view of illustration and while it is useful for smaller systems, it is probably not the most efficient procedure to use when problem sizes are relatively large. The development of efficient integer programming algorithms for the special structures presented here is an open issue and work on this is currently in progress. ACKNOWLEDGEMENTS

22

The authors would like to thank two anonymous referees for several constructive suggestions.

REFERENCES 1. AGARWAL, K. K., J. S. GUPTA AND K. B. MISRA. 1975. A new heuristic criterion for solving redundancy optimization problem. IEEE Transactions on Reliability. R-24, 86-87. 2. BULFIN, R. L. AND C. Y. LIU. 1985. Optimal Allocation of Redundant Components for Large Systems, IEEE Transactions on Reliability, 34, 241-247. 3. CATEANU, V. M., F. POPENTIU AND M. GHEORGIU. 1986. A Reliability Optimization Computer Algorithm for Complex Systems, Microelectronics and Reliability. 26, 1019-1023. 4. COIT, D. AND A. E. SMITH. 1996. Reliability Optimization of Series-Parallel Systems Using a Genetic Algorithm. IEEE Transactions on Reliability, 45, 254-260. 5. JACOBSON D. W. AND S. R. ARORA. 1996. Simultaneous Allocation of Reliability and Redundancy Using Simplex Search, Proceedings of Annual Reliability and Maintainability Symposium, IEEE, 243-250. 6. JACKSON, T. 1988. What Comes First - RAMCAD or a New RAM Methodology ?, Proceedings of Annual Reliability and Maintainability Symposium, IEEE, 32-35. 7. KECECIOGLU, D. 1991. Reliability Engineering Handbook, Prentice Hall, Englewood Cliffs, NJ. 8. NAKAGAWA, Y. AND K. NAKASHIMA, 1977. A Heuristic Method for Determining Reliability Allocation. IEEE Transactions on Reliability, R-26, 156-161. 9. RAZE, J. D., J. J. NELSON, C. DIAZ AND D. SIMRAD. 1988. U.S. Army Mechanical RAMCAD Models, Proceedings of Annual Reliability and Maintainability Symposium, IEEE, 144-146.

23

10. TILLMAN, F. A. AND J. M. LIITTSCHWAGER, 1967. Integer Programming Formulation and Constrained Reliability Problems, Management Science, 13, 887-899. 11. TILLMAN, F. A., C. L. HWANG AND W. KUO. 1977. Determining Component Reliability and Redundancy for Optimal System Reliability. IEEE Transactions on Reliability, R-26, 162-165. 12. TILLMAN, F. A., C. L. HWANG AND W. KUO. 1980. Optimization of Systems Reliability, Marcel Dekker Inc., New York, NY.

24