Genetic Algorithms and Network Ring Design - CiteSeerX

3 downloads 146 Views 175KB Size Report
a - Nortel, London Road, Harlow U.K. b - School of Information Systems, University of East Anglia, Norwich, U.K.. Abstract. Optimal network ring design is a ...
Genetic Algorithms and Network Ring Design A.R.P. Whitea, J.W. Manna, G.D. Smithb a - Nortel, London Road, Harlow U.K. b - School of Information Systems, University of East Anglia, Norwich, U.K.

Abstract Optimal network ring design is a difficult problem characterised by the requirement to compare a large number of potential solutions (network designs). The problem of network ring design can be described as consisting of three parts: routing, link capacity assignment and ring determination. It has traditionally been broken down into a number of subproblems, solved in sequence, and usually by heuristics thereby leading to locally-optimal design solutions. Genetic Algorithms (GAs) have shown themselves to be efficient at searching large problem spaces and have been successfully used in a number of engineering problem areas, including telecommunications network design. We present an approach of a GA to the network ring design problem in which the GA representation encapsulates all aspects of the problem and solves them simultaneously. A novel, hybrid bit and permutation representation is described along with the fitness function for the design problem. Results of applying this representation to a number of test networks are presented and compared with heuristic design methods.

Introduction The design of an optimal, or cost effective, telecommunications network is a complex multifaceted task. Typical problem domains consider topology, connectivity and routing decisions. Restricting attention to the question of an optimal topology, for example, if we consider an n node network, and allow for p possible bandwidths for a link, the space of potential topologies is ( p + 1 ) ( n ( n – 1 ) ) ⁄ 2 . The term (p+1) is used in order to allow for a link of zero capacity, i.e. not present, to be represented. For the values n = 10 and p = 3, this evaluates to 1.2x1027 possible designs. Even for this small problem, the search space is extremely large. Obviously, enumeration of all potential designs is impossible and effective heuristic search techniques need to be employed. One such technique is the Genetic Algorithm [1]. The above description of the problem does not include routing, or ring design, considerations which must be taken into account in any realistic solution. The actual problem that we wish to solve, with a search space that is correspondingly larger, is to determine (a) the routes used by all traffic in the network, (b) the link capacities, (c) and the multi-ring topology of the network such that the overall cost of the network is minimised. Cost here is taken to mean the weighted sum of parameters of interest such as the link length, the monetary cost of providing link bandwidth, and the deviation of each link’s utilisation from the average (in order to balance link use i.e. spread link usage as much as possible). In addition, cost will include a term dependent upon the multi-ring topology of the network, the main objective of

this aspect is to minimise inter-ring traffic as such traffic requires specialised crossconnect hardware in real networks. The corresponding weighting factors used in this multiple objective optimisation problem are determined by the priorities of the global design problem and, in turn, determine the trade-offs that the GA search process is willing to accept in the final design that is generated. Network survivability is considered crucial in the design of networks [2, 3, 4]. Thus, it is extremely important that a search algorithm be capable of generating cost effective, survivable network designs. Ring, or rather multi-ring, architectures are considered cost effective in that they offer high network survivability in the face of node failure and greater bandwidth sharing [5]. Ring topologies have received considerable attention from various sources as a consequence of the emergence of SONET standards. Bidirectional self healing ring (BSHR) networks are particularly difficult to design; in fact, the problem has been shown to be NP complete [6] by demonstrating a polynomial time transformation to the Undirected Hamiltonian Circuit Problem. While SONET standards identify logical and physical networks, this paper focuses on the design of the physical network and assumes that the logical networks defined as layers above it will have a greater connectivity than is present in the physical layer. Stated another way, all links that are present in the physical layer will be defined in the layer above it. The design of the logical layers above the physical layer is beyond the scope of this paper. This paper consists of the following sections. Firstly, a definition of the Network Ring Design Problem (NRDP) is provided and a mapping of this problem on to the Graph Ring Covering Problem (GRCP) demonstrated. The paper continues by describing heuristic approaches to the NRDP and the application of GAs to the NRDP, outlining the fitness function and hybrid representation used in its solution. Results of applying heuristic and GA approaches to a number of test networks are subsequently described, demonstrating the improved designs generated using GA search. Finally, a summary of the paper’s key messages is provided along with recommendations for future work.

Formal statement of problem Let the graph G = (V,E) be a set of V nodes and a set of E edges. The number of nodes is n and the number of edges is m. The traffic requirements between the nodes is defined by an nxn matrix T, where Tij represents the traffic between nodes i and j. We wish to design a network such that the traffic requirements are satisfied by having link flows less than or equal to link capacity, every link belongs to some ring, and the cost of the network is minimised according to some objective function F. In order to solve this problem, the traffic must be routed, the individual links dimensioned and a ring covering computed for the graph G, i.e. the GRCP must be solved. A ring is simply a sequence of vertices v1, v2,..., vr, such that {vi, vi+1}, for all 1 ≤ i < r , is a link, and that v1 = vr and all other vertices are distinct. This is a simple cycle. A ring cover for a network G is a collection of rings C such that every link in G is included in at least one ring in C1.

1. It is easy to show that a ring covering with zero overlap of the edges is only possible if the degree of every node in the graph is even.

Heuristic approaches to topology design Exact efficient solutions to the topology design problem are not known to exist and hence heuristics have been proposed. Essentially, topology design heuristics take two forms: either a fully (or partially) meshed network is reduced by reassigning traffic and removing redundant links or a network is built by adding links as needed when traffic demands are routed through the network. In the former case, a number of algorithms have been proposed [7, 8]. The Branch X-Change (BXC) method [7] starts from an arbitrary topological configuration and reaches a local minimum by means of a local transformation, consisting of the elimination of one or more old links and the insertion of one or more new links. The BXC has been applied to the design of minimum cost survivable networks [8] and centralised computer networks [9]. It has also been applied in the design of distributed computer networks [7]. The algorithm proceeds: Step 1: Perform a local transformation. A new link is added and an old link is deleted in such a way that two-connectivity is preserved. Step 2: Capacities and flows are assigned to the new topological configuration using a minimum link assignment [10], and cost and throughput are evaluated. If there is a cost-throughput improvement, then the transformation is accepted. Otherwise, it is rejected. Step 3: If all local transformations have been explored, stop. Otherwise, go to step 1.

The Concave Branch Elimination (CBE) method can be applied whenever concave curves can be used to approximate discrete costs [11, 12]. This method begins with a fully meshed topology, using concave costs and applying the flow deviation algorithm [10] until a local minimum is reached. Generally, the flow deviation algorithm eliminates uneconomical links and compresses the topology. Hybrids of BXC and CBE have also been investigated. An excellent review of network design problems and algorithms can be found in [13]. Traditional network design algorithms and methodologies have not concerned themselves with survivability, an issue that has assumed increasing importance in modern optical, high capacity networks. In such networks, robust topological structures such as rings which exploit traffic pattern asymmetries are considered to be building blocks from which backbone networks can be constructed. Survivability can be viewed at many network levels. For example, providing alternate routes for traffic at a logical layer is one such mechanism. In fact, the requirement for a survivable network need not be stated in terms of rings but might be described such that any commodity might be served by two or more paths, with each path being node and link disjoint. However, in this paper we are concerned with the design of a high reliability network transport layer (e.g. SONET/SDH) such that routing at the ATM (or other similar layer) need not concern itself with the reliability of the underlying transport medium.

Heuristic approaches to ring design The Ring Design Problem, and heuristics for its solution in the domain of Metropolitan Area Networks (MANs), can be found in [14]. The more general problem of designing unidirectional self healing rings (USHR) or bi-directional self healing rings (BSHR) has been extensively studied [2, 3, 4, 5, 26, 27, 28, 31 and others]. In [29] a methodology for SONET network design is presented which is of some practical value. In [14], the problem of ring design is formulated as one in which (1) a subset of vertices of the initial graph are selected

and (2) a ring or Hamiltonian cycle is computed such that a predetermined budget is not exceeded and the total profit obtained from the network is maximised. In [30], the ring design problem is viewed as one in which ring coverings for a graph are computed and it is this philosophical approach that most closely resembles the ring design process described in this paper. This formulation is somewhat different to that presented in [6]. In [6], the formal description of the ring design problem is similar to that presented earlier in this paper and is equivalent to the computation of a minimal ring covering where no assumptions are made about the nature of the underlying link costs. The ring design process consists of two phases. In the first phase, the traffic is routed using a shortest path algorithm such as Dijkstra [16] and link loadings computed. These loadings are used to determine link bandwidths and associated link costs. In the second phase of the process, a modified depth first search (DFS) algorithm [21] is used to generate rings along with a decision step which concludes whether to include the ring in the ring cover or not. In this approach, a node is chosen as a start point for search based upon connectivity and edge cost information and the DFS is started, attempting to find a path to the remote end of the link of maximum cost. Once found, a decision is made as to whether to include the ring in the cover and, if included, node priorities are recalculated in order to remove the links included in the cover. A new node is chosen based upon recalculated priorities and DFS proceeds once again. The process terminates when all links are associated with at least one ring. In the case of BSHR networks the cost of the ring cover is the sum of the costs for the maximum cost link in each ring. The formulation of the problem in this paper is somewhat similar to that of the Selective Travelling Salesman Problem (STSP) studied previously by Laporte and Matello [15]. It is this algorithm that provides the motivation for the GA representation described in the rest of this paper.

Solving the network design problem with GAs In this section, the solution of the network design problem using GAs is described. GAs have been applied to the design problem previously [17, 18, 19]. A hybrid bit and permutation representation is proposed consisting of three distinct elements; one to encode the routing problem, one to encode link capacities and the third used to solve the ring covering problem. In the following sections, the representation is described in detail, and the objective function is presented. A comprehensive introduction to GAs can be found in [1, 20 and others]. The representation Three distinct components are defined for the network ring design problem. The components represent solutions for the routing problem, link bandwidth assignment and an encoding used to determine ring covering. The representation is a hybrid one, with the first two components being encoded purely as bit strings while the final component consists of permutation entities. The representation is shown graphically in Figure 1.

Routing Table

Link Bandwidths

Ring Covering Permutation

Figure 1 Representation used for the Network Ring Design Problem

The routing component of the representation is indirect. Symmetric routing is assumed; thus a route from i to j, Rij, is the same as a route from j to i. In other words, Rij = Rji. Hence, for an n node network, the routing table can be represented by n(n-1)/2 entries1. However, this limitation was imposed only to reduce the size of the potential solution space and is not a necessary limitation of the representation itself. The routing component of the encoding is thus kn(n-1)/2, where k is the number of bits used for each routing. The indirect representation arises from the fact that the k bits for each routing stand for an index into an array of possible routes. Hence, 2k routes can be associated with each source-destination pair. The 2k shortest paths and their costs for each source-destination pair are computed when the network topology is loaded. It is computed prior to the GA run. The value of k is an input to the application, and obviously determines the size of the routing table subproblem space that is explored. In this study, k = 3 was used, allowing 8 shortest paths to be explored for each source-destination pair. A brief investigation of the variation of design quality with the value of k has been undertaken [17]. However, more work remains in this area. The link capacity encoding is also indirect. For each of the m edges in the graph, an index into an array of possible bandwidths is represented. This bandwidth array, or bandwidth map, includes zero in order that the link can be assigned a zero capacity i.e. not actually be present in the network. In fact, the bandwidth map may contain multiple entries for the same bandwidth if search in this subspace of the overall design problem needs to be biased by the user. Similarly, it is possible to use two entries in the bandwidth map indicating the presence of a link rather than its bandwidth. In this case one indicates that a link is present with zero indicating no connection. When a binary bandwidth map is used the traffic loading on the various links indicated by the routing table is used to determine the bandwidth of the links which are indicated as being present. In essence, then, the graph provided as input to the GA defines the possible topologies that can be generated. Providing a fully-meshed graph as input to the GA design process implies that the space of all possible topologies can be explored. In some sense, by not specifying an edge in the input graph, the user is making the statement, “It is not possible to connect two particular nodes directly”. Thus, the representation avoids the regions of the space rendered infeasible by user constraint by not representing them in the bit string. This is a particularly attractive characteristic of a representation manipulated by a GA. If the bandwidth map contains p entries, the link capacity encoding requires mlog2p bits, where m is the number of edges in the graph. It is clear that the two segments of the representation affect each other. In the case where a non-binary bandwidth map is used, if the encoded link bandwidth is too low, and the routing of the various traffic elements are such that the load on the link exceeds the link’s bandwidth, an infeasible solution will be generated. While this is an undesirable characteristic for the representation, two possible mechanisms exist for resolving the problem. The first possibility is to fix the infeasible solution by increasing the bandwidth of the link. The second possibility is to penalise the solution heavily via the cost measured using the objective function. In this implementation, the second approach was chosen. Another possible approach to this problem with the representation is to encode route permutations for route selection and choose the first member of the permutation if possible but using later members of the permutation if link bandwidths make the route infeasible. This possibility may be explored in further work on this problem. However, as the results on the test networks clearly show, this interaction

1.

We do not need an entry Rii.

between elements of the representation chosen does not cause GA search to be ineffective in this problem domain. It seems evident that the penalty terms for infeasible solutions quickly cause search to be abandoned in inappropriate regions of the problem space. The third segment of the representa tion concerns the ring cover problem. This segment also provides an indirect representation in that the representation is used as an input to a modified depth first search algorithm [21] -- a technique for traversing all m edges in a graph in O(m) time -- in order to derive a ring covering. This segment of the representation consists of two smaller segments; the first concerning the nodes in the graph and the second the edges in the graph. While the first two segments in the representation are pure bit strings, these final segments are permutations. The nodal permutation segment represents a permutation on the node numbers for the graph. It is used to decide which node to start a search from for the determination of a ring in the graph ring covering. The edge permutation segment consists of n smaller permutations, one for each node in the graph. Each of these permutations is the size of the degree of the node and is used to decide the order in which edges are chosen when selecting an edge to traverse using the modified depth first search algorithm used in the ring cover computation. For example, the graph shown in Figure 2 might have the node permutation {n1, n5, n3, n2, n4, n7, n6} and edge permutation { { 1, 3, 2}, {2, 1}, {1, 2, 3}, {1, 2}, {2, 1}, {3, 2, 1}, {1, 2, 3} }, where the degree of the nodes is given by di = 3, 2, 3, 2, 2, 3, 3, for i = n1,..,n7.

Figure 2 Example Graph

There is a subtle interaction between the edge permutation segment of the representation and the link capacity segment of the representation. A link bandwidth of zero represents no link which implies that the node degree can vary with choice of bandwidths. In this situation it does not make sense to include such a link in any ring covering for the graph. The modified depth first search algorithm thus ignores links of zero capacity when computing a ring covering. This node and edge permutation representation has two very desirable properties. Firstly, no infeasible solutions for the ring covering problem can be generated. It is possible for the link bandwidth representation to imply that a node is of degree one, i.e. has a single link. In this case a feasible ring covering will not be possible. In these cases a penalty is associated with such configurations. Secondly, all possible selections for depth first search node and edges choices are equally represented, implying no explicit representational bias. Assuming that a node number is encoded in a byte, i.e. in the range 0-255, the node permutation encoding requires n bytes. If the degree of a node is di, the edge permutation encoding requires ∑ d i i bytes. The following algorithm is used to compute the ring covering.

modified_DFS(nodePermutation, edgePermutation) begin for i 1 to nodePermutation size do begin node := nodePermutation[i]. for j 1 to edgePermutation[node] size do begin edge := edgePermutation[node][j] if edge is not used then begin increment the edge used counter by one. ring := pathFromUsing(node, edge). ring := ring + edge. add ring to ring cover. end end end return ring cover end pathFromUsing(node1, edge) begin edge1 := an edge from node1 to a tandem node. node2 := otherEnd(edge, node1). node3 := otherEnd(edge1, node1). path := pathFrom(node3, node2). increment the edge1 used counter by one. return path + edge1 end pathFrom(node1, node2) begin if node1 isConnectedTo node2 via edge1 then return edge1 else begin find a unvisited tandem node, node3, accessible via an edge, edge1. increment the edge1 used counter by one. return pathFrom(node3, node2) + edge1. end end

The above algorithm outlines the mechanism by which a ring covering is computed; it is schematic in nature and does not cover all possible error conditions. Essentially, an iterative method is used which keeps track of uncovered edges and attempts to find a good ring to cover successively each uncovered edge. We repeatedly select an uncovered edge and start the depth first search from one endpoint of the edge. We stop when we reach the other endpoint through our traversal of edges in the network. We know that we have found a ring if the path ends on the other endpoint and traverses at least three edges. The algorithm

terminates when no edges remain uncovered or no further rings can be found. It should also be noted that edges may be included in multiple rings i.e. covered several times. In fact, edge inclusion in multiple rings will generally be the case and can only be avoided if the graph has nodes all of even degree, i.e. is Eulerian. Operator choice In a traditional GA, search proceeds through the application of selection, creation and merge operators as shown in the algorithm below: GA P,Q,R: populations of solutions from the problem domain; initialise(P); while not finish(P) do begin Q := select(P); R := create(Q); P := merge(P, Q, R); end end

The function select in the algorithm above is used to sample from the population P, in order to generate a gene pool Q, the pool of parents from which children will be created. The desired quality in any effective select mechanism is that it should simulate survival of the fittest. Thus, good solutions have a better than average chance of selection while bad solutions have a worse than average chance. For this study, Roulette Wheel selection [1] was employed. Here, the selection is made with a probability that is based on the relative fitness of each solution. Genetic operators are applied in the create function to members of the gene pool, to create the offspring pool, R, the pool of newly created solutions. Child solutions are created from parents by the use of crossover and mutation operators. In the case of the hybrid representation described above, special creation operators were defined. For the first two segments of the representation, traditional mutation and crossover operators were used. However, for the permutation segment used to define the ring covering both mutation and crossover operators were modified. The mutation operator was modified to exchange a pair of elements in the permutation. The crossover operator chosen for implementation was partially mapped crossover (PMX) [22] as this has been shown to have superior performance on graph traversal problems. The PMX operator was used for both node and edge permutations. The PMX operator proceeds by selecting a part of one permutation to preserve and then traversing the remaining locations in the parent string placing elements from the other parent in the order in which they occur in the other parent. An example is shown below: Figure 3 PMX crossover

123456

163425

612354

612345

Finally, the merge function combines the three sets, P, Q and R to produce a new population P, from which the process is repeated. The merge process determines the make-up of the next generation. Within this study, a "Best Fit" merge strategy was used. Here, the best solution in R replaces the worst solution in P until all solutions in P are better than the remaining solutions in R or R is empty.

The objective function The objective function for the network ring design problem consists of several weighted components. These include the cost of routing the traffic along specific paths, the cost of providing a particular link its bandwidth, and the cost of the rings present in the network. Also, terms are present in order to capture the violation of constraints, such as routing too much traffic on a link or having links which cannot be included in a ring covering. The resulting objective, or fitness function, is: F = R ( T ) + B ( L ) + C ( L, T ) + P ( T, L ) where T is the traffic matrix, L the link matrix, R(T) is the cost of routing the traffic in the network, B(L) is the cost of providing the link bandwidth, C(L,T) is the cost of the selected ring covering and P(T, L) is the penalty associated with uncovered or excessively utilised links. R ( T ) = w1 ∑



cl

t ∈ T l ∈ Path ( t )

B ( L ) = w 2 ∑ D ( b l, d l ) l

C ( L, T ) = C 1 ( L, T ) + C 2 ( L, T ) C 1 ( L, T ) = w 3 ∑ max ( b l ) l ∈r r

C 2 ( L, T ) = w 4 ∑ ∑ Tir

nonlocal

r i∈r

P ( T, L ) = P 1 ( T, L ) + P 2 ( T, L ) + P3 ( T, L ) + P4 ( T, L ) P1 ( T, L ) = p 1 ∑ max ( u l – 1, 0 ) l

P2 ( T, L ) = p 2 ∑ max ( u l – u target, 0 ) l

P3 ( T, L ) = p 3 ∑ max ( usage l – 1, 0 ) l

P4 ( T, L ) = p 4 ∑ (usage l = 0 ) l

where Path(t) is the link set associated with a traffic element, D ( b l, d l ) is the cost of providing bandwidth bl for a link of length dl, bl is the assigned bandwidth of link l, cl is the cost of routing traffic on link l1, ul is the utilisation of link l, usagel is the number of rings containing link l, utarget is the threshold link utilisation (set at 50%), Tirnonlocalis the traffic from the ith node in the rth ring which is non-local to the ring, wi are objective function cost weighting factors and pi are penalty term weighting factors. The above formulation does not 1. This measure is used in the calculation of shortest path. By default, this value is unity, indicating that a simple hop count is used in all routing calculations.

assume a knowledge of the community of interest (COI) associated with the traffic. Instead of knowing the COI a priori, it is determined as part of the solution process through the interaction of the term C2(L,T) and the traffic matrix. The purpose of the GA, then, is to minimise F.

Results For all network problems investigated a population size of 50 was used along with crossover and mutation probabilities of 0.6 and 0.01 respectively. These are default values for the GAmeter toolkit [24]. The GAmeter toolkit has a rich set of select and merge operators but it was decided that the standard operators and GA parameters should be used in order to test the robustness of the network ring design representation chosen. Future experimental research work may well investigate the effects of alternative operators and parameter settings on the efficiency of the search process. Simulated Annealing may also be investigated as a strategy for network ring design, although using modified operators. Two network class sizes were studied during the generation of this paper. The first network class contains ten nodes, and the second, twenty nodes. In both problems, a fully-meshed network was presented for optimisation, this representing the largest space of potential topologies to be explored. In other words, the space of all possible topologies was explored. Considering only the first problem for a moment, and looking only at the size of the topology and bandwidth problem, the search space is 1.2x1027 which presents quite a large problem. Adding in the routing and ring subproblems significantly increases the size of the problem. Thus, even for small networks, the size of the solution space is formidable. It should be noted that only 8 shortest paths were considered for both problems. The number of potential paths grows exponentially with the size of the graph and thus it seems likely that more shortest paths should be included in the second problem as it has a much larger routing search space. An investigation of the sensitivity of the design process to the value of this parameter is left for future work and will build upon the results of [17]. The following two sections present network design solutions for the two classes of network tested. Graphical representations of the initial and final topologies are presented along with the ring designs computed. The variation of solution fitness with generation number is also provided as are the initial and final link utilisation histograms. Other measures available, but omitted due to space constraints, include routing table and delay reports (both for individual link and traffic path). Class 1 Class 1 consists of ten nodes with a traffic matrix that exhibits an underlying community of interest, i.e. traffic patterns exist between groups of nodes. Several communities of interest were generated in order to test the robustness of the GA design approach. For this class of network, a fully meshed topology contains 45 edges. A typical randomly-generated solution can be seen in Figure 4. The link utilisation histogram shown in Figure 4.1 demonstrates the infeasible nature of the design, with several links exceeding 50% in utilisation. Further, this histogram does not exhibit the desirable characteristic of equal usage of all link resources with considerable link-to-link variation in utilisation. From the typical output design, shown in Figure 5, it can been seen that this design consists of 14 links, with no link exceeding a utilisation of 50%.

It should be noted that the number of links in the design does not decrease monotonically as new solutions are obtained during GA search. Rather, links are switched “on” and “off” with varying bandwidths as the GA explores the design problem fitness landscape described by the objective function F. This approach to network design is in sharp contrast to other heuristic approaches which tend to start either with a fully-meshed network and remove links until no more capacity can be removed, or begin with no links at all and add one link at a time until a satisfactory solution has been obtained. Both of these unidirectional solution processes are prone to being caught in local minima with the latter being extremely sensitive to the order in which traffic is routed in the network [17]. It should also be noted that in many of the initial population of solutions, traffic has been routed over a link which has zero bandwidth, i.e. the link does not exist. This again makes the solution infeasible. It is typical that the initial randomly-generated set of designs are all infeasible, implying that random search is extremely unlikely to generate viable designs. It is also a testament to the robustness of the search process that such infeasible solutions are quickly culled by the population and replaced by feasible solutions, with promising subnetworks retained. However, the GA quickly combines elements of several designs to generate a feasible solution, refining the network design until (typically) one containing 14 links emerges. In short, the penalty term mechanism used in the fitness function has effectively caused the search to focus on feasible regions of the design problem search space. This is similar to results obtained in other studies [17]. GA search has effectively combined fragments of the initial infeasible designs and produced a design which is both feasible and contains a fraction of the original number of links. The typical network design obtained by GA search for this problem is shown in Figure 5. In this figure, links of zero capacity have been removed in order to show the resulting topology more clearly. Comparing Figure 4 and Figure 5 clearly shows that less than one third of the initial links have been retained in the final output design. Also, by contrasting Figure 4 and Figure 5 it can be seen that all nodes are of degree two or higher, implying that a feasible ring cover has been computed. Finally, the histogram shown in Figure 5.1 clearly shows that all link utilisations lie within the range 0-50%, thus meeting the utilisation threshold constraint. Link utilisations also exhibit the desirable characteristic of grouping in that they are clustered in the 30-40% range.

Figure 4 Typical Class 1 Initial Design

Figure 4.1 Link Utilisations

Ring design for the output design is shown in Figure 6. In this design, as a consequence of the odd degree of several of the graph nodes e.g. node n9, it has been necessary to include links in multiple rings. It may be desirable to ensure that all nodes in the graph are of even degree in order to ensure that a ring cover is possible where edges are not reused. A number of alternative representations are being considered as is the inclusion of another penalty term which penalises networks that contain nodes with an odd number of links. The authors have also considered a polynomial-time algorithm [6] for the generation of Eulerian networks from the GA encoding and this is the focus of ongoing research on this problem. Ring design, like topology, changes considerably during GA search. The number of rings generated by search varies as the GA search proceeds, both increasing and decreasing with passing generations. In this problem, the number of rings varied from three to five, with the final design consisting of three rings. The final design indicated that certain links were included in multiple rings, this being necessary as a direct consequence of the non-Eulerian nature of the underlying graph. This is analogous to the number of edges in the solution topology, again showing that GA search proceeds along multiple directions, combining the “best” fragments of several solutions. It should be observed that the typical GA design often exhibits potential for local optimisation and a local optimiser has been included for this purpose. Periodically the local optimiser operates on a fraction of the population and attempts to reduce the bandwidth of sets of links in the network by redistributing traffic along other shortest path routes from the k computed during the initialisation of the search. This additional local optimisation step has shown considerable promise in reducing search times and improvements of this kind seem typical for hybrid GA search strategies that are being used in design and other engineering problem domains. The local optimisations, however, are not passed on to child designs. This is an example of Baldwin evolution [33] and stands in contrast to Lamarckian evolution [34] where individually-derived adaptations are passed on to the next generation of candidate network designs. The Baldwin effect has been shown to be extremely useful in hybrid search [35] and is an example of the combination of individual and population-based search strategies.

Figure 5 Typical Class 1 Output Design

Figure 5.1 Link Utilisations

Figure 6 Typical Class 1 Ring Design

As an example of local optimisation, in Figure 5, the link from node n6 to node n7 had its bandwidth reduced while still retaining a utilisation below the 50% threshold. The repair, or local optimisation, of solutions, has been shown to be advantageous [23] in the context of graph-related problems. Finally, the variation of solution fitness with generation number is shown in Figure 7 below. This figure clearly shows that the GA rapidly converges to designs that are both feasible and cost effective. Very few candidate designs are evaluated -- less than 40,000 of the potential designs.

Figure 7 Class 1 Solution fitness variation with generation number

Class 2 Class 2 consists of twenty nodes with a traffic matrix that exhibits an underlying community of interest, i.e. traffic patterns exist between groups of nodes. For this network, a fully meshed topology contains 190 edges. This is an extremely large design problem, as the topology-bandwidth problem search space alone is 4190 ~ 2.5x10114. Very few search techniques can effectively search problem spaces of this size with reasonable computational resources. In fact, even with GA search, it is far better to consider the problem hierarchically. While this does increase the probability of obtaining a less cost-effective solution, it does

Figure 8 Typical Class 2 Initial Design

Figure 8.1 Link Utilisations

render the problem tractable with reasonable computational resources. Ring design is only switched on during the final phase of GA search. The reason for this is that ring calculations are expensive; requiring multiple depth first search algorithms to be performed. Hierarchical search proceeds by starting with the fully meshed network and running the GA until the population, still small, converges. The problem domain is subsequently reduced in size by removing redundant links (and repeating the process, if necessary). Typically, in this problem, approximately 150-160 links are removed in this first phase of the search. The new, smaller problem is again run using the GA with ring design penalties included and the resulting network design typically contains approximately 30 non-redundant links. GA parameter settings and population size remain unchanged during all phases of the hierarchical search process. However, weighting coefficients w3 and w4 in the fitness function are set to zero when ring design calculations are not to be performed, i.e. during the initial phases of the hierarchical search. It should be noted that this approach, using hierarchical search, is considerably more efficient in terms of the computational resources required than the process of using a single GA search phase. Typically, less than one fifth of the resources were required for hierarchical search when compared to the single GA search process. This problem generates an initial solution population which contains, almost always, 100% infeasible solutions. Random search for this problem is completely incapable of designing feasible networks and heuristic search invariably gets trapped in local optima. An example of an initial design can be seen in Figure 8. It is self evident that this design is difficult to decompose, even with the human eye which is remarkably efficient at such pattern recognition problems. It is hardly a surprise, then, that it is a hard problem for a GA. The link utilisation histogram shown in Figure 8.1 also demonstrates the infeasible nature of the design, containing links with utilisations greater than 100%. Further, the distribution of link utilisations is broad, containing large deviations from the mean.

Figure 9 Typical Class 2 Output Design

Figure 9.1 Link Utilisations

A typical output design, obtained after two phases of hierarchical GA search, is shown in Figure 9. This design is much simplified when compared to the original design and contains only 30 links, i.e. approximately one sixth of the number in the fully-meshed original design. Again GA search has both allowed the number of links to increase and decrease from generation to generation as it explores the space of all possible topologies. The final design is both sparse and connected in such a way that the traffic communities of interest are routed efficiently in the network. In the final design generated, no link has a utilisation in excess of 50%, and as Figure 9.1 shows, only 13 links have utilisations above 30% with the average utilisation being less than 30%. Hence, the generated design is feasible, as was the case in all experiments performed for this class of network. Even though the GA has produced feasible and (near)-optimal designs, it can shown by manual experimentation that a reduced network, with fewer links and total available bandwidth can support the offered traffic with no link utilisation exceeding the 50% utilisation threshold. Thus, there is room for improving GA search by including local optimisation techniques in order that the design shown in Figure 9 can be improved still further. A potential technique for local optimisation might be to sort the links by excess cost and attempt to reroute some or all of the traffic from the link with the highest excess cost and other computed routes. The excess cost of a link is the cost of providing link bandwidth multiplied by the utilisation threshold minus the utilisation of the link. In essence, this measure represents the opportunity for network improvement. If the traffic can be rerouted, and the link capacity reduced, or the link eliminated altogether, the network is modified. If sufficient traffic cannot be rerouted in order for a link bandwidth modification to be effected, the traffic remains associated with the link. The local optimisation completes when no further link bandwidth reduction, or link elimination, can be effected. Ring design, as with the previous network class, varies during the course of GA search. In this problem, the final design includes four rings, shown in Figure 10. The number of rings included in the design varied between four to eight during the course of the run, with the number of rings both increasing and decreasing from generation to generation.

Figure 10 Typical Class 2 Ring Design

Finally, the variation of solution fitness with generation number is shown in Figure 11 below.

Figure 11 Class 2 Solution fitness variation with generation number

This figure clearly shows that the GA again converges extremely quickly to feasible and cost effective designs. An extremely small fraction of the total number of potential designs are evaluated -- less than 90,000 in most experimental runs.

Comparison with Heuristic Search In order to compare GA search with a greedy heuristic search technique, class 1 and 2 networks were used as input to a two stage design process. In the first stage, each traffic element was routed independently having first generated k shortest paths for each sourcedestination pair; with link capacity being added as necessary according to a local minimum cost criterion. The order in which traffic was chosen for routing was random. The loadings on all links were then computed and redundant links, i.e. links with zero capacity, removed. In the second stage, depth first search was used to find ring structures by ordering the nodes according to Pr(i), choosing the most expensive outbound edge and searching until the remote end of the edge is visited. Pr ( i ) = Deg ( i )Co ( i, l max )N ( i, l max ) where Deg(i) is the degree of the ith node, Co(i, lmax) is the maximum cost of the edge incident on the ith node and currently not included in the ring cover and N(i, lmax) is the number of maximum cost edges incident on the ith node and currently not included in the ring cover. As rings are found using depth first search, node priorities are recalculated and new depth first searches are initiated from the highest priority node. A ring cover is computed when no edge remains uncovered. Using the above algorithm to design ring networks leads to the following observations. Firstly, the quality of the solutions obtained varied widely with the order in which traffic was applied to the network. Secondly, ring design solutions derived using the greedy heuristic had costs between 6-10% more than corresponding GA solutions.

Conclusions and Further Work The design of cost effective networks is a difficult task with the number of potential topologies for even small networks being extremely large. Enumeration of even a small fraction of the available topologies is quite out of the question; an efficient search method must be used. Random search in these heavily constrained problems rarely generates a feasible solution. GAs provide an effective mechanism for network design, as the previous sections have shown and [17, 18, 19] indicate. A design tool utilising the GAmeter toolkit [24] has been built, using a hybrid bit and permutation representation in order to solve key elements of the network ring design problem, namely routing, link bandwidth allocation and ring design elements, solved in a single search process. These present large design problems, with search spaces containing in excess of 10100 topologies, that have been solved hierarchically. Such problems have proven soluble in acceptable timescales on a Sparc 51. A process of hierarchical design has been briefly described and shown to be effective for problems of the size indicated in the previous sections. It is recommended that this small population, hierarchical network design process be used rather than migrate towards larger and larger population sizes as the network size increases.

1. For Class 2 networks approximately 1 hour of Sparc 5 CPU time was required when hierarchical search was employed.

While rapid convergence towards promising areas of the topology space has been observed by using GA search, local optimisation still has a part to play in the overall process of cost effective network design. It has been observed that many of the typical network designs generated have excess total capacity and that such excess capacity might easily be removed by the application of a greedy heuristic search process such as those outlined in an earlier section. Further investigation is ongoing in this area. Also, the algorithm used to derive ring structures is expensive, requiring multiple depth first searches to be performed for each candidate network design. The authors believe that it might be possible to use the shortest path information computed during the initialisation phase of the GA run, along with the routing table for a candidate network design, in order to derive ring covers, thereby avoiding expensive depth first search calculations. Alternatively, a single depth first search might be performed and multiple applications of the symmetric difference operator described in [6] used to generate possible ring coverings from the rooted forest of depth first trees [21]. In this case the expression used to combine multiple rings might be encoded using Genetic Programming (GP) [25] making the design process a hybrid of both bitstring and tree elements. Both of these alternative approaches requires a theoretical investigation, and until such time as this is done, the recommendation is that the ring design component of the network design prototype should be engaged only during the final phase of the hierarchical design process. Finally, this design process has assumed perfectly reliable components, both node and link, which is not the case in reality. Components fail and this should be taken into account when designing the network, as is the case in [17]. Such a consideration could be included in the GA search process in a number of ways. Firstly, the reliability of nodes and links could be included in a network availability calculation given the routing table. Here, the route availabilities can easily be calculated and subsequently used to compute the overall network availability. This availability measure would then be included in the objective function used to guide GA search. Secondly, failing a number of the more heavily utilised links and determining the viability of the resulting network could be used to guide GA search. To summarise, an approach to network ring design using GAs has been presented that can assist in the design of cost-effective networks. The routing, bandwidth allocation and ring design problems can be solved in a single hierarchical step leading to highly cost effective network designs. On the classes of the networks tested to date, the GA designs have been of lower cost than those derived using other heuristic algorithms.

References [1] Goldberg, D.E., Genetic Algorithms in Search, Optimization and Machine Learning. Reading, MA: Addison Wesley, 1989. [2] Grover, W.D., Venables, B.D., Sandham, J., and Milne, Performance of the Self-Healing Network Protocol with Random Individual Link Failure Time, in Proceedings of ICC 1991, vol. pp. 660-666, 1991. [3] Sakauchi, H., Nishimura, Y., and Hasegawa, S., A Self-Healing Network with an Economical Spare-Channel Assignment, in Proceedings of IEEE Globecom ‘90, pp. 438443, Dec., 1990. [4] Wu, T., and Lau, C., A Class of Self-Healing Ring Architectures for SONET Network Applications, in Proceedings of IEEE Globecom ‘90, pp. 444-452, Dec., 1990.

[5] Wu, T., Kolar, D. J., and Cardwell, R.H., Survivable Network Architectures for Broadband Fiber Optic Networks: Models and Performance Comparisons, in IEEE Journal of Lightwave Technology, vol. 6, no. 11, pp. 1698-1709, Nov. 1988. [6] Nathan, Sri, Multi-Ring Topology Based Network Planning, Nortel Internal Document. [7] Frank, H., Frisch, I.T. and Chou, W., Topological Considerations in the design of the ARPA computer network. in Conf. Rec., 1970 Spring Joint Computer Conference, AFIPS Conference Proceedings, vol. 36. Montvale, NJ: AFIPS Press, 1970. [8] Steiglitz, K., Weiner, P., and Kleitman, D. J., The design of minimum cost survivable networks. IEEE Transactions on Circuit Theory, pp. 455-460, Nov. 1969. [9] Frank, H., Frisch, I.T., Chou, W. and Van Slyke, R., Optimal design of centralized computer networks, Networks vol. 1, pp. 43-57, 1971. [10] Gerla, M. and Kleinrock, L. On the Topological Design of Distributed Computer Networks. IEEE Transactions on Communications, vol. 25, no. 1, January, 1977. [11] Gerla, M., The design of store-and-forward networks for computer communications, Ph.D. dissertation, School of Engineering and Applied Science, University of California, Los Angeles, Jan. 1973. [12] Yaged, B., Minimum cost routing for static network models, Networks, vol. 1, pp. 139172. 1971. [13] Minoux, M., Network Synthesis and Optimum Network Design Problems: Models, Solution Methods and Applications. Networks, vol. 19, pp 313-360. [14] Gendreau, M., Labbe, M. and Laporte, G., Efficient heuristics for the design of ring networks, in Telecommunication Systems, vol. 4, pp 177-188, 1995. [15] Laporte, G. and Martello, S., The selective travelling salesman problem. Discrete Applied Mathematics, vol. 26, pp 193-207. [16] Dijkstra, E.W., A note on two problems in connection with graphs, Numerische Mathematik, 1, B.G. 269, 1959. [17] Davis, L., Cox, A., and Qiu, Y., A Genetic Algorithm for Survivable Network Design in Proceedings of the Fifth International Conference on Genetic Algorithms, Morgan Kauffman, 1993, pp 408-415. [18] Davis, L., and Coombs, S., Genetic Algorithms and Communication Link Speed Design: Theoretical Considerations in Proceedings of the Second International Conference on Genetic Algorithms, Lawrence Erlbaum, 1987, pp 252-256. [19] Coombs, S., and Davis, L., Genetic Algorithms and Communication Link Speed Design: Constraints and Operators in Proceedings of the Second International Conference on Genetic Algorithms, Lawrence Erlbaum, 1987, pp 257-260. [20] Michalewicz, Z., Genetic Algorithms + Data Structures = Evolution Programs, Springer Verlag, 1992.

[21] Cormen, T.H., Leiserson, C.E. and Rivest, R.L., Introduction to Algorithms. McGraw Hill, 1990. [22] Starkweather, T., McDaniel, S., Mathias, K., Whitley, D. and Whitley, C., A Comparison of Genetic Sequencing Operators, in Proceedings of the Fourth International Conference on Genetic Algorithms, Morgan Kauffman, 1991, pp. 69-76. [23] Orvosh, D., and Davis, L., Shall We Repair? Genetic Algorithms, Combinatorial Optimization and Feasibility Constraints in Proceedings of the Fifth International Conference on Genetic Algorithms, Morgan Kauffman, 1993, pp. 650. [24] Mann, J., Kapsalis, A. and Smith, G.D., The GAmeter Toolkit in Applications of Modern Heuristic Methods, Rayward-Smith, V. J. (ed.), Alfred Walker, pp. 195-209, 1995. [25] Koza, J. R., Genetic Programming: on the programming of computers by means of natural selection. MIT Press, 1992. [26] Wasem, O. J., An Algorithm for Designing Rings for Survivable Fiber Networks, IEEE Transactions on Reliability, Vol. 40, No. 4, pp. 428-439, Oct. 1991. [27] Wasem, O. J., Optimal Topologies for Survivable Fiber Optic Networks Using SONET Self-Healing Rings, Proceedings of IEEE Globecom ‘91, pp. 2032-2038, Nov. 1991. [28] Slevinsky, J. B., Grover, W. D. and MacGregor, M. H., An Algorithm for Survivable Network Design Employing Multiple Self-healing Rings, Proceedings of IEEE Globecom ‘93, pp. 1586-1573, Nov. 1993. [29] Wasem, O. J., Wu, T. H. and Cardwell, R. H., Survivable SONET Networks - Design Methodology, IEEE JSAC, Vol. 12, pp. 205-212, Jan. 1994. [30] Gardner, L. M., Haydari, M., Shah, J., Sudborough, I. H. and Xia, C., Techniques for Finding Ring Covers in Survivable Networks, Proceedings of IEEE Globecom ‘94, pp. 18621866, Nov. 1994. [31] Boot, J., Wever, H. W. and Zwinkels, A. M. E., Planning an SDH Network, Proceedings of the Sixth International Network Planning Symposium, pp. 143-148, Sep. 1994. [32] Poppe, F. and Demeester, P., An Integrated Approach to the Capacitated Network Design Problem, Proceedings of the Fourth International Conference on Telecommunication Systems, pp. 391-397, Mar. 1996. [33] Baldwin, J. M., A new factor in evolution, American Naturalist, vol. 30, pp. 441-451, 1896. [34] Whitley, D., Gordon, S. and Mathias, K., Lamarckian evolution, the Baldwin effect and function optimization. In Parallel Problem Solving from Nature - PPSN III. In Y. Davidor, H.P. Schwefel, and R. Manner, editors, pp. 6-15. berlin: Springer-Verlag, 1994. [35] Belew, R.K., McInerney, J. and Schraudolph, N.N., Evolving networks: Using the Genetic Algorithm with connectionist learning. In Proceedings of the Second Artificial Life Conference, pp. 511-547, Addison-Wesley, 1991.