- Research
- Open Access

# Search-based routing in wireless mesh network

- Khalid Mahmood
^{1}, - Babar Nazir
^{2}Email author, - Iftikhar Ahmad Khan
^{2}and - Nadir Shah
^{3}

**2017**:36

https://doi.org/10.1186/s13638-017-0818-2

© The Author(s). 2017

**Received:**2 July 2015**Accepted:**30 January 2017**Published:**21 February 2017

The Erratum to this article has been published in EURASIP Journal on Wireless Communications and Networking 2017 2017:77

## Abstract

Wireless technology is emerging as a key technology for the future networks. Wireless mesh networks (WMNs) have emerged as an indispensable technology for deployment of wireless services for various applications in personal, enterprise, and metropolitan areas. Researchers are working actively in different fields of WMNs for providing better services. Routing protocols play a vital role in WMNs to provide reliable configuration and maintenance of topology of the network. Designing a suitable cost metric for routing protocols to provide quality links for data transmission is the backbone of WMNs. Many cost metrics have been proposed for WMNs and is still an active research topic as new performance metrics need to be discovered due to the dynamics of this field. This paper considers the genetic algorithm-based routing technique for WMN.

We have studied the existing cost metrics and proposed a genetic algorithm technique for routing in WMN. To evaluate the genetic algorithm, and to determine the relative performance of the genetic algorithm in the context of routing in WMN, we carry out experiments on two test systems. We have evaluated the quality of the results produced by our algorithm with the traditional hop count metric results. Our results show that routing in WMN using genetic algorithm produces better results as compared to traditional hop count metric results. Finally, we carry out a detailed analysis of results, which help us in gaining an insight into the suitability of genetic algorithm for routing in WMN.

## Keywords

- Genetic algorithm
- Wireless mesh network
- WMN
- Routing
- Optimal path

## 1 Introduction

Routing plays an important role in both wired and wireless networks. One can easily improve the performance and quality of the network by introducing the better routing approach. WMNs are the preeminent broadband communication systems and require an end to end QoS to its users. To achieve best performance in WMNs, the traffic should be routed on optimal path. Theoretical studies [6, 7] show that routing in WMN is an optimization problem. It has also been observed in the literature that the traffic demand in wireless networks [8] is dynamic and hard to estimate. Such observations put a question mark on suitability of the existing optimization-based routing solutions in WMNs.

To address this challenge, this paper investigates the routing technique in WMN which takes into account the dynamic behavior of traffic demands. This paper further identifies an optimization framework which finds an optimal path for routing in WMN. We formulate optimal path routing problem as search-based problem. We have investigated evolutionary optimization techniques to solve the routing problem in WMN. These techniques can find global optimum solution to a given problem. We have used an evolutionary optimization technique named as genetic algorithm for routing in WMN. It considers the link bandwidth and packet loss ratio into account; optimal path is selected among all the available paths from source to destination on the basis of aggregated cost of all the links of the path. The aggregated cost of the path is calculated by our newly designed cost metric that is used as fitness function in genetic algorithm to evaluate the optimal path.

The rest of the paper is organized as follows: In Section 2, we have given the literature review of existing routing metrics, optimization, and search-based problems. Section 3 illustrates our proposed solution. The experimental results and analysis are discussed in Section 4. Finally, in Section 5, we present the conclusion of the paper.

## 2 Related work

### 2.1 Existing routing metrics

Comparison of routing protocols

Type of protocol | Hello message | Multicasting | Routing metrics | Loop free | Scalability | Reliability | Load balancing | |
---|---|---|---|---|---|---|---|---|

DSR | Reactive | No | No | Shortest path | Yes | No | Yes | No |

AODV | Reactive | Yes | Yes | Shortest path | Yes | No | Yes | No |

LQSR | Reactive | Yes | Yes | Hop count, RTT, ETX | Yes | No | Yes | Yes |

DSDV | Proactive | No | No | Shortest path | Yes | No | Yes | No |

OLSR | Proactive | Yes | No | Shortest path | Yes | No | Yes | No |

MRP | Proactive | No | Yes | Hop count, QoS metrics | Yes | Yes | Yes | Yes |

### 2.2 Optimization and search-based problems

Optimization is a method of the application of succeeding iterations with application of variations on initial idea [11], i.e., optimization is fine-tuning of variables of system to get preferred output. The focal point of optimization techniques is an optimal point, while intervening performance is disregarded [12].

In real life, there are a large number of problems where search space (i.e., all possible solution to problems including good solutions which fulfill desired constraints and bad solutions which do not fulfill desired constraints) is very large as compared to solution space. A solution is considered as the best solution if we check all possible options for solution. In-depth search fails if search space is too large as compared to solution space. Such types of problems are not solvable in polynomial time because best solution may be difficult to achieve, so an effort is made to find a suboptimal solution.

Routing in WMNs is an optimization problem where optimal path needs to be selected from a large number of possible paths. The main purpose of optimization is to search values for a number of parameters whose aim is to maximize or minimize the objective function [13, 14]. To formulate the routing problem in WMN as a search-based problem, three tasks need to be carried out: first is the representation of problem which is agreeable to symbolic manipulation, second is a fitness function specifying integrity of available options, and third is the set of manipulation operators. The authors in [15] have proposed distributed scheduling scheme for video streaming over multi-channel, multi-radio, multi-hop wireless networks and formulated the scheduling as a convex optimization problem. The schemes used in [15] mainly focus on applications having video streaming, while our work focus on link quality regardless of any application constraints.

### 2.3 Genetic algorithm-based solution to search-based problems

Genetic algorithms are optimization methods that make use of a search process reproduced from the mechanism of biological selection and biological genetics [12]. Genetic algorithms follow the natural search and selection processes as described in genetics for biological processes which lead them to find the fittest individuals [12]. Genetic algorithm (GA) belongs to the class of evolutionary algorithm. The aim of GA is to find accurate or approximate solution for a given problem in a meaningful way.GA gives much better results when exhaustive search techniques fail [11].

It is normally observed in many optimization methods that we start finding the optimal solution from search space using some transition rules by starting from a single point and moving to the next point in search space. The transition rules are normally deterministic. Genetic algorithm initiates with a set of solutions which are encoded with some suitable GA encoding scheme. Successive sets of solutions are generated depending upon previously generated sets. These sets of solutions are generated with the help of an objective function known as fitness function. The integrity of solution depends upon this objective function [12]. Following are the components of genetic algorithm.

#### 2.3.1 Variable selection

Every problem normally is influenced by some factors which provide basis for the resolution of that problem. Variable selection is the process of finding all such variables which effect problem resolution. For example, in the case of routing in WMN, congestion avoidance at mesh nodes, high throughput, minimum interference, minimum cost, expected transmission time, and optimal channel assignment; all these play a significant role in finding best routing solution.

#### 2.3.2 Fitness function

The resolution of a problem primarily depends upon fitness function. A fitness function discriminates the good solution from bad. It is based upon those variables which affect the problem. Appropriate weights are assigned to variables through fitness function. The outcome of fitness function is normally one value which indicates the level of goodness for solution. In our routing problem, we define a mechanism to compute the path cost by using Eq. 1, which defines a criterion for optimal or non-optimal path within WMN.

#### 2.3.3 Encoding scheme

GA is normally operated on coded variable values rather than on actual ones. The literature survey shows that there exists many encoding schemes, but two of them are commonly used. These are binary encoding and real encoding [12]. The performance of GA is highly dependent on these encoding schemes which play a vital role in determining the reliability of GA [16]. An inadequately coded GA may not deliver the results in expected time [12].

#### 2.3.4 Initial population

The set of solutions in GA is known as a population. Each solution in solution set is known as a chromosome, while each element in the chromosome is called a gene. Each time GA runs, give a population and all succeeding populations depend upon preceding populations. The selection of initial population in GA is normally random. Initial population having high fitness values can quickly direct to acceptable solution. Encoding depicted in previous Section 2.3.3, i.e., [0 → 1 → 3 → 7 → 9], represents a chromosome, while one of the hops can be regarded as a gene. Working of GA requires a set of solutions; therefore, more than one solution can be generated at one time. A population of four solutions (chromosomes) can be represented as [0 **→** 1 **→** 3 **→** 7 **→** 9], [0 **→** 1 **→** 4 **→** 8 **→** 9], [0 → 2 → 5 → 9] and [0 **→** 1 **→** 3 **→** 6 **→** 8 **→** 9].

#### 2.3.5 Selection

Selection is the process for creation of new population. In this process, we select two members from a population. These members are used for crossover and mutation operations to create new population. Commonly used selection methods in GA are roulette wheel and tournament [16]. The comprehensive discussion of different selection methods can be seen in [12].Two solutions (chromosomes) are selected from a population with the application of suitable selection method for generating new solutions (chromosomes). The selection methods assure the selection of best solutions.

#### 2.3.6 GA operators

GA operators bring into play the generation of new populations from existing ones. These operators use best features of current population and produce better population as compared to previous one. Reproduction, crossover, and mutation are the GA operators. In reproduction, new population is generated based on fitness values of current population. High fitness solutions are used from current population to generate new population [12]. Newly generated and previous populations are combined in crossover step to generate new population according to a predefined scheme. Normally, new population is generated with best features as compared to previous one from reproduction and crossover steps, but some time, the entire reproduction and crossover process may result in loss of some information so mutation operator is applied. The process of mutation reduces the chance of trapping in local optima [12]. These operators have many variations and usually depend upon encoding schemes. The design of GA operators should be as much as necessary so that only feasible solutions should be created [16]. So, if we select [0 → 1 → 3 → 7 → 9] and [0 → 2 → 3 → 6 → 8 → 9] chromosomes (two solutions from source 0 to destination 9) from Fig. 2, then applying one-point crossover operator with crossover point being 3 result two new solutions [0 → 2 → 3 → 7 → 9] and [0 → 1 → 3 → 6 → 8 → 9]. Other common crossover operators are two-point and uniform crossover which can be viewed in [12].

Mutation operator randomly changes one or more genes of a selected chromosome to increase the structural variability of the population. In GA, the role of mutation operator is to restore the lost or unexplored genetic material into the population to prevent the premature convergence of GA to suboptimal solutions.

#### 2.3.7 Convergence

The convergence state in GA produces the desirable results and inquires the algorithm to stop [11, 17]. Stopping criteria based upon fitness value of solutions should be defined with an acceptance factor in convergence state of GA. The processing of algorithm should be stopped after fixed number of iterations if the convergence is not achieved.

#### 2.3.8 Elitism

A chromosome with highest fitness value is known as elite chromosome. Elitism in GA is used to retain the elite chromosome in next generation for achieving best solutions. In this way, we have a best solution in each population during the processing of GA.

## 3 Proposed solution

Routing in WMNs is an optimization problem where we have a large number of solution space. So, we need an optimization technique to find the optimal path from solution space. Genetic algorithm is the best choice for finding optimal path. We have exhibited all the steps involved in GA on our proposed technique, so in this way, we have applied GA as a search-based method to find an optimal path for routing in WMN.

### 3.1 Application of genetic algorithm in WMN routing

Application of genetic algorithm in WMN routing requires performing all the steps listed in Section 2.3. We will describe all those steps for the application of genetic algorithm in WMN.

#### 3.1.1 Variable selection

*d*

_{f}) and in reverse direction (

*d*

_{r}). The probability of successful data transmission and acknowledgment is

*d*

_{f}×

*d*

_{r}. ETX for the complete route is the sum of ETX calculated for each link in that particular route. The second variable is the expected transmission time (ETT) between each pair of nodes along the complete path from source to destination. The time spent in transmission of a packet along a link

*l*, i.e., ETT

_{ l }, is obtained by multiplying ETX

_{ l }by the link bandwidth (S/B). ETT for the complete route is the sum of ETT calculated for each link in that particular route. The third variable is the hop count. The values for ETX, ETT, and hop count are obtained by performing simulation on our test systems in NS-2, and the results are shown in Table 2.

Path cost calculation

Links |
| ETX = 1/( | Bandwidth | ETT = ETX × (S/B × 1024) | Path | \( {\displaystyle {\sum}_{\boldsymbol{l}=1}^{\boldsymbol{n}}}{\mathrm{ETT}}_{\boldsymbol{l}} \) | Hop count | Path cost |
---|---|---|---|---|---|---|---|---|

S → 1 | 1, 1 | 1 | 48 Mbps | 0.000020345 | S → 1 → 4 → D | 0.000343282 | 3 | 0.001029847 |

1 → 4 | 0.9, 0.8 | 1.388888889 | 15 Mbps | 0.000090422 | ||||

4 → D | 0.7, 0.4 | 3.571428571 | 15 Mbps | 0.000232515 | ||||

S → 3 | 0.6, 0.2 | 8.333333333 | 15 Mbps | 0.000542535 | S → 3 → D | 0.001414466 | 2 | 0.002828931 |

3 → D | 0.8, 0.7 | 1.785714286 | 2 Mbps | 0.000871931 | ||||

S → 1 | 1,1 | 1 | 48 Mbps | 0.000020345 | S → 1 → 3 → D | 0.000922417 | 3 | 0.00276725 |

1 → 3 | 1, 0.9 | 1.111111111 | 36 Mbps | 0.000030141 | ||||

3 → D | 0.8, 0.7 | 1.785714286 | 2 Mbps | 0.000871931 | ||||

S → 1 | 1, 1 | 1 | 48 Mbps | 0.000020345 | S → 1 → 3 → 4 → D | 0.000934042 | 4 | 0.00373617 |

1 → 3 | 1, 0.9 | 1.111111111 | 36 Mbps | 0.000030141 | ||||

3 → 4 | 0.5, 0.2 | 10 | 15 Mbps | 0.000651042 | ||||

4 → D | 0.7, 0.4 | 3.571428571 | 15 Mbps | 0.000232515 | ||||

S → 1 | 1,1 | 1 | 48 Mbps | 0.000020345 | S → 1 → 3 → 5 → D | 0.000161253 | 4 | 0.000645014 |

1 → 3 | 1, 0.9 | 1.111111111 | 36 Mbps | 0.000030141 | ||||

3 → 5 | 1, 1 | 1 | 48 Mbps | 0.000020345 | ||||

5 → D | 0.9, 0.8 | 1.388888889 | 15 Mbps | 0.000090422 | ||||

S → 3 | 0.6, 0.2 | 8.333333333 | 15 Mbps | 0.000542535 | S → 3 → 4 → D | 0.001426091 | 3 | 0.004278274 |

3 → 4 | 0.5, 0.2 | 10 | 15 Mbps | 0.000651042 | ||||

4 → D | 0.7, 0.4 | 3.571428571 | 15 Mbps | 0.000232515 | ||||

S → 3 | 0.6, 0.2 | 8.333333333 | 15 Mbps | 0.000542535 | S → 3 → 5 → D | 0.000653302 | 3 | 0.001959907 |

3 → 5 | 1, 1 | 1 | 48 Mbps | 0.000020345 | ||||

5 → D | 0.9, 0.8 | 1.388888889 | 15 Mbps | 0.000090422 | ||||

S → 2 | 0.9, 0.9 | 1.234567901 | 15 Mbps | 0.000080376 | S → 2 → 3 → D | 0.004207515 | 3 | 0.012622544 |

2 → 3 | 0.5, 0.2 | 10 | 3 Mbps | 0.003255208 | ||||

3 → D | 0.8, 0.7 | 1.785714286 | 2 Mbps | 0.000871931 | ||||

S → 2 | 0.9, 0.9 | 1.234567901 | 15 Mbps | 0.000080376 | S → 2 → 5 → D | 0.001527135 | 3 | 0.004581404 |

2 → 5 | 0.6, 0.4 | 4.166666667 | 3 Mbps | 0.001356337 | ||||

5 → D | 0.9, 0.8 | 1.388888889 | 15 Mbps | 0.000090422 | ||||

S → 2 | 0.9, 0.9 | 1.234567901 | 15 Mbps | 0.000080376 | S → 2 → 3 → 5 → D | 0.003446351 | 4 | 0.013785405 |

2 → 3 | 0.5, 0.2 | 10 | 3 Mbps | 0.003255208 | ||||

3 → 5 | 1, 1 | 1 | 48 Mbps | 0.000020345 | ||||

5 → D | 0.9, 0.8 | 1.388888889 | 15 Mbps | 0.000090422 |

#### 3.1.2 Fitness function

*l*is the link between two nodes.

#### 3.1.3 Encoding scheme

We have applied real encoding on our routing problem. The routing problem can be encoded as a string of integers generated by sequence of integer number IDs of connected nodes. For example in Fig. 2, we assigned IDs 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 to each node in the network, and a possible path between source node 0 to destination node 9 can be 0 **→** 1 **→** 3 **→** 7 **→** 9. This sequence specifies a solution as a routing path where node 0 is connected to node 1, node 1 is connected to node 3, node 3 is connected to node 7, and node 7 is connected to node 9. The solution generated in this way in which all adjacent nodes are connected is valid. The sequence 0 **→** 1 **→** 4 **→** 9 is an invalid sequence because node 4 is not directly connected to node 9; hence, this routing path from node 0 to node 9 is an invalid path.

#### 3.1.4 Initial population

Initial population plays a very important role for finding optimal solution as this initial population is used to generate new populations through crossover operator. Initially, we have generated a subset of large set of possible paths from source to destination on “50 and 100 nodes WMN,” respectively. All these paths are evaluated by using Eq. 1.

#### 3.1.5 Selection for crossover

We have applied roulette wheel and tournament selection mechanisms for selection [12]. Roulette wheel selection mechanism [18] has the similar selecting principle as roulette wheel. In GA, each sector of the roulette wheel corresponds to an individual from the population. The probability of the individual to be selected into the next generation depends upon the proportion of the individual’s fitness value to the total fitness values of the whole population.

Tournament approach [11] selects individuals based on their fitness values. This method selects a subset of two or three chromosomes from the mating pool, and the parent will be the chromosomes with the lowest cost in the subset. This method is suitable for large population sizes because the population never needs to be sorted.

#### 3.1.6 Crossover

We have applied one-point crossover [12]. A crossover point is chosen in the solution string to perform one-point crossover, and contents of solutions are exchanged before or after the crossover point.

#### 3.1.7 Elitism

We have used elitism for preserving solutions with best fitness for next generation. Elitism is applied by retaining the best solution of current generation. After applying the crossover and mutation, new population is generated and the worst solution of new population is replaced with the preserved best solution. In this way, this mechanism ensures that the best solution is retained in any generation.

#### 3.1.8 Convergence

The convergence criterion is not well defined for routing in WMNs using genetic algorithm. We used to calculate path cost for each solution in population which enables us to determine the goodness of solution. Our designed fitness function, i.e., path cost, is based on hop count and aggregated ETT along the path from source to destination, so optimal path selection solely rely on path cost. The path with minimum transmission time will be selected as optimal path for routing; therefore, if the value of the *path cost* of some solution is minimum than the other set of solutions, this solution will be considered to be better. We cannot give a final verdict that some value for path cost is best and we stop the iterations. However, we can stop our solution after some specified number of iterations, and by applying elitism, we can ensure that we have a best solution at current state of computation.

### 3.2 An illustrative example

*S*to destination node

*D*are shown in Fig. 3b. All available links within a complete path from source to destination, their bandwidth

*B*, ETX, ETT, hop count, and path cost, are shown in Table 2.

Path cost for all available paths is calculated by using Eq. 1, and all the calculated results are shown in Table 2. The size of probe packet *S* used for calculating the path is 1 KB. Figure 3c shows optimal path and minimum hop count path. The path with small dotted lines shows the optimal path, while the path with large dotted lines shows the minimum hop count path. Although the optimal path shown in Fig. 3c has more hops than that of the minimum hop count path, the cost of optimal path is minimum than that of the minimum hop count path. Our proposed solution is based on path cost which depends on aggregated ETT; therefore, the results obtained are better than traditional hop count path. The minimum hop count path selects the path on the basis of minimum hops in a particular path and does not consider the link quality, while our proposed solution reflects the optimal path by considering link quality.

## 4 Experimental results and analysis

Simulation parameters

Variables | Values |
---|---|

MAC type | 802.11 |

Packet size | 1 KB |

Bandwidth of links | Actual bandwidth of a link |

Radio type | Half duplex |

Crossover rate | 0.1 to 0.9 |

Mutation rate | 0.01 to 0.09 |

Generations | 1000 |

Elitism | True/false |

Population size | 500 and 1000 |

Network nodes | 50 and 100 |

Selection methods | Roulette wheel and tournament |

### 4.1 Application of GA model 1

GA model 1 parameters

Selection method | Elitism | Nodes | Population size | Generations |
---|---|---|---|---|

Roulette wheel | Yes | 50 | 500 | 1000 |

Optimal path and minimum hop count results of GA model 1

(Crossover, mutation) | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.08) | 12 | 11 | 11 | 40 |

(0.8, 0.04) | 15 | 22 | 14 | 35 |

(0.7,0.01) | 12 | 19 | 12 | 42 |

(0.6, 0.07) | 11 | 15 | 11 | 15 |

(0.5, 0.08) | 14 | 19 | 11 | 30 |

(0.4, 0.08) | 15 | 26 | 12 | 41 |

(0.3, 0.02) | 13 | 32 | 13 | 32 |

(0.2, 0.05) | 12 | 14 | 12 | 14 |

(0.1, 0.09) | 13 | 27 | 12 | 34 |

### 4.2 Application of GA model 2

GA model 2 parameters

Selection method | Elitism | Nodes | Population size | Generations |
---|---|---|---|---|

Tournament | Yes | 50 | 500 | 1000 |

Optimal path and minimum hop count results of GA model 2

(Crossover, mutation) | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.09) | 14 | 29 | 11 | 221 |

(0.8, 0.04) | 11 | 19 | 11 | 19 |

(0.7, 0.06) | 11 | 12 | 11 | 12 |

(0.6, 0.08) | 11 | 26 | 11 | 26 |

(0.5, 0.02) | 13 | 14 | 12 | 17 |

(0.4, 0.07) | 12 | 14 | 12 | 14 |

(0.3, 0.08) | 13 | 17 | 10 | 198 |

(0.2, 0.02) | 14 | 16 | 14 | 16 |

(0.1, 0.07) | 13 | 20 | 11 | 148 |

### 4.3 Application of GA model 3

GA model 3 parameters

Selection method | Elitism | Nodes | Population size | Generations |
---|---|---|---|---|

Roulette wheel | No | 50 | 500 | 1000 |

Optimal path and minimum hop count results of GA model 3

Crossover, mutation | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.08) | 13 | 18 | 11 | 48 |

(0.8, 0.08) | 11 | 22 | 11 | 22 |

(0.7, 0.08) | 13 | 23 | 12 | 41 |

(0.6, 0.04) | 12 | 14 | 11 | 60 |

(0.5, 0.08) | 13 | 18 | 11 | 30 |

(0.4, 0.09) | 15 | 27 | 12 | 30 |

(0.3, 0.05) | 13 | 30 | 13 | 30 |

(0.2, 0.07) | 11 | 11 | 11 | 11 |

(0.1, 0.02) | 13 | 18 | 13 | 18 |

### 4.4 Application of GA model 4

GA model 4 parameters

Selection method | Elitism | Nodes | Population size | Generations |
---|---|---|---|---|

Tournament | No | 50 | 500 | 1000 |

Optimal path and minimum hop count results of GA model 4

(Crossover, mutation) | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.06) | 12 | 29 | 11 | 208 |

(0.8, 0.07) | 11 | 15 | 11 | 15 |

(0.7, 0.08) | 12 | 12 | 11 | 40 |

(0.6, 0.01) | 11 | 13 | 11 | 13 |

(0.5, 0.06) | 11 | 13 | 11 | 13 |

(0.4, 0.02) | 12 | 20 | 12 | 20 |

(0.3, 0.08) | 13 | 16 | 11 | 19 |

(0.2, 0.08) | 14 | 21 | 12 | 164 |

(0.1, 0.04) | 12 | 15 | 12 | 15 |

**7**shows that on “50 nodes WMN,” the optimal path is selected on crossover and mutation rates (0.7 and 0.08, respectively). Keeping the same crossover and mutation rates, the cost of minimum hop count path is more than that of GA cost, and thus, the path selected through minimum hop count metric is not optimal (Table 12).

Experimental parameters

Nodes | Population | Generations |
---|---|---|

50 | 500 | 1000 |

### 4.5 Summarized results of optimal path on 50 nodes WMN

Summarized results of optimal path on 50 nodes WMN

Selection method-elitism | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.08) RW-elitism-yes | 12 | 11 | 11 | 40 |

(0.7, 0.06) TR-elitism-yes | 11 | 12 | 11 | 12 |

(0.2, 0.07) RW-elitism-no | 11 | 11 | 11 | 11 |

(0.7, 0.08) TR-elitism-no | 12 | 12 | 11 | 40 |

### 4.6 Application of GA model 5

GA model 5 parameters

Selection method | Elitism | Nodes | Population | Generations |
---|---|---|---|---|

Roulette wheel | Yes | 100 | 1000 | 1000 |

Optimal path and minimum hop count results of GA model 5

(Crossover, mutation) | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.08) | 18 | 45 | 17 | 144 |

(0.8, 0.03) | 21 | 43 | 17 | 62 |

(0.7, 0.03) | 20 | 57 | 20 | 57 |

(0.6, 0.05) | 18 | 40 | 18 | 40 |

(0.5, 0.05) | 20 | 49 | 20 | 87 |

(0.4, 0.06) | 17 | 36 | 17 | 39 |

(0.3, 0.09) | 16 | 24 | 16 | 24 |

(0.2, 0.06) | 17 | 33 | 17 | 33 |

(0.1, 0.07) | 18 | 50 | 18 | 50 |

### 4.7 Application of GA model 6

GA model 6 parameters

Selection method | Elitism | Nodes | Population | Generations |
---|---|---|---|---|

Tournament | Yes | 100 | 1000 | 1000 |

Optimal path and minimum hop count results of GA model 6

(Crossover, mutation) | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.07) | 19 | 37 | 17 | 44 |

(0.8, 0.08) | 18 | 40 | 17 | 53 |

(0.7, 0.05) | 17 | 53 | 17 | 53 |

(0.6, 0.08) | 21 | 30 | 16 | 57 |

(0.5, 0.09) | 19 | 39 | 15 | 61 |

(0.4, 0.04) | 17 | 34 | 17 | 34 |

(0.3, 0.07) | 19 | 37 | 18 | 84 |

(0.2, 0.08) | 22 | 40 | 17 | 73 |

(0.1, 0.06) | 18 | 39 | 18 | 39 |

### 4.8 Application of GA model 7

GA model 7 parameters

Selection method | Elitism | Nodes | Population | Generations |
---|---|---|---|---|

Roulette wheel | No | 100 | 1000 | 1000 |

Optimal path and minimum hop count results of GA model 7

(Crossover, mutation) | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.02) | 20 | 49 | 20 | 49 |

(0.8, 0.06) | 18 | 38 | 18 | 38 |

(0.7, 0.09) | 18 | 36 | 18 | 36 |

(0.6, 0.09) | 18 | 59 | 17 | 130 |

(0.5, 0.09) | 19 | 48 | 19 | 48 |

(0.4, 0.05) | 18 | 49 | 18 | 49 |

(0.3, 0.09) | 20 | 53 | 17 | 68 |

(0.2, 0.09) | 17 | 54 | 17 | 54 |

(0.1, 0.07) | 19 | 36 | 19 | 36 |

### 4.9 Application of GA model 8

GA model 8 parameters

Selection method | Elitism | Nodes | Population size | Generations |
---|---|---|---|---|

Tournament | No | 100 | 1000 | 1000 |

Optimal path and minimum hop count results of GA model 8

(Crossover, mutation) | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.9, 0.09) | 18 | 46 | 17 | 76 |

(0.8, 0.06) | 16 | 36 | 15 | 43 |

(0.7, 0.09) | 19 | 36 | 16 | 55 |

(0.6, 0.08) | 19 | 35 | 17 | 79 |

(0.5, 0.06) | 22 | 33 | 17 | 124 |

(0.4, 0.08) | 18 | 38 | 18 | 38 |

(0.3, 0.06) | 18 | 38 | 17 | 52 |

(0.2, 0.07) | 16 | 36 | 16 | 36 |

(0.1, 0.05) | 20 | 33 | 17 | 163 |

Experimental parameters

Nodes | Population | Generations |
---|---|---|

100 | 1000 | 1000 |

### 4.10 Overall optimal path results on 100 nodes WMN

Summarized results for optimal path on 100 nodes WMN

Selection method-elitism | GA hop count | GA optimal cost × 1000 | Minimum hop count | Minimum hop count cost × 1000 |
---|---|---|---|---|

(0.3, 0.09) RW-elitism-yes | 16 | 24 | 16 | 24 |

(0.6, 0.08) TR-elitism-yes | 21 | 30 | 16 | 57 |

(0.7, 0.09) RW-elitism-no | 18 | 36 | 18 | 36 |

(0.1, 0.07) RW-elitism-no | 19 | 36 | 19 | 36 |

(0.1, 0.05) TR-elitism-no | 20 | 33 | 17 | 163 |

(0.5, 0.06) TR-elitism-no | 22 | 33 | 17 | 124 |

The experimental results and data analysis taken on our proposed technique show that GA returns high throughput path with minimum transmission delay. It is also observed that the path selected by our proposed technique although have more hop count as compared to minimum hop count path, the transmission time is less and the throughput is high.

## 5 Conclusions

The study and analysis of routing in WMN using genetic algorithm guide us to conclude that using GA technique instead of traditional hop count for finding optimal path gives better results. The experimental results taken on “50 nodes WMN” and “100 nodes WMN” test systems show that the cost of optimal paths obtained through GA is minimum than the cost of traditional hop count metric in most of the cases. Although GA takes more time than hop count metric for finding the optimal path, GA returns high throughput path for routing. We have applied two selection methods, roulette wheel and tournament, on our two test systems. We have also investigated the role of crossover rate and mutation rate by taking different values. The range of crossover rate is 0.1 to 0.9, while the range of mutation rate is 0.01 to 0.09. We collected best results from these combinations and used them in analysis. The best result for roulette wheel method on “50 nodes WMN” test system is on 0.9 and 0.08 for crossover and mutation, respectively, while the best result for tournament method is on 0.7 and 0.06 for crossover and mutation, respectively. Similarly, on “100 nodes WMN” test system, the best result for roulette wheel method is on 0.3 and 0.09 for crossover and mutation, respectively, while the best result for tournament method is on 0.6 and 0.08 for crossover and mutation, respectively.

## Notes

## Declarations

### Acknowledgements

### Competing interests

The authors declare that they have no competing interests.

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

## Authors’ Affiliations

## References

- V Gabale, B Raman, P Dutta, S Kalyanraman, A classification framework for scheduling algorithms in wireless mesh networks. IEEE Commun. Surv. Tutorials
**15**(1), First Quarter (2013)View ArticleGoogle Scholar - F Akyildiz, XD Wang, WL Wang, Wireless mesh networks: a survey. Comput. Netw. ISDN Syst.
**47**(4), 445–487 (2005)View ArticleMATHGoogle Scholar - F Akyildiz, X Wang, A survey on wireless mesh networks. IEEE Commun. Mag.
**43**(9), S23–S30 (2005)View ArticleGoogle Scholar - W Liu, H Nishiyama, N Kato, Y Shimizu, T Kumagai,
*A novel gateway selection method to maximize the system throughput of wireless mesh network deployed in disaster areas*. IEEE 23rd International Symposium on Personal, Indoor and Mobile Radio Communications - (PIMRC, 2012View ArticleGoogle Scholar - M Ajmal, K Mahmood, SA Madani, Efficient Routing in wireless mesh networks by enhanced AODV, in
*Proceedings of International conference on information and emerging technologies (ICIET)*, 2010Google Scholar - J Tang, G Xue, W Zhang, Maximum throughput and fair bandwidth allocation in multi-channel wireless mesh networks, in
*Proc. of IEEE INFOCOM*, 2006Google Scholar - M Alicherry, R Bhatia, L Li, Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks, in
*Proc. of ACM MobiCom*, 2005Google Scholar - XG Meng, SHY Wong, Y Yuan, S Lu, Characterizing flows in large wireless data networks, in
*Proc. Of ACM MobiCom*, 2004Google Scholar - CE Koksal, Quality-aware routing metrics in wireless mesh networks. In Wireless Mesh Networks, Hossain E, Leung K (eds). (Springer, US, 2007), p. 227–243Google Scholar
- MEM Campista, DG Passos, PM Esposito, IM Moraes, CVN de Albuquerque, DCM Saade, MG Rubinstein, LHMK Costa, OCMB Duarte, Routing metrics and protocols for wireless mesh networks. IEEE Netw.
**22**(1), 6–12 (2008)View ArticleGoogle Scholar - RL Haupt, SE Haupt,
*Practical genetic algorithms*, 2nd edn. (John Wiley & Sons, New Jersey, 2004)MATHGoogle Scholar - DE Goldberg,
*Genetic algorithms in search, optimization and machine learning*. Pearson Education Asia, 2002Google Scholar - Z Michalewicz,
*Genetic algorithm + data structure = evolution programs*, thirdth edn. (Springer-Verlag, Berlin, 1996)View ArticleMATHGoogle Scholar - F Van den Bergh, AP Engelbrecht, A new locally convergent particle swarm optimizer, in
*Proceeding of the IEEE conference on systems, man, and cybernetics, hammamet*, 2002. TunisiaGoogle Scholar - L Zhou, X Wang, W Tu, G-M Muntean, B Geller, Distributed scheduling scheme for video streaming over multi-channel multi-radio multi-hop wireless networks. IEEE J. Selected Areas Commun. Inst. Electr. Electron. Eng.
**28**(3), 409–419 (2010)Google Scholar - K Mahdavi, A clustering genetic algorithm for software modularization with a multiple hill climbing approach”, in
*PhD thesis, Brunel University West London*, 2006Google Scholar - S Parsa, O Bushehrian, A New Encoding Scheme and a Framwork to investigate Genetic Clustering Algorithms. J. Res. Pract. Inform. Technol. 37(1), 127-143 (2005)Google Scholar
- AA Pirzada, R Wishart, M Portmann, J Indulska, ALARM: an adaptive load-aware routing metric for hybrid wireless mesh networks, in
*Proceeding of the thirty-second australasian conference on computer science ACSC '09*, vol. 91 (Australian Computer Society, Inc, Darlinghurst, Australia, 2009). Australia ©Google Scholar