# Evaluation of genetic algorithms for mesh router nodes placement in wireless mesh networks

## Authors

- First Online:

- Received:
- Accepted:

DOI: 10.1007/s12652-010-0022-2

- Cite this article as:
- Xhafa, F., Sanchez, C., Barolli, L. et al. J Ambient Intell Human Comput (2010) 1: 271. doi:10.1007/s12652-010-0022-2

- 6 Citations
- 84 Views

## Abstract

In wireless mesh networks (WMNs) the meshing architecture, consisting of a grid of mesh routers, provides connectivity services to mesh client nodes. The performance and operability of WMNs largely depends on placement of mesh routers nodes in the geographical area to achieve network connectivity and stability. Thus, finding optimal or near-optimal mesh router nodes placement is crucial to such networks. In this work we propose and evaluate genetic algorithms (GAs) for near-optimally solving the problem. In our approach we seek a two-fold optimization, namely, the maximization of the size of the giant component in the network and the user coverage. The size of the giant component is considered here as a criteria for measuring network connectivity and user coverage as *QoS*. GAs explore the solution space by means of a population of individuals, which are evaluated, selected, crossed and mutated to reproduce new individuals of better quality. The fitness of individuals is measured with respect to network connectivity and user coverage being the former a primary objective and the later a secondary one. Several genetic operators have been considered in implementing GAs in order to find the configuration that works best for the problem. We have experimentally evaluated the proposed GAs using a benchmark of generated instances varying from small to large size. In order to evaluate the quality of achieved solutions for different possible client distributions, instances have been generated using four distributions of mesh clients (Uniform, Normal, Exponential and Weibull). The experimental results showed the efficiency of the GAs for computing high quality solutions of mesh router nodes placement in WMNs.

### Keywords

Wireless mesh networksGenetic algorithmsGenetic operatorsSize of giant componentUser coverage## 1 Introduction

Wireless mesh networks (WMNs) (Akyildiz et al. 2005; Nandiraju et al. 2007) are currently attracting a lot of attention from wireless research and technology communities due to their ability for providing cost-efficient broadband wireless connectivity. Moreover, development in WMNs is being pushed by the ever increasing need in developing and deploying medical, transport and surveillance applications in urban areas, metropolitan, neighboring communities and municipal area networks (Chen and Chekuri 2007). WMNs are based on mesh topology, in which every node (representing a server) is connected to one or more nodes, enabling thus the information transmission along more than one path. The path redundancy is in fact a robust feature of this kind of topology. Compared to other topologies, mesh topology needs not a central node, allowing networks based on such topology to be self-healing. These characteristics of networks with mesh topology make them very reliable and robust networks to potential server node failures.

In WMNs, mesh routers provide network connectivity services to mesh client nodes. Mesh routers are similar to normal routers but incorporate also additional functions to support mesh networking, and are usually equipped with multiple interfaces to work with different wireless technologies. Another feature of this type of routers with respect to usual ones is their ability to provide the same coverage with much less transmitter power through multi-hop communications. The performance and operability of WMNs largely depends on placement of mesh routers nodes in the geographical area to achieve network connectivity, stability and user coverage. The objective is to find an optimal and robust topology of the mesh network. Unfortunately, node placement problems are shown to be computationally hard to solve to optimality (Garey and Johnson 1979; Lim et al. 2005; Amaldi et al. 2008; Wang et al. 2007). Therefore heuristic and meta-heuristic approaches are the de facto approach to solve the problem for practical purposes. Several heuristic approaches are found in the literature for node placement problems in WMNs (Muthaiah and Rosenberg 2008; Zhou et al. 2007; Tang 2009; Antony Franklin and Siva Ram Murthy 2007; Vanhatupa et al. 2007).

In this work we propose and evaluate genetic algorithms (GAs) (Holland 1975) for near-optimally solving the problem. GAs are evolutionary algorithms that try to implement the selection process in nature. GAs start from an initial population of individuals, i.e. feasible solutions of the problem, each having associated a fitness value that indicates how good it is as compared to the rest of individuals. Thus, just as in natural processes, GA goes through a similar process of evaluation, selection, crossover, mutation and replacement yielding to the next generation of individuals. The process is repeated through a number of generations during which the best features of parents are passed on to offsprings and individuals of better quality are eventually obtained. In our GA approach, we seek a two-fold optimization, namely, the maximization of the size of the giant component in the network and user coverage. The size of the giant component is considered as criteria for measuring network connectivity. The quality of individuals is thus measured with respect to network connectivity and user coverage. Several genetic operators have been considered in implementing GAs in order to find the configuration that works best for the problem. We have experimentally evaluated the proposed GAs using a benchmark of generated instances varying from small to large size. In order to evaluate the quality of achieved solutions for different possible client distributions, instances have been generated using different distributions of mesh clients (Uniform, Normal, Exponential and Weibull).

The rest of the paper is organized as follows. In Sect. 2 we present the definition of the mesh router nodes placement problem in WMNs. The GA’s features are briefly introduced in Sect. 3 and their application to mesh router nodes placement in Sect. 4. The experimental evaluation is given in Sect. 5. We end the paper in Sect. 6 with some conclusions.

## 2 Problem definition

a universe

*U*, from which a set*C*of client input positions is selected;an integer,

*N*≥ 1, denoting the number of facilities (e.g. mesh router nodes) to be deployed;one or more metrics of the type

*d*:*U*×*U*→*R*_{+}, which measure the quality of the location; andan optimization model.

*continuous space*(the universe is a region, where clients and facilities may be placed anywhere within the

*continuum*leading to an uncountably infinite number of possible locations); (b)

*discrete space*(the universe is a discrete set of predefined positions); and, (c)

*network space*(the universe is given by an undirected weighted graph; in the graph, client positions are given by the vertices and facilities may be located anywhere on the graph). We consider the version of the mesh node placement problem corresponding to the network space model. Thus, in this version, we are given a 2D area where to distribute a number of mesh router nodes and a number of mesh client nodes of fixed positions (of an arbitrary distribution). The objective is to find a location assignment for the mesh router nodes in the given area that maximizes the network connectivity (size of the giant component) and client coverage. An instance of the problem can be formalized as follows (see Fig. 1 for a graphical representation):

*N*mesh router nodes, each having its own radio coverage, defining thus a vector of routers.An area

*W*×*H*where to distribute*N*mesh routers. Positions of mesh routers are not pre-determined. The area is divided in square cells of an a priori fixed length and mesh router nodes are to be deployed in the cells of the grid area.*M*client mesh nodes a priori located in arbitrary cells of the considered grid area, defining a matrix of clients.

An instance of the problem can be formalized by an adjacency matrix of the WMN graph, whose nodes are of two types: router nodes and client nodes and whose edges are links in the mesh network (there is a link between a mesh router and mesh client if the client is within radio coverage of the router). Each mesh router node in the graph is a triple *v* = < *x*, *y*, *r* > representing the 2D location point and *r* is the radius of the transmission range. There is an arc between two nodes *u* and *v*, if *v* is within the transmission circular area of *u*. It should be noticed here that the deployment area is partitioned by grid cells, representing graph nodes, where we can locate mesh router nodes. In fact, in a cell, both a mesh and a client node can be placed.

### 2.1 Optimization setting

Network connectivity and user coverage are among most important metrics in WMNs. The former measures the degree of connectivity of the mesh nodes while the later refers to the number of mesh client nodes connected to the WMN. Both objectives are important and directly affect the network performance; nonetheless, network connectivity is considered more important than user coverage. It should also be noted that in general optimizing one objective could affect the other objective although there is no direct relation among these objectives.

For optimization problems having two or more objective functions, two settings are usually considered: the hierarchical and simultaneous optimization. In the former, the objectives are classified (sorted) according to their priority. Thus, for the two objective case, one of the objectives, say *f*_{1}, is considered as primary objective and the other, say *f*_{2}, as secondary one. The meaning is that the optimization is carried out in two steps: in the first we try to optimize *f*_{1}, and then, we try to optimize *f*_{2} without worsening the best value of *f*1. The hierarchical approach is useful when it is needed to prioritize a certain criteria. By contrast, the simultaneous approach considers several objectives at the same time; one simple case of the simultaneous approach is the weighted sum of criteria, in which each objective is given a certain weight. However, it is not always possible to express a weighted sum of criteria since criteria may not always be summed up.

In this work we have considered the hierarchical approach in which the size of the giant component is a primary objective and the user coverage is a secondary one. GA uses this optimization scheme when evaluating the fitness of individuals.

### 2.2 Client mesh nodes distributions

It should be noticed from the above problem description that mesh client nodes are a priori arbitrarily situated in the given deployment area. For evaluation purposes, it is interesting, however, to consider concrete distributions of clients. For instance, it has been shown from studies in real urban areas or university campuses that users (client mesh nodes, in our case) tend to cluster to hotspots. Therefore different client mesh nodes distributions should be considered, for instance Weibull distribution, in evaluating WMN metrics.

We have considered Uniform, Normal, Exponential and Weibull distributions for client mesh nodes in the experimental evaluation (see Sect. 5).

## 3 Genetic algorithms

*template*given in Algorithm 1.

*Population of individuals*Unlike local search techniques that construct a path in the solution space jumping from one solution to another one through local perturbations, GAs use a population of individuals giving thus the search a larger scope and chances to find better solutions. This feature is also known as “exploration” process in difference to “exploitation” process of local search methods.*Fitness*The determination of an appropriate fitness function, together with the chromosome encoding are crucial to the performance of GAs. Ideally we would construct objective functions with “certain regularities”, i.e. objective functions that verify that for any two individuals which are close in the search space, their respective values in the objective functions are similar.*Selection*The selection of individuals to be crossed is another important aspect in GAs as it impacts on the convergence of the algorithm. Several selection schemes have been proposed in the literature for selection operators trying to cope with premature convergence of GAs.*Crossover operators*Use of crossover operators is one of the most important characteristics. Crossover operator is the means of GAs to transmit best genetic features of parents to offsprings during generations of the evolution process.*Mutation operators*These operators intend to improve the individuals of a population by small local perturbations. They aim to provide a component of randomness in the neighborhood of the individuals of the population.*Escaping from local optima*GAs have the ability to avoid falling prematurely into local optima and can eventually escape from them during the search process.*Convergence*The convergence of the algorithm is the mechanism of GAs to reach to good solutions. A premature convergence of the algorithm would cause that all individuals of the population be similar in their genetic features and thus the search would result ineffective and the algorithm getting stuck into local optima. Maintaining the diversity of the population is therefore very important to this family of evolutionary algorithms.

It should be noted however that GAs are computationally expensive algorithms and usually require a large number of generations to reach high quality solutions. In particular, as we will see, crossover operator can be computationally expensive for the problem of mesh router nodes placement due to the encoding of solutions in a two-dimensional grid.

## 4 GA for mesh router node placement problem

We present in this section the particularization of GAs for the problem of mesh router nodes placement in WMNs.

### 4.1 Encoding

The encoding of individuals (also known as chromosome representation) is fundamental to the implementation of GAs in order to efficiently transmit the genetic information from parents to offsprings.

In the case of the mesh router nodes placement problem, an individual of the population (a solution) contains the information on the current location of routers in the grid area as well as information on links to other mesh router nodes and mesh client nodes. This information is kept in data structures, namely, pos_routers for positions of mesh router nodes, routers_links for link information among routers and client_router_link for link information among routers and clients (matrices of the same size as the grid area are used.) Based on these data structures, the size of the giant component and the number of users covered are computed.

It should be also noted that routers are assumed to have different radio coverage, therefore to any router could be linked a number of clients and other routers. Obviously, whenever a router is moved to another cell of the grid area, the information on links to other routers and clients must be computed again.

### 4.2 Fitness evaluation

The fitness function is of particular importance in GAs as it guides the search towards most promising areas of the solution space. Furthermore, in our case, we tackle an bi-criteria optimization problem and therefore the fitness function in our particular case can be expressed in different ways. We have adopted the optimization setting, in which the size of the giant component is considered primary and the number of users covered is considered secondary (see also Sect. 2.1).

### 4.3 Selection operators

In the evolutionary computing literature we can find a variety of selection operators, which are in charge of selecting individuals for the pool mate. The operators considered in this work are those based on *implicit fitness re-mapping* technique. It should be noted that selection operators are generic ones and do not depend on the encoding of individuals. We have implemented the selection operators described below.

*Linear ranking selection* This operator follows the strategy of selecting the individuals in the population with a probability directly proportional to their fitness value. This operator clearly benefits the selection of best endowed individuals, which have larger chances of being selected.

*Best selection* This operator selects the individuals in the population having highest fitness value. The main drawback to this operator is that by always choosing the best fitted individuals of the population the GA could converge prematurely.

*N-tournament selection* This operator selects the individuals based on the result of a tournament among individuals. Usually winning individuals are the ones of better fitness value but individuals of worse fitness value could be chose as well, contributing thus to diversity of population. A particular case of this operator is the binary tournament selection (*N* = 2).

### 4.4 Crossover operators

The crossover operators are the most important ingredient of GAs. Indeed, by selecting individuals from the parental generation and interchanging their *genes*, new individuals (descendants) are obtained. The aim is to obtain descendants of better quality that will feed the next generation and enable the search to explore new regions of solution space not explored yet.

*intersection operators*, which take in input two individuals and produce in output two new individuals (see Algorithm 2)

### 4.5 Mutation operators

*SingleMutate operator*Select a mesh router node in the grid area and move it to another cell of the grid area (see Fig. 2 (left)). After the move is done, network connections are computed again.*RectangleMutate operator*This operator selects two “small” rectangles at random in the grid area, and swaps the mesh routers nodes in them. Certainly, in this case the modification of the individual is larger than in the case of SingleMutate (see Fig. 2 (right)).*SmallMutate operator*This operator chooses randomly a router and moves it a small (a priori fixed) numbers of cells in one of the four directions: up, down, left or right in the grid.*SmallRectangleMutate operator*This operator is similar as SmallMutate but now we select first at random a rectangle and then all routers inside the rectangle are moved with a small (*a priori*fixed) numbers of cells in one of the four directions: up, down, left or right in the grid.

Again, after the mutation is done network connections are computed.

## 5 Experimental study

### 5.1 Parameter setup

Parameter setup is an important issue to effectively use heuristic approaches since parameter values have a direct impact on the performance of the algorithm. As usually, parameters can be classified into two groups: parameters related to the heuristic method itself, the GA in our case, and parameters related to the problem under study, the mesh router node placement in our case.

*GA parameters*. In this group we have the following parameters: population size, intermediate population size, number of evolution steps, crossover probability, mutate probability and parameters for replacement strategies such as replace only if better or generational replacement.

*Mesh router node placement parameters*. In this group we have the number of routers to deploy, number of client nodes to cover and grid area sizes.

The fine tuning of parameters is known for its complexity due to possible synergies and side effects among different parameters values. On the other hand, the values of the parameters should be set up independently and in a way that they are effective for any instances of the problem, although tuning will be conducted using a selected sample of instances. To this end, randomly generated instances of three different grid area sizes (32 × 32, 64 × 64 and 128 × 128, respectively) are used. To avoid biased results, 15 independent runs of GA were performed. Then, the resulting setting of parameter is used for obtaining computational results for a benchmark of instances.

To exemplify the tuning process, we present next the results for mutate operators and selection operators for instances of 32 × 32, 64 × 64 and 128 × 128 grid area sizes.

### 5.2 Tuning of mutation and selection operators

*Instances of* 32 × 32 *grid area size*. In this case the setting of parameters obtained is: cross probability = 0.8, population size = 26, intermediate population size = 12 and mutate probability = 0.2. In the instances, the client positions were generated following a normal distribution *N*(μ = 16, σ = 32/10), and 16 routers were to be placed in the 32 × 32 grid area to cover 48 clients.

*Instances of* 64 × 64 *grid area size*. In this case the setting of parameters obtained is: cross probability = 0.75, population size = 36, intermediate population size = 17 and mutate probability = 0.25. In the instances, the client positions were generated following a normal distribution *N*(μ = 32, σ = 64/10), and 32 routers were to be placed in the 64 × 64 grid area to cover 96 clients.

*Instances of* 128 × 128 *grid area size*. In this case the setting of parameters obtained is: cross probability = 0.8, population size = 49, intermediate population size = 24 and mutate probability = 0.2. In the instances, the client positions were generated following a normal distribution *N*(μ = 64, σ = 128/10), and 64 routers were to be placed in the 128 × 128 grid area to cover 192 clients.

### 5.3 Tuning of other parameters

The setting of the rest of the parameters is done as follows.

start_choice parameter. This parameter indicates the methods used to generate the initial population. Two individuals have been computed using StartNear and StartHotSpot (see Xhafa et al. 2009) for implementation of several ad hoc methods); the rest of individuals of the population are generated at random.

population_size and intermediate_population_size parameters. The setting of the population_size is taken of logarithmic order \(\Theta(\log_2(N)^k),\) where *N* is the total number of mesh router nodes while that of intermediate_population_size is roughly half of the population_size.

*nb_evolution_steps parameter*. This parameter indicates the number of generations performed by the algorithm. Its value is fixed according to the size of the input, namely, 5·*size*_*grid*_*x* · δ, where δ is a constant for adjusting the resulting value of number of evolutions steps.

*cross_probability and mutate_probability parameters*. These parameters have been set to *p*_{c} = 0.8 and *p*_{m} = 0.2, respectively.

### 5.4 Benchmark of instances

We have generated a benchmark consisting of 48 instances, having different sizes of grid area and using four probability distributions for the positions of mesh client nodes in the grid area. These instances aim to represent realistic-size instances.
^{1}

*I*

_{x × x_D_k, }where:

*x*stands for the height and width of the grid area, that is, the number of cells of arbitrary edge length; it takes values 32, 64 and 128.*D*stands for the distribution of the client mesh routers in the grid area; four distributions are considered: Uniform (U), Normal (N), Exponential (E) and Weibull (W).*k*is the index of the instance.

Thus, we have 16 instances for each grid size (32, 64 and 128, resp.) and within each group we have 4 instances for each distribution (Uniform, Normal, Exponential and Weibull, resp). For instance, in this notation, *I*_{64 × 64_N_3} denotes the third instance of a 64 × 64 grid area, with mesh clients nodes positions generated using Normal distribution.

Finally, notice that instances of 32 × 32 grid area consist of 16 mesh routers nodes and 48 client mesh nodes; instances of 64 × 64 grid area consist of 32 mesh routers nodes and 96 client mesh nodes; and, instances of 128 × 128 grid area consist of 64 mesh routers nodes and 192 client mesh nodes.

### 5.5 Results of GA for the benchmark

Now that we have adjusted the parameters for the three possible sizes of instances, we can run the algorithm on benchmark instances and evaluate the quality of obtained solutions with respect to the four client mesh nodes distributions.

*Computational results for instances of size*32 × 32

*grid area*. We give in Table 1 computational results for instances of benchmark of 32 × 32 grid area. In the table,

*best*indicates the best value out of 15 runs,

*avg*the average value,

*dev*the deviation, and

*ini*the initial value of the size of the giant component.

Size of giant component and user coverage values for 32 × 32 grid size instances, 16 routers nodes and 48 clients

Instance | Size of giant component | Users covered | ||||||
---|---|---|---|---|---|---|---|---|

Best | Avg | Dev | Ini | Best | Avg | Dev | Ini | |

I32 × 32_U_1 | 16 | 16 | 0 | 5 | 17 | 16 | 0.1 | 14 |

I32 × 32_U_2 | 16 | 16 | 0 | 7 | 17 | 16 | 0.1 | 9 |

I32 × 32_U_3 | 16 | 16 | 0 | 5 | 15 | 14 | 0.1 | 10 |

I32 × 32_U_4 | 16 | 16 | 0 | 5 | 15 | 14 | 0.1 | 14 |

I32 × 32_N_1 | 16 | 16 | 0 | 11 | 43 | 40 | 0.3 | 25 |

I32 × 32_N_2 | 16 | 16 | 0 | 7 | 41 | 40 | 0.1 | 21 |

I32 × 32_N_3 | 16 | 16 | 0 | 8 | 42 | 41 | 0.1 | 20 |

I32 × 32_N_4 | 16 | 16 | 0 | 6 | 39 | 38 | 0.1 | 24 |

I32 × 32_E_1 | 16 | 16 | 0 | 6 | 43 | 43 | 0 | 16 |

I32 × 32_E_2 | 16 | 16 | 0 | 6 | 22 | 18 | 0.4 | 8 |

I32 × 32_E_3 | 16 | 16 | 0 | 7 | 29 | 25 | 0.4 | 13 |

I32 × 32_E_4 | 16 | 16 | 0 | 6 | 37 | 32 | 0.5 | 10 |

I32 × 32_W_1 | 16 | 16 | 0 | 6 | 35 | 25 | 1 | 5 |

I32 × 32_W_2 | 16 | 16 | 0 | 6 | 30 | 26 | 0.4 | 14 |

I32 × 32_W_3 | 16 | 16 | 0 | 6 | 30 | 16 | 1.4 | 16 |

I32 × 32_W_4 | 16 | 16 | 0 | 6 | 31 | 25 | 0.6 | 15 |

*Computational results for instances of size*64 × 64

*grid area*. We give in Table 2 computational results for instances of benchmark of 64 × 64 grid area. Again, the GA algorithm achieved the best value for the normal distribution of client mesh nodes. The evolution of the size of the giant component obtained by GA for 64 × 64 grid area size is shown in Fig. 11.

Size of giant component and user coverage values for 64 × 64 grid size instances, 32 routers nodes and 96 clients

Instance | Size of giant component | Users covered | ||||||
---|---|---|---|---|---|---|---|---|

Best | Avg | Dev | Ini | Best | Avg | Dev | Ini | |

I64 × 64_U_1 | 32 | 32 | 0 | 6 | 11 | 8 | 0.3 | 13 |

I64 × 64_U_2 | 32 | 32 | 0 | 6 | 12 | 10 | 0.2 | 10 |

I64 × 64_U_3 | 32 | 32 | 0 | 7 | 15 | 15 | 0 | 13 |

I64 × 64_U_4 | 32 | 32 | 0 | 8 | 17 | 17 | 0 | 7 |

I64 × 64_N_1 | 32 | 32 | 0 | 5 | 64 | 44 | 2 | 24 |

I64 × 64_N_2 | 32 | 32 | 0 | 6 | 66 | 55 | 1.1 | 18 |

I64 × 64_N_3 | 32 | 31 | 0.1 | 8 | 59 | 49 | 1 | 24 |

I64 × 64_N_4 | 32 | 32 | 0 | 5 | 60 | 50 | 1 | 19 |

I64 × 64_E_1 | 32 | 31 | 0.1 | 4 | 5 | 3 | 0.2 | 24 |

I64 × 64_E_2 | 32 | 31 | 0.1 | 6 | 10 | 2 | 0.2 | 7 |

I64 × 64_E_3 | 32 | 31 | 0.1 | 6 | 10 | 10 | 0 | 16 |

I64 × 64_E_4 | 32 | 32 | 0 | 8 | 5 | 5 | 0 | 8 |

I64 × 64_W_1 | 32 | 32 | 0 | 4 | 39 | 32 | 0.7 | 22 |

I64 × 64_W_2 | 32 | 32 | 0 | 5 | 50 | 42 | 0.8 | 39 |

I64 × 64_W_3 | 32 | 32 | 0 | 8 | 10 | 10 | 0 | 2 |

I64 × 64_W_4 | 32 | 32 | 0 | 8 | 10 | 10 | 0 | 3 |

*Computational results for instances of size*128 × 128

*grid area*. We give in Table 3 computational results for instances of benchmark of 128 × 128 grid area (see Fig. 12 for the graphical representation). As can be seen from Table 3, the GA algorithm performed very well in computing the size of the giant component for all distribution of mesh client nodes. However, it performed rather poorly in computing the user coverage, especially for the case of Uniform distribution.

Size of giant component and user coverage for 128 × 128 grid size instances, 64 routers nodes and 192 clients

Instance | Size of giant component | Users covered | |||||
---|---|---|---|---|---|---|---|

Best | Avg | Dev | Ini | Best | Avg | Ini | |

I128 × 128_U_1 | 61 | 55 | 0.6 | 5 | 17 | 9 | 12 |

I128 × 128_U_2 | 59 | 55 | 0.4 | 5 | 18 | 16 | 13 |

I128 × 128_U_3 | 63 | 56 | 0.7 | 4 | 16 | 10 | 14 |

I128 × 128_U_4 | 59 | 55 | 0.4 | 4 | 16 | 13 | 11 |

I128 × 128_N_1 | 64 | 57 | 0.7 | 4 | 70 | 39 | 17 |

I128 × 128_N_2 | 62 | 58 | 0.4 | 4 | 63 | 42 | 10 |

I128 × 128_N_3 | 62 | 57 | 0.5 | 4 | 76 | 46 | 22 |

I128 × 128_N_4 | 63 | 58 | 0.5 | 4 | 70 | 46 | 20 |

I128 × 128_E_1 | 59 | 55 | 0.4 | 3 | 62 | 39 | 26 |

I128 × 128_E_2 | 60 | 54 | 0.6 | 4 | 35 | 20 | 19 |

I128 × 128_E_3 | 61 | 54 | 0.7 | 6 | 40 | 12 | 15 |

I128 × 128_E_4 | 60 | 54 | 0.6 | 6 | 44 | 24 | 17 |

I128 × 128_W_1 | 62 | 54 | 0.8 | 4 | 36 | 10 | 12 |

I128 × 128_W_2 | 58 | 53 | 0.5 | 3 | 45 | 33 | 26 |

I128 × 128_W_3 | 61 | 55 | 0.6 | 5 | 38 | 34 | 24 |

I128 × 128_W_4 | 58 | 54 | 0.4 | 4 | 52 | 44 | 18 |

### 5.6 Analysis of the results

From the computational results we can see the performance of GA for different distributions of client mesh nodes. Best performance was achieved for instances with Normal distributions of clients. In particular, we can observe that the uniform distribution causes premature convergence. On the other hand, from the results we can see that there is no deviation in the size of the giant component, actually the GA achieved almost always connectivity of all mesh router nodes; however, the deviation in the case of number of users covered is considerable. Finally, it’s worth observing that the results corresponding to the Weibull and Exponential distributions are rather similar, which is reasonable since Weibull generalizes the Exponential distribution.

## 6 Conclusions

In this work we have presented genetic algorithms (GAs) for the problem of mesh router nodes placement in wireless mesh networks (WMNs). In this problem, we are given a number of client mesh nodes a priori distributed in a grid area—arranged in small cells—and a given number of mesh router nodes are to be deployed in the cells of the grid area. We have considered the bi-objective optimization in which we want to maximize the network connectivity of the WMN (through the maximization of the size of the giant component) and that of the user coverage. In the model, the former objective is considered as primary while the later is considered secondary objective, that is, the algorithm tries to optimize first the size of giant component and then tries to maximize the number of clients covered without worsening the size of the giant component.

The analysis of experimental results showed that GA are very efficient at computing placement of mesh router nodes and almost always achieve to establish connectivity of all mesh router nodes. However, the user coverage is more sensible to the distribution of mesh client nodes in the deployment grid area. The proposed approach has practical usefulness for designing and deploying of real WMNs. In our future work we would like to evaluate the GA placement algorithm under a dynamic environment.

In the literature, instances having up to 60 mesh devices are usually considered realistic-size instances.

## Acknowledgments

Fatos Xhafa’s research work partially done at Birkbeck, University of London, on leave from Technical University of Catalonia (Barcelona, Spain). His research is supported by General Secretariat of Universities of the Ministry of Education, Spain.