An improved ant colony optimization algorithm for wire optimization
R020998
1. A path-based algorithm for evaluating the k-out-of-n
flow network reliability
Wei-Chang Yeh*
e-Integration and Collaboration Laboratory, Department of Applied Mathematics, National Chiayi University, P.O. Box 67-100, Taichung 408, Taiwan, ROC
Received 3 January 2004; accepted 30 April 2004
Abstract
Evaluating the network reliability is an important topic in the planning, designing and control of systems. The minimal path (MP, an edge
set) set is one of the major, fundamental tools for evaluating network reliability. A k-out-of-n MP is a union of some MPs in a k-out-of-n flow
network in which some nodes must receive flows from their k input distinctive edges (each input edge has one flow) to generate one flow,
where k is an integer number between 2 and n. In this study, a very simple a-lgorithm based on some intuitive theorems that characterize the
k-out-of-n MP structure and the relationship between k-out-of-n MPs and k-out-of-n MP candidates is developed to solve the k-out-of-n flow
network reliability by finding the k-out-of-n MPs between two special nodes. The proposed algorithm is easier to understand and implement.
The correctness of the proposed algorithm will be analyzed and proven. One example is illustrated to show how all k-out-of-n MPs are
generated and verified in a k-out-of-n flow network using the proposed algorithm. The reliability of one example is then computing using the
same example.
q 2004 Elsevier Ltd. All rights reserved.
Keywords: Flow network reliability; k-out-of-n; Minimal path (MP); Algorithm
1. Introduction
The reliability evaluation problem has been a popular
research area that has received significant attention during
the past four decades [1–37] because of reliability’s critical
importance in various kinds of systems. In recent years,
network reliability theory has been applied extensively in
many real-world systems such as computers and communi-
cation systems [1,2], power transmission and distribution
systems [3], transportation systems [4], oil/gas production
system [5], etc. Thus, network reliability plays important
role in modern society [6–37].
The reliability of a network represents its ability to
continuing to perform a specified operation despite the
effects of malfunctions or damage [6]. For example, in the
s–t network, which are graphs with two special terminals:
one source node s and one sink node t as a reliability
model is widely used for systems reliability analysis.
The reliability of a s–t network is given by the probability
that there exists a flow from the source node to the sink
node.
The traditional network always assumes that each node
can generate one flow output to one of its output edges if and
only if any flow from any one of its input edges exits.
However, in real applications, some nodes (called k-out-of-
n nodes here) with n input edges must receive flows from its
k input edges to generate output one flow. Different nodes
may have different k values and k is defined on a node with
k2{2,3,.,n}. For example, the voter output the result in an
n-version programming system only when there are at least
k modules that have the same results, where k is a defined
value [7,8]. Similar applications are observed in other
redundant systems [7,8]. Hence, it is necessary to extend
traditional networks without k-out-of-n nodes to k-out-of-n
networks.
Both of the evaluations of the reliability of the traditional
networks or the k-out-of-n networks are NP-hard problems
[6]. The traditional network reliability evaluation
approaches exploit a variety of tools for system modeling
0951-8320/$ - see front matter q 2004 Elsevier Ltd. All rights reserved.
doi:10.1016/j.ress.2004.04.015
Reliability Engineering and System Safety 87 (2005) 243–251
www.elsevier.com/locate/ress
* Tel.: C886-4-2321-6168; fax: C886-4-2208-4168.
E-mail address: yeh@ieee.org.
2. and reliability index calculation. Among the most popular
tools are network-based algorithms founded in terms of
either minimal cuts (MCs) or minimal paths (MPs) [7–37].
Tan [7] first investigated the search for enumerating the
reliability of the k-out-of-n binary network in which the
capacity of each edge is 1 only. In the k-out-of-n flow
network reliability evaluation, Yeh [8] is the first researcher
who discussed how to search for all of the k-out-of-n MCs to
find the reliability of the k-out-of-n flow network in which
the capacity of each edge is not limited. Unfortunately, to
the author’s best knowledge, no published papers have
investigated an algorithm to evaluate the k-out-of-n flow
network reliability based on MPs. The need for an efficient
algorithm based on MPs to enumerate the k-out-of-n flow
network reliability thus arises.
The purpose of this paper is to develop a first one path-
based algorithm to enumerate the k-out-of-n general flow
network reliability in terms of all MPs. The proposed
algorithm is based on some simple concepts that were found
in this study. The computational complexity of the proposed
algorithm is analyzed and compared with the existing
methods.
This paper is organized as follows. Section 2 describes the
notations, nomenclature and assumptions required. In
Section 3, some important properties, and theorems are
also discussed included the relationships among k-out-of-n
nodes, MPs, k-out-of-n MPs, and k-out-of-n MP candidates.
Section 4 presents the proposed method for finding k-out-of-
n MPs in the networks. One example is illustrated to show
how to generate all k-out-of-n MPs using the proposed
algorithm in the k-out-of-n network in Section 5.
The reliability of one example is also calculated in terms of
k-out-of-n MPs by further applying the inclusion–exclusion
method. Concluding remarks are given in Section 6.
2. Notation, nomenclature and assumptions
2.1. Acronym
MC/MP minimal cut/path.
2.2. Nomenclature
Reliability the probability that a signal can be
transmitted from the source node to the
sink node.
k-out-of-n node a node with n input edges must receive
flows from k distinctive input edges to
generate exactly one flow, where k is an
integer assigned to the node and its value
can be any number from 2 to n.
k-out-of-n binary
network
a connected network with k-out-of-n
nodes s.t. the capacity of each edge is
1 only.
k-out-of-n flow
network
a connected network with k-out-of-n
nodes s.t. the capacity of each edge is
not limited.
Cut a cut is an edge set such that no path
from the source node to the sink node
after removing it.
MP/MC it is a path/cut set such that if any edge is
removed from this path/cut set, then the
remaining set is no longer a path/cut set.
For example, {es2,e21,e13,e34,e4t} is a
MC and also a MP between nodes s and t
in Fig. 1.
k-out-of-n MP
candidate
a union of MPs. For example, PZ
{es1,e13,e3t,e12,e23} is a union of two
MPs {es1,e12,e23,e3t} and {es1,e13,e3t}
between nodes s and t in Fig. 1. Hence,
P is a k-out-of-n MP candidate.
k-out-of-n MP a k-out-of-n MP candidate such that the
flow can go from nodes s to t and the
remaining set is no longer a k-out-of-n
MP candidate after removing any one of
its edge. For example, {es1,e13,e3t,e12,
e23} is a k-out-of-n MPs between nodes s
and t in the k-out-of-n flow network of
Fig. 1 if nodes s, 1, 2, and t are not k-out-
of-n nodes, and node 3 is a 2-out-of-4
node.
Semi-path a special order of some k-out-of-n nodes
and t, and t is the last node in each semi-
path. For example, qZ(3,4,t) is a semi-
path, where nodes 3 and 4 are k-out-of-n
nodes. KqZK3,4,tZ{p4,p6,p10,p11,p13} is
a MP subset via q in Fig. 1, where p4Z
{es1,e12,e23,e34,e4t}, p6Z{es2,e23,e34,
e4t}, p10Z{es1,e13,e34,e4t}, p11Z{es2,
e23,e31,e14,e4t}, and p13Z{es2,e21,e13,
e34,e4t}.
2.3. Notations
j†j the number of elements of †, e.g. jVj is the
number of nodes in V.
Pr(†) the probability of †.
k(†) the function k defined on node † or the 1st
node in path † to indicate that such node is a
k(†)-out-of-n node, if k(†)Z1 then node †
or the 1st node in the semi-path † is not a
k-out-of-n node.
Fig. 1. An example k-out-of-n flow network.
W.-C. Yeh / Reliability Engineering and System Safety 87 (2005) 243–251244
3. G(V, E, k) a k-out-of-n (connected) flow network with
the node set VZ{s, t, 1, 2,.,nK2}, the edge
set E, the function k, and s, t are the specified
source node and sink node, respectively. For
example, Fig. 1 is a k-out-of-n network
if k(3)Zk(4)Z2 and k(s)Zk(1)Zk(2)Z
k(t)Z1.
euv euv2E is a directed edge from nodes u to v.
D(†) the set of directed edges that flow into node †
or into the first node of the semi-path †.
5aðA1; .; AaÞ a set of which each element, say bi, is chosen
aij distinctive elements from Aj for
aij2{0,1,.,jAjj}, jZ1,2,.,a, and
Pa
jZ1 aij
RaR1; where A1,A2,., and Aa are MP
subsets. Moreover, 5Z51 and 5a†Z
5a(†). For example, 52({p9,p12},
{p3,p5})Z{p9gp12, p3gp5, p9gp3,
p9gp5, p12gp3, p12gp5, p9gp12gp3,
p9gp12gp5, p9gp3gp5, p12gp3gp5,
p9gp12gp3gp5}.
4aðA1; .; AaÞ a set of which each element, say bi, is chosen
aij distinctive elements from Aj for
aij2{0,1}, jZ1,2,.,a, and
Pa
jZ1 aij ZaO
1; where A1,A2,., and Aa are MP subsets.
Moreover, 4a†Z4a(†). For example,
42({p9,p12},{p3,p5})Z{p9gp3, p9gp5,
p12gp3, p12gp5}.‘
i Ai is equal to ðA1; A2; .; AaÞ; where A1; A2; .;
Aa are MP subsets.
2.4. Assumptions
The network satisfies the following assumptions [8].
1. Each node is perfectly reliable.
2. The graph is connected, i.e. there is at least a path
between any pair of nodes.
3. Each edge has two states: working or failed.
4. The capacity of each edge is not limited.
5. The states of edges are statistically independent.
3. Preliminaries
Before introducing the proposed algorithm, some useful
properties and results will be described in this section. The
following properties discuss the relationships among the
MPs, k-out-of-n MP candidates, and k-out-of-n MPs.
Property 1. If a MP is not via any k-out-of-n nodes, then it is
a k-out-of-n MP.
Based on the definition of k-out-of-n MP, a k-out-of-n
MP is also a k-out-of-n MP candidate.
Property 2. Each k-out-of-n MP is a k-out-of-n MP
candidate, i.e. a union of some MPs.
Using Property 2, all of the k-out-of-n MP can be
found by trying all combinations of the union of MPs.
However, the number of MPs will grow exponentially
with the number of nodes [6,22–28], i.e. the number of
MPs is 2jVj
in the worst case. Hence, the number of
k-out-of-n MP candidates obtained from Property 2 is at
most 22jVj
Z4jVj
: Even for a smaller sized problem, it is
still very difficult to find all of the k-out-of-n MP
candidates using Property 2 within a reasonable amount
of time. Thus, an efficient and intuitive method to find
all k-out-of-n MP candidates based on the semi-path
without using Property 2 is proposed next.
Let P be a union of some MPs, i.e. P is a k-out-of-n
candidate. If the number of MPs in P via a k-out-of-n node v
is less than k(v), then v cannot be enabled to output a flow
using the definition of a k-out-of-n node, and P is not a
k-out-of-n MP. Thus, we have Property 3.
Property 3. Each k-out-of-n node v in a k-out-of-n MP is via
by at least k(v) of distinct MPs.
Property 3 is a fundamental property to count the number
of MPs in a k-out-of-n MP via some specified number of
k-out-of-n nodes.
Corollary 1. Let PZ{all MPs via the k-out-of-n node v}. If
jPj is less than k(v), then no k-out-of-n MP contains any
MP in P.
Corollary 2. Let PqZ{all MPs containing the semi-path q}.
The union of any K*
(%jPqj) distinct MPs from Pq is then not
a k-out-of-n MP for all K*
!k(q).
A k-out-of-n node can only generate at most one flow
regardless of how many MPs flow through it. Therefore, if
the k-out-of-n MP candidate P via a k-out-of-n node v and
the number of MPs in P is greater than k(v), then P is a
k-out-of-n MP candidate but not a k-out-of-n MP because
some MPs can be removed without stopping v from
generating a flow. Hence, Corollary 3 is true.
Corollary 3. If the k-out-of-n MP P via the k-out-of-n node v
only, then P is a union of exactly k(v) distinctive MPs.
Theorem 1 discusses a very important characteristic in
k-out-of-n MPs. It is used to prove Theorem 2, which can
correctly predict the number of MPs in a k-out-of-n MP.
It also can be implemented to remove k-out-of-n MP
candidates, which contain cycles.
Theorem 1. There is no directed cycle in each k-out-of-n
MP.
Proof. Let P be a k-out-of-n MP. If there is at least a directed
cycle in P, say from nodes 1 to 2 to . to v, then the edge
ei,iC1 can be removed from P s.t. the flow still can go from
the source node to the sink node, where iZ1,2,.,vK1.
This contradicts the fact that P is a k-out-of-n MP by
the definition of k-out-of-n MPs. Hence, this statement
is true. ,
W.-C. Yeh / Reliability Engineering and System Safety 87 (2005) 243–251 245
4. The converse of Theorem 1 is false; that is, there are
k-out-of-n MP candidates without any directed cycles but
not real k-out-of-n MPs. For instance, in Example 1 we
showed that PZ{es1,e14,e4t,es2,e21,e13,e34,e23} (see Fig. 2)
is a k-out-of-n MP candidate in Fig. 1 because P is a union of
three MPs: {es2,e21,e14,e43,e3t}, {es2,e23,e34,e4t} and {es2,
e21,e13,e34,e4t}. P has no directed cycles but e21 redundant,
i.e. P is not a k-out-of-n MP.
Theorem 2 can precisely tell us the number of MPs to
constitute a k-out-of-n MPs. It reduces the number of k-out-
of-n MP candidates obtained using Property 2 by removing
those k-out-of-n MP candidates that includes more or less
MPs than expected.
Theorem 2. If the k-out-of-n MP P via k-out-of-n nodes
V*
Z{v1,.,vu} for uR1, then P is a union of kðtÞCPu
iZ1½kðviÞK1Š distinctive MPs.
Proof. Assume V0Z{v2V*
j no MPs in P via the other
k-out-of-n nodes before via v}. From Theorem 1, there is no
cycle in a k-out-of-n MP, i.e. no path from nodes v to u and
another path from nodes u to v. Hence, there is at least one
node, say v, in V*
s.t. no MP via the other k-out-of-n node
before via v, i.e. V0 always exists.
Let ViZfv2V*
KgiK1
jZ0Vjj MPs constituted P must pass
at lease one node in ViK1 before via v} and V*
Zgp
jZ0Vj:
There are exactly
P
v2V0
kðvÞ MPs in P via all nodes in V0.
Exactly one path comes out from each node in V0 and goes
into either node t or other k-out-of-n nodes but not into V0.
Assume that ti2{0,1,.,k(t)} is the number of paths from
nodes in Vi directly into node t. Hence, there are
P
v2V1
kðvÞKjV0jCt0 MPs in P via all nodes in V1. In the same
way, there are
P
v2Vi
kðvÞKjVijCti MPs in P via all nodes
in ViC1. Moreover,
PpK1
iZ0 tiZkðtÞ: Thus, the number of
distinctive MPs that constitute P is counted as follows:
X
v2V0
kðvÞ C
X
v2V1
kðvÞ KjV0j Ct0
" #
C/
C
X
v2Vp
kðvÞ KjVpK1j CtpK1
" #
(1)
Z
X
v2V0
kðvÞ KjV0j
" #
C
X
v2V1
kðvÞ KjV1j
" #
C/
C
X
v2Vp
kðvÞ KjVpK1jðt0 C/CtpK1Þ (2)
Z
X
v2V0
½kðvÞ K1Š C
X
v2V1
½kðvÞ K1Š C/CkðtÞ (3)
Z kðtÞ C
Xu
iZ1
½kðviÞ K1Š: (4)
,
Property 4 is trivial and easy to understand. It is the basis of
Properties 5–7 in which the methods to reduce the number
of k-out-of-n MP candidates are developed.
Property 4. If v is a k-out-of-n node, then any k-out-of-n MP
occurs via only one k-out-of-n node v belongs to
4kðvÞ
a
j
Nj;v;
a
i
5kðiÞKi;v
!
; (5)
From Property 4, we have the following properties.
These properties are repeatedly employed in the proposed
algorithm in Section 4 to efficiently reduce the number of
k-out-of-n MP candidates.
Property 5. If k(t)Z1 and NtZ{all MPs via non-k-out-of-n
node to t}, then Nt gðgi2V Ki;tÞZ{all MPs} and
fall k ÿ out ÿ of ÿ n MPsg4Nt g g
i2V
ð5kðiÞKi;tÞ
!
: (6)
Property 6. If k(t)O1, then ðgj2V Ni;tÞgðgi2V Ki;tÞZ
{all MPs} and
fall k ÿ out ÿ of ÿ n MPsg44kðtÞ
a
j
Nj;t;
a
i
5kðiÞKi;t
!
:
(7)
Property 7. If q is a semi-path, PqZ{pjMP p is via q}, and
P*
Z{p*
jp*
4Pq and there is only one flow can via p*
but
cannot via any proper subset of p*
}, then
P*
44kðqÞ
a
j
Nj;q;
a
i
5kðiÞKi;q
!
45kðqÞPq: (8)
The k-out-of-n MP candidates still need to be found from the
union of MPs. However, the number of combinations in the
union of MPs, i.e. the number of k-out-of-n MP candidates,
is reduced significantly after using Properties 5–7. All of the
k-out-of-n MP candidates need to be verified further to find
all of the k-out-of-n MPs. The following is an intuitive
method to verify all of the k-out-of-n MP candidates just
using the k-out-of-n MP definition.
Property 8. If P is a k-out-of-n MP candidate, and there is
no k-out-of-n MP candidate P*
s.t. P*
3P, then P is a real
k-out-of-n MP.
It is a time-consuming and burdensome job if the
corresponding k-out-of-n MP candidate need to be verified
using Property 8, which takes O(the square of the number of
k-out-of-n MP candidates). Hence, an efficient and intuitive
Fig. 2. The subgraph induced by PZ{es1,e14,e4t,es2,e21,e13,e34,e23} from
Fig. 1.
W.-C. Yeh / Reliability Engineering and System Safety 87 (2005) 243–251246
5. method to verify all of k-out-of-n MC candidates instead of
using Property 8 is proposed in Theorem 3.
Theorem 3. If the number of the input edges of node v in the
k-out-of-n MP candidate P is not equal to k(v), then P is not
a k-out-of-n MP.
Proof. If the k-out-of-n node v receive flows from less
than k(v) edges, then the flow cannot be sent via v, i.e. P is
not a k-out-of-n MP candidate. If v receive flows from more
than k(v) edges, then some of these flows are redundant and
can be removed without blocking the flow through v, i.e. P is
not a k-out-of-n MP. Thus, this statement is true. ,
The number of nodes in each k-out-of-n MP candidate
is less than jVj. Hence, the time complexity to check the
in-degree of k-out-of-n nodes is only O(jthe number of
k-out-of-n nodej) [19]. Therefore, the following statement
holds.
Property 9. It takes time complexity O(jVj) to verify each
k-out-of-n MP candidate using Theorem 3.
To guarantee that obtained k-out-of-n MP set is unique
and minimal, all obtained k-out-of-n MPs must be sorted to
remove duplicated k-out-of-n MP using the following
procedure:
STEP 1. Sort all edges in each k-out-of-n MP set in an
increasing order (let s!1!2!.!t) of 1st
subscript, i.e. es1!e12. If two edges with the
same 1st subscript, then sort the 2nd subscript in
an increasing order, i.e. es1!es2. For example,
{es1,e13,e3t,e12,e23} becomes {es1,e12,e13,e23,e3t}
after sorting all elements.
STEP 2. Sort all sets as follows:
1. If jSij!jSjj, then Si!Sj. For example, if SiZ
{es1,es2,e13,e23,e3t} and SjZ{es1,e12,e13,e14,e23,
e34,e4t}, then Si!Sj.
2. If jSijZjSjj, Si(a)ZSj(a) for a!b, and Si(b)!
Sj(b) for b%jSjj, then Si!Sj, where Si(†) is the
†th element in Si. For example, if SiZ{es1,es2,
e13,e23,e3t} and SjZ{es1,e12,e13,e23,e3t}, then Si!
Sj due to Si(1)ZSj(1)Zes1, and Si(2)Zes2!
Sj(2)Ze12.
STEP 3. Remove the duplicate sets.
It takes O(jSj logjSj) to sort all elements in set S [6].
Hence, the time complexities are O(sjEj logjEj)ZO(sjEj
logjVj) in STEP 1, O(s log s) in STEP 2, and O(s) in STEP
3, where s is the number of obtained k-out-of-n MPs. Hence,
the total time complexity in the above whole procedure is
only O(s log s) which can be ignored without affecting the
total time complexity of the proposed algorithm when
compared to the time complexity for searching for all k-out-
of-n MCs.
If all k-out-of-n MPs are determined, the last step is to
calculate the exact reliability in terms of the k-out-of-n MPs.
Theorem 4 is implemented to calculate the exact reliability.
Basically, it is called the inclusion–exclusion method and is
already used to evaluate network reliability. Among these
methods, such as the disjoint subset method, the state-space
decomposition method and inclusion–exclusion method are
used to compute network reliability [8,19,25]. The
inclusion–exclusion method is the simplest. Hence, it is
applied in Example 2 of Section 5 to evaluate the flow
network reliability of Fig. 1 in terms of k-out-of-n MPs
obtained using the proposed algorithm.
Theorem 4. Assume P1; P2; .; Pd are the k-out-of-n MPs
between nodes s and t, then the reliability R using the
inclusion–exclusion method in terms of these k-out-of-n
MPs is given by
R Z
Xd
iZ1
PrðPiÞ K
Xd
jZ2
XjK1
iZ1
PrðPigPjÞ
C
Xd
kZ3
XkK1
jZ2
XjK1
iZ1
PrðPigPjgPkÞ C/
CðK1ÞdC1
PrðP1 g.gPdÞ: (9)
4. The proposed algorithm
This section outlines the proposed algorithm, which is
very simple for finding and verifying all k-out-of-n MP
candidates between the source and sink nodes in G(V, E, k).
There are two main steps in the proposed algorithm.
First, Corollary 1 and Properties 5–7 are implemented to
enumerate the k-out-of-n MP candidates. Next, these k-out-
of-n MP candidates are verified using Theorem 3. The
details are described in the following steps:
Algorithm. Find the k-out-of-n MPs in a flow network
G(V, E, k).
Input: A connected flow network G(V, E, k) with node set
V, edge set E, function k, a source node s, a sink
node t, and all of MPs.
Output: The k-out-of-n MP set in G(V, E, k).
STEP 0. If k(t)Z1 go to STEP 1, else go to STEP 2.
STEP 1. (Property 5) Let TZ{Ki,tjfor all k-out-of-n node i}
P Z Nt g g
i2V
ð5kðiÞKi;tÞ
!
; (10)
and go to STEP 3, where NtZ{all MPs via non-k-
out-of-n node to t}.
STEP 2. (Property 6) Let TZ{Ki,tjfor all k-out-of-n node i}
P Z4kðtÞ
a
j
Nj;t;
a
i
5kðiÞKi;t
!
: (11)
STEP 3. Choose one element, say Pq, from T, and let
TZTK{Pq}.
W.-C. Yeh / Reliability Engineering and System Safety 87 (2005) 243–251 247
6. STEP 4. (Corollary 1) If k(q)OjD(q)j, then replace 5k(q)Pq
with : in P and go to STEP 6.
STEP 5. (Property 7) Let TZTg{Ki,qj for all k-out-of-n
node i } and replace 5k(q)Pq with 4kðqÞ‘
j Nj;q;
‘
i5kðiÞKi;q
À Á
in P.
STEP 6. If Ts:, then go to STEP 3.
STEP 7. Find all elements in the final P obtained from the
above STEPs.
STEP 8. Implement Theorem 3 to verify all k-out-of-n MP
candidates.
The correctness of the proposed algorithm follows
directly from Corollary 1, Properties 5-7 and Theorem 3.
Hence, we have Theorem 5.
Theorem 5. The above algorithm locates all of the k-out-of-n
MPs in the flow network.
5. Examples
To enumerate all of the MPs in a flow network is a NP-
hard problem [6,22–28]. It possesses a computational
difficulty that, in the worse case, grows exponentially with
network size. Owing to this inherent problem, instead of
presenting practically large network systems [8], one
moderate size network was selected to demonstrate this
methodology for the k-out-of-n MP problem.
Example 1. Consider the k-out-of-n flow network in Fig. 1
of Section 2, where k(1)Zk(2)Zk(t)Z1, k(3)Zk(4)Z2,
and nodes s and t are the source and sink nodes,
respectively. There are 13 MPs: p1Z{es2,e21,e14,e43,e3t},
p2Z{es1,e14,e43,e3t}, p3Z{es1,e12,e23,e3t}, p4Z{es1,e12,
e23,e34,e4t}, p5Z{es2,e23,e3t}, p6Z{es2,e23,e34,e4t}, p7Z
{es2,e21,e14,e4t}, p8Z{es1,e14,e4t}, p9Z{es1,e13,e3t}, p10Z
{es1,e13,e34,e4t}, p11Z{es2,e23,e31,e14,e4t}, p12Z{es2,e21,
e13,e3t}, and p13Z{es2,e21,e13,e34,e4t}. Use the proposed
algorithm to find and verify all k-out-of-n MPs between
nodes s and t.
Solution. The procedure to search for all k-out-of-n MPs
between nodes s and t in Fig. 1 using the proposed algorithm
is listed as follows (see Fig. 3):
STEP 0. Since k(t)Z1 go to STEP 1.
STEP 1. Let TZ{K3,q, K4,q}, where K3,qZK3,tZ{p1,p2,
p3,p5,p9,p12} and K4,qZK4,tZ{p4,p6,p7,p8,p10,
p11,p13}
P Z ð52K3;tÞgð52K4;tÞ; (12)
and go to STEP 3.
STEP 3. Choose one element, say PqZK3,t, from T, and let
TZTK{Pq}Z{K4,t}.
STEP 4. Since k(q)Zk(3)Z2!D(q)Z3, go to STEP 5.
STEP 5. Since PqZN1,qgN2,qgK4,q, where N1,qZN1,3,tZ
{p9,p12}, N2,qZN2,3,tZ{p3,p5}, and K4,qZK4,3,tZ
{p1,p2}, replace 5k(q)PqZ52K3,t using
4k(q)(N1,q, N2,q, 5k(4)K4,q) in P, i.e.
PZ½42ðN1;3;t;N2;3;t;52K4;3;tÞŠgð52K4;tÞ; (13)
let TZTg{K4,q}Z{K4,t, K4,3,t}.
STEP 6. If Ts:, then go to STEP 3.
STEP 3. Choose one element, say PqZK4,3,t, from T, and
let TZTK{Kq}Z{K4,t}.
STEP 4. The flow can be sent via semi-path q is from node
1 only, i.e. jD(q)jZ1. Hence, k(q)Zk(4)Z2O
jD(q)jZ1, replace 5k(q)PqZ52K4,3,t using :
from P, i.e.
P Z ½42ðN1;3;t; N2;3;tÞŠgð52K4;tÞ; (14)
and go to STEP 6.
STEP 6. Since Ts:, go to STEP 3.
STEP 3. Choose one element, say PqZK4,t, from T, and let
TZTK{Pq}Z:.
STEP 4. Since k(q)ZjD(q)jZ2, go to STEP 5.
STEP 5. Since PqZN1,qgK3,q, where N1,qZN1,4,tZ
{p7,p8} and K3,qZK3,4,tZ{p4,p6,p10,p11,p13},
replace 5k(q)PqZ52K4,t with 4k(q)(N1,q,5k(3)
K3,q) in P, i.e.
Fig. 3. The decision tree of the proposed algorithm to find all k-out-of-n MCs in Fig. 1.
W.-C. Yeh / Reliability Engineering and System Safety 87 (2005) 243–251248
7. P Z ½42ðN1;3;t; N2;3;tÞŠg½42ðN1;4;t;52K3;4;tÞŠ;
(15)
set TZTg{K3,q}Z{K3,4,t}.
STEP 6. Since Ts:, go to STEP 3.
STEP 3. Choose one element, say PqZK3,4,t, from T, and
let TZTK{Pq}Z:.
STEP 4. Since k(q)Zk(3)ZjD(q)jZ2, go to STEP 5.
STEP 5. Since no MP in Pq is via k-out-of-n nodes before
via q, go to STEP 6.
STEP 5. Since PqZN1,qgN2,q, where N1,qZN1,3,4,tZ
{p10,p13} and N2,qZN2,3,4,tZ{p4,p6,p11}, replace
5k(q)PqZ52K3,4,t with 4k(q)(N1,q, N2,q) in P, i.e.
P Z ½42ðN1;3;t; N2;3;tÞŠ
g½42ðN1;4;t;42ðN1;3;4;t; N2;3;4;tÞÞŠ: (16)
STEP 6. Since TZ:, go to STEP 7.
STEP 7. Since
42ðN1;3;t; N2;3;tÞ Z42ðfp9; p12g; fp3; p5gÞ
Z fp9 gp3; p9 gp5; p12 gp3;
p12 gp5g ð17Þ
42ðN1;3;4;t; N2;3;4;tÞ Z52ðfp10; p13g; fp4; p6; p11gÞ
Z fp4 gp10; p4 gp13; p6 gp10;
p6 gp13; p11 gp10; p11 gp13g
ð18Þ
42 ðN1;4;t;42ðN1;3;4;t; N2;3;4;tÞÞ
Z42ðfp7; p8g; fp4 gp10; p4 gp13; p6 gp10;
p6 gp13; p11 gp10; p11gp13gÞ
Z fp4 gp10gp7; p4 gp10 gp8; p4 gp13 gp7;
p4 gp13 gp8; p6 gp10 gp7; p6 gp10 gp8;
p6 gp13 gp7; p6 gp13 gp8; p11 gp10 gp7;
p11 gp10 gp8; p11gp13 gp7; p11 gp13gp8g
ð19Þ
Hence, the elements in the final P in Eq. (11) is as
follows:
P Z ½42ðN1;3;t; N2;3;tÞŠ
g½42ðN1;4;t;42ðN1;3;4;t; N2;3;4;tÞÞŠ
Z fp9 gp3; p9 gp5; p12 gp3; p12 gp5;
p4 gp10 gp7; p4 gp10 gp8; p4 gp13 gp7;
p4 gp13 gp8; p6 gp10 gp7; p6 gp10 gp8;
p6 gp13 gp7; p6 gp13 gp8; p11 gp10gp7;
p11 gp10gp8; p11 gp13 gp7;
p11 gp13gp8g ð20Þ
STEP 8. Verify these k-out-of-n MP candidates obtaining
in STEP 7 using the concept of Theorem 3 (see the
‘Remark’ column in Table 1).
The final result for finding and verifying all k-out-of-n
MP candidates using the proposed algorithm is listed in
Table 1:
An illustration of the proposed algorithm using a
decision tree to find all k-out-of-n MP candidates is listed
in Fig. 3. The ‘†q’ inside the symbol ‘ ’ and ‘ ’ mean
k(q)O1 and k(q)Z1, respectively.
Next, the inclusion–exclusion method discussed in
Eq. (9) is applied to find the reliability in terms of k-out-
of-n MPs obtained above.
Table 1
The k-out-of-n MP candidates obtained in Example 1
k-out-of-n MP candidate A k-out-of-n MP? Remark
p9gp3 {es1,e12,e13,e23,e3t} Yes
p9gp5 {es1,es2,e13,e23,e3t} Yes
p12gp3 {es2,e12,e13,e21,e23,e3t} No k(2)Z1!jD(2)jZ2
p12gp5 {es2,e13,e21,e23,e3t} Yes
p4gp10gp7 {es1,es2,e12,e13,e14,e21,e23,e34,e4t} No Cycle: 1-2-1 k(1)Zk(2)Z1!jD(1)jZjD(2)jZ2
p4gp10gp8 {es1,e12,e13,e14,e23,e34,e4t} Yes
p4gp13gp7 {es1,es2,e12,e13,e14,e21,e23,e34,e4t} No Cycle: 1-2-1 k(1)Zk(2)Z1!jD(1)jZjD(2)jZ2
p4gp13gp8 {es1,es2,e12,e13,e14,e21,e23,e34,e4t} No Cycle: 1-2-1 k(1)Zk(2)Z1!jD(1)jZjD(2)jZ2
p6gp10gp7 {es1,es2,e13,e14,e21,e23,e34,e4t} Cycle: 1-2-1 k(1)Z1!jD(1)jZ2
p6gp10gp8 {es1,es2,e13,e14,e23,e34,e4t} Yes
p6gp13gp7 {es2,e13,e14,e21,e23,e34,e4t} Yes
p6gp13gp8 {es1,es2,e13,e14,e21,e23,e34,e4t} No k(1)Z1!jD(1)jZ2
p11gp10gp7 {es1,es2,e13,e14,e21,e23,e31,e34,e4t} No Cycle: 1-3-1 k(1)Z1!jD(1)jZ2
p11gp10gp8 {es1,es2,e13,e14,e23,e31,e34,e4t} No Cycle: 1-3-1 k(1)Z1!jD(1)jZ2
p11gp13gp7 {es2,e13,e14,e21,e23,e31,e34,e4t} No Cycle: 1-3-1 k(1)Z1!jD(1)jZ2
p11gp13gp8 {es1,es2,e13,e14,e21,e23,e31,e34,e4t} No Cycle: 1-3-1 k(1)Z1!jD(1)jZ2
W.-C. Yeh / Reliability Engineering and System Safety 87 (2005) 243–251 249
8. Example 2. The probability distributions of the edge states
of Fig. 1 are listed in Table 2.
Find the reliability in Fig. 1 using the obtained k-out-of-n
MPs from Example 1.
Solution. Let P1Z{es1,e13,e3t,e12,e23}, P2Z{es1,e13,e3t,es2,
e23}, P3Z{es2,e21,e13,e3t,e23}, P4Z{es1,e12,e23,e34,e4t,e13,
e14}, P5Z{es2,e23,e34,e4t,es1,e13,e14}, and P6Z{es2,e23,e34,
e4t,e21,e13,e14}. The k-out-of-n flow network reliability in
Fig. 1 is calculated as follows:
R Z
X6
iZ1
PrðPiÞ K
X6
jZ2
XjK1
iZ1
PrðPigPjÞ
C
X6
kZ3
XkK1
jZ2
XjK1
iZ1
PrðPi gPj gPkÞ
CðK1Þ7
PrðP1 g.gP7Þ ð21Þ
R Z ½PrðP1Þ CPrðP2Þ CPrðp3Þ C/CPrðP6ÞŠ
K½PrðP1 gP2Þ CPrðP1 gP3Þ C/
CPrðP5 gP6ÞŠ C½PrðP1 gP2 gP3Þ
CPrðP1 gP2 gP4Þ C/CPrðP4 gP5 gP6ÞŠ C/
K½PrðP1 gP2 g.gP6ÞŠ Z 0:419704: ð22Þ
6. Conclusions
A very simple algorithm for finding all k-out-of-n MPs
between two special nodes was developed in this study. This
is the first algorithm to find the k-out-of-n flow network
reliability based on MPs, and achieves this in the following
four ways: (1) it proposes a simplified method way to verify
the k-out-of-n MPs candidates; (2) it can be used to predict
the exact number of MPs in a k-out-of-n MP; (3) the number
of k-out-of-n MP candidates is reduced; and (4) it is simple
to understand and implement.
Acknowledgements
This research was supported in part by the National
Science Council of Taiwan, ROC under grant NSC 92-2213-
E-035-041.
References
[1] Samad MA. An efficient algorithm for simultaneously deducing
minimal paths as well as cuts of a communication network.
Microelectron Reliab 1987;27(3):437–41.
[2] Roberts FS, Hwang FK, Monma C. Reliability of computer and
communication networks DIMACS series in discrete mathematics and
theoretical computer science, vol. 5. Providence, Rhode Island:
AMS/ACM publisher; 1991.
[3] Ke WJ, Wang SD. Reliability evaluation for distributed computing
networks with imperfect nodes. IEEE Trans Reliab 1997;46:342–9.
[4] Aven T. Availability evaluation of oil/gas production and transpor-
tation systems. Reliab Eng 1987;18:35–44.
[5] Aven T. Some considerations on reliability theory and its applications.
Reliab Eng Syst Safety 1988;21:215–23.
[6] Colbourn CJ. In: The combinatorics of network reliability. New York:
Oxford University Press; 1987.
[7] Tan Z. Minimal cut sets of s–t networks with k-out-of-n nodes. Reliab
Eng Syst Safety 2003/10;82(1):49–54.
[8] Yeh WC. A simple algorithm for evaluating the k-out-of-n network
reliability. Reliab Eng Syst Safety 2004/1;83(1):93–101.
[9] Bellmore M, Jensen PA. An implicit enumeration scheme for proper
cut generation. Technometrics 1970;12(4):775–88.
[10] Martelli H. A Gaussian elimination algorithm for enumeration of
cutsets in a graph. J ACM 1976;23:58–73.
[11] Biegel JK. Determination of tie sets and cut sets for a system without
feedback. IEEE Trans Reliab 1977;R-26:39–41.
[12] Arumkumar S, Lee SH. Enumeration of all minimal cutsets for a node
pair in a graph. IEEE Trans Reliab 1979;R-28:51–5.
[13] Shier DR, Whiled DE. Algorithms for generating minimal cutsets by
inversion. IEEE Trans Reliab 1985;R-34:314–9.
[14] Jasmon GB, Foong KW. A method for evaluating all the minimal cuts
of a graph. IEEE Trans Reliab 1987;R-36:538–45.
[15] Ahmad SH. Simple enumeration of minimal cutsets of acyclic
directed graph. IEEE Trans Reliab 1988;R-37:484–7.
[16] Elias SS, Mokhles N, Ibrahim SAN. A new technique in a cut set
evaluation. Microelectron Reliab 1993;33(9):1351–5.
[17] Fard NS, Lee TH. Cutset enumeration of network systems with link
and node failures. Reliab Eng Syst Safety 1999;65(2):141–6.
[18] Yeh WC. Search for MC in modified networks. Comput Oper Res
2001;28:177–84.
[19] Yeh WC. Search for all d-mincuts of a limited-flow network. Comput
Oper Res 2002/6;29(13):1843–58.
[20] Yeh WC. A simple approach to search for all d-MCs of a limited-flow
network. Reliab Eng Syst Safety 2001;71:15–19.
[21] Yeh WC. Search for all MCs in networks with unreliable nodes and
arcs. Reliab Eng Syst Safety 2003/1;79(1):95–101.
[22] Jasmon GB. Cutset analysis of networks using basic minimal paths
and network decomposition. IEEE Trans Reliab 1985;R-34:303–7.
Table 2
The probability distributions of the edge states of Fig. 1
Edge State Probability
es1 Working 0.60
Failed 0.40
es2 Working 0.70
Failed 0.30
e12 Working 0.90
Failed 0.10
e14 Working 0.80
Failed 0.20
e13 Working 0.75
Failed 0.25
e23 Working 0.85
Failed 0.15
e34 Working 0.95
Failed 0.05
e4t Working 0.70
Failed 0.30
e3t Working 0.55
Failed 0.45
W.-C. Yeh / Reliability Engineering and System Safety 87 (2005) 243–251250
9. [23] Yeh WC. A revised layered-network algorithm to search for all
d-minpaths of a limited-flow acyclic network. IEEE Trans Reliab
1998;7:436–42.
[24] Yeh WC. A simple algorithm to search for all d-MPs with unreliable
nodes. Reliab Eng Syst Safety 2001;73(1):49–54.
[25] Yeh WC. A simple method to verify all d-minimal path candidates of
a limited-flow network and its reliability. Int J Adv Manufact Technol
2002;20(1):77–81.
[26] Yeh WC. Search for minimal paths in modified networks. Reliab Eng
Syst Safety 2002/3;75(3):389–95.
[27] Yeh WC. A MCS-RSM approach for the network reliability to
minimize the total cost. Int J Adv Manufact Technol 2003/11;
22(9–10):681–8.
[28] Yeh WC. Multistate-node acyclic network reliability evaluation.
Reliab Eng Syst Safety 2002/11;78(2):123–9.
[29] Locks MO. Inverting and minimalizing pathsets and cutsets. IEEE
Trans Reliab 1978;R-27:107–9.
[30] Rai S. comments on: Inverting and minimalizing path sets and cut
sets. IEEE Trans Reliab 1979;R-32:263.
[31] Rai S, Aggarwal KK. On complementation of pathsets and cutsets.
IEEE Trans Reliab 1980;R-29:139–40.
[32] Heidtmann KD. Inverting paths and cuts of 2-state systems. IEEE
Trans Reliab 1983;R-32:469–71.
[33] Jasmon GB, Kai OS. A new technique in minimal path and cutest
evaluation. IEEE Trans Reliab 1985;R-34:136–41.
[34] Shen Y. A new simple algorithm for enumerating all minimal paths
and cuts of a graph. Microelectron Reliab 1995;35(6):973–6.
[35] Malinowski J, Preuss W. Reliability evaluation for tree-structured sys-
tems with multistate components. Microelectron Reliab 1996;36:9–17.
[36] Lee DW, Yum BJ. Determination of minimal upper paths for
reliability analysis of planar flow networks. Reliab Eng Syst Safety
1993;39:1–10.
[37] Nahman JM. MPs and cuts or networks exposed to common-cause
failures. IEEE Trans Reliab 1992;R-41:76–80 see also p. 84.
W.-C. Yeh / Reliability Engineering and System Safety 87 (2005) 243–251 251