G Model
ARTICLE IN PRESS
JOCS-508; No. of Pages 9
Journal of Computational Science xxx (2016) xxx–xxx
Contents lists available at ScienceDirect
Journal of Computational Science journal homepage: www.elsevier.com/locate/jocs
Searching for d-MPs with fast enumeration Shin-Guang Chen a,∗ , Yi-Kuei Lin b a b
Department of Industrial Management, Tungnan University, New Taipei City 222, Taiwan Department of Industrial Management, National Taiwan University of Science and Technology, Taipei 106, Taiwan
a r t i c l e
i n f o
Article history: Received 30 September 2015 Received in revised form 22 February 2016 Accepted 27 May 2016 Available online xxx Keywords: d-MPs Network reliability Minimal path Fast enumeration Explicit enumeration
a b s t r a c t Network theories have been developed for decades. They are now widely applied to solve many real-life problems. An active research field is the reliability evaluation of multistate networks. The most popular methods for such evaluation often use minimal paths (MP) or minimal cuts (MC) of the network. In these approaches, three basic steps exist: (a) searching for all MPs/MCs; (b) searching for all d-MPs/d-MCs from these MPs/MCs; (c) calculating union probability from these d-MPs/d-MCs. When the network is live, there are several minimum path vectors with respect to system state for d, namely d-MP, can be found. Steps a and c have great advances recently. This paper focuses on the searching for d-MPs by given MPs in terms of fast enumeration (FE), which was a recent advance in the integer programming problems in the literature. This paper is a first attempt to apply FE to the reliability evaluation of multistate networks. This paper also makes comparison with the well known algorithm for benchmarking. More complicated examples are also examined for illustrative purposes. © 2016 Elsevier B.V. All rights reserved.
1. Introduction Network theories have been developed for decades [1]. They are now widely applied to solve many real-life problems, such as information systems [2,3], human resource management [4], production system planning [5], supply-chain management [6,7], project management [8], telecommunication system planning [9,10], multi-commodities applications [11–15], logistics management [16,7], assignment problems [17], etc. In tradition, the factors in network like flow, transportation time, transportation cost are deterministic and treated separately, such as the maximal flow problem, the shortest path problem, the least cost path problem, the largest capacity path problem, and the shortest delay path problem. Chen and Chin [18] firstly introduced the multi-factors problem – the quickest path problem. After them, lots of similar problems were investigated, such as the constrained quickest path problem [19,20], the k quickest paths problem [21,22], the all-pairs quickest path problem [23], etc. Although they involved multi factors, they were deterministic and did not concern reliability. Aggarwal et al. firstly discussed the reliability problem without flow in a binary-state network [24]. The network reliability is
∗ Corresponding author. Tel.: +886 286625932; fax: +886 286625932. E-mail addresses:
[email protected] (S.-G. Chen),
[email protected] (Y.-K. Lin).
the probability of a live connection between source nodes and sink nodes. Lee [25] extended it to cover the flow cases. Then, the reliability is the probability of a live connection between the source nodes and the sink nodes with the maximal flow no less than a demand d. Aggarwal et al. [26] presented the minimal path (MP) method to solve the network reliability in a binary-state flow network. A path is a set of nodes and edges whose existence results in the connection of one source node and one sink node. A MP is a path whose proper subset is not a path. Rueger [27] extended it to cover the node failure cases. Xue [28] began to discuss the reliability analysis in a multistate network (MSN), which is also referred to the stochastic-flow network (SFN). A MSN is a network whose flow has probabilistic multi-states. Lin et al. [29] illustrated the reliability calculation of a SFN in terms of MPs or minimal cuts (MC)s [30]. A cut is a set of edges whose removal results in the disconnection of all source nodes and all sink nodes. A MC is a cut whose proper subset is no longer a cut. They also showed the basic steps in these calculations: (a) Searching for all MPs [31–33]/MCs [34–37]; (b) Searching for all d-MPs [38,39]/d-MCs [40] from these MPs/MCs; (c) Calculating union probability from these d-MPs [41–43]/d-MCs [31,44]. That is, the network reliability is the probability of a live connection between the source node and the sink node. When the network is live, there are several minimum path vectors with respect to system state for d, called d-MP, can be found. Then, the network reliability is the union probability of all these d-MPs.
http://dx.doi.org/10.1016/j.jocs.2016.05.011 1877-7503/© 2016 Elsevier B.V. All rights reserved.
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011
G Model
ARTICLE IN PRESS
JOCS-508; No. of Pages 9
S.-G. Chen, Y.-K. Lin / Journal of Computational Science xxx (2016) xxx–xxx
2
The first development of the famous three-step algorithm for the reliability evaluation of multistate network (MSN) can be originated from Lin et al. [29]. Lin [38] greatly simplified the three-step algorithm and developed more simple and efficient algorithm for the reliability evaluation of general MSN. There have been many innovative or for special cases algorithms developed for dMP search since then [39,45–47]. To the best of our knowledge, they are innovative but with the efficiency below or the same as Lin’s work [38]. Steps a and c have great advances recently [33,37]. This paper focuses on the step of searching for d-MPs with given MPs in terms of fast enumeration (FE), which was a recent advance [48] in the Integer programming problems in the literature. The advance made by Chen’s work [48] can speed up the time-consuming explicit enumeration algorithm (EEA) to be very efficient without changing their formulas, just re-arranging their order of formulas in the algorithm. This paper is a first attempt to apply FE to the reliability evaluation of multistate networks. This paper also makes comparison with the well known algorithm for benchmarking. More examples are also examined for illustrative purposes. The remainder of the work is described as follows. The mathematic preliminaries for the approach are presented in Section 2. The proposed algorithm is given in Section 3. Some benchmarks are examined and compared in Section 4. Finally, Section 5 draws the conclusion of this paper.
2. Preliminaries Let (A, N, M) be a MSN, where A = {ai |1 ≤ i ≤ n} is the set of arcs, N is the set of nodes, M = (m1 , m2 , . . ., mn ) is a vector with mi (an integer) being the maximal capacity of ai . The network is assumed to satisfy the following assumptions.
1. The nodes are perfect. 2. The states in arcs are statistically independent from each other. 3. Flow in the network satisfies the flow-conservation law [1]. 4. The capacity of ai is an integer-valued random variable which takes values from the set {0, 1, 2, . . ., mi } according to a given distribution i .
2.1. The MSN model
{fj |ai ∈ j } ≤ mi ,
{fj |ai ∈ j } ≤ xi ,
for i = 1, 2, . . ., n.
(1)
j=1
This constraint describes that the total flow through ai cannot exceed the maximal capacity of ai . We denote such set of F as M ≡ {F|F is feasible under M}, and F as the set of formulas in Eq. (1). Similarly, F is feasible under X = (x1 , x2 , . . ., xn ) iff
for i = 1, 2, . . ., n.
(2)
j=1
For clarity, let X = {F|F is feasible z under X}. The maximal flow under X is defined as X ≡ max{ j=1 fj |F ∈ X }. At first, we find the flow vector F ∈ M such that the total flow of F equals d. It is defined in the following demand constraint, z
fj = d.
(3)
j=1
Then, let F = {F|F ∈ M and satisfies Eq. (3)}. If X is a d-MP for d, then there is an F ∈ F such that xi =
z
{fj |ai ∈ j },
for each i = 1, 2, . . ., n.
(4)
j=1
This is a necessary condition for a d-MP. To explain that, z consider a d-MP X and an F ∈ X feasible under F. It is known that j=1 {fj |ai ∈
z
j } ≤ xi , ∀i. Suppose there is a k such that xk > {f |a ∈ j }. j=1 j k , x , . . ., x , xk − 1, xk+1 , Set Y = (y1 , y2 , . . ., yk−1 , yk , yk+1 , . . ., yn ) = (x 1 2 k−1 z . . ., xn ). Hence Y < X and F ∈ Y (since {f |a ∈ j } ≤ yi , ∀i), j=1 j i which indicates that Y ≥ d and contradicts to that X is a d-MP z for d. Thus xi = {f |a ∈ j }, ∀i. j=1 j i Given F ∈ F, we generate a capacity vector XF = (x1 , x2 , . . ., xn ) via Eq. (4). The set = {XF |F ∈ F} is built. Let min = {X|X is a minimal vector in }. Then, min is the set of d-MPs for d.
2.2. The reliability evaluation Given a demand d, the reliability denoted by d is the probability at the sink node that the maximal flow of the network is no less than d, i.e., d ≡ Pr{X| X ≥ d}. To calculate d , it is advantageously to find the minimal vector in the set {X| X ≥ d}. A minimal vector X is said to be a d-MP for d iff (i) X ≥ d and (ii) Y < d for any other vector Y such that Y < X, in which Y ≤ X iff yj ≤ xj for each j = 1, 2, . . ., n and Y < X iff Y ≤ X and yj < xj for at least one j. Suppose there are totally q d-MPs for d: X1 , X2 , . . ., Xq . The reliability is equal to d = Pr{
Suppose 1 , 2 , . . ., z are totally the MPs from the source node to the sink node. Thus, the network model can be described in terms of two vectors: the capacity vector X = (x1 , x2 , . . ., xn ) and the flow vector F = (f1 , f2 , . . ., fz ), where xi denotes the current capacity of ai and fj denotes the current flow on j . Then, F is feasible iff z
z
q k=1
{X|X ≥ Xk }},
(5)
which can be calculated by inclusion–exclusion principle or RRIEP method [43].
3. Algorithm We use a simple example to explain the FE algorithm (named Chen’s re-arrangement) in Chen’s work [48], which was supposed to solve an Integer programming problem.
3.1. The fast enumeration Assume we have the following Integer programming problem with 13 variables and 30 constraints. We want to solve the optimal solution for Eq. (6).
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011
G Model
ARTICLE IN PRESS
JOCS-508; No. of Pages 9
S.-G. Chen, Y.-K. Lin / Journal of Computational Science xxx (2016) xxx–xxx
Maximize w =
13 i i=1
(6)
10xi
3
Then, the pseudo codes of one such re-arrangement are listed as follows. They are just re-arranged by an alternative orders without changing their formulas. For (x11 = 1; x11 ≤ 16; x11 + +)
Subject to
If (x11 ≤ 3) then {
x2 + x1 ≤ 2
For (x1 = 1; x1 ≤ 16; x1 + +)
x6 + x5 + x4 + x3 + x2 + x1 ≤ 50
For (x2 = 1; x2 ≤ 16; x2 + +)
x7 + x3 ≤ 5
If (x1 + x2 ≤ 2) then{
x11 ≤ 3
···
x10 + x9 + x6 + x5 ≤ 160
If (x1 + x2 + . . . + x13 ≤ 16) then
x10 + x9 + x8 + x7 ≤ 4
{w =
x11 + x8 + x7 + x4 + x3 ≤ 22
}
x12 + x9 + x5 + x1 ≤ 65
(7)
x12 + x11 + x9 + x8 + x7 + x5 + x4 + x3 + x1 ≤ 23 x13 + x12 + x11 + x2 + x1 ≤ 42 x13 + x10 + x7 + x6 + x3 + x2 ≤ 54 x13 + x12 + x11 + x10 + x9 + x8 + x7 ≤ 66 x13 + x12 + x11 + x10 + x9 + x8 + x7 + x2 + x1 ≤ 76 x13 + x12 + x11 + x10 + x9 + x7 + x6 + x5 + x3 + x2 + x1 ≤ 33 x13 + x12 + x11 + x10 + x9 + x8 + x7 + x6 + x5 + x4 + x3 + x2 + x1 ≤ 16 xi ∈ N
and
1 ≤ xi ≤ 16, for
i/10xi and keep the maximal w}
i=1
x11 + x10 + x9 + x8 + x7 + x6 + x5 + x4 + x3 + x2 + x1 ≤ 20
x12 + x11 + x9 + x8 + x5 + x4 + x1 ≤ 38
13
··· } However, the computation complexity is reduced to need only 81,600 steps, which is a big saving in computation complexity. 3.1.3. The theories of FE Assume there are ˛ decision variables and ˇ constraints in a common formulation of an integer programming problem like follows: Maximize
g = f (x1 , x2 , . . ., x˛ )
(8)
Subject to
1 ≤ i ≤ 13
c1 (x1 , x2 , . . ., x˛ ) c2 (x1 , x2 , . . ., x˛ ) 3.1.1. The tradition EEA solutions The traditional EEA code to solve the above Integer programming problem is similar to the following pseudo codes, just using 13 loops to exhaustively enumerate the values from the solution space of each variable. For (x1 = 1; x1 ≤ 16; x1 + +) For (x2 = 1; x2 ≤ 16; x2 + +)
.. .
(9)
cˇ (x1 , x2 , . . ., x˛ ) xj ∈ j , xj ∈ Z where f(·) is the objective function, and ci (·) is the ith constraint. / 0, Let eij be the coefficient of xj in Constraint ci and ıi = {xj |eij = 1 ≤ j ≤ ˛}. Definition 3.1.
.. . {If (x1 + x2 ≤ 2 + &&x6 + x5 + x4 + x3 + x2 + x1 ≤ 50&&· · ·) then {w =
13
i = ||ıi ||.
We define an ordered set = { (i) |1 ≤ i ≤ ˇ} such that (1) ≤ (2) ≤ · · · ≤ (ˇ) .
xi
i/10 and keep the maximal w}}
i=1
Following this order, we get the order of ıi as: ı(1) ı(2) · · · ı(ˇ) .
The computation complexity is required by running 1613 =4,503,599,627,370,496 steps, a very huge number.
Then, we group the constraint ci by the rule k = {ci |ıi ⊇ ı(l) , 1 ≤ l ≤ k and ıi ı(k+1) } into r groups. Let qk be the total number of enumerations r in k group. The complexity of re-arrangement is now by O( k=1 qk ). The efficiency
3.1.2. The FE solutions Figs. 1–3 present the steps to do the FE transformation of EEA form [48]. By Chen’s work, Step one is to sort the constraints by number of variables in the respective constraints. Step two is to group the constraints by similar variables in the respective constraints. Step three is to insert the for-loops into places with the respective variables located there. Noticed that multiple re-arrangements of constraints may satisfy these steps.
of FE is greatly improved because qk
value range of xj .
k
j=k−1
j , where j is the
3.2. The proposed algorithm We recalled that F can be enumerated by fitting the formulas in F and Eq. (3). Then, XF can be built by F ∈ F via Eq. (4). Next, = {XF |F ∈ F} is constructed for all XF . Finally, min = {X|X is a minimal vector in } is built. Then, min is the set of d-MPs for d.
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011
G Model
ARTICLE IN PRESS
JOCS-508; No. of Pages 9
S.-G. Chen, Y.-K. Lin / Journal of Computational Science xxx (2016) xxx–xxx
4
Fig. 1. Step 1: Sort the constraints by number of variables.
Let F be FE-form of formulas in F , sj = min {mi |ai ∈ j }, and J = {j|Xj ∈ / min }. The new algorithm to search for d-MPs by given MPs is as follows. Algorithm 1.
Searching for d-MPs for d by given MPs.
Step 1. Find the feasible flow vector F = (f1 , f2 , . . ., fz ) satisfying both capacity and demand constraints. (a) fast enumerate 0 ≤ fj ≤ sj with F do
z
(b) if fj satisfies f = d, j=1 j then F = F ∪ {F}. end enumerate. Step 2. Generate the set = {XF |F ∈ F}. (a) for F in F do z {f |a ∈ j } for each i = 1, 2, . . ., n. (b) xi = j=1 j i (c) X = X ∪ {XF }. // where XF may have duplicates. endfor. (a) for X in X do //Remove the redundant vectors. / , then = ∪ {X}. (d) if X ∈ endfor. Step 3. Find the set min = {X|X is a minimal vector in }. / J and 1 ≤ i ≤ |||| do (a) for i ∈
(b) for j ∈ / J and i < j ≤ |||| do (c) if Xj ≤ Xi , then J = J ∪ {i} and goto (3a), else if Xj > Xi , then J = J ∪ {j}. endfor. (d) min = min ∪ {Xi }. endfor. Step 1 is the bottleneck of Algorithm 1, because its computation complexity in the worst case is in O(dz ). Step 2 is in O(||F||). Step 3 is similar to a bubble search, which has computation complexity of O(||||2 ). Then, the computation complexity of Algorithm 1 is equivalent to the order of Step 1. By FE approach, Step 1 t only requires O( k=1 sk ) to generate all feasible F, since FE-form is by re-arranging the original F into t groups of alternative orders, and sk is the total number of enumerations in the kth group. 4. Benchmarking and examples Fig. 4 gives a bridge network of 4 nodes. There are 4 MPs found: 1 = {a1 , a5 }, 2 = {a2 , a6 }, 3 = {a1 , a3 , a6 }, and 4 = {a2 , a4 , a5 }. They correspond to the respective F = {f1 , f2 , f3 , f4 }. Table 1 gives the capacity distributions for the six arcs. The required demand is 6.
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011
G Model JOCS-508; No. of Pages 9
ARTICLE IN PRESS S.-G. Chen, Y.-K. Lin / Journal of Computational Science xxx (2016) xxx–xxx
Fig. 2. Step 2: Group the constraints by similar variables from top to bottom.
Fig. 3. Step 3: Insert for-loops for the corresponding variables.
From Table 1, we got M = (6, 5, 6, 6, 5, 6), and s1 = 5, s2 = 5, s3 = 6, s4 = 5. Step 1 for this example is in the following statements, where Step 1a to 1h are the FE-form along with the demand constraint. Step 1. Find the feasible flow vector F = (f1 , f2 , . . ., f4 ) satisfying both capacity and demand constraints.
(a) (b) (c) (d) (e) (f)
for 0 ≤ f3 ≤ 6 do if f3 ≤ 6, then for 0 ≤ f4 ≤ 5 do if f4 ≤ 6, then for 0 ≤ f1 ≤ 5 do if f3 + f1 ≤ 6 and f4 + f1 ≤ 5, then
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011
5
G Model
ARTICLE IN PRESS
JOCS-508; No. of Pages 9
S.-G. Chen, Y.-K. Lin / Journal of Computational Science xxx (2016) xxx–xxx
6 Table 1 The capacity distributions for the six arcs. Arcs
a1 a2 a3 a4 a5 a6
The capacity distributions i 0
1
2
3
4
5
6
0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.001 0.000
0.001 0.003 0.000 0.000 0.017 0.001
0.011 0.039 0.004 0.006 0.111 0.011
0.083 0.262 0.042 0.055 0.372 0.083
0.337 0.696 0.264 0.292 0.498 0.337
0.568 0 0.690 0.647 0 0.568
0), (2, 1, 3, 0), (3, 0, 3, 0), (0, 2, 3, 1), (1, 1, 3, 1), (2, 0, 3, 1), (0, 1, 3, 2), (1, 0, 3, 2), (0, 0, 3, 3), (0, 2, 4, 0), (1, 1, 4, 0), (2, 0, 4, 0), (0, 1, 4, 1), (1, 0, 4, 1), (0, 0, 4, 2), (0, 1, 5, 0), (1, 0, 5, 0), (0, 0, 5, 1), (0, 0, 6, 0)}. Step 2. (a) (b) (c)
At the end of the step: = {X1 = (1, 5, 0, 0, 1, 5), X2 = (1, 5, 0, 1, 2, 4), X3 = (1, 5, 0, 2, 3, 3), X4 = (1, 5, 0, 3, 4, 2), X5 = (1, 5, 0, 4, 5, 1), X6 = (1, 5, 1, 0, 0, 6), X7 = (1, 5, 1, 1, 1, 5), X8 = (1, 5, 1, 2, 2, 4), X9 = (1, 5, 1, 3, 3, 3), X10 = (1, 5, 1, 4, 4, 2), X11 = (1, 5, 1, 5, 5, 1), X12 = (2, 4, 0, 0, 2, 4), X13 = (2, 4, 0, 1, 3, 3), X14 = (2, 4, 0, 2, 4, 2), X15 = (2, 4, 0, 3, 5, 1), X16 = (2, 4, 1, 0, 1, 5), X17 = (2, 4, 1, 1, 2, 4), X18 = (2, 4, 1, 2, 3, 3), X19 = (2, 4, 1, 3, 4, 2), X20 = (2, 4, 1, 4, 5, 1), X21 = (2, 4, 2, 0, 0, 6), X21 = (2, 4, 2, 1, 1, 5), X22 = (2, 4, 2, 2, 2, 4), X23 = (2, 4, 2, 3, 3, 3), X24 = (2, 4, 2, 4, 4, 2), X25 = (3, 3, 0, 0, 3, 3), X26 = (3, 3, 0, 1, 4, 2), X27 = (3, 3, 0, 2, 5, 1), X28 = (3, 3, 1, 0, 2, 4), X29 = (3, 3, 1, 1, 3, 3), X30 = (3, 3, 1, 2, 4, 2), X31 = (3, 3, 1, 3, 5, 1), X32 = (3, 3, 2, 0, 1, 5), X33 = (3, 3, 2, 1, 2, 4), X34 = (3, 3, 2, 2, 3, 3), X35 = (3, 3, 2, 3, 4, 2), . . ., X71 = (6, 0, 6, 0, 0, 6)}.
Fig. 4. A bridge network with 4 nodes.
(g) for 0 ≤ f2 ≤ 5 do (h) if f3 + f2 ≤ 6 and f4 + f2 ≤ 5 and f1 + f2 + f3 + f4 = 6, then (i) F = F ∪ {F}. endif endfor endif endfor endif endfor endif endfor We explain it step by step as follows: Step 1. Find the feasible flow vector F = (f1 , f2 , . . ., f4 ) satisfying both capacity and demand constraints. (a) f3 = 0 (b) f3 ≤ 6 is true, then (c) f4 = 0 (d) f4 ≤ 6 is true, then (e) f1 = 0 (f) f3 + f1 ≤ 6 and f4 + f1 ≤ 5 are true, then (g) f2 = 0 (h) f3 + f2 ≤ 6 and f4 + f2 ≤ 5 and f1 + f2 + f3 + f4 = 6 are false, go back to Step (g). (i) f2 = 1 ··· At the end of the step: F = {(1, 5, 0, 0), (2, 4, 0, 0), (3, 3, 0, 0), (4, 2, 0, 0), (5, 1, 0, 0), (1, 4, 0, 1), (2, 3, 0, 1), (3, 2, 0, 1), (4, 1, 0, 1), (1, 3, 0, 2), (2, 2, 0, 2), (3, 1, 0, 2), (1, 2, 0, 3), (2, 1, 0, 3), (1, 1, 0, 4), (0, 5, 1, 0), (1, 4, 1, 0), (2, 3, 1, 0), (3, 2, 1, 0), (4, 1, 1, 0), (5, 0, 1, 0), (0, 4, 1, 1), (1, 3, 1, 1), (2, 2, 1, 1), (3, 1, 1, 1), (4, 0, 1, 1), (0, 3, 1, 2), (1, 2, 1, 2), (2, 1, 1, 2), (3, 0, 1, 2), (0, 2, 1, 3), (1, 1, 1, 3), (2, 0, 1, 3), (0, 1, 1, 4), (1, 0, 1, 4), (0, 0, 1, 5), (0, 4, 2, 0), (1, 3, 2, 0), (2, 2, 2, 0), (3, 1, 2, 0), (4, 0, 2, 0), (0, 3, 2, 1), (1, 2, 2, 1), (2, 1, 2, 1), (3, 0, 2, 1), (0, 2, 2, 2), (1, 1, 2, 2), (2, 0, 2, 2), (0, 1, 2, 3), (1, 0, 2, 3), (0, 0, 2, 4), (0, 3, 3, 0), (1, 2, 3,
Generate the set = {XF |F ∈ F}. F = (1, 5, 0, 0) x1 = 1, x2 = 5, x3 = 0, x4 = 0, x5 = 1, x6 = 5 X = X ∪ {1, 5, 0, 0, 1, 5} · · ·
Find the set min = {X|X is a minimal vector in }. i∈ / J and i = 1 j∈ / J and j = 2 X2 = (1, 5, 0, 1, 2, 4) ≤ X1 = (1, 5, 0, 0, 1, 5) is false, X2 > X1 is false / J and j = 3 · · · (b) j ∈
Step 3. (a) (b) (c)
At the end of the step: min = {X1 = (1, 5, 0, 0, 1, 5), X2 = (1, 5, 0, 1, 2, 4), X3 = (1, 5, 0, 2, 3, 3), X4 = (1, 5, 0, 3, 4, 2), X5 = (1, 5, 0, 4, 5, 1), X6 = (1, 5, 1, 0, 0, 6), X12 = (2, 4, 0, 0, 2, 4), X13 = (2, 4, 0, 1, 3, 3), X14 = (2, 4, 0, 2, 4, 2), X15 = (2, 4, 0, 3, 5, 1), X16 = (2, 4, 1, 0, 1, 5), X21 = (2, 4, 2, 0, 0, 6), X26 = (3, 3, 0, 0, 3, 3), X27 = (3, 3, 0, 1, 4, 2), X28 = (3, 3, 0, 2, 5, 1), X29 = (3, 3, 1, 0, 2, 4), X33 = (3, 3, 2, 0, 1, 5), X37 = (3, 3, 3, 0, 0, 6), X41 = (4, 2, 0, 0, 4, 2), X42 = (4, 2, 0, 1, 5, 1), X43 = (4, 2, 1, 0, 3, 3), X46 = (4, 2, 2, 0, 2, 4), X49 = (4, 2, 3, 0, 1, 5), X52 = (4, 2, 4, 0, 0, 6), X55 = (5, 1, 0, 0, 5, 1), X56 = (5, 1, 1, 0, 4, 2), X58 = (5, 1, 2, 0, 3, 3), X60 = (5, 1, 3, 0, 2, 4), X62 = (5, 1, 4, 0, 1, 5), X64 = (5, 1, 5, 0, 0, 6), X66 = (6, 0, 1, 0, 5, 1), X67 = (6, 0, 2, 0, 4, 2), X68 = (6, 0, 3, 0, 3, 3), X69 = (6, 0, 4, 0, 2, 4), X70 = (6, 0, 5, 0, 1, 5), X71 = (6, 0, 6, 0, 0, 6)}. The example is running on a PC with CPU of Intel Core i7 4790 @ 3.60 GHz, 3.60 GHz and 16 GB RAM. Step 1 takes 0.00001 s CPU time to get F. There are totally 36 of 6-MPs found. The final network reliability for this example is 6 = 0.999473. 4.1. Benchmarking We use three grid networks of different sizes to do the benchmarking comparisons with Lin’s algorithm. The demand is 6 for
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011
G Model
ARTICLE IN PRESS
JOCS-508; No. of Pages 9
S.-G. Chen, Y.-K. Lin / Journal of Computational Science xxx (2016) xxx–xxx
7
Fig. 6. More complicated grid networks.
Fig. 5. Three grid networks. Table 2 The comparisons between Lin’s algorithm and the proposed algorithm. (Nodes × Arcs)
# of MPs
# of 6-MPs
CPU time (s) by Lin’s Alg.
CPU time (s) by the proposed Alg.
(6 × 7) (9 × 12) (12 × 15)
4 12 14
49 1232 1624
0.017 4487.587 NAa
0.00001 3.042 39.434
a
Not completed within one day.
Table 3 More complicated networks derived by the proposed algorithm. (Nodes × Arcs)
# of MPs
(27 × 31) (TANET) (16 × 20) (20 × 25)
7 16 20
# of 6-MPs 714 4116 10,290
CPU time (s) 0.078 60.825 858.245
all three cases. The capacities for all these arcs are set to 6. Fig. 5 presents three grid networks. Both algorithms were coded by PROLOG running on the same PC as the above mentioned. Table 2 gives the comparisons between Lin’s algorithm and the FE algorithm. The network in Fig. 5(a) has 4 MPs found, and can be derived 49 of 6-MPs. The network in Fig. 5(b) has 12 MPs found, and can be derived 1232 of 6-MPs. The network in Fig. 5(c) has 14 MPs found, and can be derived 1624 of 6-MPs. The CPU times for the proposed algorithm are significantly shorter than the best known algorithm in this comparisons. 4.2. More examples Fig. 6 gives more complicated grid networks for test. Fig. 6(a) is a network with (16 × 20) (Nodes × Arcs), and (b) is a network with (20 × 25). Table 3 gives the results derived by the proposed algorithm. They have 16 and 20 MPs found respectively, and can be derived 4116 and 10290 of 6-MPs respectively. They spend CPU times 60.825 and 858.245 s respectively. Fig. 7 is part of TANET network connected with Universities and Colleges around the island.
Fig. 7. The TANET network.
TANET is an academic computer network in Taiwan. They have a demand of 6 (in 103 GB), and all their capacities of the arcs are 6 (in 103 GB). TANET has 7 MPs found and is derived 714 of 6-MPs, and spend CPU time 0.078 s to derive them. Fig. 8 gives the trend of CPU times for all these examples compared with the best known algorithm.
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011
G Model JOCS-508; No. of Pages 9
ARTICLE IN PRESS S.-G. Chen, Y.-K. Lin / Journal of Computational Science xxx (2016) xxx–xxx
8
Fig. 8. The trends of CPU times vs. # of d-MPs.
5. Conclusion This paper proposes a new method of searching for d-MPs with given MPs in terms of fast enumeration (FE), which was a recent advance [48] in Integer programming problems. Network theories have been widely applied to solve many real-life problems. An active research field in Network theories is the reliability evaluation of multistate networks (MSN). The most popular method for such evaluation is three-steps algorithm with MPs [38]. This paper employs FE to speed up the time-consuming explicit enumeration step in three-steps algorithm from Lin. FE is a re-arrangement technique applied to Integer programming problems, which can greatly decrease the degree of complexity in such enumeration. This paper is a first attempt to apply FE to the reliability evaluation of MSN. The benchmarking comparisons are conducted with the well known algorithm and the proposed algorithm. More complicated examples are also examined for illustrative purposes. The results show that the proposed algorithm can significantly improve the efficiency in searching for d-MPs in the MSN environments. The proposed algorithm can also be applied to directed or undirected networks, and searches for all d-MPs with given MPs. Future researches are encouraged to inspect multi-terminal and multistate networks, or multi-commodities networks to solve more real-life problems. Acknowledgements This work was supported in part by the Ministry of Science and Technology, Taiwan, Republic of China, under Grant No. MOST 1042221-E-236-001. References [1] L.R. Ford, D.R. Fulkerson, Flows in Networks, Princeton University Press, NJ, 1962. [2] S.-G. Chen, Y.-K. Lin, An evaluation method for enterprise resource planning systems, J. Oper. Res. Soc. Jpn. 51 (4) (2008) 299–309. [3] S.-G. Chen, Y.-K. Lin, On performance evaluation of ERP systems with fuzzy mathematics, Expert Syst. Appl. 36 (3) (2009) 6362–6367. [4] S.G. Chen, Optimal staffing for a SOA company, Int. J. Oper. Res. 7 (3) (2010) 15–22. [5] S.G. Chen, Optimal device planning and performance evaluation in AMS, in: Proceedings of APARM 2010, Wellington, New Zealand, 2010, pp. 113–120. [6] S.G. Chen, Optimal logistic planning in robust supply chain management, in: The 40th International Conference on Computers & Industrial Engineering, Awaji Island, Japan, 2010, pp. 1–6. [7] S.-G. Chen, Fuzzy-scorecard based logistics management in robust SCM, Comput. Ind. Eng. 62 (3) (2012) 740–745.
[8] Y.-K. Lin, Study on the multicommodity reliability of a capacitated-flow network, Comput. Math. Appl. 42 (2001) 255–264. [9] Y.-K. Lin, Reliability evaluation for an information network with node failure under cost constraint, IEEE Trans. Syst. Man Cybern. A Syst. Hum. 37 (2) (2007) 180–188. [10] S.G. Chen, Optimal network planning in robust two site’s communication, in: Proceedings of the 2010 International Symposium on Information Theory and its Applications, Taichung, Taiwan, 2010, pp. 337–342. [11] T.C. Hu, Multi-commodity network flows, Oper. Res. 11 (1963) 344–360. [12] A.A. Assad, Multicommodity network flows – a survey, Networks 8 (1978) 37–91. [13] Y.-K. Lin, Reliability evaluation for a multi-commodity flow model under budget constraint, J. Chin. Inst. Eng. 25 (2002) 109–116. [14] Y.-K. Lin, On a multicommodity stochastic-flow network with unreliable nodes subject to budget constraint, Eur. J. Oper. Res. 176 (1) (2007) 347–360. [15] Y.-K. Lin, System capacity for a two-commodity multistate flow network with unreliable nodes and capacity weight, Comput. Oper. Res. 34 (10) (2007) 3043–3054. [16] Y.-K. Lin, Study on longer and shorter boundary duration vectors with arbitrary duration and cost values, J. Oper. Res. Soc. Jpn. 50 (2) (2007) 73–81. [17] S.-G. Chen, Optimal double-resource assignment for the robust design problem in multistate computer networks, Appl. Math. Model. 38 (1) (2014) 263–277. [18] Y.L. Chen, Y.H. Chin, The quickest path problem, Comput. Oper. Res. 17 (1990) 153–161. [19] G.H. Chen, Y.C. Hung, Algorithms for the constrained quickest path problem and the enumeration of quickest paths, Comput. Oper. Res. 21 (1994) 113–118. [20] J.B. Rosen, S.Z. Sun, G.L. Xue, Algorithms for the quickest path problem and the enumeration of quickest paths, Comput. Oper. Res. 18 (1991) 579–584. [21] Y.L. Chen, An algorithm for finding the k quickest paths in a network, Comput. Oper. Res. 20 (1993) 59–65. [22] Y.L. Chen, Finding the k quickest simples paths in a network, Inf. Process. Lett. 50 (1994) 89–92. [23] D.T. Lee, E. Papadopoulou, The all-pairs quickest path problem, Inf. Process. Lett. 45 (1993) 261–267. [24] K.K. Aggarwal, J.S. Gupta, K.B. Misra, A simple method for reliability evaluation of a communication system, IEEE Trans. Commun. 23 (1975) 563–565. [25] S.H. Lee, Reliability evaluation of a flow network, IEEE Trans. Reliab. 29 (1980) 24–26. [26] K.K. Aggarwal, Y.C. Chopra, J.S. Bajwa, Capacity consideration in reliability analysis of communication systems, IEEE Trans. Reliab. 31 (1982) 177–180. [27] W.J. Rueger, Reliability analysis of networks with capacity-constraints and failures at branches and nodes, IEEE Trans. Reliab. 35 (1986) 523–528. [28] J. Xue, On multistate system analysis, IEEE Trans. Reliab. 34 (4) (1985) 329–337. [29] J.S. Lin, C.C. Jane, J. Yuan, On reliability evaluation of a capacitated-flow network in terms of minimal pathsets, Networks 25 (1995) 131–138. [30] C.C. Jane, J.S. Lin, J. Yuan, On reliability evaluation of a limited-flow network in terms of minimal cutsets, IEEE Trans. Reliab. 42 (1993) 354–361, 368. [31] C.J. Colbourn, The Combinatorics of Network Reliability, Oxford University Press, UK, 1987. [32] Y. Shen, A new simple algorithm for enumerating all minimal paths and cuts of a graph, Microelectron. Reliab. 35 (1995) 973–976. [33] S.-G. Chen, Y.-K. Lin, Search for all minimal paths in a general large flow network, IEEE Trans. Reliab. 61 (4) (2012) 949–956. [34] U. Abel, R. Bicker, Determination of all minimal cut-sets between a vertex pair in an undirected graph, IEEE Trans. Reliab. R-31 (1982) 167–171.
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011
G Model JOCS-508; No. of Pages 9
ARTICLE IN PRESS S.-G. Chen, Y.-K. Lin / Journal of Computational Science xxx (2016) xxx–xxx
[35] G.B. Jasmon, K.W. Foong, A method for evaluating all the minimal cuts of a graph, IEEE Trans. Reliab. R-36 (1987) 538–545. [36] W.-C. Yeh, A simple algorithm to search for all MCs in networks, Eur. J. Oper. Res. 174 (2006) 1694–1705. [37] S.-G. Chen, Search for all MCs with backtracking, Int. J. Reliab. Qual. Perform. 6 (2) (2015) 101–106. [38] Y.-K. Lin, A simple algorithm for reliability evaluation of a stochastic-flow network with node failure, Comput. Oper. Res. 28 (13) (2001) 1277–1285. [39] W.C. Yeh, A simple algorithm to search for all d-MPs with unreliable nodes, Reliab. Eng. Syst. Saf. 73 (2001) 49–54. [40] W.C. Yeh, A simple approach to search for all d-MCs of a limited-flow network, Reliab. Eng. Syst. Saf. 71 (2001) 15–19. [41] M.J. Zuo, Z. Tian, H.-Z. Huang, An efficient method for reliability evaluation of multistate networks given all minimal path vectors, IIE Trans. 39 (2007) 811–817. [42] S.-G. Chen, Reduced recursive sum of disjoint product in network reliability, in: Proceedings of the 20th ISSAT International Conference on Reliability and Quality in Design, Seattle, Washington, USA, 2014, pp. 170–173. [43] S.-G. Chen, Reduced recursive inclusion–exclusion principle for the probability of union events, in: 2014 IEEE International Conference on Industrial Engineering and Engineering Management, Selangor, Malaysia, 2014, pp. 1–3. [44] Y.-K. Lin, On reliability evaluation of a stochastic-flow network in terms of minimal cuts, J. Chin. Inst. Ind. Eng. 18 (2001) 49–54. [45] W.C. Yeh, A simple method to verify all d-minimal path candidates of a limited-flow network and its reliability, Int. J. Adv. Manuf. Technol. 20 (1) (2002) 77–81. [46] J.E. Ramirez-Marquez, B.A. Gebre, A classification tree based approach for the development of minimal cut and path vectors of a capacitated network, IEEE Trans. Reliab. 56 (3) (2007) 474–487. [47] M.-L. Rebaiaia, D. Ait-Kadi, An efficient algorithm for enumerating minimal pathsets in communication networks, in: 4th International Conference on Networked Digital Technologies, vol. 293 of Communications in Computer and Information Science, Springer Berlin Heidelberg, Dubai, UAE, 2012, pp. 444–458. [48] S.-G. Chen, Efficiency improvement in explicit enumeration for integer programming problems, in: 2013 IEEE International Conference on Industrial Engineering and Engineering Management, Bangkok, Thailand, 2013, pp. 98–100.
9
Shin-Guang Chen received his BSc in Computer Engineering, National Chiao Tung University, Taiwan, and his PhD in Industrial Engineering, National Chiao Tung University, Taiwan. Since 2001, he has been with the Department of Industrial Management, Tungnan University, Taiwan, where he holds the rank of Professor. His research interests are in management, reliability, ERPS, and sustainable energy technologies. His recent work involves problems related to the analysis of flow networks. He has published papers in Information Sciences, AOR, IJPR, IJIE, ESWA, JORSJ, CSTM, IJOR, JCIIE, IJRQP, APEN, CIE, OMEGA, IEEE TOR, APM, etc. He is a member of IEEE, IEEE TOR, POMS, CIIE, CERPS, and CSQ.
Yi-Kuei Lin is currently a Chair Professor and the Chairman of Industrial Management Department, National Taiwan University of Science and Technology, Taiwan, Republic of China. He received a Bachelor degree in Applied Mathematics Department from National Chiao Tung University, Taiwan. He obtained his Master degree and Ph.D. degree in the Department of Industrial Engineering and Engineering Management at National Tsing Hua University, Taiwan, Republic of China. He has the honor to get the Outstanding Research Awards from National Science Council of Taiwan in 2008 and 2010, respectively. His research interest includes performance evaluation, stochastic network reliability, operations research, and telecommunication management. He has published over 140 papers in refereed journals including European Journal of Operational Research; Computers and Operations Research; Reliability Engineering & System Safety; IEEE Transactions on Reliability; IEEE Transactions on Systems, Man, and Cybernetics – Part A: Systems and Humans; International Journal of Industrial Engineering; Computers and Mathematics with Applications; International Journal of Advanced Manufacturing Technology; International Journal of Reliability, Quality and Safety Engineering; Journal of the Operations Research Society of Japan; Mathematical and Computer Modelling; Computers and Industrial Engineering; International Journal of Production Economics; and Applied Mathematics and Computation.
Please cite this article in press as: S.-G. Chen, Y.-K. Lin, Searching for d-MPs with fast enumeration, J. Comput. Sci. (2016), http://dx.doi.org/10.1016/j.jocs.2016.05.011