OPERA TIONS RESEARCH Working Paper CENTER Modeling and Solving the Single Facility Line Restoration Problem by A. Balakrishnan, T.L. Magnanti, J. Sokol and Y. Wang OR 327-98 April 1998 MASSA CHUSETTS INSTI TUTE OF TECHNOLOGY Modeling and Solving the Single Facility Line Restoration Problem by A. Balakrishnan, T.L. Magnanti, J. Sokol and Y. Wang OR 327-98 April 1998 Modeling and Solving the Single Facility Line Restoration Problem Anant Balakrishnan, Thomas L. Magnanti, Joel Sokol, Yi Wang April, 1998 Abstract The network restoration problem is a specialized capacitated network design problem requiring the installation of spare capacity to fully restore disrupted network flows in the event of any edge failure. We present a new mixed integer programming formulation for a line restoration version of the problem using a single type of capacitated facility. We examine two different models reflecting the technologies used in both Synchronous Transfer Mode (STM) and Asynchronous Transfer Mode (ATM) networks. The problem is NP-complete in the strong sense. We study the problem's polyhedral structure by identifying strong valid inequalities of the underlying polyhedron. Our computational results on several real and randomly generated problems show that these inequalities considerably reduce the integrality gap, from an average of 10% to an average of under 1%. These results indicate that strong cutting planes combined with branch and bound can provide efficient algorithms for solving real-world problems in the telecommunication industry. 1. Motivation As the telecommunications industry introduces novel sophisticated technologies, it faces new planning issues and current planning issues assume added importance. The introduction of new fiber transmission systems that can carry large amounts of data on a few strands of wire and the increasing strategic importance of corporate communications networks is a case in point. Because the fiber transmission systems have such large bandwidth, the failure of even a single transmission link in the network can create a severe service loss to customers. Therefore, a very high level of service reliability is becoming imperative for both system users and service providers. According to a report by the Federal Aviation Administration ("Airport Phone Outage Not Isolated," Washington Post, September 21, 1991), between August 1990 and August 1991, 114 major telecommunications outages affected the air traffic control system. In particular, the FAA facility controlling traffic in the New York area experienced 10 major outages, and the Washington area experience 15. Cable cuts are common occurrences. For example, a beaver chewed a fiber cable in Kansas, creating a four-hour outage that caused the loss of multiple services including pilot-to-ground contact and controller-to-controller contact at one airport in the state. The number and frequency of outages underscores the fact that the telecommunications system used by the FAA has been vulnerable because it contained no redundancy. Magnanti and Wang [20] provide more examples of recent network disasters. To prevent this kind of catastrophe, telecommunication companies such as AT&T have invested billions of dollars to develop the Fast Automated Restoration (FASTAR) system. This system uses the Digital Access and Cross-Connect System (DACS) and intelligent real-time routing to restore 67,200 voice circuits in minutes ("Network restoration," Telephone Engineer & Management, August, 1993). Dynamic restoration schemes use pre-assigned spare capacity in the network to accommodate the traffic when any equipment or link fails. Providing a high level of protection against fiber network failures can be very expensive because fiber transmission equipment is so costly. Therefore, reducing network protection costs while maintaining a desired level of survivability has become a key challenge for network planners and engineers. To address this situation, both telecommunication carriers and companies that maintain private networks would like to design cost-effective networks that can survive failures by rerouting traffic using pre-installed spare capacity. The objective of the network restorationproblem (also known as the spare capacity assignment problem) is to determine where and how much spare capacity to install in a network in order to provide adequate protection at minimum cost. In many cases, planners have a choice of different facilities offering different levels of capacity at costs that exhibit economies of scale. The planners then need to determine the optimal combination of the facilities to install on the edges of the network. This paper adds to the literature on the network restoration problems by (i) proposing a new mixed integer programming model for the line restoration problem using a single type of facility, (ii) studying the polyhedral structure of the problem by identifying strong valid inequalities, and (iii) including these inequalities in the formulation of the problem (either a priori or dynamically) to solve the problem. Adding valid inequalities tightens the formulation and results in a smaller integrality gap between the optimal objective value of the 2 problem and the optimal objective value of its linear programming relaxation. We test the usefulness of these inequalities in computational experiments using real and randomly generated networks of practical size. Our results show that valid inequalities considerably reduce the integrality gap, from an average of 10% to an average of under 1%. These results indicate that strong cutting planes combined with branch and bound can provide efficient algorithms for solving real-world problems in the telecommunication industry. This paper is organized as follows. In Section 2, we introduce our terminology, describe the problem and provide a literature review. In Section 3, we describe a mixed integer programming formulation of the problem and discuss the motivation for studying "distinct" and "integrated" versions of the problem. We show that the problem is NP-complete in the strong sense and compare our problem to some existing problems from the literature in Section 4. We discuss some model preprocessing techniques to reduce the problem size and obtain a stronger linear programming formulation in Section 5. In Section 6, we identify several classes of valid inequalities and show that some of them are facet-defining in the space of the capacity design variables under appropriate conditions. In Section 7 and 8, we report on our computational study. Section 9 presents a brief summary of our results. 2. Introduction and literature review 2.1. Terminology To describe the problem, we first introduce some terminology. We express the traffic and demands in units of DS3 (Digital Signal Level 3, an industry standard) and the capacities in units of OC-N (Optical Carrier level N). The most commonly used OC-N levels are OC-1, OC-3, OC-12, OC-24 and OC-48. One unit of OC-N channel has a capacity of (N*51.84) Mbps and accommodates N units of DS3 signals. In a restoration network, some nodes (the so-called DCS nodes) are equipped with DCS facilities (a Digital Cross-connect Switch) that can connect the traffic passing through that node. It is able to reroute traffic by reconfiguring the DCS connections. A span is a collection of all the parallel point-to-point OC-N links, working and spare, between two DCS nodes. A working link is any link that is part of a path bearing live traffic. A spare link is an equipped-but-idle OC-N link that is required for dynamic network restoration when a span in the network fails. Every span consists of both working and spare links. When a span fails, the network loses both the working and spare links. In this paper, we use the terms span and edge interchangeably. For convenience, we refer to the network defined by the working links as the base network, and the 3 network defined by the spare links as the reserve network. . ------- ' Original Path Path Restoration Path Line Restoration Patl Figure 2.1: Line restoration and path restoration Planners consider two categories of restoration schemes: line restoration(also known as local rerouting) and path restoration (also known as global rerouting). In line restoration, when an edge fails, the system redirects all the flow on that edge to an alternative route that connects the two ends of the failed edge (See Wu [25] and Wu [26]). In path restoration, the system separately restores each path passing through the faulty edge, redirecting the flows on each of these paths. Moreover, the system can use the capacity in the base network that is released by the interrupted flows. Figure 2.1 illustrates path restoration and line restoration when an edge (here edge {2,3}) fails. In the normal operating condition, one unit of demand flows from node 1 to node 6 via nodes 2 and 3, and one unit of demand flows from node 7 to node 10 via nodes 2 and 3. When edge {2,3} fails, the line restoration scheme reroutes the two units of working flow on edge {2,3} through the alternate route 2-4-5-3. The path restoration scheme redirects the one unit of demand from node 1 to 6 via the alternate route 1-4-5-6, and other unit of demand from node 7 to 10 via route 7-8-9-10. In general, path restoration requires less spare capacity. Line restoration, however, provides other advantages: it requires less information storage and performs less complex rerouting operations at the time of a failure. For path restoration, the system must separately consider and restore each path passing through the failed edge. Consequently, path restoration requires more complex on-line algorithms and usually takes longer to perform than does line restoration. 4 2.2. Problem description We wish to model and solve the following network restoration problem: what is the minimum cost assignment of spare capacity to each edge in the network so that if any edge fails, the network still has sufficient spare capacity to accommodate all of the traffic in the remaining operating network? We assume that on each edge e the network has a current flow of de which we refer to as the edge's working flow or demand. We assume that the operating system can repair any failure sufficiently fast that we need to consider only single edge failures. The network restores traffic using a line restoration scheme, that is, the interrupted traffic creates a local demand between the end points of the failed edge, and the system routes this demand from one end point to the other using spare capacity elsewhere in the network (not on the failed edge itself). We use one type of facility with fixed capacity b (i.e., OC-b) and allow bifurcation of the rerouted flows, i.e., the restoration flow may follow multiple routes. Several variants of the network restoration problem are of practical interest. The network capacity might be of a single type (OC-1, OC-3 or OC-12) or of multiple types. We focus primarily on the single facility case (see Wang [24] for the two facility case). As we noted before, the system might execute path restoration or line restoration. The base network might be given, or we might simultaneously design the base and reserve networks. In practice, planners might wish to impose additional constraints on the rerouted flow. For instance, they might restrict the number of alternate paths used for rerouting any edge or path flow. They might also include "hop limits" that impose an upper bound on the number of edges on which rerouted traffic can travel. In this analysis, we do not consider these additional constraints on the rerouted flow. 2.3. Previous contributions Several researchers have previously examined the network restoration problem, using different models and assumptions. Veerasamy, Venkatesan, and Shah [23] present a heuristic scheme for solving the path restoration problem. Their method considers faulty edges in the base network one at a time. For each path passing through that edge, they find an alternate minimum cost path and allocate sufficient additional spare capacity over previously installed spare capacity on the alternate path. The order for choosing the edges can influence the spare network design. They implement various versions of the method that differ in the order for choosing edges. They also discuss the advantages of path restoration compared to line restoration. Sakauchi, Nishimura, and Hasegawa [21] propose a cutset formulation (see Sec5 tion 6.2) for solving the line restoration problem. They solve the linear programming relaxation of the cutset formulation by iteratively generating constraints and adding them to the formulation. Finally, they round up the linear programming relaxation solutions to the nearest integers and execute the drop procedure. That is, they select edges sequentially and decrease their spare capacity by 1 unit. They either retain the new solution if it is feasible or restore the old solution if the new one is infeasible. The authors solve an example network (we refer to it as the SNH test problem in this paper) using this method. Our computational results show that their heuristic solutions are in fact optimal for this test problem. Herzberg [11] shows how to exploit the existence of two simple subgraphs, the triangle and the triangular pyramid subgraphs, to enhance the linear program solved by Sakauchi et al. [21]. Grover, Billodeau, and Venables [10] describe a heuristic to find a near optimal assignment of spare capacity in networks when the traffic on any failed edge can be rerouted on the k-shortest edge disjoint alternate paths (with respect to edge distances). The algorithm works well on the SNH test problem. Herzberg, Bye, and Utano [13], Chujo, Komine, Miyazaki, Ogura, and Soejima [6] include "hop limit" constraints that impose an upper bound on the number of edges on which rerouted traffic can travel. Recently, Bienstock and Muratore [4] examined a model that arises in a different setting: if a vertex or edge fails, at least some prescribed fraction of each demand must be rerouted. They present several classes of facet-defining inequalities to strengthen cutset-type inequalities for the problem, some of which are similar to those presented in Magnanti and Wang [20] and in this paper. Kennington and Whitler [14] consider the spare capacity allocation problem using only OC-1 facility in a mesh SONET telecommunications network. They present a node-arc formulation and develop a decomposition algorithm that iterates between a pure integer master problem and a set of minimum cost network flow subproblems. Lisser, Sarkissian, and Vial [15] study the dimensioning of the spare network and the rerouting of traffic using a global rerouting scheme. They formulate the problem as a huge linear programming problem, and solve it using a cutting plane algorithm based on the concept of an analytic center. Lisser, Sarkissian, and Vial [16] consider an integrated problem of simultaneously designing the base and reserve networks. They assume local rerouting of traffic and propose a twostep procedure. The first step determines the base traffic and the spare capacity using a local rerouting strategy. The second step computes the necessary spare capacity to secure the base traffic using a global rerouting strategy. Stoer and Dahl [22] study an integrated planning problem to decide what 6 spans to install in the network and what capacities to install on these spans (including both the working and spare capacity) so that the network allows routing of point-to-point traffic when a single node or edge fails. This model can address more general failure situations as well, such as the simultaneous failure of two or more spans. One feature of their approach is that they split the integer variables into sums of 0-1 variables. As a result, the inequalities they obtain have a combinatorial flavor. They study the projection of the formulation onto the space of the design variables because the problems under consideration do not have flow costs. 3. Mathematical formulation 3.1. A mixed integer programming model Let G = (N, E) denote an underlying undirected graph with a set N of nodes and a set E of edges. Let E be the set of edges that require protection. For each failed edge e E E C E, d is the given working traffic on edge e. The failure of edge e interrupts its de units of working flow and creates a demand of de between the end points of the failed edge e. Therefore, we also refer to de as the demand on edge e. Since the direction of the working traffic on e is not important, we arbitrarily assign one end of edge e to be the origin O(e) and the other end to be the destination D(e). Let fi and fei be the amount of restoration flow for the failed edge e routed on edge {i, j} from node i to node j, and from node j to node i. Let b be the capacity of each unit of transmission equipment: b = N in the OC-N case. Let ij denote the idle capacity in the working links from node i to node j, i.e., the amount of capacity that is currently not used for flowing working traffic. For convenience, we assume that the network currently contains no spare links on any edge. We define a set of decision variables yij to be the number of transmission facilities assigned to edge {i, j} for spare capacity. Using this notation, we have the following model. Formulation (SFLR) E Minimize cijyij (3.1) {i,j}EE subject to fj jEN - fji = jEN de ifi = O(e) -de if i = D(e) for all i E N, e E E 0 otherwise 7 (3.2) < byij + ij for all {i,j} E E, e EE fej, fi = 0 if {i,j} = e for all {i,j} E E, e C E (3.3) fij, fji > 0 if {i,j} $ e for all {i,j} E E, e E E (3.5) fij + fi (3.4) yij > O,yij integers for all {i, j} E E. The objective coefficient cij in (3.1) which we assume is nonnegative, is the cost for each unit of spare transmission equipment on the edge {i, j}. We wish to minimize the total cost of all the equipment installed in the network. We assume that once the facilities are installed, the system incurs no additional routing cost. However, we could easily incorporate routing cost into the model, for example to prevent long routes. The constraints (3.2) are flow balance constraints that ensure the rerouting of the interrupted flow and the conservation of flow at each node when edge e fails. We assume that the demands de are integers. The constraints (3.3) impose capacity constraints on the edges, stating that the total restoration flow for the failed edge e on edge {i, j}, in both directions, cannot exceed the total spare capacity of the transmission equipment installed on {i, j}, plus the existing excess capacity 3ij if any. Constraints (3.4) restrict the flow variables to be zero on the failed edge. We restrict the capacity design variables y to be nonnegative integers and flow variables f to be nonnegative. Given a feasible integer solution y to the problem, we can always find a feasible flow solution that is integral since the problem of finding a feasible flow given capacity values y in the network is a network flow problem which always has an integral solution whenever the demands and capacities are integral (see Ahuja, Magnanti, and Orlin [1]). 3.2. Distinct and integrated spare capacity systems Recall that ij denotes the excess capacity in the working links from node i to node j. Suppose dij is not a multiple of b but we install the working links in increments of b. Edge {i, j} will have a residual capacity of b - dij mod b (we set dij mod b = b if dij is a multiple of b). In our analysis, we typically assume that Pij either equals the residual capacity for each edge {i,j} (so that 3ij < b), or equals 0 for each edge {i, j}. In the first case, we can use the residual capacity to restore interrupted flow (a situation with an integrated spare capacity system). In the second case, we cannot use the residual capacity to restore interrupted flow (a situation with a distinct spare capacity system). The models used by Sakauchi et al. [21] and Grover et al. [10] assume an integrated spare capacity system. In this paper, we consider both systems because they model situations with ATM 8 (Asynchronous Transfer Mode) and STM (Synchronous Transfer Mode) technologies. DCS Node I ~~~~~~~~~~I A A OC-48 OC-48 Unuse Unuse IFF DS-3 Figure 3.1: An OC-48 link demultiplexed and multiplexed to add DS3 traffic For STM networks, the system prefers to maintain the working links and spare links separately because the multiplexers (MUX) and demultiplexers (DEMUX) are the most expensive network components. Demultiplexing and multiplexing DS3s into high levels of the digital hierarchy (for example OC-48) is expensive. At a certain DCS node of the network, suppose an incoming transmission link at the OC-48 level arrives with unused capacity. To add local DS3 signals to the link, the system must demultiplex and multiplex traffic as shown in Figure 3.1. If this link carries just pass through traffic (without the need for dropping any local traffic), the system prefers multiplexing the local add signals onto a brand new OC-48 transmission link, rather than demultiplexing the pass-through link and multiplexing the signals onto any unused capacity there. This practice saves on the number of multiplexers and demultiplexers, but results in lower "fill factor" for the STM transmission links. Generally, STM telecommunication systems utilize only about 80 percent of the DS3 capacity when using OC-12 transmissions ("Broadband Network Restoration," IEEE Communications Magazine, July 1996). We use the distinct system to model this practice and set ij = 0 for all edge {i,j}. For the purposes of cell switching, the ATM networks demultiplex all the incoming links at a node even if it is just passing through. Therefore the network can multiplex the local add signals onto the unused capacity on any transmission link. This practice results in the effective use of capacity on the transmission links for restoration. We use the integrated system to model this practice and set the residual capacity 3ij = b - dij mod b for all edges {i, j}. Note that if b = 1, then ij = 0 for all {i, j} and the two systems are the same. 9 4. Problem complexity 4.1. SFLR is NP-complete in the strong sense We prove that the SFLR problem is NP-complete by transforming any instance of the Hamilton Circuit (HC) problem to an instance of the SFLR problem. The strong NP-completeness result follows because the instances of the SFLR problem created by the transformation satisfy the similarity assumption, that is, the data is polynomially bounded in the number of nodes. Therefore, no pseudopolynomial time algorithm will solve the problem unless P = NP. In fact, SFLR is NP-complete even when the costs are all the same and b = 1. Proposition 4.1. SFLR is NP-complete in the strong sense, even for the class of problems with equal costs on the edges and b = 1. Proof. See Appendix A. 4.2. Comparison to some existing problems In the 1960's, Gomory and Hu [7] studied the minimum network synthesis problem with single commodity non-simultaneous flow requirements. For this problem, we are given a set of flow requirements, each specified by an origin and destination pair {k, l} and a corresponding requested flow value rkl. The problem is to assign sufficient capacity on each edge of the network to accommodate the flow requirements one at a time, at the minimum possible cost. If the costs on the edges are all the same, the problem is to build a network using the least possible total capacity. Gomory and Hu [8] showed how to obtain an optimal solution to the special case with uniform costs in polynomial time by decomposing the requirements into subtrees of uniform requirements. Our model also has non-simultaneous flow requirements, but it has a set of complicating constraints (3.4). The NP-completeness proof shows that SFLR is NP-complete even in the unit cost case. The introduction of a single variation to the underlying problem, namely, the complicating constraints (3.4), causes the problem to become much harder to solve. The network loading problem (NLP) has attracted much research attention in recent years (see Bienstock and Giinliik [3], BrockmUller, Giinltik, and Wolsey [5], Magnanti, Mirchandani, and Vachani [18], Magnanti and Mirchandani [17] and Magnanti, Mirchandani, and Vachani [19]). NLP is a specialized network design problem which seeks to meet prescribed point-to-point demand between pairs of nodes of a network by installing capacitated facilities on the edges. Because the demands must be met simultaneously, this problem has simultaneous flow 10 requirements. For situations with a single facility type b = 1, NLP is solvable by solving shortest path problems for each demand separately. Even with extra constraints stating that the flow on the OD (origin-destination) edge itself must be zero, the NLP problem can still be decomposed into shortest path problems for each OD edge (while setting the cost of the OD edge to be infinity). In this sense, non-simultaneous flow requirements are more difficult than the simultaneous flow requirements since the restoration problem is NP-complete even when b = 1. 5. Model preprocessing In this section, we discuss some model preprocessing techniques to reduce the problem size and obtain a stronger linear programming formulation for the distinct system. 5.1. Decomposition method A bottleneck node is a node whose removal would disconnect the network. Whenever the network contains a bottleneck node, we can duplicate the node and decompose the network into two or more connected subnetworks. First, we remove the bottleneck node and its incident edges, and decompose the network into connected components. Then we re-introduce copies of the bottleneck node in each component, and add the removed edges that are incident to each component. If an edge fails in one subnetwork, the rerouted traffic would never flow through any other subnetwork. If it did, we could delete the flows that crossed the bottleneck node and obtain a valid re-routing using less spare capacity. Therefore, if the network decomposes into r connected components, the restoration for each component would only use edges in that component. As a result, we can solve the restoration problems for these r components separately, and combine the solutions. 11 5.2. Removal of triangles Rest of the network Figure 5.1: Removal of the triangle subnetwork As a special case of the bottleneck situation, if the network contains a triangle subnetwork as shown in Figure 5.1, we can decompose the problem into two components: a triangle and the rest of the network, with node 1 duplicated in both the triangle and the rest of the network. For the triangle subnetwork shown in Figure 5.1, we have the following relations: by13 + 313 > Max(d 2 , d 2 3), by23 + J23 > Max(dl 2 , dl 3), by1 2 + 312 > Max(d1 3 , d 23 ). We can solve the triangle exactly by setting Y13 = max{ [(max(d 1 2 , d 23 ) - 13)/bl, 0}, Y23 = max{ [(max(d 12 , d 13) ,23)/b], O} and Y12 = max{t (max(d 13 , d 2 3 ) - P 1 2 )/bl, 0}. Practical problems appear to often have triangle subnetworks. By removing the triangles, we have been able to reduce the size of one of our test problems by more than one third (see Section 8). 5.3. Round-up-and-scale-down method for the distinct system Consider situations when b > 1. In a distinct spare capacity system, we cannot use any of the residual capacity in the base network, that is ij = 0 for all {i, j}. In these situations, we can first round the working traffic de on any edge e up to the nearest integer multiple of b. We claim that there is an one-to-one correspondence between the solutions to our original problem and to the rounded problem. Suppose (, f) is a feasible solution to the original problem, and (, f) is a feasible solution to the rounded problem. In the rounded problem, the working flow on any edge is at least the amount in the original network. Therefore, y 12 provides sufficient spare capacity for the original problem. Now given (, f), we want to show that y provides sufficient spare capacity for the rounded problem. Consider any edge e in the network defined by y. Suppose that we can send a maximum flow of g units from O(e) to D(e) (not on edge e itself). Obviously, g is a multiple of b since the spare capacity on each edge is a multiple of b. Since g must be at least de, and consequently at least the nearest multiple of de, y provides sufficient spare capacity in the rounded problem. Since the rounded working traffic on all edges is a multiple of b and our model has no flow cost, we can scale down the rounded working traffic by b and set b = 1 (that is, we now measure all flows and demands in units of b). We refer to this transformation as the round-up-and-scale-down method. The revised model has a stronger linear programming relaxation than the original model. 6. Polyhedral results In this section, we discuss polyhedral results, derive six families of valid inequalities, and show that some inequalities are facet defining in the subspace of capacity design variables y. 6.1. Arc residual capacity inequality If we relax the flow balance constraints by associating a Lagrangian multiplier ve with the mass balance constraint (3.2) for node i when restoring the traffic on edge e, we have the following Lagrangian relaxation. Formulation (LAG) Minimize {cijyij + E (fji - fij)(v? - vj)} + E V(e)de E {i,j}EE eEE eEE subject to fiej + fei < byij + 3 ij for all {i,j} E E,e E (6.1) fiej + fji < de for all {i,j} E E, e E (6.2) fjfei { Oif {i,j }e7 for all {i,j} E E,e E Yij > 0, and integers for all {i,j} E E. Before forming the Lagrangian relaxation, we have added the redundant inequalities (6.2) to the formulation. For any given set of Lagrangian multipliers, 13 problem LAG decomposes into separate subproblems, one for each pair of {i,j} and e. The subproblem does not satisfy the integrality property (that is, its linear programming relaxation does not necessarily have an integral solution). To tighten this model, we introduce the arc residual capacity inequality fij + fi -yyij < de-wy. (6.3) In this expression, y = (de - ij) mod b, and = [(de -,ij)/b. Figure 6.1 illustrates the effect of the arc residual capacity inequality. In this figure, line 1 corresponds to the inequality (6.1), line 2 corresponds to the inequality (6.2), and line 3 corresponds to the arc residual capacity inequality (6.3). The arc residual capacity inequality is designed to cut away fractional point A with fej + fjei = de and yij = (de -/ ij)/b. re I, de de - Y ij ii Figure 6.1: Arc residual capacity inequality Remark. Inequality (6.3) is a single commodity specialization of the valid inequalities discussed in Magnanti et al. [18]. While their Network Loading Problem has exponential number of arc residual capacity constraints, our model has IE * El such constraints. As they showed, by adding the arc residual capacity inequalities, the Lagrangian subproblem satisfies the integrality property. Therefore, the strengthened linear programming formulation always approximates the value of the mixed integer program at least as well as the Lagrangian relaxation bound. 14 6.2. Strengthened cutset capacity constraints Sakauchi et al. [21] use a cutset formulation consisting of only the cutset capacity constraints E (bye + flu) > de for all e C W and all cutset W. (6.4) uEW\{e} A simple application of the max-flow-min-cut theorem shows that the cutset formulation and the flow formulation (either with or without integrality conditions imposed upon the y variables) are equivalent (in the space of the design variable y). The cutset formulation contains an exponential number of constraints while the flow formulation has a polynomial number of constraints (as a function of the number of edges and nodes). Therefore, the flow formulation is a compact formulation that is equivalent to the exponentially-sized cutset formulation. Letting Yw\{e} = uGEW\(e Yu and 3l w\(e) = ZueW\{e}) /3, we can rewrite the cutset capacity constraint (6.4) as byw\{e} + /3 W\{e}) de, or YW\{e} > (de - 3W\{e})/b Since y are integers, we can round up the righthand side and obtain the following strengthened cutset capacity constraints Yw\{e} > max{t (de- Req(W, e) for each edge e E W. W\{e})/bl , O} (6.5) The term Req(W, e) denotes the requirements in cutset W with respect to edge e. We say a subnetwork G' is restorable if for any failure edge in G', the subnetwork G' contains a path from one end of the edge to the other (not the failed edge itself) on which we can install spare capacity. Theorem 6.1. Given a cutset W containing edge e, the strengthened cutset capacity inequality (6.5) is facet defining in the space of the y variables if the two subnetworks formed by removing the edge set W are each restorable. Proof. See Appendix A. 15 Remark. For a cardinality-2 cut W, say W = {1,2}, the strengthened cutset capacity inequalities are the same as the arc residual capacity inequalities. The strengthened cutset capacity inequality for edge 2 is given by Y1 > F(d2- 3l)/bl. The arc residual capacity inequality is given by f2 - YY1 < d 2 - and /i = [(d 2 -/3 1 )/bl. with y = (d 2 - 3l)modb, 1 . yyl > y~Y, and consequently yl > = [(d 2 - 3 l)/b 1 Since f 2 = d2 , we have 6.3. Cardinality-k cutset inequality We define a cardinality-k cut to be any cut K in the graph G consisting of k edges. Let K = {1, 2, ..., k} be the index set for the edges in the cut. Adding the k strengthened cutset capacity constraints for any edge e E K YK\{e} > Req(K, e), we obtain (k- 1)YK > E Req(K, e). eEK e) denote the In this expression, YK = EEK Ye. We let Req(K) = ,ECKReq(K, total requirement in the cutset K. We then divide both sides of the inequality by (k - 1) and round up the righthand side to obtain the cardinality-k cutset inequality (6.6) YK > FReq(K)/(k - 1)1. Theorem 6.2. The cardinality-k cutset inequality (6.6) for k > 3 defines a facet of the convex hull of the feasible solutions to SFLR in the subspace of y variables, if (i) the two subnetworks defined by removing the edges in the cutset K are each restorable; (ii) Req(K) is not a multiple of (k - 1); and (iii) Req(K, e) < Req(K)/(k - 1)1 for all e E K. 16 Proof. See Appendix A. 6 (5) : () 4 Io0 1 (8) 1 (8) 1(8) 1 (8) Figure 6.2: Example 1 We note that the condition (i) in Theorem 6.2 is sufficient, but not necessary. Consider the cardinality-3 cutset K consisting of edges {1,4}, {2, 5} and {3, 6} in Figure 6.2 and b = 1. The numbers next to the edges are demands and the numbers in parentheses specify a feasible solution. If we remove the edges in the cutset K, the two subnetworks are not restorable. For example, we cannot restore edge {1, 2} since the subnetwork contains no path from node 1 to node 2 (except the edge {1, 2}). The total demand in cutset K is 21, so Req(K)/(k - 1)] = 11. As required by the cardinality-k cutset inequalities, we allocate a total of 11 units of capacity in the cutset K with 5 units on edge {1, 4}, 4 units on edge {2, 5} and 2 units on edge {3, 6}. We then assign a capacity of 8 units (equal to the largest demand in the network) to all the other edges in the network. Since the edges in the subnetworks have very small demands compared to the spare capacity allocated in the cutset K, we can restore these edges by sending the rerouted flow across the cutset K and back without the need to allocate any additional capacity in K. For example, we restore edge {1, 2} by routing the 1 unit of flow on edges {1, 4}, {4, 5} and {5, 2}. In this case, the cardinality-3 inequality is facet-defining although the problem data does not satisfy condition (i). 6.4. p-partition inequality One way to view the cardinality-k inequalities is in terms of network aggregation. We aggregate the network into two aggregate nodes S and T and examine the valid inequalities for the edge set joining S and T. Suppose we aggregate the network into p aggregate nodes S1, S 2 ..., Sp. For any edge {i,j} in the original network, with i,j contained in the different node sets, e.g., i E S1 and j E S 2, we include an edge between nodes Sland S 2 . Let K 1, K 2 ..., Kp denote the edge 17 sets incident to any node in the aggregate network, and let k 1 , k 2 and k 3 be their cardinality. Let YKi denote the total capacity in set Ki, and let Req(Ki) denote the total requirement in cut Ki. The cardinality-k inequality for cutset Ki is given by YK > [Req(Ki)/(ki - 1). Adding these inequalities and dividing both sides by two, we obtain the p-partition inequality 1/2 E yK > 1/2 E 1li<p [Req(Ki)/(ki - 1)1 (6.7) 1 i<p 1 (1.5, 1 (1.5) 2 (0.5 2 (1) Figure 6.3: Example 2, a 3-partition We use the example in Figure 6.3 to illustrate the p-partition inequality for p = 3. Consider a three node aggregate network with k1 = k2 = k 3 = 4 and b = 1. The numbers next to the edges are the demands and the numbers in parentheses specify a linear programming relaxation solution. We calculate the cardinality-k inequalities as follows: > [8/31 = 3 for cutset K 1; YK 2 > [8/3] = 3 for cutset K 2 ; YK 3 > [8/31 = 3 for cutset K 3. YK 1 The linear programming relaxation solution shown in Figure 6.3 is fractional with a total capacity 4.5. It satisfies the previous three inequalities as an equality. We can cut away this fractional solution by adding the 3-partition inequality 1/2(yK +YK 2 + YK3) > [([8/31 + [8/31 + [8/31)/21 = 5. 18 6.5. K - C cutset inequality Cut C S Cut K T Figure 6.4: K - C cutset configuration In Figure 6.4, a cutset K of cardinality k separates node sets S and T. S contains two designated nodes 1 and 2. Let Sland S2 define a partition of node set S that separates nodes 1 and 2. That is, S = S1 U S 2, 1 E S1, 2 E S 2 and Si n S 2 = 0. Let C denote the set of edges across the S1 - S2 cut. Let a be the working flow on edge {1,2}. Let Req(K,*) = maxEKReq(K,e) and let edge {3,4} denote the largest requirement edge (with requirement Req(K, *)) in cutset K. Let OK = max{[Req(K)/(k - 1)1 , Req(K, *)}. The following K - C inequality is valid [(bOK + a YC\{1,2} + YK > OK K a- K)/2 + -/C\(1,21 - (6.8) In this inequality, Yc\{1,2} is the total spare capacity installed in the edge set C excluding edge {1, 2} and YK is the total spare capacity installed in the cutset K. To derive inequality (6.8), first we have YK > OK. Suppose that edge {1,2} fails, and that al units out of the a units of the edge {1,2} flow cross the cutset K, and that the remaining (a - al) units are routed within the set S. Since al units must cross the cutset K at least twice, by aggregating the capacity constraints, we obtain the following inequality byK + PK > 2a1 . (6.9) Since (a - al) units must cross the edge set C, byc\{1, 2} + 3 C\{1,2} 19 > a - al. (6.10) Multiplying inequality (6.10) by 2 and adding it to inequality (6.9) gives us 2byc\{1, 2 } + byK + /3K + 2/C\{1,2} > 2a. We add byK + /K > bOK + OK to this inequality and obtain 2byc\{1,2} + 2byK + 2 3 K+ 2 3 C\{1,2} > 2a + bOK + PK' By dividing both sides by 2 and rounding up the righthand side, we obtain b(yc\{l, 2} + YK) > a + (bOK + K)/2] - 13 K - OC\1,2}After dividing both sides by b and round up the right hand side, we obtain Yc\{1,2a + YK >[a + (bOK + PK)/21 - /K - 1C\{1,2} 1 Equivalently, + Yc\1,2a + YK (bOK± 3 K)/ 2 J a - [(bOK C\{1,2}1 Theorem 6.3. The K - C inequality (6.8) defines a facet of the convex hull of feasible solutions to the SFLR in the subspace of y variables if (i) a > L(bOK + b + PK)/22J + C\(1,21; (ii) Req(K) is not a multiple of (k - 1) if 0 K = [Req(K)/(k - 1)1; (iii) OK is odd if b = 1; (iv) the subgraphs induced by T, S1 and S2 are each restorable; and (v) the edge set C contains at least two edges (including edge {1,2}); the cutset K contains at least one edge connecting S1 and T (if OK = Req(K, *), then it contains an edge besides 3,4), and at least one edge connecting S 2 and T. Proof. See Wang [24]. When b = 1, then becomes ij = 0 for any edge {i,j} and the K - C inequality (6.8) Yc\{1,2} + YK > 20 a + FOK/21. (6.11) Notice that if the total spare capacity in the cutset K attains its lower bound 0 K and K is odd, then at least one unit of that spare capacity cannot be used to restore edge {1, 2} since the restoration flow for edge {1, 2} must cross the cutset K even number of times. The solution to the linear programming relaxation might, however, send the restoration flows in fractional units and fully utilize the spare capacity in the cutset K. The inequality (6.11) cuts away such fractional solutions. An alternate way to eliminate these fractional solutions is to generate the following Gomory cut in the full f-y space. (YK - f ) + (YK - K) > 1. (6.12) In this expression, fK 2 denotes the total restoration flow for failed edge {1, 2} in the cutset K. Therefore 2 YK - fK > 0. (6.13) O. (6.14) We also have the lower bound inequality YK - OK > Adding (6.13) and (6.14) gives (YK -fK ) + (YK - OK) > 0. However, (6.13) and (6.14) cannot be both zero, since OK is odd by assumption and f2 is even. Thus, we have (YK-fK2 ) + (YK - K) > 1 We now show how to transform the Gomory cut (6.12) to K-C inequality (6.11). Moving fK 2 and OK to the righthand side of (6.12) gives 2 YK Multiplying inequality YC\{1,2} 2 YK > > OK +1+ fK2 a - al by 2 and adding it to this inequality gives + 2yc\{1,2} > OK + 1 + fK2 + 2(a - al). Since fK2 > 2al, we have 2 YK + 2yc\{1,2}) OK + 1 + 2a. Dividing both sides by 2 gives (6.11). Note that the Gomory cut (6.12) involves only cutset K. The advantage of this form is that it does not require the identification of edge set C, only the identification of edge {1, 2}. Therefore inequality (6.12) is easier to work with in the separation algorithm (see Section 7). 21 6.6. Subset-Q inequalities Given any cardinality-k cutset K and any subset Q C K, we define Req(Q) to be the total requirement in subset Q and Req(Q) = EeEQcKReq(K,e). Let rQ = Req(Q) mod(q - 1). Magnanti and Wang [20] derive the following subset-Q inequalities rQyQ + (rQ + l)y2 > rQ [Req(Q)/(q - 1)1. (6.15) Let A = Req(K)/(k - 1) denote a modified average of the total requirement on the edges of K. Theorem 6.4. When Q is a propersubset of the cutset K, the subset-Q inequality (6.15) defines a facet for the network restorationproblem in the space of the capacity variables if (i) The two subnetworks formed by removing the cutset K are each restorable; (ii) Req(Q) is not a multiple of (q - 1); (iii) Req(K, e) < [Req(Q)/(q - 1)J for all edges e E K; and (iv) A < LReq(Q)/(q- 1)J. Proof. See Wang [24]. Magnanti and Wang [20] prove this theorem for b = 1. Given any cardinality-k cutset K, the following theorem characterizes the + convex hull of set Y = {y E Zk I EuK\{e}(bYu + iP3) > de for all edge e C K}. Theorem 6.5. Given any cardinality-k cutset K, the following constraints completely describe the convex hull of Y: (i) The strengthened cutset capacity constraints ZjGK\{e} yj all edges e E K; > Req(K, e) for (ii) The subset-Q inequalitiesrQyQ + (rQ + l)yQ > rQ Req(Q)/(q - 1)1 for all subsets Q of K (including K); and (iii) The nonnegativity constraints. Proof. See Wang [24]. Magnanti and Wang [20] prove this theorem for b = 1. Bienstock et al. [4] have independently studied a similar polyhedron. The primary difference is that they consider only the b = 1 case and that their righthand 22 sides for the cutset capacity constraints in (i) of Theorem 6.5 are some positive integer D for all e E K, while we allow the righthand sides to be different for each cutset capacity constraint. Therefore, their polyhedron is a special case of ours and the inequalities they identified for this polyhedron are a subset of inequalities (6.15). 7. Solution procedures To test the effectiveness of some of the valid inequalities identified in the previous section, we used these inequalities in a cutting plane procedure. We start with the linear programming relaxation, and given a fractional solution for the current linear programming formulation, identify a valid inequality that this solution violates and append it to the current formulation. We then solve the augmented formulation and continue this procedure until we either find an integer solution or cannot identify any inequalities violated by the current fractional solution. After the separation algorithm terminates, we use the CPLEX 5.0 branch-and-bound solver to solve the integer programming problem to optimality. Since the separation problems for the strengthened cutset capacity, cardinalityk, subset-Q, and K - C cutset inequalities seem to be difficult, we use heuristics to identify violated inequalities. Given any fractional feasible solution (y, f), our heuristics examine the cutsets that have a high probability of violating the valid inequalities. We found that two types of cutsets usually have tight spare capacity. The first type are the singleton cutsets incident to single nodes. The second type are the GH cutsets obtained by solving an all-pairs minimum cut problem in the network with edge capacities y by solving (n - 1) max-flow problems, and constructing a spanning tree using Gomory and Hu's algorithm (see Gomory and Hu [9]). Since the removal of any edge in the Gomory-Hu tree partitions the nodes into two sets and corresponds to a cutset in the original network, we examine (n - 1) such cutsets identified by the Gomory-Hu tree. 7.1. Distinct system We first transformed the problems using the round-up-and-scale-down method to the b = 1 case. We then solved the linear programming relaxation obtaining a solution (y, f). The cutting plane algorithm contains several modules. Module D1 and Module D2 examine singleton cutsets. Module D1 searches for violated cardinality-k or subset-Q inequalities. If D1 finds a violated inequality, the algorithm adds it to the linear programming formulation. The algorithm exits Module D1 if it exhausts all singleton cutsets and finds no violated cardinality-k 23 or subset-Q inequalities. Module D2 searches for violated K - C cutset inequalities and uses the same control scheme as Module D1. We use the alternative form (6.12) which does not involves edge set C. Module D3 and Module D4 solve the all-pairs minimum cut problem first, and examine the (n - 1) GH cutsets identified by the Gomory-Hu tree. If a GH cutset is also a singleton cutset, the algorithm skips it and continues with the next cutset. Module D3 searches for violated cardinality-k or subset-Q inequalities and uses the same control scheme as Module D1. Module D4 searches for violated K - C cutset inequalities and uses the same control scheme as Module D1. Algorithm Summary Transform the problems using the round-up-and-scale-down method so that b = 1; Solve the linear programming relaxation obtaining a solution (y, f); if y is integral, then the solution is the integer programming optimal solution; if y is fractional, continue; Module D1: 1. Starting with the cutset K incident to node 1, do (a) Does y violates the cardinality-k inequality? If so, go to step 3; (b) Does cutset K contain zero valued edges (edge e with Ye = 0)? If not, go to step 2; (c) Store the zero valued edges in any order in a list L; (d) Let Q be K excluding the edges in the list L. If y violates subset-Q inequality, go to step 3; (e) Delete the first edge from the list L. If L is nonempty, go back to step (d); 2. Continue with the cutset incident to the next node, returning to step (a). If we have exhausted all the nodes, exit and go to the next module; 3. Add the violated cardinality-k or subset-Q inequality, solve the resulting linear programming relaxation obtaining a new solution (y, f), and return to step 1. Module D2: 1. Solve the all-pairs minimum cut problem, obtaining the Gomory-Hu tree; 24 2. For a cutset defined by the tree with both partitions containing more than one node, do Repeat steps (a) to (e) from Module D1; 3. Continue with the next cutset, returning to step (a). If we have exhausted all the cutsets, exit and go to the next module; 4. Add the violated cardinality-k or subset-Q inequality, solve the resulting linear programming relaxation obtaining a new solution (y, f), and return to step 1. Module D3: 1. Starting with the cutset K incident to node 1, do (a) Calculate OK = max [Req(K)/(k - 1)1, Req(K, *)) for the cutset K; (b) If the total spare capacity in cutset K equals OK and OK is odd, then continue to step (b); otherwise, go to step 2; (c) For all edges e C E not contained in K, calculate the total restoration flow fk for edge e in cutset K. If fk > (OK - 1) for some e, go to step 3; 2. Continue with the cutset incident to the next node, returning to step (a). If we have exhausted all the nodes, exit and go to the next module; 3. Add the violated K - C cutset inequality, solve the resulting linear programming relaxation obtaining a new solution (y, f), and return to step 1. Module D4: 1. Solve the all-pairs minimum cut problem, obtaining the Gomory-Hu tree; 2. For a cutset defined by the tree with both partitions containing more than one node, do Repeat steps (a) to (c) from Module D3; 3. Continue with the next cutset, return to step (a). If we have exhausted all the cutsets, terminate; 25 4. Add the violated K - C cutset inequality, solve the resulting linear programming relaxation obtaining a new solution (y, f), and return to step 1. After the cutting plane algorithm terminates, we used the CPLEX 5.0 branchand-bound solver to solve the integer programming problem to optimality. The algorithm is coded in C programming language and linked to the CPLEX callable library. It is implemented on a Pentium Pro personal computer with the Linux environment, a 200 Mhz processor and 128 Mb RAM. 7.2. Integrated system We added all the arc residual inequalities to the formulation after solving the initial linear programming relaxation. We used the same heuristics as in the distinct system to separate cardinality-k and subset-Q inequalities in Modules I1 and 13. Modules 12 and 14 search for violated strengthened cutset capacity constraints by examining singleton cutsets and GH cutsets and use the same control scheme as Module Ii. Algorithm Summary Solve the linear programming relaxation obtaining a solution (y, f); Add the arc residual capacity inequalities; solve the linear programming relaxation again, obtaining a solution (y, f); Module II. Same as Module D1. Module 12. 1. Starting with the cutset K incident to node 1, do (a) List the edges of the cutset in any order in a list L; (b) Starting with the first edge in L, if the solution y violates the strengthened cutset capacity constraint with respect to this edge, go to step 3; (c) Remove the first edge from the list L. If L is nonempty, go back to step (b); 2. Continue with the cutset incident to the next node, returning to step (a). If we have exhausted all the nodes, exit and go to the next module; 26 3. Add the violated strengthened cutset capacity constraint, solve the resulting linear programming relaxation obtaining a new solution (y, f), and return to step 1. Module 13. Same as Module D2. Module 14. 1. Solve the all-pairs minimum cut problem, obtaining the Gomory-Hu tree; 2. For a cutset defined by the tree with both partitions containing more than one node, do Repeat steps (a) to (c) from Module 12; 3. Continue with the next cutset, returning to step (a). If we have exhausted all the cutsets, terminate; 4. Add the violated strengthened cutset capacity constraint, solve the resulting linear programming relaxation obtaining a new solution (y, f), and return to step 1. After the cutting plane algorithm terminates, we used the CPLEX 5.0 branchand-bound solver to solve the integer programming problem. 8. Computational results 8.1. Edge cost structure Recall that the objective coefficient cij is the cost for each unit of transmission equipment on edge {i,j). Two kinds of costs contribute to cij: the transmission system cost at the two ends of edge {i, j} and the fiber cost which may be proportional to the length of edge {i, j). In some cases, the fiber cables are already in place, and we need to consider only the transmission system cost at the ends of the edge. Therefore, cij has the same value on each edge and is set to be 1. We refer to this case as the EIC (edge independent cost) case. In other cases, we need to consider both the fiber cable and transmission system costs. We refer to this case as the EDC (edge dependent cost) case. We tested our algorithm for both cost structures. 27 8.2. Test problems We obtained three real world problem data sets. Sakauchi et al. [21] first analyzed the SNH test problem. The other two problems (called BMSW1 and BMSW2) were provided by a telecommunications company. Table 8.1 specifies the dimension of the these problems and Appendix B shows the network topologies. For BMSW2, we could exploit the special structure of the network and remove six triangles. The remaining network has 41 nodes and 61 edges. The resulting formulation has 7,503 variables and 6,283 constraints, so the procedure reduced the problem size by about one third. SNH Problem BMSW1 Problem BMSW2 Problem INI 11 10 53 IEl 23 14 79 IEI Number of variables 23 1,081 14 406 74 11,771 Number of constraints 807 350 9,842 Average node degree 4.18 2.8 2.98 Table 8.1: Real world problem dimensions We then used a random graph generator (see Balakrishnan et al. [2]) to obtain more test problems. The random graph generator creates a doubly-connected random graph for any specified number of nodes and edges. We created four sets of problems, R20, R30, R40, and R50, each set consisting of ten instances. The problems range from 20 to 50 nodes, 40 to 100 edges and have an average node degree of 4. The demands on each edge were integers uniformly distributed between 1 and 100. The costs for the EDC case were integers randomly assigned between 1 and 100. These random problems are representative of the size, costs, and demand structures arising in real problems. Table 8.2 summarizes the random problem data and dimensions. 28 R20 R30 R40 R50 INI 20 30 40 50 IEI 40 40 60 60 80 80 100 100 Number of variables 3,240 7,260 12,880 20,100 Number of constraints 2,400 5,400 9,600 15,000 AEl Average node degree 4 4 4 4 Number of instances 10 10 10 10 Table 8.2: Random problem dimensions 8.3. Distinct system We first tested the algorithm on three real world problem data sets. Sakauchi et al. [21] obtained solutions for the SNH problem (which turned out to be optimal) by solving a linear programming formulation and rounding the linear programming solutions to integers. This example also served as a test problem for the heuristic methods in Grover et al. [10] and Herzberg [12]. The SNH problem does not contain information on the edge length. All three papers solved it using unit costs on all edges. Therefore, we tested the OC-1, OC-3 and OC-12 cases for this problem assuming edge independent costs (EIC). In the OC-3 and OC-12 cases, we used the round-up-scale-down method to transform the problem into the b = 1 case. The LP (linear programming) optimal values equaled the IP (integer programming) optimal values for all three cases. We identified a violated cardinality 3 inequality around node 6 for the OC-3 and OC-12 cases and a violated cardinality 4 inequality around node 4 for the OC-12 case. Adding the violated inequalities resulted in integral LP solutions, while the objective values remained the same. For both BMSW1 and BMSW2 problems, we assumed b = 1 and tested both EDC and EIC cases. BMSW1 problem had integral LP solutions for both cases. BMSW2 problem had an integral LP solution for the EDC case. For the EIC case, BMSW2 had a fractional LP solution with its objective value equal the value of the IP solution. We did not find any violated inequalities. Branch and bound explored ten nodes and solved the problem to optimality in about one minute. 29 LP: initial LP value LPX: IP: LP value after adding all the violated cuts identified by the heuristics optimal IP solution determined by branch-and-bound LP gap %: 100*(IP- LP1)/IP LPX gap %: 100*(IP- LPX])/IP # cuts: total number of violated cuts identified by the heuristics # Bnodes: CPU_sec: total number of tree nodes explored by branch-and-bound total CPU time in seconds required to solve the problem to optimality Instance LP gap % LPX gap % # cuts # Bnodes CPU sec SNH (OC-1) SNH (OC-3) 0.0 0.0 0.0 0 2 4 0.0 1 0 3 SNH (OC-12) 0.0 0.0 2 0 3 - - 1 BMSW1 (EIC) int - BMSW1 (EDC) int - - - 1 BMSW2 (EIC) 0.0 0.0 0 10 62 BMSW2 (EDC) int - - - 41 Table 8.3: Real world problem solution summary, distinct system We further tested the algorithm on the four sets of random problems. We tested these problems using both the EIC and the EDC cost structures and assuming b = 1. Table 8.4 and Table 8.5 summarize the results for the random problems. The linear relaxation bounds are very tight. For many problem instances, the lower bounds are equal to the integer optimal values. The B&B (branch and bound) solved quickly to optimality because of the tight lower bounds. We found a small number of cuts, but the gap reduction was not dramatic. However, the cuts helped in proving optimality. For example, an EIC instance with 30 nodes had an LP value of 1850.21. Our algorithm found two cuts and raised the LP lower bound to 1851.05, rounding up to 1852. The branch and bound quickly found an integer solution with cost 1852 and proved optimality after exploring 72 tree nodes and using 35 seconds of CPU time. Without the cuts, B&B required 20,235 nodes and 266 seconds of CPU time to prove optimality, although it identified the IP solution after 13 nodes. 30 Batch R20 LP gap % 0.0 LPX gap % 0.0 # cuts 0.3 # Bnodes 12.9 CPUsec 3.6 R30 0.04 0.02 0.9 30.3 26.6 R40 0.03 0.01 0.8 57.8 87.9 R50 0.04 0.02 0.8 59.2 183.3 Table 8.4: Random instances solution summary, EIC, distinct system Batch R20 LP gap % 0.04 LPX gap % 0.04 # cuts 0.1 # Bnodes 3.9 CPU _sec 2.2 R30 0.08 0.07 0.5 8.2 15.7 R40 0.1 0.06 1.0 22.4 66.7 R50 0.1 0.07 1.0 29.1 141.1 Table 8.5: Random instances solution summary, EDC, distinct system The CPU times reported in this computational study serve as a general indication of how long the problems took to reach optimality. The CPU times varied by as much as 70 percent if we ran the same problem multiple times on the same machine. Therefore, these figures provide only general information concerning how the running time changes with problem sizes, and the level of difficulty of these problems. 8.4. Integrated system For the integrated system, we tested the three real world problems and four sets of random problems assuming b = 12. We solved the SNH problem using EIC cost structure, and the BMSW1 and BMSW2 problems using both EIC and EDC cost structures. Table 8.6 summarizes the results for the real world problems. Instance LP gap% LPA gap% LPX gap% #KQcuts #CAPcuts #Bnodes CPUsec SNH (EIC) 11.4 6.0 0.7 2 8 24 2 BMSW1 (EIC) 3.5 1.8 1.0 0 5 5 1 BMSW1 (EDC) 3.8 0.8 0.3 0 5 2 1 BMSW2 (EIC) 12.4 7.7 1.1 2 25 38 140 BMSW2 (EDC) 8.6 5.3 0.8 3 22 47 188 Table 8.6: Real world problems solution summary, OC-12, integrated system 31 LP: initial LP value LPA: LPX: LPV: IP: LP value after adding the arc residual capacity constraints LP value after adding arc residual capacity constraints and all the violated cuts identified by the heuristics LP value after adding all the violated cuts identified by the heuristics optimal IP solution solved by branch-and-bound LP gap %: 100*(IP- LP])/IP LPA gap %: 100*(IP- LPA1)/IP LPX gap %: 100*(IP- [LPX )/IP LPV gap %: 100*(IP- FLPV1)/IP # KQcuts: total number of violated cardinality-k and subset-Q inequalities identified by the heuristics # CAPcuts: total number of violated strengthened cutset capacity inequalities identified by the heuristics total number of tree nodes explored by branch-and-bound total CPU time in seconds taken to solve the problem to optimality # Bnodes: CPU sec: We used the EDC cost structure for the random instances, obtaining the results reported in Table 8.6. The results in Table 8.6 and 8.7 show that the valid inequalities were effective in reducing the integrality gap. For example, a random instance with 50 nodes and 100 edges originally had an LP gap of 12%. Our cuts reduced the gap to 0.3%. B&B found the best integer solution and proved optimality after exploring 45 nodes. The entire process used less than four minutes of CPU time. Without the cuts, B&B took about six hours of CPU time to find an integer solution that was still 0.4% away from the optimal IP value, and managed to reduce the gap to around 10%. The B&B tree size grew to 200 mega bytes and terminated prematurely. # CAPcuts # Bnodes CPU_sec Batch LP gap% LPA gap% LPX gap% # KQcuts R20 9.52 4.42 0.26 3.0 17.0 4.4 6.2 32.2 55.8 R30 9.02 4.82 0.48 4.4 27.6 R40 8.44 4.46 0.13 7.6 30.6 49.0 198.6 8.88 5.02 0.56 9.2 37.6 98.3 295.2 R50 Table 8.7: Random instances solution summary, OC-12, integrated system The computational results demonstrate that for practical purposes it is adequate to examine two classes of cutsets (singleton and GH cutsets) for violated inequalities. The fact that we were able to reduce the integrality gaps to under 1% for almost all problems indicates that the benefit of examining other cutsets 32 can only be marginal and does not justify the extra computation time. Our computational study was also designed to identify the best way to improve the formulation. We performed the following experiment and collected information on the reduction of the gap for each class of inequalities. Recall that the algorithm added arc residual capacity constraints before switching to Module I1 to 14. For our problem instances, by adding these constraints, we increased the number of constraints by 67 percent. A larger sized LP takes longer to solve. Since the algorithm spends most of the time solving LPs, we solved the random problems again using only Model I1 to 14 (without adding the arc residual capacity constraints). Table 8.8 shows that we achieved almost exactly the same performance in total gap reduction (with negligible differences in just a few cases) compared to Table 8.7. Although we are adding more cuts, and thus solving more LPs, the savings in total CPU times are significant. As reported in Table 8.9. we then determined the total number of KQ cuts (cardinality-k and subset-Q inequalities) and CAP cuts (strengthened cutset capacity inequalities) identified by the algorithm. The algorithm found more CAP cuts than KQ cuts. The KQ cuts achieved a little less than fifty percent of the total gap reduction, while the CAP cuts achieved between 53 and 60 percent of the total gap reduction. As reported in Table 8.10, we also determined the effectiveness of examining the singleton cutsets and GH cutsets. The singleton cuts achieved almost ninety percent of the total gap reduction, while the GH cuts achieved between 8 and 11 percent of the total gap reduction. However, since we examined the GH cutsets after the singleton cutsets, the "tailing effect" might have undermined the impact of GH cutsets. Batch LP gap% LPV gap% # Bnodes CPU sec R20 9.52 0.26 5.0 4.6 R30 9.02 0.48 68.2 23.4 R40 8.44 0.13 92.7 95.4 R50 8.88 0.56 106.5 126.3 Table 8.8: Random instances, OC-12, without arc residual capacity constraints Why does the cutting plane algorithm run almost as well without arc residual capacity inequalities? Recall that the arc residual capacity constraint (6.3) is designed to cut off the fractional solutions of the form j +( fj= d )/b for some {i,j} E E,e E. When would + ff =(de be mostlikely satisfied? For a cardinality-2 utsetb When would f + fj' = d be most likely satisfied? For a cardinality-2 cutset 33 consisting of {i, j} and e, this equation certainly holds. However, recall that for a cardinality-2 cut W, the strengthened cutset capacity inequalities are the same as the arc residual capacity inequalities. For a cardinality-k cutset with k > 2 containing {i, j} and e, the restoration flow for edge e is more likely shared by edge {i,j} and other edges in the cutset. If this were the case, i.e., fj + fjei < de, then the current solution would be likely to satisfy the arc residual capacity constraint. Number of cuts Batch KQ cuts CAP cuts R20 6.2 R30 9.6 R40 R50 Gap reduction % 21.8 KQ cuts 42.7 CAP cuts 57.3 33.8 41.9 58.1 15.5 41.0 46.6 53.4 18.8 48.4 39.7 60.3 Table 8.9: Gap reduction by inequality type Batch Number of cuts Singleton cutsets GH cutsets Gap reduction % Singleton cutsets GH cutsets R20 22.6 5.4 89.0 11.0 R30 35.8 7.6 90.5 9.5 R40 48.2 8.3 91.3 8.7 R50 57.6 9.6 90.3 9.7 Table 8.10: Gap reduction by cutset type 9. Conclusions In this paper, we studied single facility line restoration problem (SFLR) with both distinct and integrated spare capacity system requirements. We examined the underlying polyhedron structure and developed several classes of strong valid inequalities, many of which are facet-defining in the subspace of capacity variables under appropriate conditions. We presented computational results to demonstrate that the linear programming formulation is very strong in the distinct case, and that branch-and-bound can solve the problems to optimality within a reasonable amount of time. In the integrated case, our computational results showed that including these valid inequalities considerably improves the integrality gap, from an average of 10% to an average of under 1%. These results indicate that strong cutting planes combined with branch and bound can provide efficient algorithms for solving real world problems in the telecommunication industry. 34 A. Proofs Proof of Proposition 4.1. The Hamilton Circuit (HC) problem: Does a given undirected graph G = (N, E) contain a cycle that visits each node exactly once? Given any instance of the HC problem, we shall construct an SFLR instance as follows. Define a connected and undirected graph G = (N, E) corresponding to the base network. Assume that cij = 1 for all {i, j} and b = 1. Assume that we need to restore every edge in E, and that the working flow on each edge is 1, that is, dij = 1 for all {i,j}. Decision problem: Is min i,j}EE CijYij < INI ? Note the following properties of any optimal solution to the SFLR. (i) The value of each component of y is either 0 or 1. If yij = 1, we install one unit of spare capacity on edge {i,j}. Let F denote the set of edges we choose to install spare links. We refer to H = (N, F) as the reserve network. (ii) H = (N,F) must be connected. Suppose, to the contrary, that no spare links connect two node sets N1 and N 2 . Since the base network G is connected, it contains an edge {i,j} in G with i E N 1 and j E N 2 . When edge {i, j} fails, the reserve network cannot send any flow from N1 to N 2 . (iii) Each edge in H must lie on a cycle. If any edge {i, j} not contained in any cycle fails, the reserve network would contain no other path between node i and j. (iv) IFI > INI. As a result of (ii) and (iii), H must be connected and contain at least one cycle. We claim that we would have a Yes instance of HC if and only if we have a Yes instance of SFLR. If we have a Yes instance of HC, we install the spare links on the edges of the Hamilton circuit. The circuit contains two paths between any node pair {i, j} in H. If any edge {i, j} in G fails, we would be able to reroute the flow on at least one other path. Therefore, IFJ = INI and the solution is feasible and so it is optimal. Now assume that we have an optimal solution H = (N, F) to SFLR with IFI = INI, and we want to show that H is a Hamilton circuit. By (iii), each edge must lie on a cycle in H, and the number of edges is INI. By (ii), H is connected. 35 Therefore, the solution is a Hamilton circuit, and we have a Yes instance of the HC problem. Notice that the instances of SFLR created by our transformation all have unit costs and unit demands. Therefore, this subset of problems satisfy the similarity assumption. This transformation actually shows that the subset of the SFLR instances satisfying the similarity assumption is itself NP-complete. Therefore, SFLR is NP-complete in the strong sense. Proof of Theorem 6.1. Let Si = (*) iEE represent an arbitrary equation that is satisfied by every feasible solution y that satisfies the strengthened cutset capacity inequality (6.5) as an equality. Using a common proof technique in polyhedral combinatorics, to show that the inequality is a facet, we will show that the coefficients in equation (*) are a multiple of those in inequality (6.5). We use interchange arguments to derive a relationship between the coefficients appearing in (*). We first construct a feasible solution y satisfying the strengthened cutset capacity inequality (6.5) as an equality as follows. Since the two subnetworks formed by removing the cutset W are restorable, we can install sufficient capacity to restore the edges in the subnetworks. We assign a sufficiently large amount of spare capacity on edge e so that it can accommodate the interrupted flow if any other edge in W fails. We select an arbitrary edge i E W\{e} and assign Req(W, e) units of spare capacity on it. Therefore edge e can be restored and the solution is feasible. (1) Claim: aj = 0 for all j ~ W\{e). Given any feasible solution satisfying (6.5) as an equality, we can always increase yj by 1 for j W\{e} while keeping other variables unchanged. The new solution y' is feasible and satisfies (6.5) as an equality. Substituting the y and y' values into (*) and subtracting shows that aj = 0 . Thus, the coefficients of every edge not in W\{(e are zero in the equation (*). (2) Claim: ai = aj if i,j E W\{(e). Since we select edge i E W\{e} arbitrarily, we can obtain a new solution y" by selecting edge j E W\{e} instead of i. The new solution y" is feasible and satisfies (6.5) as an equality. Substituting the y and y" values into (*) and subtracting shows that ai = aj if i,j E W\{e}. Therefore, the coefficients in equation (*) are a multiple of those in the inequality (6.5) and so in the space of y variables, (6.5) is a facet. · 36 Proof of Theorem 6.2. Let ayii = (**) iEE represent an arbitrary equation that is satisfied by every feasible solution y that satisfies the cardinality-k inequality (6.6) as an equality. Again we use interchange arguments to derive a relationship between the coefficients appearing in (**). We construct a feasible solution y satisfying (6.6) as an equality as follows. We allocate a sufficiently large amount of spare capacity on all the edges in the two subnetworks. For example, we can set yi to be the largest demand for all edges i. Since the two subnetworks formed by removing the cutset K are restorable, we have enough capacity to restore the edges in the subnetworks. To restore the edges in the cutset K, we then install a total of [Req(K)/(k - 1)1 units of spare capacity in K as follows. We set yl = FReq(K)/(k - 1)1 -Req(K, 1), Y2 = Req(K)/(k - 1)] -Req(K, 2), and so on, until the total Req(K)/(k - 1)1 units of spare capacity are all allocated. Some of the edges in cutset K might have zero capacity. It is easy to verify that the solution is feasible. (1) Claim: aj = 0 for all j ¢ K . Given any feasible solution satisfying (6.6) as an equality, we can always increase yj by 1 while keeping other variables unchanged. The new solution y' is feasible, and satisfies (6.6) as an equality. Substituting the y and y' values into (**) and subtracting shows that aj = 0 . Thus, the coefficients of every edge not in K are zero in the equation (**). (2) Claim: ai = aj if i,j E K. First we show that at least one of the edges in K, let it be edge k, has capacity less than Req(K)/(k - 1)1 -Req(K, k). Suppose not, then we have yi FReq(K)/(k - 1)1 -Req(K, i) for all i E K. Then the total capacity in K is k Req(K)/(k - 1) - Req(K) = k( Req(K) - req(K) k - 1 + 1) - Req(K) = (Req(K) - r)/(k - 1) + (k - r) = FReq(K)/(k - 1)1 + (k - r). In this expression, r = Req(K) mod(k - 1). Since r < k, the total capacity in K is strictly greater than Req(K)/(k - 1)1. This result contradicts the fact that the total capacity in K is Req(K)/(k - 1)1 . We then construct alternate solutions by adding one unit to Yk and subtracting one unit from some yi, given edge i has positive capacity. The new solution contains sufficient capacity for restoring edges in K, and satisfies inequality (6.6) 37 as an equality. The interchange arguments show that ai = ak for all edges i with positive capacity. At least one of the edges, let it be edge 1, has a strictly positive capacity. For the edges j with zero capacity, we construct alternate solutions by subtracting one unit from Yl and adding one unit to yj. Since Req(K, j) < Req(K)/(k - 1)1, Req(K,j) < Req(K)/(k - 1)1 - 1, and the new solution contains sufficient capacity for restoring edges in K. It also satisfies inequality (6.6) as an equality. The interchange arguments show that ci = al for all edges i with zero capacity. Therefore, the coefficients in equation (**) are a multiple of those in the inequality (6.6) and so in the space of y variables, (6.6) is a facet. U B. Real-world problem instances Figure B.1, B.2 and B.3 show the network topologies for the three real-world problems that we used in our computational experiments. Figure B.1: BMSW1 problem 38 2 Figure B.2: BMSW2 problem Figure B.3: SHN problem 39 References [1] R. Ahuja, T. Magnanti, and J. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Englewood Cliffs, N.J., 1993. [2] A. Balakrishnan, T. Magnanti, J. Sokol, and Y. Wang. Algorithms for link restoration in telecommunication networks. Working paper, Operations Research Center, MIT, Cambridge, MA, 1996. [3] D. Bienstock and 0. Giinliik. Capacitated network design - polyhedral structure and computation. INFORMS Journal on Computing, 8(3):243-59, 1996. [4] D. Bienstock and G. Muratore. Strong inequalities for capacitated survivable network design problems. Working paper, Columbia University, 1997. [5] B. Brockmtiller, O. Gtinliik, and L. Wolsey. Designing private line networks - polydedral analysis and computations. Discussion Paper 9647, Center for Operations Research and Econometrics, Universit6 Catholique de Louvain, Belgium, 1996. [6] T. Chujo, H. Komine, K. Miyazaki, T. Ogura, and T. Soejima. Distributed self-healing network and its optimum spare-capacity assignment algorithm. Electronics and Communications in Japan, 74(7):1-9. [7] R. E. Gomory and T. C. Hu. An application of generalized linear programming to network flows. SIAM Jour. Appl. Math., 10:207-83, 1962. [8] R. E. Gomory and T. C. Hu. Synthesis of a communication network. SIAM Jour. Appl. Math., 12:348-69, 1964. [9] R. Gormory and T. Hu. Multi-terminal network flows. J. Soc. Indust. Appl. Math., 9(4):551-70, 1961. [10] W. Grover, T. Billodeau, and B. Venables. Near optimal spare capacity planning in a mesh restorable network. Proc. IEEE Globecom'91, 2007-12, 1991. [11] M. Herzberg. A decomposition approach to assign spare channels in selfhealing networks. IEEE Global Telecommunications Conference, 1601-5, 1993. [12] M. Herzberg. A decomposition approach to assign spare channels in selfhealing networks. Globecom '93, 1601-5, 1993. 40 [13] M. Herzberg, S. Bye, and A. Utano. The hop-limit approach for spare capacity assignment in survivable networks. IEEE/ACM Transactions on Networking, 3(6):775-84. [14] J. Kennington and J. E. Whitler. An efficient decomposition algorithm to optimize spare capacity in a telecommunications network. Technical Report 97-CSE-5, Southern Methodist University, Dallas, TX, 1998. [15] A. Lisser, R. Sarkissian, and J. Vial. Survivability in transmission telecommunication networks. Note Technique, CNET, Paris, France, 1995. [16] A. Lisser, R. Sarkissian, and J. Vial. Optimal joint syntheses of base and spare telecommunication networks. International Symposium on Mathematical Programming, 1997. [17] T. Magnanti and P. Mirchandani. Shortest paths, single origin-destination network design and associated polyhedra. Networks, 23:103-121, 1993. [18] T. Magnanti, P. Mirchandani, and R. Vachani. The convex hull of two core capacitated network design problems. Mathematical Programming, 60:233250, 1993. [19] T. Magnanti, P. Mirchandani, and R. Vachani. Modeling and solving the two facility capacitated network loading problem. Operations Research, 43:142157, 1995. [20] T. Magnanti and Y. Wang. Polyhedral properties of the network restoration problem - with the convex hull of a special case. Working Paper OR 323-97, Operations Research Center, MIT, 1997. [21] H. Sakauchi, Y. Nishimura, and S. Hasegawa. A self-healing network with an economical spare-channel assignment. Globecom'90, 438-43, 1990. [22] M. Stoer and G. Dahl. A polyhedral approach to multicommodity survivable network design. Numerische Mathematik, 68(1):149-67, 1994. [23] J. Veerasamy, S. Venkatesan, and J. Shah. Spare capacity assignment in telecom networks using path restoration. Mascots'95, 370-4, 1995. [24] Y. Wang. Modeling and Solving Single and Multiple Facility Network Restoration Problems. PhD thesis, Operations Research Center, MIT, Cambridge, MA, in progress. [25] T. Wu. Fiber Network Service Survivability. Artech House, London, 1992. 41 [26] T. Wu. Emerging technologies for fiber network survivability. IEEE Communications Magazine, 33(2):58-74, 1995. 42