algorithms for distributing telecommunication traffic on a multiple-ring sonet-based network

14
O.R. Applications Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network J. Cole Smith * Department of Systems and Industrial Engineering, University of Arizona, P.O. Box 210020, Tucson, AZ 85721, USA Received 19 December 2001; accepted 9 September 2002 Abstract We examine a problem arising in the assignment of telecommunication traffic to a set of synchronous optical net- work (SONET) rings. Prior SONET design algorithms determine node-to-ring assignments while concurrently pre- scribing an assignment of traffic to the rings. However, due to uncertain voice and data demand among client nodes, it may become necessary to revise the planned routing scheme once the true values of this data are realized. We develop a minimum cost flow algorithm for the case in which demands may be split across multiple rings, and provide a trans- formation to a maximum flow problem for specially structured data. The case in which each demand pair may be routed on only one ring is proven to be NP-hard, and we accordingly provide a powerful heuristic and an effective standard valid inequality generation scheme to optimally solve this problem within reasonable computational limits. The effectiveness of our approach is demonstrated on a set of randomly generated test data. Ó 2002 Elsevier B.V. All rights reserved. Keywords: Network flows; Telecommunications; Integer programming; Synchronous optical network 1. Introduction We consider a problem in the optimization of modern telecommunication systems designed under the synchronous optical network (SONET) standard for optical telecommunication transport. SONET-based networks have become attractive due to their utilization of fiber-optic and self- healing ring (SHR) technology. Fiber-optic lines provide more bandwidth, transmit fewer errors, and are more secure than their copper wire coun- terparts. Networks designed under the SHR to- pology route demand around a ring of nodes instead of relying on a central hubbing facility. In a traditional hubbing network, the failure of any one arc disconnects the end node incident to the arc from the rest of the network. Moreover, should the hub node itself fail, no transmission may com- mence between any two nodes in the network. By contrast, the failure of any one arc in a SHR-based network does not disrupt traffic flow within the network, and the failure of any node does not disrupt communication among other nodes. Wu [23] discusses in depth technical details of optical fibers and the SONET ring architecture. European Journal of Operational Research 154 (2004) 659–672 www.elsevier.com/locate/dsw * Tel.: +1-520-621-6551; fax: +1-520-621-6555. E-mail address: [email protected] (J. Cole Smith). 0377-2217/$ - see front matter Ó 2002 Elsevier B.V. All rights reserved. doi:10.1016/S0377-2217(02)00804-4 European Journal of Operational Research 154 (2004) 659–672 www.elsevier.com/locate/dsw

Upload: j-cole-smith

Post on 04-Jul-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

European Journal of Operational Research 154 (2004) 659–672

www.elsevier.com/locate/dsw

European Journal of Operational Research 154 (2004) 659–672

www.elsevier.com/locate/dsw

O.R. Applications

Algorithms for distributing telecommunication traffic ona multiple-ring SONET-based network

J. Cole Smith *

Department of Systems and Industrial Engineering, University of Arizona, P.O. Box 210020, Tucson, AZ 85721, USA

Received 19 December 2001; accepted 9 September 2002

Abstract

We examine a problem arising in the assignment of telecommunication traffic to a set of synchronous optical net-

work (SONET) rings. Prior SONET design algorithms determine node-to-ring assignments while concurrently pre-

scribing an assignment of traffic to the rings. However, due to uncertain voice and data demand among client nodes, it

may become necessary to revise the planned routing scheme once the true values of this data are realized. We develop a

minimum cost flow algorithm for the case in which demands may be split across multiple rings, and provide a trans-

formation to a maximum flow problem for specially structured data. The case in which each demand pair may be routed

on only one ring is proven to be NP-hard, and we accordingly provide a powerful heuristic and an effective standard

valid inequality generation scheme to optimally solve this problem within reasonable computational limits. The

effectiveness of our approach is demonstrated on a set of randomly generated test data.

� 2002 Elsevier B.V. All rights reserved.

Keywords: Network flows; Telecommunications; Integer programming; Synchronous optical network

1. Introduction

We consider a problem in the optimization of

modern telecommunication systems designed

under the synchronous optical network (SONET)

standard for optical telecommunication transport.

SONET-based networks have become attractivedue to their utilization of fiber-optic and self-

healing ring (SHR) technology. Fiber-optic lines

provide more bandwidth, transmit fewer errors,

* Tel.: +1-520-621-6551; fax: +1-520-621-6555.

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

0377-2217/$ - see front matter � 2002 Elsevier B.V. All rights reserv

doi:10.1016/S0377-2217(02)00804-4

and are more secure than their copper wire coun-

terparts. Networks designed under the SHR to-

pology route demand around a ring of nodes

instead of relying on a central hubbing facility. In

a traditional hubbing network, the failure of any

one arc disconnects the end node incident to the

arc from the rest of the network. Moreover, shouldthe hub node itself fail, no transmission may com-

mence between any two nodes in the network. By

contrast, the failure of any one arc in a SHR-based

network does not disrupt traffic flow within the

network, and the failure of any node does not

disrupt communication among other nodes. Wu

[23] discusses in depth technical details of optical

fibers and the SONET ring architecture.

ed.

Page 2: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

660 J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672

To understand the motivation behind prior re-

search in designing SONET networks, we first de-

fine some technical components of SONET-based

systems. Several communication data streams are

merged onto a single line to more fully exploit thebandwidth afforded by optical fibers via a multi-

plexing process. The equipment that performs the

addition and deletion of channels from the multi-

plexed stream is called an add-drop multiplexer

(ADM). SONET rings are restricted by the number

of ADMs that may be placed on them, R, and by

the total amount of demand (in units of channels)

that can be satisfied by the ring, b. The sum ofchannels is an accurate capacity limit for unidi-

rectional path switched rings (UPSRs), and serves

as a lower bound on ring capacity for bidirectional

line switched rings (BLSRs). Exploiting the addi-

tional capacity afforded by BLSRs is a separate

optimization problem, and has been investigated

by several researchers [6,7,13,16]. In this paper, we

consider problems related to UPSRs.For demand to be routed between two nodes on

some SONET ring, both nodes must be attached

to the ring via an ADM. (A node may be attached

to multiple rings.) Some network designs permit

the inclusion of digital cross-connect systems

(DCSs), which are capable of routing traffic from

one SONET ring to another. However, the cost of

ADMs is steadily decreasing compared to the costof DCSs, motivating a series of studies on con-

structing networks in which demands are routed

exclusively within SONET rings. The trend of de-

signing DCS-free telecommunication systems is

evidenced by the recent slate of studies that omit

the linking of SONET rings by a centralized

mechanism [11,12,15,20,22]. However, the model

presented in this paper may be used in morecomplex settings in order to minimize the amount

of traffic that some centralized ring must route.

The SONET ring design problem examines a set

of several client node pairs having telecommuni-

cation demands between them. The objective of

this problem is to minimize the number of ADMs

installed across a set of UPSRs, subject to vari-

ous UPSR capacity restrictions, while allocatingample capacity on the rings to satisfy each pair of

telecommunication demands. For this problem,

Sherali et al. [20] provide a preprocessing/cutting

plane technique for obtaining optimal solutions

within reasonable computational limits. For the

case in which elements must be assigned entirely to

a single ring, Lee et al. [15] present a branch-and-

cut algorithm, while Sutter et al. [22] propose acolumn generation methodology. Laguna [14] and

Goldschmidt et al. [12] have conducted mixed-

integer programming studies for scenarios in

which inter-ring traffic is permitted (e.g., via the

use of DCS).

By contrast, our study assumes as input a net-

work structure given by a set of node-to-ring as-

signments. Furthermore, we do not require thesatisfaction of all demands across the rings, but

instead allow demand shortages to exist at the cost

of a certain per-unit shortage penalty. The problem

then becomes one of satisfying as much weighted

demand as possible, subject to demand capacity

constraints for the rings. We consider both the case

in which demands may be split across several rings

(split-demand case), and in which demand pairsmay be either completely routed on one ring or not

at all (nonsplit-demand case).

This model is motivated by its usefulness in two

critical design scenarios. One scenario arises in a

problem considered by Smith et al. [21], in which

a SONET network is designed without certain a

priori knowledge of the network demands. The

solution of their model, a stochastic integer pro-gram, requires the repeated solution of problems

of the type studied in this paper. Another situation

in which this model could be particularly useful

lies in the determination of real-time ring capacity

allocation. Given a set of SONET rings having

inadequate capacity for a set of telecommunica-

tion demands, our solution procedure affords a

method for prioritizing demand pairs to be satis-fied within the network.

The remainder of this paper is organized as

follows. In Section 2, we provide a transformation

of the split-demand problem to a minimum cost

flow problem, and a transformation to a maximum

flow problem for the special case in which channels

for every demand pair have an equal importance

of being satisfied. In Section 3, we show that thenonsplit-demand optimization problem is NP-

Hard. We prescribe both a heuristic methodol-

ogy for quickly obtaining tight estimations of the

Page 3: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672 661

optimal solution, and an integer programming

model augmented with strong valid inequalities

to identify optimal solutions within a few minutes

of computational time. Finally, we conclude our

discussion in Section 4 by summarizing our researchand suggesting directions for future research.

Fig. 1. Example demand graph and solution, with b ¼ 10.

2. The split-demand problem

For this problem, we model a set of client node

pairs requesting an allocation of channels across

the network as a graph GðN ;EÞ, where N is the set

of client nodes, indexed by i 2 N � f1; . . . ; ng, andE is the set of node pairs having nonzero demands.

Assuming that all demands between nodes are re-

ciprocal, we let i < j for all ði; jÞ 2 E. Define dij tobe the (positive) number of channels required to

carry the traffic between nodes i and j 8ði; jÞ 2 E.(For notational convenience, we may substitute a

single variable q to represent a demand pair

ði; jÞ 2 E in the sequel.)

The routing of these demands takes place on a

set of rings indexed by k 2 M � f1; . . . ;mg. Foreach ring k 2 M , let Dk be the set of edges ði; jÞ 2 Ehaving both nodes i and j assigned to ring k (thus,

Dk is the set of edges whose demands may be

satisfied on ring k). Similarly, define Pq as the set ofrings on which demand pair q 2 E may be satis-

fied, i.e., Pq ¼ fk : q 2 Dkg. We incur a (positive)

penalty /q per percentage of demand dq not sat-

isfied in the network, for all q 2 E. Each penalty

depends on both the relative importance and themagnitude of the demand, since /q is imposed on

the fraction of dq left unsatisfied. It is often ap-

propriate to set /q ¼ dq 8q 2 E in order to evalu-

ate the feasibility of assigning a certain set of

demands to a group of SONET rings, or perhaps

to minimize the total amount of demand that must

be satisfied by a federal ring.

The demand assignment problem (DAP) con-sidered here determines an assignment of demand

channels to rings, subject to ring capacity restric-

tions, in order to minimize the amount of demand

shortage penalties that must be incurred. Fig. 1

illustrates an optimal solution to an example de-

mand graph on a set of three SONET rings, where

each ring has a demand capacity b ¼ 10. The val-

ues of dq ¼ /q are displayed alongside the arcs of

the demand graph. Note that for this problem, all

demand may be satisfied across the three rings.

2.1. Transformation of the split-demand DAP

The split-demand DAP may be formulated as

the following linear program, where decision vari-ables fqk 8q 2 E and k 2 M represent the fraction

of demand between node pair q that will be sat-

isfied by ring k.

MinimizeXq2E

/qwq ð1aÞ

subject toXk2Pq

fqk þ wq ¼ 1 8q 2 E; ð1bÞ

Xq2Dk

dqfqk 6 b 8k 2 M ; ð1cÞ

fqk P 0 8k 2 M ; q 2 E;

wq P 0 8q 2 E: ð1dÞ

The objective function (1a) minimizes the weighted

sum of penalties incurred due to demand short-

ages. Constraints (1b) require that no more than

100% of each demand pair is satisfied, and defines

wq as the unassigned fraction of demand pair

q 2 E. Constraints (1c) impose the demandcapacity restriction for each ring, and (1d) impose

Page 4: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

662 J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672

the nonnegativity requirements on the decision

variables.

We may uncover a minimum cost flow structure

for (1) by substituting Fqk ¼ dqfqk for all q 2 E andk 2 Pq, and Wq ¼ dqwq for all q 2 E. This substi-

tution yields the following formulation:

MinimizeXq2E

ð/q=dqÞWq ð2aÞ

subject toXk2Pq

ðFqk=dqÞ þ ðWq=dqÞ ¼ 1

8q 2 E; ð2bÞXq2Dk

Fqk 6 b 8k 2 M ; ð2cÞ

Fqk P 0 8k 2 M ; q 2 E;

Wq P 0 8q 2 E: ð2dÞ

We scale each constraint (2b) corresponding to

demand pair q 2 E by dq, and each constraint (2c)

by )1. Next, we subtract a slack variable sk to

obtain an equality for each constraint in (2c), andadd a redundant constraint equal to the negative

sum of constraints (2b) and (2c). These operations

reveal the following minimum cost flow formula-

tion, in which every column has exactly one 1 and

one )1 in the constraint matrix, with all other

elements equal to zero.

MinimizeXq2E

ð/q=dqÞWq ð3aÞ

subject toXk2Pq

Fqk þ Wq ¼ dq 8q 2 E; ð3bÞ

Xq2Dk

�Fqk � sk ¼ �b 8k 2 M ; ð3cÞ

Xq2E

�Wq þXk2M

sk ¼ mb�Xq2E

dq;

ð3dÞFqk P 0 8k 2 M ; q 2 E;

Wq P 0 8q 2 E;

sk P 0 8k 2 M : ð3eÞ

The minimum cost flow graph has jEj þ mþ 1

nodes. Label nodes qq 8q 2 E corresponding to

(3b), nodes rk 8k 2 M corresponding to (3c), and

node t corresponding to (3d). For each demand

pair q 2 E, an arc exists from node qq to all nodes

rk for k 2 Pq with a cost of 0, and an arc exists

from qq to t with cost /q=dq. (These arcs have an

implied capacity of dq.) An arc also exists fromnode t to node rk for all k 2 M with a cost of 0 and

(implied) capacity b. Each node qq has a supply of

dq units for all q 2 E, and each node rk has a de-

mand of b units for all k 2 M . Node t has a supply

of mb�P

q2E dq (or a demand of the negative of

this amount if mb <P

q2E dq).

Remark 1. Note that since (3) is a minimum costflow problem, then if b and dq 8q 2 E are integer-

valued, an integer number of channels will be

assigned to each ring. This feature is often an

important concern in practical planning scenarios.

For example, a network structure related to (3)

was constructed in [20] to prove that the number

of channels utilized on each ring in the ring design

problem must be integral. This result also providesa polynomial-time algorithm for the nonsplit-

demand DAP in which the demands are all equal.

In this case, we may scale the new ring capacity to

bb=dqc (for some q 2 E), and set all dq equal to 1.

Solving the minimum cost flow problem yields

binary flow values, and thus provides an optimal

solution to the nonsplit-demand problem.

Remark 2. Alternatively, we could choose to solve

this problem by a series of maximum flow prob-

lems. This algorithm would follow a primal-dual

approach in which the primal and dual variables

are updated at each stage of the algorithm, termi-

nating in a solution satisfying the Karush–Kuhn–

Tucker conditions. Essentially, the algorithm

begins by sorting the demand pairs in nonin-creasing order of their /=d ratios. Each demand

pair is then examined in turn, in an attempt to

maximize the number of channels for that pair that

are satisfied on the rings, subject to the restriction

that previously assigned channels must remain

satisfied by the network (although they may be

shifted to different rings). At each iteration, a

maximum flow problem is executed to rearrangepreviously allocated demands on the ring network.

Since the worst-case complexity for this approach

is slightly worse than the complexity of a minimum

cost flow algorithm for (3), we do not further

Page 5: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

XJ. Cole Smith / European Journal of Operational Research 154 (2004) 659–672 663

develop this algorithm here. However, this concept

does provide motivation for a heuristic approach

to the nonsplit-demand problem presented in

Section 3, and future research may investigate theempirical performance of this algorithm versus the

minimum cost flow approach.

Fig. 2 illustrates the minimum cost flow graph

for the example problem depicted in Fig. 1. Arc

costs are depicted alongside the arcs, while the

supply and demand values are given in bold next

to their respective nodes. The graph in Fig. 2suggests another solution approach for the case in

which /q=dq ¼ U 8q 2 E, for some value U. In this

equally weighted case, we simply seek to satisfy the

most total demand possible on the network. De-

fining zq to be the total amount of channels satis-

fied for demand pair q, formulation (3) may be

restated as

Fig. 2. Example minimum cost flow graph for example in

Fig. 1.

Maximizeq2E

zq ð4aÞ

subject toXk2Pq

Fqk � zq ¼ 0 8q 2 E; ð4bÞXq2Dk

�Fqk þ sk ¼ 0 8k 2 M ; ð4cÞ

Fqk P 0 8k 2 M ; q 2 E;

06 zq 6 dq 8q 2 E;

06 sk 6 b 8k 2 M : ð4dÞ

The objective function (4a) maximizes the totalamount of flow on the graph, equivalent to maxi-

mizing the total amount of demand satisfied on the

graph. Constraints (4b) and (4c), in conjunction

with (4d), are equivalent to (1b) and (1c), and ex-

hibit the general form of a maximum flow prob-

lem. Label nodes qq for all q 2 E and dk for all

k 2 M as before, and add a source node h and a

termination node t. Arcs exist from node h to nodeqq with capacity dq for all q 2 E, from node qq to

node rk with unlimited capacity for all q 2 E and

for all k 2 Pq, and from rk to t with capacity b for

all k 2 M . Observe that this graph is bipartite,

given by the partition of fh; rk 8k 2 Mg and

fqq 8q 2 E; tg. Fig. 3 illustrates the maximum flow

graph for the example in Fig. 1, where arc capac-

ities are given alongside each arc.

Fig. 3. Example maximum flow graph for example in Fig. 1.

Page 6: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

664 J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672

For general split-demand DAP problems, we

must solve a minimum cost flow problem con-

taining OðjEj þ mÞ nodes and OðjEjmÞ arcs. Sev-

eral algorithms have been devised to solve these

problems (see [3] for a discussion of minimum costflow algorithms). We have chosen to utilize the

network flow algorithm provided by CPLEX 7.0

due to its efficient handling of large minimum cost

flow problem instances. (Initially, the enhanced

capacity scaling algorithm of Orlin [18] was se-

lected, but our implementation of this algorithm

did not perform competitively for the test in-

stances generated.) For the equally weighted case,we select the highest-label preflow-push algorithm

of Goldberg and Tarjan [10] to solve the maximum

flow problem, based on its superiority in empirical

tests over other methods [2]. (See [3,9] for surveys

of maximum flow algorithms.) Additionally, we

employ the improved implementation for bipartite

maximum flow problems developed by Ahuja et al.

[1].

2.2. Test problem generation and computational

results

To demonstrate the computational improve-

ments that may be obtained by implementing

network-based algorithms versus standard linear

programming-based algorithms, we generated atest bed of forty DAP instances. It is worth not-

ing that while an effort was made to test our pro-

cedures on actual SONET data, no such data

was available for this study. Hence, the conclu-

sions drawn from the computational results here-

in should be regarded as hypothetical, although

plausible due to the effort undertaken to emulate

real world data in the following random problemgeneration process. The generated DAP instances

are grouped into four sets. The number of nodes in

the demand graphs for instances in Sets 1–4 was

set to 30, 50, 70, and 100 respectively. Each de-

mand graph had a density of 70%, meaning that

0:7� n2

� �edge pairs were randomly included

within the demand graph. The problem sizes and

densities were chosen based on problem charac-teristics encountered in similar studies that either

used real data or generated random data sets that

emulated real data. Problems from the literature

regarding exact solutions to ring design problems

typically do not exceed demand graphs containing

30 nodes due to the difficulty of solving the ring

design problem to optimality. However, recent

studies [12] have expanded the sizes of demandgraphs considered, and Belvaux et al. [5] confirm

that ‘‘hundreds’’ of ADMs may exist in real-world

networks. We have chosen the demand graph

density to be 70% based on similar problem den-

sities explored in [22]. For each q 2 E, we ran-

domly generated dq as an integer on the interval

[3,9] with probability 0.8, and on the interval

[10,16] with probability 0.2. The demand distri-bution was chosen similar to the scheme of Lee

et al. [15] and Sherali et al. [20] in randomly gen-

erating ring design problem instances. Given the

value for dq, the (integer) value for /q was gener-

ated uniformly on the interval ½dq; 2dq�.Next, we randomly generated a set of rings on

which these demands could be routed. Our goal in

the generation of rings was to provide alternativerings on which each demand pair may be satisfied.

For Sets 1–4 the maximum number of nodes, R,that could be placed on any one ring was set to 10,

12, 14, and 16 respectively. The demand capacity

of each ring was set to b ¼ 24 (emulating OC-24

rings). Nodes were assigned to rings according to

the following procedure. All arcs in the demand

graph were initialized as uncovered. The first nodeattached to the ring was chosen from among those

having the most incident number of uncovered

arcs. One by one, a node was added to the ring

that was adjacent (via uncovered arcs) to the

greatest number of nodes already assigned to the

ring. This procedure continued until all arcs had

been covered, or until the ring had R assigned

nodes. In the latter case, a new ring was initializedand the procedure would reiterate until all arcs

were covered. On average, this procedure required

about 14, 28, 40, and 63 rings for Sets 1–4, re-

spectively. However, the ring sets generated ac-

cording to this procedure generally allow only one

or two options for satisfying each of the demands.

To provide more options for satisfying demand

pairs, we generated a set of auxiliary rings. Theserings were generated by randomly selecting a

starting node, then iteratively including in the ring

a node adjacent to some node previously assigned

Page 7: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

Table 2

Average computational time (in CPU seconds) for the equally

weighted case

Average LP MCF MAX

Set 1 0.26 0.09 0.04

Set 2 0.58 0.14 0.07

Set 3 1.06 0.20 0.12

Set 4 1.88 0.31 0.19

J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672 665

to the ring. This process continued until the ring

contained R nodes, or until no nodes exist that are

adjacent to a node in the ring. For Sets 1–4, we

generated 4–7 such auxiliary rings, respectively.

We first examine the computational efficiency ofsolving a minimum cost flow problem versus

solving a linear program for split-demand DAP

instances. These computations were performed

using the CPLEX 7.0 callable library on a SUN

Ultra-10 Workstation with 256 MB of RAM.

Table 1 provides the computational times in sec-

onds required to solve each of the 10 test instances

for all four test sets, where ‘‘LP’’ refers to theCPLEX Simplex linear programming algorithm

and ‘‘MCF’’ refers to the minimum cost flow al-

gorithm. As expected, the minimum cost flow al-

gorithm for solving (3) is significantly faster than

solving (1) via linear programming, and moreover,

the computational savings afforded by the mini-

mum cost flow approach become amplified as the

problem size increases.For the equally weighted case we analyze the

performance of the bipartite highest-label preflow-

push algorithm, abbreviated in Table 2 as ‘‘MAX’’,

in solving the maximum flow problem. We utilize

the same test bed of problems before, except that

each shortage penalty is fixed equal to its demand

value. Table 2 displays a summary of these com-

putational results by reporting the average execu-tion time encountered for these instances. The

maximum flow algorithm executes significantly

faster than the minimum cost flow algorithm as

Table 1

Comparison of linear programming and minimum cost flow algorithm

Instance Set 1 Set 2

LP MCF LP M

1 0.32 0.10 0.82 0

2 0.27 0.09 0.67 0

3 0.29 0.10 0.70 0

4 0.28 0.09 0.78 0

5 0.31 0.10 0.70 0

6 0.28 0.10 0.73 0

7 0.28 0.11 0.71 0

8 0.30 0.10 0.70 0

9 0.28 0.10 0.86 0

10 0.31 0.11 0.71 0

Average 0.29 0.10 0.74 0

expected, and the linear programming approach

remains inferior to both network algorithms. As

an additional advantage, the maximum flow al-

gorithm (implemented in C++) does not require

the use of advanced software packages such as

CPLEX.

The results displayed in these tables confirm

that if this problem is to be solved only once, thecomputational differences are academic. However,

there exists much promise for this problem�s role

as a subproblem within a complex algorithmic

scheme (see the discussion in Section 4 for a more

elaborate discussion of potential algorithms).

Hence, when this subproblem is repeatedly used as

the key ingredient of an algorithm, the computa-

tional savings afforded by these network modelsbecome substantial.

3. The nonsplit-demand problem

Recall that the nonsplit-demand variation of

DAP does not permit splitting of demands among

s

Set 3 Set 4

CF LP MCF LP MCF

.16 1.31 0.22 2.85 0.30

.15 1.17 0.22 3.04 0.32

.15 1.47 0.23 3.04 0.32

.14 1.67 0.23 2.88 0.36

.14 1.25 0.22 3.61 0.31

.15 1.43 0.22 3.42 0.32

.14 1.16 0.24 2.88 0.30

.14 1.43 0.23 3.03 0.35

.15 1.36 0.23 2.99 0.34

.15 1.28 0.21 3.14 0.33

.15 1.35 0.23 3.07 0.33

Page 8: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

666 J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672

rings; that is, a demand pair must be satisfied en-

tirely by one ring or by none at all. In the linear

programming formulation (1) we formulate the

nonsplit-demand DAP by replacing (1d) with

fqk 2 f0; 1g 8q 2 E; k 2 M and

wq P 0 8q 2 E: ð5Þ

This problem becomes quite difficult, even in the

equally weighted case, as indicated by the follow-

ing proposition.

Proposition 1. The nonsplit-demand DAP isstrongly NP-Complete.

Proof. First, define the decision variant DDAP of

our problem as follows: does there exist a feasible

solution to (1b), (1c) and (5) such that the objec-

tive function value given by (1a) is no more than Kfor some given value of KP 0? Clearly, DDAP

is in the class NP, since given a yes-instance of

DDAP, we may verify in polynomial time whether

or not an inputted guess (given by the polynomial-length solution vector f ) proves the DDAP in-

stance as a yes-instance. To show that DDAP is

strongly NP-complete, we transform problem 3-

PARTITION to DDAP. Problem 3-PARTITION

is defined as follows by Garey and Johnson [8]:

given a set A of 3a items, a positive integer bound

B, and a positive integer size sa for each a 2 A such

that B=4 < sa < B=2, and such thatP

a2A sa ¼ aB,can A be partitioned into a disjoint sets A1; . . . ;Aa

such that for 16 i6 a,P

a2Aisa ¼ B? To transform

an instance of 3-PARTITION to an instance of

DDAP, we construct a demand graph G having a

set N of 6a nodes, and edge set E having 3a arcs.

Each item a represents an edge connecting node ato node 3aþ a, and has da;3aþa ¼ /a;3aþa ¼ sa. We

then construct a rings, each containing every nodein N , and with a demand capacity of b ¼ B. Settingour objective function goal as K ¼ 0, an instance

of 3-PARTITION is a yes-instance if and only if

this transformed instance of DDAP is a yes-

instance. This completes the proof. �

Proposition 1 demonstrates that no polynomial-

time solution exists for the nonsplit-demand DAP

unless P ¼ NP. Hence, if this problem must be

solved in real time, it is prudent to resort to a

heuristic procedure. We prescribe one such heu-

ristic in Section 3.1.

3.1. Nonsplit-demand heuristic

The algorithmic idea mentioned in Remark 2

suggests a heuristic scheme for the nonsplit-

demand version. First, we sort the demand pairs in

nonincreasing order of their /=d ratios, and iter-

atively try to assign each of them to the network.

Suppose the algorithm is currently attempting to

place demand pair �qq on the ring network. If noring in P�qq exists with enough remaining capacity to

satisfy demand pair �qq, then �qq is left unsatisfied.

Otherwise, let bPP �qq be the set of all rings having

enough unassigned capacity to satisfy demand pair�qq. We assign �qq to a ring k 2 bPP �qq according to one of

the following rules:

Rule (a). Ring k has the most remaining capacity

of all rings in bPP �qq.

Rule (b). Ring k has the smallest sum of unexam-

ined demands dq such that q 2 Dk of all

rings in bPP �qq.Rule (c). Ring k has the smallest sum of unexam-

ined shortage penalties /q such that

q 2 Dk of all rings in bPP �qq.

Rule (d). Ring k has the smallest sum of unexam-

ined shortage penalty-to-demand ratios

/q=dq such that q 2 Dk of all rings in bPP �qq.

Each of these rules anticipates the use of the ringsin satisfying demands during subsequent iterations

of the heuristic. Rule (a) is the most rudimentary

of the options, examining only the remaining ca-

pacity of each ring. The last three rules evaluate

rings based on the sum of demands, penalties,

or penalty-to-demand ratios of demand pairs that

have yet to be examined by the algorithm, and that

could be assigned to the ring. In this fashion, theheuristic is able to guess which ring will be the least

requested to satisfy demand pairs at future itera-

tions.

Table 3 displays the average solution gap ob-

tained by each of the four rules, where the opti-

mality gap is measured by 100� ½ðheuristic

Page 9: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

Table 3

Comparison of heuristic variations

Average Rule (a) Rule (b) Rule (c) Rule (d)

Set 1 gap 3.37 3.27 3.23 3.09

Set 2 gap 1.26 1.26 1.25 1.19

Set 3 gap 0.64 0.56 0.58 0.56

Set 4 gap 0.36 0.36 0.36 0.36

J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672 667

value�optimal valueÞ=optimal value�. (The opti-

mal values for these problems are determined by

the integer programming algorithm described in

Sections 3.2 and 3.3.) Each of these heuristics ex-

ecute in approximately 0.26 seconds for Set 1 in-

stances, 0.55 seconds for Set 2 instances, 1.17

seconds for Set 3 instances, and 4.51 seconds for

Set 4 instances, with little variation among choicesof rules and among instances belonging to the

same set. The Rule (d) variation provides the best

answers on average to Sets 1 and 2 instances, and

the second best average answers to Sets 3 and 4

instances (the average solution for Rule (c) is very

slightly better than the average solution for Rule

(d) on Set 4). We thus use solutions provided by

this heuristic under Rule (d) to provide incumbentsolutions to the integer programming problems.

These results also indicate that the solutions pre-

scribed by this heuristic (for any of the rules)

provide relatively tighter upper bounds to the

optimal solutions as the problem size grows.

3.2. Model enhancements

Our exact solution procedure will utilize a

branch-and-bound procedure to solve the non-

split-demand problem. Unfortunately, the linear

relaxation to this problem given by (1) does not

necessarily provide a tight approximation to the

convex hull of integer feasible solutions. To im-

prove the strength of the underlying relaxation, we

investigate the use of some standard valid in-equalities toward improving the solvability of the

nonsplit-demand problem. To accomplish this

aim, we define the following polyhedra:

Xk ¼ f :Xq2Dk

dqfqk

(6 b; fqk 2 f0; 1g 8q 2 Dk

);

ð6Þ

for all k 2 M . Clearly, the feasible region to (1c) is

given byT

k2M Xk. Our tightening procedures will

utilize information of some well-known properties

of integer knapsack polyhedra in an effort totighten each of the individual Xk regions. These

procedures are based on the work of Balas [4]

involving facets obtained from knapsack covers,

and involve the identification and implementation

of three classes of cover constraints: 2-covers, 3-

covers, and consecutive variable covers. (We define

an s-cover as a cover with cardinality s. The readeris referred to [4] for more basic cover-related def-initions used in this subsection.)

Define nk ¼ jDkj, and for notational ease, sup-

pose that Dk ¼ fq1; q2; . . . ; qnkg, and that dqi P dqjfor 16 i < j6 nk. Also, we drop the second index

on the f -variables in this subsection, since only

one polyhedron Xk corresponding to some ring

k 2 M is considered at a time. For a fixed value of

s, the identification and lifting of strong s-covers tofacets of Xk can be done in a polynomial number of

steps in terms of nk and s. To generate strong 2-

covers, we execute the following procedure.

Procedure 1. Assume that dq1 þ dq2 > b, or else

this procedure would be skipped. Set j :¼ nk and

i :¼ nk � 1, and define pj ¼ 0 for all j ¼ 2; . . . ; nk.

Step 1. If dqi þ dqj > b, go to Step 2. Otherwise, go

to Step 3.

Step 2. Record the 2-cover indices as an ordered

pair ði; jÞ, and set pj :¼ i. If i ¼ j� 1,

terminate the procedure. Otherwise, set

j :¼ j� 1 and i :¼ j� 1, and return to

Step 1.

Step 3. If i ¼ 1 then set j :¼ j� 1 and i :¼ j� 1,else set i :¼ i� 1. Return to Step 1.

Step 2 ensures that only strong cover indices are

generated by decrementing j when a 2-cover in-

volving j and pj is discovered. Moreover, for all

j 2 f2; . . . ; nkg such that pj > 0, the constraint

Xpji¼1

fqi þ fqj 6 1 ð7Þ

is facet inducing to Xk.

Page 10: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

668 J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672

We next turn our attention to the generation

and lifting of strong 3-covers via a similar but

slightly more complex method. Procedure 2 as-

sumes that Procedure 1 has already been per-

formed to identify pj for all j ¼ 2; . . . ; nk. We alsoassume that dq1 þ dq2 þ dq3 > b or else no 3-cover

exists, and that dqnk�2þ dqnk�1

6 b or else no mini-

mal 3-cover exists.

Procedure 2. Initialize j :¼ nk, i :¼ nk � 1, h :¼nk � 2, and lasth :¼ pi þ 1.

Step 1. If dqh þ dqi þ dqj > b, go to Step 2. Other-wise, go to Step 3.

Step 2. Record the 3-cover indices as an ordered

triple (h; i; j). If h ¼ i� 1 and i ¼ j� 1,

terminate the procedure. Otherwise, set

lasth :¼ h and go to Step 4.

Step 3. If h > lasth then set h :¼ h� 1 and return

to Step 1. Else, proceed to Step 4.

Step 4. If i > hþ 1, set i :¼ i� 1, h :¼ i� 1, andlasth :¼ maxðpi þ 1; lasthÞ. Otherwise, set

j :¼ j� 1, i :¼ j� 1, h :¼ i� 1, and

lasth :¼ pi þ 1. Return to Step 1.

Observe that this procedure is an Oðn3kÞ searchthat identifies all strong covers. (The argument for

this claim is a straightforward proof by con-

tradiction, and is omitted here for brevity.) Givena 3-cover fh; i; jg, we generate the following valid

inequality for Xk:

2Xg�1

t¼1

fqt

!þXht¼g

fqt þ fqi þ fqj 6 2; ð8Þ

where g is the smallest index such that dqg þdqj 6 b, and where the first term is empty if g ¼ 1.

The lifting argument for (8) is sequence-indepen-

dent, and can easily be shown to induce a facet for

Xk.

Finally, we discuss a class of valid inequalities

that are not necessarily facet inducing to Xk, butare easy to obtain and can be quite useful in

tightening integer polyhedra. In the generation of

2-covers (3-covers), the last cover to be generated,

if any exists, has indices of the form fh; hþ 1g (or

fh; hþ 1; hþ 2g). The idea behind the following

procedure is to obtain one valid inequality from

each of the s-cover classes, namely, the last such

cover that would be generated by an extension of

Procedures 1 and 2 to general integer values of s.These valid inequalities are called consecutivevariable inequalities, and are generated by the fol-lowing procedure.

Procedure 3. Set s :¼ 1, j :¼ 1, and flag :¼ 0.

Step 1. IfPjþs

i¼j dqi > b, go to Step 2. Otherwise, go

to Step 3.

Step 2. If jþ s ¼ nk, record the indices of the (sþ1)-cover as the sequence (j; jþ 1; . . . ; nk)and terminate. Otherwise, set flag :¼ 1, in-

crement j by 1, and return to Step 1.

Step 3. If flag ¼ 0, go to Step 5. Otherwise, pro-

ceed to Step 4.

Step 4. Record the (sþ 1)-cover as the sequence

ðj� 1; j; . . . ; jþ s� 1Þ. Set flag :¼ 0, and

proceed to Step 5.

Step 5. If jþ s ¼ nk, then terminate, else set s :¼sþ 1 and repeat Step 1.

If the Procedures 1 and 2 have already been

executed, we would disregard the 2- and 3-covers

returned by this procedure, since inequalities cor-

responding to these covers would already have

been generated. Procedure 3 is of complexity OðnkÞsince the computed sums in Step 1 are updated inconstant time at each iteration, and the covers are

recorded simply as endpoints of an interval.

We use the following idea from [4] to provide a

valid lifting of the variables in the extension of the

consecutive variable covers. Define li to be the

largest integer such that

dqi PXjþli�1

h¼j

dqh : ð9Þ

Then the following constraint is valid to Xk:

Xj�1

i¼1

lifqi þXjþs

i¼j

fqi 6 s: ð10Þ

Note that (10) is not necessarily facet inducing,

since it is possible that the coefficients li may belifted to a further extent.

Page 11: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672 669

We now investigate the effect of enhancing eachregion Xk for k 2 M by executing combinations of

Procedures 1–3 for all k 2 M . Table 4 shows the

average number of inequalities of each type iden-

tified by these procedures.Table 4 shows that a vast number of valid in-

equalities are identified by Procedure 3 for our test

problems. Preliminary computational results dem-

onstrate that it is not practical to include this many

inequalities within the model. Accordingly, we

attempt to identify and incorporate only those

inequalities that are most likely to be active near

optimal solutions. We conducted an experiment inwhich inequalities were only added to the model if

they cut off the optimal LP solution. Table 5

provides the average number of 2C, 3C, and CV

cutting planes added to the model under this

conditional rule.

We discover that a small percentage of in-

equalities identified by Procedures 1–3 are actually

Table 4

Average number of valid inequalities generated from Procedures 1–3

Average Set 1 S

2-Cover inequalities 88.7

3-Cover inequalities 4898.5 2

Consecutive variable inequalities 100.5

Table 5

Number of cutting planes conditionally generated

Average Set 1 S

2-Cover inequalities 2.5

3-Cover inequalities 44.3 5

Consecutive variable inequalities 6.3

Table 6

Effectiveness of conditionally generated 2C, 3C, and CV combination

Average CPU time (seconds)

Set 1 Set 2 Set 3 Set

No inequalities 66.04 781.55 227.26 739.

2C 71.84 672.59 287.17 921.

3C 49.02 831.75 250.49 717.

CV 33.44 544.54 256.92 582.

2C and 3C 47.19 1056.04 261.47 769.

2C and CV 35.20 705.47 234.25 533.

3C and CV 35.58 973.94 309.64 774.

2C, 3C, and CV 32.45 572.59 258.43 744.

responsible for strengthening the linear relaxation.

Note that the number of 3C inequalities included

in the model is much smaller under this condi-

tional rule, and hence becomes a viable algorith-

mic option for these problems.Table 6 displays the average computational

times and LP optimality gaps, given by 100�½ðoptimal value� LP valueÞ=optimal value�, for

each of the eight combinations of 2C, 3C, and CV

inequalities. Observe that the 3C and CV in-

equalities are more effective in improving the LP

relaxation than the 2C inequalities. The use of all

three classes of inequalities is the most effectiveoption in solving the Set 1 instances, since the LP

relaxation for these instances are weak enough to

warrant the addition of model enhancements.

However, the use of only CV inequalities yields the

most efficient option for Set 2, due to the lack of

effectiveness of the 2C inequalities and to the

number of 3C inequalities needed to provide ample

et 2 Set 3 Set 4

235.9 534.7 1106.2

0,131.1 57,236.2 154,312.2

203.3 312.2 497.3

et 2 Set 3 Set 4

2.5 2.2 2.0

8.7 72.3 117.0

9.4 9.0 7.3

s

Average (%) LP gap

4 Set 1 Set 2 Set 3 Set 4

12 0.261 0.125 0.028 0.118

84 0.259 0.124 0.028 0.113

11 0.246 0.115 0.027 0.109

77 0.244 0.116 0.023 0.080

44 0.244 0.114 0.027 0.104

71 0.242 0.115 0.023 0.075

33 0.231 0.105 0.022 0.070

65 0.230 0.104 0.021 0.066

Page 12: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

Table 7

Computational comparison of variable branching orders

Average Set 1 Set 2 Set 3 Set 4

Default 32.45 544.54 227.26 533.71

Ordering 1 17.21 559.57 93.72 289.17

Ordering 2 15.78 510.68 84.29 261.16

Ordering 3 17.25 695.27 341.62 227.92

Ordering 4 590.86 3875.03 319.43 192.49

670 J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672

tightening. No inequalities should be used to en-

hance the Set 3 instances, since the LP relaxation

tends to be very tight for this class of problems.

Finally, for the Set 4 instances, the use of 2C and

CV together seems to provide the most efficientimplementation, due perhaps to the effectiveness of

the CV inequalities (and to a lesser extent, the 2C

inequalities) in tightening the initial linear pro-

gramming relaxation.

It is of interest that Set 2 instances are sub-

stantially more difficult to solve than Set 3 in-

stances, despite containing fewer variables and

constraints. A more detailed investigation foundthat CPLEX 7.0 reduces the absolute optimality

gap to zero for many Set 3 instances via an

assortment of algorithmic strategies and cutting

planes. Hence, the majority of the computational

time for Set 3 instances is spent identifying the

integer feasible solution corresponding to the

lower bound, while for Set 2 problems, several

branch-and-bound nodes are explored before thelower bound is improved sufficiently in order to

prove optimality. (This behavior is a common

theme in mathematical programming approaches

to problems related to partitioning or bin pack-

ing.)

3.3. Variable branching orders

At each iteration of a branch-and-bound pro-

cedure, an active node is selected and branching is

performed on some fractional variable. Although

CPLEX 7.0 selects the variable to be branched on

by some general strategy, it is often preferable to

set branching priorities for the variables to ensure

the integrality of certain key variables before

branching on others. We investigated four cus-tomized branching orders for this problem. The

first branching order stipulates that variables cor-

responding to demand pairs having larger de-

mands are branched on before those variables

corresponding to pairs with smaller demands. The

second branching order is the same as the first,

except that the variables corresponding to larger

penalties are branched on first, and the thirdbranching order considers variables corresponding

to larger penalty-to-demand ratios first. The fourth

branching order considers variables corresponding

to a higher-indexed ring before branching on

variables corresponding to a lower-indexed ring.

This ordering was chosen to demonstrate the

effect of assigning priority groups to variables

corresponding to a ring versus a demand pair.These four branching orders are formally stated

below.

Ordering 1. Branch on fq̂qk̂k for some q̂q 2 E and

k̂k 2 Pq̂q only if fqk is binary for all q:dq > dq̂q and k 2 Pq.

Ordering 2. Branch on fq̂qk̂k for some q̂q 2 E and

k̂k 2 Pq̂q only if fqk is binary for all q:/q > /q̂q and k 2 Pq.

Ordering 3. Branch on fq̂qk̂k for some q̂q 2 E and

k̂k 2 Pq̂q only if fqk is binary for all q:/q=dq > /q̂q=dq̂q and k 2 Pq.

Ordering 4. Branch on fq̂qk̂k for some q̂q 2 E and

k̂k 2 Pq̂q only if fqk is binary for all

k < k̂k and q 2 Dk.

The average computational times in seconds

required to solve the test problems using these

node orderings are displayed in Table 7. We use

conditionally generated 2C, 3C, and CV inequali-

ties for Set 1 problems, the conditional CV in-

equalities for Set 2 problems, no inequalities for

Set 3 problems, and conditionally generated 2C

and CV inequalities for Set 4 problems. The heu-ristic of Section 3.1 was executed to provide in-

cumbent solutions in all test instances. Additional

rules were also tested (e.g., those representing the

opposite of orderings 1–3), but were not found to

be more effective than the default CPLEX strategy.

We recommend the use of the second branching

order in solving these problems, although there is

evidence that the fourth branching order may be-come preferable for very large instances. The sec-

ond branching order, along with the appropriate

Page 13: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672 671

valid inequality generation as discussed in the

previous subsection results in overall computa-

tional reductions of 76%, 35%, 63%, and 74% for

Sets 1–4 instances. The third branching order

yields surprisingly poor results for the first threesets, given the intuition that demand pairs having

larger penalty-to-demand ratios should be deter-

mined first. The results from utilizing the fourth

branching order are shown here to illustrate the

merits of branching in variable groups according

to demand pairs versus according to rings for

small to medium-size instances.

4. Summary and future research

We develop models and solution procedures in

this paper for solving a problem arising in the

design of modern SONET-based networks. For

the case in which demands may be split among

multiple rings, we formulate a minimum cost flowmodel that requires only about 33% of the com-

putational time required to solve a traditional

linear programming model for small instances, and

about 10% of the computational time for larger

instances. For the special case in which all de-

mands have equal transmission importances, we

provide a transformation to a maximum flow

problem whose solution requires only about 60%of the computational time required to solve the

minimum cost flow problem developed for the

general split-demand case. For the problem vari-

ation in which demands may not be split among

multiple rings, we formulate an integer program,

and demonstrate how the solvability of our model

can be improved by incorporating a heuristic for

obtaining an initial upper bound to the objectivefunction, adding standard valid inequalities to the

model at the root node of the branch-and-bound

tree, and customizing the variable branching order

based on given instance data.

In addition to their direct application to tele-

communication problems, the algorithms described

in this paper also provide an efficient methodology

for evaluating the effectiveness of a proposed SO-NET design in satisfying a set of network de-

mands. For example, previous studies have shown

that the ring design problem mentioned in Section

1 becomes difficult to solve within practical com-

putational limits for demand graphs containing

nP 20 nodes. Hence a local search or metaheu-

ristic technique may be employed to heuristically

solve large design problems, requiring the solutionof this subproblem at every iteration. In the case

where a discrete set of random demands are given,

we may wish to minimize the expected short-

age penalty arising from a network design. In

these types of problems, DAP must be repeat-

edly solved for each of the possible outcomes at

each iteration. In the context of exact solution

procedures, we may use DAP as a subproblemwithin a decomposition algorithm to solve com-

plex design problems (see for example [21], where

the DAP duals are utilized within an L-shaped

approach to solving a stochastic ring design

problem).

Several opportunities exist for the continuation

of this study. Given the success of the maximum

flow algorithm in solving the split-demand DAP,we may further develop the successive maximum

flow routine mentioned in Remark 2 to compare

its efficiency in solving test problems versus other

established minimum cost flow routines. For the

nonsplit-demand DAP, one promising avenue for

future research may involve the empirical analysis

of a branch-and-cut algorithm, in which cutting

planes are added to each subproblem in thebranch-and-bound tree, instead of just at the linear

programming relaxation at the root node of the

branch-and-bound tree as done in this study. Ad-

ditionally, the variable branching orders analyzed

in Section 3.3 resulted in substantial computa-

tional savings for Sets 1, 3, and 4 instances, but

were inconsistent for the Set 2 instances. A future

computational study could focus on the identifi-cation of data characteristics for which different

branching orders perform most effectively, or on

the effects of jointly incorporating inequalities and

enforcing certain branching orders.

Acknowledgements

The author was supported by Defense Ad-

vanced Research Projects Agency Grant

#N66001-01-1-8925. The author also expresses his

Page 14: Algorithms for distributing telecommunication traffic on a multiple-ring SONET-based network

672 J. Cole Smith / European Journal of Operational Research 154 (2004) 659–672

appreciation to the Editor and three anonymous

referees for their remarks that led to an improved

presentation of the paper.

References

[1] R.K. Ahuja, J.B. Orlin, C. Stein, R.E. Tarjan, Improved

algorithms for bipartite network flow, SIAM Journal on

Computing 23 (5) (1994) 906–933.

[2] R.K. Ahuja, M. Kodialam, A.K. Mishra, J.B. Orlin,

Computational investigations of maximum flow algo-

rithms, European Journal of Operational Research 97 (3)

(1997) 509–542.

[3] R.K. Ahuja, T.L. Magnanti, J.B. Orlin, Network Flows,

Prentice Hall, New Jersey, 1993.

[4] E. Balas, Facets of the knapsack polytope, Mathematical

Programming 8 (1975) 146–164.

[5] G. Belvaux, N. Boissin, A. Sutter, L.A. Wolsey, Optimal

placement of add/drop multiplexers: Static and dynamic

models, European Journal of Operational Research 108 (1)

(1998) 26–35.

[6] S. Cosares, I. Saniee, An optimization problem related to

balancing loads on SONET rings, Telecommunication

Systems 3 (1994) 165–181.

[7] M. Dell�Amico, M. Labb�ee, F. Maffioli, Exact solution of

the SONET ring loading problem, Operations Research

Letters 25 (1999) 119–129.

[8] M. Garey, D. Johnson, Computers and Intractability: A

Guide to the Theory of NP-Completeness, W.H. Freeman,

San Francisco, 1979.

[9] A.V. Goldberg, Recent developments in maximum flow

algorithms, Algorithm Theory: SWAT�98 6th Scandina-

vian Workshop on Algorithm Theory, Proceedings 8–10,

1998, pp. 1–10.

[10] A.V. Goldberg, R.E. Tarjan, A new approach to the

maximum-flow problem, Journal of the Association for

Computing Machinery 35 (1988) 921–940.

[11] O. Goldschmidt, D.S. Hochbaum, A. Levin, E.V. Olinick,

The SONET edge-partition problem, Networks, in press.

[12] O. Goldschmidt, A. Laugier, E.V. Olinick, SONET/SDH

ring assignment with capacity constraints, Discrete Applied

Mathematics, in press.

[13] N. Karunanithi, T. Carpenter, SONET ring sizing with

genetic algorithms, Computers and Operations Research

24 (6) (1997) 581–591.

[14] M. Laguna, Clustering for the design of SONET rings in

interoffice telecommunications, Management Science 40

(11) (1994) 1533–1541.

[15] Y. Lee, H.D. Sherali, J. Han, S. Kim, A branch-and-cut

algorithm for solving an intra-ring synchronous optical

network design problem, Networks 35 (2000) 223–232.

[16] Y. Myung, H. Kim, D. Tcha, Optimal load balancing on

SONET bidirectional rings, Operations Research 45 (1)

(1997) 148–152.

[18] J.B. Orlin, A faster strongly polynomial minimum cost

flow algorithm, Operations Research 41 (2) (1993) 338–

350.

[20] H.D. Sherali, J.C. Smith, Y. Lee, Enhanced model

representations for an intra-ring synchronous optical

network design problem allowing demand splitting, IN-

FORMS Journal on Computing 12 (2000) 284–298.

[21] J.C. Smith, A. Schaefer, J. Yen, A Benders� decomposition

approach for solving a stochastic intra-ring synchronous

optical network design problem, Working Paper, Depart-

ment of Systems and Industrial Engineering, University of

Arizona, Tucson, 2001.

[22] A. Sutter, F. Vanderbeck, L. Wolsey, Optimal placement

of add/drop multiplexers: Heuristic and exact algorithms,

Operations Research 46 (5) (1998) 719–728.

[23] T. Wu, Fiber Network Service Survivability, Artech

House, Boston, 1992.