$6.00+ 0.00 PergamonPress Ltd
Mathl. Comput. ModellingVol. 17, No. 8, pp. 49-61, 1993 Printed in Great Britain
0895-7177193
A NEW OPTIMAL ALGORITHM FOR BACKBONE TOPOLOGY DESIGN IN COMMUNICATIONS NETWORKS Z. R. BOGDANOWICZ AT&T Bell Laboratories,Lincroft,NJ 07738,U.S.A. (Received
April 1991; accepted June
199.2)
Abstract-In this paper, we presentan exact algorithm(OPTNET) to designan optimalbackbone network.We considerthe classicalbackbonedesignproblemunderdiscreteconstraintsimposedon the transmissionlinesand trafficrouting. That is, we assumethat the node and circuit requirementsare given. The objective is to find the minimumcost link topology that satisfiesall circuit requirements. This problem is relatedto the discretemulticommodityflow problemin mathematics.We show that OPTNET is practicalin designingsmalland mediumsize networks. 1. INTRODUCTION This paper describes an exact algorithm to design a minimum cost communication backbone network (OPTNET) under highly non-linear constraints. The network design problems have been widely studied in literature [l-3] and shown to be NP-hard [4,5]. Although the time complexity of the network optimization is enormous in general, we show that for small networks, we can find the optimal solution in reasonable time. This can be accomplished by the enumeration of feasible routings together with efficient pruning techniques. In this paper, we will develop a scheme to generate the set of feasible networks that will contain an optimal feasible network. The objective of such a scheme is to efficiently enumerate the feasible networks and use pruning functions to minimize the cardinality of the set of the feasible networks generated. Thus, each pruning function must not prune all optimal feasible networks (at least one of them must remain). Communications networks consist of nodes and transmission lines (or facilities). Nodes have two main functions-multiplexing and switching [6]. Multiplexing nodes (Multiplexers) can multiplex many low speed data lines together onto a single high speed link. Switching nodes (Switches) allow either to switch or cross-connect data circuits between the links. Transmission lines carry the information between the endpoints (source and destination) of the network. Figure 1 illustrates a typical high speed communication network of four multiplexers, three switches, and eight transmission lines. The part of the network that contains all nodes and all transmisssion lines between multiplexers and switches is called the Access Network [7]. Thus, the access network of Figure 1 consists of nodes Ml, M2, M3, M4, Sl, S2, S3 and transmission lines (Ml,Sl), (M2, S2), (M3, S3), and (M4, Sl). The part of the network that contains all switches and all transmission lines between them is called the Backbone Network [7]. Thus, the backbone network of Figure 1 consists of nodes Sl, S2, S3 and transmission lines (Sl, S2), (Sl, S3), (Sl, S3), (S2, S3). Note, the low speed transmission lines that are multiplexed together in nodes Mi, . . . , M4 are not shown in Figure 1. In this paper, we consider only the backbone part of a communication network with given locations of switches Si, . . . , S,. Thus, the design of the backbone network in our case means the generation of the necessary transmission lines between the switches that satisfy the routing constraints of the user specified circuit requirements. Since the nodes are given, the cost of node related equipment is discarded in the network design process. In general, the cost of transmission lines depends on their length, type, and utilization. We assume that their Typeset 49
by AJMS-‘&X
50
Z.R.
BOGDANOWICZ
Figure 1. Typical communication
network.
cost is only distance sensitive. In addition, we allow any transmission line between the switches to be fixed for the design purpose. The cost of such a line is discarded in the network design. Despite focusing only on part of the communication network, the complexity of the design task is enormous. We discuss the time complexity of the backbone network design in Section 2. In Section 3, we define notation and terminology used in the following sections. In Section 4, we give a formal statement of the design problem. In Section 5, we present the OPTNET algorithm and prove its correctness. In Section 6, we describe a few pruning functions that might be implemented in OPTNET in order to speed up its execution. Finally, in Section 7, we propose a quick heuristic (STARTNET) to design and price the initial backbone network for the OPTNET Algorithm. 2. DESIGN
COMPLEXITY
Consider the problem of designing the minimum cost network that satisfies a given set of criteria. The optimal solution can be found through the enumeration process. In order to illustrate this approach, we consider a design of an n node network with no more than q transmission lines per each pair of nodes, that will satisfy k circuit requirements. In addition, we allow many circuit requirements defined over a single pair of nodes. Now, if one could efficiently enumerate all the feasible networks, the problems could be solved using the following algorithm: Step 1: Start with minimum-cost = 00 and i = 1. Step 2: Generate the ith unique feasible network that satisfies all the constraints, and compute its cost i-cost. Step 3: If i-cost < minimum_cost, then minimum-cost = i-cost and save the ith network. Step 4: If the ith network is the last feasible network, then Stop. Otherwise, i = i + 1 and go to Step 2. This simple algorithm finds the optimal network and terminates after a finite amount of steps. The only problem is that the number of steps required can be huge even for the small networks (3, 4, or 5 nodes), because it requires the enumeration of all feasible networks. For n = 3, q = 2, and k = 1, there are exactly six such networks (Figure 2). However, as n, q, and k increase, the number of networks grows dramatically. It is easy to show that the number of networks equals n-2
IR(n,q,k)J
=
(n-2)lcG
1 k
,
i=o
P-1)
where n(n, q, k) d enotes the set of all feasible networks of n nodes, k circuit requirements, and at most q transmission lines for any pair of nodes. Hence, for five nodes (n = 5), up to one line per pair of nodes (q = l), and ten circuit requirements (k = 10) there are jfl(5,l,lO)l = 161° networks. Clearly, it is difficult to handle this type of growth in complexity.
v
Backbone topology design
........ A .::.....:.: B ‘.
51
:
:
. :
.
c
v . .. . A . . . . . . ..B : : : .:
(q::p ... \ ... c
I :
6
.. c
:
Figure 2. All feasible networks for n = 3. Solid lines represent the routing of a circuit requirement between nodes A and B.
3. NOTATION
AND TERMINOLOGY
In order to formulate the backbone design problem, we introduce the following notation: G=
(V,E) n
P:
Me
undirected graph with set of
Ge
vertices V and set of edges E
R”
number of vertices in G number of edges in G complete multigraph of order n with q edges between each pair of
WE)
vertices
44)
capacity
cost of edge e contained in E ith routing over G (set of all feasible flows over G) ith commodity
flow [*‘f(E),
,V@,,(c)lT
in Rt routing f-l
set of all routings over G set of all edges incident to vertex vi
of edge e contained in E
We extend .the definition of an undirected graph to a backbone network as follows: H = (V; El,. . .,I&; 211,. . .) u,) represents the backbone network H with set of nodes V and lines Ei .. . of utilization Ui, 2 = 1, . . . , m. In addition, m represents the number of transmission lines in the network. We assume that line Ei exists if its corresponding utilization is greater than zero, ui > 0. If ui = 0, then line Ei does not exist but is considered as a candidate during the network design process. For example,, H = ({VI, ~2, ~3); (VI, vs), (~2, ~3); 1,O) represents a three node network with one existing (vi, ~3) and one candidate (~2, ~a) transmission. For convenience, we define a link as a set of i parallel transmission lines between any two nodes in the network, i I q. In this paper, we will refer to each transmission line by the term facility. We also define the multicommodity logical flow XIJ= (\Ee)eE~ induced by the Rc routing as follows: 1, if CE, Q:(t) > 0, *e(S) = (3.1) 0, otherwise. 4. PROBLEM
DESCRIPTION
The backbone design problem is related to the discrete multicommodity flow problem in mathematics [5]. Hence, it cannot be solved by the standard linear programming methods. Enumeration together with pruning is a technique that produces the optimal solution. In fact, it might be a very efficient way to design small size networks (e.g., 3, 4, 5, or 6 nodes), if well implemented. Thus, in this paper, we formulate the design problem as a combinatorial optimization problem.
4.1. Problem Statement Given n locations of nodes, a capacity matrix defined over all m edges, and a cost matrix defined over all v pairs of nodes, design the minimum cost link topology that satisfies capacity constraints and all k circuit requirements defined over some pairs of nodes. In addition, assume that the cost of a line solely depends on its length. We do not restrict our problem to
Z.R. BOGDANOWICZ
52
one circuit
requirement
k 5 9
per pair of nodes
of them.
4.2. Mathematical
>
, but in the extreme
case allow up to k
Formulation
This problem can be formally stated as a combinatorial optimization problem. Suppose G = (V, E) is an undirected multigraph without loops. Define the ith commodity requirement 7” over G as the 3-tuple yi = (.~i, si, ti), where zi represents the size of 7” and si, ti E V represent the source and destination of yi, respectively. Let the flow qk‘”correspond to the ith commodity requirement yi. Given G = (V, E) and yi, . . . , Ye, we have the following combinatorial problem: (4.2.1)
s.t.
xq:(E)
for all e E E,
I Me,
(4.2.2)
forj=l,...,K and all vi E V - {sj} C eEW(Sj)
Q:(c)=
C
‘kj,(c)=zj,
forj=l,...,
K,
- {tj},
(4.2.3) (4.2.4)
eEw(tj)
fori=l,...,K and all e E E.
(4.2.5)
Hence, if one could efficiently enumerate all the feasible routings over G in a reasonable time, this problem reduces to finding a routing RF E R that minimizes (4.2.1). Constraint (4.2.2) says that the total size of flows on each transmission line e E E cannot exceed its capacity Me. Constraints. (4.2.3) and (4.2.4) are direct consequences of Kirchhoff’s conservation law in the vertices, for the undirected case. Constraint (4.2.5), in conjuction with the conservation law in the vertices, imposes an additional constraint on the routing of the channel groups through the network: for each vertex vi E V, it allows at most two incident transmission lines to carry a channel group flow \Irj, j = 1,. . . , K. 5. THE
ALGORITHM
In this section, we present an optimal backbone network design algorithm (OPTNET) for solving problem (4.2.1). Figure 3 shows the input and output of the algorithm and Figure 4 describes the recursive procedure of OPTNET. The underlying multigraph G(V, E) is represented of integral size zi (implied by the complete multigraph Kz, the z‘th channel group requirement by constraint (4.2.2), corresponds to the commodity requirement yi, and each edge has capacity Me and cost C, , e E E. OPTNET Input:
output:
Algorithm yl, . . . , yrm= : Channel group requirements H = (V; El,. . . , Em; u1, . . . , u,): Backbone Network M nxnxq: Capacity array c nX71: Cost matrix j = T-= k = 1: Initial conditions best-cost = 00, current-cost = 0: Initial conditions visited(vi,y’): Initial conditions for i = 1,. . . , n and I = 1,. . . , rmax H’ = (V, El,. . . ,E,, ~‘1,. . . , I&): Backbone Network that satisfies all the C C’E~ is minimum. channel group requirements, and whose link topology cost Io Figure 3. Input/output
for OPTNET
algorithm.
Backbonetopology design
1 2
procedure OPTNET vi, vj , ICI begin if (best-cost > current_cost) then if (visited(vj ,y’> = 0 and vi # begin
53
t, and j 5
n> then
then if (~(,,,,~,k) + z, L i’$,,,,,k)) begin if (u(&,Vj,le) = 0) then current-cost = current-cost + C(,,Vj~
3 4 5 6 7 8 9 10 11 12 13 14
q/
I, v’3, k)
‘Yv,tvj,k)
= =
;
z, ; U(vi,vj,k)
+
2,;
visited(vj,y”) = I; OPTNET(yr,vj,vl,l); visited(vj,y’) = 0; Q;V.II,,.3,k) = 0; ‘Yvi>,$k) = ‘Il(,i,Ujyk) - zr; if (?qVi,Vj,k)= 0) then current-cost = current-cost
- C(Vi,yj~;
end if UC < q> then OPTNET(yT,vi,vj,k+l); else if (j < n> then OPTNET(y”,vi,vj+l,l);
15 16 17 18
end else begin if (visited(vj,yr) = 1 and vi # t, and j < n> then OPTNET(yr,vi,vj+l,l); else begin if (vi = t, and T < T,,,~) then OPTNET(yr+l,s,.+~ ,q, I> ; else if (vi = t, and T = rmax) then begin save current network (H’ = H) and its routing; best-cost = current-cost; end end end
19 20
21 22 23 24 25
end
Figure 4. Optimal backbone topology design algorithm.
OPTNET without Line 1 includedrecursivelyenumeratesall the networks. After each generation, the H’ network and its routing is saved in Line 24. First, the channel group requirement y’ is routed from the source node SI to the destination node tl, through the “depth first” scheme of routing generation [8]. That is, for each feasible node sequence (31 = vaI, va2,. . . , va, = tl), all feasible routings are generated before the next feasible node sequence is considered. Then, after a feasible routing of channel group y1 is done, the channel group r2 is routed using the same “depth first” scheme, and so on. For example, for Ki and one channel group requirement yl, there are at most 6 feasible routings that can be generated (recall Figure 2). Each channel group
54
Z.R.BOGDANOWICZ
is routed over link (vi, vj) through Lines 4, 5, 6, 7, and 8. In particular, Line 4 decides about the generation of a new facility, Line 5 generates a facility by adding its cost to the current network cost, Line 6 saves the routing information, Line 7 updates the utilization of a facility, and Line 8 marks node vj as visited by 7”. In addition, Line 3 satisfies the capacity constraint (4.2.2) and channel group constraint (4.2.5). The routing from vi to vj is removed through Lines 10, 11, 12, 13, and 14. Line 10 unmarks the last visited node, Line 11 resets the routing information, Line 12 restores the previous utilization (utilization without current channel group contribution), Line 13 decides about deletion of the current facility, and Line 14 deletes that facility by subtracting its cost from the current network cost. Note, marking and unmarking node vj in Lines 8 and 10, respectively, assures that the same node will not be visited multiple times. Thus, the Kirchhoff’s conservation law constraints (4.2.3) and (4.2.4) are satisfied. Finally, the maximum number of parallel transmission facilities for each pair of nodes 4 is implicitly defined through the backbone network. The Algorithm is invoked by OPTNET(y’,sl ,vl ,l>, where y1 represents the lowest indexed channel group requirement, si represents the source node of requirement yi, vi is the lowest indexed node in the network, and “1” stands for the first parallel facility between vi and vj. A variable visited(vi,#) indicates whether or not a node vi was visited by the channel group requirement yl. In addition, it prevents loops and cycles through Line 2. Variables best-cost and current-cost reflect the last saved and current network cost, respectively. Recall, the network cost is insensitive to facility utilization (introduction). Thus, current-cost is increased by CEi only if utilization ui is increased from zero, and current-cost is decreased by CE~ only if utilization ui is decreased to zero (Lines 5 and 14, respectively). Since we assume that the nodes are given, the network cost depends only on the cost of used facilities. The cost matrix C,,, contains costs of transmission facilities for every possible pair of nodes. The capacity array M nxnxq contains capacities of all v 5.1. The OPTNET
transmission lines (existing and candidate lines).
Correctness
In this section, we show that OPTNET generates and finds the backbone network H’ that minimizes the link topology cost. For convenience, OPTNET with Lines 1, 4, 5, 13, and 14 included we denote OPTNET’. LEMMA 1. Given a two node network H = ({VI, vz}; El,. . . , E4; ~1,. . . , IQ), q > 1, and a single channel group requirement r1 between v1 and ~2, then Algorithm OPTNET’ generates all feasible routings that satisfy constraints (4.2.2) through (4.2.5). PROOF. We prove this by induction on q. The basis, q = 1, has four cases. Case 1: uq + ~1 > M(,,,,,,q) and s1 = ~1: there is no feasible routing. OPTNET' (7')zq ,zq ,q) terminates through Lines 2, 19, 20, and OPTNET’(7’) vl,v2,1> called from Line 20 terminates through Lines 2, 3, 15, 17. Case 2: uq + ~1 > M(,l,,,.q) and s1 = ~2: there is no feasible routing. OPTNET’(7’ ,v2 ,vl ,q) terminates through Lines 2, 3, 15, 17, 18, and OPTNET’(y’ , ~2, v2,l) called from Line 18 terminates through Lines 2, 19, 21, 23. Case 3: uq+zl 5 M(v1,v2,q) and s1 = ~1: there is exactly one feasible routing. OPTNET’(7’ , ~1, VI ,q) terminates through Lines 2, 19, 20, OPTNET’(7’ ,vl ,vz, 1) called from Line 20 terminates through Lines 2, 3, 6, 7, 8, 9, 10, 11, 12, 15, 17,and OPTNET’(r’,vz ,VI ,l> called from Line 9 terminates through Lines 2, 19, 21, 23, 24, 25. In addition, the routing between v1 and v2 is done in Line 6, saved in Line 24 (through the recursive call in Line 9), and then undone in Line 11. and s1 = VQ:there is exactly one feasible routing. OPTNET’($, 13, Case 4: u,+zl I M(V1rYZ,q) VI ,q> terminates through Lines 2, 3, 6, 7, 8, 9, 10, 11, 12, 15, 17, 18, OPTNET’(r’,vl, VI, 1) called from Line 9 terminates through Lines 2, 19, 21, 23, 24, 25, and OPTNET’ (+y’, v2,v2,1> called from Line 18 terminates through Lines 2, 19, 21, 23. In addition, the routing between v1 and v2 is done in Line 6, saved in Line 24 (through the recursive call in Line 9), and then undone in Line 11.
Backbonetopology design
55
For the inductive step, suppose OPTNET’(7’ ,SI ,vl ,l> generates all feasible routings for q facilities, q > 1. In order to generate a feasible routing for the qth facility, OPTNET’(7’ ,sl ,~l ,q> has to be called when Qi is removed from all facilities i < q. Note, OPTNET’(7’) ~1, VI ,q) generates a feasible routing for the qth facility through the same four cases as the basis. Now, if we add facility q + 1, the sequence of executed lines in each case will change. We will show that in all cases, the routing over the (q + l)th facility will take place after Xl?:is removed from facility q. In Case 1, OPTNET’(7’) ~1, VI ,q) will terminate through Lines 2,19,20, OPTNET’(y’ , ~1, v2 ,q) called from Line 20 will terminate through Lines 2, 3, 15, 16, and OPTNET’(y’ , v1 ,z+ ,q+l> called from Line 16 will produce a routing over facility q + 1 through one of the four line sequences, the same as for the basis. Note, the routing over facility q does not take place in this case. In Case 2, OPTNET’(y’ ,VZ , VI ,q) will terminate through Lines 2, 3, 15, 16, and OPTNET’(y’, v2, zq, q + 1) called from Line 16 will produce a routing over facility q + 1 through one of the four line sequences, the same as for the basis. Note, the routing over facility q does not take place in this case. In Case 3, OPTNET’(rl, VI, zq ,q) will terminate through Lines 2,19,20, OPTNET’(7’) v1 , ~2, q) called from Line 20 will terminate through Lines 2, 3, 6, 7, 8,9, 10, 11, 12, 15, 16, OPTNET’(rl, 23, v1 ,l> called from Line 9 will terminate through Lines 2, 19, 21, 23, 24, 25, and OPTNET’(7’) ~1, v2, q + 1) called from Line 16 will produce a routing over facility q + 1 through one of the four line sequences, the same as for the basis. In addition, y1 will be rerouted over facility q + 1 (recursive call from Line 16) only after it is removed from facility q through Lines 10, 11, and 12. In Case 4, OPTNET’(+yl,VZ ,JQ ,q) will terminate through Lines 2, 3, 6, 7, 8, 9, 10, 11, 12, 15, 16, OPTNET’(y’ , vl, v1 , 1) called from Line 9 will terminate through Lines 2, 19, 21, 23, 24, 25, and OPTNET’(rl, v2, vl, q + 1) called from Line 16 will produce a routing over facility q + 1 through one of the four line sequences, the same as for the basis. In addition, y1 will be rerouted over facility q + 1 (recursive call from Line 16) only after it is removed from facility q through Lines 10, 11, and 12. Thus, by the induction hypothesis, the routing over facility q + 1 in all four cases is a feasible one. I LEMMA 2. Algorithm OPTNET’ through (4.2.5).
generates all feasible routings that satisfy constraints (4.2.2)
PROOF OUTLINE. First, using Lemma 1, we show by induction on the number of nodes (same technique as in Lemma 1) that OPTNET’ generates all routings for a single channel group requirement y’ that satisfy constraints (4.2.2) through (4.2.5). Then, we use a straightforward induction on the number of channel groups, K 2 1. I THEOREM 3. Algorithm OPTNET finds the minimum cost network and the corresponding routing of the channel groups that satisfy constraints (4.2.2) through (4.2.5). PROOF. It is easy to see that adding Lines 4, 5, 13, and 14 to OPTNET’ does not affect the enumeration of the feasible routings. Lines 4 and 5 correspond to the transmission facility generation. They add the cost of the current facility between nodes vi and Vj to the cost of network topology. Lines 13 and 14 correspond to the facility reduction. They subtract the cost of the current facility between nodes vi and ~j from the cost of network topology. By adding Line 1, we prune the generation of the topologies that do not result in improving the cost. Hence, by Lemma 2, the last saved network and its routing (Lines 24 and 25) is the optimal one. I 6. PRUNING One way to represent the optimization process involving enumeration and pruning is through a decision tree. The root of such a tree corresponds to the initial link topology of the network (empty network in our case), and the other nodes of the tree correspond to all the feasible link topologies. For example, Figure 5 represents the decision tree of a three node network with at most one transmission line per pair of nodes. Complete enumeration of the feasible link topologies can be accomplished by a preorder traver-sal of such tree, in our case (a, b, C,c, 6, C,c, a, b, c, E, 8, c, E), where a, b, c represent edge traversals from the root toward the leaves, and li,6, E represent traversals from the leaves toward the root
56
Z.R. BOGDANOWICZ
Figure 5. Decision tree of a simple three node network.
of the tree. Consequently, z corresponds to the transmission line generation, and z corresponds to the transmission line removal. Suppose that each line generation/removal costs two units of time, and a pruning function of one unit of time is implemented that is a part of each line generation/removal. In such a case, the number of eliminated line traversals by the pruning function will decide whether or not it is practical. Consider again our example. The complete traversal of the tree without a pruning function implemented costs 14 traversals times 2 units of time per line traversal (28 units of time). The same tree traversal with pruning function implemented would cost 14 traversals times 3 units of time per line traversal (42 units of time). If the number of line traversals would decrease by 4 as the result of a pruning function, the actual tree traversal would cost 42 -4* 3 = 30 units of time (impractical because 30 > 28). However, if the number of pruned traversals would exceed 4, then such pruning function is practical (it reduces the execution time). In particular, if the pruning would take place in node {a}, six traversals (b, c, E,6, c, Z) would be eliminated (practical). On the other hand, if it took place in node {b}, two traversals (c, Z) would be eliminated (impractical). Smart and efficient pruning plays a critical role in the optimization process. By implementing appropriate pruning functions into OPTNET, the search for an optimal solution can be significantly reduced. This, in turn, opens the possibility for practical application of OPTNET in designing small and average size networks. Conversely, without applying any pruning functions into OPTNET, even small designs would take an enormous amount of time (recall Section 2), and OPTNET would be impractical. There are two types of pruning functions that can be implemented in OPTNET, one depending on cost and one depending on topology. In the topology type of pruning, the key role is played by network isomorphism. 6.1. Network Isomorphism We extend the definition of isomorphism of hypergraphs [9] to networks. Two networks H = (V; El,. . . , Em; al,. . . ,a,) and H’ = (W; Fl, . . . , F,; bl,. . . ,b,) are said to be isomorphic if they have the same number m of edges, and if there exists a bijection f : V + W and permutation n on M = (1,. . . , m} such that
f(S) = F,(i)
and ai = b(i),
for i = l,...,m.
For example, Figure 6 shows two isomorphic networks of four nodes and five transmission facilities each. Dotted, dashed, and solid lines denote facilities utilized to ~1, 212,and us levels, respectively. Consider the case when all facilities cost the same. Suppose OPTNET first generates a network of type H and later of type H’. Then, if it is possible to come up with a scheme to eliminate the generation of networks of type H’ and ensure that all other networks will still be generated, we can save a lot of time in searching for the optimal networks. However, the assumption that all facilities cost the same is not realistic. Hence, in this paper, we focus on a more restricted isomorphism in order to assure the same cost of H and Ht.
Backbone topology design
57
Figure 6. Two isomorphic networks
6.2. Link Level Pruning In link level pruning, we can eliminate the generation of many isomorphic networks based on either facility utilization or demand size symmetry. By definition, two networks H = (V; El,. . . , -%; al, . . . , a,) and H’ = (V; El,. . . , E,,.,; bl, . . . , b,) are isomorphic if ai = b,(i) for Ei = ET(~), i=l , . . . , m. Note that these two isomorphic networks have the same cost. Thus, if we generated network H before H’, then the objective of the link level pruning is to eliminate the generation of Hf. First consider the facility utilization symmetry case. Suppose that in the process of network generation OPTNET’ routed k - 1 circuit requirements, and as a result two lines r‘, s of a single link were utilized to the same amount, i.e., E, = E, and a,. = a,. Consider two sequences of networks generated by OPTNET’ this way. In the first sequence we have all networks that were obtained by routing the kth circuit demand over line E,., and in the second sequence we have all networks that were obtained by routing it over line ES. It is easy to see that to each network (V; El,. . . , E,; al, . . . , a,,,) in the first sequence there corresponds uniquely one network in the second sequence, such that either E,. = ES, a,. = b,, a, = b,, (V; &,...,J% bl,...,L) or ai = bi, i # T, s. Figure 7 illustrates this kind of situation. v
v
(1)
.if..:.; @iiT (2)
‘.
(3)
.
:
.
(4)
Figure 7. Link level pruning based on facility utilization symmetry.
The first sequence in Figure 7 consists of networks (1) and (2), and the second one consists of networks (3) and (4). It is easy to see that networks (1) and (3), as well as (2) and (4)) are isomorphic. Hence, we can apply the following pruning rule in OPTNET. If there exist two lines r, s such that E,. = ES, a, = a,, and s > circuit requirement over line ES.
T,
then do not route the current
This type of pruning eliminates networks (3) and (4) of Figure 7, and is not difficult to incorporate in OPTNET. Figure 8 shows the typical routing sequence generated by OPTNET’ with the link level pruning implemented, based on facility utilization symmetry. Now, consider the requirement size symmetry case. Suppose that during network generation, OPTNET’ routed the circuit requirement ri of size pi over line ES. In addition, assume that there is line ET such that E, = E, and T < s, and that the current circuit requirement $ of the same size Zj, Zj = zi, can be routed over line E,. Consider an arbitrary feasible network H’
Z.R. BOGDANOWICZ
pJ:::::;q)
.:.. v....
.... !3 .... 77 I@
I
:.
1
I
:
:
..
: .
‘.
(4)
........ 1 . .. . .. I @. I : .. 1 : 1 : ... :.
“\,
:
3
:
(3)
(5)
(6)
@;:::::;@
.
I@
I
I
I
I
..
I
.. I .. ., , : : . : : : @
.’
:
..
‘.. ..
I
I
I
:
:
(7)
.. ..
.. ..
.
:
(8)
I.:
’.
..
:. .
I
:
‘. I : ... . :. @
69
Figure 8. Routing sequence of a circuit requirement in OPTNET’ from Nl to N2. Note, the dashed line represents the existing and partly utilized transmission facility while dotted lines represent not utilized facilities (candidate facilities).
.v\--.. v
generated in OPTNET’ by routing requirement yj over line ET. Since OPTNET’ enumerates feasible networks using a depth first scheme, then there is another feasible network H, H = H’, that is generated in OPTNET’ prior to H’. It is obtained by routing requirement yi over line ET, and requirement yj over line E,. Figure 9 illustrates two such isomorphic networks H and H’ based on the requirement size symmetry. --1 . .. .. .
:’
E
L, ;.
;f
\
Network H
: .
‘.’
Network H’
Figure 9. Link level pruning baaed on requirement size symmetry.
Note, lines E,. and E, do not have to be utilized to the same level as was the case in the previous assumption. Both networks H and H’ are obtained by routing requirement yi between nodes Ni , A5 (solid lines), and requirement yj between nodes Nz, Ns (dashed lines). Consequently, we can apply the following pruning rule in OPTNET. If there exist two lines T, s such that E,. = E,, s > r, and two circuit requirements yi, yj of size z, and requirementyi is routed over line ES, then dd not route requirement yj over line E,. This type of pruning eliminates the generation of H’ in Figure 9. Facility utilization and requirement size symmetry based pruning rules can be applied simultaneously during the network enumeration in OPTNET’. In other words, they do not prune the optimal solution. This, however, might not be the case in general. Some pruning functions might work correctly when implemented individually, but not work correctly together. Figure 10 illustrates the enumeration process in OPTNET’ in the simple two node network with at most five parallel transmission facilities. We assume that the facilities are utilized to ~1, 142,7.43,~4, 745and we route two requirements yi, rj of size zi = .Zj between two nodes.
Backbone
topology
design
59
zi
=i Ul
u3
Ul
U.5
U3
u2
U2 u4
~ Routing # 2
Routing # 1
=
=i
zi
Ul
U3
r fk-1 zi
Ul
u5
U2
U2 UA
Routing # 3
1
zi
U
i
~
US
U3
Routing # 4
Fk-q
m Zi
Ul
u3
US
zi
u2
U
Routing # 6
Routing # 5 Figure
10. Enumeration
in OPTNET’
with
link level pruning.
Note, OPTNET’ with the link level pruning functions generates only 6 routing combinations (Figure lo).’ OPTNET’ would generate 25 routing combinations otherwise. 6.9. Topology Level Pruning The requirement size symmetry case can be generalized to the whole topology of the network as follows. If there exist two requirements yi, yj such that yi = rj, i < j, then for each common routing node Vk of yi, $ from which yi is routed over line E,, do not route requirement yj over line E,., r < s. In this pruning rule, we require two circuit demands to be of the same size and be defined over an identical pair of nodes. The identity constraint can be further relaxed, but this goes beyond the scope of this paper. Figure 11 illustrates two isomorphic networks based on the requirement size symmetry case. Dashed and solid lines represent the routings of requirements yi and yj, respectively. Thus, network H’ of Figure 11 is not generated when Topology Level pruning is applied. 6.4. Cost Pruning Cost pruning is already implemented in OPTNET. It can be used together with Link Level pruning, providing an attractive run-time saving. In the cost pruning, OPTNET compares the
60
Z.R.
Network H
Network H’
Figure 11. Topology level pruning based on requirement size symmetry.
current network cost current-cost with the minimum cost of feasible network best-cost generated in Line 25 (Figure 5). The current cost is updated when either a new transmission facility is generated (Line 5), or an existing one is removed (Line 14). If at any moment, current-cost exceeds best-cost, OPTNET prunes further generation of the network through Line 1. This can be done because of the Depth-First scheme of network enumeration. Finally, if OPTNET knew in advance that some transmission facilities must be generated, then the cost based pruning could be further enhanced. 7. STARTING
COST
COMPUTATION
In this section, we describe a quick heuristic (STARTNET) to design the initial network topology. This in turn allows us to compute the best-cost variable for OPTNET. The lower a value of best-cost that we provide for OPTNET, the sooner the cost pruning functions can start working, reducing the optimization time. The STARTNET heuristic is illustrated in Figure 12.
STARTNET Algorithm: Input : n nodes, k channel groups, fixed links. output : “optimal” link topology. procedure STARTNET begin start with empty network; I 2 for (costcpair of nodes)= lowest to highest) do for (size(channe1 group)= largest to smallest) do 3 begin create minimumdynamic cost path for current channel group; 4 flow current channel group over the minimumcost path; 5 6 adjust the parameters of lines end end;
Figure 12. Fast network design heuristic.
In the design process, STARTNET starts with an empty network (a network consisting of the backbone nodes and not including any links). Subsequently, the point-topoint transmission line costs for all possible pairs of nodes are sorted, from the least expensive to the most expensive. The channel groups are sorted according to size, from the largest to the smallest. Then, according to the above ordering of the pairs of nodes and the channel groups, all the channel group requirements are routed through the minimum cost paths utilizing “single-source-shortest path” Dijkstra’s algorithm (Lines 4 and 5). During this stage, STARTNET generates all the transmission links. After each iteration, the capacities of all affected links are updated to reflect the available bandwidth that could be used by the channel groups yet to be routed (Line 6).
Backbone topology design
61
If the available bandwidth on any transmission line satisfies the current channel group requirement, STARTNET assumes the cost of that line to be zero with respect to that channel group. Consider the time complexity of STARTNET. Line 1 requires O(n) operations. Line 2 and 3 imply sorting of line costs and channel groups that require O(lc log(k) + n2 log(n)) operations. Finally, Lines 4 and 5 can be implemented using single-source-shortest path Dijkstra’s algorithm. (o th erwise we could do better). ConseThis can be accomplished in O(n2) since m = v quently, the main loop (Lines 2, 3,4, 5, and 6) can be implemented in 0(/c n2) operations. Hence, execution time of STARTNET is O(k n2 + k log(k) + n2 log(n)). STARTNET is a fast heuristic that can be used as preprocessor in the optimal network design process as follows: l l l
Design initial network using STARTNET algorithm. Price initial network. Design minimum cost network using OPTNET algorithm. 8. SUMMARY
In this paper, we present a new optimal network design algorithm. The algorithm is named OPTNET and is based on network enumeration and pruning. It finds a minimum cost network for a given capacity and routing constraints, and turns out to be practical for the design of small networks. OPTNET, along with the described pruning rules and the STARTNET heuristic, was implemented on an AT&T 6386 PC. Table 1 contains the execution times for the backbone network designs consisting of 3, 4, 5, and 6 nodes. Table 1. OPTNET
execution times for small networks.
Problem
Number
Number
Number
of Nodes
of Circuits
Time [s] 1
1
3
12
2
3
13
1
3
3
14
55
4
4
10
17
5
4
11
2
6
4
12
208
7
5
10
24
8
5
11
86
9
5
12
53
10
6
10
1
11
6
11
171
12
6
12
29
REFERENCES 1.
D. Boyce, A. Fahri and R. Weischedel, Optimal network problem: A branch and bound algorithm, Env. (1973). 2. R. Dionne and M. Florian, Exact and approximate algorithms for optimal network design, Networks 9, 37-59 (1979). 3. A. Scott, The optimal network problem: Some computational procedures, tins. Res. 3, 201-210 (1969). 4. D. Johnson, J. Len&a and A. Rinnooy Kan, The complexity of the network design problem, Networks 8, 279-285 (1978). 5. R.M. Karp, On the computational complexity of combinatorial problems, Networks 5, 45-68 (1975). 6. R. Rey, Engineering and Operations in the Bell System, Prentice-Hall, Reading, NJ, (1983). 7. AS. Tanenbaum, Computer Networks, Prentice-Hall, Reading, NJ, (1981). 8. A. Aho, J. Hopcroft and J. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, (1974). 9. C. Berge, Graphs and Hwergmphs, 2 nd ed., North-Holland, Amsterdam, (1979).
Plan. 5, 519-533