15
Omega 36 (2008) 1057 – 1071 www.elsevier.com/locate/omega Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios Manish Garg, J. Cole Smith Department of Systems and Industrial Engineering, University of Arizona, Tucson, AZ 85721, USA Received 12 May 2005; accepted 24 May 2006 Available online 24 July 2006 Abstract We consider the design of a multicommodity flow network, in which point-to-point demands are routed across the network subject to link capacity restrictions. Such a design must build enough capacity and diverse routing paths through the network to ensure that feasible multicommodity flows continue to exist, even when components of the network fail. In this paper, we examine several methodologies to optimally design a minimum-cost survivable network that continues to support a multicommodity flow under any of a given set of failure scenarios, where each failure scenario consists of the simultaneous failure of multiple arcs. We begin by providing a single extensive form mixed-integer programming formulation for this problem, along with a Benders decomposition algorithm as an alternative to the extensive form approach. We next investigate strategies to improve the performance of the algorithm by augmenting the master problem with several valid inequalities such as cover constraints, connectivity constraints, and path constraints. For the smallest instances (eight nodes, 10 origin–destination pairs, and 10 failure scenarios), the Benders implementation consumes only 10% of the time required by the mixed-integer programming formulation, and our best augmentation strategy reduces the solution time by another 50%. For medium- and large-sized instances, the extensive form problem fails to terminate within 2h on any instance, while our decomposition algorithms provide optimal solutions on all but two problem instances. 2006 Elsevier Ltd. All rights reserved. Keywords: Integer programming; Routing; Optimization; Computing 1. Introduction In this paper, we examine the survivability aspect of network design, that is, the ability of a network to re- main operational in the face of partial damage to its infrastructure. One contemporary application in which survivability is vital can be found in telecommunica- tion network design, wherein several thousand voice and data conversations are routinely transmitted over fiber-optic lines [1–3]. While data loss incurred due to This manuscript was processed by Associate Editor John Semple. Corresponding author. Tel.: +1 352 392 1464. E-mail address: [email protected]fl.edu (J.C. Smith). 0305-0483/$ - see front matter 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.omega.2006.05.006 a line break could be catastrophic to network users, in- stalling redundant communication lines and connecting equipment could be quite difficult to accomplish in a cost-effective manner. Other important applications that motivate this research include networks arising in trans- portation, logistics, and military scenarios. A survey of approaches to solving survivable network design prob- lems and their importance in real-world applications appears in [4]. In our abstract representation of the problem, we consider a set of distinct commodities that must be trans- ported through a directed network, where each com- modity has a designated origin, destination, and flow amount. Arcs contained in this network are capacitated

Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

Embed Size (px)

Citation preview

Page 1: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

Omega 36 (2008) 1057–1071www.elsevier.com/locate/omega

Models and algorithms for the design of survivable multicommodityflow networks with general failure scenarios�

Manish Garg, J. Cole Smith∗

Department of Systems and Industrial Engineering, University of Arizona, Tucson, AZ 85721, USA

Received 12 May 2005; accepted 24 May 2006Available online 24 July 2006

Abstract

We consider the design of a multicommodity flow network, in which point-to-point demands are routed across the networksubject to link capacity restrictions. Such a design must build enough capacity and diverse routing paths through the network toensure that feasible multicommodity flows continue to exist, even when components of the network fail. In this paper, we examineseveral methodologies to optimally design a minimum-cost survivable network that continues to support a multicommodityflow under any of a given set of failure scenarios, where each failure scenario consists of the simultaneous failure of multiplearcs. We begin by providing a single extensive form mixed-integer programming formulation for this problem, along with aBenders decomposition algorithm as an alternative to the extensive form approach. We next investigate strategies to improvethe performance of the algorithm by augmenting the master problem with several valid inequalities such as cover constraints,connectivity constraints, and path constraints. For the smallest instances (eight nodes, 10 origin–destination pairs, and 10 failurescenarios), the Benders implementation consumes only 10% of the time required by the mixed-integer programming formulation,and our best augmentation strategy reduces the solution time by another 50%. For medium- and large-sized instances, theextensive form problem fails to terminate within 2 h on any instance, while our decomposition algorithms provide optimalsolutions on all but two problem instances.� 2006 Elsevier Ltd. All rights reserved.

Keywords: Integer programming; Routing; Optimization; Computing

1. Introduction

In this paper, we examine the survivability aspect ofnetwork design, that is, the ability of a network to re-main operational in the face of partial damage to itsinfrastructure. One contemporary application in whichsurvivability is vital can be found in telecommunica-tion network design, wherein several thousand voiceand data conversations are routinely transmitted overfiber-optic lines [1–3]. While data loss incurred due to

� This manuscript was processed by Associate Editor John Semple.∗ Corresponding author. Tel.: +1 352 392 1464.

E-mail address: [email protected] (J.C. Smith).

0305-0483/$ - see front matter � 2006 Elsevier Ltd. All rights reserved.doi:10.1016/j.omega.2006.05.006

a line break could be catastrophic to network users, in-stalling redundant communication lines and connectingequipment could be quite difficult to accomplish in acost-effective manner. Other important applications thatmotivate this research include networks arising in trans-portation, logistics, and military scenarios. A survey ofapproaches to solving survivable network design prob-lems and their importance in real-world applicationsappears in [4].

In our abstract representation of the problem, weconsider a set of distinct commodities that must be trans-ported through a directed network, where each com-modity has a designated origin, destination, and flowamount. Arcs contained in this network are capacitated

Page 2: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

1058 M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071

in the total volume of commodities that can betransported. Given a specified set of such arcs alongwith certain per-unit commodity flow costs, the tradi-tional multicommodity flow problem (MCF) seeks aminimum-cost routing plan for each commodity, sub-ject to the capacity restrictions along each arc. Assad[5] and Kennington [6] provide early comprehensivesurveys on the solution of MCFs and their variants.Some notable approaches to solving large-scale ver-sions of these problems include dual ascent [7] andprimal-dual algorithms [8], decomposition strategies[9,10], and basis partitioning approaches [11–13].

The network design problem that we consider exam-ines the network as a set of nodes and potential arcs,which can each be constructed at a certain fixed cost.Given a set of origin–destination pairs and demands, asimple network design problem might seek to find theminimum-cost set of arcs to add to the network suchthat a feasible multicommodity flow exists. However,assuming that all arc construction costs are positive, thefailure of any one arc in a network designed by such aprocedure would necessarily render the remaining op-erational arcs incapable of transmitting the multicom-modity flow. Hence, our problem considers as input allsets of arcs that could fail at any one time. We denoteeach set of concurrently failing arcs as a failure sce-nario. Note that since a failure scenario can contain sev-eral arcs, it is possible to model the failure of a nodeby including all edges incident to that node in a failurescenario. Given the declaration of each failure scenario,the survivable network design problem that we considerin this paper seeks to construct a minimum-cost set ofarcs such that a feasible multicommodity flow exists inthe event of any failure scenario.

While some networks need to be designed to with-stand the failure of a single arc, the case of generalfailure scenarios allows us to consider arcs that maysimultaneously fail. In general, this modelling schemeallows us to capture the interdependence of arc failureswithin networks, or to enumerate certain sets of vul-nerable points in a network. For instance, in militarysupply networks, certain segments of roadways may bevulnerable to enemy attack, while other segments mightbe quite secure. (Some related literature on adversarialnetwork problems can be found in [14–17].) In the con-text of emergency service deployment, disasters suchas earthquakes may damage several roadways simulta-neously, perhaps because of the presence of bridges orelevated roadways. Hence, contingency plans for pro-viding relief to affected areas needs to consider the po-tential failure of certain vulnerable links, some of whichmay simultaneously fail (see [18] for one such study).

Algorithmically, such a modelling scheme limits thestrategies that we can employ to solve such a problem;e.g., we cannot impose the common restrictionthat arc disjoint paths must exist between pairs oforigin–destination nodes, since we cannot assume thatany one arc can fail.

Some notable studies examine the case in which eachfailure scenario consists of exactly one arc, thus guar-anteeing the survivability of the network in the eventthat any single arc should fail. Stoer and Dahl [19] con-sider such a problem in which incremental (discrete)capacity expansions on existing arcs in the networkmust be selected. The problem is modelled using con-straints derived by Iri [20] for the MCF, which can bederived as the “feasibility cuts” one obtains by solv-ing the dual MCF given a set of arc capacities. Thiswork also derives strong valid inequalities for the prob-lem based on the assumed structure of the failure sce-narios. (We cannot employ this strategy in our study,since no prior assumptions are made on the numberor contents of the failure scenarios.) Dahl and Stoer[21] continue their investigation by detailing separationprocedures for the identification and incorporation ofthese cutting planes within a comprehensive algorithmicframework.

If the arcs are assumed to be incapacitated, thensolving the survivable MCF reduces to a search foridentifying alternate paths for each origin–destinationpair. Depending on the variation of the problem con-sidered, it may be required that these paths are eithernode disjoint or edge disjoint. Grötschel and Monma[22] and Grötschel et al. [23] undertake a polyhedralstudy of multiconnectivity problems by identifying a setof strong (often facet-defining) cutting planes for theproblem, along with separation routines for their iden-tification. Balakrishnan et al. [24] develop heuristicswith provable worst-case bounds for this version of thesurvivable network problem, as applied to a telecom-munication network design application. Grötschel et al.[25,26] also provide a decomposition/cutting-plane al-gorithm for specialized cases in which the connectivityrequirement between each pair of nodes is either zero,one, or two.

Other variations of the survivable network designproblem include a study by Luna and Mahey [27], forthe case in which the cost of routing demands along thearcs increases in a nonlinear fashion. Rios et al. [28]study a similar survivable network problem in whichcapacities must be determined on the arcs. The avail-able capacity levels are discrete and have costs thatincrease in a nonlinear convex fashion. A certain min-imum amount of demand (not necessarily all of the

Page 3: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071 1059

demand, as we will require) must be restored in theevent of a failure scenario.

Our major contribution in this paper focuses on thedevelopment of a Benders decomposition algorithm forsolving this problem. In particular, we investigate thecomputational efficacy of various models for the Ben-ders master problem. While the idea of “guiding” theBenders search via the addition of master problem con-straints is not new (see [29,30]), our contribution liesin studying the types of constraints that should be in-cluded in the master problem for this particular class ofproblems.

The remainder of the paper is organized as follows.In Section 2, we state the basic survivable network de-sign model and prescribe an algorithm based on Ben-ders decomposition for its solution. In Section 3, wedevelop a heuristic algorithm for quickly identifyingtight upper bounds to the overall problem and discusshow it can be effectively incorporated within the over-all exact algorithm. We provide computational resultsof our methodologies in Section 4, and conclude thepaper with a summary of our work and directions forfuture research in Section 5.

2. Survivable network design model

Consider a graph G(N, A) with node set N and po-tential directed arc set A. (We substitute � = (i, j) ∈ A

where convenient in this discussion.) Associated witheach arc (i, j) ∈ A is a construction cost cij and a capac-ity tij . We will also let K be the set of origin–destinationpairs, where for k ∈ K , node rk is the origin, sk isthe destination, and dk is the amount of commodity re-quested for the kth pair. A flow pattern that satisfiesall point-to-point demands subject to capacity require-ments is called a multicommodity flow. The MCF seeksto find a multicommodity flow that minimizes the totalflow cost in the network.

We also consider a set of failure scenarios F,where failure scenario f ∈ F consists of a set ofAf arcs that could simultaneously fail. Also, defineAf = A−Af , ∀f ∈ F, where − denotes the “setminus” operator.

Our optimization model will determine the minimum-cost set of arcs that can be constructed, such that afeasible multicommodity flow exists under any of thestated failure scenarios. For any A′ ⊆ A, we define thefollowing sets:

FSi(A′) = {� ∈ A′ : � = (i, j) for some j ∈ N}

∀i ∈ N and (1a)

RSi(A′) = {� ∈ A′ : � = (j, i) for some j ∈ N}

∀i ∈ N . (1b)

That is, FSi(A′) is the set of arcs in A′ that exit node

i, and RSi(A′) is the set of arcs in A′ that enter node i.

Define binary decision variables

x� ={

1 if arc � is constructed0 otherwise

∀� ∈ A.

Also, we define y�kf to be the (continuous) amount ofthe kth origin–destination demand satisfied on arc �under failure scenario f, ∀� ∈ A, k ∈ K, f ∈ F. Themodel can then be stated as follows:

min∑�∈A

c�x� (2a)

s.t.∑k∈K

y�kf � t�x� ∀� ∈ A, f ∈ F , (2b)

∑�∈FSrk

(Af )

y�kf −∑

�∈RSrk(Af )

y�kf = dk

∀k ∈ K, f ∈ F , (2c)∑

�∈FSi(Af )

y�kf −∑

�∈RSi(Af )

y�kf = 0

∀k ∈ K, i ∈ N − {rk, sk}∀f ∈ F , (2d)

x� ∈ {0, 1} ∀� ∈ A, (2e)

y�kf �0 ∀� ∈ A, k ∈ K, f ∈ F . (2f)

The objective function (2a) serves to minimize the totalcost of constructing arcs throughout the network. Con-straints (2b) stipulate that no flow exists on an arc unlessit has been constructed, and otherwise limits the totalamount of flow on the arc to be no more than its capac-ity. Constraints (2c) require that the required amount ofdemand is shipped from each origin in each failure sce-nario, while constraints (2d) enforce the flow balancefor intermediate nodes in each failure scenario. (Notethat for each k ∈ K and f ∈ F , the requirement that dk

units be shipped to sk in failure scenario f is an impliedconsequence of (2c) and (2d).) Finally, (2e) states thatx-variables are binary and (2f) enforces non-negativityrestriction on the y-variables. We refer to (2) as the ex-tensive form model, where model (•) refers to the modelgiven by its subequations (i.e., (•a), (•b), and so on) inthis paper.

Page 4: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

1060 M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071

Remark 1. In some practical applications, the net-work design problem must decide how much capacityshould be allocated to each arc (instead of an all-or-none capacity allocation scheme as we have modelledabove). We can extend formulation (2) for the caseof multiple possible capacities. For the case in whichany integer multiple of some capacity can be installedaccording to a linear cost structure, we can simplyallow the x-variables take on general integer values.More generally, if there exist modular capacities thatcan be installed on the links, we can model parallelarcs of varying costs and capacities between a pair ofnodes. Finally, for the case in which each capacity mustbe chosen from a discrete set, where the permissiblevalues cannot necessarily be modelled as modular ca-pacities (and thus neither of the above modelling tricksapplies), we could again model parallel arcs betweennodes, where each arc represents a different potentialcapacity, along with an additional constraint that en-sures that at most one out of each potential capacity willbe installed.

The latter extension exhibits special structures (suchas generalized upper bound constraints [31]) that wecan also exploit, as well as some polyhedral charac-teristics that have been proposed for deterministic ca-pacity expansion problems (see [32], for example). Itis also possible to forego the generation of parallelarcs in the case of a discrete non-modular set of ca-pacity expansions, and use a specialized branch-and-bound algorithm to require each x-variable to belong toone of its permissible capacities. We leave theoreticaland empirical research on these extensions for futureresearch.

Model (2) is a large-scale mixed-integer program-ming problem, with O(|A|) binary variables and O(|A|·|K| · |F |) continuous variables, and O(|N | · |K| · |F | +|A|·|F |) constraints. Moreover, the linear programmingrelaxation of model (2) is likely to be quite weak, asseveral values for x� will be fractional at optimality forarcs � ∈ A in which less than 100% of the arc’s ca-pacity is being utilized. Hence, solving (2) directly viabranch and bound is not practical as the problem sizeincreases.

Note however that given binary values of x, (2)can be separated into |F | independent MCFs. Wemay thus employ a Benders decomposition approachin which the x-variables are obtained in an integermaster program, and the resulting optimal selectionof y-variables are determined via a series of multi-commodity flow subproblems. Given a binary deci-sion vector x and a scenario f ∈ F , the subproblem

is stated as

max 0 (3a)

s.t.∑k∈K

y�k � t�x� ∀� ∈ Af , (3b)

∑�∈FSrk

(Af )

y�k −∑

�∈RSrk(Af )

y�k = dk

∀k ∈ K , (3c)∑�∈FSi(Af )

y�k −∑

�∈RSi(Af )

y�k = 0

∀k ∈ K, i ∈ N − {rk, sk}, (3d)

y�k �0 ∀� ∈ Af , k ∈ K , (3e)

where the failure scenario index f has been droppedfrom the y-variables for simplicity, and the objective(3a) reflects the fact that no optimization takes placefor the subproblem. Associating dual variables �� withconstraints (3b) ∀� ∈ A and �ik with constraints (3c)and (3d) ∀k ∈ K , i ∈ N − {sk}, the dual to (3) forscenario f ∈ F is given by

min∑

�∈Af

t�x��� +∑k∈K

dk�rkk (4a)

s.t. �ij + �ik − �jk �0 ∀k ∈ K ,

� = (i, j) ∈ Af − RSsk (Af ), (4b)

�ij + �ik �0 ∀k ∈ K ,

∀� = (i, j) ∈ RSsk (Af ), (4c)

�ij �0 ∀(i, j) ∈ Af . (4d)

Since (4) exhibits a conic feasible region, it will eitherhave an optimal solution with an objective equal to zeroor will be unbounded. Hence, we must require∑�∈A

t�x��� +∑k∈K

dk�rkk �0

∀ extreme rays (�, �) to (4) (5)

to maintain feasibility to (3). In order to identify a choiceof (�, �) for which (5) is violated, we solve the followingsubproblem for each f ∈ F :

SP(x, f ) : zSP(x, f ) = min (4a) (6a)

s.t. constraints (4b).(4d). (6b)

The basic Benders algorithm will determine a value forx by solving the following master problem:

MP : zMP(L) = min∑�∈A

c�x� (7a)

s.t. ��x��� ∀� ∈ L, (7b)

x ∈ X, (7c)

Page 5: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071 1061

where L is (initially null) the set of constraints generatedfrom the subproblems, ��x��� represents a cut of thetype (5) generated by solving (6) for some choice ofx and f ∈ F , and X is a set of feasibility restrictionson x. At the minimum, X contains the restrictions x� ∈{0, 1}, ∀� ∈ A, and as we will discuss later, can alsocontain valid inequalities that state necessary conditionson the x-variables for feasibility. These conditions mayin turn accelerate the rate at which an optimal solutionis identified.

After solving (7) given a set of cuts L, a lower boundzMP(L) on the problem is obtained. Letting x be anoptimal solution of (7), we then solve each subproblemSP(x, f ), ∀f ∈ F . If zSP(x, f ) = 0 ∀f ∈ F , then x isan optimal solution to (2), with an optimal completion ofy-variables given by the dual solution to SP(x, f ) ∀f ∈F . Otherwise, (5) is violated for some dual extreme ray(�,�) to some subproblem SP(x, f ), f ∈ F , and hencex must be modified so that (5) holds true for (�, �).Hence, we would add to L the constraint

∑�∈A

(t���)x� � −∑k∈K

dk�rkk . (8)

Note that one constraint of the form (8) is added tothe master problem for each scenario in which x is notsufficient to support a multicommodity flow.

Thus we have to solve a mixed-integer program(master problem) in each iteration of our Bendersdecomposition algorithm, along with several MCFs(subproblems). Since the time to solve the subproblemswill be negligible in comparison to the time to solve themaster mixed-integer program, the key predictors of theCPU time required to solve the design problem will bethe number of master iterations and the time required tosolve each master problem. However, depending on thetype of model we use for MP, we can create a trade-offbetween the number of master problem iterations andthe time required to solve each master problem. Forinstance, while it takes only one extensive form (model(2)) iteration to solve the problem, the effort requiredto solve it is immense. At the other extreme, the basicBenders algorithm makes the master problem very easyto solve (at first), but requires more iterations of solvingan increasingly difficult master problem. Our objectiveis to find a compromise strategy that minimizes totalCPU time.

To accomplish this aim, we address the constructionof the set X in (7c). Observe that if X contains only thelogical restrictions on x, the first iteration of solving MP(with L = (∅)) would result in setting x ≡ 0. As con-straints of the form (8) are added to the model, we would

eventually build a set of paths from each origin to eachdestination. However, this initial process will result inseveral iterations in which L consists of certain sim-ple necessary conditions for feasibility (e.g., that a pathmust exist from an origin node to a destination node).Rather than burdening the Benders decomposition pro-cedure to repeatedly solve 0/1 programming problemsto obtain these conditions, we may choose to explicitlystate these conditions a priori as part of the constraintset X. That is, we can force the master problem to pre-scribe “reasonable” network designs from the first itera-tion depending on the strength and nature of constraintsadded to X. Four such strategies are stated below.

Cover constraints: At the most basic level of strength-ening the MP formulation, we can employ coverinequalities or packing inequalities to enforce the con-struction of ample capacity exiting the origin nodes andentering the destination nodes [31,33]. The standarduse of cover inequalities lies in eliminating some frac-tional solutions from the linear relaxation to an integerprogram. Not only do we obtain such benefits here,but we also indirectly relate strong information aboutfeasible network designs across all scenarios withinthe constraint set X. One such set of inequalities thatwe can impose ensures that the total capacity of arcscoming out of an origin node must not be less thanthe demand for that particular origin–destination pair.Hence, we could state the following valid inequalities:

∑�∈FSrk

(Af )

t�x� �dk ∀k ∈ K, f ∈ F . (9)

However, these inequalities tend to encourage frac-tional solutions, and can ruin certain special structuresin the master problem (which contains zeros and onesin the constraint coefficient matrix) that can be ex-ploited by commercial solvers like CPLEX. Instead,one can generate cover inequalities of the form

∑�∈FSrk

(Af )

x� �� ∀k ∈ K, f ∈ F , (10)

where � is the fewest number of arcs that must beconstructed to meet the demand, given some choice ofk ∈ K and f ∈ F . It is possible to strengthen thesevalid inequalities by standard sequential lifting proce-dures for such knapsack constraints (see [31,33], forinstance). We describe a simple lifting procedure in theAppendix.

In addition to these lifted cover inequalities from theorigin nodes, a similar set of inequalities can be gen-erated based on the destination nodes. Hence, we also

Page 6: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

1062 M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071

consider cover inequalities with respect to the set ofarcs RSsk (Af ) for all k ∈ K and f ∈ F . Note thatmany cover constraints will be duplicated for scenariosin which arcs that are not adjacent to origin or destina-tion nodes fail. We therefore preprocess the inclusionof these inequalities by ensuring that no equivalent orimplied cuts are added to the formulation.

Connectivity constraints: Another set of valid in-equalities whose inclusion in X we investigate stip-ulates that if an arc is constructed that enters somenode i ∈ N − ⋃

k∈K{rk, sk}, then another arc must beconstructed in an optimal solution that exits this node.Similarly, an arc that exits node i ∈ N − ⋃

k∈K{rk, sk}should only be constructed if at least one arc entersnode i. Hence, the following are valid inequalities tothe survivable network design problem:

xij �∑

�∈RSi(A)

x� ∀(i, j) ∈ A : i ∈ N

−⋃k∈K

{rk, sk}, (11a)

xji �∑

�∈FSi(A)

x� ∀(j, i) ∈ A : i ∈ N

−⋃k∈K

{rk, sk}. (11b)

Connectivity constraints (11), perhaps used in con-junction with cover inequalities, serve to force the con-struction of several arcs without necessarily includingan entire multicommodity flow restriction for a failurescenario within X. However, they do so at the expense ofadding O(|K| · |A|) constraints to the master problem.

Path constraints: A more sophisticated necessarycondition for any network design problem is that at leastsome flow can be transmitted from each commodity’sorigin to its destination. We can enforce this conditionby requiring the existence of at least one path for eachorigin–destination pair, without respect to survivability.These constraints might be helpful in extracting goodsolutions for an initial network design without greatlyincreasing the size of the master problem. We statethese path constraints as

y′�k �x� ∀k ∈ K, � ∈ A, (12a)∑

�∈FSrk(A)

y′�k −

∑�∈RSrk

(A)

y′�k = 1 ∀k ∈ K , (12b)

∑�∈FSi(A)

y′�k −

∑�∈RSi(A)

y′�k = 0

∀k ∈ K, i ∈ N − {rk, sk}, (12c)

y′�k �0 ∀k ∈ K, � ∈ A. (12d)

1

2

3

4 1

2

3

4

(a) (b)

Origin 1 Destination 1

Destination 2

Origin 2

All costs, capacities, and demand equal to one.

Fig. 1. Illustration of a potential cover/connectivity weakness.

This strategy requires the addition of |K| · |A| newy′-variables to the formulation.

Observe that the path constraints provided by (12) canstate much stronger conditions for creating more viablenetworks after the first master problem iteration than bythe combined use of cover and connectivity constraints.For instance, consider the network depicted in Fig. 1a,with two origin–destination pairs and a single failurescenario in which arc (1,2) fails. The demand from node1 to node 4 is one, and the demand from node 2 to node3 is one. The arcs that can be constructed are depictedin Fig. 1a, where each arc has a capacity and a cost ofone. Using the cover and connectivity constraints (11),we obtain the network depicted in Fig. 1b. By contrast,the path constraints (12) disallow the solution in Fig. 1b,and require the construction of at least three arcs (e.g.,(1,3), (3,4), and (2,3)). Thus, the advantage to usingthe path constraints is that they force the existence ofa path specifically in between each origin–destinationpair, at the cost of adding (|A|+|N |−1) · |K| structuralconstraints and |K| · |A| continuous variables to theproblem.

Finally, note that these path constraints can be formu-lated with respect to any one specific failure scenarioin order to further strengthen the information suppliedto the master problem. We define a maximum capacityfailure scenario as a failure scenario having the maxi-mum total capacity of failed arcs, and denote this sce-nario fmax. Writing the path constraints with respect tofmax can be accomplished by simply replacing the setA in constraints (12a)–(12c) with Afmax .

Explicit multicommodity flow conditions: We canfurther augment the master problem by including anexplicit set of multicommodity flow conditions for sce-nario fmax. By including this constraint set, we mightbe able to obtain a better initial solution from themaster problem than would be obtained from any ofthe previously mentioned strategies, thus reducing thenumber of times the master problem must be solved.For the maximum capacity failure scenario fmax ∈ F ,

Page 7: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071 1063

these conditions are stated as

∑k∈K

y′′�kf max

� t�x� ∀� ∈ Afmax , (13a)

∑�∈FSrk

(Afmax )

y′′�kf max

−∑

�∈RSrk(Afmax )

y′′�kf max

= dk

∀k ∈ K , (13b)∑�∈FSi(Afmax )

y′′�kf max

−∑

�∈RSi(Afmax )

y′′�kf max

= 0

∀k ∈ K, i ∈ N − {rk, sk}, (13c)

y′′�kf max

�0 ∀k ∈ K, � ∈ Afmax . (13d)

Remark 2. Observe that the Benders decompositionprocess does not change with the alternative capac-ity modelling schemes presented in Remark 1. If thex-variables are restricted to be integer values instead ofbinary values, or if generalized upper bound side con-straints exist that restrict the construction of no morethan one arc out of a parallel set between nodes, we sim-ply enforce these restrictions in X. However, the coverinequality generation scheme given above is based onthe presence of binary variables, and therefore they arenot valid if general integer capacities are permitted. In-stead, one can modify these cuts to account for generalintegers (see [34,35]) in this case.

3. Decomposition-based heuristic algorithm

The master problem augmentation strategies men-tioned above also serves to improve the quality of lowerbounds that we obtain for the network design problem.Within a Benders framework for problems involvingcosts on subproblem variables, we can also obtain upperbounds on the optimal objective value by summing thevalues of each subproblem objective and adding them tothe master problem objective, assuming that each sub-problem is feasible. However, for the situation in whicheach subproblem is either infeasible or has an optimalobjective function value of zero, an auxiliary heuristicmethodology must be employed if one wishes to obtainupper bounds in the course of the decomposition pro-cess. While it is not necessary to execute a heuristic ina Benders decomposition procedure, finding a feasiblesolution may allow a practitioner to terminate the pro-cedure before optimality is proved if the relative gap be-tween the upper and lower bounds is sufficiently small.

We develop a heuristic procedure in which we startwith a partial network solution from the current networkdesign, and then add arcs to the network as necessaryuntil a feasible solution is obtained. A formal descriptionof this heuristic is given as follows.

Initialization: Set iteration counter l = 0. Begin withsome x, perhaps given by the solution to a current mas-ter problem, and initialize the heuristic solution xl = x.Set flagf =0, ∀f ∈ F . This indicator variable will des-ignate whether or not subproblem f is currently feasiblewith respect to the solution xl . Also, set the heuristicobjective zl = ∑

�∈Ac�xl�.

Step 1: For each subproblem f ∈ F for which flagf =0, solve SP(xl, f ). For every f ∈ F such that flagf =0and zSP(xl, f ) = 0, set flagf = 1. If flagf = 1 ∀f ∈ F ,terminate with upper bound zl . Otherwise, generate aBenders constraint (8) for each f ∈ F such that flagf =0. Label the set of Benders constraints generated at thisiteration Ll , and proceed to Step 2.

Step 2: Solve the following integer program, perhapsby some heuristic methodology:

zl+1 = min∑�∈A

c�x� (14a)

s.t. Benders constraints given by Ll , (14b)

x� � xl� ∀� ∈ A, (14c)

x� ∈ {0, 1} ∀� ∈ A. (14d)

If (14) is feasible, we obtain an optimal solution x∗ from(14), and set xl+1

� = x�, ∀� ∈ A. Increment l by oneand return to Step 1. Otherwise, terminate the algorithmwith no upper bound obtained.

Note that no more than |A| iterations of this heuris-tic will be executed, since the binary vector x has |A|components and is strictly increasing at each iteration.(Clearly, xl+1 � xl due to (14c). Strict inequality musthold for at least one variable since constraints (14b) areinfeasible with respect to xl .) Thus, the complexity ofthis heuristic is given by O(|A| · G(|A|, |F |)), whereG(|A|, |F |) represents the complexity of the heuristicprocedure used to estimate the solution of (14).

In our implementation, we heuristically solve (14) ateach iteration l in Step 2 by a greedy rounding pro-cedure. The linear programming relaxation to problem(14) is solved, yielding an intermediate solution x. Ifx is integer, the procedure stops and sets xl+1 ≡ x.Otherwise xl+1

� is fixed equal to 1 for some � ∈ A :0 < x� < 1. (We choose an arc � for which x� is a largestvalue that is fractional.)

Two observations should be made at this point. First,if (14) is infeasible at some iteration l, we must ter-minate with no upper bound obtained for the problem.However, since our heuristic will eventually check thesolution xl+1

� = 1 ∀� ∈ A, we claim that the origi-nal problem is infeasible, since inequalities in (14b)are valid for the original problem. Second, since (14c)

Page 8: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

1064 M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071

holds true, all previously identified Benders constraintsremain satisfied. Hence, we solve (14) only with con-straints in Ll , since (14c) guarantees that constraints inL0, . . . , Ll−1 are satisfied. By a similar argument, weneed not reexamine failure scenarios that were shownto be feasible with respect to a prior heuristic solution.

As a postprocessing step, we improve the feasible so-lution obtained from the heuristic by using a 2-opt lo-cal optimization scheme. In this method, we start witha heuristic solution obtained from the above procedureand temporarily swap one constructed arc with a lessexpensive arc that was not constructed. If the modifiednetwork is feasible for each failure scenario, we makethis swap permanent to obtain our new heuristic solu-tion. We repeat this swapping phase until no feasibleswap exists that reduces the objective function value.

One convenient feature of the heuristic is that it canbe seamlessly integrated into the exact Benders de-composition algorithm. After the solution of a masterproblem, an initial x vector is available to prime theheuristic. In our implementation, the heuristic will di-verge from the exact procedure after this step (providedthat some failure scenarios still remain infeasible withrespect to the current network design solution) and willseek to find an improved upper bound.

4. Computational results

In this section, we evaluate the computational effi-cacy of the methods presented in this paper. We begin inSection 4.1 by describing how we generate our randomtest instances, and then present our computational ex-periments and results in Section 4.2. Finally, we brieflycomment on various additional strategies that did notprove to be effective for this problem in Section 4.3.

4.1. Test instance generation

In order to test the computational efficiency of ourmethods, we generate a set of random network designinstances. Since the difficulty of solving the survivablenetwork design problem varies with the problem size,we vary |N | (the number of nodes), |K| (the number oforigin–destination pairs), and |F | (the number of failurescenarios) in our test instances.

We create seven sets of test instances containing 10instances each, for a total of 70 instances. In our basetest set, we fix |N | = 10, |K| = 10, and |F | = 10. Wethen create two more test sets by varying |N | = 8 and12 (holding |K| = |F | = 10). Similarly, we vary |K| =5 and 15 while keeping |N | = |F | = 10, and in thethird variation we vary |F | = 5 and 15 while holding

|N |= |K|= 10. These problem sizes are chosen so thateach algorithm that we examine can solve the base testinstances within 2 h of computational time, and suchthat we can make a meaningful analysis of the effect of|N |, |K|, and |F | on computation time.

Given the specification of |N |, |K|, and |F |, wethen generate our instances according to the follow-ing method. First, we set the target arc density to 0.5(i.e., the desired ratio of the number of network arcs topossible arcs that can be included in the network), inorder to increase the chances that the instance is feasi-ble. For each ordered node pair we generate a randomnumber. If this number is smaller than the arc density,an arc is constructed between the corresponding nodepair. Each arc is randomly allocated an integer capacitybetween 10 and 20 according to a uniform probabilitydistribution. We assign a randomly generated cost ofconstruction between 10 and 20 to each arc.

From the possible |N | nodes, we randomly select |K|origin–destination pairs (ensuring that each origin andcorresponding destination are two different nodes). De-mand for each origin–destination pair is assigned suchthat there is a probability of 30% for demand of 10,20% for demand of 9 or 11, 10% for demand of 8 or12, and a probability of 5% for demand of 7 or 13.The distribution of arc capacities and demands for eachorigin–destination pair is chosen such as to promote thelikelihood of generating feasible instances, while main-taining the difficulty of each instance. Each failure sce-nario consists of either one, two, or three failed arcs. Foreach scenario, the number of failed arcs is three with aprobability of 10%, two with a probability of 30%, andone arc with a probability of 60%. To simulate the casein which one arc failure might trigger failures in adja-cent arcs, we generate multiple arc failures by failingarcs adjacent to one another.

4.2. Computational experiments

We have discussed two main methods to optimallysolve the network design problem: by the extensive formmixed-integer program (2), and by Benders decompo-sition. Within the Benders framework, we can modifythe master problem by using different combinations ofalgorithmic strategies. The challenge is to find the rightbalance of the information (i.e., necessary conditionsfor feasibility) to be incorporated in the master prob-lem. As discussed earlier, the information added to themaster problem assists in getting a better initial solu-tion, but at the expense of creating a master problemthat is more difficult to solve. We test the strategies ofaugmenting the master problem with path constraints,

Page 9: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071 1065

or with the maximum capacity failure scenario, includ-ing cover constraints and/or connectivity constraints.Finally, we can evaluate the effectiveness of the heuris-tic methodology presented in Section 3 in conjunctionwith any of these strategies. In this subsection, we testthe following computational strategies:

1. extensive formulation (EXTN),2. Benders decomposition (with no augmentation)

(BD),3. Benders decomposition with cover constraints (CO),4. Benders decomposition with cover constraints and

connectivity constraints (CO_CN),5. Benders decomposition with path constraints (PA),6. Benders decomposition with cover constraints and

path constraints (CO_PA),7. Benders decomposition augmented by explicit mul-

ticommodity flow conditions for fmax (EMF).

Note that these strategies are only a subset of all pos-sible combinations. One obvious strategy is to run theBenders decomposition approach augmented only byconnectivity constraints (CN), but our preliminary ex-periments show that this strategy does not perform well.Hence, we exclude strategy CN from this discussion.These techniques are implemented using a C++ pro-gram with CPLEX 7.0 using ILOG Concert Technol-ogy 1.0 on randomly generated problem instances. Allresults are collected on a Sun Microsystems SunBlade100 workstation with 500 MHz UltraSPARC-IIe proces-sor, with 256 kB L2 Cache, 1.5 GB of physical memoryand 4 GB of swap memory. We use program executiontime to measure the performance of different strategies.The program execution time (in CPU seconds) for theseven different strategies are given in Tables 1–7.

The time to solve an instance has been limited to 2 h.If an instance takes more than 2 h, it is noted as beyond2 h (B2H ) in Tables 1–7. While calculating summaryaverages, any instance that cannot be solved within 2 his given a lower bound time of 2 h (7200 s). Hence,any such average is an underestimation of the expectedtime required to solve a class of instances under somealgorithmic strategy, and thus we put an asterisk by eachsuch average.

We first analyze the performance of these strategiesfor the instances in which |N |= |K|= |F |= 10, as dis-played in Table 1. As expected, EXTN performs poorlyfor these instances, and fails to solve any of these prob-lem within the time taken by strategies CO and CO_CN.Incorporating just the cover (CO) or cover and con-nectivity constraints (CO_CN) seems to be the bestoverall option for solving these instances. Note that all

strategies except for EXTN and PA manage to solve atleast one of these instances faster than all other strate-gies, which reveals the fact that the efficacy of someof these approaches might depend highly upon the net-work topology and/or instance data. While the averageCPU time for CO_CN is less than that for CO, it is diffi-cult to claim that the CO_CN strategy is superior to CObecause of the wide variability in computational timesand performances across these instances. However, not-ing that CO_CN is the overall best strategy for five outof these 10 instances, as compared to the fact that COis best on two of 10 instances, we recommend CO_CNfor solving this class of network design problems.

We next analyze the impact of varying |N | to 8 and12, as displayed by Tables 2 and 3, respectively. Strat-egy EXTN continues to perform poorly for |N | = 8 incomparison to other strategies and fails to solve the in-stances with |N |=12 within 2 h. Thus, we conclude forthe remainder of this discussion that EXTN is not a vi-able option for solving any of these instances, and omitit from future computational performance analysis. For|N | = 8, strategies CO and CO_CN still outperform allother strategies, but a comparison of these two particularstrategies becomes even more difficult due to their shortrunning times. As we increase |N | to 12, the differencebetween the CO and CO_CN strategies and all otherstrategies becomes more amplified. Strategies PA andEMF are clearly impractical, while BD and CO_PA arealmost uniformly dominated by CO and CO_CN. How-ever, CO_CN no longer exhibits any computational ad-vantage over CO for these instances; in fact, they seemto work equally well for these instances.

We next examine the impact of varying the numberof origin–destination pairs (|K|) on the performanceof these strategies. The results for instances in which|N |=|F |=10 and |K| is varied between 5, 10, and 15 areshown in Tables 4, 1, and 5, respectively. We can makea similar argument as in the previous experiment thatstrategies CO and CO_CN tend to outperform the otherstrategies. However, for this experiment we observe thatCO_CN continues to outperform CO as |K| increases,while for |K| = 5, the CPU times are still too small topermit a fair comparison of the strategies. Also, notethat as |K| increases to 15, the computational timesincrease sharply, and methods BD and CO_PA are onlymoderately inferior to CO_CN.

Our third experiment compares these strategies forvarying numbers of failure scenarios (|F |= 5, 10, and15). The results are displayed in Tables 6, 1, and 7.For |F | = 5, strategy EMF outperforms other strate-gies (see Table 6). Recall that strategy EMF providesa feasible solution for the maximum capacity failure

Page 10: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

1066 M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071

Table 1CPU seconds required to solve problems in which (|N |, |K|, |F |) = (10, 10, 10)

Instance EXTN BD CO CO_CN PA CO_PA EMF

10-10-10.a 1798.91 791.76 1031.5 684.5 2020.7 564.72 2864.9810-10-10.b 3903.75 417.87 248.27 201.55 2463.9 796.64 1621.1310-10-10.c 7200.97 3494.3 1151.64 1741.16 4958.64 3610.43 5702.2310-10-10.d 1822.31 25.54 20.33 17.36 71.41 43.73 377.3910-10-10.e 2094.13 456.84 80.07 187.14 631.4 132.16 913.7810-10-10.f 1904.57 887.84 492.75 184.19 3760.63 575.66 698.2210-10-10.g 1596.12 2915.54 1211.32 728.52 4923.88 3444.27 4966.810-10-10.h 349.71 23.21 18.91 18.37 58.51 45.33 40.2110-10-10.i 265.93 126.06 152.09 164.98 400.31 312.8 586.6310-10-10.j 818.96 59.65 38.26 35.56 127.22 118.4 12.11

Avg 2175.54 919.86 444.51 396.33 1941.66 964.41 1778.35

Table 2CPU seconds required to solve problems in which (|N |, |K|, |F |) = (8, 10, 10)

Instance EXTN BD CO CO_CN PA CO_PA EMF

8-10-10.a 204.69 8.89 5.06 4.75 21.97 7.64 30.278-10-10.b 15.16 4.57 2.33 2.32 6.81 3.44 13.898-10-10.c 281.95 30.38 23.6 16.13 54.93 41.29 66.668-10-10.d 29.69 8.92 2.65 4.26 17.21 4.63 33.768-10-10.e 257.03 21.07 8.55 8.67 30.84 16.16 45.288-10-10.f 32.92 7.83 2.18 2.22 13.63 3.74 3.488-10-10.g 27.03 7.99 2.63 2.69 4.63 3.37 28.998-10-10.h 20.44 7.81 4.03 4.05 7.52 8.2 20.138-10-10.i 55.25 15.59 9.32 9.48 36.88 19.05 66.918-10-10.j 341.91 12.46 3.56 4.32 51.7 7.61 37.26

Avg 126.61 12.55 6.39 5.89 24.61 11.51 34.66

Table 3CPU seconds required to solve problems in which (|N |, |K|, |F |) = (12, 10, 10)

Instance BD CO CO_CN PA CO_PA EMF

12-10-10.a 473.64 140.24 193.88 25.69 10.41 354.5612-10-10.b 1387.56 734.32 651.16 5670.94 2922.38 B2H12-10-10.c 638.16 85.24 114.73 842.66 184.06 1720.0912-10-10.d 406.84 156.52 250.8 1347.09 961.76 5601.8312-10-10.e 99.82 36.81 35.75 152.9 108.02 93.6412-10-10.f 137.56 21.7 16.33 154.41 22.51 102.1712-10-10.g 209.34 107.69 114.71 1694.89 315.2 1870.9412-10-10.h B2H B2H B2H B2H B2H B2H12-10-10.i 803.35 328.92 274.1 B2H 1505.7 2300.6612-10-10.j 511.62 28.67 48.74 1308.8 54.02 1633.54

Avga 518.65 182.23 188.91 ∗2044.15 676.01 ∗2319.71

aAverage does not include 12-10-10.h.

scenario from the master problem. For a relatively fewnumber of failure scenarios, this solution seems to pro-vide a good initial network design, for which few Ben-ders cuts are required to make the algorithm converge.

As shown earlier, though, EMF is no longer effectivewhen |F | = 10, and becomes even less effective as |K|is increased to 15. When comparing results for |F |=15,we see that strategies CO and CO_CN outperform other

Page 11: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071 1067

Table 4CPU seconds required to solve problems in which (|N |, |K|, |F |) = (10, 5, 10)

Instance BD CO CO_CN PA CO_PA EMF

10-5-10.a 4.69 1.41 1.74 3.14 2.35 0.6110-5-10.b 5.69 1.78 1.61 0.6 0.89 1.4210-5-10.c 20.7 6.98 7.03 31.69 19.82 76.9810-5-10.d 12.13 3.94 2.2 21.08 5.25 59.710-5-10.e 23.62 12.28 6.7 28.2 18.97 23.6910-5-10.f 35.48 7.9 9.3 75.42 38.48 92.0410-5-10.g 4.78 2.45 1.37 4.53 1.09 2.1210-5-10.h 11.11 6.22 7.07 41.62 9.45 27.8710-5-10.i 20.22 5.06 9.51 13.49 16.84 25.8210-5-10.j 17.15 7.99 14.25 36.67 33.3 50.19

Avg 15.56 5.60 6.08 25.64 14.64 36.04

Table 5CPU seconds required to solve problems in which (|N |, |K|, |F |) = (10, 15, 10)

Instance BD CO CO_CN PA CO_PA EMF

10-15-10.a B2H B2H B2H B2H B2H B2H10-15-10.b 1687.25 1592.28 1790.97 B2H 4388.78 4537.2810-15-10.c 789.37 341.72 385.87 4989.88 1723.13 B2H10-15-10.d B2H B2H B2H B2H B2H B2H10-15-10.e 744.14 374.36 228.7 1745.61 1263.95 2628.8910-15-10.f 7012.28 6444.74 3507.75 B2H B2H B2H10-15-10.g 97.29 54.02 75.45 322.75 206.2 240.6410-15-10.h 116.87 74.46 82.78 509.64 230.79 816.5810-15-10.i 589.55 64.65 88.1 786.83 349.38 797.2410-15-10.j 255.26 25.35 18.5 845.44 70.37 308.97

Avga 1411.50 1121.45 772.27 ∗2342.88 1176.09 ∗2361.37

aAverage does not include 10-15-10.a and 10-15-10.d.

Table 6CPU seconds required to solve problems in which (|N |, |K|, |F |) = (10, 10, 5)

Instance BD CO CO_CN PA CO_PA EMF

10-10-5.a 537.42 713.62 466.43 2175.9 928.35 467.5810-10-5.b 383.12 259.9 221.39 812.36 1002.03 17.6210-10-5.c 3156.09 3128.66 6157.98 B2H B2H 53.5510-10-5.d 2180.48 3197.41 1960.15 B2H 7157.45 269.6710-10-5.e 435.75 213.06 230.57 392.8 868.81 22.0810-10-5.f 14.11 5.59 5.26 23.14 14.74 6.5810-10-5.g 77.72 35.83 51.65 139.28 160.96 89.2810-10-5.h 91.69 56.17 50.36 264.13 153.03 240.7610-10-5.i 339.23 256.38 159.76 656.12 586.69 14.610-10-5.j 3627.61 934.54 1537.38 4102.87 5311.45 45.97

Avg 1084.32 880.12 1084.09 ∗2296.66 ∗2338.35 122.77

strategies, with CO_CN providing a slight advantageover CO. One unexpected consequence of this exper-iment is that the average CPU time required to solveinstances with |K| = 5 is greater than the CPU timerequired to solve instances with |K| = 10 for all strate-

gies other than EMF. This average is perhaps skewedby instances 10-10-5.c and 10-10-5.d, but is indicativeof the fact that the strategies we recommend, CO andCO_CN, are not as sensitive to the value of |F | as isstrategy EMF.

Page 12: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

1068 M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071

Table 7CPU seconds required to solve problems in which (|N |, |K|, |F |) = (10, 10, 15)

Instance BD CO CO_CN PA CO_PA EMF

10-10-15.a 3845.69 3205.94 2184.35 B2H 5751.77 B2H10-10-15.b 4909.45 4131.55 4398.13 B2H B2H B2H10-10-15.c 478.7 193.16 302.86 3152.88 1221.15 260.0410-10-15.d 2259.11 976.13 1625.19 6049.54 2525.76 3945.5310-10-15.e 220.8 45.2 46.09 422.59 65.98 143.4910-10-15.f 17.7 20.18 13.67 28.81 15.34 14.110-10-15.g 4253.49 1370.64 927.17 B2H 1092.74 2604.0910-10-15.h 1512.1 1338.03 1024.53 2419.37 805.66 1820.1210-10-15.i 1374.62 1431.81 1169.34 2175.9 895.08 858.6410-10-15.j B2H B2H B2H B2H B2H B2H

Avga 2096.85 1412.52 1299.04 ∗3983.23 ∗2174.83 ∗2671.78

aAverage does not include 10-10-15.j.

In summary, we conclude that in most instances, COand CO_CN provide the best possible balance betweeninformation incorporated in the master problem and thedifficulty of the master problem to be solved. The onlyset of instances that provide an exception to this state-ment are those with few failure scenarios. In this case,EMF outperforms the other strategies, which can beattributed to a near-feasible initial network design ob-tained from the master problem. For the other instances,we recommend CO_CN over CO due to its slight com-putational advantage in our experiments.

Finally, we run experiments to test the heuristicprocedure. This heuristic procedure is combined withour recommended strategy CO_CN as discussed inSection 3, and is executed after every iteration of theCO_CN algorithm. We run this experiment on the testinstances with 10 nodes, 15 origin–destination pairs,and 10 failure scenarios, since these instances takea substantial amount of computational time to solveto optimality. In Table 8, we give the upper boundobtained from the heuristic after 20, 40, 60, and 80iterations, and report “N/A” if the algorithm has com-pleted before the given number of iterations. Recallthat in this set, instances 10-15-10.a and 10-15-10.dcannot be solved within 2 h using CO_CN (or any ofour other strategies). Note that the heuristic provides apoor feasible solution after the first iteration, but as wecontinue to add Benders cuts to the master problem,the upper bound obtained becomes tighter very quickly.This convergence to the optimum solution slows aroundthe 10th iteration. The experiments show that execut-ing the first 10 iterations of this strategy on this setof instances takes, on average, approximately 120 s.Thus, in applications where a good feasible solutionin a relatively short computational time is crucial, we

recommend executing the CO_CN strategy in concertwith the heuristic scheme for at least 10–20 iterationsin order to obtain a reasonably good solution.

4.3. Ineffective algorithmic strategies

We describe here an assortment of additional strate-gies for solving this survivable network design problemthat we find to be computationally ineffective.

Cut aggregation: Recall that a Benders cut of theform (8) is added to the master problem for every fail-ure scenario that is infeasible with respect to the cur-rent network design proposed by the master problem.To reduce the number of constraints added to the mas-ter problem, we could perform the aggregation of allthe cuts generated in one iteration by simply summingthem into one constraint and adding a single cut. Notsurprisingly, a separate set of computational runs showthat the aggregated constraint weakens the informationgiven by these cuts and slows the convergence of thealgorithm.

Linear programming relaxation cuts: Another idea isto solve the master problem with relaxed integrality re-strictions by Benders decomposition. After solving theinitial relaxed problem, we will have generated an ini-tial set of Benders constraints LLP. This set of cuts canbe added to the original master problem with minimalcomputational expense. While this strategy is effectivefor some stochastic integer programs (see [30], for ex-ample) with relatively complete recourse (where feasi-bility cuts are not required), they do not appear to beeffective for this problem.

Scenario augmentation: Lastly, note that we canaugment the master problem by explicitly includingthe multicommodity flow conditions for other failure

Page 13: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071 1069

Table 8UB(i) = upper bound after i iterations while solving 10-15-10 instances

Instance UB(1) UB(20) UB(40) UB(60) UB(80) Optimal value Time (s)

10-15-10.a 279 238 234 217 217 N/A B2H10-15-10.b 220 195 189 186 186 181 3489.0210-15-10.c 277 197 186 186 N/A 180 1535.9710-15-10.d 259 247 232 222 222 N/A B2H10-15-10.e 326 250 250 250 N/A 239 2015.0510-15-10.f 316 244 242 242 242 230 6515.4910-15-10.g 332 276 274 274 N/A 269 3711.1110-15-10.h 341 256 228 N/A N/A 222 1179.8310-15-10.i 240 218 203 N/A N/A 200 603.3310-15-10.j 247 199 N/A N/A N/A 179 285.84

scenarios f ∈ F within X. This scenario f may bedynamically altered throughout the duration of theBenders procedure. The concept behind this strategyis to enforce feasibility to scenarios for which con-straints of the form (8) prove insufficient to quicklyencourage the allocation of ample capacity within themodel. However, strategies of this nature are inferiorto the use of scenario fmax on our test instances, as arestrategies that included multiple scenario subproblemssimultaneously within the model.

5. Conclusions

The purpose of this work is to develop an effectivealgorithm to solve survivable network design problemsin an acceptable amount of time. We start with a mixed-integer programming formulation (EXTN), which failsto solve even modest-sized instances. To counter theimmense size of the EXTN formulation we employ astandard Benders decomposition approach (BD), whichyields a significant improvement over EXTN, but stilltakes too long to solve more difficult instances. To im-prove the solution time, we proposed some augmenta-tions (CO, CN, PA, and EMF) to the master problem.The CO and CO_CN strategies are the two best strate-gies for most of our test sets, but in cases where a smallnumber of failure scenarios exist, EMF outperforms ev-ery other strategy.

For future research, recall that the constraints gener-ated at each iteration of the heuristic are valid to theoriginal problem as well. Especially in early iterations,the exact algorithm may closely mimic the heuristicsteps. Hence, it may be worthwhile to incorporate someor all of the constraints generated in the heuristic proce-dure within the constraint set L of the exact procedure.Likewise, it may become imperative due to the size ofthe problem to eliminate constraints from L that have

not been binding after some number of consecutive it-erations.

A fundamentally different approach will examine areformulation of the survivable network design prob-lem. Here, we have presented an arc-based mathe-matical formulation. It may instead be appropriate toformulate this problem using a path-based approach.Since there can be an exponential number of paths insuch a formulation, we would need to provide a de-composition algorithm for not only constraints (as donein this paper), but for variables as well. Thus, furtherwork can be pursued on the development of a branch-and-price-and-cut algorithm for the survivable networkdesign problem.

Acknowledgments

We are grateful for the comments of three anony-mous referees and of an Associate Editor, which ledto an improved presentation of our work. This mate-rial is based upon work supported by the Defense Ad-vanced Research Projects Agency under Grant numberN66001-01-1-8925.

Appendix

In this Appendix, we describe a simple procedure forlifting the cover constraints (9). Note that constraints(9) can be written in the form

m∑i=1

aixi �b, (15)

where coefficients a1, . . . , am are sorted in non-decreasing order. If our problem instance is feasi-ble, then either a1 �b (in which case (10) cannot bestrengthened), or else there will exist a � ∈ {2, . . . , m}such that

∑�−1i=1ai < b and

∑�i=1ai �b. Hence, if we

Page 14: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

1070 M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071

fix xi = 0 for i = � + 1, . . . , m, then∑�

i=1xi �� wouldbe a valid inequality. By induction, suppose we havea valid inequality for the case in which xi = 0 fori = p, . . . , m of the form

p−1∑i=1

�ixi ��.

Next, we find the smallest value of �p for which theinequality

�pxp +p−1∑i=1

�ixi �� (16)

is valid when xi = 0 for i = p + 1, . . . , m. Whenxp=0, the inequality is valid for all values of �p, but forxp = 1, (16) is a valid inequality if for every binary xi ,

i =1, . . . , p−1, such that∑p−1

i=1 ai xi �b−ap, we have

�p �� −p−1∑i=1

�i xi . (17)

Since we seek to find the smallest �p for which (17)always holds true, we solve the following knapsackproblem:

z∗p = min

p−1∑i=1

�ixi (18a)

s.t.p−1∑i=1

aixi �b − ap, (18b)

xi ∈ {0, 1}. (18c)

We set �p equal to � − z∗p, and reiterate until p = m.

(Naturally, (18) can be solved by a pseudopolynomialdynamic program in lieu of an integer program.)

References

[1] Goldschmidt O, Laugier A, Olinick EV. SONET/SDHring assignment with capacity constraints. Discrete AppliedMathematics 2003;129(1):99–128.

[2] Sutter A, Vanderbeck F, Wolsey LA. Optimal placementof add/drop multiplexers: heuristic and exact algorithms.Operations Research 1998;46(5):719–28.

[3] Wu T. Fiber network service survivability. Boston: ArtechHouse; 1992.

[4] Soni S, Gupta R, Pirkul H. Survivable network design: the stateof the art. Information Systems Frontiers 1999;1(3):303–15.

[5] Assad AA. Multicommodity network flows—a survey.Networks 1978;8(1):37–91.

[6] Kennington JL. A survey of linear cost multicommodity networkflows. Operations Research 1978;26(2):209–36.

[7] Barnhart C. Dual-ascent methods for large-scalemulticommodity flow problems. Naval Research Logistics1993;40(3):305–24.

[8] Barnhart C, Sheffi Y. A network-based primal-dual heuristicfor the solution of multicommodity network flow problems.Transportation Science 1993;27(2):102–17.

[9] Barnhart C, Hane CA, Vance PH. Using branch-and-price-and-cut to solve origin–destination integer multicommodity flowproblems. Operations Research 2000;48(2):318–26.

[10] Mamer JW, McBride RD. A decomposition-based pricingprocedure for large-scale linear programs: an application tothe linear multicommodity flow problem. Management Science2000;46(5):693–709.

[11] Farvolden JM, Powell WB, Lustig IJ. A primal partitioningsolution for the arc-chain formulation of a multicommoditynetwork flow problem. Operations Research 1993;41(4):669–93.

[12] McBride RD. Advances in solving the multicommodity flowproblem. Interfaces 1998;28(2):32–41.

[13] McBride RD. Solving embedded generalized networkflow problems. European Journal of Operational Research1985;21:82–92.

[14] Cormican KJ, Morton DP, Wood RK. Stochastic networkinterdiction. Operations Research 1998;46(2):184–96.

[15] Lim C, Smith JC. Algorithms for discrete and continuousmulticommodity flow network interdiction problems. IIETransactions 2006, to appear.

[16] Wollmer R. Removing arcs from a network. OperationsResearch 1964;12(6):934–40.

[17] Wood RK. Deterministic network interdiction. Mathematicaland Computer Modelling 1993;17(2):1–18.

[18] Aki O. Capacitated facility location formulations to expeditedisaster relief. Masters Thesis, Department of Systems andIndustrial Engineering, The University of Arizona; 2004.

[19] Stoer M, Dahl G. A polyhedral approach tomulticommodity survivable network design. NumerischeMathematik 1994;68(1):149–67.

[20] Iri M. On an extension of the maximum-flow minimum-cuttheorem to multicommodity flows. Journal of the OperationsResearch Society of Japan 1971;13:129–35.

[21] Dahl G, Stoer M. A cutting plane algorithm for multicommoditysurvivable network design problems. INFORMS Journal onComputing 1998;10(1):1–11.

[22] Grötschel M, Monma CL. Integer polyhedra associated withcertain network design problems with connectivity constraints.SIAM Journal on Discrete Mathematics 1990;3:502–23.

[23] Grötschel M, Monma CL, Stoer M. Polyhedral andcomputational investigations for designing communicationnetworks with high survivability requirements. OperationsResearch 1995;43(6):1012–24.

[24] Balakrishnan A, Magnanti TL, Mirchandani P. Designinghierarchical survivable networks. Operations Research1998;46(1):116–36.

[25] Grötschel M, Monma CL, Stoer M. Computational resultswith a cutting plane algorithm for designing communicationnetworks with low-connectivity constraints. OperationsResearch 1992;40(2):309–30.

[26] Grötschel M, Monma CL, Stoer M. Facets for polyhedra arisingin the design of communication networks with low-connectivityconstraints. SIAM Journal on Optimization 1992;2(3):474–504.

[27] Luna HPL, Mahey P. Bounds for global optimization of capacityexpansion and flow assignment problems. Operations ResearchLetters 2000;26(5):211–6.

Page 15: Models and algorithms for the design of survivable multicommodity flow networks with general failure scenarios

M. Garg, J.C. Smith / Omega 36 (2008) 1057–1071 1071

[28] Rios M, Marianov V, Gutierrez M. Survivable capacitatednetwork design problem: new formulation and Lagrangianrelaxation. Journal of the Operational Research Society2000;51(5):574–82.

[29] Kall P, Wallace SW. Stochastic programming. Chichester:Wiley; 1994.

[30] Smith JC, Schaefer A, Yen J. A stochastic integer programmingapproach to solving a synchronous optical network ring designproblem. Networks 2004;44(1):12–26.

[31] Nemhauser GL, Wolsey LA. Integer and combinatorialoptimization. New York: Wiley; 1999.

[32] Atamtürk A. On capacitated network design cut-set polyhedra.Mathematical Programming Series B 2002;92(3):425–37.

[33] Balas E. Facets of the knapsack polytope. MathematicalProgramming 1975;8:146–64.

[34] Marcotte O. The cutting stock problem and integer rounding.Mathematical Programming 1985;33(1):82–92.

[35] Pochet Y, Wolsey LA. Integer knapsack and flow covers withdivisible coefficients: polyhedra, optimization and separation.Discrete Applied Mathematics 1995;59(1):57–74.