algorithms for distributing telecommunication traffic on a multiple-ring sonet-based network
Post on 04-Jul-2016
213 Views
Preview:
TRANSCRIPT
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: cole@sie.arizona.edu (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.
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
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
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
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.
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
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
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
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.
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.
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
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
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
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.
top related