Technical Report 02-EMIS-02 Making a Case for Using Integer Programming to Design DWDM Networks by G. Birkan1 J. Kennington1 E. Olinick1 A. Ortynski2 and G. Spiride2 1 2 {gbirkan, jlk, olinick}@engr.smu.edu EMIS Department School of Engineering Southern Methodist University Dallas, TX 75275 {augustor, gspiride}@nortelnetworks.com Nortel Networks Richardson, TX 75081 revised 11 September 2002 Abstract A variety of integer programming models are developed for several versions of the DWDM routing and provisioning problem. The various versions differ in the type of protection implemented and whether the point-to-point demand matrix is known with certainty. Protection is provided for single link failures using one of the following strategies: dedicated protection, p-cycle protection, or shared protection. Demand uncertainty is modeled using a two-phase robust optimization strategy. We introduce a new set of models that combine both single link protection and demand uncertainty for the DWDM design problem. To the best of our knowledge, optimization models combining both of these features have not appeared in the literature. This investigation presents a strong case for using integer programming models and solution software to help design DWDM networks. Acknowledgement This investigation was partially supported by grants from Nortel Networks and the Office of Naval Research under Award Number N00014-96-1-0315. Keywords: integer programming applications, robust optimization, network provisioning, fault-tolerant network design 1. Introduction Recent advances in point-to-point dense wavelength division multiplexing (DWDM) transmission systems have led to enormous increases in optical network link capacity. Mas and Thiran (2001) describe a system that groups 432 fibers on a single ribbon. Each fiber can multiplex up to 164 wavelengths each operating at the rate of 10 Gbps. Due to the complexity of these high-speed systems and the enormous number of possibilities to be considered, equipment manufacturers and service providers need specialized computational tools to help automate the preparation of network designs. Computational tools for these design problems can use either descriptive models or prescriptive models. Descriptive models may be used to evaluate fixed decision alternatives rather than indicating good design choices. Computer simulation, used with descriptive models, can be very detailed in their description of the system. Commercial products based upon simulation are available from OPNET Technologies, Inc., RSoft, Inc., VPI Systems, and ARTIS Software Corporation. A simulation-based tool developed in academia is described in Wen et al. (2001). The literature is replete with prescriptive integer programming models for various versions of DWDM design problems. Industry has been slow to adopt optimizationbased models and solution software. Some tools use a shortest path method for routing and graph coloring heuristics for wavelength assignment, but few make use of integer programming which can address both issues simultaneously. Proprietary heuristics are popular and some systems may have a simulated annealing module (see Boggio et al. 2001). Many academic studies that produce integer programming models indicate that problems based upon their models are computationally solvable only for small problem 1 instances. In our investigation, we present new specialized integer programming models that incorporate important design issues (namely, uncertainty in demand forecasts and network protection) and provide empirical evidence that our models are indeed computationally solvable for moderate sized networks. Unlike the heuristic procedures of others, our solutions come with a guarantee that they are within a pre-specified β% of optimality. We call β the optimality gap and generally use 5% in our computational testing. The basic DWDM design problem may be defined as follows: Given a network topology and a forecast of the point-to-point demand traffic, determine the routing for each point-to-point demand and the least cost DWDM equipment configuration required to support these routes. The equipment operating characteristics, equipment cost, and forecasts for services determines the design of a DWDM network. Over time equipment capabilities tend to increase and equipment costs decrease. However, these changes can easily be included in the models. There are two additional issues that are of interest to both the equipment manufactures and service providers. The first is the protection scheme needed to protect the working traffic against node and/or link failures, and the second is the uncertainty of the demand forecasts. This investigation presents integer programming models for the most popular protection schemes. Problem instances using these models are solved and cost comparisons are made. Using the robust optimization concept developed in Kennington et al. (2001), these models are extended to include both demand uncertainty and protection. 2 1.1 Survey of Literature Excellent discussions on optical layer survivability issues may be found in Ramaswami and Sivarajan (1998) and Gerstel and Ramaswami (2000a, 2000b). Focus is placed on explaining the rationale for protection at this layer as well as classifying the different types of failures and protection schemes. A discussion of protection in WDM mesh networks along with an on-line control mechanism may be found in Zang and Mukherjee (2001). While failures can occur in links, nodes, and/or individual channels (in the case of WDM networks), our investigation addresses the issue of link failures. Such failures occur due to fiber cuts or line equipment failures. In almost all cases, protection mechanisms are designed to protect against a single link failure. That is, there is an assumption that simultaneous multiple failures are very rare. Protection strategies are designed for either a ring topology or a mesh topology. A ring is the simplest topology that is two-connected and much of the carrier infrastructure uses SONET/SDH rings. Since there are exactly two link-disjoint paths linking every pair of nodes on a ring structure, then switching to the backup path can be easily accomplished. The disadvantage is that such networks can be quite expensive compared to mesh designs. For a mesh design, carriers can use either link restoration or path restoration. The former provides a backup path around each link while the latter restores point-to-point traffic from the origin to the destination of an (o,d) demand pair (see Ramaswami and Sivarajan 1998). Link restoration is simpler to implement but requires more resources than path restoration. Each of these strategies can use either dedicated protection paths or shared protection paths, with dedicated paths being the most expensive. Grover and Stamatelakis (1998) and Stamatelakis and Grover (2000a, 2000b) 3 present innovative ideas based upon the concept known as p-cycles that attempt to obtain the speed benefits of rings as well as the capacity benefits of mesh architectures. The foundations for these new ideas were laid by Chujo et al. (1991), Grover et al. (1991), Herzberg (1993), Herzberg and Bye (1994), Iraschko et al. (1998), and Murakami and Kim (1998). Joint planning models can be found in Saito et al. (1998) and in Lewis (2002), and a specialized branch-and-bound algorithm to solve such models may be found in Kennington and Lewis (2001). All of these studies attempt to solve the static design case and use spare capacity as the decision variables. The specific equipment needed to acquire this capacity is not presented and an assumption is made that equipment can be installed to achieve the capacity requirements. In addition, minimization of capacity is used as a surrogate for minimizing equipment cost. Our work differs from previous investigations in that our models use node and link architecture assumptions to meet the spare and working capacity requirements; and therefore, cost is directly related to equipment required. 1.2 Contributions Our contributions are primarily in the area of mathematical modeling of difficult design problems that incorporate either path restoration and/or demand uncertainty. First, we developed optimization-based models to generate the k-shortest node-disjoint cycles in a graph. Using input from our industry colleagues, our cycles cannot contain a pair of arcs that cross as illustrated in Figure 1. Some of the clients for this work view such cycles as unacceptable. Second, we developed new optimization-based models for the DWDM design problem using the most popular protection schemes (dedicated protection, p-cycle protection, and shared protection). Two key tuning parameters for 4 problem solution are the number of candidate cycles input and the optimality gap permitted. Our third contribution is an empirical study that leads to recommendations concerning these tuning parameters. Our fourth contribution is a set of new optimizationbased models for the DWDM design problem that incorporates both network protection and demand uncertainty. To our knowledge, this is the first time that both of these issues have been addressed in a single set of optimization models. In addition, we present empirical evidence that our proposed models are computationally solvable. Finally, we make our models available on the world wide web for downloading for immediate use by industrial design groups who need to address this type of problem. Such design groups that have access to AMPL (Fourer et al. 1993) and CPLEX (www.cplex.com) only need supply their specific data to have a working design tool. Other research groups also have complete access to both our models and test data for independent verification and comparison with their design systems. All models and test data can be found at www.engr.smu.edu/~jlk/01-EMIS-07/main.htm. In the remainder of this manuscript, this URL is referred to as the study web site. -----------------------------------------Figure 1 About Here ------------------------------------------ 2. Cycle Generation All of the protection models developed in this investigation use a set of cycles for each (o,d) demand pair as input. A cycle for demand (o,d) is composed of a pair of node disjoint paths from o to d. One path is called the working path and the second is designated as the protection path. Each cycle for an (o,d) pair is obtained by solving two binary linear programs, one for the working path and one for the protection path. 5 Consider the sample network illustrated in Figure 2. The sets used to define the network, the working paths, and the protection paths are given in Table 1. Working path 1 connects nodes 1 and 7 using links 2 and 11, while the corresponding protection path connects these nodes using links 1 and 9. Note that these two paths are node disjoint and form a cycle that resembles an oval. -----------------------------------------Figure 2 & Table 1 About Here -----------------------------------------The working path model produces the shortest path in units of km from origin o to destination d subject to three restrictions. Node o (d) is designated as a supply (demand) node with a supply (demand) of 1. Hence, one unit of flow (corresponding to a path) will travel from node o, through the network, and terminate at node d. This is modeled using a flow conservation constraint for each node. The second restriction forbids flow in a pair of arcs that cross one another. This ensures that pictorially all cycles appear as ovals. The third restriction ensures that the paths are distinct. A new path cannot use the same links as any previously generated working or protection path. In addition to being distinct, this means that none of the paths generated will contain repeated nodes. The protection path model also seeks a shortest path from o to d and is implemented with four types of constraints. The first is flow conservation at all nodes. Constraints of the second type require that the protection path be link disjoint from the new working path. The third restriction is that the protection path be node disjoint from the new working path at all nodes except o and d. Finally, the protection path can have no crossing links with either the new working path or itself. 6 These models use sets N, E, and D as input and produce sets P, Lw, Lp, and J as output. The detailed models in AMPL format can be found in Appendix A and at the study web site. 3. Basic Design Model Without Protection The basic design model is defined in the companion paper (Kennington et al. 2001) and is only briefly described in this section. The main components of the network are fiber, terminal equipment (TEs) placed at the nodes, optical amplifiers (As), and regenerators (Rs). In this investigation, wavelength transponders that perform the optical-electricaloptical conversion at the nodes are referred to as TEs. We assume that dark fiber is available at no additional cost and that As, Rs, and TEs can be installed to make the fiber operational. A pair of integer programs has been developed to solve the DWDM routing and provisioning problem. The arc-path model uses a set of candidate paths for each (o,d) demand pair from which an optimal set is selected. Since not all possible paths are considered for a problem instance, this produces a feasible upper bound for the true problem that includes all paths as part of the input. A node-arc model has all paths implicitly available and hence produces a true lower bound for this problem. The disadvantage of the node-arc model is that routing may be circuitous and require an unacceptably large hop count. The arc-path model provides complete control over the potential paths and avoids the aforementioned disadvantages. When used in conjunction, one obtains an acceptable routing and valid upper and lower bounds. The node-arc model is to minimize equipment cost and includes seven types of constraints. |N||D| flow conservation constraints ensure that the demands are satisfied. 7 The other six types of constraints require one constraint per link. Hence, there are |N||D|+6|E| constraints in the node-arc model. Type 2 constraints accumulate the flows for the various (o,d) pairs into total flows on each link. Given link flows, the total number of fibers, channels, TEs, As, and Rs can be determined. The arc-path model is quite similar except that path flows must be converted to link flows. If xp denotes the flow on path p and ze denotes the flow on link e, then the conversion is accomplished by the following |E| equations: eE xp = ze pLwe The main outputs from both models are the number of TEs, As, and Rs. Given cost values for equipment of this type, minimum cost solutions can be determined. Both models have been implemented in AMPL and the run file can be found in Appendix B and at the study web site. 4. Protection Models With Known Demands In this section we present three different schemes for protection against single link failures when the demands are known with certainty. Each scheme has pros and cons related to ease of implementation versus total spare capacity required. In general, a design with less equipment requires a more complex restoration procedure (Gerstel and Ramaswami 2000a, 2000b). 4.1 Dedicated Protection The simplest idea for protecting the links in a path for an (o,d) demand pair is to provision a node disjoint path from o to d with capacity equal to the traffic demand. If any link in the working path fails, then traffic is simply switched to the protection path. 8 We have developed two models for designing a network that uses dedicated protection, a node-arc model and an arc-path model. For the node-arc model we simply double the traffic requirement for each (o,d) pair and place an upper bound equal to the traffic value on each arc. This forces the traffic from o to d for each demand pair to use at least two different paths. Of course, the flow could be split among more paths to make use of terminal equipment, amplifiers, and/or regenerators being used by other (o,d) pairs. In any case, this yields a true lower bound for this problem. The arc-path model has a set of candidate cycles for each (o,d) pair as input from which an optimal selection is made. For both models, the link flow can be converted to equipment requirements, TEs, As, and, Rs. For our test cases, each fiber can accommodate 80 channels or s. In the arc-path model, we require that working and protection traffic be allocated to unique channels. Suppose each wavelength can accommodate 192 DS3s and a certain link has an allocation of 96 DS3s of working traffic and 96 DS3s of protection capacity. The model requires that the design use two different s (channels) for this traffic, which requires two regenerators rather than one. The AMPL run file for dedicated protection can be found in Appendix C and at the study web site. This file contains the following four models: a working path generator model, a protection path generator, a node-arc dedicated protection model, and an arc-path dedicated protection model. The first two models generate input for the protection models. 4.2 P-Cycle Protection P-cycle protection requires that every link that carries working traffic have both incident nodes in a spare capacity cycle called a p-cycle. If the corresponding link is part of the p- 9 cycle, then the p-cycle must have sufficient capacity to protect this working link. If the corresponding link is not in the p-cycle, but has both incident nodes in the p-cycle, then the spare capacity cycle must have capacity at least 50% that of the working traffic. That is, if link (i,j) fails, then there are two paths connecting i and j in the spare capacity cycle. Hence, 50% of the working traffic can be routed around the ring (p-cycle) in the clockwise direction and 50% can be routed in a counter-clockwise direction. Links that cut across a p-cycle are called chord-links. The specific constraints used in p-cycle protection are discussed below. Let xp denote the amount of working traffic assigned to working path p and let rod denote the total demand for the pair (o,d). Then the demand constraints are as follows: (o,d) D xp = rod pJ od Since flows are in terms of paths and equipment is provisioned on links, |E| constraints are used to convert from path flows on the working path to link flows as follows: eE xp = ze pLwe Since working traffic and protection capacity must be allocated distinct wavelengths, the working traffic is rounded up to the next wavelength. Let M denote the number of DS3s multiplexed on a single wavelength and ye be a nonnegative integer variable. Rounding up is accomplished by the following |E| constraints: eE ze < Mye For p-cycle protection, spare capacity must be allocated to cycles defined by J, Lw, and Lp. Let cp denote the spare capacity assigned to cycle p and se denote the total spare capacity assigned to link e. Then 10 pLwe Lpe eE cp = se Some working traffic will be allocated to links in p-cycles for some (o,d) pairs and others will be allocated to chord-links in the candidate cycles. Let Ce denote the set of p-cycles for which link e is a chord-link. For both cases the spare capacity must be sufficient to protect the working traffic. The following |E| constraints ensure that this is the case. pLwe cp + 2 Lp e cp > ze pC e eE Finally, provisioning of TEs ,As, and Rs, requires that sufficient equipment be provided to accommodate both the working traffic and the spare capacity. That is, equipment is determined from ue where eE ue = Mye + se Conversion of ue into TEs, As, and Rs is described in Kennington et al. (2001). Note that this is a joint model in that both the assignment of working traffic to paths and protection capacity to cycles are determined in a single model. This can provide an economic advantage over solutions provided by separate models for working traffic and protection capacity. The AMPL run file for p-cycle protection can be found in Appendix D and at the study web site. 4.3 Shared Protection Path restoration using shared protection is the most difficult model to construct. This occurs because a link failure can disrupt working traffic on several (o,d) pairs all of which require new restoration paths. Our shared protection model requires a fixed routing of the working traffic. Let pF denote the set of links whose failure disrupts working traffic for some (o,d) pair. For each f pF, pDf denotes the set of (o,d) pairs 11 affected by the failure of link f. Since the traffic for a demand pair, rod, can be split among multiple paths, qfod denotes the total amount of traffic from o to d that must be restored when f fails. Since the working traffic and the spare capacity (also called the protection traffic in this model) must use unique s, we let we denote the working traffic on link e rounded up to the smallest number of s that is at least as great as the working traffic. We now define three new decision variables. Let tpf denote the protection traffic on path p when link f fails. Let ve denote the total protection traffic on link e and ge denote the total traffic (working plus protection) on link e. Using this notation, the shared protection model uses three sets of constraints to determine the values for ge. The demand for spare capacity is defined by the following constraints: pJ od \ Lp f tpf f pF, (o,d) pDf = qfod Note that a protection path containing link f cannot be used to protect against failures of link f. Conversion of protection path flows to link spare capacity requirements is accomplished by the following inequalities e E, f pF tpf < ve pLp e That is, the spare capacity must be sufficient to accommodate the failure that produces the largest traffic disruption. Provisioning of equipment on a link is determined by the working traffic on the link plus the spare capacity on the link. The following |E| equations provide this value eE ge = we + ve 12 Conversion of ge into TEs, As, and Rs is as before. The AMPL run file for shared protection can be found in Appendix E and at the study web site. Note that this run file contains the design model without protection followed by the shared protection model. Hence, unlike the p-cycle model, it cannot rearrange the working traffic to reduce the cost of protection. It is possible to construct a joint shared protection model as demonstrated by Lewis (2002). However, a joint model would be substantially larger and more difficult to solve. For networks whose average degree is low (around 2.5), Lewis found very little improvement from the use of a joint model. 4.4 Empirical Analysis Two network topologies as illustrated in Figures 3 and 4 are used in our empirical analysis. Each test case has five scenarios for point-to-point demands yielding a total of ten test cases. The DA problem is a US network and was provided to us by Dr. J. D. Allen (2001) and the KL problem is a European network described in Van Caenegem et al. (1998). Two (one) hundred point-to-point demands for each of the scenarios were randomly generated for the DA (KL) problem using a population based traffic generator as described in Chapter 4 of Cahn (1998). The data files for the test problems may be found at the study web site. -----------------------------------------Figures 3 & 4 About Here -----------------------------------------All test runs for the ten problems were made on a Compaq AlphaServer DS20E with dual EV 6.7 (21264A) 667 MHz processors and 4096 MB of RAM. Solution statistics for the five DA problems may be found in Table 2. We used a 30-minute time 13 limit on all test runs and 15 of these runs terminated due to the time limit. All arc-path models used the ten shortest paths. For both the no protection and dedicated protection runs, node-arc models provide lower bounds and arc-path models provide upper bounds. The no protection runs all yielded solutions guaranteed to be within 0.3% of optimality while the dedicated protection runs all yielded solutions with a 1.4% guarantee. In all cases, the arc-path model used the full 30 minute time limit. Note that the cost for dedicated protection is 155% more than the cost for the designs without protection. This occurs because the least cost paths have already been selected to accommodate the working traffic and consequently the spare capacity must use more expensive paths. However, p-cycle protection only requires 94% additional cost and shared protection was 73% more expensive. This clearly illustrates the cost advantage of both p-cycle and shared protection over dedicated protection. -----------------------------------------Table 2 About Here -----------------------------------------One of the tuning parameters for CPLEX is the optimality gap. That is, using an optimality gap of 5% permits termination as soon as a solution is obtained that is guaranteed to be within 5% of the optimum. When 5% optimality gaps were used, solution times on most of the problem instances dropped from 30 minutes to only a few seconds as illustrated in Table 3. This resulted in a small increase in the guaranteed deviation from optimality, but we believe that most users will prefer the reduced run times. The reported times were rounded up to the nearest second and in many cases the time was reduced by a factor exceeding 1800. 14 -----------------------------------------Table 3 About Here -----------------------------------------For arc-path models, there is the additional issue of how many paths per (o,d) demand pair should be used in the model. For our runs, 10 paths per demand were used. To help demonstrate that 10 paths is sufficient, the no protection and dedicated protection models were solved for the third scenario using 1, 2, …, 10 paths per demand. The optimal costs for these 20 runs are given in Table 4. Note that very little cost improvement occurred after the fifth path was used. Based on these results, we believe that 10 paths per demand are more than sufficient for our arc-path models. -----------------------------------------Table 4 About Here -----------------------------------------Similar results were obtained for the KL problems as summarized in Table 5. However, p-cycle protection was slightly less expensive than shared protection. In theory, shared protection should never be more expensive than p-cycle protection. There are two notions that could account for this anomaly. The p-cycle model is a joint model that determines both working traffic and protection capacity simultaneously whereas the shared model computes these sequentially. The KL problem has a higher node degree that may favor the p-cycle paradigm. -----------------------------------------Table 5 About Here -----------------------------------------Based on our experimental results, we conclude that integer programming models and solution procedures can be successfully used to solve moderate sized DWDM routing and provisioning problems. To our knowledge, all commercial design software use 15 heuristics and provide no solution quality guarantee. We found that 10 shortest paths per demand is more than sufficient for use with the arc-path models. However, the value of 10 is a single parameter in the AMPL run files and can easily be modified if a user prefers a different value. We recommend setting the optimality gap parameter to 5% to reduce the computational effort needed to solve these models. Integer programming algorithms can generally find a good solution fairly quickly, but may require a substantial effort to prove optimality. Setting this single tuning parameter to 5% resulted in eliminating these long run times needed to prove optimality. While shared protection theoretically provides the least cost design, we found that p-cycle protection is very competitive to shared protection and is substantially less expensive than dedicated protection. 5. Basic Design Model for Unknown Demands We model the unknown demands using a discrete probability distribution with sample space S = {1,…,ŝ}. Each s S is called a scenario and has the probability Prs. The elements of the traffic demand matrix for scenario s are denoted by rods for all (o,d) D. From the literature (Mulvey et al. 1995, Kennington et al. 2001) the idea of a robust design is one that works reasonably well over a range of scenarios. The notion of reasonably well is modeled by a regret function. Consider the network illustrated in Figure 2 with demand scenarios given in Table 6. Suppose there is a single demand, (1,7), and the working path for this demand uses links (1,4) and (4,7). Suppose the network has been provisioned to accommodate 576 DS3s (i.e. 3 wavelengths at 192 DS3s per wavelength). Clearly, this design is over provisioned for the first two scenarios and is under provisioned for the third. A quadratic 16 regret function as computed in Table 6 is used to capture the idea of robustness. The basic strategy is to create a design such that the total regret taken over all demand pairs is as small as possible. -----------------------------------------Table 6 About Here -----------------------------------------Since quadratic integer programs can be quite difficult to solve, we use a fourpiece linear approximation for each side (over provisioning and under provisioning) of the regret function. Hence, our robust optimization model is a linear integer program. m p Let z odsk (z odsk ) denote the amount of over (under) provisioning for demand pair (o,d), scenario s, and linear piece k. Let s mk (s kp ) denote the slope for over (under) provisioning for linear piece k. Then the regret is simply R= Prs ( o , d )D , sS k 1,..., 4 m p (s mk z odsk + s kp z odsk ) Let TEe, Ae, and Re denote the number of TEs, As, and Rs needed on link e, with corresponding unit costs of CTE, CA, CR. Then the total equipment cost is Q= (CTETEe + CAAe + CRRe) eE If the capital expenditure budget is B, then Q<B enforces a budget restriction. Our robust design scheme actually uses a two-phase procedure. In the first phase, the objective is to minimize regret subject to the budget constraint. Suppose the optimal regret is Ropt. In the second phase, regret is fixed at Ropt and the objective is to minimize Q (the equipment cost). This two-phase approach yields a minimum regret design that is 17 also efficient with respect to expenditures for equipment. That is, no other design can achieve this regret value with lower cost, and any lower cost design must have higher regret. Our AMPL model implementing the two-phase robust optimization procedure can be found in Appendix F and at the study web site. We again use 10 cycles per demand. This implementation uses a nonsymmetrical regret function with under provisioning having a larger penalty than over provisioning. 6. Robust Design Models With Protection The two-phase robust optimization scheme has been extended to permit dedicated protection, p-cycle protection, and shared protection. Both dedicated protection and pcycle protection are joint models that determine routes for both working traffic and protection traffic in a single model. The shared protection model provides protection based on the routing from the basic design model defined in Section 5 and Appendix F. All protection models are extensions of the ideas presented in Section 3. All AMPL run files are available in Appendices G, H, and I and can be found on the study web page. The DA problem with the five demand scenarios and three budget values have been run with all four robust design models, and the computational results are summarized in Table 7. The no protection model ran in approximately 10 seconds and routed most of the demand for all scenarios. The budget constraint was not binding for any of the three budgets. The percentage of unrouted demand is given by ( 100 ( o ,d )D , sS ,k 1,..., 4 p z odsk )/( ( o ,d )D , sS 18 ) rods The dedicated protection runs required between 16 and 18 seconds. The budget constraint was binding for all three runs and as the budget was tightened, both the regret value and the demand not routed increased. The p-cycle protection runs required approximately one minute, but provided improvements in both equipment cost and/or routed demand as compared to dedicated protection. The best results were achieved using the shared protection model, which required approximately 20 minutes for the tight budget. Also note that for the moderate and tight budgets, most of the budget was spent on routing the working traffic leaving little money available for the spare capacity model. This is preferable to the p-cycle protection models that provide higher protection at the expense of higher unrouted demand. The minor variations in unrouted demand for the no protection case and the shared protection case are a result of the procedures used to obtain the input for the two cases. The no protection model uses 10 shortest paths per demand for the arc-path formulation. The shared protection model uses the 10 shortest cycles per demand composed of a working path and a protection path. Hence, the working paths are slightly different for the two cases even though the no protection models are identical. Similar results were obtained on the KL problem, which are summarized in Table 8. -----------------------------------------Tables 7 & 8 About Here -----------------------------------------These results demonstrate that integer programming modeling languages and solution software have been developed to the point that they can be used to solve difficult DWDM design problems. The models in this section capture both demand uncertainty 19 via the use of a two-phase robust optimization procedure and single link protection. These are the first models that include both of these important issues in a single model. 7. Summary and Conclusions We believe that integer programming provides the best technology available to assist DWDM network designers. A modeling language makes it quite easy to define a variety of integer programming models and high performance optimizers can be employed to obtain good solutions to problem instances. The optimality-gap parameter and the totaltime-to-solve parameters can be used to control the CPU time required to obtain a solution. Designers have been reluctant to use integer programming because of its reputation of having excessively long run times. These tuning parameters allow the users to control the run times. Since an early exit provides both an upper and lower bound, the designer has the information needed to determine if more computational effort is warranted. We have illustrated how to incorporate both demand uncertainty using the robust optimization approach and single link protection using a variety of architectures. We found that p-cycle protection is fairly cost efficient compared to shared protection and both are much less expensive than dedicated protection. Under tight budgets, cycle based protection strategies, e.g. p-cycle and dedicated protection, exhibit the drawback of excessive unrouted demand when compared to shared protection. All nine models are available on the study web site and others are invited to experiment with these models. References Allen, D. 2001. Cinta Corp. Plano, TX. private communication. Boggio, G., M. Burzio, N. Portinaro, J. Cai, I. Cerutti, A. Fumagalli, M. Tacca, L. Valcarenghi, A. Carena, R. Gaudino. 2001. Network designer - Artifex™ OptSim™: a suite of integrated software tools for synthesis and analysis of high speed networks. Optical Networks Magazine 2 27-41. 20 Bradsher, K. 1991. How an A.T. & T. accident snowballed. New York Times January. Cahn, R. 1998. Wide Area Network Design: Concepts and Tools for Optimization. Morgan Kaufmann Publishers, Inc. San Francisco, CA. Chujo, T., H. Komine, K. Miyazaki, T. Ogura, T. Soejima. 1991. Distributed self-healing network and its optimum spare-capacity assignment algorithm. Electronics and Communication in Japan 74 1-9. Fourer, R., D. Gay, B. Kernighan. 1993. AMPL A Modeling Language for Mathematical Programming. Boyd & Fraser Publishing Company, Danvers, MA. Gerstel, O., R. Ramaswami. 2000a. Optical layer survivability: a services perspective. IEEE Communications Magazine 104-113. Gerstel, O., R. Ramaswami. 2000b. Optical layer survivability: an implementation perspective. IEEE Journal on Selected Areas in Communications 18 1885-1899. Grover, W., T. Bilodeau, B. Venables. 1991. Near optimal synthesis of a mesh restorable network. GLOBECOM 1991 2007-2112. Grover, W., D. Stamatelakis. 1998. Cycle-oriented distributed preconfiguration: ring-like speed with mesh-like capacity for self-planning network restoration. IEEE International Conference on Communications 1998 1 537-543. Herzberg, M. 1993. A decomposition approach to assign spare channels in self-healing networks. GLOBECOM 1993 1601-1605. Herzberg, M., S. Bye. 1994. An optimal spare capacity assignment model for survivable networks with hop limits. GLOBECOM 1994 3 1601-1606. Iraschko, R., M. MacGregor, W. Grover. 1998. Optimal capacity placement for path restoration in STM or ATM mesh survivable networks. IEEE/ACM Transactions on Networking 6 325-336. Kennington, J., M. Lewis. 2001. The path restoration version of the spare capacity allocation problem with modularity restrictions: models, algorithms, and an empirical analysis. INFORMS Journal on Computing 13 181-190. Kennington, J., K, Lewis, E. Olinick, A. Ortynski, G. Spiride. 2001. Robust solutions for the WDM routing and provisioning problem: models and algorithms, Technical Report 01-EMIS-03, EMIS Department, School of Engineering, SMU, Dallas, TX, to appear in Optical Networks Magazine. 21 Lewis, M. 2002. Joint capacity allocation with modularity and stub release in mesh telecommunication networks: an experimental design approach. Technical Report, School of Business, University of Business, University of Mississippi, University, Mississippi. MacGregor, M., W. Grover. 1994. Optimized k-shortest paths algorithm for facility restoration. Software-Practice and Experience 24 823-834. Mas, C., P. Thiran. 2001. A review on fault location methods and their application to optical networks. Optical Networks Magazine 2 73-87. Mulvey, J., R. Vanderbei, S. Zenios. 1995. Robust optimization of large-scale systems. Operations Research 43 264-281. Murakami, K., H. Kim. 1998. Optimal capacity and flow assignment for self-healing ATM networks based on line and end-to-end restoration. IEEE/ACM Transactions on Networking 6 207-221. Ramaswami, R., K. Sivarajan. 1998. Optical Networks: A Practical Perspective, Morgan Kaufmann Publishers, Inc. San Francisco, CA. Saito, H., Y. Miyao, T. Komine, F. Kubota. 1998. Joint capacity assignment to stateindependent working and spare paths for enhanced survivability. IEEE International Conference on Communications 1998 3 1743-1748. Stamatelakis, D., W. Grover. 2000a. IP layer restoration and network planning based on virtual protection cycles. IEEE Journal on Selected Areas in Communications 18 1938-1949. Stamatelakis, D., W. Grover. 2000b. Theoretical underpinnings for the efficiency of restorable networks using preconfigured cycles (“p-cycles”). IEEE Transactions on Communications 48 1262-1265. Van Caenegem, B. W. Van Parys, F. De Turck, P. Demesster. 1998. Dimensioning of survivable WDM networks. IEEE Journal on Selected Areas of Communications 16 1146-1157. Wen, B., N. Bhide, R. Shenai, K. Sivalingam. 2001. Optical wavelength division multiplexing (WDM) network simulator (OWns): architecture and performance studies. Optical Networks Magazine 2 16-26. Zang, H., B. Mukherjee. 2001. Connection management for survivable wavelengthrouted WDM mesh networks. Optical Networks Magazine 2 17-28. 22