Research on Innovating and Applying Evolutionary Algorithms Based Hierarchical Clustering and Multiple Paths Routing for Guaranteed Quality of Service on Service Based Routing

: In Service Based Routing (SBR), data is transmitted from a source node to destination nodes are not depended on destination addresses. Hence, it is comfortable with new advanced technology as cloud computing and also flexible and reliable. Genetic and Queen-Bee algorithms (GA, QB) are artificial intelligence techniques for combinatorial optimization problems solving based on some natural rules. In which GA is a branch of the evolutionary strategies that uses some principles of evolution theory, such as natural selection, mutation and crossover. QB is performed based on GA for energy saving. The (cid:1) (cid:2) tree is an effective data structure that can be used to organize a hierarchical clustering network with fast establishing, updating, tuning algorithms. The usage of the Greedy algorithm to find cyclic routes or multiple paths on each trunk by multiple criterions to transmit data effectively.


Service Based Routing Model
SBR defines the routing based on the messages it carries.It classifies messages based on message content or its key-value pairs or regular expressions on its content.Therefore, in SBR, receiver determines transmission of messages, not by sender.

Cluster Based Manet
MANET is established from nodes that usually move and change very fast; no node has the role as a gateway or router for relaying network traffic between network nodes.Based on clustering technique, the whole network will be divided into sub-networks or clusters.In every cluster, it needs to find out a node that manages this cluster that is called cluster head.Routing in main network is performed mainly by network backbone of some cluster heads.

Concepts of Network Clustering
Network Cluster: A cluster is a group of some related nodes in a network; there is at least one path between any pair of nodes that satisfies conditions of quality of service in time [4].

a). Central Clustering Technique
Each cluster has an array of cluster head nodes (CH) that are individually responsible to manage its cluster, control the communication between cluster nodes.In case of having one cluster head, so if any error happens on CH that causes this cluster of the network stops it's processing.

b). Distributed Clustering Technique
No node controls network centrally; network node manages its resources itself.It is usually used as backup case of central clustering or when network nodes are distributed over large space so if using central clustering will increase overhead dramatically.

c). Combined Clustering Technique
This technique combines two above clustering techniques.In some case, it uses central clustering, in some other case, it uses distributed clustering.For example, in hierarchical network clustering, in one basically cluster, it uses central clustering, and in an upper level cluster, it can use distributed clustering for reducing control messages or overhead.

d). Routing Technique in Clustered Network
In clustered network, the routing function is divided into two smaller functions: i) inner cluster routing; ii) inter-cluster routing.Each cluster will only maintain the routes that meet the quality of service.

Overview of Evolutionary Algorithms
Evolutionary algorithms (EAs) has been studied, experimented and applied in many fields, it solves many problems faster than traditional methods especially in solving optimization problems.

Definition
An evolutionary algorithm (EA) is a generic population based meta-heuristic optimization algorithm that consists of some of evolutionary computations.
EA used mechanisms based on biological evolution, such as selection, reproduction, mutation and recombination.
EA makes the best solution based on selecting some candidate solutions using a fitness function then applying evolutionary operations.

Artificial Evolution (AE)
AE is a process that involves individual EAs.In this paper, introduces the two AE algorithms that are the Genetic Algorithm (GA) and Queen-bee algorithm (QB) for network clustering in service based routing in MANET.

Hierarchical Clustering Concepts
It defines a clustered network in hierarchical clustering by a recursive expression: , k is an integer variable that is a number of sub-clusters in each cluster .
Can be a sub-cluster or a node.This cluster model will establish a tree network topology with multiple levels of clusters; they establish a hierarchical tree structure.At the root level, this is main cluster: root C has some children {C }, each child is a node or a smaller cluster.In turn, each child cluster has some its child clusters.
Tree likes many other tree structures; it has a root, tree branches and leaves.In order to keep the tree being balance, each inner node of the tree has a number of child nodes in the range [m, M].In that, the pair of m and M is the lower and upper bounds of the number of its children.There are three kinds of nodes in this tree: I) Leaf node: stores an array of cluster heads of a basically cluster at the lowest level.At one time it chooses one being the cluster's cluster head.Each cluster head is chosen by a fuzzy logic controller (FLC) by assessing some its metrics [8].Each cluster head is represented by a component of two parts: node identifier ID and a filter F that is composed of some logical predicates.F is a logic condition to choose a cluster head; ii) Inner/ root node: stores information of an upper level cluster that consists of a set of cluster heads and its child clusters.Its structure is similar to a leaf node, but its children are child clusters with smaller size.The algorithms are used to insert, update, delete a node in this tree are similar to which of R+ tree applied for forwarding technique [7].All members of each cluster are also chosen by FLC.When a node takes part MANET, its information will be updated to R+ tree.It will join a basically subnet, these network topology will be replied back to the node.

Multiple Paths Routing Model
Assume that a network is defined by a weighted graph G(T)={V(T), L(T)}, V(T) and L(T) are vertex and edge sets.Dividing network into n clusters: G = { , , …, }, in each use an inner routing protocol to find a set of routes: RS = { , , , , …, , }, , is the route set between the cluster head CH and a node member i.In order to find routes between two nodes (p, r) that belong to two clusters ( , ), use the formula: Where x is the Descartes operator of these two sets.Therefore we have multiple paths between node p and r.
If number of routes in , , are , , respectively, the number of routes from p up to r is: The method is used to create multiple paths on each branch of route that can be Greedy algorithm as introducing in the next section.Assuming that the route consists of multiple trunks, each trunk is belonged to a cluster of the network.On each cluster, we find all the cyclic sub-routes by the Greedy algorithm.By using Genetic algorithm, there are a pair of the best routes that will be found after the algorithm's execution ending.So using the mutation operator to get one route for uploading or sending and another route for downloading or replying to make a cyclic route from a source to all destination nodes.It may be reduced cost and latency for a transmission session.

Use Genetic Algorithm for
Hierarchical Network Clustering

Definition
Genetic algorithm (GA) is a well-known adaptive heuristic search algorithm based on the evolutionary ideas of natural selection and genetic operations.The GA is designed based on the principles of Charles Darwin by the use of the fittest survival.It represents random and intelligent search within a defined search space to find the optimal solution to solve a problem.

Some Concepts of Genetic Algorithm
1) Chromosome: a chromosome C contains a genome, which is usually represented by a bit string.This bit string represents nodes of each cluster, in that each node is represented by a binary digit 1 or 0. Cluster head node is represented by 1 and member node is represented by 0. 2) Population: a population P contains a set of some chromosomes: P = C . 3) Operating principles: Genetic algorithm operates based on hill-climbing algorithm that uses local searches.GA is modeled loosely on the principles of the evolution theory via natural selection.
Following is the process of executing GA: 1.It randomly generates an initial population called by M(0), 0 is the order of the first round; 2. Execute the following steps until a satisfied solution is obtained or the execution time expired; 3. Assume current round being K, M(K) is the current population, compute and save the fitness value u(m) for each individual m in M(r); 4. Define the selection probability value p(m) for each individual m, therefore p(m) is proportional to u(m).Calculate p(m) by the formula: 5. Generate M(r+1) by probabilistically choosing individuals from the set M(r) via genetic operators: Selection: select the n best individuals based on their selection probabilities p (m), get the set S. Usually choose n=2; Crossover: execute this operator with probability !, use the crossover operator to get the set S': { " # , " # } = Crossover(" , " a common gene and is crossover operator; (iii) Mutation: execute this operator with probability !0 : " ## = Mutation (" # ) with " # = {" $%&' , g, " )& * }.From gene g, eliminate low residual energy nodes, get " ## .Remove cyclic routes from " ## and finally add " ## to # .So get the next population: M(r+1) = (M(r) S) # .After the GA finishes, it gains M (2 3 ) is the result of the problem.

Use Genetic Algorithm for Hierarchical Network Clustering
We can define a cluster in the hierarchical clustering network by a recursive expression: C = { , , …, }, k is an integer: the number of clusters.In the first round, root cluster C has some child clusters, then each child cluster has a number of components.In turn, each can be a node/ cluster.a) At the first level (0), a cluster consists of nodes' identities that are represented by a sequence of integers.Each cluster is seen as a chromosome in GA.With the first n identities are of its headset, the last identities are its cluster members.b) A population has several chromosomes; some chromosomes that have the best fitness will be used to generate the next population.c) Refer to HCR [3] and ICRP: in this paper, use CH itself in the role of the base station for forwarding messages between clusters.On local cluster, use a proactive routing protocol such as OLSR for nodes communicating to establish clusters based on GA.Choose headset size, fitness function for clusters automatically tuning.For finding route to transmit messages by using the pair of message RREQ and RREP [1].The headset can operate by round robin method or by combining two or more CHs for increasing bandwidth and availability.d) Establish the fitness function: Fitness function to estimate the fitness of a chromosome is designed based on some input parameters such as: (i) C: the cluster distance, the sum of all distances from nodes to CH; (ii) SD: it is standard deviation within cluster distances; (iii) E: it is estimated transfer energy that is consumed to transmit messages through the current cluster; (iv) T: the number of transmissions that pass through the cluster.The output of the F is an energy evaluation to transfer messages: F=u(m), in which m is the cluster, based on this to calculate: p(m)=F 5 , this value belongs the range 0. .1 GGGGG by Eq. 1. if F 5 =0: this cluster is needed to regulate; if F 5 = 1: this cluster is well organized.e) Some needed parameters for the fitness function: i. Direct distance metric to the CH: D = ∑ H , H is distance from a node member i to the cluster head C, n is the number of nodes.ii.Standard deviation metric: Where, h is the number of clusters in the network and so J is the average cluster distance.iii.Consumed energy metric: E is computed by the energy consumed to transfer the aggregated message between cluster members and cluster head and backwards by the formula: Where T U R is the energy consumed to transmit messages from a member node i to the cluster head.
T , is energy consumed to receive a message from a cluster member, n is the number nodes of the cluster.iv.The number of transmissions: T, for each data transmission stage, the cluster head assigns the number of transmissions denoted by T. The value of T is adjusted according to the network conditions and current energy levels.f) The fitness function: The chromosome fitness is F, which is a function of all above parameters, that is defined by the function: The initial fitness parameters are assigned the arbitrary weights { W }. After that, at each round the best fit chromosome is evaluated and the weights for fitness parameters are updated as follows: where ∆X is the change in fitness parameter value of f and GA evaluates all clusters after each round and finds the best fittest cluster depend on its parameters.

Advantages a)
In generalization, it is easy to handle arbitrary kinds of constraints and objectives; every component is weighted by a fitness function adapting the GA scheduler in deciding solution on a very wide range of possible overall objectives.b) Energy optimization.

Queen-Bee Algorithms Based on GA for Energy Efficient Clusters
The Queen-Bee algorithm (QB) [2] is based on GA in addition with some parameters and operations: i) the process for choosing headset P (t) that consists of n elements.As in fact, it divides a whole bee group into sub-groups; each sub-group has a Queen-bee that manages its own group.At first, it chooses a random set of Queen Bees that are CHs of some clusters.We get bees into each cluster by the same algorithm of the above GA algorithm.We get some clusters of the network.In each round of QB algorithm, in each cluster the Queen bee and bees communicate with each other by inner routing protocol.After the predefined time duration, assesses each cluster by calculating fitness function for each cluster.
Choose the two best clusters for applying some genetic operations.Then make the new generation for the next round of the algorithm.The set P (t) is established by couples of a queen-bee Iq(t-1) and a selected bee Im(t-1) and ii) some clusters are mutated by strong mutation probability in every generation process.The QB is proved to reduce energy consumption, so increase the network lifetime.Like GA, QB adds some very important parameters as: P'm: strong mutation probability, Iq: a queen-bee, Im: selected bees.The QB is presented as below: 1) Assign t := 0; 2) initialize P(t) 3) evaluate P(t) 4) while (not termination-condition) 5) do { a. t := t+1; b. select P(t) from P(t-1) c. P(t) = {Iq (t-1), Im (t-1)} /*new in QB*/ d. recombine P(t) from (b) and (c) e. Choose bees for each cluster by the same algorithm as in Genetic Algorithm f. do crossover g. do mutation /*(new in QB)*/ h. for i = 1 to n i. if (i ≤ (σ x n)) do mutation with Pm ii.else do mutation with P'm i. end for j. evaluate P (t) } In which: t: time, n: population size, p: populations, σ: normal mutation rate, Pm: normal mutation probability.Generally, Pm is less than 0.1 and P'm is greater than Pm.Queen-bee evolution is similar to neutrality in that the queen-bee, the fittest individual in the current generation, will crossbreed with the other bees be selected as parents by the selection algorithm.The offsprings mainly depend on the crossover operation and the fittest individual.As the result, it also increases the probability of premature convergence.

Use Greedy Algorithm to Assess GA in Each Round
In each round, on each cluster when its occupied space that may be calculated by GPS coordination system is not large in accordance with multiple paths routing as introduced above.It is easier to use the greedy algorithm to evaluate the population after evaluating it by the fitness function based on some conditions.

Greedy Algorithm Concepts
The greedy algorithm has the typical characteristics that are the same as GA.It makes offsprings based on a set of some candidates that are used to choose the best solution with some functions: i) a selection function that chooses the local best solution in each round of the round loop to complement the temporary result set (S R ); ii) a feasibility function that assesses the feasibility of a member of the population to complement the candidate set; iii) a purpose function that is used to calculate the whole cost of a member of the population; iv) a evaluation function that assesses a candidate if it is the requested solution of the problem.This algorithm divides the global search region into many sub-regions and find a local optimal solution in each sub-region.It assesses the global optimal solution in each round, if it is satisfied optimal conditions then algorithm ends.

The Algorithm Operations
The main idea of this algorithm is to create some optimal cyclic routes [9] by two found parents so the found routes will be optimized in cost and bandwidth.Main idea is depended on the idea from paper [9].Usually when a route from a source node to a destination node is found.At that time, the destination uses route information in RREQ message to create the RREP to reply back immediately to the source node.But in the new method, this destination node continuously forwards this RREQ to network.Until the predefined hop count reaches or the timeout expires that are not satisfied then when this RREQ is back to the source node.So it makes one cyclic route with guaranteed quality of service.After a predefined time interval, the source node will collect all the found routes.If no cyclic route is found then it uses normal route information to transfer data over network.In the case of using cyclic route, that it uses this route to transmit data to multiple destination nodes at one time.It avoids route-cutting situations by some traditional route finding protocols.For example, when a destination node is found in a cluster, it will find all another destination nodes in this cluster, finally making route reply message to reply back to the source node.
Combine edges from two best parent's solutions chosen by the fitness function.Create cycles by alternately selecting edges from two parents.
Choose a subset of cycles based on some conditions.Generate a immediate solution by taking one parent and replacing all its edges that are in the subset of cycles of second parents' edges in its subset of cycles.At this time, having a solution that has some sub-routes are not connected to the source node.Use greedy algorithms to optimize route partially.Its purpose is to make route that orginates from a source node to all destination nodes with minimum cost.It can use a greedy algorithm to choose a part of the route with the least cost.

Use Epsilon-Greedy Mutation Operator
In the paper [10], it has innovated the mutation operator for Genetic algorithm using a multiplicative variable , which is initialized by a constant value.After using crossover operator, GA executes the mutation operator normally on the given offspring.But in each round of GA, it performs mutation operator with a probability P that can be calculated by the algorithm 12 in [10].At first, P is only depended on previous state of network information.After that the probability will depend on two elements: a part of previous network information and a part on randomly chosen information.Finally, its operation will only depend on randomly chosen information.

Simulation on Using R + Tree for Hierarchical Clustering Routing
Setup tree to store network information, add node information to R by the algorithm in [7].So add node to the fittest physical cluster at 's leaf level then regulating tree.Made simulation on number of physical clusters changing in the range of P a bc 25. .300GGGGGGGGGG .The number of members in each cluster varies in the range |N i | 5. .10GGGGGGG .In each simulation, we performed GA with crossover probability of != 0.5, mutation probability with !0 = 0.1.In this paper, this process was simulated in 10 times, the results had been collected to draw on the below diagram: The above diagram shows that the time required to execute the process using tree and GA algorithm hasn't been increased continuously, sometimes this time is reduced.

Simulate the GA Algorithm to Make Clusters
With some parameter defined above: population size !j M% in 20..50GGGGGGGGG , at first chromosome size 30, number of nodes is 1000, headset size is 5.In each time of the execution of GA to make optimal clusters in 20 rounds with != 0.5 and !0 = 0.1.In this simulation, execute 3000 times and make a diagram to represent the results: The diagram shows that the time requires to execute the GA algorithm to make optimal clusters is rather stable.This time doesn't increase when the number of clusters increase and when the number of times of execution increases.

Simulate to Find the Optimal Route by GA Algorithm
Population size: 20 to 30; !L : 0.2 to 0.9, !: 0.05 to 0.2; (iii) Chromosome size: 20; Simulation: 1000 times: Time doesn't increase when amount of routes increase

Conclusion and Future Researches
In order to increase route bandwidth and availability, in this paper have mentioned the evolutionary algorithms for network clustering and genetic algorithms for finding optimal routes for transmitting data.Dividing large block of data into some smaller packages to transmit these packets on QOS multiple paths for increasing speed and reliability.It uses network clustering for reducing the energy required for transmission.Using the genetic algorithm to reduce cost and increase bandwidth to transmit data.Some above-mentioned simulations have proved all these results of these algorithms.In the near future, we will research some techniques to encode data based on data characteristics to increase security in MANET.

Fig. 2 .
Fig. 2.An example of applying the mutation operator.

Fig. 4 .
Fig. 4. The simulation results of usingand GA to make the optimal hierarchical clusters.

Fig. 5 .
Fig. 5.The simulation results of using GA to make clusters.

Fig. 6 .
Fig. 6.The simulation results of GA to find optimal route.