1 Introduction

The wireless networks and devices are becoming increasingly popular and they provide users access to information and communication anytime and anywhere [3, 4, 6, 9, 10, 13, 15, 16, 21, 24, 26]. Wireless Mesh Networks (WMNs) are gaining a lot of attention because of their low cost nature that makes them attractive for providing wireless Internet connectivity. A WMN is dynamically self-organized and self-configured, with the nodes in the network automatically establishing and maintaining mesh connectivity among them-selves (creating, in effect, an ad hoc network). This feature brings many advantages to WMNs such as low up-front cost, easy network maintenance, robustness and reliable service coverage [1]. Moreover, such infrastructure can be used to deploy community networks, metropolitan area networks, municipal and corporative networks, and to support applications for urban areas, medical, transport and surveillance systems.

We consider the version of the mesh router nodes placement problem in which we are given a grid area where to deploy a number of mesh router nodes and a number of mesh client nodes of fixed positions (of an arbitrary distribution) in the grid area. The objective is to find a location assignment for the mesh routers to the cells of the grid area that maximizes the network connectivity and client coverage. Node placement problems are known to be computationally hard to solve [11, 12, 30]. In some previous works, intelligent algorithms have been recently investigated [5, 8, 23, 14, 19, 22].

In [20], we implemented a Particle Swarm Optimization (PSO) based simulation system, called WMN-PSO. Also, we implemented a simulation system based on Hill Climbing (HC) for solving node placement problem in WMNs, called WMN-HC [18].

In our previous work, we implemented a hybrid simulation system based on PSO and HC. We called this system WMN-PSOHC. In this paper, we analyze the performance of hybrid WMN-PSOHC system considering Constriction Method (CM) and Linearly Decreasing Inertia Weight Method (LDIWM).

The rest of the paper is organized as follows. The mesh router nodes placement problem is defined in Sect. 2. We present our designed and implemented hybrid simulation system in Sect. 3. The simulation results are given in Sect. 4. Finally, we give conclusions and future work in Sect. 5.

2 Node Placement Problem in WMNs

For this problem, we have a grid area arranged in cells we want to find where to distribute a number of mesh router nodes and a number of mesh client nodes of fixed positions (of an arbitrary distribution) in the considered area. The objective is to find a location assignment for the mesh routers to the area that maximizes the network connectivity and client coverage. Network connectivity is measured by Size of Giant Component (SGC) of the resulting WMN graph, while the user coverage is simply the number of mesh client nodes that fall within the radio coverage of at least one mesh router node and is measured by Number of Covered Mesh Clients (NCMC).

An instance of the problem consists as follows.

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

  • An area \(W\times H\) where to distribute N mesh routers. Positions of mesh routers are not pre-determined and are to be computed.

  • M client mesh nodes located in arbitrary points of the considered area, defining a matrix of clients.

It should be noted that network connectivity and user coverage are among most important metrics in WMNs and directly affect the network performance.

In this work, we have considered a bi-objective optimization in which we first maximize the network connectivity of the WMN (through the maximization of the SGC) and then, the maximization of the NCMC.

In fact, we can formalize an instance of the problem by constructing an adjacency matrix of the WMN graph, whose nodes are router nodes and client nodes and whose edges are links between nodes in the mesh network. Each mesh node in the graph is a triple \({\varvec{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 \({\varvec{u}}\) and \({\varvec{v}}\), if \({\varvec{v}}\) is within the transmission circular area of \({\varvec{u}}\).

3 Proposed and Implemented Simulation System

3.1 WMN-PSOHC Hybrid Simulation System

3.1.1 Particle Swarm Optimization

In Particle Swarm Optimization (PSO) algorithm, a number of simple entities (the particles) are placed in the search space of some problem or function and each evaluates the objective function at its current location. The objective function is often minimized and the exploration of the search space is not through evolution [17]. However, following a widespread practice of borrowing from the evolutionary computation field, in this work, we consider the bi-objective function and fitness function interchangeably. Each particle then determines its movement through the search space by combining some aspect of the history of its own current and best (best-fitness) locations with those of one or more members of the swarm, with some random perturbations. The next iteration takes place after all particles have been moved. Eventually the swarm as a whole, like a flock of birds collectively foraging for food, is likely to move close to an optimum of the fitness function.

Each individual in the particle swarm is composed of three \(\mathcal D\)-dimensional vectors, where \(\mathcal D\) is the dimensionality of the search space. These are the current position \(\vec {x}_i\), the previous best position \(\vec {p}_i\) and the velocity \(\vec {v}_i\).

The particle swarm is more than just a collection of particles. A particle by itself has almost no power to solve any problem; progress occurs only when the particles interact. Problem solving is a population-wide phenomenon, emerging from the individual behaviors of the particles through their interactions. In any case, populations are organized according to some sort of communication structure or topology, often thought of as a social network. The topology typically consists of bidirectional edges connecting pairs of particles, so that if j is in i’s neighborhood, i is also in j’s. Each particle communicates with some other particles and is affected by the best point found by any member of its topological neighborhood. This is just the vector \(\vec {p}_i\) for that best neighbor, which we will denote with \(\vec {p}_g\). The potential kinds of population “social networks” are hugely varied, but in practice certain types have been used more frequently.

In the PSO process, the velocity of each particle is iteratively adjusted so that the particle stochastically oscillates around \(\vec {p}_i\) and \(\vec {p}_g\) locations.

3.1.2 Hill Climbing

Hill Climbing (HC) algorithm is a heuristic algorithm. The idea of HC is simple. In HC, the solution \(s'\) is accepted as the new current solution if \(\delta {}\le {}0\) holds, where \(\delta {}=f(s')-f(s)\). Here, the function f is called the fitness function. The fitness function gives points to a solution so that the system can evaluate the next solution \(s'\) and the current solution s.

The most important factor in HC is to define the neighbor solution, effectively. The definition of the neighbor solution affects HC performance directly. In our WMN-PSOHC system, we use the next step of particle-pattern positions as the neighbor solutions for the HC part.

3.1.3 WMN-PSOHC System Description

In following, we present the initialization, particle-pattern, fitness function and router replacement methods.

Initialization

Our proposed system starts by generating an initial solution randomly, by ad hoc methods [31]. We decide the velocity of particles by a random process considering the area size. For instance, when the area size is \(W\times {}H\), the velocity is decided randomly from \(-\sqrt{W^{2}+H^{2}}\) to \(\sqrt{W^{2}+H^{2}}\).

Particle-Pattern

A particle is a mesh router. A fitness value of a particle-pattern is computed by combination of mesh routers and mesh clients positions. In other words, each particle-pattern is a solution as shown is Fig. 1. Therefore, the number of particle-patterns is a number of solutions.

Fitness Function

One of most important thing is to decide the determination of an appropriate objective function and its encoding. In our case, each particle-pattern has an own fitness value and compares other particle-patterns fitness value in order to share information of global solution. The fitness function follows a hierarchical approach in which the main objective is to maximize the SGC in WMN. Thus, we use \(\alpha \) and \(\beta \) weight-coefficients for the fitness function and the fitness function of this scenario is defined as:

$$\begin{aligned} \text{ Fitness }=\alpha {}\times \text{ SGC}({\varvec{x}}_{ij},{\varvec{y}}_{ij}) + \beta {} \times \text{ NCMC}({\varvec{x}}_{ij},{\varvec{y}}_{ij}). \end{aligned}$$

Router Replacement Methods

A mesh router has x, y positions and velocity. Mesh routers are moved based on velocities. There are many router replacement methods in PSO field [7, 28, 29, 27]. In this paper, we consider CM and LDIWM.

  • Constriction Method (CM)

    CM is a method which PSO parameters are set to a week stable region (\(\omega = 0.729\), \(C_1 = C2 = 1.4955\)) based on analysis of PSO by Clerc et. al. [2, 7].

  • Linearly Decreasing Inertia Weight Method (LDIWM)

    In LDIWM, \(C_1\) and \(C_2\) are set to 2.0, constantly. On the other hand, the \(\omega \) parameter is changed linearly from unstable region (\(\omega =0.9\)) to stable region (\(\omega =0.4\)) with increasing of iterations of computations [29, 25].

Fig. 1.
figure 1

Relationship among global solution, particle-patterns and mesh routers.

Fig. 2.
figure 2

System structure for web interface.

Fig. 3.
figure 3

WMN-PSOHC web GUI tool.

3.2 WMN-PSOHC Web GUI Tool

The Web application follows a standard Client-Server architecture and is implemented using LAMP (Linux + Apache + MySQL + PHP) technology (see Fig. 2). We show the WMN-PSOHC Web GUI tool in Fig. 3. Remote users (clients) submit their requests by completing first the parameter setting. The parameter values to be provided by the user are classified into three groups, as follows.

  • Parameters related to the problem instance: These include parameter values that determine a problem instance to be solved and consist of number of router nodes, number of mesh client nodes, client mesh distribution, radio coverage interval and size of the deployment area.

  • Parameters of the resolution method: Each method has its own parameters.

  • Execution parameters: These parameters are used for stopping condition of the resolution methods and include number of iterations and number of independent runs. The former is provided as a total number of iterations and depending on the method is also divided per phase (e.g., number of iterations in a exploration). The later is used to run the same configuration for the same problem instance and parameter configuration a certain number of times.

Table 1. Parameter settings.
Fig. 4.
figure 4

Simulation results of WMN-PSOHC for SGC.

Fig. 5.
figure 5

Simulation results of WMN-PSOHC for NCMC.

4 Simulation Results

In this section, we show simulation results using WMN-PSOHC system. In this work, we consider Normal distributions of mesh clients. The number of mesh routers is considered 16 and the number of mesh clients 48. The total number of iterations is considered 800 and the iterations per phase is considered 4. We consider the number of particle-patterns 9. We conducted simulations 100 times, in order to avoid the effect of randomness and create a general view of results. We show the parameter setting for WMN-PSOHC in Table 1.

We show the simulation results in Figs. 4 and 5. For SGC, both replacement methods reach the maximum (100%). However, CM converges faster than LDIWM. Also, for the NCMC, CM performs better than LDIWM. Therefore, we conclude that the performance for CM is better compared with LDIWM.

5 Conclusions

In this work, we evaluated the performance of a hybrid simulation system based on PSO and HC (called WMN-PSOHC) considering CM and LDIWM. Simulation results show that the performance is better for CM compared with LDIWM.

In our future work, we would like to evaluate the performance of the proposed system for different parameters and scenarios.