Egyptian Informatics Journal (2011) 12, 107-114

Cairo University Egyptian Informatics Journal

www.elsevier.com/locate/eij www.sciencedirect.com

ORIGINAL ARTICLE

Multicast routing with bandwidth and delay constraints based on genetic algorithms

Ahmed Younes

Department of Computer Science, Faculty of Science, Sohag University, Egypt

Received 7 November 2010; accepted 17 April 2011 Available online 20 July 2011

KEYWORDS

Multimedia communication; Multicast routing; Multicast tree; Genetic algorithms; Bandwidth and delay

Abstract Many multimedia communication applications require a source to send multimedia information to multiple destinations through a communication network. To support these applications, it is necessary to determine a multicast tree of minimal cost to connect the source node to the destination nodes subject to delay constraints on multimedia communication. This problem is known as multimedia multicast routing and has been proved to be NP-complete. The paper proposes a genetic algorithm for solving multimedia multicast routing, which find the low-cost multicasting tree with bandwidth and delay constraints. In the proposed algorithm, the k shortest paths from the source node to the destination nodes are used for genotype representation. The simulation results show that the proposed algorithm is able to find a better solution, fast convergence speed and high reliability. It can meet the real-time requirement in multimedia communication networks. The scalability and the performance of the algorithm with increasing number of network nodes are also quite encouraged.

© 2011 Faculty of Computers and Information, Cairo University.

Production and hosting by Elsevier B.V. All rights reserved.

E-mail address: a_y_hamed@yahoo.com

1110-8665 © 2011 Faculty of Computers and Information, Cairo University. Production and hosting by Elsevier B.V. All rights reserved.

Peer review under responsibility of Faculty of Computers and

Information, Cairo University.

doi:10.1016/j.eij.2011.04.004

1. Introduction

Multicast transmission of multimedia data is a crucial service provided by the network layer; in fact, it allows the operator to spare a huge amount of network resources in many circumstances. One of the most important applications that benefit form multicast transmissions is the video-clip streaming, where the same content is often sent simultaneously to even millions of users in the internet. Another application is the IPTV, which is going to be released by most of the ISP providers in the next few years. But many others can be cited.

An important problem when implementing multicast services is the design of the multicast trees, which influences the quality and should take into account the network utilization. First works addressing this problem dealt with a single

Nomenclature

N the set of nodes D(e) the delay of e

E the set of communication links Pop_size the number of population

U the set of destination nodes Maxgen the max generation

e(i, j) link from node i e N to node j e N G gen of a chromosome

P shortest path from source to destination node A account of populations

T multicast tree gen account of generation

B(e) the bandwidth of e

C(e) the cost of e

multicast session and focused on minimizing the transmission cost of each single tree. Many heuristic algorithms have been presented to solve the NP-complete unconstrained case [1,2], known as the Steiner tree problem. Other works, such as [3-5], have extended this problem by introducing constraints on the resulting quality of service (QoS), often evaluated in terms of end-to-end transmission delay.

Since in the real world several multicast sessions occur simultaneously, a new and more complex optimization problem needed to be represented: the group multicast routing problem, which consists in the study of the best combination of trees for more sessions concurrently. Until now, only few papers have been published on this topic [6-9]. In particular, Chen et al. [8] used an integer-programming approach considering only sessions with the same bandwidth requirements. They defined the multicast packing problem in which the network tried to accommodate simultaneously all the multicast groups while avoiding bottlenecks on the links with high throughput (i.e., minimized the maximum congested link shared among multicast groups). Minimization of maximum congestion is achieved at the expense of increasing the size of some multicast trees which in turn affected the delay. This trade-off was addressed by adding a penalty term to the objective function of the optimal packing formulation. The penalty term was a function of the amount of dilation from the size of the optimal tree obtained for each multicast session independently from the others, that is, in isolation. Since the mathematical programming formulation for the optimization problem was computationally intractable, they resorted to suboptimal solutions with heuristics. Their heuristic method aimed to reduce the sharing of a link while ensuring that the size of multicast trees will never exceed alpha times the size of the optimum tree for a multicast group in isolation. Optimum multicast tree for each group (in isolation) was computed by using cutting plane inequalities and the branch-and-cut algorithm. Differently, Wang et al. [9], considered a multicast routing problem with multiple multicast sessions under a capacity limited constraint (there is no analysis on delay). In order to solve this problem they proposed two heuristic algorithms, Steiner-tree-based and cut-set-based. If the available bandwidth for the service is just enough, these algorithms may fail to find a solution even if the solution exists. Their heuristics make use of a simple distance based cost function.

In the last years, the genetic algorithms (GA) are gaining an increasing interest for solving complex problems in the networking field, as network design [10] and unicast routing [11]. GA for multicast routing without constraints was presented by Hwang et al. [12] and Bhattacharya et al. [13],

while Chen et al. [14] and Hamdan and El-Hawary [15] addressed the constrained problem taking into account the QoS level provided for real-time applications in single multicast sessions. Randaccio and Atzori [16] presented an approach for group multicast routing by genetic algorithm. Chen and Sun [17] proposed a new multicast routing optimization algorithm based on genetic algorithms, which find the low-cost multicasting tree with bandwidth and delay constraints.

In this paper, we design a multicast routing optimization algorithm with bandwidth and delay constraints based on genetic algorithms which can be suitable for the networks with uncertain parameters. The focus is on determining multicast routes from a source to a set of destinations with strict end-to-end delay requirements and minimum bandwidth available. The goal of this paper is to develop an algorithm to find out multicast routes with bandwidth and delay constraints by simultaneously optimizing end-to-end delay and bandwidth provided for guaranteed QoS. The scalability and the performance of the algorithm with increasing number of network nodes are also quite encouraged.

The paper is organized as follows. The problem description and formulation is given in Section 2. The genetic algorithm and its operators are presented in Section 3. Section 4 presents the proposed algorithm. Two examples are presented in Section 5, the first example with eight nodes and compare the results of our algorithm with the results of [17]. The second example with 20 nodes. Section 6 presents the conclusion.

2. Problem description

A network is usually represented as a weighted directed graph G = (N, E), where N denotes the set of nodes and E denotes the set of communication links connecting the nodes. |N| and |E| denote the number of nodes and links in the network, respectively [17]. We consider the multicast routing problem with bandwidth and delay constraints from one source node to multi-destination nodes. Let X — {n0, U1, U2, ... , Um } 2 N be a set of from source to destination nodes of the multicast tree. Where n0 is source node, and U = u2,..., um} denotes a set of destination nodes. Multicast tree T = (NT, ET), where NT C N, ET C E, there exists the path PT (n0, d) from source node n0 to each destination node d e U in T [17]. e(i, j) is a link from node i e N to node j e N. Three non-negative real value functions are associated with each link e (e e E): cost C(e), delay D(e), and available bandwidth B(e). The link cost function, C(e), may be either monetary cost or any measure of the resource utilization, which must be optimized. The link delay, D(e), is considered to be the sum of switching, queuing,

transmission, and propagation delays. The link bandwidth, B(e), is the residual bandwidth of the physical or logical link. The link delay and bandwidth functions, D(e) and B(e), define the criteria that must be constrained.

The cost of the path PT is defined as the sum of the cost of all links in that path and can be given by

C{Pt) = X C(e) (1)

The total cost of the tree T is defined as the sum of the cost of all links in that tree and can be given by

C(T) = X C(e) (2)

The total delay of the path PT(w0, d) is simply the sum of the delay of all links along PT(n0, d):

D(Pt)= X D(e), d 2 U (3)

eePT (m,i)

The delay of multicast tree T is the maximum value of delay in the path from source node n0 to each destination node d e U.

D(T) = max ( D(Pt), d 2 U) (4)

The bandwidth of the path PT(n0, d) is defined as the minimum available residual bandwidth at any link along the path:

B(Pt) = min(B(e), e 2 Pt) (5)

The bandwidth of the tree T is defined as the minimum available residual bandwidth at any link along the tree:

B(T) = min(B(e), e 2 Et) (6)

Assume the minimum bandwidth constraint of multicast tree is B, and the maximum delay constraint id is D, given a multicast demand R, then, the problem of bandwidth-delay constrained multicast routing is to find a multicast tree T, satisfying:

1. Bandwidth constraint: B(T) = B.

2. Delay constraint: D(T) = D.

Suppose S(R) is the set and satisfies the conditions above, then, the required multicast tree T is:

C(T) = min (C(Ts), Ts 2 S(R))

3. The proposed genetic algorithm

Genetic algorithms, as powerful and broadly applicable stochastic search and optimization techniques, are the most widely known types of evolutionary computation methods today. In the proposed genetic algorithm, we consider the four components: (1) an encoding method that is a genetic representation (genotype) of solutions to the program. (2) A way to create an initial population of chromosomes, (3) the objective function (4) the genetic operators (crossover and mutation) that alter the genetic composition of offspring during reproduction.

3.1. Encoding method

Assuming n0 is source node, and U = [ui, u2, ..., um} denotes a set of destination nodes, the smallest bandwidth constraint,

and by the algorithm for finding the k shortest paths in Ref. [18], the candidate route set from source node to each destination node must be proved.

The chromosome of genetic algorithms is composed of a series of integral queuing with length m, and the gene of the chromosome is the path in k shortest path between n0 and uf. Each chromosome in population denotes a multicast tree. Obviously, a chromosome represents a candidate solution for the multicast routing problem since it guarantees a path between the source node and any of the destination nodes. Since there are so many paths between node n0 and Uf, so that the encoding space of chromosomes possibly becomes larger, this decreases the convergence of solution. Now for each destination node d e U, by the k the shortest route algorithm, [17] the encoding space can be improved by finding out all routes that satisfy bandwidth constraint from source node n0 to destination node d e U and composing routes set as candidate routes set of genetic algorithms encoding space.

3.2. The initial population

The initial population is generated according to the following steps:

• Step 1: By assuming U = (ui, u2,..., um} denotes a set of destination nodes, uf = (P0, Pi,..., Pk}, (k is the number of the shortest paths in uf) denotes a set of shortest paths from source node to a destination node ui, and Pi = (n0, ni, ..., uf} is a set of nodes. Then by randomly selecting P from each uf, {f = 1,..., m}, we can generate the chromosome in the initial population as the following form: where gi, g2, g3,..., gm represent the ones of m shortest paths that satisfies bandwidth constraint between nod n0 and uf. (See Fig. 1)

gl g2 g3 gm

Desti nation nodes. K shortest paths of satisfying bandwidth constraint between node n0 and the u,

Ui l 2 k no, ni, nj,........., ui no, ni, nj,........., ui no, ni, nj,........., ui

U2 l 2 k no, ni, nj,........., U2 no, ni, nj,........., U2 — no, ni, nj,........., U2

Um l 2 k no, ni, nj,........., Um no, ni, nj,........., Um — no, ni, nj,........., Um

Figure 1 The chromosome representation.

Step 2: Repeat to generate pop_size number of chromosomes.

3.3. The objective function

Assume the minimum bandwidth constraint of multicast tree is B, and the maximum delay constraint is D, given a multicast demand R, then, the problem of bandwidth-delay constrained multicast routing is to find a multicast tree T, that satisfies:

1. Bandwidth constraint: B(T) P B.

2. Delay constraint: D(T) 6 D.

Suppose S(R) is the set and satisfies the conditions above, then, the multicast tree T which we find is:

C(T) = min(C(Ts), Ts 2 S(R))

That is: find a sub network T(N) = (NT, ET, CT) of G such that:

- N C NT

- There is a path from the source node to each destination node;

- The cost of T(N) — J]e2Ej,C(e) is minimized

3.4. The genetic operators 3.4.1. Crossover operation

The crossover operation is used to breed a child from two parents by one cut point. The crossover operation will perform if the crossover ratio (Pc = 0.95) is verified. The cut point is selected randomly. The crossover operation is performed as follows:

• Step 1: Select two chromosomes randomly from the current population.

• Step 2: Randomly select the cut point

• Step 3:

a. By taking the components of the first chromosome (from the first gene to the cut point) and fill up to the child.

b. Also, tacking the components of the second chromosome (from the cut point + 1 to the last gene) and fill up to the child.

Cut point ^

g1 g2 g3 g4 gi gj gm

gl g2 g3 g4 gk gl gm

parent

g1 g2 g3 g4 gk gl gm

g1 g2 g3 g4 gi gj gm

g1 g2 g3 gi gk gm

Figure 2 Crossover operation.

Figure 3 Mutation operation.

The offspring generated by crossover operation is shown in Fig. 2.

3.4.2. Mutation operation

The mutation operation is performed on bit-by-bit basis. In the proposed approach, the mutation operation will perform if the mutation ratio (Pm) is verified. The mutation ratio, Pm in this approach will be 0.2 and is estimated randomly. The point to be mutated is selected randomly. The offspring generated by mutation is shown in Fig. 3.

4. The proposed algorithm

The proposed GA algorithm for solving the multicast routing problem is implemented by Borland C+ + Ver. 5.2 and Operating system windows XP. The steps of this algorithm are as follows:

Algorithm 1

Genetic algorithm for multicast routing Input

pop_size, maxgen, Pm, Pc, no, the destination nodes U, B Steps:

1. Generate the initial population as in Section 3.2

2. gen < 1

3. While (gen 6 maxgen) do

4. P < 1

5. While (p 6 pop_size) do

6. Genetic operations

6.1. Obtain chromosomes of the new population

6.2. Select two chromosomes from the parent population

6.3. Apply crossover according to Pc (Pc P 0.9)

6.4. Mutate the new child according to Pm parameter (Pm 6 0.2)

7. Compute the delay and cost of the new child (D(T) & C(T)) according to Eqs. (3) and (1), respectively

8. If (D(T) = D) then

Save this child as a candidate solution.

9. P <p +1 End if

10. Compare among all solutions to obtain the tree with minimum cost

11. End

5. Experimental results

This section shows the effectiveness of the above algorithm by applying it on two examples as follows:

5.1. First example

This example shows the above algorithm by using the network with eight nodes which is taken from [17]. Each link represented by a triple-group (B, D, C), given its value randomly as shown in Table 1 and Fig. 4.

Table 1 The bandwidth, delay, and cost of the given network

(Fig. 4).

Link B bandwidth D delay C cost

1-2 15 3 6

1-3 10 1 5

1-5 13 3 4

1-6 8 3 6

2-4 13 2 6

2-8 15 2 8

3-4 12 3 4

4-6 10 3 6

4-7 9 1 3

4-8 9 3 4

5-6 12 2 6

6-7 10 2 4

7-8 12 2 6

Figure 5 The multicast tree obtained by the proposed genetic algorithm.

Table 2 The candidate path set from source node 1 to each destination node for example 1.

Destination node The shortest paths

4 1 2 8 7 6 4

1 5 6 4

1 5 6 7 8 2 4

1 2 4 6 5

1 2 8 7 6 5

1 3 4 6 5

7 1 3 4 2 8 7

1 3 4 6 7

1 2 4 6 7

1 2 8 7

1 5 6 7

1 5 6 4 2 8 7

8 1 5 6 4 2 8

1 3 4 2 8

1 3 4 6 7 8

1 5 6 7 8

1 2 4 6 7 8

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1 0 0 0 0 0 0 0 0 0 13 0 9 13 0 0 0 12 3 3 0

2 0 0 8 13 9 0 0 0 0 0 3 2 0 0 4 13 9 6 8 2

3 0 8 0 0 7 9 0 0 0 0 1 0 9 13 0 0 10 1 0 0

4 0 13 0 0 0 15 13 16 10 0 0 0 1 0 0 12 0 6 0 0

5 0 9 7 0 0 0 3 0 12 0 0 0 0 0 16 9 0 2 2 0

6 0 0 9 15 0 0 8 14 0 0 0 15 0 9 2 3 5 0 0 7

7 0 0 0 13 3 8 0 10 13 11 0 7 14 2 0 0 0 11 0 3

8 0 0 0 16 0 14 10 0 0 9 0 6 0 12 6 5 15 0 0 0

9 0 0 0 10 12 0 13 0 0 4 6 0 6 5 0 0 11 0 9 0

10 13 0 0 0 0 0 11 9 4 0 0 11 0 0 2 2 0 8 1 13

11 0 3 1 0 0 0 0 0 6 0 0 0 0 1 10 12 0 0 0 0

12 9 2 0 0 0 15 7 6 0 11 0 0 11 1 7 0 5 0 0 0

13 13 0 9 1 0 0 14 0 6 0 0 11 0 3 0 14 0 0 0 6

14 0 0 13 0 0 9 2 12 5 1 1 1 3 0 0 0 0 0 12 10

15 0 4 0 0 16 2 0 6 0 2 10 7 0 0 0 5 1 0 7 0

16 0 13 0 12 9 3 0 5 0 2 12 0 14 0 5 0 7 0 8 0

17 12 9 10 0 0 5 0 15 11 0 0 5 0 0 1 7 0 0 0 0

18 3 6 1 6 2 0 11 0 0 8 0 0 0 0 0 0 0 0 5 6

19 3 8 0 0 2 0 0 0 9 1 0 0 0 12 7 8 0 5 0 0

20 0 2 0 0 0 7 3 0 0 13 0 0 6 10 0 0 0 6 0 0

Figure 7 The bandwidth values of the given network.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1 0 0 0 0 0 0 0 0 0 4 0 4 2 0 0 0 2 4 4 0

2 0 0 4 3 4 0 0 0 0 0 3 3 0 0 3 4 3 3 1 1

3 0 4 0 0 2 4 0 0 0 0 2 0 3 2 0 0 2 2 0 0

4 0 3 0 0 0 4 1 2 2 0 0 0 2 0 0 4 0 2 0 0

5 0 4 2 0 0 0 3 0 4 0 0 0 0 0 3 2 0 3 1 0

6 0 0 4 4 0 0 1 3 0 0 0 2 0 4 1 3 3 0 0 2

7 0 0 0 1 3 1 0 4 2 4 0 3 3 3 0 0 0 3 0 4

8 0 0 0 2 0 3 4 0 0 1 0 4 0 3 1 1 3 0 0 0

9 0 0 0 2 4 0 2 0 0 2 3 0 3 3 0 0 2 0 2 0

10 4 0 0 0 0 0 4 1 2 0 0 3 0 2 2 1 0 4 3 4

11 0 3 2 0 0 0 0 0 3 0 0 0 0 4 2 1 0 0 0 0

12 4 3 0 0 0 2 3 4 0 3 0 0 3 3 4 0 2 0 0 0

13 2 0 3 2 0 0 3 0 3 0 0 3 0 4 0 1 0 0 0 1

14 0 0 2 0 0 4 3 3 3 2 4 3 4 0 0 0 0 0 3 1

15 0 3 0 0 3 1 0 1 0 2 2 4 0 0 0 1 2 0 1 0

16 0 4 0 4 2 3 0 1 0 1 1 0 1 0 1 0 1 0 4 0

17 2 3 2 0 0 3 0 3 2 0 0 2 0 0 2 1 0 0 0 0

18 4 3 2 2 3 0 3 0 0 4 0 0 0 0 0 0 0 0 3 1

19 4 1 0 0 1 0 0 0 2 3 0 0 0 3 1 4 0 3 0 0

20 0 1 0 0 0 2 4 0 0 4 0 0 1 1 0 0 0 1 0 0

Figure 8 The delay matrix.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1 0 0 0 0 0 0 0 0 0 3 0 1 8 0 0 0 5 4 2 0

2 0 0 3 4 2 0 0 0 0 0 1 8 0 0 8 3 3 1 8 1

3 0 3 0 0 5 2 0 0 0 0 7 0 1 1 0 0 7 3 0 0

4 0 4 0 0 0 2 2 7 1 0 0 0 6 0 0 5 0 4 0 0

5 0 2 5 0 0 0 6 0 6 0 0 0 0 0 8 2 0 6 8 0

6 0 0 2 2 0 0 5 8 0 0 0 3 0 7 4 1 4 0 0 4

7 0 0 0 2 6 5 0 6 4 3 0 7 5 1 0 0 0 6 0 6

8 0 0 0 7 0 8 6 0 0 4 0 3 0 8 1 7 2 0 0 0

9 0 0 0 1 6 0 4 0 0 7 2 0 3 3 0 0 2 0 2 0

10 3 0 0 0 0 0 3 4 7 0 0 4 0 3 2 7 0 8 2 5

11 0 1 7 0 0 0 0 0 2 0 0 0 0 7 7 6 0 0 0 0

12 1 8 0 0 0 3 7 3 0 4 0 0 7 6 5 0 3 0 0 0

13 8 0 1 6 0 0 5 0 3 0 0 7 0 4 0 7 0 0 0 5

14 0 0 1 0 0 7 1 8 8 3 7 6 4 0 0 0 0 0 5 7

15 0 8 0 0 8 4 0 1 0 2 7 5 0 0 0 5 6 0 3 0

16 0 3 0 5 2 1 0 7 0 7 6 0 7 0 5 0 5 0 7 0

17 5 3 7 0 0 4 0 2 2 0 0 7 0 0 6 5 0 0 0 0

18 4 1 3 4 6 0 6 0 0 8 0 0 0 0 0 0 0 0 4 2

19 2 8 0 0 8 0 0 0 2 2 0 0 0 5 3 7 0 4 0 0

20 0 1 0 0 0 4 6 0 0 5 0 0 5 7 0 0 0 2 0 0

Figure 9 The cost matrix.

Figure 10 The multicast tree of 20 nodes.

Assuming the source node is node 1 and the destination nodes are {4, 5, 7, 8} as shown in Fig. 4. By using the algorithm, [18] for finding the k shortest paths with smallest bandwidth constraint B = 10, we can find the candidate route set from source node 1 to each destination node as illustrated in Table 2.

The parameters setting in the proposed algorithm are pop_size = 20, Pm = 0.2, Pc = 0.9, maxgen = 600. The bandwidth B =10, and the delay D = 7.

Thus, the desired multicast tree of the above network is shown in Fig. 5 with cost 44.

The multicast tree obtained by [17] is shown in Fig. 6. By comparing the multicast tree obtained by the proposed genetic algorithm, given in Fig. 5 and the other one which obtained by using genetic algorithm [17], given in Fig. 6, we noted the following:

1. The bandwidth B of the path 1 fi 3 fi 4 fi 8 in the tree obtained by [17] equal to 9 according to Eq. (5) which is not 10 as it is imposed.

2. The path 1 fi 2 is not true, because the node 2 does not represent the destination node.

Hence, the multicast tree obtained by [17] is not correct, based on the parameters imposed.

5.2. Second example

This example shows the above algorithm by using the network with 20 nodes taken from [18]. Each link represented by a triple-group (B, D, C), given its value randomly and are shown in the following matrices (Figs. 7-9). The source node n0 is node 1, destination node set U = {9, 11, 12, 14, 16, 17, 19, 20}, the smallest bandwidth constraint B =12. And by the algorithm for finding the k shortest paths in Ref. [18], we can find the candidate route set from source node 1 to each destination node, as shown in Table 3.

The parameters setting in the algorithm: pop_size = 20, Pm = 0.2, Pc = 0.9, maxgen = 600. The source node n0 is

Table 3 The candidate path set from source node 1 to each

destination node for example 2.

Destination The shortest paths

9 1 13 16 4 7 9

1 17 8 4 2 16 13 79

1 13 16 2 4 7 9

1 17 8 6 4 7 9

1 13 7 9

1 17 8 4 7 9

1 17 8 4 16 13 7 9

1 17 8 6 4 16 13 79

11 1 17 8 6 4 16 11

1 17 8 4 2 16 11

1 13 7 4 16 11

1 13 16 11

1 17 8 4 16 11

1 17 8 4 7 13 16 11

1 13 7 4 2 16 11

1 17 8 6 4 2 16 11

12 1 17 8 6 12

1 13 7 4 6 12

1 13 16 2 4 8 6 12

1 17 8 4 6 12

1 13 16 4 6 12

1 13 7 4 8 6 12

1 13 16 4 8 6 12

1 13 16 2 4 6 12

14 1 13 16 4 6 8 14

1 13 16 2 4 6 8 14

1 13 16 4 8 14

1 13 7 4 8 14

1 13 7 4 6 8 14

1 17 8 14

1 13 16 2 4 8 14

16 1 17 8 4 2 16

1 17 8 6 4 16

1 17 8 4 16

1 17 8 6 4 7 13 16

1 13 7 4 16

1 13 7 4 2 16

1 17 8 6 4 2 16

1 17 8 4 7 13 16

1 13 16

17 1 17

1 13 16 4 6 8 17

1 13 16 4 8 17

1 13 7 4 8 17

1 13 16 2 4 8 17

1 13 7 4 6 8 17

19 1 17 8 14 19

1 13 7 4 8 14 19

1 13 16 4 8 14 19

1 13 7 4 6 8 14 19

1 13 16 2 4 6 8 14 19

20 1 10 20

the node no. 1 and the destination nodes are U = {9, 11, 12, 14, 16, 17, 19, 20}, and D = 11, we find the multicast tree as shown in Fig. 10 with cost = 122.

6. Conclusions and future work

This paper proposes a genetic algorithm for solving multimedia multicast routing based on bandwidth and delay constraints. The proposed algorithm uses the kth shortest paths algorithm, [18] to construct route set. The encoding space can be improved by finding out all routes that satisfy bandwidth constraint from source node to destination node and composing routes set as candidate routes set of genetic algorithms encoding space. The algorithm guaranteed and speeded searching ability of the optimal solution and the global convergence of solution by heuristic crossover and mutation operation can be achieved.

By comparing the results of the above algorithm with the algorithm in [17], the multicast tree found by [17] is not right.

Experimental results of second example showed the proposed algorithm has effect on the multicast routing of large computer networks.

This algorithm can be applied to multi-constraint's QoS multicast routing problem; only the chromosome who will changed and the delay constraint can be improved so as to make the algorithm widely applied.

Appendix A. Appendix

Table 3. References

[1] Shaikh A, Lu S, Shin K. Localized multicast routing. In: Proceedings of IEEE Globecom' 95; 1996. p. 1352-6.

[2] Drake Doratha E, Hougardy Stefan. On approximation algorithms for the terminal Steiner tree problem. Inform Process Lett 2004;89.

[3] Jia X. A distributed algorithm of delay-bounded multicast routing for multimedia applications in wide area networks. IEEE/ACM Trans Network 1995;6:828-37.

[4] Chung C, Hong S, Huh H. A fast multicast routing algorithm for delay-sensitive applications. In: Proceedings of Globecom' 97; 1997. p. 1898-1902.

[5] Haghighat AT, Faez K, Dehghan M, Mowlaei A, Ghahremani Y. Efficient multicast routing with multiple QoS constraints based on genetic algorithms. J Comput Commun 2007;30(16).

[6] Wang C, Lai B, Jan R. "Optimum multicast of multimedia streams''. Comput Operat Res 1999;26:461-80.

[7] Priwan V, Aida H, Saito T. The multicast tree based routing for the complete broadcast multipoint-to-multipoint communications. IEICE Trans Commun 1995;E78-B:720-8.

[8] Chen S, Gunluk O, Yener B. The multicast packing problem. IEEE/ACM Trans Network 2000;8:311-8.

[9] Wang C, Liang C, Jan R. Heuristic algorithms for packing of multiple-group multicasting. Comput Operat Res 2002;29: 905-24.

[10] Atzori L, Raccis A. Network capacity assignment for multicast services using genetic algorithms. IEEE Commun Lett 2004;8(6):403-5.

[11] Ahn CW, Ramakrishna RS. A genetic algorithm for shortest path routing problem and the sizing of population. IEEE Trans Evolut Comput 2002;6(6):403-5.

[12] Hwang RH, Do WY, Yang SC. Multicast routing based on genetic algorithms. J Inform Sci Eng 2000;16:885-901.

[13] Bhattacharya R, Venkateswaran P, Sanyal SK, Nandi R. Genetic algorithm based efficient outing scheme for multicast networks. In: IEEE international conference on personal wireless communications (ICPWC 2005); January 2005. p. 500-4.

[14] Chen L, Yang Z, Xu Z. A degree-delay-constrained genetic algorithm for multicast routing tree. In: The fourth international conference on computer and information technology (CIT); September 2004. p. 1033-8.

[15] Hamdan M, El-Hawary ME. Multicast routing with delay and delay variation constraints using genetic algorithm. Canad Conf Elect Comput Eng 2004;4:2363-6.

[16] Randaccio LS, Atzori Luigi. A genetic algorithms based approach for group multicast routing. J Network 2006;1(4);

Waxman BM. Routing of multipoint connections. IEEE J Select Areas Commun 1988;6(9):1617-22.

[17] Hua Chen, Baolin Sun. Multicast routing optimization algorithm with bandwidth and delay constraints based on GA. J Commun Computer 2005;2(5) [ISSN: 1548-7709, USA, May, (Serial No.6)].

[18] Younes A. A genetic algorithm for finding the k shortest paths in a networks. Egypt Inform J 2010;11(2).