Department of Computer Science and Information Engineering ... paper, we focus
on the design of multicast algorithms which try to minimize the cost of the.
MULTICAST OUTING BASED ON G16, ENETIC ALGORITHMS JOURNAL OF INFORMATION SCIENCERAND ENGINEERING 885-901 (2000)
885
Multicast Routing Based on Genetic Algorithms REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG Department of Computer Science and Information Engineering National Chung Cheng University Chiayi, Taiwan 621, R.O.C. E-mail:
[email protected]
Due to the advent of many new multimedia applications in high speed networks, the issue of multicast routing has become more and more important. The multicast routing problem in computer networks is also known as the Steiner tree problem which has been shown to be NP-complete. In this paper, we propose a new multicast routing algorithm based on Genetic Algorithms. To apply this algorithm to real networks, we also propose several methods for reducing the computational complexity. Computer simulations were conducted on a random graph to evaluate the performance of the proposed algorithm. Our numerical results show that the proposed algorithm is able to find a better solution than the RSR algorithm, a very promising heuristic algorithm for the Steiner tree problem proposed by Rayward-Smith. Finally, since many multimedia applications require multiple Quality of Service (QOS) constraints, such as delay, jitter, and loss probability, we also address how to extend the proposed algorithm to obtain multiple constrained multicast trees. Keywords: multicast, Steiner tree, genetic algorithm, routing, QOS
1. INTRODUCTION Due to rapid advances in the switching and communication technologies and the increased demand for various kinds of communication services, many new applications in networks require the support of multicast communication. Therefore, the issue of multicast routing has become more and more important. In the past, most multicast routing algorithms have been developed with the goal of minimizing the cost of the constructed multicast tree. The multicast tree with minimum cost is called a Steiner tree [1]. Unfortunately, the problem of finding a Steiner tree is known to be NP-complete [2], even if links have unit cost [3]. Thus, most previous researchers have focused on developing heuristic algorithms that take polynomial time and produce near optimal results [4-6]. Furthermore, these heuristic algorithms often guarantee that their solutions are within twice the cost of the optimal solution. More recently, the multicast routing problem has been formulated as a constrained Steiner tree problem in which either an end-to-end delay bound needs to be satisfied for each path in the tree [7] or there is a restriction on the number of packet copies per network node (switch) [8]. In this paper, we focus on the design of multicast algorithms which try to minimize the cost of the multicast tree and also take path delay into consideration; i.e., low path delay is preferred but not guaranteed. However, the proposed scheme can be easily extended to solve the
Received February 16, 1998; revised May 4, 1998; accepted August 20, 1998. Communicated by Jean-Lien C. Wu.
885
886
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG
multicast routing problem with multiple constraints, e.g., an end-to-end delay constraint and an end-to-end loss probability constraint. The details will be presented in a follow up paper [9]. In this paper, we present a novel heuristic multicast routing algorithm based on Genetic Algorithms. The Genetic Algorithms [10-12] provide robust and efficient search in complex spaces. Survival of the fittest “genes” and structured yet randomized genetic operations are the basic philosophies behind the algorithms. The main advantages of Genetic Algorithms include: (1) since solutions are coded as bit strings, referred to as chromosomes, large problems can be easily handled by using long strings; (2) genetic operations, such as crossover and mutation, are very easy to implement; (3) with a pool of chromosomes (candidate solutions), Genetic Algorithms search the solution space at different corners in parallel; therefore, the algorithm can be easily implemented on multi-processor machines to search in parallel; (4) randomized genetic operations, such as mutation, can keep the search from being trapped by local-optima. Genetic Algorithms have been successfully applied to control problems in ATM networks, such as bandwidth allocation [13] and buffer management [14]. Recently, they have been applied to point-to-point routing [15] and spanning tree problem [16] in communication networks. The performance of the proposed GA-based multicast routing algorithm, measured in terms of the cost of the multicast tree found, has been evaluated through simulations under different network topologies. Our simulation results show that the proposed algorithm is able to find a multicast tree with less cost than can the RSR algorithm [17, 18]. The remainder of this paper is organized as follows. Section 2 briefly describes the basics of the Genetic Algorithms. In section 3, the GA-based multicast routing algorithm is presented. In section 4, the performance of our multicast routing scheme is evaluated through simulations and compared to that of the RSR algorithm [17, 18], a very promising heuristic algorithm for the Steiner problem proposed by Rayward-Smith. One of the disadvantages of using Genetic Algorithms is that they require many iterations to converge. However, in section 5, we show that two methods can be used to significantly reduce the number of iterations. Finally, conclusions are given in section 6. Since many multimedia applications require multiple Quality of Service (QOS) constraints, such as delay, jitter, and loss probability, we also briefly discuss at the end of section 6 how the proposed scheme can be extended to solve the multicast routing problem with multiple constraints.
2. GENETIC ALGORITHMS The Genetic Algorithms(GAs) are used to solve an optimization problem based on the principle of evolution. A population of candidate solutions, called chromosomes, is maintained at each iteration of the evolution. Each chromosome consists of linearly arranged genes which are represented by binary strings. Three basic operations, namely, reproduction, crossover, and mutation, are adopted in the evolution to generate new offspring. Reproduction is based on the Darwinian survival of the fittest among strings generated. Samples (represented as bit strings) with larger fitness function values are selected to generate new offspring bit strings by means of crossover operations, and the offspring are converted into new parameter solutions. Intuitively, a bit string with a larger fitness function value should have a higher probability of contributing one or more offspring bit strings
MULTICAST ROUTING BASED ON GENETIC ALGORITHMS
887
in the next generation and vice versa. Crossover is used to cut individually two parent bit strings into two or more segments and to then combine the segments undergoing crossover to generate two offspring bit strings. Crossover can produce offspring that are radically different from their parents. Suppose the crossover operation is performed on the two bit strings, “01110001” and “10011011”, and that they are split at the second bit; then, two new bit strings, “01011011” and “10110001” are generated (see Fig. 1). There are other ways of implementing the crossover operation, e.g., arithmetic crossover [12]. 01110001
crossover
01011011
10011011
10110001
parents
offsprings
Fig. 1. The crossover operation.
Mutation is to perform random alternation on bit strings by means of some operations, such as bit shifting, inversion, rotation, etc. A mutation operation will create new offspring bit strings different from those generated by the reproduction and crossover operations. Mutation can extend the scope of the solution space and reduce the possibility of falling into local extremes. In the literature, has been suggested that the possibility of mutation should be set to a very low value. The genetic algorithms are typically implemented as follows: Step 1: Initialize a population of chromosomes (solutions). Step 2: Evaluate each chromosome in the population. Step 3: Create new chromosomes by mating current chromosomes and apply mutation, and recombination when the parent chromosomes mate. Step 4: Delete members of the population to make room for the new chromosomes. Step 5: Evaluate the new chromosomes, and insert them into the population. Step 6: If a stopping criterion is satisfied, then Stop and output the best chromosome (solution); otherwise, go to Step 3.
3. THE PROPOSED MULTICAST ROUTING ALGORITHM 3.1 Network Model and Problem Definition For a directed network graph, the problem of finding an optimal multicast tree with the least cost is formally defined as follows: ∑ GIVEN: A directed network G = (V, E, c) consists of a nonempty set V of ÍV Í vertices and a set E, E Õ V ¥ V, of ÍE Íedges connecting pairs of vertices. Each edge is associated with a cost function c:E Æ R. In addition, a non-empty set N = {v0, u1, u2, ..., uk} of terminals in G is given where N Õ V, v0 is the source node, and D = {u1, u2, ..., uk} is the set of destination nodes.
888
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG
∑ FIND: A subnetwork TG(N) = (VT, ET, cT) of G such that: æ N Õ VT; æ there is a path from the source node to each destination node; æ the cost of TG(N), Âe ŒE c(e1), is minimized. 1
T
3.2 Routing Table In the network graph, G = (V, E), there are ÍV Í¥ (ÍV Í- 1) possible source-destination pairs. A source-destination pair can be connected by a set of links, which is called a “route”. There are usually many possible routes between any source-destination pair. For example, consider the network shown in Fig. 2; the possible routes between v0 to v4 include v0 - v4, v0 - v5 - v4, ...., and so on.
V1
V2 V5
V0 V3
V4 Fig. 2. A simple 6-node network.
Our GA-based multicast routing algorithm assumes that a routing table, consisting of R possible routes, has been constructed for each source-destination pair. For example, Fig. 3 shows the routing table for the source-destination pair (v0, v4). The size of the routing table, R, is a parameter of our algorithm. The possible routes in the routing table can be sorted according to their length (i.e., number of links) or delay such that to shorter paths are assigned smaller route numbers. (Preferring routes with smaller delay are preferred so as to take path delay into consideration in finding multicast trees.)
V0→V4
Route No.
0 1
Route lists
V0 V4 V0 V5 V4
R-1
V0 V5 V1 V2 V3 V4
Fig. 3. Example of a routing table.
890
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG
Initialization [Initial generation]
Gene pool
Evaluation
Discard
Genetic operation Selection / Reproduction Crossover Mutation
[Next generation]
Solution
Fig. 5. The proposed Genetic Algorithm.
An outline of our GA-based multicast routing algorithm, schematically illustrated in Fig. 5, is given as follows. 3.4.1 Initialization of chromosomes Recall that a chromosome consists of a sequence of genes, each of which corresponds to a specific route of a routing table. The initial procedure generates P different chromosomes at random, which form the first generation. This set of chromosomes is called the chromosome pool (or population), and P is the size of the chromosome pool. 3.4.2 Evaluation of chromosomes The fitness value of a chromosome is the value of the objective (fitness) function for the solution (e.g., a multicast tree) represented by the chromosome. Given a chromosome pool H = {h0, h1, ..., hp-1}, the fitness value of each chromosome is computed as follows. Let C(hi)be the sum of the costs of the links of the graph represented by the chromosome hi and C(L)be the sum of the costs of all the links in the network. The fitness value of the chromoC(hi ) some hi, F(hi), is given by F(hi ) = 1 − . (Note that 0 £ F(hi) < 1.) After evaluating the C( L ) fitness values of all the chromosomes, the chromosomes are then sorted according to their fitness values such that F(h0) ≥ F(h1) ≥ ...≥ F(hp-1). (That is, the first chromosome in the pool is the best solution found so far.)
MULTICAST ROUTING BASED ON GENETIC ALGORITHMS
891
3.4.3 Discard the duplicate chromosomes In the chromosome pool, there may exist two or more duplicate chromosomes. Applying some of the genetic operations, e.g., crossover, on two duplicate chromosomes will yield the same chromosome. Therefore, a large number of duplicate chromosomes in the chromosome pool will reduce the searching ability. Once this situation occurs, the duplicated chromosomes must be discarded. In our algorithm, they are replaced by new randomly generated chromosomes, as shown in Fig. 6.
large
fitness
D1
Die off
D2
Die off
C1 C2 C4 C5
D2 C1
D2
C3
small
D1
D1 D2
C2 C3
Fill in randomly generated chromosomes
C4 C5 N1 N2 N3
Fig. 6. Discard duplication chromosomes.
3.4.4 Reproduction According to the computed fitness values, some of chromosomes are selected in order to generate more offspring through crossover and mutation operations, and others are removed from the chromosome pool. In this way, chromosomes with large fitness values will survive and reproduce more. On the other hand, chromosomes with small fitness values will die off. The reproduction process selects a certain number of chromosomes with the best fitness values from the current generation for reproduction. Another group of chromosomes, again with the best fitness values, is selected to reproduce offspring through the crossover operation. Note that the number of the chromosomes in the chromosome pool is always restricted to P, as illustrated in Fig. 7.
large
fitness
Reproduction Crossoer and mutation Die off
small Fig. 7. Select chromosomes for genetic operation.
892
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG
3.4.5 Crossover In nature, genetic information between two chromosomes is exchanged through mating. The crossover operation is used to mimic the mating process. In this process, two chromosomes strings with larger fitness values are picked from the chromosome pool first. The start point and length of the portion to be exchanged are randomly selected. Two new offsprings are created and put back into the chromosome pool, as illustrated in Fig. 8. Crossover point exchange
Fig. 8. Crossover operator.
3.4.6 Mutation The mutation operation is one kind of random change in the chromosome. In our algorithm, pointwise mutation is adopted, in which one bit in the chromosome string is changed with a certain probability, referred to as the mutation probability. (Changing a bit in a chromosome mimics the random change of chromosomes occurring in nature.) The mutation operation gives the Genetic Algorithm an opportunity to search for new, more feasible, chromosomes in new corners of the solution spaces.
4. NUMERICAL RESULTS In this section, the performance of the proposed multicast routing scheme will be evaluated via simulation results. The performance will then be compared with that of the heuristic algorithm proposed by Rayward-Smith [17,18], referred to as the RSR algorithm [18]. The RSR algorithm is summarized as follows. Recall that N is the set consisting of the source node and destination nodes of a multicast request. Let T be a set of trees which will be subgraphs of the final tree. Step 1: Initialize T such that T = {T1 , T2 ,..., T| N |}, where Ti = {vi }∀ vi ∈ N . Step 2: Find a vertex v Œ V which has the minimum value of the heuristic distance function f(v). The vertex v is th en used to unite two of the trees in T by joining each of these trees to v using the shortest path. Step 3: Repeat step 2 until there is only one tree in T. Step 4: Find the minimum spanning tree of the subgraph of the network induced by nodes found in step 3, and prune this tree to ensure that all leaves are in N. The heuristic distance function f(v) is given by
MULTICAST ROUTING BASED ON GENETIC ALGORITHMS
r
f (v) = min {∑
2 ≤ r ≤ | T | i =1
893
d (v, Vi ) | V1 , V2 ,..., Vr are the vertex sets of trees in T}, r −1
where d(v, Vi) is the cost of the shortest path from node v to the set of vertex Vi. 4.1 Network Model and Traffic Distribution The simulation results presented in this section were carried on a random graph in which |V| nodes were placed randomly on a |V| ¥ |V| lattice points in the plane, and the probability of a link existing between nodes depended on the distance between them [6] (see [8] for the details). In our simulations, a 20-node random graph was constructed as shown in Fig. 9.
Fig. 9. A 20-node random graph.
We assume that the network is well-dimensioned, and that the cost of a link is normalized to unity. The cost may represent the cost of carrying a connection on the link. For example, in [21], the routing problem is formulated as an Markov decision process (MDP) and the cost of a link, which is state dependent, represents the expected revenue loss due to carrying a new call. In the well-dimensioned network, we assume that the costs of the links are uniformly distributed between 0.3 to 1. 4.2 Computer Simulation Results 4.2.1 Off-line setup In our proposed algorithm, the GA approach uses a gene to represent a route from the source node to one of the destinations. Hence, the routing table for each source-destination pair needs to be constructed first. Obviously, the number of possible routes between two nodes heavily depends on the network topology. If the network is densely connected or the size of the network is large, the number of possible routes of a source-destination pair becomes huge. Hence, it is impossible to list all the possible routings in the routing table. In the simulation, we set the size of routing table to 64. An algorithm was designed to automatically generate the shortest 64 routes for each O-D pair.
894
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG
4.2.2 Parameter selection The parameters of the genetic algorithm, such as the size of the chromosome pool, the mutation rate, and the number of generations, must be properly selected to obtain the best performance. As described in the following, simulations were conducted to obtain proper values for these parameters. To obtain the value of each point shown in the following figures, 100 simulation runs were conducted. During each simulation, the link costs were randomly assigned according to the uniform distribution. Given the link costs assigned, 1000 multicast requests were then generated, in which the source node and destination nodes were randomly selected. Let us examine the effect of the number of generations on the performance of the algorithm. Fig. 10 shows the average cost yielded at each generation for multicast connections with 10 destination nodes. The mutation rate was set to 0.4. The three curves in Fig. 10 show the average cost yielded at each generation when the size of the chromosome pool (population) was set to 16, 32, and 64, respectively. We can observe that more generations were required to obtain stable results when N was small. However, when N was larger, more computation time was required for each generation. Therefore, there existed a tradeoff. When N was 64, about 200 generations were required to obtain a stable result.
Fig. 10. The effect of the number of generations on the performance of the proposed algorithm.
Fig. 11 shows the cost observed after 300 generations under different population sizes. The network configuration and other parameters were the same as above. As expected, larger population size led to better performance because more diverse chromosomes available in a large population could keep the genetic algorithm from falling into the local optimum. From Fig. 11, we can observe that the obtained cost did not decrease significantly when the population size was larger than 48. Fig. 12 shows the effect of the mutation rate on the performance of the genetic algorithm. The minimum cost obtained after 200 generations under various mutation rates is plotted, where the population size was set to 64. Although previous researches in genetic algorithms suggest that a small mutation rate usually yields better performance, we observe a contrary result. Fig. 12 suggests that any mutation rate that is larger than 0.1 will yield good performance while 0.4 seems to be best choice.
MULTICAST ROUTING BASED ON GENETIC ALGORITHMS
895
Fig. 11. The effect of the size of the chromosome pool on the performance of the proposed algorithm.
Mutation rate Fig. 12. The effect of the mutation rate on the performance of the proposed algorithm.
4.2.3 Comparison of performance In this section, we evaluate the performance of the proposed multicast routing algorithm. Table 1 compares the performance of the proposed algorithm with that of the RSR algorithm under different sizes of the destination set. The size of the chromosome pool was set to 64, the mutation rate was set to 0.4, and the number of generations was 200. Again, 100 simulations were conducted to obtain each point in the table, and 1000 multicast requests were randomly generated during each simulation. As we can observe from Table 1, as many other simulation results shown in [20], the proposed algorithm is able to find a better multicast tree than the RSR algorithm in all cases. The improvement can be up to 5%. The performance of the RSR algorithm and our proposed algorithm under various network models (topologies) was also examined in [20]. The proposed algorithm yielded better performance than the RSR algorithm in most cases, similar to the results shown in Table 1. Although the performance of our proposed algorithm can be further improved if we increase the size of the chromosome pool or the number of generations, this will also increase the computation time. Therefore, in the next section, we propose two methods for reducing the computation time.
896
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG
Table 1. Performance comparison of the proposed algorithm with RSR. Algorithm Performance
RSR
GA
Improvement
19
9.158592
9.158592
0%
18
8.894304
8.835362
0.67%
17
8.620218
8.530184
1.06%
16
8.342511
8.230556
1.36%
15
8.044034
7.906488
1.74%
14
7.731570
7.569025
2.15%
13
7.393793
7.209776
2.55%
12
7.051798
6.906753
2.10%
11
6.677246
6.554013
1.88%
10
6..03546
6.093350
3.45%
9
5.901817
5.666733
4.15%
8
5.469616
5.258858
4.01%
7
5.008952
4.831490
3.67%
6
4.506484
4.344045
3.74%
5
3.972515
3.812665
4.19%
4
3.404644
3.242793
4.97%
3
2.774486
2.676587
3.66%
2
2.072492
2.033813
1.90%
no. of destinations
5. REDUCING THE COMPUTATION REQUIREMENT Besides decreasing the size of the chromosome pool or the number of generations, we propose the following two methods for reducing the computation time of the GA-based routing algorithm. The first method modifies the initial procedure such that the chromosomes in the initial chromosome pool are generated with preference for genes that represent shorter routes. Since the routes in the routing tables are sorted according to their length, preference for shorter routes is equivalent for preference for genes with small values. Specifically, the value of a gene is generated at random from the range of (0, R/4) instead of (0,R), where R is the size of routing table. Fig. 13 shows the effect of this method. We can observe that when the initial chromosomes were generated with preference for genes of shorter routes, the proposed algorithm reached a good solution much faster than initialized randomly. The second method reuses the past solutions. In real networks, the solutions obtained for setting up a multicast connection can be reused as the initial chromosomes for the next multicast request, either with the same source and destination set or without. Since the
MULTICAST ROUTING BASED ON GENETIC ALGORITHMS
897
Fig. 13. The effect of the first speed up method: initialize the chromosome pool with shorter routes.
network configuration (e.g., traffic on each link) will not change dramatically during a short period of time (e.g., the time between two consecutive multicast requests), chromosomes in the chromosome pool of the past-solution are very likely to still be good solutions. When two multicast connection requests have the same source node and destination set, the chromosomes in the past-solution pool can be copied directly to the new initial chromosome pool. However, if the number of chromosomes copied from the past-solution pool to the new initial pool is too large, the evolution process may not progress effectively. Therefore, we suggest that only the top 50% of the chromosomes from the past-solution pool be copied. Fig. 14 shows the effect of reusing the past solutions. The simulations were done with 5 destination nodes. The dashed line with triangle marks shows the costs of multicast trees obtained with preference for genes of shorter routes in the initial chromosome pool. The solid line with square marks shows the improvement in the convergence speed when the top 50% of the past solutions were reused as the initial chromosomes. The fluctuation of the network traffic was simulated by changing the cost of each link randomly to a value within the interval of (80%,120%) of the original link cost. The same method was adopted in the following simulations.
Fig. 14. The effect of reusing past solutions (same source node and destination set).
898
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG
If two multicast requests do not have the same destination set but have the same source node, the chromosomes in the past-solution pool can still be reused as follows. In particular, if the destination set of the current multicast request is a subset or superset of the previous request’s destination set, the chromosomes can be reused as follows. If the current destination set is a superset of the previous destination set, the chromosomes are initialized such that genes that represent routes to destinations in the previous destination set are copied directly from the chromosomes in the past-solution pool while genes that represent new destinations are generated randomly (or with preference for shorter routes). Fig. 15 shows the effect of reusing past solutions when the current destination set (7 nodes) is a superset of the previous destination set (5 nodes). On the other hand, if the current destination set is a subset of the previous destination set, genes of initial chromosomes are copied directly from the corresponding genes in the past-solution pool. Fig. 16 shows the improvement obtained by reusing past solutions when the current destination set (5 nodes) is a subset of the previous destination set (7 nodes).
Fig. 15. The effect of reusing past solutions (same source node, larger destination set).
Fig. 16. The effect of reusing past solutions (same source node, smaller destination set).
MULTICAST ROUTING BASED ON GENETIC ALGORITHMS
899
6. SUMMARY AND FUTURE WORK In this paper, we have proposed a new multicast routing algorithm based on GAs. Current existing multicast routing algorithms emphasis either the minimum cost or path delay. Our new multicast routing algorithm tries to minimize the multicast cost while maintaining a reasonable path delay. The number of generations required to reach a good solution has been reduced significantly by preferring shorter routes in initializing the chromosome pool and reusing the past solutions as the initial chromosomes for the new search. Our simultation results show that, with properly setting of the GA’s parameters, such as the size of the chromosome pool and the number of generations, the proposed multicast routing algorithm is able to obtain a better solution than the RSR method in the random graph model studied in this paper as well as other network topologies studied in [20]. Furthermore, the time complexity of the our algorithm increases linearly as we increase the number of nodes of the network or the number of destinations of a multicast request. The proposed algorithm can be extended to multicast routing problems in future highspeed networks with multiple quality of service constraints. In ATM networks, an established connection is provided with a certain QOS guarantee. The QOS parameters may include the average/maximum end-to-end delay, delay jitter, cell loss probability, etc. That is, a connection may be guaranteed with multiple QOS parameters, e.g., the average end-toend delay and maximum cell loss probability. Although many researchers had studied the single constrained multicast problem, especially the delay constrained multicast problem, the multiple constrained multicast problem has been much less studied. The proposed algorithm can be easily extended to solve the multiple constrained multicast problem. Based on the proposed algorithm, the only thing we need to change is the fitness function in the second step (section 3.4.2). In the second step, all the chromosomes in the chromosome pool are evaluated using the following new fitness function. The fitness value of a chromosome hi, F(hi), is the sum of the costs of the links of the graph represented by the chromosome hi if the QOS constraints can be satisfied; otherwise, the fitness value is set to infinity (or some huge number). This approach has many advantages. First, no matter how many QOS constraints need to be satisfied, the time complexity of the proposed algorithm will not grow exponentially. Actually, the additional time complexity required is very low. Second, no limitations need to be enforced when building routing tables. Finally, all the good features explored in this paper also apply to the new algorithm. Our preliminary simulation results show that the new proposed algorithm yields better performance than existing delay constrained multicast routing algorithms (e.g., [7]). Details will be presented in [9].
REFERENCES 1. S. L. Hakimi, “Steiner’s problem in graphs and its implications,” Networks, Vol. 1, No. 1, 1971, pp. 113-133. 2. R. M. Karp, “Reducibility among combinatorial problems,” Complexity of Computer Communications, R. E. Miller and J. W. Thatcher, Eds., Plenum, New York, 1972, pp. 85-103.
900
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG
3. M. R. Gareg and D. S. Johnson, Computer and Intractability: A Guide to the Theory of NP-Completeness, Freeman, New York, 1979. 4. C. H. Chow, “On multicast path finding algorithms,” IEEE INFOCOM ’91, 1991, pp. 1274-1283. 5. H. Takahashi and A. Mutsuyama, “An approximate solution for the Steiner problem in graphs,” Mathematic Japonica., Vol. 6, 1980, pp. 573-577. 6. B. M. Waxman, “Routing of multipoint connections,” IEEE Journal on Selected Areas in Communications, Vol. 6, No. 9, 1988, pp. 1617-1622. 7. V. P. Kompleea, J. C. Pasquale, and G. C. Polyzos, “Multicast routing for multimedia communication,” IEEE/ACM Transactions on Networking, Vol. 1, No. 3, 1993, pp. 286-292. 8. H. Tode, Y. Sakai, M. Yamamoto, H. Okada, and Y. Tezuka, “Multicast routing algorithm for nodal load balancing,” IEEE INFOCOM ’92, 1992, pp. 2086-2095. 9. J. J. Wu and R.-H. Hwang, “Multicast routing with multiple constraints,” Information Sciences, Vol. 124, 2000, pp. 29-57. 10. D. E. Goldberg, Genetic Algorithms: Search, Optimization and Machine Learning, Addison Wesley, Massachusetts, 1989. 11. J. H. Holland, Adaption in Natural and Artificial Systems, Boston, MA: MIT Press, 1992 12. L. Davies, Genetic Algorithms and Simulated Annealing, Morgan Kaufmann, 1987. 13. H. Pan and I. Y. Wang, “The bandwidth allocation of ATM through genetic algorithm,” IEEE GLOBECOM ’91, 1991, pp. 125-129. 14. L.-D. Chou and J.-L. C. Wu, “Buffer management using genetic algorithms and neural networks,” IEEE GLOBECOM ’95, 1995, pp. 1333-1337. 15. N. Shimamoto, A. Hiramatu, and K. Yamasaki, “A dynamic routing control based on a genetic algorithm,” 1993 IEEE International Conference on Neural Network, 1993, pp. 1123-1128. 16. C. C. Palmer and A. Kershenbaum, “Two algorithms for finding optimal communication spanning trees,” Technical Report, IBM T. J. Watson Research Center, Yorktown Heights, NY, 1993. 17. V. J. Rayward-Smith, “The computation of nearly minimal Steiner trees in graphs,” International Journal Mathematic Educational Science Technology, Vol. 14, No. 1, 1983, pp. 15-23. 18. V. J. Rayward-Smith and A. Clare, “On finding Steiner vertices,” Networks, Vol. 16, 1986, pp. 283-294. 19. C. C. Palmer and A. Kershenbaum, “Representing trees in genetic algorithms,” IEEE World Congress on Computational Intelligence, Vol. 1, 1993, pp. 379-384. 20. W.-Y. Do, “Multicast routing based on genetic algorithms,” M.S. Thesis, Department of Computer Science and Information Engineering, National Chung Cheng University, 1996. 21. T. J. Ott and K. R. Krishnan, “State dependent routing of telephone traffic and the use of separable routing schemes,” The 11th International Telecommunication Conference, 1985, pp. 867-872.
MULTICAST ROUTING BASED ON GENETIC ALGORITHMS
901
Ren-Hung Hwang ( ) ws born in Kaohsiung, Taiwan, in 1963. He received the B.S. degree in computer science and information engineering from National Taiwan University, Taipei, Taiwan, in 1985, and the M.S. and Ph.D. degrees in computer science from the University of Massachusetts, Amherst, Massachusetts, USA, in 1989 and 1993, respectively. He joined the Department of Computer Science and Information Engineering, National Chung Cheng University, Chiayi, Taiwan, in 1993, where he is now an associate professor. His research interests include high-speed computer networks, telecommunication networks, and multimedia communication systems.
Wei-Yuan Do ( ) was born in Taoyuan, Taiwan in 1971. He received the B.S. degree in applied mathematics from National Chung Hsing University, Taichung, Taiwan, in 1994, and the M.S. degree in computer science and information engineering from National Chung Cheng University, Chiayi, Taiwan, in 1996. After graduation, he joined the Communication Network Lab., Technology Service Division, Institute for Information Industry, as an engineer. His current research interests include windowsbased network management tools and windows-based protocol analysis tools.
Shyi-Chang Yang ( ) was born in Kaohsiung, Taiwan, R.O.C., in 1972. He received his B.S. degree in computer science from Chung Hua Polytechnic Institute, Chungli, Taiwan, in 1995, and the M.S. degree in computer science and information engineering from National Chung Cheng University, Chiayi, Taiwan, in 1997. He is now serving in the R.O.C. Army. Mr. Yang’s research interests include computer networks and Internet application software.
902
REN-HUNG HWANG, WEI-YUAN DO AND SHYI-CHANG YANG