## 3 MVO Algorithm and Its Application to Solve the RNP-WMN Problem
### MVO Algorithm
for each object \(j\)do  Generate two random numbers \(rand_{1}\) and \(rand_{2}\) in [0,1] if\(rand_{1}<NI[U_{i}]\)then  Obtain \(While\_hole\_index\) by Roulette Wheel Selection operator  Update \(x_{i}^{j}\) using Equation (11) if\(rand_{2}<WEP\)then  Generate two random numbers \(rand_{3}\) and \(rand_{4}\) in [0,1]  Update \(x_{i}^{j}\) using Equation (12)
```

**Algorithm 1**The pseudo-code of the MVO algorithm

### Application of the MVO Algorithm to Solve the RNP-WMN Problem

#### 3.2.1 Solution Presentation

Each solution to the mesh routers placement problem in WMN is a set of m coordinates corresponding to \(m\) locations to place \(m\) routers. In this paper, we use an array \(X=\{x_{1},y_{1},x_{2},y_{2},\ldots,x_{m},y_{m}\}\) to represent the found solution, where the pair \((x_{i},y_{i})\) is the locations of the mesh router \(r_{i}\). For example, consider a solution obtained as in (13):

\[X=\{100,100,200,150,250,300,400,150,350,400\}, \tag{13}\]

This solution is the placement positions of five routers \(r_{1}\), \(r_{2}\), \(r_{3}\), \(r_{4}\) and \(r_{5}\) at coordinates (100, 100), (200, 150), (250, 300), (400, 150) and (350, 400), respectively. The locations of these routers are illustrated in Figure 3.

#### 3.2.2 Objective Function

In this work, we focus on optimizing two important performance metrics, namely CRR and CCR, as defined in Sections 2.2.2 and 2.2.4, respectively. To solve two maximize

Figure 3: An example of the solution presentation. objectives functions, this research combines two maximize objectives functions to minimize a single objective function by the following formula:

\[f(X)=1-(\lambda\Psi(G)+(1-\lambda)\Gamma(G)) \tag{14}\]

where \(\lambda\) is a coefficient in the range [0, 1], which is used to control the optimal degree of metrics. ## 4 Performance Evaluation by Simulation

### Simulation Scenarios

The performance of the MVO algorithm in solving the mesh router nodes placement problem is evaluated by a simulation using MATLAB. The setup of the MVO algorithm to solve this problem is presented in Table 2. The MVO algorithm is compared with the algorithms of GA [25], WOA [26] and PSO [27] in terms of user coverage, router connectivity, objective function value and coverage intensity. All experiments are performed on a Core i7 CPU 3.3 Ghz-CPU machine. Tables 3 and 4 present the simulation assumptions, with Table 3 presenting the individual parameters for each algorithm and Table 4 presenting the common parameters for all four algorithms. We set up many different scenarios for cases where the number of mesh clients and mesh routers is different. Mesh clients are randomly distributed in the simulation area. In addition, there is a gateway router placed at a given location. This is the router of the internet service provider, and it acts as the gateway for the mesh client to access the internet. To ensure the same comparison condition, the position set of mesh clients and gateway router is the same for all algorithms. Each simulation scenario is run 30 times, and we use the average results of all times presented in this section. The results presented in Figure 4 are examples of the WMN topologies obtained by applying the GA, PSO, WOA and MVO algorithms for the mesh router's node placement. In these cases, the number of mesh routers and mesh clients is 15 and 100, respectively. The circles with the center of a mesh router represent the coverage of that mesh router. The solid lines between two mesh routers or a mesh router and a mesh client indicate that these routers and clients are within the transmission area of each other. The results in Figure 4 have shown that the obtained network topology can be different depending on the optimal algorithm applied to place the mesh routers.