Multicast Routing Problem Using Tree-Based Cuckoo Optimization Algorithm

The problem of QoS multicast routing is to find a multicast tree with the least expense/cost which would meet the limitations such as band width, delay and loss rate. This is a NPComplete problem. To solve the problem of multicast routing, the entire routes from the source node to every destination node are often recognized. Then the routes are integrated and changed into a single multicast tree. But they are slow and complicated methods. The present paper introduces a new tree-based optimization method to overcome such weaknesses. The recommended method directly optimizes the multicast tree. Therefore a tree-based typology including several spanning trees is created which combines the trees two by two. For this purpose, the Cuckoo Algorithm is used which is proved to be well converged and makes quick calculations. The simulation conducted on different types of network typologies proved that it is a practical and influential algorithm. Keywords—Multicast tree; routing; Cuckoo Algorithm; optimal


INTRODUCTION
The rapid development of network and multi-media technologies caused the multimedia services in media such as conference video, distance learning and coordination affairs to be gradually changed into major proceeding of internet activities.The multicast is a really proper way for these services, since it possesses strict conditions of service quality such as band width, delay, delay fluctuation etc. Multicast is attributed to condition in which the sender wants to send his data packets to a group of network nodes or receivers who actually form a casting group.It is evident that the advantages of this task include less waste of bandwidth and network sources, parallelism in the network, reduced load of sender and network traffic.The subject of multicast routing based on service quality is an important issue for researches in network and a serious problem for future generation of networks with high efficiency and performance.Abundant methods have been used for this problem, so the purpose of multicast routing based on service quality is to find an optimized multicast routing tree, so that it would meet the limitations of service quality such as band width, delay and delay fluctuations by minimizing the access expenses.The establishment of a multicast tree could solve the problems of multicast routing.One of the most important issues to implement the multicast services is the type of designing multicast tree in a way that better quality and efficiency of multicasting tree is regarded.As previously mentioned, finding a tree with such limitations is a NP-Complete problem [1].There are two ways to solve the NP-Complete problem: 1-An optimal solution at final time 2-a close optimal solution using a heuristic algorithm [2].Numerous methods have been presented for the problem of tree-based multicast routing which tried to improve the efficiency of tree-based multicast routing process using the designed tree [3] [4].The meta-heuristics methods recommend acceptable solutions at proper time to solve the NP-hard problems in the era of engineering and sciences.Cuckoo Optimization Algorithm is one of the latest and most effective ways for evolutionary optimization which have further ability to identify the global optimal points.The Cuckoo Optimization Algorithm is a meta-heuristic optimization method which is effective for solving the problems of continuous nonlinear optimization.This algorithm simulates the behavior of cuckoo in nesting and egg dropping to solve the problems of optimization [5].The present paper aims to design an efficient multicasting tree by taking the advantage of capabilities of Cuckoo Optimization Algorithm.

II. RELATED WORKS
For multicast routing we need a multicast tree by which the multicast packet could be delivered to destination.The limitation of node battery is one of the points which should be regarded in multicast routing of mobile ad hoc networks.Routing should be able to increase the network lifetime.Finding a multicast tree which meets the routing limitations such as battery energy, band width and end-to-end delay is a NP-Complete problem.Therefore acquisition of a multicast tree is not possible in polynomial time.The smarts methods are required to solve such problems [6] [7] [8].Different algorithms have been presented for multicast routing in ad hoc networks.A group of these algorithms are developed from the unicast algorithms.In such algorithms no limitation is usually considered.Another group of multicast algorithms in ad hoc networks include the algorithms which apply the smart algorithms to search for multicast tress which meet the limitations of the problem.The Genetic and Ant Colony Algorithms are amongst the smart algorithms [9] [10].
The Genetic Algorithm is an evolutionary algorithm in which the chromosomes are combined with each other in every generation till the new chromosome is produced.In Genetic Algorithm every chromosome is a solution for one problem.The Genetic Algorithm is based on a biology theory which indicates that the superior parent could survive to www.ijacsa.thesai.orgproduce the next generation and the weak parents are convicted to death.The Ant Colony Algorithm is an instance of decentralized search techniques.In this algorithm, the agent search activities is based on the ant behavior in nature.The mechanism applied for transmission of data between agents (ants) about the route and route selection time is the ability to spread pheromones on the path.When the ants move, they spread an amount of pheromone on ground and mark the route in this way.When a new ant wants to move, it selects the route with the highest probability to be selected.It is the route on which the pheromone is spread.The ants traverse the same route while it also adds certain amount of pheromone on the route.Therefore, the probability of selecting the route is gradually augmented by increased amounts of pheromone speared on the route.For multicast routing in ad hoc networks which could meet the limitations of problem, certain algorithms were presented profited from the Ant Colony Algorithm and Genetic Algorithm.They are amongst the smart algorithms which could be used for solving the NP-Complete problems.The noteworthy point is that they are not capable to discover the solution all the time.They may not reach the answer or find the semi-optimal solution.One of the other smart algorithms which could be used for multicast routing in ad hoc networks is Flock Algorithm.The Genetic Flock algorithms was developed based on the behavior of flocks.The Flock Algorithm was made from several components.Each component is the solution for one problem.Every component searches the problem space and advances to the solution using the best personal space as well as the best place achieved by population.The main advantages of Flock Algorithm could be cited as follows: simple concept, easy implementation, high power to control the parameters, high search power, high computation efficiency compared to mathematical algorithms and creative techniques [11] [12].Many researchers discussed the application of Particle Swarm Optimization Algorithm (PSO) to solve the problem of routing with QoS limitations.The PSO Algorithm was recommended to solve the problem of QoS multicast routing which could obtain a practical multicast tree using the switching routes.This algorithm could be converged by lower computational cost for optimal or close optimal solution.This chapter represents several studies conducted on tree-based multicast routing.

III. TREE-BASED MULTICAST ROUTING
The rapid development of network and multimedia networks caused the multimedia services in networks such as conference video, distance learning and cooperating affairs to be gradually transformed in to the main proceedings of online activities.The multicast activities are proper for this purpose since it possess the strict conditions of service quality (QoS) such as band width, delay, delay fluctuation etc.Therefore, rapid implementation of multicast routing with high quality is an important research issue.Multicast is referred to a condition in which the sender wants to send his data packets to a group of network nodes or receivers which actually form a multicasting group.It is evident that the advantages to this task include less waste of band width and network resources, network parallelization, reduced load of sender and reduced network traffic.So, multicast routing based on services quality (QMR) seeks to find a multicast routing tree which is able to meet the limitations of service quality such as band width, delay and delay fluctuations by minimizing the access expense.Establishment of a multicast tree could solve the problems of multicast routing.There are commonly three kinds of multicast trees: source-based tree, Steiner tree and center-based tree.The Steiner and source-based trees are the two common types of shortest route.The Steiner tree is usually applied in real multimedia communications.The problem of The Steiner tree is to find a tree with the least expense which includes a number of specific nodes named terminal.It is amongst the NP-Complete problems.The problem of Steiner tree has different types.In one type of Steiner tree, several points are presented on a two-dimensional paper as input and the purpose is to produce a tree on Euclidean plane which bears the least expense and encompasses all points.This problem is also introduced in perpendicular form in which the tree lines should be designed only vertically or horizontally.This issue has abundant applications in physical circuit design.Another type of Steiner tree is used in graph which is used in following sections.In this problem, a weighted graph G= (V, E) and a subset of vertices in the graph (TєV) named terminals are presented.The purpose is to find a GT (V, E) tree (a tree encompasses the set of terminals).The non-terminal nodes are generally used to reduce the tree expenses.They are called Steiner points.The problem of Steiner tree has many applications such as one-to-several routing in computer systems, transportation systems, relief police, post stations etc.An instance of Steiner tree in a graph is shown in Figure (1).In this figure, the terminal nodes are drawn in red color and the edges of Steiner tree are in bold type.One of the important issues at the time of implementing the multicast services is the type of designing a tree-based multicast algorithm in a way that quality and efficiency of multicast tree is considered.As mentioned before, the discovery of a tree with such limitations is a NP -Complete problem.There are mainly two solutions for Complete-NP problems: www.ijacsa.thesai.org

1) An optimal solution at final time 2) A close-optimal solution by a heuristic algorithm
The first solution is an optimal way but the NP-HARD situation of problems makes it impractical.On the other hand, the second method is a possible way.Several heuristic ways have been presented to solve the multicast routing problems with limitations of service quality which is described as follows.

IV. CUCKOO OPTIMIZATION ALGORITHM
Optimization is defined as discovering a method to implement a work in the best possible method.Optimization is basically changing a series of primary information and using the problem data to reach a proper solution.The Cuckoo Optimization Algorithm is a meta-heuristic optimization algorithm which is efficient for solving the continuous nonlinear optimization problems.The following figure demonstrates the flowchart of Cuckoo Optimization Algorithm (COA).Similar to other evolutionary algorithms, the COA also initiates with a primary population.The population encompasses the cuckoos.Several cuckoos have eggs which lay them in the nests of the host cuckoos.Some of these eggs which are similar to the eggs of host bird have higher opportunity for growth and changing to an adult cuckoo.Other eggs are recognized by host bird and destroyed.The amount of grown up eggs signifies the appropriateness of the nests existing in the area.The higher numbers of eggs live and survive in the area shows the higher level of profit (tendency) in that area.Therefore, the situation in which more eggs are survived will be a parameter for COA optimization.

V. ALGORITHM RECOMMENDED FOR MULTICAST ROUTING
Heuristic and non-heuristic algorithms have been recommended for multicast routing.Several of these algorithms aimed to minimize the expenses.The expense function in majority of these algorithms was equal to degree of efficiency from network sources.Therefore, maximizing the efficiency of network sources as an engineering target was regarded in addition to route establishment.Many other methods also considered criteria such as band width, end-toend delay etc. and presented proper algorithms.There is still the need for algorithms which are able to present an acceptable response during acceptable time, in other words they should possess well scalability.The recommended model firstly selects the optimal tree through suitable routes between source and destination.In this method, the number of existing routes between source and destination is firstly recognized.Then the upper and lower limits are applied for routes.The upper and lower limits are regarded for each series of algorithm implementation.In lower limit, the 1 value is for each route and upper limit is the number of existing routes.Based on these upper and lower limits between source and destination, the Cuckoo Algorithm is applied.Subsequent to application of Cuckoo Algorithm, the optimal route and tree are selected.Expense: The expense of multicast tree T (s,M) is total expenses of all tree edges which is calculated as follows: (1) Delay: The general delay of each route is total delay on edges in Pt(s,d) route which is calculated as follows: (2) www.ijacsa.thesai.orgBand width: the accessible band width on Pt(s,d) is the minimum band width existing on each edge of route Pt(s,d) which is calculated as follows: (3) If is limitation of delay and is limitation of band width of d destination node, the problem is to find a T(s,M) multicast tree so that it includes s source and all destinations and meet the following conditions: (4)

B. Construction of Multicast Tree
The network typology is conducted based on depth-first search algorithm.We have to determine the routes from source to destination.The algorithm uses a stack instead of row to determine the traverse route.We need to construct a multicast tree which covers the source and all members of group for multicast routing.The construction of a multicast tree through selection and combination of different routing paths is a complicated process.There are three types of reasons: firstly, the multiple routes may be found in the same members of group.Secondly, the results of possible loops are resulted from the combination of routing paths.The new routes after the omission of loop may split in QoS needs of user.Thirdly, the different sequences of routing paths resulted from the omission of possible loops may be added to multicast tree which covers different multicast tress.So, when the size of a multicast group exceeds a certain threshold, a huge degree is regarded from possible compounds.We use a multicast tree which is able to render the best possible value to evaluate the multicast tree with Evt criterion.The evaluation criterion of multicast tree is regarded from several parameters and agents such as QoS satisfaction degree, price and cost.This problem is a Steiner Minimum Tree problem which is a SMT and minimum expense of multicast tree.This is a certain kind of combined optimization which has been proved as a NP-Complete.

C. Definition of Fitness Function
The multicast routing algorithm should form a new multicast tree in the least possible time.Then the algorithm speed to find a multicast tree is a proper scale to compare two multicast routing algorithms in ad hoc networks.The multicast possesses a communication network to receive a simple message from a practical program and deliver a copy of message to several receivers in different locations.One of these challenges is minimization of network sources applied in multicast system.A new fitness function is used as an index and scale to compare the multicast trees. (5)

D. Determining the Number of Routes in Network Typology
Firstly several trees are created randomly which include the related sender and receivers.This tree forms the primary population.Each tree is named as exclusive tree.Then the fitness of each tree is made by calculating the fitness function.
In the recommended algorithm, we look for the optimal tree which is selected on the basis of the routes created by application of Cuckoo Algorithm.Using Search Algorithm, depth-first search of all available routes from source to destination is specified.Also, the number of routes from source to destination must be specified for each group.It should be implemented for entire groups.In a onedimensional habitat, number of paths is shown to all destinations.Three groups are demonstrated in Figure 3.For each group, there are routes from source to destination which are shown in a habitat.As the figure suggests, the routes have been specified for all destinations.There are three routes from source to destination 1. Besides, there are 2 routes from source to destination 2 and 1 route from source to destination 3. www.ijacsa.thesai.org

E.
Solving the Multicast Tree Using Firefly Algorithm After creating the topology and determining the number of routes from source to destination, we apply the Cuckoo algorithm in specified routes.We should select the optimal routes with regard to Cuckoo Algorithm.The optimal tree is created by these routes.To solve an optimization problem, it is necessary to form the values of variables in the form of a habitat.In Cuckoo Optimization Algorithm, this array is called "habitat".In an optimization problem, the next N var of a habitat will be a1xN var habitat which shows the present status of cuckoo living.The habitat is defined as follows: The fitness level (profitability) in present habitat is obtained by evaluating the profit function (f p ) in habitat, so: As seen, the COA is an algorithm which maximizes the profit function.To apply the COA to solve the minimization problems, it is sufficient to multiply the minus sign by cost function.To start the optimization algorithm, a habitat matrix in N pop *N var is produced.Certain random number of eggs is allocated for each of these habitats.The cuckoo lays 5 to 20 eggs in nature.This number is used as upper and lower limits for allocating the eggs to each cuckoo in different replications.Another habit of a cuckoos is that it lays eggs in a certain range.The maximum range of laying egg is called Egg Radius Radius (ELR).In an optimization problem, the upper limit of var hi variable and upper limit of var low variable belong to each Cuckoo with ELR which is proportional to total number of eggs, number of present eggs as well as the upper and lower variables of problem.So, the ELR is defined as follows: (8) The Alfa is a variable which is used to adjust the maximum value of ELR.
In recommended method, the matrices are lower limit and maximum number of routes from source to destination in each group.The matrices of random number of eggs are regarded with regard to Cuckoo Algorithm.Each route with less egg waste will be selected as the best route with least waste.In proposed method, the least number of eggs in a route with less waste will be selected as respective route.

VI. RESULTS AND EVALUATION OF RECOMMENDED METHOD
The efficiency of proposed algorithm compared to other algorithms was studied in this section.The Mat lab Software is used for simulation.All simulation experiments were conducted on 4GM RAM ،CPU 460 2.4GHz Core i5 system.
The multicast nodes were selected randomly.The source and destination nodes and weight of multicast tree habitat were created randomly.The Firefly Algorithm is used to comparison.Therefore, the fitness function parameters, expense and delay were used to compare two methods in simulation.The possible trees are formed by DFS algorithm.A tree is randomly selected.The nodes existing in the tree forms the primary population.Therefore, the nodes of multicast group were randomly selected in this graph which is 30% of the total nodes in the graph.The source and destination nodes and the weight of edges of multicast tree is randomly created.The Firefly Algorithm is applied for comparison.Figure ( 4) and ( 5) show the implementation of multicast tree based on recommended method and Firefly Algorithm.The nodes are randomly created in both figures with similar typology.Followed by the application of Cuckoo and Firefly algorithms, the multicast tree is shown.The 5 node and 15, 20 and 24 nodes are respectively regarded as destination nodes.As shown in recommended algorithms and Firefly algorithm, there is difference only in one route.The other routes are the same in source and destination.The increased value of fitness function makes the multicast tree more desirable.When the generation grows, the function value tends to be stable; this process shows that the algorithm could be effectively converged.Figure7 shows the expense of Cuckoo tree.As shown, the recommended algorithm rendered fewer expenses.Besides, the algorithm could find the optimal solution more quickly.Although the expense curve of this algorithm has more fluctuations at the beginning, its stable value is less at the end.It is observed that the recommended method could conduct the routing of service quality.The solution of routing problem along with the service quality of Steiner tree is a new suggestion.The papers conducted in routing by Steiner tree only regarded one criterion, but we focused on criteria of delay and expense in this algorithm.The recommended algorithm for networks in large size response within a shorter time compared to other algorithms.The expense of their tree is also proper and acceptable.Figure 8 shows the delay of Cuckoo algorithm.Generally the tree expense of delay from an optimized tree is a more expensive solution than an optimized expense of multicast routing tree.Similarly, the tree delay of an optimized multicast routing tree is relatively higher than the solution of optimized delay tree.Therefore the negotiation between tree expense and tree delay should be required for an efficient/proper tree between tree delay and tree expense.

VII. CONCLUSION
This paper presents a new method for tree-based optimization method.The recommended method directly optimizes the multicast tree.So, a tree-based typology including several extending trees is created and combines the tress two by two.For this purpose, the Cuckoo Algorithm is used due to its appropriate convergence and fast calculations.The simulations conducted on different types of network typologies proved that it is a practical and effective algorithm.The results of simulation show that recommended algorithm is not trapped in local optimization point.Although the growth rate of its implementation increased with higher number of nodes in multicast group compared to Firefly algorithm, generally it possess more proper efficiency in terms of relative error percent, response quality and time to achieve the global optimal response.The results of optimization show that Cuckoo Algorithm shows more simplicity and ease of implementation.It is faster compared to Firefly Algorithm and its efficiency is less dependent on its parameters compared to other algorithms.We aim to solve the problem of multicast routing in terms of service quality parameters by other metaheuristic algorithms and tree growth methods in future studies.

Figure ( 2 )
demonstrates the flowchart of recommended method.

Fig. 2 .
Fig. 2. Flowchart of Recommended MethodA.Description and Formulation of Problem The communication networks are usually demonstrated as G=<V, E> undirected graph in which V is the set of all nodes (routers or switches) and E is the set of all edges which signifies the physical or logical relation between nodes.On each edge of in G, three weights of ، ، are located which are positive real numbers and respectively show the parameters of expense, delay and accessible band width.A T (s,M) multicast tree is an acyclic sub graph from G graph which covers the source node and a set of destination nodes.M= also indicates the number of destination nodes in multicast tree.Besides, the T(s,M) could encompass other nodes existing in a multicast tree, but they are not part of a multicast group and are recognized as Steiner points.The Pt (s,d) signifies an exclusive route in T tree which connects a source node to an s destination node.The expenses and service quality parameters are defined as follows:

Fig. 3 .
Fig. 3. Number of Specified Routes from Source to Destination

Fig. 6 .
Fig. 6.Values of Fitness Function for Recommended Algorithm The results of simulation showed that the recommended methods could efficiently and effectively perform the multicast routing based on service quality.Figure (6) shows the values of fitness function for recommended algorithm and Firefly Algorithm.The recommended algorithm for convergence is faster than Firefly algorithm.As shown in Figure, the value of fitness function in recommended algorithm reduces with increased production of generation.The increased value of fitness function makes the multicast tree more desirable.When the generation grows, the function value tends to be stable; this process shows that the algorithm could be effectively converged.

Fig. 7 .
Fig. 7. Expense of Multicast Tree in Recommended Method