Introduction

Wireless Mesh Networks (WMNs) are applicable in deployment of medical, transport and surveillance applications in urban areas, metropolitan, neighboring communities and municipal area networks. At the heart of WMNs are the issues of achieving network connectivity and stability as well as QoS in terms of user coverage. These issues are very closely related to the family of node placement problems in WMNs, such as mesh router nodes placement. Node placement problems have been long investigated in the optimization field due to numerous applications in location science (facility location, logistics, services, etc.) and classification (clustering). In such problems, we are given a number of potential facilities to serve costumers that are connected to facilities aiming to find locations such that the cost of serving all customers is minimized. In traditional versions of the problem, facilities could be hospitals, polling centers, fire stations serving to a number of clients and aiming to minimize some distance function in a metric space between clients and such facilities.

Facility location problems are thus showing their usefulness to communication networks, and more especially from WMNs field. WMNs [1],[2] are currently attracting a lot of attention from wireless research and technology community due to their importance as a means for providing cost-efficient broadband wireless connectivity. WMNs infrastructures are currently used in developing and deploying medical, transport and surveillance applications in urban areas, metropolitan, neighboring communities and municipal area networks [3]. 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 in more than one path. The path redundancy is 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. The good performance and operability of WMNs largely depends on placement of mesh routers nodes in the geographical deployment area to achieve network connectivity, stability and user coverage. The objective is to find an optimal and robust topology of the mesh router nodes to support connectivity services to clients.

For most formulations, node placement problems are shown to be computationally hard to solve to optimality [4]–[7], and therefore heuristic and meta-heuristic approaches are useful approaches to solve the problem for practical purposes. Several heuristic approaches are found in the literature for node placement problems in WMNs [8]–[12].

Genetic Algorithms (GAs) have been recently investigated as effective resolution methods. Mutation operator is one of the GA ingredients.

In this paper, we present the implemented system: Wireless Mesh Network - Genetic Algorithm (WMN-GA) system and investigate the effect of population size and number of generations in the node placement problem in WMNs considering giant component and number of covered users.

The rest of the paper is organized as follows. In Section ‘Proposed and implemented WMN-GA System’ is shown the proposed and implemented WMN-GA system. The simulation results are given in Section ‘Simulation results’. We end the paper in Section ‘Conclusions’ with conclusions.

Proposed and implemented WMN-GA System

In this section, we present WMN-GA system. Our system can generate instances of the problem using different distributions of client and mesh routers.

The GUI interface of WMN-GA is shown in Figure 1. The left site of the interface shows the GA parameters configuration and on the right side are shown the network configuration parameters.

Figure 1
figure 1

GUI tool for WMN-GA system.

For the network configuration, we use: distribution, number of clients, number of mesh routers, grid size, radious of transmission distance and the size of subgrid.

For the GA parameter configuration, we use: number of independent runs, GA evolution steps, population size, population intermediate size, crossover probability, mutation probability, initial methods, select method.

Genetic algorithms

Genetic Algorithms (GAs) [13] have shown their usefulness for the resolution of many computationally combinatorial optimization problems. For the purpose of this work we have used the template given in Algorithm 1.

Algorithm 1 Genetic Algorithm Template

We present next the particularization of GAs for the mesh router nodes placement in WMNs (see [14] for more details).

Encoding

The encoding of individuals (also known as chromosome encoding) 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, a solution (individual of the population) 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 pos_routers for positions of mesh router nodes, routers_links routers_links for link information among routers and client_router_link 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 for the solution.

It should be also noted that routers are assumed to have different radio coverage, therefore to any router could be linked to 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 both other routers and clients must be computed again and links are re-established.

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.

Random Selection: This operator chooses the individuals uniformly at random. The problem is that a simple strategy does not consider even the fitness value of individuals and this may lead to a slow convergence of the algorithm.

Best Selection: This operator selects the individuals in the population having higher fitness value. The main drawback of this operator is that by always choosing the best fitted individuals of the population, the GA converges prematurely.

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

Exponential Ranking Selection: This operator is similar to Linear Ranking but the probabilities of ranked individuals are weighted according to an exponential distribution.

Tournament Selection: This operator selects the individuals based on the result of a tournament among individuals. Usually winning solutions are the ones of better fitness value but individuals of worse fitness value could be chosen as well, contributing thus to avoiding premature convergence. Particular cases of this operator are the Binary Tournament and N-Tournament Selection, for different values of N.

Crossover operators

The crossover operator selects individuals from the parental generation and interchanging their genes, thus 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.

There exist many types of crossover operators explored in the evolutionary computing literature. It is very important to stress that crossover operators depend on the chromosome representation. This observation is especially important for the mesh router nodes problem, since in our case, instead of having strings we have a grid of nodes located in a certain positions. The crossover operator should thus take into account the specifics of mesh router nodes encoding. We have considered the following crossover operators, called intersection operators (denoted CrossRegionCrossRegion, hereafter), which take in input two individuals and produce in output two new individuals (see Algorithm 2).

Algorithm 2 Crossover Operator

Mutation operators for mesh routers nodes placement in WMNs

Mutation operator is one of the GA ingredients. Unlike crossover operators, which achieve to transmit genetic information from parents to offsprings, mutation operators usually make some small local perturbation of the individuals, having thus less impact on newly generated individuals.

Crossover is “a must” operator in GA and is usually applied with high probability, while mutation operators when implemented are applied with small probability. The rationale is that a large mutation rate would make the GA search to resemble a random search. Due to this, mutation operator is usually considered as a secondary operator.

In the case of mesh routers node placement, the matrix representation is chosen for the individuals of the population, in order to keep the information on mesh router nodes positions, mesh client positions, links among routers and links among routers and clients. The definition of the mutation operators is therefore specific to matrix-based encoding of the individuals of the population. Several specific mutation operators were considered in this study, which are move-based and swap-based operators.

SingleMutate

This is a move-based operator. It selects a mesh router node in the grid area and moves it to another cell of the grid area (see Figure 2).

Figure 2
figure 2

Single mutate operator.

RectangleMutate

This is a swap-based operator. In this version, the operator selects two “small” rectangles at random in the grid area, and swaps the mesh routers nodes in them (see Figure 3).

Figure 3
figure 3

Rectangle mutate operator.

SmallMutate

This is a move-based operator. In this case, the operator chooses randomly a router and moves it a small (a priori fixed) number of cells in one of the four directions: up, down, left or right in the grid (see Figure 4). This operator could be used a number of times to achieve the effect of SingleMutate operator.

Figure 4
figure 4

Small mutate operator.

SmallRectangleMutate

This is a move-based operator. The operator selects 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 (see Figure 5).

Figure 5
figure 5

Small rectangle mutate operator.

Simulation results

We carried out many simulations to evaluate the performance of WMNs using WMN-GA system. In this work, we consider the population size (n). We consider two parameters, m and n and the relation between them is: n 2 m , m{mZ0m12} and 1 ≤n≤4096. The grid size is considered 32×32. There are many distribution methods, but we take in consideration only the normal distribution. As selection method we used linear ranking and as mutation method we used single mutation. The crossover rate is considered 0.8 and the mutation rate 0.2.

We used box plots to analyze the range of data values. The bottom and top of the box are the 25th and 75th percentile (the lower and upper quartiles, respectively), and the band near the middle of the box is the 50th percentile (the median). The ends of the whiskers represent the minimum and maximum of all the data.

In Figure 6 is shown the size of giant component vs. population size. In this case, the number of mesh routers is considered 16. In Figure 7 is shown the number of covered users vs. population size. The number of clients is considered 48. We can see that with the increase of the population size, the size of giant component and the number of covered users is increased. The maximal number of users covered is 45 and this is reached for population size 32.

Figure 6
figure 6

Size of giant component vs. population size (16 mesh routers).

Figure 7
figure 7

Number of covered users vs. population size (48 clients).

In Figure 8 is shown calculation time vs. population size. We measured the calculation time for 48 clients. As can be seen from the graph, the computational time is high and it increases almost exponentially. However, until the population size is 512 the calculation time is very small. For this reason, we made extensive simulations for population sizes: 8 and 512 considering number of generations 200 and 20,000. In Figure 9 are shown the simulation results for population size 8 and number of generations 200. In Figure 9(a) is shown the size of giant component vs. population size. In this case, the number of mesh routers is considered 16. In Figure 9(b) is shown the number of covered users vs. population size. The number of clients is considered 48. In Figure 10, we increased the population size to 512 and the number of generations is 200. In Figure 10(a) is shown the size of giant component vs. population size and in Figure 10(b) is shown the number of covered users vs. population size.

Figure 8
figure 8

Calculation time vs. population size (48 clients).

Figure 9
figure 9

Simulation results for population size 8 and number of generations 200. (a) Size of giant component vs. number of generations (16 mesh routers). (b) Number of covered users vs. number of generations (48 clients).

Figure 10
figure 10

Simulation results for population size 512 and number of generations 200. (a) Size of giant component vs. number of generations (16 mesh routers). (b) Number of covered users vs. number of generations (48 clients).

If we compare Figure 9(a) and Figure 10(a), we can see that in both cases all 16 mesh routers are connected with each other. Comparing the results for population sizes: 8 and 512 (Figure 9(b) and Figure 10(b)), we can see that with the increase of the population size, the performance of WMN is increased and the mesh routers can cover more mesh clients.

We made other simulations by changing the number of generations to 20,000. In Figure 11 and Figure 12 are shown the simulation results for the population size 8 and 512, respectively. In both cases, the connectivity between all routers is established (see Figure 11(a) and Figure 12(a)) and the number of covered users is almost the same (see Figure 11(b) and Figure 12(b)).

Figure 11
figure 11

Simulation results for population size 8 and number of generations 20000. (a) Size of giant component vs. number of generations (16 mesh routers). (b) Number of covered users vs. number of generations (48 clients).

Figure 12
figure 12

Simulation results for population size 512 and number of generations 20000. (a) Size of giant component vs. number of generations (16 mesh routers). (b) Number of covered users vs. number of generations (48 clients).

From the results, we can see that the best results are obtained when the number of generation is 20,000. Thus, for higher number of generations and larger population size, the system has better performance.

Conclusions

In this work, we carried out simulations with WMN-GA system to see effect of changes in population size and number of generations for node placement problem in WMNs.

We considered two population sizes: 8 and 512, and for every population size the number of generations was 200 and 20,000. As evaluation metrics, we used the size of giant component and number of covered users. From the simulations we found out the following results.

• With the increase of the population size, the size of giant component and the number of covered users is increased.

• When the number of clients is 48, the computational time is high and it increases almost exponentially.

• When the number of generation is increased to 20,000, we obtained better results.

• For larger population sizes and higher number of generations the system performance is better. However, the computation time is increased.

• The computational time is highly increased with the increasing of the population size, for the same number of generations.

In the future work, we would like to evaluate the performance of WMN-GA system for different parameters and different distributions of mesh routers and clients.