*A Survivable and Reliable Network Topological Design Model DOI: http://dx.doi.org/10.5772/intechopen.84842*

*Reliability and Maintenance - An Overview of Cases*

ii.Survivability optimizer phase

pre-established survivability and reliability requirements.

The construction phase takes *G* as the input and returns a topology satisfying the node-connectivities given by *R*. Since the solution built by the construction phase is not even a local optimum, in order to improve this solution, survivability optimizer phase searches for a local optimum solution by means of a variable neighborhood search (VNS) [7, 8] algorithm designed specifically for the GSP-NC. Finally, the reliability phase is computed evaluating the *T*-terminal reliability of the solution achieved in (*ii*). If it surpasses the prefixed threshold, then the local optimal solution is added into the collection *L\_Sol*; otherwise, it is discarded. The algorithm returns a list *L\_Sol* of feasible solutions that satisfy the

The algorithm (shown in **Figure 3**) takes as input the graph *G* of feasible connections, the matrix of connection costs *C*, the matrix *R* of connection requirements between terminal nodes, and a parameter *k*. The current solution G*sol* is initialized with the terminal nodes without any connection among them. An auxiliary matrix *M* is initialized with the values of *R*. This is used with the purpose of maintaining on each step the connection requirements not yet satisfied between nodes of *T*. The paths found on each iteration are stored in a data structure P. Iteratively, the construction phase searches for node-disjoint paths between terminal nodes of *T* that have not yet satisfied their connection requirements. The algorithm chooses on each iteration a pair of such terminal nodes *i,j* ∈ *T*. The current solution is updated by adding a new low-cost node-disjoint path between the chosen nodes. For this, an

Each iteration computes:

i.Construction phase

iii.Reliability phase

**4.2 Construction phase algorithm**

**118**

**Figure 3.** *Construction phase.* extension of the Takahashi-Matsuyama algorithm is employed in order to efficiently compute the *k* shortest node-disjoint paths from *i* to *j* (lines 3–9). These paths are stored in a restricted candidate list L*p*. A path is randomly selected from L*p* and incorporated into G*sol*. This process is repeated until all the connection requirements have been satisfied; then, the feasible solution G*sol* and the set of node-disjoint paths P = {P*ij*}*i,j*∈*T* are returned.
