On Maximizing Reliability of Network Topology Design Using a Practical Dynamic Programming Approach

This paper addresses an NP-complete problem of designing a network topology (NT) with the maximum 2terminal reliability (R) subject to a cost constraint (C). More specifically, given the locations of the various computer centers (nodes), their connecting links, each link’s reliability and cost, and the maximum budget cost to install the links, the NT design problem, called NTD-RC, aims to find an NT that has the maximum reliability with cost within the budget. Since cost is a major issue in NT design, NTD-RC is applicable for critical applications requiring maximized reliability. This paper formulates a dynamic programming (DP) scheme to help solve NTDRC. A DP approach, called Algo-DP, finds the set of links to be deleted from the original network to obtain an optimal NT. The paper proposes five-link ordering criteria to improve the performance of Algo-DP. Simulation results on different benchmark networks of various sizes are used to compare Algo-DP with existing techniques in the literature and show the merits of using the sorting methods, and the effectiveness of our algorithm. We found that Algo-DP generates NT with the same or better 2-terminal reliability measure (with up to 4.3% improvement) on 92% of the network topologies. Results indicate Algo-DP demonstrated better performance than other existing algorithm. Furthermore, Algo-DP shows that it is computationally more efficient compared to the recent existing approach.


Introduction
Communication networks (CN) are complex, sophisticated, automated and computerized.Once a hardware model and technology of a network has been developed, a network designer is challenged with the problem of designing a network that satisfies the performance requirements, e.g., reliability, anticipated by the customer over the intended period of the network's use (Konak & Smith, 1999).The design of network topology (NT) is an important part of network design (Bhupesh, et. al, 2008), since NT is directly associated with network deployment cost and its reliability (Reichelt & Rothlauf, 2005).Consequently, network topology design (NTD) has received considerable attention.
In practical networks, we treated the network topology design (NTD) problem as a single-objective optimization problem, if the design process and consideration of only one objective and one condition (Saad, et. al, 2018).
A well-designed Communication Network is inseparable from the effective running of user applications.For critical applications (e.g., emergency system, rescue and military operations) it is important that CN topology is as reliable as possible since in practice network components, e.g., links, are failure-prone (Elshqeirat, et. al, 2014).A more reliable topology will make the CN operate effectively and without interruption, even in the presence of the component failures (Gen, 2006).The NTD should include finding the best layout of network components.This layout considers network deployment cost and user performance criteria, such as reliability.However, constructing a reliable topology incurs higher installation cost.For a set of various centers (nodes), their possible connecting links, link failure rate and installation cost, a network topology designer must carefully select the most suitable set of links such that the resulting model meets its cost objective and/or required reliability.This paper considers the (s, t) terminal reliability (Won & Karray, 2010), also called 2-terminal reliability, as the measure of reliability (R), which gives the probability that there is at least one operational path between two nodes, i.e., the source node s and the terminal node t.Some applications require a network with a guaranteed minimum reliability in order to properly operate.For such applications, the topology design emphasizes on minimizing the network installation cost subject to the required reliability level.The NTD problem that minimizes the cost (C) subject to required reliability is referred to as NTD-CR.In practice, however, the network service provider has a budget limit to build the topology.Thus, the design must emphasize on constructing the topology within the cost constraint while maximizing its reliability; we call this problem as NTD-RC.Here, the aim is to produce a network topology with the maximum reliability subject to the cost constraint to install the selected links.Both these problems are NPhard (Abo ElFotoh & Al-Sumait, 2001).Obviously, one must use heuristic and/or approximation solutions to design large sized topologies.
The main contribution of this paper is two folds: (a) First, it proposes a dynamic programming (DP) formulation and its implementation, called Algo-DP, to solve the NTD-RC problem by deleting links from the original network.Authors in (Elshqeirat, et. al, July 2013) have also used DP approaches.However, their technique potentially require generating all (s, t) simple paths to solve the problem (refer to Section 2.2).Note that, an arbitrary network that contains a set of V nodes and a set of E links has O( 2|E|-|V|+2 ) (s, t) simple paths (Elshqeirat, et. al, July 2013).In contrast, our DP approach deletes sequentially only up to |E| links to solve the problem, and thus significantly reduces the time complexity.(b) Second, this paper proposes five link-ordering criteria, i.e., LO1, LO2, LO3, LO4 and LO5, discussed in Section 4.3.More specifically, Algo-DP uses each ordering criterion to determine the order of link deletions from the original topology to optimize the generated NT.Our simulations on 25 networks with various sizes with up to 200 nodes, 298 links and 2 99 (s, t) paths, reported in Section 5, show the benefits of our method as compared to an existing approach in (Elshqeirat, et. al, July 2013).Specifically, Algo-DP generates NT with the same or better 2terminal reliability (with up to 4.3% improvement) on all but only two (with about 1.4% worse reliability) of the 25 network topologies.
The layout of this paper is as follows.Section 2 discusses the network model and surveys related problems.Section 3 formulates the NTD-RC problem and provides assumptions.Section 4 describes the proposed solutions.Section 5 presents the simulation results.Finally, Section 6 concludes the paper and discusses the future work.A communication network can be modeled by a probabilistic bidirectional simple graph G=(V, E), in which each vertex/node v i ∈V represents a network component and each edge e j ∈E represents the connecting media (e.g., cable, communication link) between the network components.Let m be the total number of links in G, i.e., m=|E|.It is assumed that all node locations and connecting links are given.Each e j has a cost c j >0 that represents the cost to install e j , and a reliability 0≤r j ≤1 that represents the probability that e j is functioning (UP); all nodes are always UP and use no setup costs.Edge failures are assumed statistically independent and without repair.Fig. 1 shows an example of the graph model of a network topology with six fixedly positioned nodes and eight links; Table 1 provides the c j and r j values for each edge e j .The cost of a network topology G, Cost(G), is calculated by taking the sum of all c j for each e j in G.We define Rel(G) as the probability that there exists at least one operational path between source node s and terminal node t.

Network Model and Notations
Calculating Rel(G) in general is an NP-hard problem (Yeh, et. al, 1994).As described in Section 4.1, we use the Monte Carlo Simulation in (Yeh, et. al, 1994) to approximately compute Rel(G).

Network Topology Design Problem
Let Y j be a decision variable {0, 1} that indicates if link e j in G= (V, E) is selected (Y j =1) or e j is not selected (Y j =0).
The following two equations describe the NTD-RC problem: Let us define a network topology G feasible when Cost(G) ≤ C max .Equation (1) maximizes the 2-terminal reliability of each feasible network topology G f that contains edges E f =E -{e j | Y j =0} such that its Cost(G f ) is no larger than a given cost constraint C max , shown in Eq. ( 2).Thus, E f is a set of selected links in Eq. ( 2) that form G f .links in G. Thus, for this case, Eq. ( 1) and ( 2) produce G opt =G with reliability 0.842 without deleting any link.
One possible way to solve NTD-RC problem is by generating each possible set of links in Eq. ( 2) that form G f .Then, for each set that has a cost of at most C max , calculate its Rel(G f ) and use Eq. ( 1) to select any G f with the maximum reliability as the G opt .Unfortunately, this brute force solution requires generating O(2 |E| ) possible link selections.Further, the reliability calculation in Eq. ( 1) for each G f requires exponential time.Therefore, this brute force solution is feasible only for designing small sized NT.Our work in this paper proposes a heuristic algorithm, described in Section 3.1, that generates E f , and thus G f , by selectively removing links in E while satisfying Eq. ( 1) and (2).

Related Works
The authors in (Elshqeirat, et. al, 2014;Zakir & Abd-El-Barr, 2002).proposed enumerative-based algorithms to solve the NTD-RC problem.(Zakir & Abd-El-Barr, 2002) solve the NTD-RC problem to produce the topology with as many disjoint spanning trees as possible for maximizing all-terminal reliability, which gives the probability that at least one spanning tree in generated network topology G is functional.Consequently, their solution (Zakir & Abd-El-Barr, 2002) produces topology that has higher reliability but with a higher cost.However, the solution (Zakir & Abd-El-Barr, 2002) require generating all disjoint spanning trees of the network, and thus are not feasible for designing networks with a large number of disjoint spanning trees (Elshqeirat, 2015) .(Shao, et. al, 2005) proposed a heuristic approach, called shrinking and searching algorithm (SSA), to maximize all-terminal reliability given a cost constraint.In addition, (Atiqullah & Rao, 1993) described a heuristic approach based on simulated annealing to maximize all-terminal reliability under cost constraint.However, both (Shao, et. al, 2005) and(Atiqullah & Rao, 1993) address the hierarchical network topology; thus they are not useful for general networks.Saad, et. al (2018) presented an approach based on artificial bee colony algorithm for distributed local area network topology design which was formulated as a discrete multi-objective optimization problem, note that our NTD-RC problem is different from that problem described in (Saad, et. al. 2018) because it is solving a single objective optimization problem.Elshqeirat, et. al, July (2013) presented a dynamic programming (DP) scheme to solve the NTD-RC problem.They propose a DP approach, called DPA, to generate the topology using all (s, t) paths in the network to maximize (s, t) reliability.Five different path-orders are proposed to improve the effectiveness of DPA.Further, the path-orders allow DPA to generate only k≥1 paths dynamically from the graph model of the network and stops if including path k+1 leads to an insignificant improvement to the resulting topology's reliability.In Elshqeirat, et. al, (2014) the same authors used two DPA approaches, called DPA-1 and DPA-2, to solve NTD-RC with all-terminal reliability measure by generating the NT using a sequence of spanning trees to maximize the reliability.The first version, i.e., DPA-1, requires all spanning trees of the network to maximize the reliability.The approach proves that DPA-1 able to produce optimal NT given as input an optimal sequence of spanning trees.In addition, authors in (Elshqeirat, et. al, 2014) showed that generating optimal order of the trees is NP-complete, and described five tree order criteria to heuristically generate the best sequence of spanning trees that allow DPA-1 to produce near optimal results.Further, they proposed an alternative DP algorithm, called DPA-2, that uses only k spanning trees sorted in increasing weight and lexicographic order to improve DPA-1's time efficiency while producing similar results.
The aforementioned DP approaches in (Elshqeirat, et. al, July 2013;Elshqeirat, et. al, 2014) have been shown effective in addressing the NTD-RC problem.However, in the worst case they require generating all possible (s, t) paths or spanning trees to form each feasible solution; thus, such approach is infeasible for large networks as, in general, a network contains an exponential number of (s, t) simple paths and spanning trees, i.e., O(2 simple paths and O(|V| |v| ) spanning trees (Elshqeirat, et. al, 2015).As later described in Section 4.1, in this paper, we propose Algo-DP to generate each optimized topology by deleting some links from the original network.Thus, our approach in the worst case consider only O(|E|) links of the network.We also propose five link-orders each of which is used by Algo-DP to further improve results.

Dynamic Programming Formulation for NTD-RC
Let LXi, for i=1, 2, …, m, be a sequence of links selected from i links in (e 1 , e 2 , …, e i ), and G i =(V, E i ⊆E) be an induced graph whose links comprise of all links in G but those in LX (5) Note that Rel(G-e 1 ) and Cost(G-e 1 ) refer to the reliability and cost of network G after deleting link e 1 , respectively.We explain the dynamic programming formulation in Eq. ( 3) to (5) as follows.Without loss of generality, we consider the link selection start from the first link e 1 .In Eq. ( 3), when Cost(G-e 1 )>c, link e 1 cannot be deleted since the resulting NT is non-feasible, i.e., over budget, and thus we set R[1, c]=0.In contrast, if the cost of G without e 1 is within budget c, i.e., it is a feasible solution, in Eq. ( 4), e 1 is deleted, giving R[1, c]=Rel(G-e 1 ).Equation (5) considers the case when deleting each link e i , together with some previously deleted links in LX i-1 for each i>1 is feasible, i.e., Cost(G-L[i-1, c j ]-{e i })≤c, for each possible j=J[i, c]= C G , …, C max , and their induced topology G i has the maximum reliability.Although deleting e i produces a feasible NT, will deleting e i lead to producing optimal topology?If e i is not deleted, the potential maximum reliability would come from deleting links in (e i+1 , e i+2 ,…, e m ) with unchanged budget c; i.e., R[i, c]=R [i-1, c].On the other hand, if e i is deleted, the remaining allowable cost for deleting links in (e i , e i+1 , …, e m ) would be reduced from c to c j <c, for each possible c j >0, and the resulting reliability would be Rel(G-(L[i-1, c j ]-{e i }).Thus, Eq. ( 5) sets R [i, c] to the maximum between the two potential reliability values.When the two options produce the same reliability, our implementation selects the one with lower cost.

Dynamic Programming Algorithm
Fig. 3 shows the pseudo code of our proposed dynamic programming algorithm, called Algo-DP, which directly applies the DP formulation in Eq. ( 3) to (5).For a G=(V, E) that contains m=|E| links with cost constraint C max , Algo-DP implicitly constructs a DP table of size |E|×C max .However, as shown in Fig. 3, Algo-DP keeps only two consecutive rows of the table, called row1 and row2, and therefore requires only a table of size 2×C max .Specifically, Algo-DP computes R[1, j] and L[1, j] in row1 using the information in R[2, c] and L[2, c] in row2, for all relevant columns c and j.Then, after copying the contents of row1 to row2, it repeats the step until all links have been considered.Line 1 implements Eq. (3), while Line 2 to 5 are based on Eq. ( 4).The remaining of the code, i.e., Line 6 to 18, is used to implement Eq. ( 5).Lines 19 to 22 copy the contents of row1 to row2.Function Cost(X) in Fig. 3 computes the total cost of the union of links in network X=(X-L[i-1, c j ]-{e i }), and function Rel(X) calculates the reliability of the network X using the Monte Carlo Simulation (Yeh, et. al, 1994) .

Algo-DP
1. Initialize L[2, c]={} and R[2, c]=0 for c<Cost (G -e 1 ) // Eq. ( 3) 2. for (c← Cost (G)-1 down to Cost (G -e 1 )) do // Eq. ( 4) 5. end for c 6. for (i ← 2 to |E|) do // Eq. ( 5)  The time complexity of Algo-DP can be computed as follows.Function Cost(X) requires all unique links used in network X.For each c, Cost(X) returns the sum of links that are in network X without the set of the links in L[i-1, c] + {e i }; recall that the links in L[i-1, c] + {e i } are the set of links to be deleted from network X.Using the bit implementation (Soh & Rai, 1991), one requires only one bit OR and one bit XOR operation to obtain the links in X that are not in L[i-1, c] + {e i }, and thus for any X, Cost(X) can be computed in O(|E|).Algo-DP uses the function at most once for every table entry, and therefore the worst case time complexity for using the function is The Rel(X) function can be implemented using any exact reliability calculation (Soh & Rai, 1991), heuristic technique (Dengiz, et. al, 1997) or approximation (bounding) method (Dengiz, et. al, 1997).In this paper, we propose using the Monte Carlo Simulation (Yeh, et. al, 1994) to estimate the reliability Rel(X) of each candidate NT.The simulation has a time complexity of O(b×|V| 4 ) (Yeh, et. al, 1994) , where b and |V| are the number of replications and nodes respectively.Note that Rel(X) is used only if Cost(X)≤C max ; let ψ be the total number of cases where Cost(X)≤C max .Hence the time complexity of using Rel(X) is O(ψ×b×|V| 4 ), and Algo-DP requires O(ψ×b×|V| 4 +|E| 2 ×C max ) in the worst case.

Illustrating Example
Consider the network in Fig. 1, with each link's reliability and cost as shown in Table 1, and C max =20.Algo-DP constructs the DP table in Table 2, to obtain the optimal network in Fig. 2; for convenience, we show all |E|=8 rows although our implementation creates only two rows.Further, each element DP[i, c] of the table shows only As another example, consider link e 4 =c; see row 4 in Table 2.For this case, Cost(G-{c})=27.Following Eq. ( 5), Algo-DP deletes link c, instead of the previous decision to delete because since Rel(G-{c})=0.76 is better than the reliability Rel(G-{d})=0.75 of deleting link d, for each c≥27 .
For the next example, we consider e 5 =f with Cost(G-{f})=27 and Rel(G-{f})=0.75;link f should not be selected for each c≥27 because Rel(G-{f})=0.75 is worse than deleting link c, i.e., R[i-1, c]=Rel(G-{c})=0.76 is larger than Rel(G-{f})=0.75.Since deleting link f together with links {d, g} for c=20 and 21 is feasible and improves the reliability, we set L[5, c]={f , d, g}and R[5, c]=0.659.Finally, e 6 =a, e 7 =h, and e 8 =e are not selected for each c=20, …, 29 because each selection does improve the reliability of the topology.The optimal topology G opt with the maximum reliability of 0.659, shown in Fig. 2, is obtained by deleting three links, i.e., {f, d, g}.

Link Ordering
As later shown in our simulation results in Section 5, the optimality of our heuristic Algo-DP depends on the ordering of deleted links.To this end, we propose the following five possible links orders: 1) LO1: Increasing link cost c i ; 2) LO2: Decreasing link cost c i ; 3) LO3: Increasing link reliability r i ; 4) LO4: Increasing ratio c i /r i ; LO5: Increasing ratio r i /c i .Table 3 shows an example of the different order criteria LO1-LO5 for the topology in Fig. 1.LO1 aims to exclude less costly links from the topology first.For example, criterion LO1 generates links (a, c, f, h, e, g, b, d) in increasing cost order, e.g., link a with cost of 2 is ahead of link c with cost of 3. In contrast, LO2 aims to exclude the most costly links from the topology first.For example, criterion LO2 generates links (d, b, g, e, h, f, c, a) in decreasing cost order, e.g., link d with cost of 6 is ahead of link b with cost of 5. On the other hand, LO3 aims to remove links from the least reliable first, and thus the generated topology is expected to contain links with higher reliability.As an example, LO3 produces link order (d, b, g, f, h, c, e, a), e.g., link b is after link d because the reliability of the latter link of 0.7 is larger than the former link of 0.6.Finally, LO4 and LO5 aim to find the ration between the link cost and reliability.More specifically, LO4 removes links with the least ratio of c i /r i first, while in LO5, we remove links with least ratio of r i /c i first.As an example, LO4 produces link order (a, h, c, f, e, g, b, d), e.g., link h is after link a because c h /r h =3.75>c a /r a )=2.2, but LO5 produces link order (d, b, g, e, f, c, h, a), e.g., link a is after link h because r h /c h =0.266<r a /c a =0.45.
Note that one can use any sorting algorithm, e.g., merge sort, to implement each link order with a time complexity of O(|E|×log |E|) (Cormen, et. al, 1990).

Simulation and Discussion
We have implemented our Algo-DP in C language.We used Algo-DP on the 25 networks described in to evaluate the five link orders, LO1 to LO5, as well as to compare the performance of Algo-DP against DPA (Elshqeirat, et. al, July 2013) (Elshqeirat, et. al, July 2013), we first assigned the r i and c i for each link e i randomly, and set its cost constraint C max no larger than 60% of the total link costs of the topology.Then, we sorted the links of each topology following the methods described in Section 4.3, i.e., LO1, LO2, LO3, LO4 and LO5 and use Algo-DP to compare the performance of the five link orders.All simulations were run on Intel Core i5 with 2.53 GHz with 4 GB of RAM, running Linux (Ubuntu Core 11.10).Table 4 shows that the LO2 order is the best, because it gets 18 out of 25 best results; see numbers in bold in columns LO1 to LO5 and the last row in the columns that shows number of times each order produces the best results among the five orders.Notice that LO3 and LO5 are the next best orders, producing nine and seven best results, respectively, while LO1 and LO4 are the worst performers with only three best results.The table also shows the result when using random order in which Algo-DP produces only two best results; note that the two best results are also produced from all other ordering criteria, i.e., LO1-LO5.The results confirm the merits of using the proposed link orders.Further, to generate NT with the maximum reliability, we suggest running Algo-DP using each of the five link orders, and select the NT with highest reliability.
Table 4 shows the maximum reliability of feasible topology for each network generated by DPA (Elshqeirat, et. al, July 2013) ; see the last column.Note that the authors (Elshqeirat, et. al, July 2013) proposed five link orders, CR1, CR2, CR3, CR4, CR5, and Table 4 shows the best outcomes of DPA using all orders.As shown in Table 4, Algo-DP generates topology with higher 2-terminal reliability (up to 4.3% improvement) for 6 of 25 networks, as compared to DPA; see column DPA with (negative %).Further, Algo-DP is able to generate the same results as DPA for the other 15 topologies, while producing only three inferior results that has reliability no worse than 1.4%; see column DPA with (positive %).We need to re-emphasize that, while Algo-DP considers |E| links to generate its DP that has 298 links with 2 99 paths.Thus, in addition to generate more NT that has higher reliability, Algo-DP using the five link orders also significantly outperforms DPA in terms of computational time complexity.

Conclusion
We have formally defined an NP-hard network topology design problem, called NTD-RC, to generate a network topology with maximized 2-terminal reliability, subject to a cost constraint C max .We have proposed a heuristic dynamic programming method, called Algo-DP, to solve the problem and five different link ordering methods to optimize its results.Our simulations on 28 topologies show the effectiveness of Algo-DP and the benefits of using the link orders to find the best results.While Algo-DP does not guarantee to always generate optimal topology, the simulations show that it finds better results as compared to the most recently proposed approach, DPA (Elshqeirat et. al, July 2013).More specifically, Algo-DP generates topology with the same or better 2-terminal reliability (with up to 4.3% improvement) on 92% of the 25 network topologies.Since Algo-DP is computationally more efficient as compared to the existing approach, it becomes the obvious choice for used in large network topology design.For future direction, we plan to use a similar approach to solve the NTD-CR problem.

Table 1
2 , …, e m ) such that Cost(G m )≤C max , and Rel(G m ) is the maximum.We define a solution or NT, G i , is feasible if its Cost(G i )≤C max ; otherwise, it is a non-feasible solution.For Fig.1with C max =20, LX 8 =(d, f, g) is a feasible solution because Cost(G 8 )=17≤ C max .Let DP[1 .. m, C max .. C G ] be a 2-dimensional dynamic programming table, where C G =Cost(G), i.e., the cost of the original network with no link deletion.Each element DP[i, c], for i=1, 2, …, m, c= C G , …, C max , stores four pieces of information: a reliability 0≤R[i, c]≤1.0, a sequence of links L[i, c]⊆E, a cost C max <C[i, c]≤C G , and an integer index C max ≤J[i, c]≤C G .Let R[i, c]=Rel(G i ), for c= C G , …, C max , be the maximum reliability of G i subject to Cost(G i )≤c.More specifically, R[i, c] is the reliability of G i =(V, E -LX i )which is the best subgraph of G that contains only links E-LX i with total cost at most c, and maximum reliability.Note that R[m, C max ] stores the maximum reliability of G m subject to Cost(G m )≤C max , and NTD-RC aims to find the most optimal LX m whose deletion from E generates the optimal NT, i.e., G opt .Let L[i, c]=LX i such that Cost(G i )≤c, and C[i, c]=Cost(E-L[i, c]).For each range of columns c1≤c≤c2 in row i that contain the same cost value, we set each J[i, c]=c1.Thus, index J[i, c]=C G , …, C max marks the starting column of a range of columns that have the same cost.For example, as later shown in Table2, we store J[1, c]=25 at columns c=29 down to c=25.
i , i.e., E i = E -LX i ; recall that m=|E|.Equivalently, LX i is a set of links in (e 1 , e 2 , …, e i ) that are deleted from G, meaning G i does not contain any link in LX i .Note that 0≤|LX i |≤i, and there are O(2 |Ei| ) different possible LX i .NTD-RC aims to delete set of links in (e 1 , e

Table 3 .
Example of different link orders . The networks contain four to 200 nodes and five to 298 links, with four to 2 99 (s, t) paths.We use  , | |,| | to denote a communication network with |V| nodes, |E| links, n (s, t) paths, and cost constraint C max .For each of the 25 networks in

Table 4 .
The effects of link orders on the performance of Algo-DP

) generated by Algo-DP for different link orders
table, DPA potentially can use O(2 |E|-|V|+2 ) (s, t) paths of the network to generate its DP table.The difference is significant for large sized CN, e.g.,  , , . A neural approach to topological optimization of communication ://doi.org/10.1109/24.983401Atiqullah,M., & Rao, S.(1993).Reliability optimization of communication networks using simulated annealing.