hierarchical approach for survivable network design€¦ ·  · 2012-09-24hierarchical approach...

30
1 Hierarchical Approach for Survivable Network Design Anantaram Balakrishnan McCombs School of Business, The University of Texas at Austin, Austin, TX 78712, USA [email protected] Mihai Banciu School of Management, Bucknell University, Lewisburg, PA 17837, USA [email protected] Karolina Glowacka Department of Supply Chain Management, Hang Seng Management College, New Territories, Hong Kong [email protected] Prakash Mirchandani Katz Graduate School of Business, University of Pittsburgh, Pittsburgh, PA 15260, USA [email protected] A central design challenge facing network planners is how to select a cost-effective network configuration that can provide uninterrupted service despite edge failures. In this paper, we study the Survivable Network Design (SND) problem, a core model underlying the design of such resilient networks that incorporates complex cost and connectivity trade-offs. Given an undirected graph with specified edge costs and (integer) connectivity requirements between pairs of nodes, the SND problem seeks the minimum cost set of edges that interconnects each node pair with at least as many edge-disjoint paths as the connectivity requirement of the nodes. We develop a hierarchical approach for solving the problem that integrates ideas from decomposition, tabu search, randomization, and optimization. The approach decomposes the SND problem into two subproblems, Backbone design and Access design, and uses an iterative multi-stage method for solving the SND problem in a hierarchical fashion. Since both subproblems are NP-hard, we develop effective optimization-based tabu search strategies that balance intensification and diversification to identify near-optimal solutions. To initiate this method, we develop two heuristic procedures that can yield good starting points. We test the combined approach on large- scale SND instances, and empirically assess the quality of the solutions vis-à-vis optimal values or lower bounds. On average, our hierarchical solution approach generates solutions within 2.7% of optimality even for very large problems (that cannot be solved using exact methods), and our results demonstrate that the performance of the method is robust for a variety of problems with different size and connectivity characteristics. Key words: metaheuristics; survivable network design; heuristic analysis; tabu search;

Upload: hakhanh

Post on 21-Apr-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

1

Hierarchical Approach for Survivable Network

Design

Anantaram Balakrishnan

McCombs School of Business, The University of Texas at Austin, Austin, TX 78712, USA

[email protected]

Mihai Banciu

School of Management, Bucknell University, Lewisburg, PA 17837, USA

[email protected]

Karolina Glowacka

Department of Supply Chain Management, Hang Seng Management College, New Territories, Hong Kong

[email protected]

Prakash Mirchandani

Katz Graduate School of Business, University of Pittsburgh, Pittsburgh, PA 15260, USA

[email protected]

A central design challenge facing network planners is how to select a cost-effective network configuration

that can provide uninterrupted service despite edge failures. In this paper, we study the Survivable

Network Design (SND) problem, a core model underlying the design of such resilient networks that

incorporates complex cost and connectivity trade-offs. Given an undirected graph with specified edge

costs and (integer) connectivity requirements between pairs of nodes, the SND problem seeks the

minimum cost set of edges that interconnects each node pair with at least as many edge-disjoint paths as

the connectivity requirement of the nodes. We develop a hierarchical approach for solving the problem

that integrates ideas from decomposition, tabu search, randomization, and optimization. The approach

decomposes the SND problem into two subproblems, Backbone design and Access design, and uses an

iterative multi-stage method for solving the SND problem in a hierarchical fashion. Since both

subproblems are NP-hard, we develop effective optimization-based tabu search strategies that balance

intensification and diversification to identify near-optimal solutions. To initiate this method, we develop

two heuristic procedures that can yield good starting points. We test the combined approach on large-

scale SND instances, and empirically assess the quality of the solutions vis-à-vis optimal values or lower

bounds. On average, our hierarchical solution approach generates solutions within 2.7% of optimality

even for very large problems (that cannot be solved using exact methods), and our results demonstrate

that the performance of the method is robust for a variety of problems with different size and connectivity

characteristics.

Key words: metaheuristics; survivable network design; heuristic analysis; tabu search;

2

1. Introduction

As businesses and individuals become increasingly dependent on round-the-clock use of

telecommunication services to interact and access information (including data and multi-media content),

their expectations about the performance of the networks that provide these services has also increased.

In particular, customers seek uninterrupted service despite failures in one or more edges of the network.

To meet these expectations, the underlying telecommunications network must be configured so that it

contains redundancies in terms alternate paths. A network is said to be survivable if it continues to

function (allows its customers to communicate and access online services) even after some of the edges

fail. Undirected networks that have a tree configuration (with no redundancy) fall on one end of the

survivability spectrum, whereas those that have a complete (i.e., fully connected) topology lie at the other

extreme. In a tree network, the failure of just a single edge disrupts the required communication between

at least one pair of nodes; in contrast, a complete network on n nodes is highly survivable since every pair

of network nodes can continue to communicate even if any n – 2 edges of the network fail. Complete

networks provide the highest level of reliability, but they are also very expensive because they assume

that all pairs of nodes require the same (high) level of protection against edge failures even though only a

subset of nodes may have stringent connectivity requirements. For instance, nodes representing hospitals,

emergency call-centers, airports, and financial institutions are very important, and require a high level of

protection via backup communication paths that can be used when the primary paths connecting these

facilities fail. On the other hand, less important nodes such as individual customers may not need this

level of protection since these users may be willing to tolerate temporary disruptions of their services. To

develop cost-effective topologies, network planners must address complex cost-connectivity trade-offs to

take advantage of the differential connectivity requirements.

In this paper, we address the Survivable Network Design (SND) problem, a core network design problem

to identify the least cost network that provides the required connectivity, expressed in terms of number of

edge-disjoint paths, between pairs of nodes. The SND problem is NP-hard (Garey and Johnson, 1979) as

are many of its special cases; indeed, the SND problem generalizes several well-known, but intractable,

problems including the Traveling Salesman problem (TSP) and the Steiner tree problem. Researchers

have also studied variants of the SND problem. For instance, Baldacci, et al. (2007) and Naji-Azimi, et

al. (2010) study the m-ring-star problem that requires installing rings, each with size no more than m

nodes and intersecting only at a central node, to span some or all customer nodes, and attaching other

customers to the rings. Terblanche, et al. (2011) consider network configuration and equipment

installation to satisfy multiple non-simultaneous demand scenarios using alternate routes between demand

nodes. Since solving SND problems using standard models and methods has proved to be very

challenging, researchers have focused on strengthening the problem formulation via strong valid

3

inequalities to accelerate exact solution methods, characterizing the worst-case performance of heuristic

procedures, and designing efficient algorithms for special cases. Grötschel, et al. (1995); and Raghavan

and Magnanti (1997); Kerivin and Mahjoub (2005) provide excellent surveys of the research on SND

problems; Contreras and Fernández (2011) provide a recent review and classification of network design

problems. Recent work includes linear-time algorithms for network design on series-parallel graphs

(Raghavan, 2004), strong formulations based on bidirectional flow (Magnanti and Raghavan, 2005),

analysis of the tightness of connectivity-splitting models (Balakrishnan, et al., 2004), and optimization-

based heuristics using connectivity-upgrading models (Balakrishnan, et al., 2009). Yet, effectively

solving large-scale instances of SND problems (e.g., with more than 50 nodes) remains elusive.

In this paper, we develop and test a composite algorithm for solving large SND problems. The approach,

combining decomposition, metaheuristics, randomization, and optimization, has several distinctive

characteristics. At its core, the method employs a hierarchical (multi-stage) decomposition framework,

consisting of backbone network design and access network design, to improve SND solutions. For each

stage, we develop a tailored tabu search method, combined with exact algorithms for embedded

subproblems, to explore the appropriate solution neighborhood. To initiate the algorithm, we apply two

optimization-based heuristic methods that can generate good starting solutions. Subsequent iterations of

the multi-stage procedure are driven by a randomization step to augment the current best solution and

permit fuller exploration of the solution space. The various components of our algorithm exploit the

problem’s underlying special structures and solution characteristics, and incorporate tradeoffs between

diversification and intensification of the neighborhood search procedures taking into account both

solution speed and quality.

We implemented the composite solution approach and tested it on 78 SND problem instances, varying in

size and in the structure of connectivity requirements (both the maximum number of edge-disjoint paths

needed and the proportion of nodes at each connectivity level). The test problems contain up to 100

nodes and 400 edges, and nodes have connectivity requirements of up to four edge-disjoint paths. The

compact flow-based integer programming formulations for these instances have up to 79,600 variables (of

which 400 are binary) and 128,600 constraints. CPLEX could not solve some large problems (with more

than 80 nodes and 320 edges) even after 72 hours of computation, whereas our method finds near-optimal

solutions relatively quickly. On average, the solutions we obtain have an optimality gap of 2.7% relative

to the optimal value or a lower bound on this value. Thus, our solutions are provably close (less than 3%

on average) to the optimal SND solutions. Comparison of the method’s performance across different

problem scenarios demonstrates that its effectiveness is robust to variations in problem size and

connectivity requirements.

4

The rest of this paper is organized as follows. Section 2 defines and formulates the SND problem and

discusses the structural features of SND solutions that motivate our hierarchical approach. Section 3

provides a detailed description of our multi-stage method including the tabu search procedure, and

Section 4 discusses our computational design and summarizes the results. Section 5 offers concluding

remarks.

2. SND Problem Definition and Solution Structure

2.1 Problem Formulation

Given an undirected network G:(N, E), with N and E respectively representing the set of nodes and

available edges of the network, nonnegative costs cij for each edge in {i, j} in E, and nonnegative integer

connectivity parameters i for each node i, the SND problem seeks the minimum-cost set of edges that

meets all the connectivity requirements. More important nodes that require greater level of protection of

their communication paths have higher values of i. The connectivity parameters translate to the

requirement that, for any pair of nodes i and j, the chosen network must contain at least rij = min(i, j)

edge-disjoint paths between these two nodes. Nodes i with connectivity requirement i = 0 represent

intermediate points that the network may optionally use to reduce the total cost of the network; however,

we are not required to necessarily span these nodes. We refer to these locations as Steiner nodes. Nodes

with connectivity parameter i = 1, called regular nodes, represent customers or locations that have

minimal connectivity requirements. That is, the network design must span these nodes, but we only

require one path between a regular node and every other node with positive connectivity parameter.

Finally, we refer to nodes with i > 2 as critical nodes; each of these nodes requires protection in the form

of two or more paths to every other critical node. By permitting nodes to have different connectivity

parameters, the SND problem differentiates nodes in terms of their importance and protection

requirements, and can exploit these differences to reduce the cost of the network.

To formulate the SND problem, we define a binary (0 or 1) variable uij for each edge {i, j} E to indicate

whether or not the SND solution includes this edge. One way to enforce the connectivity requirements is

using cutset constraints (see, for example, Grötschel et al., 1995), one for each cutset defined by node

partitions {T, N\T}, T N, that separate at least one node pair i, j with positive connectivity requirement

rij. The constraint corresponding to this cutset specifies that the solution must select at least max{rij: i

T, j N\T} edges from this cutset. Since the network has an exponential number of cutsets, the number

of cutset constraints is also exponential; therefore, solving this model requires using a cutting plane

procedure that dynamically adds violated cutset constraints. Alternatively, we can use the max-flow min-

cut theorem to develop an equivalent flow-based formulation that has a polynomial number of constraints

5

(see, for example, Magnanti and Raghavan, 2005). For this flow formulation, we select a node with the

highest connectivity, say node 1, as the root node, and let H denote the set of non-Steiner nodes excluding

the root node. For each h H, we define a commodity h with the root node as the origin node, node h as

the destination node, and demand of h units. The flow formulation includes additional continuous flow

variablesh

ijf to denote the flow of each commodity h H on edge {i, j} from node i to node j, and uses

flow conservation constraints together with forcing constraints to impose the connectivity requirements.

The two formulations, [CUT] and [FLOW], are presented below.

{ , } { , }

, \{ , } { , \ }

[ ] min [ ] min

subject to: subject to:

if 1

max , cutsets if

0 otherwise

{0,1}, { , } . , { , }

ij ij ij ij

i j E i j E

h

h h

ij ij ij ji h

i T j N Ti j T N T j j

h h

ij ij ji ij

CUT c u FLOW c u

i

u r T f f i h h H

u i j E f f u i j

,

{0,1}, { , }

, 0, { , } , .

ij

h h

ij ji

E h H

u i j E

f f i j E h H

2.2 Structure of SND Solutions

Optimal solutions to the SND problem have the following distinctive structural properties that motivate

the decomposition framework underlying our solution methodology. Since the network contains nodes

with varying connectivity requirements, we can view any SND solution as the union of two types of

subnetworks: a multi-connected component that meets the connectivity requirements of all the critical

nodes, and subtrees emanating from this network to connect regular nodes. We refer to the multi-

connected component as the backbone network. For any given SND solution, this network contains the

nodes and edges on all the required edge-disjoint paths interconnecting the critical nodes. By definition,

the backbone network spans all the critical nodes, including the root node. In addition, the network may

also include some regular and Steiner nodes when these nodes lie on one or more of the edge-disjoint

paths; effectively, the backbone network can use regular and Steiner nodes as optional intermediate points

if it is economical to do so. The SND solution must also span the remaining regular nodes that are not

spanned by the backbone network, but these nodes require only a single path to every other regular or

critical node. The solution meets this requirement via one or more subtrees that together span all the

remaining regular nodes. These subtrees may also include some intermediate Steiner nodes to reduce

network cost. We refer collectively to these subtrees as the access network. Each subtree is anchored at a

6

node of the backbone network; we refer to these nodes as gateway nodes since they serve as a gateway for

the regular nodes to communicate with nodes in the backbone network.

To clarify the structure of the SND solution, we provide an illustrative example in Figure 1. We refer to

any critical node with connectivity parameter as a -critical node. n the example, triangles and

squares respectively represent 3-critical and 2-critical nodes (with respective connectivity parameters of i

= 3 and i = 2). The filled circles are regular nodes, and blank circles represent Steiner nodes. For the

solution displayed in Figure 1, the solid edges define the backbone network, and dashed edges belong to

the access network. Besides spanning all the critical nodes, the backbone network also includes two

Steiner nodes and three regular nodes. The access network consists of three subtrees, two of which

include Steiner nodes; three corresponding nodes of the backbone network serve as gateways to these

subtrees.

Nodes:

3-Critical:

2-Critical:

Regular:

Steiner:

Edges:

Backbone: Solid Line

Access: Dashed Line

Gateway Node

Figure 1: Typical structure of the SND problem

We conclude this discussion with several observations regarding the SND solution structure that motivate

our hierarchical solution approach (discussed in Section 3) and its embedded algorithms.

Consider the following Backbone Network design (BND) subproblem. Given a set of critical nodes

with associated connectivity parameters, find the least cost network that satisfies the connectivity

requirements while optionally using regular and Steiner nodes as intermediate points. This problem is

itself NP-hard even if the maximum connectivity parameter is two and there are no regular or Steiner

nodes because, as we discuss next, the backbone network design problem generalizes the TSP. Given

a TSP instance with distance dij between nodes i and j, we can transform it to a backbone network

design problem on the same graph by setting the connectivity requirement of each node to two, and

setting the cost cij of each edge {i, j} equal to (dij + F), where F is a large constant. Since F is large,

the optimal backbone design will use the fewest possible number of edges (i.e., n edges for a n-node

7

network) to provide two edge-disjoint paths needed between every pair of nodes. Hence, the optimal

design is the minimum distance TSP tour.

Suppose we are given a candidate backbone network, and we wish to verify if this network is

“feasible,” i.e., whether it contains the required number of edge-disjoint paths between every pair of

critical nodes. This backbone feasibility verification (BFV) can be performed in polynomial time.

Specifically, we can address the BFV problem by solving a Maximum Flow problem for each critical

node. The ith

Maximum Flow problem seeks the maximum possible flow from critical node i to the

root node, assuming that each edge of the backbone has a capacity of one. The given backbone

network is feasible if and only if, for every critical node i, the corresponding maximum flow value is

greater than or equal to i. The validity of this procedure (e.g., Balakrishnan et al., 2009) stems from

the facts that (i) when nodes i and j have the desired maximum flow values, the backbone network

must contain at least i and j edge-disjoint paths, respectively, from nodes i and j to the root node

implying that the network contains at least rij = min(i, j) edge-disjoint paths between these two

nodes, and (ii) the root node has the highest connectivity parameter. Checking feasibility in this

manner improves the speed by a factor of O(n) compared to checking feasibility by finding the

maximum flow between every pair of nodes.

Next, consider the following Access Network completion (ANC) subproblem that is complementary to

the BND problem. Given a backbone network and the set of remaining regular nodes and available

Steiner points not spanned by the backbone, find the minimum cost access network to connect all the

remaining regular nodes, optionally via Steiner points, to the backbone. If we contract the given

backbone network into a single node (keeping only the lowest cost edge among any parallel edges

created during contraction of the backbone) and treat this contracted node as a regular node, then the

ANC subproblem is equivalent to the Steiner tree problem. Moreover, if we are given the subset of

Steiner nodes to include in the access network, then the ANC problem reduces to the polynomially

solvable Minimum Spanning Tree (MST) problem.

The backbone network design problem generalizes the TSP, while the access network design problem

(given the backbone network) is the Steiner tree problem. Thus, both these SND subproblems are

NP-hard. Our hierarchical approach decomposes the SND problem into these two subproblems and

uses tabu search sequentially. As we discuss below, our procedure also incorporates a number of

other features that allow us to obtain near-optimal solutions quickly.

We next describe our solution method, highlighting how it exploits the above observations.

8

3. Hierarchical Solution Method

3.1 Overview

We develop a metaheuristic approach combining optimization-based heuristic procedures, neighborhood

search methods to improve solutions, and randomization to generate multiple starting solutions. The

structural properties of SND solutions that we discussed in Section 2.2 suggest the following natural

hierarchical approach for improving SND solutions. The approach consists of two stages: a backbone

design stage to identify a good configuration for the backbone network, followed by an access network

completion stage to choose a cost-effective topology that connects the remaining regular nodes to the

given backbone network. Since both the BND and ANC problems are NP-hard, we develop tailored tabu

search procedures to improve the solution within each stage. Given the distinctive and different

characteristics of the BND and ANC problems, we designed separate BND and ANC tabu search methods

to accommodate and exploit these differences. We then embed the two-stage improvement method in an

overall iterative multi-start framework that identifies and improves different starting solutions. To initiate

this process, we developed two heuristic algorithms, a linear programming (LP) based method and an

Iterative Routing approach, that can generate initial SND solutions. For subsequent iterations, we

augment the current best SND solution using a randomization procedure to construct a new starting

solution. In designing this algorithm, we have incorporated several features to address issues of

diversification and intensification that are critical for such procedures. Figure 2 pictorially depicts the

overall algorithmic framework.

The various modules or phases of this method have the following functions:

Initialization: This phase generates initial feasible solutions for the search using two different

procedures, an LP-based method and an Iterative Routing heuristic.

Backbone Design: The purpose of this phase is to improve (reduce the cost) the backbone network,

given a starting solution. We use a customized tabu search method, called BND tabu search, to

identify solution improvements. The method iteratively searches an appropriately defined

neighborhood of the current solution, subject to tabu restrictions.

Access Design: Given the backbone design, this phase determines a cost-effective access network to

span the remaining regular nodes using an ANC tabu search method.

Randomized Advanced Restart: Whenever the previous two phases improve the SND solution, this

procedure randomly adds a predefined number of edges to generate a new starting solution, thereby

diversifying the search for better solutions. This approach is analogous to “advanced recovery”

procedures (Glover, 1996), except that it perturbs the incumbent in a probabilistic manner rather than

selecting a candidate from a pool of previous solutions.

9

Local Improvement: This final phase of the algorithm attempts to monotonically improve the best

solution obtained by the previous steps, but ignoring all tabu restrictions.

Backbone

Design

Initialization

Start Backbone Design

Select Move

New Solution Better?

Update incumbent

Y N

Max. number of iterations reached?

N

Start Access Design

Y

Improvement made?Randomized Advanced Restart Y Local ImprovementN

Stop

New Solution Better?

Update incumbent

Max. number of iterations reached?

Select Move

Y N

N

Y

Access

Design

Figure 2: Overview of Hierarchical Solution Method

Both the Backbone Design and the Access Design phases employ exact algorithms to verify feasibility

and optimize the cost of candidate moves. Moreover, within these phases, we also periodically apply an

“aspiration” criterion (Glover and Laguna, 1997) that evaluates all feasible moves, ignoring the tabu

restrictions, and accepts the best move if this move strictly decreases the cost of the current best solution.

We discuss the various components of the hierarchical solution method in the following sections. Section

3.2 describes the two optimization-based heuristics to generate the initial feasible solutions. Section 3.3

provides an overview of our hierarchical solution improvement method using tabu search methods for

backbone and access network design. Section 3.4 discusses the BND tabu search method to improve the

backbone network, specifying its moves, tabu attribute, and tabu management policies. Section 3.5

outlines the ANC tabu search method for refining the access network. The online Appendix contains

10

detailed discussions of the moves that we use to define the solution neighborhoods. Sections 3.6 and 3.7

respectively discuss the Randomized Advanced Restart and Local Improvement procedures.

3.2 Generating Initial Feasible Solutions

To initiate the solution process, we apply two different heuristic methods, a LP-based approach and an

Iterative Routing heuristic. Using two initialization methods permits generating different starting points

and improves the likelihood of quickly finding near-optimal solutions using neighborhood search. Both

the heuristics are optimization-based, but they differ in their underlying principles and methods. The LP-

based method simultaneously considers the connectivity requirements for all nodes, whereas the Iterative

Routing method routes the commodities one at a time and iteratively adjusts the edge costs

The LP-based heuristic first solves the linear programming relaxation of the flow-based formulation

[FLOW], and selects every edge {i, j} that has a non-zero uij value in the LP solution. We can show that

the network obtained using this method is always feasible, i.e., it contains at least the required number of

edge-disjoint paths for all node pairs. For small to moderate sized-instances, this approach provides an

initial feasible solution quite quickly, but for larger instances the size of the linear program increases

rapidly and so imposes larger memory requirements and requires excessive computational time. Another

disadvantage of this method is that it requires access to an LP solver.

The Iterative Routing heuristic defines and iteratively adjusts a per-commodity allocated cost for each

edge to identify cost-effective edge-disjoint routes for each commodity. At each iteration, the method

reduces the allocated cost for every edge, based on the number of commodities that use the edge, thereby

making edges that are shared by multiple commodities more attractive. This method is easily scalable as

problem size increases. Figure 3 describes the steps in the Iterative Routing heuristic.

At each iteration k, the parameter k

ijd represents the current “allocated” (per-commodity) cost on edge {i,

j}; Sk and k

ijv respectively denote the design (edges) chosen at the end of this iteration and the total

number of commodities that are routed on edge {i, j}. During the kth iteration, for each non-Steiner node

i, the method chooses the least-cost i edge-disjoint paths from the root node to node i by solving a

Minimum Cost flow algorithm using unit capacity for all edges and k

ijd as flow costs. The design Sk at

the end of iteration k is the union of the edge-disjoint routes over all the non-Steiner nodes i. At the end

of the step, the procedure scales down the allocated costs by the number of commodities k

ijv that use each

edge {i, j} in Sk in order to encourage use of these edges in the next iteration. The procedure terminates

when the allocated edge costs are stable (i.e., unaltered from one iteration to the next).

11

procedure Iterative Routing Heuristic

begin

k := 1;

All edge capacities := 1;

:k

ij ijd c ;

Sk := ;

while 1k k

ij ijd d for some { , }i j E

kij := 0 for all { , }i j E ;

for each non-Steiner node i do

begin

P:= min-cost network flow solution (origin = root, destination = i, demand = i);

k kS S P ;

1k k

ij ij for all { , }i j P ;

end

next i

1 :k k k

ij ij ijd d for all {i, j} S

k, and 1 :k k

ij ijd d for all {i, j} Sk

k k + 1;

end while

end

return Sk-1

.

Figure 3: Iterative Routing Heuristic

Letting |N| = n and |E| = m, the following results characterize the computational effort needed for this

procedure. For these results, we assume without loss of generality that the smallest positive edge cost is

one (by scaling if necessary).

Proposition 1: Let max { , }max i j E ijC c denote the maximum cost over all edges. The number of

iterations for the Iterative Routing heuristic is max( log( ))O m C .

Proof: At the end of iteration k, if kij is zero or one for all edges {i, j}, then

1k kij ijd d for all edges, and

the procedure stops. Otherwise, 2kij for at least one edge {i, j} and its cost (before rounding) is

reduced by at least half. Since the updated costs have a minimum value of one, the Iterative Routing

procedure changes the cost of each edge at most log( maxC ) times. Therefore, with m edges in the given

network, the number of iterations is max( log( ))O m C .

Proposition 2: The running time of the Iterative Routing heuristic is 2 2max( log( )log( ))O n m n C .

Proof: At each iteration k, we apply a minimum cost network flow algorithm ( )O n times. The Minimum

Cost Flow problem is solvable in polynomial time using, for example, a shortest augmentation path

12

algorithm (designed for unit edge capacities) with running time of ( log( ))O nm n (see Ahuja, et al., 1993).

Hence, each iteration requires 2( log( ))O n m n steps which, together with Proposition 1, implies that the

running time of the Iterative Routing heuristic is 2 2

max( log( )log( ))O n m n C .

Proposition 3: At each iteration k, the design Sk is a feasible solution to the SND problem, and so the

Iterative Routing heuristic generates a feasible solution.

Proof: (i) By definition, the root node has the highest connectivity level. So, if we can send a flow of i

units between the root node and each non-Steiner node i on edge-disjoint paths, then we can also send a

flow of rij between every non-Steiner node pair, i and j, on edge-disjoint paths (see, for example,

Magnanti and Raghavan, 2005). Since, at each iteration k, Sk is the union of i edge-disjoint paths

between the root node and each non-Steiner node i, Sk is a feasible solution to the SND problem.

3.3 Backbone and Access Network Tabu Search Procedures: Overview

Tabu search has proved to be effective for finding near-optimal solutions to many difficult problems

including network design. For example, Berger, et al. (2000) studied applications of tabu search to a

network loading problem with multiple facilities. Tuzun and Burke (1999) decomposed the location of

distribution centers and the associated problem of routing vehicles between these centers into two

subproblems that were solved using tabu search in a two-phase approach. Other network design

applications of tabu search and related metaheuristics include hub location (Skorin-Kapov and Skorin-

Kapov, 1994), network configuration with modular switches (Chamberland, et al., 2000), design of ring-

based networks (Xu, et al., 1999) and self-healing rings (Fortz, et al., 2003), Steiner tree problem with

revenues, budget, and hop constraints (Costa, et al., 2008), logistics network design (Cordeau, et al.,

2008), and urban network design (Gallo, et al., 2010).

Tabu search (Glover and Laguna, 1997) is a metaheuristic approach that iteratively modifies a solution by

exploring a local neighborhood at each step. The cost of the solution may increase at intermediate steps,

but the method keeps track of the best solution obtained so far. Designing a tabu search algorithm entails:

(i) defining the set of moves, depending on the problem being solved, that characterize the neighborhood

to be explored, (ii) specifying tabu restrictions to reduce the likelihood of cycling among solutions, and

(iii) introducing other enhancements, e.g., to accelerate the procedure and to control diversification and

intensification characteristics. To express the tabu restrictions, we must select an appropriate (problem-

dependent) tabu attribute and tabu list management policies, including features such as tabu tenure and

long-term memory.

13

For the SND problem, a straightforward application of tabu search might involve considering the entire

SND solution (backbone and access network together) at each iteration, and defining a neighborhood and

search policies to move from one SND solution to the next. This method has several disadvantages.

First, the size of the neighborhood can increase dramatically with the total number of nodes in the

network, thereby vastly increasing the computational time. To limit this neighborhood size, we may

restrict the set of permissible moves; however, this approach may not fully explore the solution space,

yielding solutions that are far from optimal. Second, the method applies the same set of search techniques

and policies to all components of the SND solution, whereas tailoring these techniques to different

components will likely yield superior overall solutions. Third, the approach does not contain any inherent

features to focus first on the more expensive and complex portion of the solution, namely, the backbone

network (because it contains multiple paths between node-pairs) and so may yield uneven improvements.

Finally, the monolithic approach of considering the entire SND solution may preclude using efficient

procedures to quickly assess the feasibility and value of new solutions.

To address the above shortcomings, we use a hierarchical approach that decomposes the improvement

process into two phases—improvement of the Backbone design, followed by improvement of the Access

network. We design and apply two corresponding tabu search methods, BND tabu search (for Backbone

Network Design) and ANC tabu search (for Access Network Completion), for these two phases. The

methods differ in their definition of neighborhoods (moves), tabu attributes, tabu list management

policies, and move selection. This two-phase approach offers the advantages of: (a) focusing first on

improving the backbone network; (b) reducing the neighborhood size and hence computational effort at

each phase (e.g., in the backbone design phase we are not concerned with necessarily spanning all the

regular nodes, and in the access design phase we only focus on spanning any remaining regular nodes);

and (c) tailoring the search method and its embedded algorithms to exploit the structure of the

corresponding (backbone and access) networks (discussed previously in Section 2.2).

Let us motivate the need to use different tabu search principles for backbone and access network

improvement. Recall, from Section 2, that the Backbone network design problem is NP-hard even when

we are given the subset of non-critical (regular and Steiner) nodes that this network must span. For BND

improvement, therefore, we require the tabu search method to not only decide which non-critical nodes to

include in the backbone network but also the incident edges to use to create the required number of edge-

disjoint paths. In contrast, to complete the access network for a given backbone network, if we know

which Steiner nodes to include in the trees, then finding the least-cost set of edges to interconnect these

nodes and the remaining regular nodes (not spanned by the backbone) is polynomially solvable (using an

MST solution algorithm). Hence, to improve the access network, we rely on tabu search only to decide

14

which Steiner nodes to include. Thus, our ANC tabu search method is node-oriented (in terms of defining

neighborhoods, tabu attributes, and other features), whereas the BND tabu search procedure must

consider both nodes and edges (e.g., when defining moves that define neighboring solutions) and is

therefore more complex.

We note that decomposition methods for large-scale optimization models provide formal frameworks to

incorporate the hierarchical approach. For instance, we can consider a Benders decomposition scheme in

which the master problem seeks the cost-minimizing configuration for the backbone network subject to

additional side constraints (Benders cuts), and the subproblem entails solving a Steiner tree problem to

complete the access network. This approach is likely to be practical only for small problem instances for

the following reasons: (i) the master problem is very difficult to solve optimally; and, (ii) since the

subproblem is an integer program, we require advanced methods such as Branch-and-Cut (see Sen and

Sherali, 2006) to apply the Benders decomposition framework. Instead, we use metaheuristic approaches

to solve both the backbone and access network design problems. As the computational results in Section

4 demonstrate, our approach is quite effective in quickly finding solutions that are verifiably close to

optimal. We next describe the ingredients of the BND tabu search procedure, and later (in Section 3.5)

outline the differences for the ANC procedure.

3.4 Tabu Search for Backbone Design

Starting with a given SND solution, the goal of the BND tabu search method is to reduce the cost of the

backbone network. The method achieves this improvement by exploring changes to both the non-critical

(regular or Steiner) nodes spanned by the backbone and the topological configuration (i.e., set of edges) in

the backbone. Each iteration selects a neighbor to the current solution (defined by the moves, but

constrained by tabu restrictions), permitting local increases in cost. The procedure terminates when it

cannot improve the current best solution for a pre-specified number of consecutive iterations.

3.4.1 Search neighborhood: Moves

“Moves” are the rules that the method uses for changing the current SND solution; they define the

neighborhood to be searched. We present an overview of the eight different moves we designed for the

BND tabu search procedure, and present them in detail in the online Appendix (we show the

corresponding move numbers in the brief descriptions below). These moves are quite general and apply

to any SND problem, regardless of the connectivity structure and requirements. We classify the BND

moves into the following three broad categories:

1. Expanding moves: The three moves in this category—“Add edge”, “Insert unused Steiner node”, and

“Insert access node and subtree in backbone”—increase the number of nodes and/or edges in the

solution. “Add edge” (Move 1) inserts an edge that is not currently included in the solution but is

15

incident to at least one node in the solution. This edge may connect two backbone nodes, a backbone

node to a node in the current access network, or an unused Steiner node (that is not spanned by the

current solution) to the current network. The “Insert unused Steiner node” move (Move 2) inserts

into the backbone a Steiner node that is not spanned by the current solution, increasing both the

number of nodes in the backbone and the number of edges. “Insert access node and subtree in

backbone” (Move 3) inserts a node currently within the access network into the backbone network. It

also transfers with this node an appropriate subtree incident to this node. This move increases the

number of nodes in the backbone network.

2. Contracting moves: This category of three moves—“Delete edge”, “Move non-critical node subtree

from backbone to access network,” and “Delete Steiner node”—decrease the number of backbone

nodes and/or solution edges. “Delete edge” (Move 4) removes an edge from the solution. “Move

non-critical node subtree from backbone to access network” (Move 5) transfers a regular or Steiner

node and any incident access subtree from the backbone to the access network. Finally, “Delete

Steiner node” (Move 6) removes a Steiner node and its incident edges from the solution, and if

necessary adds an edge directly connecting the two nodes that were previously adjacent to the Steiner

node. For all three moves, we need to ensure that the resulting network is feasible.

3. Neutral moves: The two moves in this category—“Generalized 2-opt interchange” and “Relocate a

subtree”—typically do not affect the size of the backbone network. “Generalized 2-opt interchange”

(Move 7) is a generalization of the 2-opt operation used for solving TSPs; it replaces two current

edges with two other appropriate edges that are not currently in the design. Unlike the TSP version,

however, our 2-opt move does not require the four nodes involved in the interchange to be part of a

single circuit or ring. Finally, “Relocate a subtree” (Move 8) disconnects an access subtree from its

current predecessor and re-attaches it to an existing backbone node. Thus, the number of nodes in the

backbone network remains unchanged with this move.

Our procedure maintains solution feasibility throughout, i.e., we only consider moves that meet the node

connectivity requirements. Expansion moves add nodes and edges and so do not affect feasibility.

However, other move types (e.g., deleting an edge) may reduce connectivity; for such moves, we use the

BFV procedure described in Section 2 to ensure that the solution continues to be feasible.

We note that we have several choices when designing moves for tabu search. An approach that uses only

elementary and simple moves (such as adding or deleting a single edge) is easiest to implement, but is

myopic and may miss some improvement opportunities (because many of these moves may lead to

infeasibilities) unless they incorporate some time consuming look-ahead features. More complex or

16

composite moves (such as our moves that involve transferring trees rather than edges) trade

implementation difficulties for ease of evaluation. Consider, for instance, the “Insert access node and

subtree in backbone” move. Implementing this as a single composite move requires O(nm2) effort to

identify the best move, whereas realizing this move through a sequence of elementary edge additions and

deletions requires O(nm3) steps (because each edge of the subtree needs to be moved sequentially).

Furthermore, composite moves allow us to visit neighborhoods that may be inaccessible otherwise due to

intermediate infeasibilities in the sequence of elementary moves. We have, therefore, chosen a mixture of

simple and composite moves in our hierarchical procedure.

3.4.2 Tabu restrictions

Tabu restrictions preclude considering certain moves, based on the history of prior moves, in order to

avoid repeatedly generating solutions and neighborhoods that have been previously explored. To express

these restrictions, we must select one or more tabu attributes, and design methods to set tabu tenures as

well as mechanisms to encode long-term memory. We now discuss these features for our BND tabu

search procedure.

Tabu attribute: Tabu attribute refers to the solution element(s) that serves as the basis for tabu

restrictions. For network design problems such as backbone design, we can select attributes at different

levels of search granularity; a finer-grained definition may improve solution quality but can vastly

increase the size of the neighborhood, memory requirements, and computational time. For instance, we

can choose paths in the solution as the tabu attribute, implying that whenever we apply a move, we need

to ensure that the new solution does not add or create a path that was recently eliminated (or does not

destroy a current path that was recently created). This attribute choice results in fine granularity for

search compared to using, say, nodes as the tabu attribute. For the BND tabu search procedure, we adopt

an intermediate level of granularity by selecting edges as the tabu attribute. That is, whenever we

consider a possible move, we ensure that the new solution does not delete an edge that was recently added

to the network or add an edge that was recently deleted. In contrast, as we discuss later, the node-oriented

ANC tabu search procedure uses Steiner nodes as the tabu attribute.

Tabu tenure and list management: The tabu list contains network elements (i.e., specific edges)

corresponding to the tabu attribute whose current status (included or excluded from the network) must not

be changed during the next move. The size of this list and the criteria for including elements in this list

must be chosen carefully to prevent cycling in the search process and to escape from local optima while

ensuring that promising solutions are not overlooked. For the BND tabu search procedure, we maintain

two lists: one for edges that have been recently deleted from the selection and are therefore ineligible to

re-enter, and one for edges that have been recently added and must therefore not be deleted.

17

The “recency” criterion for maintaining an element in either list is the tabu tenure; this value specifies the

number of iterations for which a deleted or added edge remains in the tabu list. Unlike typical tabu search

implementations that use a fixed tabu tenure throughout the procedure, we adopt a dynamic tabu tenure

approach that considers the size of the network, iteration count, and structure of the incumbent solution.

When the ratio of the number of edges in the solution to the number of edges not in the solution is high,

the procedure has a propensity to delete edges. To neutralize this effect, we use a larger tenure for added

edges when this ratio is high, thereby making more edges in the solution unavailable for deletion.

Conversely, we reduce the tenure when the solution contains fewer edges. Thus, the dynamic tabu tenure

strategy promotes diversification in the early stages of the search procedure, since adding an edge is

generally less attractive than deleting an edge. By keeping the tenure for deleted edges low, we increase

the number of edges to potentially add to the solution. Further, increasing the tenure for deleted edges in

the later stages of the search favors an intensification strategy because it decreases the pool of edges not

in the solution that are eligible for adding back to the network.

3.4.2 Long-term memory and scoring methods

In general, tabu lists serve as short-term memory. We also use long-term tabu memory to diversify the

search, based on the past frequencies and performance of different types of moves. These factors can be

incorporated via scoring mechanisms that are used to determine the attractiveness of each candidate

move. We tested two types of scoring mechanisms:

1. Simple scoring: based solely on the potential improvement in the objective function value if the move

is selected; or,

2. Complex scoring: based on three factors—potential improvement of the move, performance of the

move during the last five iterations, and relative frequency of move usage.

The potential improvement for a move is the reduction in cost of the current solution if we adopted the

move. Since tabu search can also make moves that increase the solution cost, the potential improvement

can be negative. We compute the potential improvement only for those moves that are not tabu (unless

we have activated the aspiration step discussed later) and that produce feasible solutions.

To encourage diversification during the backbone improvement phase, we emphasize moves that can

change the structure of the backbone network in a more significant way by changing the set of nodes

included in the backbone. Therefore, in the complex scoring strategy, we give less importance to neutral

moves (“Generalized 2-opt” and “Relocate a subtree”) that naturally occur more often than others.

18

3.4.3 Move selection strategies

After identifying all eligible moves (moves that do not violate the tabu restrictions and maintain solution

feasibility) and evaluating their (simple or complex) scores, we must decide which move to adopt in order

to obtain the next solution. We consider two alternative move selection strategies: greedy selection and

probabilistic selection. The greedy method simply selects the move with the highest score. On the other

hand, the probabilistic method assigns to each move a selection probability based on the attractiveness of

the move, i.e., moves with higher scores have higher selection probability. Specifically, we assign the

probability for each move i as follows: Given the score Scorei of this move, and the maximum and

minimum scores ScoreMAX and ScoreMIN over all moves, we define the relative score Ri of move i as

( )

( )

i MINi

MAX MIN

Score ScoreR

Score Score

, and set the selection probability Pi for move i as

i i i

all moves

P R R .

The probabilistic selection procedure permits us to explore regions that may appear unattractive from a

deterministic (or greedy) perspective, and so also helps with diversification.

3.4.4 Aspiration steps and termination

At intermediate steps of the BND tabu search procedure, we periodically apply an aspiration step. This

step considers all possible moves, ignoring the tabu restrictions (i.e., we can add recently deleted edges or

vice versa), and iteratively selects moves that yield the highest cost reduction so as to progressively

reduce the total cost of the current solution. The overall BND tabu search procedure terminates if the

incumbent (current best) solution does not improve for a pre-specified number of iterations.

3.5 Tabu Search for Access Network Completion

At the end of the backbone search, we apply the ANC tabu search algorithm. This procedure keeps the

backbone network intact, and modifies only the access network. As we noted earlier, the main decision in

access network design (for a given backbone network) is which Steiner nodes (not spanned by the

backbone) to include in the access network. Accordingly, we use Steiner nodes, rather than edges not in

the backbone, as the tabu attribute. We consider three corresponding moves for ANC tabu search:

“Insert unused Steiner node to access network” (Move 9) “Delete Steiner node from access network”

(Move 10), and “Swap current Steiner node in access network with unused Steiner node” (Move 11). As

before, we maintain two tabu lists, one to keep track of Steiner nodes that have been recently added (and

so must not be deleted) and the other containing Steiner nodes that have been recently deleted. We

evaluate each move by “optimally completing” the backbone network. Optimal completion consists of

contracting the backbone network into a single node and constructing a minimum cost tree spanning this

node, the regular nodes not contained within the backbone, and the Steiner nodes chosen for the access

network. The ANC procedure evaluates each move solely based on its cost reduction potential (i.e., uses

19

only the simple scoring method) and selects the permissible move that yields the greatest reduction in cost

(greedy move selection). We apply the aspiration step for ANC tabu search as well. Finally, the ANC

tabu search procedure terminates when the current incumbent does not improve for a pre-specified

number of iterations.

3.6 Randomized Advanced Restart

If the current best solution improves during either the backbone or access network improvement phases,

the hierarchical search procedure uses a Randomized Advanced Restart procedure to obtain a new starting

solution for a new cycle of tabu search improvement. This procedure adds a random number of edges to

the current best solution, chosen judiciously to promote diversification. It first adds a predefined

proportion of randomly chosen edges to connect pairs of backbone nodes, and another fraction of edges

that are incident to least one node in the current best solution; it then randomly selects the remaining

added edges without restrictions. This modified version of the current best solution, with the newly

added edges designated as tabu, becomes the starting point for a new cycle of the hierarchical procedure.

3.7 Local Improvement

As a final step (after the two-phase tabu search procedure terminates), the solution method applies the

following local improvement procedure. Starting with the last solution (obtained after applying the ANC

tabu search procedure in the final iteration of the two-phase method), this procedure iteratively examines

all the backbone moves, ignoring the tabu lists, and implements those moves that strictly reduce the SND

solution’s cost.

4. Computational Results

We implemented the composite SND solution method on a personal computer with a 2.8 GHz processor

and 8GB RAM running Windows 7 64-bit, and applied it to 78 different problem instances. We

implemented the tabu search algorithms using the Library for Efficient Data Structures and Algorithms

(LEDA 4.4; Algorithmic Solutions, GmbH) which provides a library of data structures and algorithms for

network problems. To solve model [FLOW] and its LP relaxation, we used CPLEX 12.2.

Our hierarchical solution method provides two algorithmic choices in each of three modules, namely, two

different methods to generate initial solutions (LP-based versus Iterative Routing), to evaluate moves

(simple versus complex scoring), and to select moves (greedy versus probabilistic), yielding eight

different versions of the method. We designate each version as I–E–S, where I = LP or IR represents the

initialization method, E = Simple or Complex is the scoring scheme, and S = Greedy or Probabilistic is

the move selection strategy.

To assess the performance of the hierarchical method, we applied it to an extensive set of SND test

20

problems (generated using the procedure adopted in Balakrishnan et al., 2009). These instances cover

different graph densities, graph sizes, maximum connectivity levels, and proportion of nodes at each

level. We are mainly interested in whether the method generates near-optimal solutions measured by the

optimality gap (relative to the optimal value, if known, or a lower bound), but we also study how other

factors, such as the heuristic type or initial solution, affect the performance.

We divided the test problems into three groups—Small, Medium, and Large—based on network size

(nodes and edges). Small problems have 20 to 40 nodes and up to 160 edges, Medium problems refer to

networks with 50 nodes and 160 to 300 edges, while Large problems are defined over networks with 60 to

100 nodes and 240 to 400 edges. For each network size, we varied the connectivity structure, i.e., the

number of connectivity levels (we tested problems with up to five levels) and the proportion of nodes at

each level. For a problem with l connectivity levels, we summarize the connectivity structure using the

notation p0 – p1 – p2 – … – pl, where pg, for g = 1, 2, …, l, denotes the percentage of nodes with

connectivity parameter g (recall that Steiner and regular nodes have connectivity parameters 0 and 1,

respectively). We refer to a problem with a particular network size and connectivity structure as a

problem scenario. For each Small and Medium problem scenario, we solved three different problem

instances. In total, we solved 78 problem instances. Tables 2 to 5 show the network sizes and problem

scenarios we considered for Small, Medium, and Large problems. All problem instances have Euclidean

edge costs; however, since our solution method does not exploit the geometric properties of the network,

it also applies to instances with other cost metrics. For Small and Medium problems, we were able to

obtain optimal solutions (as benchmarks) using CPLEX within reasonable computational time; for Large

problems, CPLEX either required excessive time or could not obtain a near-optimal solution (in the latter

case, we use the best lower bound to assess the performance of our heuristic approach).

4.1. Parameter Calibration

For tabu search procedures, the choice of parameter values (e.g., tenure length) can greatly influence

performance. We therefore conducted many preliminary tests to choose an effective set of parameters.

Based on this experimentation, we adopted the following approach to select parameter values.

For the BND tabu procedure, our initial value of the tenure length for deleted edges increases as a

concave function m of the number of edges m in the given network. Then, at each iteration, we

reduce this tenure value by a factor , but impose a minimum value of six. In our computations, we set

= 9, = 0.2, and = 0.99. For added edges, our tabu tenure length varies with the ratio of number of

edges in the solution to the number of edges excluded from the solution. When this ratio is above 0.75,

we set tenure length for added edges to be 1.5 times the tenure for deleted edges. For ratios between 0.25

and 0.75, the tenure for added edges is same as the tenure for deleted edges, and when the ratio falls

21

below 0.25, the tenure for added edges becomes 0.75 time the tenure for deleted ones (subject to a

minimum value of six). The aspiration step is applied every five iterations, and the procedure terminates

when the current best solution does not improve for 150 consecutive iterations.

For the ANC tabu procedure, we set the tenure lengths for both added and dropped nodes equal to one

fourth the number of Steiner nodes in the given network. Finally, for the randomized advanced restart

step, we set the number of edges to be added to the current best solution equal to 0.2m. One third of the

edges in this total have both endpoints in the backbone, one third are incident to at least one node in the

solution, and the remaining edges are chosen without any restrictions.

4.2. Move Effectiveness

Given the variety of possible moves that we permit, we first assess how often the procedure uses each of

the moves. Table 1 summarizes the frequencies of each move type (sorted by frequency) for Small

instances using the LP–Simple–Greedy and LP–Simple–Probabilistic versions of the BND tabu search

method. Since the “Delete Edge” move always reduces cost, both versions utilized this move most often;

but, as we might expect, the greedy heuristic used it more frequently than the probabilistic heuristic.

Interestingly, both heuristics also utilized “Generalized 2-opt” quite frequently perhaps because, at each

iteration, there are many more possible 2-opt moves than feasible “Delete Edge” moves (recall that we

ignore “Delete Edge” moves that make the solution infeasible).

Move

Probabilistic

Selection

(LP–Simple–

Probabilistic)

Deterministic

Selection

(LP–Simple–

Greedy)

Count % Count %

Delete edge 5311 31.4% 7145 42.0%

Generalized 2-opt interchange 4979 29.5% 6696 39.3%

Remove noncritical node & subtree 2706 16.0% 1555 9.1%

Insert access node & subtree in backbone 1842 10.9% 668 3.9%

Relocating a subtree 894 5.3% 559 3.3%

Add edge 653 3.9% 136 0.8%

Insert Steiner node in backbone 194 1.1% 35 0.2%

Delete Steiner node 111 0.7% 24 0.1%

Table 1: Move frequencies for probabilistic vs. deterministic move selection

The algorithm finds good solutions quite quickly, eliminating the need to run the search procedure for a

large number of iterations.

4.3 Solution Quality

We now assess the hierarchical solution method’s ability to generate near-optimal solutions. For this

purpose, we examine the optimality gap, defined as the difference between the cost of the best heuristic

solution (generated by the eight different versions) and the optimal value, as a percentage of the optimal

22

value. For Large problems, when we are not able to determine the optimal solution, we use the best lower

bound (obtained by CPLEX) instead of the optimal value. All computational times and gaps for Small

and Medium problem scenarios are averaged over three problem instances. Table 2 summarizes the

results for the Small instances.

The heuristic performs very well, generating solutions that are within 2.6% of optimality on average

across all 45 instances. As the problem size increases, so does the optimality gap, although at a

decreasing rate. As expected, the optimality gap increases as the proportion of Steiner nodes increases.

Problem size Connectivity Time (sec) Optimality Gap

Nodes: 20

Edges: 80

0-25-75 62 2.3%

0-50-50 59 0.5%

0-75-25 48 0.0%

20-40-40 51 3.0%

40-30-30 49 3.8%

Average 54 1.9%

Nodes: 30

Edges: 120

0-25-75 149 1.6%

0-50-50 121 2.5%

0-75-25 159 3.5%

20-40-40 110 1.7%

40-30-30 141 4.7%

Average 136 2.8%

Nodes: 40

Edges: 160

0-25-75 402 0.7%

0-50-50 313 3.2%

0-75-25 276 1.4%

20-40-40 277 5.7%

40-30-30 411 3.9%

Average 336 3.0%

Overall 175 2.6%

Table 2: Solution quality - Small problems

Next, for Medium problems (with 50 nodes), we assess the effect of connectivity structure and network

density on algorithmic performance. For this purpose, we first varied the maximum connectivity level

from two to four, keeping the number of edges in the network fixed (at 200 edges). We then changed the

density of the network by varying the number of edges, for problems with three and four connectivity

levels and equal proportion of nodes at each level. Tables 3 and 4 summarize the results for these

Medium problem scenarios.

Observe that, as we increase the maximum connectivity level, the optimality gap decreases while

computational time increases steadily. The decreasing optimality gap suggests that our heuristic works

better for problems with higher connectivity levels.

23

Problem size Connectivity Time (sec) Optimality Gap

Nodes: 50

Edges: 200

32-34-34 550 3.0%

24-24-26-26 700 2.8%

20-20-20-20-20 987 2.6%

24-24-26-0-26 1338 1.0%

Average 894 2.4%

Table 3: Solution quality - Medium problems, varying connectivity structure

Problem size Connectivity Time (sec) Optimality Gap

Nodes: 50

Edges: 160

32-34-34 197 4.3%

24-24-26-26 195 3.1%

Average 196 3.7%

Nodes: 50

Edges: 200

32-34-34 550 3.0%

24-24-26-26 700 2.8%

Average 625 2.9%

Nodes: 50

Edges: 300

32-34-34 497 4.7%

24-24-26-26 802 3.2%

Average 649 4.0%

Overall 490 3.5%

Table 4: Solution quality - Medium instances, varying edge density and connectivity structure

From Table 4 we see that, the optimality gap is relatively stable as the density of the underlying network

increases. But, as before, for networks of a given size, the gap decreases significantly as the maximum

connectivity requirement increases.

Problem size Connectivity Time (sec) Optimality Gap

Nodes: 60

Edges: 240

0-25-75 1029 4.4%

0-75-25 839 2.2%

40-30-30 1442 0.3%

Average 1103 2.3%

Nodes: 80

Edges: 320

0-25-75 2858 1.7%

0-75-25* 1727 3.6%

40-30-30 3198 1.1%

Average 2594 2.1%

Nodes: 100

Edges: 400

0-25-75 3613 1.5%

0-75-25* 3813 2.5%

40-30-30 6989 5.8%

Average 4805 3.3%

Overall 2834 2.6%

Table 5: Solution quality - Large problems * Problems not solved to optimality; optimality gaps are relative to best lower bound

Finally, for Large problems, containing 60 to 100 nodes, CPLEX was not able to solve some of the

24

instances (marked with * in Table 5) to optimality even after 72 hours of computational time. Table 5

summarizes the computational performance for Large problems. Interestingly, problems with the 0-75-25

connectivity structure (no Steiner nodes, 75% regular nodes, and 25% critical nodes with connectivity

parameter 2) proved to be most difficult for CPLEX to solve. The heuristic optimality gaps reported for

these problems overestimate the gap between the heuristic and optimal values (since we use the best

lower bound instead of optimal value as the benchmark). Comparing the results in Tables 4 and 5, we see

that the performance of the hierarchical solution method, in terms of optimality gaps, is quite robust with

respect to both problem size and connectivity structure.

Next, we compare the relative performance of the eight versions of the hierarchical solution method for

all problem scenarios. Tables 6, 7, and 8 report the success rate of each version, where we define the

success rate of a particular version as the percentage of problem instances for which that version yields

the best solution. These results show that versions that use the LP-based starting solutions, i.e., the LP–

Simple–Greedy and LP–Complex–Greedy versions, tend to perform better than those that use the Iterative

Routing starting solution. Further, greedy move selection appears to be better suited than probabilistic

selection for the SND problem.

Version of Method All connectivity 0-25-75 0-50-50 0-75-25 20-40-40 40-30-30

IR–Simple–Probabilistic 11.1% 22.2% 11.1% 11.1% 0.0% 11.1%

LP–Simple–Probabilistic 15.6% 33.3% 22.2% 0.0% 11.1% 11.1%

IR–Complex–Probabilistic 11.1% 11.1% 11.1% 22.2% 0.0% 11.1%

LP–Complex–Probabilistic 17.8% 11.1% 0.0% 33.3% 11.1% 33.3%

IR–Simple–Greedy 20.0% 11.1% 0.0% 44.4% 44.4% 0.0%

LP–Simple–Greedy 51.1% 66.7% 55.6% 22.2% 55.6% 55.6%

IR–Complex–Greedy 6.7% 11.1% 0.0% 0.0% 11.1% 11.1%

LP–Complex–Greedy 44.4% 55.6% 44.4% 44.4% 33.3% 44.4%

Table 6: Success rate of different versions - Small problems

Heuristic All connectivity

20-20-20-

20-20

24-24-26-

0-26

24-24-

26-26

32-

34-34

IR–Simple–Probabilistic 0.0% 0.0% 0.0% 0.0% 0.0%

LP–Simple–Probabilistic 14.3% 33.3% 0.0% 0.0% 33.3%

IR–Complex–Probabilistic 0.0% 0.0% 0.0% 0.0% 0.0%

LP–Complex–Probabilistic 9.5% 0.0% 0.0% 11.1% 16.7%

IR–Simple–Greedy 4.8% 0.0% 0.0% 0.0% 16.7%

LP–Simple–Greedy 47.6% 33.3% 66.7% 66.7% 16.7%

IR–Complex–Greedy 9.5% 66.7% 0.0% 0.0% 0.0%

LP–Complex–Greedy 61.9% 33.3% 100.0% 77.8% 33.3%

Table 7: Success rate of different versions - Medium problems

25

Heuristic All connectivity 0-25-75 0-75-25 40-30-30

IR–Simple–Probabilistic 11.1% 0.0% 0.0% 33.3%

LP–Simple–Probabilistic 22.2% 33.3% 33.3% 0.0%

IR–Complex–Probabilistic 22.2% 0.0% 0.0% 66.7%

LP–Complex–Probabilistic 11.1% 0.0% 33.3% 0.0%

IR–Simple–Greedy 11.1% 0.0% 0.0% 33.3%

LP–Simple–Greedy 44.4% 66.7% 66.7% 0.0%

IR–Complex–Greedy 11.1% 0.0% 0.0% 33.3%

LP–Complex–Greedy 11.1% 33.3% 0.0% 0.0%

Table 8: Success rate of different versions - Large problems

Finally, we examine the effectiveness of the ANC tabu search procedure in reducing the solution cost

further after the Backbone procedure terminates. Table 9 summarizes the results by problem group (size).

This table reports the percentage of passes (where each pass is one application of the BND and ANC tabu

search procedures for a given starting solution) for which the ANC procedure reduces cost, and the

average improvement in cost during these passes. Interestingly, as the problem size increases, so does the

percentage of passes in which the ANC procedure improves the solution.

Problem Group % of passes with

improvement

Average

improvement

Small problems 61.4% 3.3%

Medium problems 67.8% 2.6%

Large problems 93.4% 2.2%

Table 9: Access Design - Improvement rate

5. Conclusions

This paper has developed and successfully applied a hierarchical method for solving the important class

of problems for survivable network design. The method exploits the observation that SND solutions have

two distinct components—the backbone network and the access network—that differ in their structure

(e.g., density) and solution difficulty. Designing the backbone network is more challenging, whereas the

finding a cost-effective access network for a given backbone design primarily entails judiciously selecting

the Steiner nodes to use in this network. By separating the access network problem from backbone

design, the hierarchical procedure not only reduces the problem size at each stage but also facilitates

exploiting the structural properties underlying these two problems. The method we implemented

considered the full backbone network in the first stage. We can further extend the hierarchical approach

by stratifying the backbone network by connectivity level, i.e., first considering the subnetwork that

interconnects the most critical nodes (with the highest connectivity level), followed by an extension of

this network to span the remaining nodes at the next lower connectivity level, and so on. In other words,

we can consider hierarchical approaches that consist of more than two stages. The broad principle of

26

hierarchical solution may also prove effective for other difficult optimization problems, such as routing

and scheduling problems, whose solutions naturally decompose into two or more parts.

We used tabu search as the central engine, but supplemented with optimization-based initialization

heuristics and feasibility checks. The performance of such methods depends on their ability to escape

local optima by incorporating a judicious balance between diversification and intensification. Our

hierarchical approach naturally lends itself to this choice. The backbone design stage, with different

starting solutions, can identify markedly different, but promising, backbone networks, thus providing

diversification, while the access design stage intensifies the search by focusing on completing a given

backbone network. In addition, our algorithmic design incorporates several other features to balance

intensification and diversification. First, the tabu methodology temporarily forbids certain moves to

avoid getting trapped in a local optimum. Second, our dynamic tabu tenure methodology changes the

relative emphasis from diversification to intensification as the iterations progress and depending on the

problem size and structure of the current solution. Third, our move scoring mechanisms provide

flexibility to vary the level of intensification or diversification. Fourth, we use a combination of simple

elemental moves (such as adding or deleting an edge) and composite moves (moving an entire subtree);

the former promotes intensification and while the latter encourages diversification. Fifth, the two

different move selection strategies—greedy and probabilistic—respectively favor intensification and

diversification. Finally, but importantly, the randomized restart procedure serves to widen the search

across the solution space permitting the exploration of different neighborhoods. These successful

strategies have broader implications for designing tabu search procedures for other difficult optimization

problems.

Extensive computational experiments have demonstrated that our algorithm generates near-optimal

solutions for a wide range of problem scenarios, with varying network sizes and connectivity

requirements. The method can effectively solve large-scale SND problems that general-purpose methods

such as CPLEX cannot handle.

Acknowledgments: Balakrishnan and Mirchandani gratefully acknowledge partial support from NSF

grant numbers DMI-0352554 and DMI-0115434.

27

Appendix: Tabu Search Moves

This appendix presents formal descriptions of the moves at an iteration k of the tabu search procedure,

and graphically illustrates select moves. The BND procedure incorporates the first eight moves, while the

ANC procedure uses the last three moves. Note that, for each move, we only evaluate candidates that

preserve feasibility. Let Gk: (Nk

, Ek) denote the heuristic solution at iteration k with nodes N

k and edges

Ek, and let B

k: (NB

k, EB

k) and T

k: (NT

k, ET

k) be the backbone and access network portions of G

k. Given a

backbone network B and a subset of nodes M spanned by the access network, let ZOC(B, M) denote the

cost of the optimal completion (see Section 3.5) of B to span M.

Move 1: Add an edge

Select the least-cost edge {p, q} not in the current solution but incident to at least one node spanned by

the current solution, i.e., {p, q} Ek, p N

k, and add this edge to the solution.

Move 2: Insert an unused Steiner node in the backbone

Select an edge {p, q} Ek and a Steiner node s N

k, with {p, s} and {q, s} in E, so as to maximize cpq –

(cps + csq) over all <p, q, s> combinations. Replace edge {p, q} with the edges {p, s} and {q, s}.

Move 3: Add an access node and subtree to the backbone (Error! Reference source not found.)

Select nodes p, q NBk and j NT

k and an edge {s, t} on the path from j to the backbone so as to

maximize (cpq + cst) – (cpj + cjq) over all <p, q, j, {s, t}> combinations. Add edges {p, j} and {j, q}, and

delete {p, q} and {s, t} from the solution.

Move 4: Delete an edge incident to the backbone

Select the highest cost edge {p, q} Ek, with p B

k. Delete edge {p, q} from the solution.

Move 5: Remove a non-critical node and subtree from the backbone (Figure A5)

Select a regular or Steiner node j NBk, and a pair of backbone nodes p, q adjacent to j that maximize

(max(cpj, cjq) – cpq). Add {p, q} and remove the more expensive of the edges {p, j} or {j, q}.

p q

t

s

j

p q

ts

j

Figure A4: Move 3 - Adding a tree with tree

splitting

jp q p q

j

Figure A5: Move 5 - Removing a tree from the

backbone network

28

Move 6: Short-circuit a Steiner node in the backbone

Select a Steiner node s NBk and two incident edges {p, s}, {s, q} EB

k that maximize (cps + csq – cpq).

Replace edges {p, s} and {s, q} by edge {p, q}.

Move 7: Swap backbone edge pairs -- Generalized 2-opt interchange (Figure A6)

Select edges {p, q}, {s, t} EBk and edges {p, t}, {q, s} E

k, that maximize (cpq + cst) – (cpt + cqs).

Remove edges {p, q} and {s, t} from the solution, and add edges {p, t} and {q, s}.

Move 8: Relocate a subtree (Figure A7)

Select {p, q} ETk, with p NB

k, and j NB

k to maximize { }pq jqc c . Replace {p, q} with {j, q}.

p q

s t

p q

s t

Figure A6: Move 7 – Executing Generalized 2-opt

interchange

p j

q

j

q

p

Figure A7: Move 8 - Relocating a subtree

Move 9: Add an unused Steiner node to the access network (Figure A8)

Select a Steiner node s to maximize ( , ) ( , { })k k k kOC OCZ B NT Z B NT s . If > 0, add s to NT

k and

perform optimal access completion.

Move 10: Remove a Steiner node from the access network (Figure A8)

Select Steiner node s NTk that maximizes ( , ) ( , \{ })k k k k

OC OCZ B NT Z B NT s . If > 0, remove

node s, and optimally complete the access network.

Move 11: Swap two Steiner nodes (Figure A9)

Select Steiner nodes s NTk and t N

k to maximize ( , { }\{ }) ( , )k k k k

OC OCZ B T t s Z B T . If > 0,

swap node t for node s, and optimally complete the access network.

p

j1 j2

s

s

j1 j2

pj3 j3BkBk

Figure A8: Moves 9 and 10 - Adding / deleting a

Steiner node to / from the access network

s

j1 j2

t

pj1 j2

t

p

j3

j3

s

BkBk

Figure A9: Move 11 - Swapping two Steiner nodes

29

References Ahuja, R. K., Magnanti, T. L., & Orlin, J. B. (1993). Network Flows: Theory, Algorithms, and

Applications. Englewood Cliffs, N.J.: Prentice Hall.

Balakrishnan, A., Magnanti, T. L., & Mirchandani, P. (2004). Connectivity–splitting models for

survivable network design. Networks, 43, 10-27.

Balakrishnan, A., Mirchandani, P., & Natarajan, H. P. (2009). Connectivity upgrade models for

survivable network design. Operations Research, 57, 170-186.

Baldacci, R., Dell'Amico, M., & González, J. S. (2007). The capacitated m-ring-star problem. Operations

Research, 55, 1147-1162.

Berger, D., Gendron, B., Potvin, J.-Y., Raghavan, S., & Soriano, P. (2000). Tabu search for a network

loading problem with multiple facilities. Journal of Heuristics, 6, 253-267.

Chamberland, S., Sanso, B., & Marcotte, O. (2000). Topological design of two-level telecommunication

networks with modular switches. Operations Research, 48, 745-760.

Contreras, I., & Fernández, E. (2011). General network design: A unified view of combined location and

network design problems. European Journal of Operational Research, 219, 680-697.

Cordeau, J.-F., Laporte, G., & Pasin, F. (2008). An iterated local search heuristic for the logistics network

design problem with single assignment. International Journal of Production Economics, 113,

626-640.

Costa, A. M., Cordeau, J.-F., & Laporte, G. (2008). Fast heuristics for the Steiner tree problem with

revenues, budget and hop constraints. European Journal of Operational Research, 190, 68-78.

Fortz, B., Soriano, P., & Wynants, C. (2003). A tabu search algorithm for self-healing ring network

design. European Journal of Operational Research, 151, 280-295.

Gallo, M., D'Acierno, L., & Montella, B. (2010). A meta-heuristic approach for solving the Urban

Network Design Problem. European Journal of Operational Research, 201, 144-157.

Glover, F. (1996). Tabu search and adaptive memory programing – Advances, applications and

challenges. In Interfaces in Computer Science and Operations Research (pp. 1-75): Kluwer.

Glover, F., & Laguna, M. (1997). Tabu Search. Boston, MA: Kluwer Academic Publishers.

Grötschel, M., Monma, C. L., & Stoer, M. (1995). Design of Survivable Networks. In M. O. Ball, T. L.

Magnanti, C. L. Monma & G. L. Nemhauser (Eds.), Network Models (Vol. 7, pp. 617-672).

Amsterdam: Elsevier Science.

Kerivin, H., & Mahjoub, A. R. (2005). Design of survivable networks: a survey. Networks, 46, 1-21.

Magnanti, T. L., & Raghavan, S. (2005). Strong formulations for network design problems with

connectivity requirements. Networks, 45, 61-79.

30

Naji-Azimi, Z., Salari, M., & Toth, P. (2010). A heuristic procedure for the capacitated m-ring-star

problem. European Journal of Operational Research, 207, 1227-1234.

Raghavan, S. (2004). Low-connectivity network design on series-parallel graphs. Networks, 43, 163-176.

Raghavan, S., & Magnanti, T. L. (1997). Annotated bibliographies in combinatorial optimization:

Network connectivity. In M. Dell'Amico, F. Maffioli & S. Martello (Eds.), Wiley-Interscience

series in discrete mathematics and optimization (pp. xiii, 495 p.). Chichester ; New York: John

Wiley.

Sen, S., & Sherali, H. D. (2006). Decomposition with branch-and-cut approaches for two-stage stochastic

mixed-integer programming. Mathematical Programming, 106, 203-223.

Skorin-Kapov, D., & Skorin-Kapov, J. (1994). On tabu search for the location of interacting hub facilities.

European Journal of Operational Research, 73, 502-509.

Terblanche, S., Wessäly, R., & Hattingh, J. (2011). Survivable network design with demand uncertainty.

European Journal of Operational Research, 210, 10-26.

Tuzun, D., & Burke, L. I. (1999). A two-phase tabu search approach to the location routing problem.

European Journal of Operational Research, 116, 87-99.

Xu, J., Chiu, S. Y., & Glover, F. (1999). Optimizing a ring-based private line telecommunication network

using tabu search. Management Science, 45, 330-345.