Evaluate the performance of a stochastic-flow network with cost attribute in terms of minimal cuts

Evaluate the performance of a stochastic-flow network with cost attribute in terms of minimal cuts

Reliability Engineering and System Safety 91 (2006) 539–545 www.elsevier.com/locate/ress Evaluate the performance of a stochastic-flow network with c...

148KB Sizes 0 Downloads 8 Views

Reliability Engineering and System Safety 91 (2006) 539–545 www.elsevier.com/locate/ress

Evaluate the performance of a stochastic-flow network with cost attribute in terms of minimal cuts Yi-Kuei Lin* Department of Information Management, Vanung University, Chung-Li, Tao-Yuan 320, Taiwan, ROC Received 14 January 2005; accepted 22 March 2005 Available online 26 May 2005

Abstract This paper proposes a performance index to measure the quality level of a stochastic-flow network in which each node has a designated capacity, which will have different lower levels due to various partial and complete failures. The performance index is the probability that the maximum flow of the network equals the demand d without exceeding the budget b. A simple algorithm in terms of minimal cuts is first proposed to generate all upper boundary points for (d, b), and then the probability that the maximum flow is less than or equal to d can be calculated in terms of such points. The upper boundary point for (d, b) is a maximal vector representing the capacity of each arc such that the maximum flow of the network under the budget b is d. The performance index can be calculated by repeating the proposed algorithm to obtain all upper boundary point for (dK1, b). A benchmark example is shown to illustrate the solution procedure. q 2005 Elsevier Ltd. All rights reserved. Keywords: Performance index; Budget constraint; Minimal cut; Stochastic-flow network; System reliability

1. Introduction From the point of view of decision making and quality management, it is an important issue to design the performance index in order to measure the quality level for real-life systems. In a binary-state network (without flow in it), the network and its arcs are being in normal or failed states [1,2,12,24]. The system unreliability that the source s disconnects the sink t can be evaluated in terms of minimal cuts (MCs), since MCs are directly related to the modes of system failure. If the removal of a set of arcs disconnects the source and the sink, such a set of arcs is called a cut. A minimal cut is a cut, which will not be a cut after removing any arc from it. The system reliability (i.e. 1-system unreliability) can then be obtained. In a binary-state flow network, the capacity of each arc has two possible levels: 0 and a positive integer. For such a network, several authors [3,17,18] proposed algorithms to calculate the system reliability Rd, the probability that * Fax: C886 3 462 1348. E-mail address: [email protected]

0951-8320/$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.ress.2005.03.018

the maximum flow is not less than the demand d. The probability that the maximum flow equals d is also obtained by calculating RdK1–Rd. Such a probability is usually treated as a performance index to measure the quality level for the networks. In a stochastic-flow network, the capacity of each arc has several possible levels. For instance, a telecommunication system can be treated as a stochastic-flow network in which nodes stand for cities (or switches) and arcs for transmission lines. In fact, each transmission line consists of several physical lines, and each physical line has only successful or failure state. That implies that a transmission line has several states in which state k means k physical lines are successful. Hence, the capacity of each arc has several values and thus it is called stochastic. Several authors proposed methods to calculate the system reliability of such a flow network without cost attribute [7,9,11,16,19,27,28]. The system reliability RdC1, the probability that the maximum flow of the network is not less than (dC1), can be calculated in terms of upper boundary points for d (i.e. d-MCs [16,19,28] or maximum lower vectors for level d [27]). Each upper boundary point for d is denoted by a vector which represents the capacity level of each arc such that the maximum flow of the network under such level is d. It is in fact a maximal vector, which means the maximum

540

Y.-K. Lin / Reliability Engineering and System Safety 91 (2006) 539–545

flow will be larger than d after any improvement in capacity level of an arc. Cost is an important parameter in network analysis and decision science. Several authors [4,6,8,14,26] discussed the flow problems with cost limitation for a deterministic-flow network (in which each arc has a fixed capacity). This paper mainly uses the MCs to study the performance index for a stochastic-flow network with cost attribute. A simple algorithm shown in Section 4 is proposed to generate all upper boundary points for (d, b) and then the performance index, the probability that the maximum flow equals the demand d without exceeding the budget b, can be computed in terms of such points. The proposed solution procedure can be applied to evaluate the system performance for real-world systems such as telecommunication systems, manufacturing systems, computer systems, transportation systems, electric-power transmission systems and logistics systems, etc. An example is shown in Section 5 to illustrate the solution procedure. The storage and computational complexities are analyzed in Section 6.

2. Assumptions Let GZ(A,M,C) be a stochastic-flow network, where AZ{aij1%i%n} the set of arcs, MZ(M1,M2,.,Mn) with Mi the maximal capacity of ai, and CZ(c1,c2,.,cn) with ci the cost per unit of capacity on ai for iZ1,2,.,n. Furthermore, G is assumed to satisfy the following assumptions: 1. The capacity of each ai is an integer-valued random variable which takes the integer value from {0,1,2,.,Mi} according to a given distribution. 2. The capacities of different arcs are statistically independent. 3. The flow in G must satisfy the flow-conservation law [13].

3. Problem formulation

for (d, b), then V(Y)Od for each YOX (where YRX if and only if yiRxi for iZ1,2,.,n and YOX if and only if YRX and yiOxi for at least one i). 3.2. Performance index The upper boundary points for (d, b) are those maximal ones in {XjV(X)Zd and B(X)%b} and also the maximal ones in {XjV(X)%d and B(X)%b}. Hence: PrfXjVðXÞ% d and BðXÞ% bg Z PrfXjX% Xi for an upper boundary point Xi for ðd; bÞg   fXjX% Xi g : ð1Þ Z Pr g all upper boundary points Xi for ðd;bÞ

If {X1,X2,.,Xr} are the set of upper boundary points for (d, b), let D iZ{XjX%Xi } for iZ1,2,.,r. Thus, Pr{XjV(X)%d and B(X)%b}ZPr{D1gD2g/gDr} can be calculated by applying methods such as inclusion– exclusion [15,19–23], disjoint subset [1,10], or state-space decomposition [3,7,16]. In particular, inclusion–exclusion method says that PrfD1 g D2 g/g Dr g X X PrfDi g K ðK1Þ2 PrfDi h Dj g K ðK1Þ3 Z i

!

X

i!j

PrfDi h Dj h Dk g

i!j!k

K . K ðK1Þr PrfD1 g D2 g .g Dr g: Similarly, Pr{XjV(X)%dK1 and B(X)%b} can be computed after generating all upper boundary points for (dK1, b). Thus, the performance index Pr{XjV(X)Zd and B(X)%b}, the probability that the maximum flow equals d under budget constraint, can be derived as follows: PrfXjVðXÞ Z d and BðXÞ% bg Z PrfXjVðXÞ% d and BðXÞ% bg K PrfXjVðXÞ% d K 1 and BðXÞ% bg

(2)

3.1. Definition of upper boundary points for (d, b)

3.3. Theory for upper boundary points for (d, b)

Let XZ(x1,x2,.,xn), where xi denotes the (current) capacity of ai, be a capacity vector, and V(X) the maximum flow of the network under X. Suppose there are m MCs: K1,K2,.,Km.PThe capacity of Kj under X is defined by CAPKj ðXÞ h ai2Kj xi . By max-flow min-cut theorem [13], VðXÞZ min1%j%m CAPKj ðXÞ. A capacity vector X is called an upper boundary point for (d, b) if and only if: (i) V(X)Zd, (ii) V(XCei)Od for each ai which is unsaturated under X (i.e. xi!Mi) where ei is a ntuple with 1 in ith position and P 0 others, and (iii) the corresponding total cost BðXÞ h niZ1 ci xi does not exceed the budget b. In particular, if X is an upper boundary point

For each upper boundary point X for (d, b), by max-flow min-cut theorem [13], there exists at least one MC Kj such that CAPKj ðXÞZ d and CAPKw ðXÞ% d for wsj. The following is a necessary condition for an upper boundary point for (d, b). Lemma 1. If X is an upper boundary point for (d, b), then there exists a MC Kj such that CAPKj ðXÞZ d and xiZMi for each ai;Kj. Proof. Suppose to the contrary that there exists an ai;Kj such that xi!Mi. Set YZXCei. Then, YOX, CAPKj ðYÞZ d and CAPKw ðYÞR CAPKw ðXÞR d c w sj. This means that

Y.-K. Lin / Reliability Engineering and System Safety 91 (2006) 539–545

V(Y)Zd which contradicts that X is an upper boundary point for (d, b). Hence, xiZMi cai;Kj. , Each capacity vector X which satisfies B(X)%b, CAPKj ðXÞZ d and xiZMi for each ai;Kj is said to be generated by Kj. For convenience, let JZ{XjdKj such that B(X)%b, CAPKj ðXÞZ d and xiZMi for each ai;Kj}. Hence, V(X)%d for each X2J since there exists a Kj such that CAPKj ðXÞZ d. Remove those non-maximal ones from J to obtain Jmaxh{XjX is maximal wrt R in J}. The following lemmas further show that Jmax is the set of upper boundary points for (d, b). Lemma 2. If X2Jmax, then V(X)Zd. Proof. Suppose X2Jmax, but V(X)!d. Without loss of generality, we assume V(X)ZdK1. Hence, there exists a Kw such that CAPKw ðXÞZ dK 1. Choose an ai2Kw such that xi!Mi (this ai can be found, otherwise that xiZMi cai2Kw implies that CAPKw ðXÞZ CAPKw ðMÞ! d and so V(M)!d which is a contradiction). Set YZXCei, then YOX and CAPKw ðYÞZ CAPKw ðXÞC 1Z d. Hence, Y2J which contradicts to that X2Jmax. We conclude that V(X)Zd. , Lemma 3. JmaxZ{upper boundary points for (d, b)}. Proof. Firstly, we claim that each upper boundary point X for (d, b) will satisfy X2Jmax. Suppose to the contrary that X;Jmax. As X2J by Lemma 1, there exists a Y2Jmax such that YOX and V(Y)Zd. This contradicts to that X is an upper boundary point for (d, b). Hence X2Jmax. Conversely, we claim that each X2Jmax is an upper boundary point for (d, b). Suppose to the contrary that X is not an upper boundary point for (d, b). Then there exists an upper boundary point Y for (d, b) such that YOX and so Y2Jmax. This contradicts to that X2Jmax. Hence, each X2Jmax is an upper boundary point for (d, b). , After generating the set J, we use the comparison concept to obtain all upper boundary points for (d, b). However, the comparison method will be unnecessary if G is series-parallel. Lemma 4. If the network is series–parallel, then JmaxZJ. Proof. Such a network can be considered as the series of its MCs K1,K2,.,Km. Suppose X2J, but X;Jmax. Without loss of generality, we may assume that X is generated by K1, i.e. CAPK1 ðXÞZ d and xiZMi cai;K1. Then there exists a Y2Jmax such that YOX and so CAPK1 ðYÞO CAPK1 ðXÞZ d and CAPKw ðYÞZ CAPKw ðXÞZ CAPKw ðMÞO d cws1. Hence, V(Y)Od which contradicts to that Y2Jmax. Thus, X2Jmax and so JZJmax. ,

In particular, all MCs can be efficiently derived from those algorithms [5,12]. We can determine all upper boundary points for (d, b) by the following steps: Step 1. (Generate J) With respect to each Kr Z far1 ; ar2 ; .; arnr g, rZ1,2,.,m, generate all XZ(x1,x2,.,xn)2J by (1.1) finding all non-negative integer solutions of xr1 C xr2 C/C xrnr Z d; xi % Mi

for i Z r1 ; r2 ; .; rnr ;

(3) (4)

(1.2) setting xiZMi for each ai;Kr, and (1.3) removing those X which contradicts the following constraint n X ci xi % b: (5) iZ1

Step 2. (Obtain Jmax) Suppose JZ{X1,X2,.,Xu}. If the network is series–parallel, then J is the set of upper boundary points for (d, b). Otherwise, use the comparison method to remove those non-maximal ones from J to obtain all upper boundary points for (d, b) as follows: (2.1) I){f} (2.2) FOR i)1 TO u and i;I (2.3) FOR j)iC1 TO uK1 and j;I (2.4) IF Xi!Xj THEN Xi is not an upper boundary point for (d, b). I)Ig{i} and GOTO step 2.7). ELSEIF XiRXj THEN I)Ig{j}. (2.5) j)jC1 (2.6) Xi is an upper boundary point for (d, b) (2.7) i)iC1 (2.8) END

5. Examples The bridge benchmark [16,19–23] given in Fig. 1 shows a simple computer network in which each arc represents a transmission line (it consists several physical transmission lines, e.g. T3 cable, E1 cable, optical fiber) and each node represents a computer center (it consists several switches). The data of arcs are shown in Table 1. Therefore, MZ(M1,M2,M3,M4,M5,M6,)Z(5,5,4,4,5,5). There are four

4. Algorithm As those approaches of [16,19,21,23,24,27,28], we suppose all MCs, K1,K2,.,Km, have been pre-computed.

541

Fig. 1. A simple stochastic-flow network [16,19–23].

542

Y.-K. Lin / Reliability Engineering and System Safety 91 (2006) 539–545

Table 1 The data of arcs and nodes Arc

Capacity a

a1

0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4

a2

a3

a

Probability

ci

Arc

Capacity

Probability

ci

0.01 0.02 0.02 0.05 0.10 0.80 0.01 0.02 0.02 0.05 0.10 0.80 0.01 0.02 0.02 0.05 0.90

10

a4

0 1 2 3 4 0 1 2 3 4 5 0 1 2 3 4 5

0.01 0.02 0.02 0.05 0.90 0.01 0.02 0.02 0.05 0.10 0.80 0.01 0.02 0.02 0.05 0.10 0.80

20

a5 25

a6 10

(1.1) All feasible non-negative integer solutions (x1,x5) such that x1Cx5Z9 and (x1,x5)%(5,5) are (5,4) and (4,5). (1.2) Set (x2,x3,x4,x6)Z(M2,M3,M4,M6)Z(5,4,4,5). Two Xs are generated: X1Z(5,5,4,4,4,5) and X2Z(4,5,4,4,5,5). (1.3) B(X1)Z540%b and B(X2)Z560%b. † Generate all XZ(x1,x2,.,x6)2J by K2: Find all feasible non-negative integer solutions (x2,x3,x5) such that x2Cx3Cx5Z9 and (x2,x3,x5)%(5,4,5). Set (x1,x4,x6)Z(M1,M4,M6)Z(5,4,5) and remove the X such that B(X)Ob. « All Xs are listed in Table 2. Step 2. (2.1) IZ{f} (2.2) iZ1 (Test whether X1 is an upper boundary point for (9,560)) (2.3) jZ2 (2.4) X1Z(5,5,4,4,4,5)>X2Z(4,5,4,4,5,5) and X1kX2. IZ{f} (2.3) jZ3 (2.4) X1Z(5,5,4,4,4,5)OX3Z(5,5,4,4,0,5) and so IZ {3} (2.3) jZ4 (2.4) X1Z(5,5,4,4,4,5)OX4Z(5,5,3,4,1,5) and so IZ {3,4} « (2.6) X1 is an upper boundary point for (9,560).

30

25

Pr{the capacity of a1 is 0}Z0.01.

MCs: K1Z{a1,a5}, K2Z{a2,a3,a5}, K3Z{a1,a4,a6} and K4Z{a2,a6}. The supervisor would like to know the probability that the maximum flow equals the demand nine under the budget bZ560. We first generate all upper boundary points for (9,560) as follows: Step 1 † Generate all XZ(x1,x2,.,x6)2J by K1: Table 2 The result for cases (9,560) and (9,550) MC

X2J (step 1)

B(X)

Is an upper boundary point for (9,560)?

Is an upper boundary point for (9,550)?

MC

X2J (step 1)

B(X)

Is an upper boundary point for (9,560)?

Is an upper boundary point for (9,550)?

K1

X1Z(5,5,4,4,4,5) X2Z(4,5,4,4,5,5) X3Z(5,5,4,4,0,5) X4Z(5,5,3,4,1,5) X5Z(5,5,2,4,2,5) X6Z(5,5,1,4,3,5) X7Z(5,5,0,4,4,5) X8Z(5,4,4,4,1,5) X9Z(5,4,3,4,2,5) X10Z(5,4,2,4,3,5) X11Z(5,4,1,4,4,5) X12Z(5,4,0,4,5,5) X13Z(5,3,4,4,2,5) X14Z(5,3,3,4,3,5) X15Z(5,3,2,4,4,5) X16Z(5,3,1,4,5,5) X17Z(5,2,4,4,3,5) X18Z(5,2,3,4,4,5) X19Z(5,2,2,4,5,5) X20Z(5,1,4,4,4,5) X21Z(5,1,3,4,5,5) X22Z(5,0,4,4,5,5)

540 560 420 440 460 480 500 425 445 465 485 505 430 450 470 490 435 455 475 440 460 445

YES YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

K3

X23Z(5,5,4,4,5,0) X24Z(5,5,4,3,5,1) X25Z(5,5,4,2,5,2) X26Z(5,5,4,1,5,3) X27Z(5,5,4,0,5,4) X28Z(4,5,4,4,5,1) X29Z(4,5,4,3,5,2) X30Z(4,5,4,2,5,3) X31Z(4,5,4,1,5,4) X32Z(4,5,4,0,5,5) X33Z(3,5,4,4,5,2) X34Z(3,5,4,3,5,3) X35Z(3,5,4,2,5,4) X36Z(3,5,4,1,5,5) X37Z(2,5,4,4,5,3) X38Z(2,5,4,3,5,4) X39Z(2,5,4,2,5,5) X40Z(1,5,4,4,5,4) X41Z(1,5,4,3,5,5) X42Z(0,5,4,4,5,5) X43Z(5,5,4,4,5,4) X44Z(5,4,4,4,5,5)

445 450 455 460 465 460 465 470 475 480 475 480 485 490 490 495 500 505 510 520 545 545

NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES YES

NO NO NO NO NO NO NO NO NO YES NO NO NO YES NO NO YES NO YES YES YES YES

K2

K4

Y.-K. Lin / Reliability Engineering and System Safety 91 (2006) 539–545

(2.2) iZ2 (test whether X2 is an upper boundary point for (9,560)) « (2.8) END. The final result for case (9,560) is concluded in Table 2. So X1Z(5,5,4,4,4,5), X2Z(4,5,4,4,5,5), X43Z(5,5,4,4,5,4) and X44Z(5,4,4,4,5,5) are all upper boundary points for (9,560). In order to compute Pr{XjV(X)%9 and B(X)%560}, we let D1Z{XjX%X1}, D2Z{XjX%X2}, D3Z{XjX%X43} and D4Z{XjX%X44}. Then Pr{XjV(X)%9 and B(X)%560}Z Pr{D1gD2gD3gD4}Z0.5904 after calculating. We can also obtain Pr{XjV(X)%8 and B(X)%560}Z0.373708 by repeating the proposed algorithm to generate all upper boundary points for (8,560). The result of upper boundary points for (8,560) is shown in Table 3. So

Table 3 The result for cases (8,560), (8,550) and (8,545) MC

X2J (step 1)

B(X)

Is an upper boundary point for (8,560)?

Is an upper boundary point for (8,550)?

Is an upper boundary point for (8,545)?

K1

X1Z(5,5,4,4,3,5) X2Z(4,5,4,4,4,5) X3Z(3,5,4,4,5,5) X4Z(5,5,3,4,0,5) X5Z(5,5,2,4,1,5) X6Z(5,5,1,4,2,5) X7Z(5,5,0,4,3,5) X8Z(5,4,4,4,0,5) X9Z(5,4,3,4,1,5) X10Z(5,4,2,4,2,5) X11Z(5,4,1,4,3,5) X12Z(5,4,0,4,4,5) X13Z(5,3,4,4,1,5) X14Z(5,3,3,4,2,5) X15Z(5,3,2,4,3,5) X16Z(5,3,1,4,4,5) X17Z(5,3,0,4,5,5) X18Z(5,2,4,4,2,5) X19Z(5,2,3,4,3,5) X20Z(5,2,2,4,4,5) X21Z(5,2,1,4,5,5) X22Z(5,1,4,4,3,5) X23Z(5,1,3,4,4,5) X24Z(5,1,2,4,5,5) X25Z(5,0,4,4,4,5) X26Z(5,0,3,4,5,5) X27Z(5,5,4,3,5,0) X28Z(5,5,4,2,5,1) X29Z(5,5,4,1,5,2) X30Z(5,5,4,0,5,3) X31Z(4,5,4,4,5,0) X32Z(4,5,4,3,5,1) X33Z(4,5,4,2,5,2) X34Z(4,5,4,1,5,3) X35Z(4,5,4,0,5,4) X36Z(3,5,4,4,5,1) X37Z(3,5,4,3,5,2) X38Z(3,5,4,2,5,3) X39Z(3,5,4,1,5,4) X40Z(3,5,4,0,5,5) X41Z(2,5,4,4,5,2) X42Z(2,5,4,3,5,3) X43Z(2,5,4,2,5,4) X44Z(2,5,4,1,5,5) X45Z(1,5,4,4,5,3) X46Z(1,5,4,3,5,4) X47Z(1,5,4,2,5,5) X48Z(0,5,4,4,5,4) X49Z(0,5,4,3,5,5) X50Z(5,5,4,4,5,3) X51Z(5,4,4,4,5,4) X52Z(5,3,4,4,5,5)

510 530 550 410 430 450 470 395 415 435 475 475 400 420 440 460 480 405 425 445 465 410 430 450 415 435 425 430 435 440 435 440 445 450 455 450 455 460 465 470 465 470 475 480 480 485 490 495 500 520 520 520

YES YES YES NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES YES YES

YES YES YES NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES YES YES

YES YES NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO YES YES NO NO YES YES NO YES YES YES YES YES YES YES

K2

PrfXjVðXÞ Z 9 and BðXÞ% 560g Z PrfXjVðXÞ% 9 and BðXÞ% 560g K PrfXjVðXÞ% 8 and BðXÞ% 560g Z 0:5904 K 0:373708 Z 0:216692:

(6)

Thus, the performance index, the probability that the maximum flow equals nine under the budget bZ560, is 0.216692. For the case that the budget is deduced to be 550, Table 2 shows that all upper boundary points for (9,550) are X1, X32, X36, X39, X41, X42, X43 and X44. Also, Table 3 shows that all upper boundary points for (8,550) are X1, X2, X3, X12, X35, X50, X51 and X52. Then Pr{XjV(X)%9 and B(X)%550}Z 0.4611 and Pr{XjV(X)%8 and B(X)%550}Z0.373708 after calculating. Therefore, the performance index, the probability that the maximum flow equals nine under the budget bZ550, is 0.087392.

K3

6. Discussion and conclusions The number of non-negative solution X satisfying xr1 C xrnr Z d and ðxr1 ; xr2 ; .; xrnr Þ% ðMr1 ; Mr2 ; .; xr2 C/C  Qr nr C dK 1 ðMri C 1Þ, respectively. Mrnr Þ are and niZ1 d Thus, by Kr is bounded by the number of Xs generated  Qn r nr C dK 1 ; min iZ1 ðMri C 1Þ : d Hence, the number of X2J is bounded by: ! ( ) nr m X nr C d K 1 Y Uh ; ðMri C 1Þ : min d rZ1 iZ1 The proposed algorithm needs O(n$U) storage space in the worst case. In the worst case, step (1.1) and (1.2) need O(U) time and step (1.3) takes O(n$U) time. For each

543

K4

X2J, it further takes O(n$U) time to compare with other Xs in the worst case. Hence, step 2 to obtain Jmax needs O(n$U2) time in the worst case. In sum, the algorithm needs O(n$U2) time in the worst case. However, given a constant d

544

nr Cd K1

Y.-K. Lin / Reliability Engineering and System Safety 91 (2006) 539–545

! Z

ðnr Cd K1Þ! d!ðnr K1Þ!

d cðnr K1 CdÞ ðaccording to Stirling approximation ½25Þ z d!cðnr K1Þ

n K1Cd nr K1Cd pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi r 2pðnr K1 CdÞ e Z

n K1 nr K1 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi r 2p$ðnr K1Þ d! e sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi  d   1 nr K1 Cd nr K1 Cd nr K1 d Cnr K1 Z d! e nr K1 nr K1 s ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi    nr K1 1 nr K1 Cd d d d 1C Z 1C d! e nr K1 nr K1  d 1 nr K1 Cd ed ð7Þ z d! e where we note that  nr K1 sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi d d /ed as nr /N: 1C 1C nr K1 nr K1 Hence, given a constant d, this algorithm is polynomial time in nr. Also, given a constant nr: ! nr Cd K1 ðn Cd K1Þ! cðnr K1CdÞ z Z r d!ðnr K1Þ! cðdÞðnr K1Þ! d

n K1Cd nr K1Cd pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi r 2pðnr K1 CdÞ e Z

d d pffiffiffiffiffiffiffiffiffiffiffi 2p$dðnr K1Þ! e     rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 nr K1Cd nr K1 nr K1Cd d d Cnr K1 Z ðnr K1Þ! e d d  nr K1  d rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 nr K1Cd n K1 n K1 Z 1C r 1C r ðnr K1Þ! e d d  nr K1 1 nr K1 Cd z enr K1 : ðnr K1Þ! e (8) Therefore, given constants nr or n, this algorithm is polynomial time in d. This paper uses minimal cuts to propose a simple algorithm to generate all upper boundary points for (d, b) for a stochastic-flow network with cost attribute. The upper boundary points for (d, b) can be used to calculate the system unreliability, i.e. Pr{XjV(X)%d and B(X)%b}. Similarly, we can generate all upper boundary points for (dK1, b) and then calculate Pr{XjV(X)%dK1 and B(X)%b}. The performance index Pr{XjV(X)Zd and B(X)%b}, the probability that the maximum flow equal d under the budget b, can be obtained by calculating Pr{XjV(X)%d and B(X)%b}KPr{XjV(X)%dK1 and B(X)%b}.

In order to solve constraints (3) and (4), we can apply the implicit enumeration method (e.g. branch-and-bound or backtracking) which is always denoted by a search tree composed nodes and arcs. Choose any variable as the starting variable, and treat all equations in (3) and inequalities in (4) as constraints of the search tree. Repeat this procedure to find all integer solutions of constraints (3) and (4). Without budget constraint, the best existing algorithm by Yeh [28] tests whether the maximum flow of the network is d under X for each X2J. Yeh’s algorithm totally takes O(n2$V(M)$U) time in which the maximum flow algorithm needs O(n$V(M)) time. Our algorithm uses only the comparison concept to directly generate all upper boundary points for d without applying the maximum flow algorithm. However, the proposed algorithm is simpler to understand and to program on a digital computer. In this paper, we only consider the case of single commodity. Future research can develop a process to evaluate the performance index for the networks that allow multiple commodities to be transmitted from source s to sink t. In the multiple commodities case, different commodity consumes the capacity of a component at different rates.

Acknowledgements I would like to thank the anonymous referees for helpful and constructive comments. This work was supported in part by the National Science Council, Taiwan, Republic of China, under Grant No. NSC 93-2213-E-238-002.

References [1] Abraham JA. An improved algorithm for network reliability. IEEE Trans Reliab 1979;28:58–61. [2] Aggarwal KK, Rai S. Symbolic reliability evaluation using logical signal relations. IEEE Trans Reliab 1978;R-27:202–5. [3] Aggarwal KK, Chopra YC, Bajwa JS. Capacity consideration in reliability analysis of communication systems. IEEE Trans Reliab 1982;31:177–80. [4] Ahuja RK, Hochbaum DS, Orlin JB. Solving the convex cost integer dual network flow problem. Manage Sci 2003;49(7):950–64. [5] Al-Ghanim AM. A heuristic for generating minimal path and cutsets of a general network. Comput Ind Eng 1999;36:45–55. [6] Bein WW, Brucker P, Arie Tamir. Minimum cost flow algorithms for series-parallel networks. Discrete Appl Math 1983;10(2):117–24. [7] Clancy DP, Gross G, Wu FF. Probability flows for reliability evaluation of multiarea power system interconnections. Electr Power Energy Syst 1983;5:100–14. [8] Curet ND, DeVinney J, Gaston ME. An efficient network flow code for finding all minimum cost s-t cutsets. Comput Oper Res 2002; 29(3):205–19. [9] Doulliez P, Jamoulle J. Transportation networks with random arc capacities. RAIRO, Rech Oper Res 1972;3:45–60. [10] El-Neweihi E, Proschan F, Sethuraman J. Multistate coherent systems. J Appl Probab 1978;15:675–88. [11] Evans JR. Maximal flow in probabilistic graphs—the discrete case. Networks 1976;6:161–83.

Y.-K. Lin / Reliability Engineering and System Safety 91 (2006) 539–545 [12] Fard NS, Lee TH. Cutset enumeration of network systems with link and node failures. Reliab Eng Syst Saf 1999;65(2):141–6. [13] Ford LR, Fulkerson DR. Flows in networks. NJ: Princeton University Press; 1962. [14] Goldfarb D, Jin Z. New scaling algorithm for the minimum cost network flow problem. Operations Res Lett 1999;25(5):205–11. [15] Griffith WS. Multistate reliability models. J Appl Probab 1980;17: 735–44. [16] Jane CC, Lin JS, Yuan J. On reliability evaluation of a limited-flow network in terms of minimal cutsets. IEEE Trans Reliab 1993;42(3): 354–61. [17] Lee SH. Reliability evaluation of a flow network. IEEE Trans Reliab 1980;29:24–6. [18] Lee DW, Yum BJ. Determination of minimal upper paths for reliability analysis of planar flow networks. Reliab Eng Syst Saf 1993; 39:1–10. [19] Lin YK. On Reliability evaluation of a stochastic-flow network in terms of minimal cuts. J Chin Inst Ind Eng 2001;18(3):49–54. [20] Lin YK. A simple algorithm for reliability evaluation of a stochasticflow network with node failure. Comput Oper Res 2001;28(13): 1277–85.

545

[21] Lin YK. Using minimal cuts to study the system capacity for a stochastic-flow network in two-commodity case. Comput Oper Res 2003;30(11):1595–607. [22] Lin YK. Two-commodity reliability evaluation for a stochastic-flow network with node failure. Comput Oper Res 2002;29(13):1927–39. [23] Lin YK. Study on the system capacity for a multicommodity stochastic-flow network with node failure. Reliab Eng Syst Saf 2002;78(1):57–62. [24] Malinowski J, Preuss W. A parallel algorithm evaluating the reliability of a system with known minimal cuts (paths). Microelectron Reliab 1997;37(2):255–65. [25] Ross SM. Introduction to probability models. New York: Academic Press; 1993. [26] Salehi FH, Shirdel GH. An O(nm2) time algorithm for solving minimal cost network flow problems. Asia-Pacific J Oper Res 2003; 20(2):161–75. [27] Xue J. On multistate system analysis. IEEE Trans Reliab 1985;34: 329–37. [28] Yeh WC. A simple approach to search for all d-MCs of a limited-flow network. Reliab Eng Syst Saf 2001;71(1):15–19.