**4.2 Construction phase algorithm**

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


**119**

**Figure 4.** *Survivability phase.*

*A Survivable and Reliable Network Topological Design Model*

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

The variable neighborhood search algorithm is sustained on the idea of systematically changing the neighborhood at the moment of performing the local search

• A local minimum with respect to a neighborhood structure, which is not neces-

• A global minimum which is a local minimum with respect to all the possible

• In many problems the local minimum with respect to one or several neighbor-

In this work, the deterministic variant called VNS descent was used (variable neighborhood descent, VND). It consists of iteratively replacing the current solution with the local search result as long as improvements are verified. If a

**4.3 Survivability optimizer phase: VNS algorithm for the GSP-SRC**

and requires therefore a finite set of different pre-defined neighborhoods.

sary to be a local minimum with respect to another one.

*DOI: http://dx.doi.org/10.5772/intechopen.84842*

VNS is based on three simple facts:

neighborhood structures.

hood structures are relatively close.

P = {P*ij*}*i,j*∈*T* are returned.

