A SIMPLE EFFICIENT APPROACH FOR THE D-MINCUT PROBLEM 1 ...

3 downloads 0 Views 245KB Size Report
results, proposed an efficient algorithm for solving the d-MC problem. In [3], Yeh ... a cut. Demand level 0 ≤ d
Extended Abstracts of the International Conference on Operations Research and Optimization January 19-22, 2013, University of Tehran, Tehran, Iran.

A SIMPLE EFFICIENT APPROACH FOR THE D-MINCUT PROBLEM MAJID FORGHANI-ELAHABAD†,∗ , NEZAM MAHDAVI-AMIRI‡ FACULTY OF MATHEMATICAL SCIENCES, SHARIF UNIVERSITY OF TECHNOLOGY, TEHRAN, IRAN. † [email protected][email protected]

Abstract. A simple and efficient algorithm is presented and compared with other related algorithms. The time complexity of the proposed algorithm is √ shown to be O(n2 m mpσ) which is less than O(mpσ 2 ), the time complexity of the best existing algorithm. Moreover, the proposed algorithm is more convenient for implementation.

1. Introduction To compute system reliability, several algorithms have been proposed in terms of d-MinCuts (d-MCs) [1-4]. Jan et al. [1] proposed an algorithm to first obtain all d-MC candidates and then specify the d-MCs. Yan and Qian [2] established some results for decreasing the number of generated candidates, and using the results, proposed an efficient algorithm for solving the d-MC problem. In [3], Yeh presented some new results for avoiding the generation of duplicate d-MCs and proposed an efficient algorithm. Salehi and Forghani [4] also proposed an algorithm working merely on the definition of d-MC. Here, after presenting some new results for decreasing the number of obtained candidates and eliminating the duplicate d-MCs, a simple and efficient algorithm is proposed. 2000 Mathematics Subject Classification. Primary 00X00, 00X00; Secondary 00X00, 00X00. Key words and phrases. Reliability; Stochastic-flow network; d-MinCut (d-MC); Minimal cut (MC) ∗

Speaker. 1

2

MAJID FORGHANI-ELAHABAD, NEZAM MAHDAVI-AMIRI

2. The d-MC problem 2.1. Problem description. Let G(N,A,M) represent a stochastic-flow network with the set of arcs A = {ai | 1 ≤ i ≤ m − n}, the set of nodes N = {ai |m − n + 1 ≤ i ≤ m}, and M = (M1 , M2 , ..., Mm ) with Mi = M (ai ) denoting the max-capacity of ai , for 1 ≤ i ≤ m. A cut is a subset of N ∪ A, in which there is no path from the source node s to the sink node t after elimination of all the arcs from G(N, A, M ). A Minimal Cut (MC) is a cut with none of its proper subsets being a cut. Demand level 0 ≤ d < ν(= the max-flow in the network) is a non-negative integer-valued flow or stress requirement for a given network flow. Let ei = 0(ai ) denote a system-state vector in which the capacity level is 1 for ai and 0 for other elements, V (X) represent the max-flow from node s to node t in G(N,A,X), U (X) = {a ∈ (N ∪ A)|X(a) < M (a)} be the set of unsaturated elements in G(N, A, X) and KCi (X) is the capacity of MC, Ci , under system-state X = (x1 , x2 , ..., xm ); i.e., KCi (X) = Σak ∈Ci xk . Here, we make the same assumptions as in [2, 3]. 2.2. A simple algorithm. An upper boundary point, called d-MinCut (d-MC), is a system-state vector, say X, such that V (X) = d, and all its unsaturated elements are sensitive to increase in capacity, that is, V (X + 0(a)) > d, for every a ∈ U (X). Definition 2.1. A system-state vector X = (x1 , x2 , ..., xm ) is a d-MC candidate if and only if there exists at least one MC, Ci , so that the followings hold: (1) KCi (X) = d, (2) 0 ≤ xk ≤ Mk ,

∀ak ∈ Ci ,

(3) xl = Ml ,

∀ al ∈ / Ci .

(2.1)

Considering σ as the number of d-MC candidates obtained from an MC, it is  Qm easily observed from (2.1) that, in the worst case, σ = M in{ m+d−1 , j=1 (1 + d−1 M in{Mj , d})}. Then, letting p as the number of MCs in a network flow, pσ can be considered as an upper bound for the number of all the obtained d-MC candidates. Generally, the proposed algorithms in [1-4] consist of two stages, gathering all d-MC candidates and determining all d-MCs among d-MC candidates by testing them. Thus, a proposal for shortening the running time of an algorithm is lessening the number of obtained d-MC candidates without missing any d-MC. The following theorem is notably effective to this purpose. Theorem 2.2. Let X be a d-MC candidate. If |U (X)| = 1, considering U (X) = {a0 }, then every d-MC X ? (6= X) satisfies X ? (a0 ) > X(a0 ). Applying Theorem 2.2 , one can determine a Limit Capacity Level (LCL), Lk , for ak in (2.1)(2), and thus avoid generation of repetitive d-MC candidates somewhat. It is easily verified that the probability of obtaining d-MC candidates with only one unsaturated arc from an MC, say C, is increased as much as the capacity of

A SIMPLE EFFICIENT APPROACH FOR THE D-MINCUT PROBLEM

3

C, KC (M ), is decreased. Thus, to have a more efficient use of Theorem 2.2 in the proposed algorithm, all MCs are sorted in an ascending order by capacity; if there is a tie, then the one with fewer elements is arranged first. A notable weak point in the proposed algorithms in [1, 4] is that those algorithms cannot avoid duplicate d-MCs. Thus, another way to improve an algorithm is to eliminate the obtained duplicate d-MCs. Next, we present an efficient approach for this purpose. 2.2.1. A New Approach. Here, using a data structure, a new technique is presented with O(pσlogpσ) as the time complexity which is more efficient than the proposed methods in [2, 3]. We associate a number with each d-MC and compare the associating numbers, instead of comparing the d-MCs. This lessens the time complexity of needed comparisons from O(mp2 σ 2 ) to O(pσlog(pσ)). For each d-MC X = (x1 , x2 , ..., xm ), we know that xi ≤ Mi , i = 1, 2, ..., m. Let l be the number of digits in M ? = max{Mi |i = 1, 2, .., m}. Corresponding to each component xi of a d-MC, we associate an l-digit number; if a component of the d-MC has q digits with q < l, then we place (l–q) zeros at the left side to make it an l-digit number. This way, we obtain an ml-digit number associated with each d-MC. For instance, to represent the set of d-MCs shown by A = {(2,3,0,1), (11,5,3,0), (4,1,4,6)} with l = 2, we define the set of d-MC numbers by A0 = {02030001,11050300, 04010406}. Using the proposed representation, each d-MC is thus uniquely represented by a number, named d-MC number. Therefore, one can represent all the d-MCs obtained by the algorithm as their d-MC numbers, and then sort them to eliminate the duplicates. Thus, the set of d-MCs without any duplicate is at hand. Since the number of all d-MCs is bounded by pσ, the time complexity for sorting the d-MC numbers is O(pσlog(pσ)) and eliminating the duplicates requires pσ comparisons. Thus, the time complexity of eliminating the duplicate d-MCs by the proposed method is O(pσ(1 + log(pσ))) = O(pσlog(pσ)). Next, using Theorem 2.2 and the proposed technique to eliminate the duplicates, a simple and efficient algorithm, Algorithm 1 below, is proposed. Algorithm 1 An algorithm to search for and determine all d-MCs in a stochasticflow network. Step 0. Let i = j = 1, Lk = 0, for all ak ∈ N ∪ A, and arrange all MCs in ascending order by capacity; if there is a tie, then arrange the one with fewer elements first. Step 1. Use an implicit enumeration to find a feasible solution, say Xij , for the following constraints: (if no such solution exists, then go to Step 5): 1) KCi (X) = d, 2) Lk ≤ xk ≤ Mk ,

∀ak ∈ Ci ,

4

MAJID FORGHANI-ELAHABAD, NEZAM MAHDAVI-AMIRI

3) xl = Ml , ∀ al ∈ / Ci . Step 2. If |U (Xij )| = 1, considering U (Xij ) = {ak }, then let Lk = Xij (ak ) + 1. Step 3. If V (Cij ) 6= d, then Xij is not a d-MC, let j ← j + 1, and go to Step 1. Step 4. If there is a ∈ N ∪ A such that V (Xij + 0(a)) = d, then Xij is not a d-MC, else it is a d-MC. Let j ← j + 1, and go to Step 1. Step 5. If i < p, then let i ← i + 1, j = 1 and go to Step 1. Step 6. Sort the d-MC numbers with the obtained d-MC and then eliminate the repeating numbers. 2.2.2. Time complexity of Algorithm 1. The time complexity of used max-flow al√ gorithm in steps 3 and 4 is O(n2 m) [5]. The upper bound for the number of elements in U (Xij ) is m, and pσ is the upper bound for the number of all the obtained candidates in Step 1 of the algorithm. Thus, the time complexity of steps √ 0-5 is O(n2 m mpσ), and because the time complexity of Step 6 is O(pσlogpσ), √ the time complexity of Algorithm 1 is O(n2 m mpσ) and the following result is deduced. √ Theorem 2.3. The time complexity of Algorithm 1 is O(n2 m mpσ). 2.2.3. Comparison with the best existing algorithm. The time complexity of the proposed algorithm in [3], the best existing one, is O(mn2 log 3 npσ) + O(mp2 σ) = √ O(mp2 σ). Since p = O(2n ) [6] and m < n2 , we have n2 m < n3

Suggest Documents