A Genetic Algorithm Optimization for Multi-Objective Multicast Routing

Many applications require to send information from a source node to multiple destinations nodes. To support these applications, the paper presents a multi-objective based genetic algorithm, which is used in the construction of the multicast tree for data transmission in a computer network. The proposed algorithm simultaneously optimizes total weights (cost, delay, and hop) of the multicast tree. Experimental results prove that the proposed algorithm outperforms a recently published Multi-objective Multicast Algorithm specially designed for solving the multicast routing problem. Also, the proposed approach has been applied to ten-node and twenty-node network to illustrate its efficiency. In addition, the execution time is reported for each studied case and the obtained results are compared with the results obtained by the previously based ant colony algorithm presented recently to solve the same problem. Finality, summing up the three objectives (cost, delay, and hop) to be one objective called the weight of the tree to speed up the searching process by using the proposed algorithm to find the best solutions.


Introduction
The multicast routing problem is a well-known problem in combinatorial optimization. It is defined as finding the route between two nodes in the weighted graph where that path is the shortest, and shortest means the path with a minimum summation of weights, where an edge between any two nodes always has a certain weight. The problem is to find accordingly the shorter path between a source and a destination in computer networks.

Problem Description and Formulation
Let G = (N, E) is a weighted directed graph with N vertices and E edges represents a network with |N| nodes and |E| links. The multicast tree from the source node n 0 to the set of destination nodes U ¼ u 1 ; u 2 ; . . . ; u m f gdenotes a set of destination nodes. Let X ¼ n 0 ; u 1 ; u 2 ; . . . ; ; u m f g 2 N be a set of from source to destination nodes of the multicast tree. Multicast tree T = (N T , E T ), where N T N and E T E, there exists the path P T (n 0 , d) from source node n 0 to each destination node d 2 U in T. Three non-negative real value functions are associated with each link e (e 2 E): C(e), D(e), and H(e). The link cost function, C(e), may be either monetary cost or any measure of resource utilization. The link delay functions, D(e), define the criteria. The link hop is the number of hops, H(e) = 1.
The cost of the path P T is defined as the sum of the cost of all links in that path and can be given by 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 The total delay of the path P T (n 0 ,d) is simply the sum of the delay of all links along with P T (n 0 ,d): The delay of multicast tree T is the maximum value of delay in the path from source node n 0 to each destination node d2U.
The hop of the path P T is defined as the sum of the hop of all links in that path and can be given by The hop of multicast tree is defined as the sum of the hop of all links in that tree and can be given by: The vector SW(P T ) of the path P T consists of the vector sum of the vectors corresponding to arcs.
The objective of the presented problem is to find a multicast routing tree (T) such that minimizes the cost CðT Þ, the delay D T ð Þ, and the hop H T ð Þ. The problem can be formulated as follows: where WðTÞ is the weight of a multicast routing tree (T). The cost CðTÞ, the delay D T ð Þ, and the hop H T ð Þ are defined as follows: 3 The Proposed GA If the given network has N nodes, then the candidate path is represented by a chromosome x of N fields, each field represents a node in the network. At least two fields have none zero values to consider the candidate path to be a real path (we called here the reality condition).

Initial Population
The generated chromosome in the initial population must contain at least two none zero elements to be a real candidate path. The following steps show how to generate pop_size chromosomes of the initial population: 1. A chromosome x is generated randomly. 2. Check the reality condition for x. 3. Repeat steps 1 and 2 to generate pop_size chromosomes.

The Objective Function
The objective function (The fitness) is the weight of a multicast routing tree W T ð Þ if the candidate path satisfies the following conditions: The reality condition. The candidate path is connected. i.e., each node within that path connects at least one another.

Crossover Operation
In our GA, we adopt the single cut point crossover to obtain a new offspring from two parents that are randomly selected based on Pc (Pc = 0.90).

Mutation Operation
The uniform mutation is used here based on Pm (Pm = 0.02). The mutated bit is selected randomly to change its value.

The Entire Algorithm
The following steps show how the presented GA solves the multi-objective multicast routing tree problem of a given network.

Studied Cases
The presented GA is implemented using Borland C++ Ver. 5.5, where pop_size, max_gen, P m , and P c equals to 25, 50, 0.95 and 0.02 respectively. Two networks with 10 and 20 nodes are studied to show the efficiency of the proposed GA. Also, the results are compared with the AC algorithm presented in Younes et al. [30].
An algorithm to find the minimum multi-objective multicast routing tree Input: N, S, U, pop_size, max_gen, P m , P c .
Output: The minimum multi-objective multicast routing tree

Ten-Node Network
We applied our GA to the network with 10 nodes. Note that the connection matrix and the links' weight are obtained from Younes et al. [30]. Assuming that n 0 = 1 and U = {5, 7, 9}, Tab. 1 shows the value of W T ð Þ for each candidate T. In addition, the execution time (in seconds) required obtaining each T. The minimum value for W T ð Þ is 32 for tree no. 2. The cost, delay, and hop of that tree equals 21, 7, and 4 respectively.
The weight, average delay, and execution time for each tree is shown in Figs. 1-3 respectively.
Here, we compare the results of the proposed GA with that obtained by the AC algorithm, Younes et al. [30] as shown in Tab. 2.    Comparing the results obtained by the proposed GA to those obtained by AC algorithm Younes et al. [30], it is observed that the value minimum WðTÞ found by the proposed GA is less than that obtained by Younes et al. [30]. Therefore, the proposed GA obtains better optimal solutions. The weight, average delay, and execution time for the best tree found by the proposed genetic algorithm in comparison with Younes, et al. [30] are shown in Fig. 4.

Twenty-Node Network
The proposed GA is applied to the twenty-node network, this network along with its information is generated randomly. Also, the connection, cost, hop, and delay matrices are given in Tabs. A1-A4 respectively. Given that n 0 = 1 and U = {5, 7, 9, 12, 15, 20}, Tab. 3 shows the value of W T ð Þ, Average delay, and the execution time (in seconds) for each candidate T. The minimum value for W T ð Þ is 185 for tree no. 6. The cost, delay, and hop of that tree equals 123, 42, and 20 respectively. The weight, average delay, and execution time for each tree are shown in Figs. 5-7 respectively.

Conclusion
A multi-objective multicast routing problem subject to cost, hop, and delay is presented and formulated as a minimization problem. Furthermore, an approach based on GA is proposed to solve the presented problem. The experimental results illustrated that the proposed GA is efficient in solving this problem and searching the minimum W T ð Þ in a few seconds. In addition, the results obtained by the proposed GA are better than those obtained by AC algorithm presented by Hamed et al. [30].