A Genetic Algorithm for Optimization of Logical Topologies ... - CiteSeerX

1 downloads 0 Views 119KB Size Report
genetic algorithms (GA), for optimizing the logical topol- .... uses optimization techniques to solve the logical topology .... is specified by the ordered list.
A Genetic Algorithm for Optimization of Logical Topologies in Optical Networks Z. Liu, A. Jaekel and S. Bandyopadhyay School of Computer Science, University of Windsor Windsor, Ontario, Canada N9B 3P4 Abstract In this paper, we introduce a new method, based on genetic algorithms (GA), for optimizing the logical topology of multi-hop optical networks. Our aim is to combine the advantages of the mathematical optimization based approach with the advantages of using regular topologies. We propose implementing the logical topology as a pre-selected regular topology, so that we can exploit the attractive properties of regular graphs. The problem of topology design is thus reduced to that of finding an appropriate mapping between the physical and logical nodes. This mapping is accomplished using a genetic algorithm, which attempts to minimize the congestion of the network, based on the given traffic matrix. We propose a number of new crossover strategies designed to preserve efficient subgraphs within a network. We evaluate our approach by comparing the results with traditional hillclimbing techniques as well as genetic algorithms using standard crossover operators found in the literature. The results indicate our GA, based on the new crossover operators, consistently provide significant improvements over these methods.

1: Introduction Optical fibers are quickly becoming the major telecommunication medium in today’s local and metropolitan area networks because of their large bandwidth, high speed and low loss. Optical networks [6] are interconnections of high-speed broadband fibers that support lightpaths. Lightpaths are end-to-end communication paths passing through one or more fibers and using one wavelength division multiplexed (WDM) channel [2] per fiber. If a lightpath exists between two nodes, then communication between them can be carried out completely in the optical domain, without any opto-electronic conversion at intermediate nodes. The logical topology of an optical network is a graph where each node (often called endnode) represents a computer in the network and an edge between two end-nodes u and v represents the fact that there is a lightpath between them. Optical networks can be classified into two categories - single-hop [10]and multi-hop [11]. In a single hop net-

work, any source destination pair can communicate directly, with each other, in the optical domain. In other words, a lightpath exists between every source-destination pair in the network. In a multi-hop network, information from a source is routed through several intermediate end-nodes before reaching the destination. At each intermediate end-node, the signal is converted from the optical to electronic domain, processed electronically, and then retransmitted over the next fiber as an optical signal. This architecture was originally introduced by Acampora in [1], to address the scalability problem of purely single hop networks. Multi-hop networks are generally used in situations where it is not feasible to have a lightpath between every source-destination pair. The physical topology of a multi-hop network often has little relationship to the logical topology and, by changing the lightpaths, the same physical topology can support a very large number of logical topologies. These different logical topologies have different performance characteristics and an important research area is to determine the optimum logical topology for a given optical network with a specified physical topology, expected traffic between all node pairs and other physical characteristics. The objective is to design a network which is as fast as possible (performance optimization) and requires the least amount of optical hardware (cost optimization). For optical networks, the two factors that have been used to evaluate the performance of a multi-hop network are its delay and its congestion [14], where the delay is the time taken by a signal to travel from the source node to the destination node and the congestion is the maximum load offered to any logical link. In the context of Wide Area Networks(WAN), the delay is determined by the propagation delay and the primary concern is to reduce the congestion of the network which reduces the cost of the optical hardware. In recent years, there has been considerable interest in the area of logical topology design for multi-hop networks. Two main approaches have been used to solve this problem - using mathematical optimization techniques and using regular topologies. In this paper, we introduce a new method, based on genetic algorithms, for optimizing the logical topology of

0-7695-1573-8/02/$17.00 (C) 2002 IEEE

a multi-hop optical network. Our aim is to combine the advantages of the traffic-based approach with the advantages of using regular topologies. We propose implementing the logical topology as a pre-selected regular topology, so that we can exploit the attractive properties of regular graphs. The problem of topology design is thus reduced to that of finding an appropriate mapping of the physical to logical nodes. This mapping is accomplished using a genetic algorithm, which attempts to minimize the congestion [13] of the network, based on the given traffic matrix. As an illustrative example, we have selected the DeBruijn graph as the target logical topology in this paper. The same concept can be readily used with any other target topology. The remainder of the paper is organized as follows. In Section 2 we briefly review previous approaches to logical topology design and the details of the DeBruijn topology. In Section 3, we outline the proposed algorithm and in Section 4 we introduce several new crossover strategies for logical topology design. The experimental results are presented and analyzed in Section 5 and we conclude with a critical summary in Section 6.

2: Review 2.1: Previous approaches In this section, we briefly, outline some of the previous approaches, found in the literature, in the area of logical topology design. The first approach, proposed in [12], uses optimization techniques to solve the logical topology design problem. It is based on the traffic demands of the various node pairs and attempts to design an optimal logical topology and to determine a routing scheme over this logical topology. The combined topology design and routing problem can be formulated as a mixed integer linear program (MILP) which minimizes the congestion of the network, subject to an upper bound on the maximum (propagation) delay for any communication. The input to the algorithm consists of the physical topology of the underlying network and the traffic matrix T = (tsd), where tsd represents the arrival rate of packets at node s destined for node d. The main drawback of this approach is that the number of constraints grow rapidly with the size of the network and the approach becomes infeasible even for moderate sized networks. The problem can be simplified by decoupling the logical topology design from the problem of determining the optimum routing scheme [12] between all source destination pairs. Heuristics have been proposed for logical topology design and the problem of finding an optimal routing between different nodes using the logical topology can be formulated as a linear pro-

gramming (LP) problem. Even this approach generates too many constraints and is not applicable for larger networks. The second approach that has been proposed for logical topology design is to ignore the traffic demands and to design regular logical topologies that have some desirable and well known graph theoretical properties such as predetermined routing, low diameter (O(log n) for many regular topologies where n is the number of nodes in the network) and high connectivity. A number of topologies including the Perfect Shuffle [7], the Hypercube [4], the Kautz graph [8], and the DeBruijn graph [15] have been proposed for optical networks. However, many researchers feel that such topologies may be appropriate only if the traffic is uniform or when the traffic pattern is not known and that their usefulness under different traffic conditions is questionable [13].

2.2: DeBruijn Topology In this paper we have used the DeBruijn graph as the target logical topology. The rationale for using the DeBruijn graph is because of its low diameter (O(log n) where n is the number of nodes in the network), large connectivity and simple routing scheme. A DeBruijn graph [14], denoted as B(d, k), is a regular directed graph with dk nodes, where d is the degree of each node and k is the diameter of the graph. Each node with a logical node number u has a label represented by a string consisting of k elements, ukk–1 1... u1 u0,

where ui ∈ (0 .. d-1) such that u =

∑ ui d

i

i=0

In a DeBruijn graph, there is and edge u → v from node u to node v, if and only if v is a left-shifted version of u. Thus, if u = uk-1... u1 u0 then u → v exists iff v = uk2... u1 u0i, for any i ∈ (0 .. d-1). 4 100 0 000

6 110 2 010

1 001

5 101

7 111 3 011

Figure 1DeBruijn graph with d=2 and k=3 Figure 1shows a 8-node DeBruijn graph with d=2 and k=3. The labels associated with each node are also identified. In the following sections, we will use the node

0-7695-1573-8/02/$17.00 (C) 2002 IEEE

number and the associated label interchangeably, to identify a node.

mapped. For example, Figure 2 shows a DeBruijn graph with a mapping which is given below.

3: Our Approach

Logical Node:

3.1: Outline of Algorithm

Physical Node: B A C E D G H F The chromosome (C1) corresponding to this mapping is specified by the ordered list C1=(B A C E D G H F)

In a network with n nodes, there are n! ways of mapping nodes of the physical network (we call these the physical nodes) to the nodes of the target logical topology (we call these the logical nodes). In order to avoid confusion, in the remainder of this paper, we use numbers to represent logical nodes and letters to represent physical nodes. In this section, we outline our genetic algorithm for finding a suitable mapping, based on the traffic matrix. The main idea behind this algorithm is that a pair of nodes with heavy traffic between them should be as close to each other as possible, without violating the restrictions of the target logical topology (DeBruijn graph, in our case). The basic structure of the algorithm follows that given [5] and is outlined below. Here G(0) represents the initial population and G(T) is the population in the Tth generation. Control parameters are set up in the initialization phase, including the initial population and population size, the possibilities of mutation and crossover, and the specific crossover strategy to be used. Once the control parameters have been initialized, the algorithm repeatedly creates a new generation using selection, crossover, mutation and evaluates the objective function for each chromosome, until the stop criteria are satisfied.

Initialization; Set up all control parameters Calculate the alternative paths (only for objB) Create initial population, G(0); Evaluate G(0); T: = 0; Repeat T: = T + 1; while G(T) is not full Select chromosomes from G(T - 1); Apply crossover and/or mutation; Evaluate G(T); Until Stop Criteria are satisfied

3.2: Chromosome representation

0

1

2

3

4 D

0 B

4

5

6

7

6 H

2 C

5 G

1 A

7 F

3 E

Figure 2 A Mapping in a DeBruijn Graph (23)

3.3: Selection and mutation The selection strategy of the proposed GA is proportional selection, where the probability of being selected for a chromosome is proportional to its fitness. Elitist selection (also called pre-selection) is also incorporated into the approach. This means that in every generation, a certain number of chromosomes with the highest fitness value automatically enter the next generation without going through the selection and mating procedure. Therefore, the best fitness value can never decrease from one generation to the next. One important factor that can affect the performance of the proposed genetic algorithm is the percentage of chromosomes that are pre-selected. If it is too low, good chromosomes in the previous generation are not protected. If too high, such highly biased selection could cause early convergence and disrupt the natural evolution of the algorithm. In Section 5, we experiment with different values of the pre-selection ratio and study the results. The mutation operator in the proposed algorithm is a simple swap operator, where two genes in a chromosome are randomly picked and switch their values.

3.4: Objective Function and Fitness Value

In our algorithm, each potential solution (or chromosome) is a mapping between the physical and the logical nodes. Each chromosome can be represented uniquely by an ordered list, where the positions in the list represent logical node numbers and the corresponding values are the physical nodes, to which these logical nodes are

The main objective of our GA is to minimize the congestion of the network. Each chromosome represents a mapping between the physical and logical nodes and the objective value is the congestion for that mapping. Clearly, the value of congestion is dependent on how the com-

0-7695-1573-8/02/$17.00 (C) 2002 IEEE

munications are routed over the topology. Finding an optimal routing for a given mapping is itself a very difficult task. Therefore, we have used two simplified objective functions, which result in lower congestion, but does not guarantee that congestion will be minimized. These two objective functions are outlined below. The first objective function (objA) is based on the idea that congestion will be lowered if nodes with heavy traffic between them are placed as close to each other as possible and is expressed as follows. obj A =

∑ij ( k – lij + 1 )T ij , where lij is the length of

the path from node i to node j, k is the diameter of the DeBruijn graph and Tij is the traffic from node i to node j. The advantage of using objA is that it is simple and easy to calculate, routing is always assumed to be along the shortest path, so we don’t have to consider many alternate routes or directly compute the congestion. The second objective function (objB) is based more directly on the congestion. To simplify the routing, we have used a greedy heuristic, where communications with the highest traffic are considered first. For each communication, up to d edge-disjoint paths are considered and the communication is routed over the path with the least traffic. These alternative paths, between every source-destination (s-d) pair, are calculated during the initialization phase. Clearly, routing decisions for subsequent communications depend on the previous decisions. In order to reduce the complexity, we only consider communications for which the traffic is higher than a predefined threshold value. This threshold is usually set to be 10%~30% of the maximal traffic. In order to transform this congestion minimization problem into a fitness maximization problem, we use the function shown below, where MaxCongestion is the largest congestion observed so far during each execution. fitness(x) = 0, where MaxCongestion < objective(x) = MaxCongestion - objective(x), otherwise

3.5: Stop Criteria We assume the GA has converged if the average fitness of the population is at least 90% of the best fitness. In order to minimize the possibility of premature convergence, we force the program to go through a minimum number of generations before it stops. If the criterion for convergence is applicable prior to that, the probability of mutation is increased, in one generation, to introduce more diversity into the population. Finally, the program is stopped if it executes a pre-specified maximal number of iterations, without reaching convergence.

4: Crossover strategies The crossover operator exchanges genetic material between two chromosomes and assembles short, low order and highly fit building blocks together to produce better and better solutions. In this section we discuss the various crossover strategies to be used in our GA. We also introduce several new crossover operators which are specifically designed to preserve beneficial network substructures.

4.1: Order Crossover The Order Crossover strategy (OCX) was initially introduced for the Traveling Salesman Problem (TSP). The idea of OCX is to create an offspring by choosing a subsequence from one parent and preserving the relative order of nodes from the other parent [3]. For example, let C1=(B A C E D G H F) and C2=(C D A E F G H B) be two chromosomes selected for crossover. Suppose we want to preserve the sub-sequence C E D G in C1. We obtain the partial mapping

Logical Node:

0

1

2

3

4

5

6

7

Physical Node: ? ? C E D G ? ? We then fill the vacant positions with genes from C2, taken in order, to obtain Logical Node: 0 1 2 3 4 5 6 7 Physical Node: H B C D E G A F So that offspring1 = (H B C D E G A F). Similarly, offspring2 is obtained by preserving a sub-sequence in C2. In the TSP problem, the building blocks are subtours, and OCX is a natural crossover strategy for TSP because it intends to construct and preserve optimal subtours. However, sub-tours are not relevant to our topology mapping problem. Therefore, crossover strategies that are more suitable for this application are needed. These new crossover strategies are described in this section. We use OCX as a starting point and also as a basis for evaluating the new crossover operators in Section 5.

4.2: Cluster Crossover In order to minimize congestion, two nodes, with heavy traffic between them, should be placed adjacent to each other, if possible. In order to do this, the structure that needs to be preserved, is a node, surrounded by its adjacent members. This is identified as the basic building block and is called a cluster. A cluster is a sub-graph, containing a given node and all nodes adjacent to it. The Cluster Crossover strategy (CCX) tries to preserve good clusters in the chromosomes. The following example illustrates how CCX works.

0-7695-1573-8/02/$17.00 (C) 2002 IEEE

Let C1 = (B A C E D G H F) and C2 = (C D A E F G H B) be two chromosomes selected for crossover. We randomly pick a node n1 = 3. The cluster centered at node 3 includes nodes 1, 3, 5, 6 and 7. To keep this cluster in the offspring, we first preserve the mappings corresponding to these nodes in the cluster. The partial mapping after this step is shown below.

CCX shows strong cohesion for small networks because it can protect many nodes during a crossover. However, overly strong cohesion might cause early convergence. Moreover, CCX always protects clusters. But it is very difficult to predict whether the protected cluster is a good one. Under CCX, a cluster can only be replaced but not reconstructed.

Logical Node:

4.3: Sub-graph Crossover

0

1

2

3

4

5

6

7

Physical Node: ? A ? E ? G H F We then fill in the remaining positions with the genes from C2 = (C, D, A, E, F, G, H, B). After eliminating those nodes already in offspring1, nodes C, D, and B are left. We use these, from left to right, to fill the empty positions in the above partial mapping and obtain: Logical Node: 0 1 2 3 4 5 6 7 Physical Node: C A D E B G H F Therefore, offspring1 = (C, A, D, E, B, G, H, F). Offspring2 can be obtained in a similar fashion, by preserving a cluster in C2. Figure 3 shows the mappings corresponding to C1 and offspring1. The nodes in the preserved cluster (centered around node 3) are shown in bold lines in both cases.

In a DeBruijn graph of degree d, each node has up to d predecessors and d successors, i.e. up to 2d nodes adjacent to it. CCX protects all the nodes in a cluster. The Subgraph Crossover strategy (SCX) is a modification of CCX in which a given node n1 and p of its adjacent nodes are preserved, where 1< p< 2d. The number of adjacent nodes to be preserved is chosen by randomly picking a number from 1 to 2d. Since some nodes have only d-1 predecessors and d-1 successors, it is possible that a number, that is greater than the total number of nodes adjacent to n, is picked. In such case, SCX simply protects the entire cluster and becomes identical to CCX. As in CCX, the unprotected positions in the first chromosome of SCX are filled with genes from the second chromosome. Therefore, CCX is a special case of SCX.

4.4: Random Crossover 4 D

0 B

6 H

2 C

5 G

7 F

1 A

3 E

4 B

6 H

0 C

2 D

1 A

5 G

Random Crossover (RCX) does not care about the structure of the chromosome representation or the problem itself. In order to create offspring, RCX randomly picks some positions to exchange genetic material while the rest of the chromosome remains unchanged. In other words, RCX can exchange any elements whether it is part of a cluster or not. Again, let C1 = (B A C E D G H F), C2 = (C D A E F G H B). Since the chromosomes contain 8 elements, an 8-bit binary string is created. Each bit corresponds to one element. The value of the string is randomly generated. Assume it is 01101001. Using this string, a mask operation is applied to C1. If a bit is "1", the corresponding element stays unchanged in the offspring, otherwise it is altered.

7 F

3 E

Figure 3Mapping for (a) chromosome C1 and (b) offspring1

Mask

0

1

Chromosome C1

B

A C E

D G H F

A C

D

Preserved nodes of C1:

1

0

1

0

0

1

F

Then the vacant positions are filled with genes from

0-7695-1573-8/02/$17.00 (C) 2002 IEEE

C2 to create offspring1= (E A C G D H B F). The second offspring can be created by applying the same strategy to C2. On average, 50% of the nodes are protected under RCX.

4.5: Complement Operator The complement operator was introduced in [5] to maintain diversity in a population and avoid early convergence. It is an accessory to other crossover operators. We have also used the complement operator, in our experiments, in conjunction with the crossover strategies mentioned above. The working mechanism of the complement operator is somewhat similar to that of RCX and the details can be found in [5].

5: Result and discussion In this section we study the performance of the different crossover strategies and objective functions, through some experiments. For each network, we experimented with different population sizes, pre-selection and mutation rates. In the tables below, we have only indicated those values which produced the best results for each network and corresponding crossover strategy. Details of the individual experiments can be found in [9]. In our initial experiments, we used a random traffic matrix i.e. the traffic between each source destination pair was generated randomly, within a given range, and inserted into the matrix. We planned to evaluate our results in terms of the following two factors: How often the GA converges and The fitness value of the best chromosome with respect to those obtained by using traditional Hill Climbing (HC) techniques. From the initial experiments we found that the GAs always performed significantly better than the traditional HC techniques. However, this did not provide us with any information on the performance of the GA with respect to finding a global optimum. Considering that there are n! mappings for a given traffic matrix and each one has at least n2 flow assignments, it is very difficult to find the minimal congestion for a random traffic matrix. Therefore, we use an artificial traffic matrix, for which the minimal congestion can be easily determined. It is constructed in such a way that, when the mapping between logical and physical nodes is done optimally, each node communicates only with its immediate neighbors (adjacent members) in the logical topology. When using the artificial traffic matrix, the performance of the GA is evaluated in terms of the following factors: How often the GA converges,

How often the GA finds the global optimum and How often it is able to find a good solution, i.e. the best or second best mapping. In order to analyze the experimental results, we introduce two terms. (i) Coverage Ratio (CR): CR is defined as the percentage of the search space that the GA evaluates before getting a result. It is used to measure the efficiency of the search algorithm. An efficient algorithm has the ability to search a small space to get a good solution. We can approximate the coverage ratio as: PopoulationSize × N G CR = ---------------------------------------------------------- , NG is the number of n! generations gone through and n is the network size. (ii) Protection Ratio (PR): PR is defined as the percentage of nodes that are unchanged during a crossover n1 operation. PR = ----- , where n1 is the number of nodes n unchanged during one crossover. Obviously, PR depends on the particular crossover strategy being used. When PR is too high, there is strong cohesion and a possibility of early convergence. When PR is too low, crossover shows severe fluctuation, resulting in stagnation. In the tables given in this section, we have used the following notation. N = Number of nodes CS = Crossover Strategy PS = Population Size PC = Percentage of Convergence

5.1: Results for objective function objA In this set of experiments, we always use a population size of 300. Table 1 shows the results for OCX and CCX. N

CS

PS

PC

global optimum

Time (sec)

9

OCX

300

100

90%

5

CCX

300

100

100%

5

OCX

300

100

85%

20

CCX

300

100

over 90%

20

OCX

300

100

0%

60

CCX

300

100

10%

60

16

27

Table 1: Results using objA The results are very similar for both, with CCX al-

0-7695-1573-8/02/$17.00 (C) 2002 IEEE

ways performing slightly better than OCX. For 9 and 16 node networks, both perform very well, but the performance drops dramatically for 27 nodes. This is to be expected, since the total search space (27! mappings) is so large. Increasing the population size did not produce any significant improvements in this case, as it does not significantly alter the coverage ratio.

3000. For the 27 node network (as with objA) none of the crossover strategies produce good results, because the search space simply becomes too large. In our experiments, the approximate coverage ratios for the 9, 16 and 27 node networks are 10-1, 10-7 and 10-27 respectively. This gives us an idea of the size of the problem, and explains the results for the 27 node network.

5.2: Results for objective function objB

5.3: Improving the initial population

objB tries to directly minimize the congestion of the network. Calculation of the objective function, in this case, is much more computation intensive and this is evident from the time taken to complete each run. Table 2 shows the results for different networks and crossover strategies, using objB.

It is clear from the results presented in the preceding sections that, for larger networks, irrespective of the crossover strategy used, we cannot get satisfactory results if the algorithm starts with a set of randomly generated chromosomes in the initial population. If the initial population does not have some good chromosomes to guide the search, it is almost impossible to find a good solution. Therefore, the initial population needs to be chosen in such a way that it contains at least one (possibly several) chromosome(s) carrying some good genes. In order to study this, we have introduced such chromosomes into the initial population, for our next set of experiments.

N

9

16

27

CS

PS

PC

performance best

2nd best

Time (sec)

OCX

300

40

0%

0%

5

SCX

300

80

70%

30%

5

CCX

300

95

90%

10%

CCX

300

0

0%

RCX

900

100

RCX

3000

RCX

3000

N

CS

PS

PC

global optimum

Time (sec)

5

9

CC

300

100%

100%

5

50%

20

16

CCX

300

100%

100%

5

0%

30%

240

27

CCX

300

100%

90%

60

100

0%

100%

900

64

CCX

300

100%

90%

180

100

0%

0%

1200

81

CCX

300

100%

80%

300

Table 2: Results using objB From Table 2 we see that all the crossover strategies (except OCX, which does not make use of information about the target application area) perform quite well for the 9 node network. We have not tested OCX for larger networks, because of its poor performance. For the 16 node network, CCX finds a good solution 50% of the time, even with a relatively small population size of 300. However, there is a problem with convergence and increasing the population does not significantly affect the performance. One reason for lack of convergence may be the drop in the protection ratio (PR), since CCX always preserves 2d+1 nodes (where d is the degree of a node), regardless of the size of the network. RCX, on the other hand, always reaches convergence and always finds a good solution, when the population size is increased to

Table 3: Results with modified initial population, using objA N

CS

PS

PC

performance best

2nd best

Time (sec)

9

CCX

300

95

90%

10%

5

16

RCX

900

100

45%

30%

240

27

RCX

3000

100

0%

45%

1200

Table 4: Results with modified initial population,

0-7695-1573-8/02/$17.00 (C) 2002 IEEE

using objB

For practical networks, these chromosomes may be easily obtained by using simple heuristics to generate good mappings. Although the resulting chromosomes will not be optimal, they are likely to contain some good genes. From Table 3 and Table 4, we see that we can achieve significant improvements when using such an initial population.

[2]

[3]

[4]

6: Conclusions In this paper, we have proposed the use of genetic algorithms for designing the logical topology of multi-hop optical networks. The target logical topology is a regular graph with low diameter and a rich interconnection. We have introduced new crossover strategies, which use information about the structure of the logical topology, to perform a mapping between the logical and physical nodes. We have evaluated our approach through a series of experiments. The results show that the GA is quite effective for moderate sized networks (up to 16 nodes). For larger networks, starting with a random initial population does not yield good results. However, if some chromosomes containing "good genes" are inserted into the initial population, the results are very encouraging. These findings compare quite favorably with traditional optimization based techniques, which typically cannot handle networks larger than 16 nodes and usually take several hours to obtain a solution for even the moderate sized networks. One of the most promising features of the proposed GA is its efficiency. For a 9-node network, it travels only 10% of the search space to reach the global optimum. Based on our results so far, GA appears to be a very useful tool for the target application area. Future improvements will include application of parallel genetic algorithm for larger problems, extension of CCX to more than one cluster to improve the protection ratio for large networks, and designing simple heuristics to help select chromosomes for the initial population.

[5]

[6] [7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

[15]

References [1]

C. Brackett, “Dense Wavelength Division Multiplexing Networks: Principles and Applications,” IEEE J. on Selected Areas in Communications, Vol. 8, No. 6, pp. 948-964, Aug. 1990. L. Davis, "Applying Adaptive Algorithms to Epistatic Domains", Proceeding of the International Joint Conference on Artificial Intelligence, pp. 162 - 164, 1985. P. Dowd, "Wavelength Division Multiple Access Channel Hypercube Processor Interconnection", IEEE Trans. on Computers, 1992. D. E. Goldberg, "Genetic Algorithm in Search, Optimization, and Machine Learning", AddisonPublishing Company, Inc., 1989. P. E. Green, Jr., Fiber Optic Networks, Prentice-Hall, 1993. M. G. Hluchyj and M. J. Karol, "Shufflenet: An Application of Generalized Perfect Shuffles to Multihop Lightwave Networks", Journal of Lightwave Technology, Vol. 9, No. 10, October 1999. W.H. Kautz, “Design of Optimal Interconnection Networks for Multiprocessors”, NATO Advanced Summer Institute, pp. 249-272, 1969. Z. Liu, "Mapping logical topology to physical topology in optical networks", M.Sc. Thesis, University of Windsor, 2001. B. Mukherjee, “WDM-based local lightwave networks part I: Single hop systems," IEEE Network, vol. 6, pp. 12-27, May 1992. B. Mukherjee, "WDM-based local lightwave networks part II: Multihop systems," IEEE Network, vol. 6, pp. 20-32, July 1992. R. Ramaswami, K. N. Sivarajan, "Design of Logical Topologies for Wavelength Routed Optical Networks", IEEE J. on Selected Areas in Communications, Vol. 14, No. 5, June 1996. R. Ramaswami, Kumar N. Sivarajan, "Optical Networks: a Practical Perspective", Morgan Kaufman Publishers, Inc. San Francisco, California, 1998. K. N. Sivarajan, R Ramaswami., "Multihop Networks Based on De Brujin Graphs", Proceeding IEEE INFOCOM, 1991, pp. 1001-1011. K. N. Sivarajan, R Ramaswami., "Lightwave Networks Based on De Brujin Graphs", IEEE/ACM Transactions on Networking, Vol. 2, No. 1, pp. 70-79, Feb. 1994.

A. S. Acampora, "A Multichannel Multihop Local Lightwave Network", Proc IEEE Golbecom87, Nov. 1987.

0-7695-1573-8/02/$17.00 (C) 2002 IEEE

Suggest Documents