# Localization for Wireless Sensor Networks Assisted by Two Mobile Anchors with Improved Grey Wolf Optimizer

Authors: Huanqing Cui; Junyi Zhao; Chuanai Zhou; Na Zhang
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

Localization is crucial to wireless sensor networks. Among the recently proposed localization algorithms, the mobile anchor-assisted localization (MAL) algorithm seems promising. A MAL algorithm using a single mobile anchor has low energy consumption but a high localization error. Conversely, a MAL algorithm with three or more mobile anchors has minor localization errors but high energy consumption. By balancing energy consumption and localization accuracy, our study developed a localization algorithm assisted by two mobile anchors. A mobile anchor traverses the network along a double anchor SCAN (DASCAN) path, which divides the deployment region into grids and requires the two mobile anchors to traverse different horizontal lines in a zigzag pattern. Sensor nodes estimate their locations using a multiple-disturbance strategy grey wolf optimization (MDS-GWO) algorithm, which improves optimization by introducing a nonlinearly decreasing weight, a random perturbation of grey wolves and a mirror grey wolf. Using MATLAB, DASCAN was compared with GTURN, GSCAN, PP-MMAN, H-Curves, M-Curves, and SCAN paths by their energy consumption and localization rates. The localization error of MDS-GWO was compared with trilateration, PSO, WOA, and GWO. The impacts of radio irregularity, radio radius, and fading effect on MDS-GWO with different paths were also analyzed. The simulation results showed that the energy consumption of DASCAN was, on average, 30.1% less than GSCAN, GTURN, and PP-MMAN, but they had almost the same localization accuracy. The energy consumption of DASCAN was an average of 18.67% more than M-Curves, H-Curves, and SCAN, but the localization error of DASCAN was average of 32.3% less than SCAN, H-Curves, and M-Curves. The localization error of MDS-GWO was average of 25.5% less than trilateration, PSO, WOA, and GWO. Moreover, the performance of the proposed algorithm was less affected by different setups than the compared methods.


---

## Body

## 1. Introduction

The wireless sensor network (WSN) consists of a large amount of sensor nodes deployed in a given region of interest (ROI). It is widely applied to environmental surveys, habitat monitoring, medical diagnosis, and disaster rescue. Node localization is a key technology of WSNs. However, equipping each sensor node with a global navigation satellite system (GNSS) device is impractical due to cost and energy consumption constraints. Only a few sensor nodes, calledanchors, know their positions. Other sensor nodes, unknown nodes, are localized with the help of beacons broadcast by anchors.More anchors result in higher localization accuracy, but the anchors are more expensive than unknown nodes, so the mobile anchor-assisted localization (MAL) algorithms have attracted considerable interest. MAL algorithms require the mobile anchor to traverse the ROI along a given path and broadcast beacons periodically. The locations where the mobile anchor broadcasts beacons are calledvirtual anchors. If the MAL algorithm only uses one mobile anchor, obtaining high localization accuracy with a short path is difficult. If the MAL algorithm uses three or more mobile anchors, localization becomes more accurate, but at the cost of high energy consumption. This paper proposes a MAL algorithm that uses two mobile anchors, balancing energy consumption and localization accuracy. Our algorithm uses a double anchor scan (DASCAN) as the moving path and a multiple disturbance strategy for the grey wolf optimizer (MDS-GWO) to estimate the locations of unknown nodes. The contributions of our study are:
(1)
It presents the DASCAN path for two mobile anchors, reducing the number of beacons and path length. This allows the two anchors to scan adjacent rows of ROI simultaneously so that three neighboring virtual anchors form an equilateral triangle.(2)
It presents an improved GWO algorithm with multiple disturbance strategies to estimate the locations of unknown nodes, which can improve localization accuracy.(3)
It reports extensive experiments that compared the performance of the proposed algorithm with similar current algorithms. DASCAN was compared with GTURN, GSCAN, PP-MMAN, H-Curves, M-Curves, and SCAN paths in terms of energy consumption and localization rate. MDS-GWO was compared with trilateration, particle swarm optimization (PSO), whale optimization algorithm (WOA), and grey wolf optimizer (GWO) regarding localization errors. The impacts of radio irregularity, radio radius, and fading effect on MDS-GWO with different paths were also analyzed.The rest of this paper is organized as follows. Section2 introduces related work, and Section 3 presents the problem statements and performance metrics. Section 4 describes the proposed algorithm, including the DASCAN path and MDS-GWO algorithm. Section 5 summarizes the simulations and analysis. Section 6 concludes the paper. Table 1 lists the acronyms used in this paper and their definitions.Table 1
List of acronyms.
AcronymDefinitionWSNWireless sensor networkROIRegion of interestGNSSGlobal navigation satellite systemMALMobile-anchor-assisted localizationGWOGrey wolf optimizerDASCANDouble anchor scanMDS-GWOMultiple-disturbance strategy grey wolf optimizationSLMATMobile anchor node based on trilateration and scanSSDStatic search-and-decideDSDDynamic search-and-decidePP-MMANPath planning method for multiple mobile anchor nodesERTCEnhanced RSSI-based tree-climbing mechanismPSOParticle swarm optimizationWOAWhale optimization algorithmPIPerpendicular intersectionRMSERoot mean square errorRSSIReceived signal strength indicatorDOIDegree of irregularityCRLBCramer-Rao lower bound


## 2. Related Works

The MAL algorithm needs to define a moving trajectory for a mobile anchor, and the location algorithm to estimate the location of unknown nodes. The path-planning algorithm may be dynamic or static [1]. The dynamic form determines the path according to the distribution of unknown nodes and environments, which may not cover all unknown nodes and requires additional hardware support. The static form determines the path in advance and requires the mobile anchor to move along a given path during localization, which is cheaper than the dynamic approach. Song et al. [2] proposed a path for self-adaptive anchors based on the Gaussian–Markov model, and they applied an alternating minimization algorithm to estimate the positions of unknown nodes. However, the random path may not cover the whole ROI. SCAN, Double-SCAN, and Hilbert proposed in [3] are simple, but their parameters must be carefully designed to avoid collinearity. H-curve [4] is an H-shaped path that generates collinear beacons. SLMAT (a mobile anchor node based on trilateration and scan) [5] ensures that each unknown node is covered by an equilateral triangle formed by beacons. ∑-SCAN [6] combines SCAN and zigzag paths to achieve high localization accuracy and cover the ROI with a short path. M-curve [7] is an M-shaped path and applies dolphin optimization algorithm to localize unknown nodes, but it may not localize unknown nodes near the borders of ROI. The static search-and-decide (SSD) and dynamic search-and-decide (DSD) [8] paths are, respectively, static and dynamic, which consist of a search phase and a decision phase. In the first phase, SSD visits a subset of virtual anchors to determine the grids occupied by unknown nodes. In the decision phase, the mobile anchor revisits the grids containing unknown nodes for localization. DSD differs from SSD in the second phase: It generates anchors based on perpendicular bisectors. The localization accuracy of these MAL algorithms with a single mobile anchor is low, but they consume comparatively little energy. GSCAN and GTURN [9] use three mobile anchors. The mobile anchors in GSCAN repeatedly broadcast beacons at the same location; GTURN avoids this problem using a longer path. However, GSCAN and GTURE need to use two boundary strategies to guarantee that they can cover the whole ROI. PP-MMAN [10] also uses three mobile anchors, but it requires them to move horizontally simultaneously to overcome the drawbacks of GSCAN and GTURN. These MAL algorithms using multiple mobile anchors improve localization accuracy at the cost of high energy consumption. The enhanced RSSI-based tree-climbing mechanism (ERTC) [11] requires the mobile anchor to be equipped with both omnidirectional and directional antennae, where the omnidirectional antenna broadcasts the message and directional antennas to receive messages of sensor nodes. It identifies the trajectory of the mobile anchor with the virtual force of unknown nodes in the network, and it uses a circumcenter algorithm to localize unknown nodes. It is more complicated than the other MAL algorithms and needs additional hardware support.The location of unknown nodes can be estimated as an optimization problem. Nowadays, swarm intelligence optimization has been widely applied in localization due to its low complexity and easy implementation. H-Best PSO [12] is an improved PSO algorithm to estimate the locations of unknown nodes where the mobile anchor traverses along a Hilbert curve. Song et al. [13] proposed a localization algorithm based on glowworm swarm optimization of a hybrid chaotic strategy to control the moving distance of each firefly by chaos mutation and chaotic inertial weight when the firefly falls into a local optimum. The algorithm proposed in [14] reduces the hop distance error by leading to the average hop distance error correction value. It applies differential evolution to optimize the localization result of the unknown node. Considering the impact of obstacles, the algorithm proposed in [15] divides the anchors into multiple groups. If the anchors of a group cannot accurately localize the unknown node, the other anchors in the nearby groups are used to assist localization. In [16], WOA is applied to optimize the relationship between RSSI (received signal strength indicator) and signal transmission distance to improve localization accuracy.Because the traversal of mobile anchors forms some specific curves, the location of unknown nodes can be estimated by some geometry principles. For example, PI (perpendicular intersection) [17] is based on the perpendicular intersection principle, which utilizes the geometric relationship of a perpendicular intersection to compute the locations of unknown nodes. The algorithm proposed in [18] is based on the principle that the perpendicular bisector of a chord of a circle passes through the center of the circle, so the unknown node is localized by two chords constructed by a mobile anchor. These methods are easy to implement, but they heavily depend on the mobile anchor’s path and the density of virtual anchors.The MAL algorithm with one mobile anchor has difficulty obtaining high localization accuracy with low energy consumption, while the MAL algorithm using three or more mobile anchors has high localization accuracy but high energy consumption. To balance energy consumption and localization accuracy, this paper proposes a MAL algorithm with two mobile anchors. DASCAN produces a path that is as short as possible and provides sufficient virtual anchors to each unknown node. Compared with the other evolutionary algorithms, GWO has high optimization efficiency and is simple to implement because of fewer control parameters. MDS-GWO makes the best of these advantages and improves its ability to jump out of local optima.


## 3. Problem Statements and Performance Metrics

### 3.1. Problem Statement

A WSN consists of a set of unknown nodesUii=1,2,⋯,N randomly deployed in an ROI with height H and length L. The two mobile anchors are denoted by MA1 and MA2. Let uxi,uyi be the actual location of Ui, and ux^i,uy^i be its estimated location, denoted by U^i. The proposed algorithm applies RSSI to measure the distance between the mobile anchor and the unknown node. The RSSI-based ranging technique is based on
(1)Prd=P0d0−η10logdd0+Xσ,where Prd is the received power at distance d, P0d0 denotes the received power at reference distance d0, η is the path-loss exponent, and Xσ is a log-normal random variable with variance σ2 to account for fading.Ideally, the communication range of a sensor node is a circle with radiusR. However, signal propagation is easily affected by the environment. This paper uses the degree of irregularity (DOI) to represent communication irregularity. DOI is defined as:
(2)Ki=1i=0Ki−1±r1×DOI0<i<360,where Ki represents the DOI in the i-th direction and satisfies K0−K359≤DOI, and r1 is a random number in (0,1).Let the neighboring virtual anchors of unknown nodeUi be Vjj=1,2,⋯,Mi where Mi is the number of neighboring virtual anchors. The objective of localization is formulated as
(3)minfx,y=1Mi∑j=1Mix−vxj2+y−vyj2−dij,where vxj,vyj is the location of Vj, and dij is the measured distance between Ui and Vj. x,y is the unknown quantity to be found, and its solution is ux^i,uy^i.


### 3.2. Performance Metrics

The localization error ofUi is defined as
(4)ei=ux∧i−uxi2+uy∧i−uyi2.An unknown node in two-dimensional space can be localized only if it receives at least three noncollinear beacons. LetNloc be the number of localized unknown nodes, and LR be the localization rate, that is
(5)LR=NlocN.The average localization error is(6)e=1N∑i=1Nei.In addition, the root mean square error (RMSE) of localization error is(7)RMSE=1N∑i=1Nei2.The Cramer–Rao lower bound (CRLB) provides the lower bound on the variance of any unbiased estimator. This paper uses the CRLB introduced in [19] as the standard benchmark where η is a fixed constant. Let S=sii=1,2,⋯,N+M be the union set of unknown nodes and virtual anchors, where sii=1,2,⋯,N is the set of unknown nodes and sii=N+1,N+2,⋯,N+M is the set of virtual anchors. The real position of si is xi,yi, so xi,yi=uxi,uyi for i=1,2,⋯,N and xi,yi=vxi,vyi for i=N+1,N+2,⋯,N+M. Let x~i,y~i be the CRLB of error variance of estimating xi,yi; it is proved in [19] that
(8)x~i=Jxx−JxyJyy−1JxyTii−1,y~i=Jyy−JxyTJxx−1Jxyii−1,where
(9)Jxxij=10ησlog102∑k∈Hixi−xk2xi−xk2+yi−yk22i=j−10ησlog102IHijxi−xj2xi−xj2+yi−yj22i≠j,Jxyij=10ησlog102∑k∈Hixi−xkyi−ykxi−xk2+yi−yk22i=j−10ησlog102IHijxi−xjyi−yjxi−xj2+yi−yj22i≠j,andJyyij=10ησlog102∑k∈Hiyi−yk2xi−xk2+yi−yk22i=j−10ησlog102IHijyi−yj2xi−xj2+yi−yj22i≠j.In the abovementioned equations,Hi is the set of sensor nodes and virtual anchors that make a pairwise observation with si. IHij is defined as
(10)IHij=1ifj∈Hi0otherwise.Based on the abovementioned equations, the RMSE of localization error variance is(11)RMSECRLB=1N∑i=1Nx~i2+y~i2.The energy consumption of the mobile anchors depends on the path length and number of virtual anchors:(12)Energy=Eva×M+Elen×L,where Eva and Elen are, respectively, the energy consumption of broadcasting a virtual anchor and moving per meter; M and L are, respectively, the numbers of virtual anchors and path length.Table2 presents a list of symbols used in this paper.Table 2
Symbol list.
SymbolMeaningUii-th unknown nodeNNumber of unknown nodesMA1,MA2Two mobile anchorsuxi,uyiActual position ofUiux^i,uy^i, U^iEstimated position ofUiηPath-loss exponentσVariance of fading effectRRadio radius of sensor nodesDOIDegree of irregularityvxj,vyjPosition ofj-th virtual anchorLRLocalization rateeAverage localization errorRMSERoot mean square error of localization errorRMSECRLBRMSE of localization error varianceEvaEnergy consumption for the mobile anchor to broadcast a beaconElenEnergy consumption for the mobile anchor to move a meterMaxIterNumber of iterations of MDS-GWOlDistance between two neighboring virtual anchors horizontally


## 3.1. Problem Statement

A WSN consists of a set of unknown nodesUii=1,2,⋯,N randomly deployed in an ROI with height H and length L. The two mobile anchors are denoted by MA1 and MA2. Let uxi,uyi be the actual location of Ui, and ux^i,uy^i be its estimated location, denoted by U^i. The proposed algorithm applies RSSI to measure the distance between the mobile anchor and the unknown node. The RSSI-based ranging technique is based on
(1)Prd=P0d0−η10logdd0+Xσ,where Prd is the received power at distance d, P0d0 denotes the received power at reference distance d0, η is the path-loss exponent, and Xσ is a log-normal random variable with variance σ2 to account for fading.Ideally, the communication range of a sensor node is a circle with radiusR. However, signal propagation is easily affected by the environment. This paper uses the degree of irregularity (DOI) to represent communication irregularity. DOI is defined as:
(2)Ki=1i=0Ki−1±r1×DOI0<i<360,where Ki represents the DOI in the i-th direction and satisfies K0−K359≤DOI, and r1 is a random number in (0,1).Let the neighboring virtual anchors of unknown nodeUi be Vjj=1,2,⋯,Mi where Mi is the number of neighboring virtual anchors. The objective of localization is formulated as
(3)minfx,y=1Mi∑j=1Mix−vxj2+y−vyj2−dij,where vxj,vyj is the location of Vj, and dij is the measured distance between Ui and Vj. x,y is the unknown quantity to be found, and its solution is ux^i,uy^i.


## 3.2. Performance Metrics

The localization error ofUi is defined as
(4)ei=ux∧i−uxi2+uy∧i−uyi2.An unknown node in two-dimensional space can be localized only if it receives at least three noncollinear beacons. LetNloc be the number of localized unknown nodes, and LR be the localization rate, that is
(5)LR=NlocN.The average localization error is(6)e=1N∑i=1Nei.In addition, the root mean square error (RMSE) of localization error is(7)RMSE=1N∑i=1Nei2.The Cramer–Rao lower bound (CRLB) provides the lower bound on the variance of any unbiased estimator. This paper uses the CRLB introduced in [19] as the standard benchmark where η is a fixed constant. Let S=sii=1,2,⋯,N+M be the union set of unknown nodes and virtual anchors, where sii=1,2,⋯,N is the set of unknown nodes and sii=N+1,N+2,⋯,N+M is the set of virtual anchors. The real position of si is xi,yi, so xi,yi=uxi,uyi for i=1,2,⋯,N and xi,yi=vxi,vyi for i=N+1,N+2,⋯,N+M. Let x~i,y~i be the CRLB of error variance of estimating xi,yi; it is proved in [19] that
(8)x~i=Jxx−JxyJyy−1JxyTii−1,y~i=Jyy−JxyTJxx−1Jxyii−1,where
(9)Jxxij=10ησlog102∑k∈Hixi−xk2xi−xk2+yi−yk22i=j−10ησlog102IHijxi−xj2xi−xj2+yi−yj22i≠j,Jxyij=10ησlog102∑k∈Hixi−xkyi−ykxi−xk2+yi−yk22i=j−10ησlog102IHijxi−xjyi−yjxi−xj2+yi−yj22i≠j,andJyyij=10ησlog102∑k∈Hiyi−yk2xi−xk2+yi−yk22i=j−10ησlog102IHijyi−yj2xi−xj2+yi−yj22i≠j.In the abovementioned equations,Hi is the set of sensor nodes and virtual anchors that make a pairwise observation with si. IHij is defined as
(10)IHij=1ifj∈Hi0otherwise.Based on the abovementioned equations, the RMSE of localization error variance is(11)RMSECRLB=1N∑i=1Nx~i2+y~i2.The energy consumption of the mobile anchors depends on the path length and number of virtual anchors:(12)Energy=Eva×M+Elen×L,where Eva and Elen are, respectively, the energy consumption of broadcasting a virtual anchor and moving per meter; M and L are, respectively, the numbers of virtual anchors and path length.Table2 presents a list of symbols used in this paper.Table 2
Symbol list.
SymbolMeaningUii-th unknown nodeNNumber of unknown nodesMA1,MA2Two mobile anchorsuxi,uyiActual position ofUiux^i,uy^i, U^iEstimated position ofUiηPath-loss exponentσVariance of fading effectRRadio radius of sensor nodesDOIDegree of irregularityvxj,vyjPosition ofj-th virtual anchorLRLocalization rateeAverage localization errorRMSERoot mean square error of localization errorRMSECRLBRMSE of localization error varianceEvaEnergy consumption for the mobile anchor to broadcast a beaconElenEnergy consumption for the mobile anchor to move a meterMaxIterNumber of iterations of MDS-GWOlDistance between two neighboring virtual anchors horizontally


## 4. Proposed Methodology

### 4.1. DASCAN Path

As Figure1 shows, ROI is divided into n horizontal rows, numbered 0,1,2,⋯,n from bottom to top, and the gap between neighboring rows is h. In addition, ROI is divided into m vertical columns horizontally, numbered 0,1,2,⋯,m from left to right, and the gap between two neighboring columns is l.Figure 1
Virtual anchors in the deployment area.The virtual anchors on even and odd rows are, respectively, indicated byA and B. The bottom left point of ROI is taken as the coordinate origin, so the locations of virtual anchors are:
(1)
Ai,j=j×l,i×h, where i≤n is an even number, andj=0,1,2,⋯,m.(2)
Bi,k=k+1/2×l,i×h, where i≤n is an odd number, and k=0,1,2,⋯,m−1.Because the virtual anchors deployed as equilateral triangles can achieve better localization accuracy [9, 10], DASCAN requires ∆Ai,jAi,j+1Bi+1,j and ∆Ai,jAi,j+1Bi−1,j to be equilateral triangles, so h=3l/2. The points in Figure 1 are virtual anchors. Algorithm 1 shows the process of obtaining DASCAN, where the trajectory of the two mobile anchors is carefully designed to be as short as possible.Algorithm 1: DASCAN Path.
Input: H,L,h,l.Output: List1,List2: The lists of virtual anchors of MA1 and MA2.1.List1⟵A0,0, List2⟵B1,02.flag⟵1,i⟵0,j⟵1,k⟵03.While (i<n−1)4.Ifflag=15.List1⟵List1∪Ai,1,Ai,2,⋯,Ai,m,Bi+1,m−16.List2⟵List2∪Bi+1,0,Bi+1,1,⋯,Bi+1,m−2,Bi+1,m−2,Ai+2,m7.flag⟵28.Else ifflag=29.List1⟵List1∪Ai,m−1,Ai,m−2,⋯,Ai,0,Bi+1,010.List2⟵List2∪Bi+1,m−1,Bi+1,m−2,⋯,Bi+1,1,Bi+1,1,Ai+2,011.flag⟵112.End if13.i⟵i+214.End while15.Ifflag=116.Ifi=n17.List1⟵List1∪An,1,An,2,⋯,An,m18.Else ifi=n−119.List1⟵List1∪An−1,1,An−1,2,⋯,An−1,m20.List1⟵List1∪Bn,0,Bn,1,⋯,Bn,m−121.End if22.Else ifflag=223.Ifi=n24.List1⟵List1∪An,m−1,An,m−2,⋯,An,025.Else ifi=n−126.List1⟵List1∪An−1,m−1,An−1,m−2,⋯,An−1,027.List1⟵List1∪Bn,m−1,Bn,m−2,⋯,Bn,028.End if29.End ifIn Algorithm1, List1 and List2 are, respectively, the lists of virtual anchors to be traversed by MA1 and MA2. Lines 1 and 2 initialize the two lists and parameters. Lines 3–14 generate the two lists when i<n−1. The variable flag decides the traversal direction. MA1 and MA2 move from left to right if flag=1; they move from right to left if flag=2. Lines 15–29 decide List1 and List2 when i≥n−1. If i=n−1, MA1 traverses row n−1 and MA2 traverses row n. If i=n, MA1 traverses the top row. Moreover, the traversal direction also depends on flag.According to differentn and flag after the while (line 14), DASCAN has four types of paths, as Figure 2 shows.Figure 2
Four types of DASCAN.
(a)
n is odd, flag=2(b)
n is even, flag=1(c)
n is odd, flag=1(d)
n is even, flag=2


### 4.2. Location Estimation Using Improved GWO Algorithm

GWO has a higher optimization efficiency and is easier to implement than other evolutionary algorithms. Its main drawback is that, once it falls into a local optimum, it is difficult for the algorithm to jump out. Thus, we propose the MDS-GWO algorithm to estimate the positions of unknown nodes.


#### 4.2.1. Improved GWO Algorithm

GWO is a swarm intelligence optimization algorithm that imitates a wolf group’s hunting behavior. In GWO, the best, the second-best, and the third-best wolves are, respectively, denoted byα, β, and δ. The rest of the wolves are denoted by ω. When hunting, α directs ω to surround, hunt, and attack their prey. In addition, β and δ assist the work of α then capture the prey.The mathematical model of encircling prey is as follows:(13)D⃑=C⃑·Xp⃑t−X⃑t,andX⃑t+1=Xp⃑t−A⃑·D⃑,where t is the current iteration number, Xp⃑ is the position vector of prey, and X⃑ is the position vector of a grey wolf. The coefficient vectors A⃑ and C⃑ are
(14)A⃑=2a⃑·r2⃑−a⃑,and(15)C⃑=2r3⃑,where r2⃑ and r3⃑ are random vectors in (0,1), and each element of a⃑ is
(16)a=21−tMaxIter,where MaxIter is the maximum iteration number.The mathematical model of hunting prey is as follows:(17)Dα⃑=C1⃑·Xα⃑−X⃑,Dβ⃑=C2⃑·Xβ⃑−X⃑,Dδ⃑=C3⃑·Xδ⃑−X⃑,(18)X1⃑=Xα⃑−A1⃑·Dα⃑,X2⃑=Xβ⃑−A2⃑·Dβ⃑,X3⃑=Xδ⃑−A3⃑·Dδ⃑,and(19)X⃑t+1=X1⃑+X2⃑+X3⃑3,where Xα⃑, Xβ⃑, and Xδ⃑, respectively, represent the position vectors of α, β, and δ in the current iteration; Dα⃑, Dβ⃑, and Dδ⃑ are the distances between the current grey wolf and the three best wolves.Inspired by [20, 21], this paper introduces multiple disturbance strategies into GWO to conquer the drawback of GWO, and this improved GWO algorithm is referred to as MDS-GWO. The improvements are:
(1)
Nonlinear decrease ofa. The convergence speed of the GWO algorithm depends on the speed at which a decreases from 2 to 0. Using Equation (16), a decreases at the same speed, which cannot balance the global and local search, so this paper updates a by
(20)a=2tMaxIter2−2tMaxIter+1.Based on Equation (20), a decreases quickly in the early stage to make GWO converge fast, and a decreases slowly later to improve the ability of global search while preventing GWO from falling into a local optimum.
(2)
Random perturbation. Furthermore, random perturbation is introduced to GWO to enhance the ability of global search. For each wolf of ω, a new individual is introduced as(21)Y⃑t+1=ub⃑−r4ub⃑−lb⃑,where ub⃑ and lb⃑ are, respectively, the upper and lower bounds of the search space, and r4 is a random number in [0,1], so the grey wolf is updated as
(22)X⃑t+1=Y⃑t+1iffY⃑t+1<fX⃑t+1X⃑t+1otherwise,where fY⃑t+1 and fX⃑t+1 are the fitness values of Y⃑andX⃑, respectively.
(3)
Mirror grey wolf. When a grey wolf surrounds the prey, a mirror wolf is produced at a position symmetrical to the prey, which is:(23)Z⃑t+1=X⃑t+2r5⃑∙Xα⃑−r6⃑∙X⃑t,where Z⃑ is the position of the mirror wolf, and r5⃑ and r6⃑ are random vectors in [0,1]. The grey wolf is updated as
(24)X⃑t+1=Z⃑t+1iffZ⃑t+1<fX⃑t+1X⃑t+1otherwise.Finally, the grey wolf is updated according to the value ofP, defined by
(25)P=w+r72−w,where 0<w<2 is a predefined constant, and r7 is a random number in [0,1]. In each iteration, if a>P>w, the grey wolf has a 50% chance to update its position using Equation (22); If P≥a>w, the grey wolf has a 50% chance to update its position using Equation (24). In other cases, the grey wolf updates its position using Equation (19).


#### 4.2.2. Location Estimation Using MDS-GWO

The virtual anchors of DASCAN form equilateral triangles, so the neighboring virtual anchors of an unknown node are likely to form equilateral triangles. Therefore, an unknown node can choose three neighboring virtual anchors forming an equilateral triangle to get an initial estimation. The location estimation of unknown nodeUi consists of three steps:
(1)
Use an RSSI-weighted centroid algorithm to estimate the approximate locationux^i′,uy^i′(2)
Determine the search spaceSPi of MDS-GWO for Ui according to ux^i′,uy^i′(3)
Use MDS-GWO to estimate the coordinatesux^i,uy^i of UiEach unknown nodeUi maintains a virtual anchor list, Li, which contains the locations and RSSIs of neighboring virtual anchors. The virtual anchors with the first- and second-largest RSSIs are, respectively, denoted by Vi1, and Vi2. If a virtual anchor in Li can form an equilateral triangle with Vi1 and Vi2, it is chosen as Vi3. Otherwise, the virtual anchor with the third-largest RSSI is chosen as Vi3. ux^i′,uy^i′ is calculated as
(26)ux^i′,uy^i′=∑j=13ωijvxij,vyij∑j=13ωij,where ωij=RSSIij. The search space is ux^i′−l,ux^i′+l×uy^i′−l,uy^i′+l.Algorithm2 presents the details of MDS-GWO-based location estimation. Note that this algorithm is run by each unknown node simultaneously.Algorithm 2: Location estimation of Ui.
Input: Li, MaxIter, wOutput: ux^i,uy^i1.Vi1⟵the virtual anchor with the largest RSSI in Li2.Vi2⟵the virtual anchor with the second-largest RSSI in Li3.If (∃V∈Li satisfying △Vi1Vi2V is an equilateral triangle)4.Vi3⟵V5.Else6.Vi3⟵the virtual anchor with the third-largest RSSI in Li7.End if8.  Getux^i′,uy^i′ by eq. (26)9.SPi⟵ux^i′−l,ux^i′+l×uy^i′−l,uy^i′+l10.  Initialize a grey wolf population inSPi11.  InitializeA⃑, C⃑, a and P by Eq. (14), Eq. (15), Eq. (20), and Eq. (25)12.  Calculate the fitness of each wolf by Eq. (3)13.α⟵the best wolf14.β⟵the second-best wolf15.δ⟵the third-best wolf16.t⟵017.Whilet<MaxIter18.For each wolfX19.    GetXt+1 by Eq. (19)20.r8⟵a random number in [0,1]21.Ifa>P>w∧r8≥0.522.     GetYt+1 by Eq. (21)23.     Get the finalXt+1 by Eq. (22)24.Else ifP≥a>w∧r8≥0.525.     GetZt+1 by Eq. (23)26.     Get the finalXt+1 by Eq. (24)27.End if28.End for29.   UpdateA⃑, C⃑, a and P by Eq. (14), Eq. (15), Eq. (20), and Eq. (25)30.   Calculate the fitness of each wolf by Eq. (3)31.   Updateα, β, and δ32.t⟵t+133.End while34.Returnux^i,uy^i⟵X⃑αIn this algorithm, lines 1–7 got three virtual anchorsVi1, Vi2, and Vi3, and lines 8 and 9 decided the search space based on these three virtual anchors. Lines 10–16 initialize the wolf population and necessary parameters of MDS-GWO, and lines 17–33 are the main process of location estimation by MDS-GWO. When it has not reached MaxIter, lines 18–28 update each grey wolf according to different conditions, and lines 29–32 update the parameters necessary to prepare for the next iteration. Finally, line 34 returns the position of wolf α as the estimated location of unknown node Ui.


## 4.1. DASCAN Path

As Figure1 shows, ROI is divided into n horizontal rows, numbered 0,1,2,⋯,n from bottom to top, and the gap between neighboring rows is h. In addition, ROI is divided into m vertical columns horizontally, numbered 0,1,2,⋯,m from left to right, and the gap between two neighboring columns is l.Figure 1
Virtual anchors in the deployment area.The virtual anchors on even and odd rows are, respectively, indicated byA and B. The bottom left point of ROI is taken as the coordinate origin, so the locations of virtual anchors are:
(1)
Ai,j=j×l,i×h, where i≤n is an even number, andj=0,1,2,⋯,m.(2)
Bi,k=k+1/2×l,i×h, where i≤n is an odd number, and k=0,1,2,⋯,m−1.Because the virtual anchors deployed as equilateral triangles can achieve better localization accuracy [9, 10], DASCAN requires ∆Ai,jAi,j+1Bi+1,j and ∆Ai,jAi,j+1Bi−1,j to be equilateral triangles, so h=3l/2. The points in Figure 1 are virtual anchors. Algorithm 1 shows the process of obtaining DASCAN, where the trajectory of the two mobile anchors is carefully designed to be as short as possible.Algorithm 1: DASCAN Path.
Input: H,L,h,l.Output: List1,List2: The lists of virtual anchors of MA1 and MA2.1.List1⟵A0,0, List2⟵B1,02.flag⟵1,i⟵0,j⟵1,k⟵03.While (i<n−1)4.Ifflag=15.List1⟵List1∪Ai,1,Ai,2,⋯,Ai,m,Bi+1,m−16.List2⟵List2∪Bi+1,0,Bi+1,1,⋯,Bi+1,m−2,Bi+1,m−2,Ai+2,m7.flag⟵28.Else ifflag=29.List1⟵List1∪Ai,m−1,Ai,m−2,⋯,Ai,0,Bi+1,010.List2⟵List2∪Bi+1,m−1,Bi+1,m−2,⋯,Bi+1,1,Bi+1,1,Ai+2,011.flag⟵112.End if13.i⟵i+214.End while15.Ifflag=116.Ifi=n17.List1⟵List1∪An,1,An,2,⋯,An,m18.Else ifi=n−119.List1⟵List1∪An−1,1,An−1,2,⋯,An−1,m20.List1⟵List1∪Bn,0,Bn,1,⋯,Bn,m−121.End if22.Else ifflag=223.Ifi=n24.List1⟵List1∪An,m−1,An,m−2,⋯,An,025.Else ifi=n−126.List1⟵List1∪An−1,m−1,An−1,m−2,⋯,An−1,027.List1⟵List1∪Bn,m−1,Bn,m−2,⋯,Bn,028.End if29.End ifIn Algorithm1, List1 and List2 are, respectively, the lists of virtual anchors to be traversed by MA1 and MA2. Lines 1 and 2 initialize the two lists and parameters. Lines 3–14 generate the two lists when i<n−1. The variable flag decides the traversal direction. MA1 and MA2 move from left to right if flag=1; they move from right to left if flag=2. Lines 15–29 decide List1 and List2 when i≥n−1. If i=n−1, MA1 traverses row n−1 and MA2 traverses row n. If i=n, MA1 traverses the top row. Moreover, the traversal direction also depends on flag.According to differentn and flag after the while (line 14), DASCAN has four types of paths, as Figure 2 shows.Figure 2
Four types of DASCAN.
(a)
n is odd, flag=2(b)
n is even, flag=1(c)
n is odd, flag=1(d)
n is even, flag=2


## 4.2. Location Estimation Using Improved GWO Algorithm

GWO has a higher optimization efficiency and is easier to implement than other evolutionary algorithms. Its main drawback is that, once it falls into a local optimum, it is difficult for the algorithm to jump out. Thus, we propose the MDS-GWO algorithm to estimate the positions of unknown nodes.


### 4.2.1. Improved GWO Algorithm

GWO is a swarm intelligence optimization algorithm that imitates a wolf group’s hunting behavior. In GWO, the best, the second-best, and the third-best wolves are, respectively, denoted byα, β, and δ. The rest of the wolves are denoted by ω. When hunting, α directs ω to surround, hunt, and attack their prey. In addition, β and δ assist the work of α then capture the prey.The mathematical model of encircling prey is as follows:(13)D⃑=C⃑·Xp⃑t−X⃑t,andX⃑t+1=Xp⃑t−A⃑·D⃑,where t is the current iteration number, Xp⃑ is the position vector of prey, and X⃑ is the position vector of a grey wolf. The coefficient vectors A⃑ and C⃑ are
(14)A⃑=2a⃑·r2⃑−a⃑,and(15)C⃑=2r3⃑,where r2⃑ and r3⃑ are random vectors in (0,1), and each element of a⃑ is
(16)a=21−tMaxIter,where MaxIter is the maximum iteration number.The mathematical model of hunting prey is as follows:(17)Dα⃑=C1⃑·Xα⃑−X⃑,Dβ⃑=C2⃑·Xβ⃑−X⃑,Dδ⃑=C3⃑·Xδ⃑−X⃑,(18)X1⃑=Xα⃑−A1⃑·Dα⃑,X2⃑=Xβ⃑−A2⃑·Dβ⃑,X3⃑=Xδ⃑−A3⃑·Dδ⃑,and(19)X⃑t+1=X1⃑+X2⃑+X3⃑3,where Xα⃑, Xβ⃑, and Xδ⃑, respectively, represent the position vectors of α, β, and δ in the current iteration; Dα⃑, Dβ⃑, and Dδ⃑ are the distances between the current grey wolf and the three best wolves.Inspired by [20, 21], this paper introduces multiple disturbance strategies into GWO to conquer the drawback of GWO, and this improved GWO algorithm is referred to as MDS-GWO. The improvements are:
(1)
Nonlinear decrease ofa. The convergence speed of the GWO algorithm depends on the speed at which a decreases from 2 to 0. Using Equation (16), a decreases at the same speed, which cannot balance the global and local search, so this paper updates a by
(20)a=2tMaxIter2−2tMaxIter+1.Based on Equation (20), a decreases quickly in the early stage to make GWO converge fast, and a decreases slowly later to improve the ability of global search while preventing GWO from falling into a local optimum.
(2)
Random perturbation. Furthermore, random perturbation is introduced to GWO to enhance the ability of global search. For each wolf of ω, a new individual is introduced as(21)Y⃑t+1=ub⃑−r4ub⃑−lb⃑,where ub⃑ and lb⃑ are, respectively, the upper and lower bounds of the search space, and r4 is a random number in [0,1], so the grey wolf is updated as
(22)X⃑t+1=Y⃑t+1iffY⃑t+1<fX⃑t+1X⃑t+1otherwise,where fY⃑t+1 and fX⃑t+1 are the fitness values of Y⃑andX⃑, respectively.
(3)
Mirror grey wolf. When a grey wolf surrounds the prey, a mirror wolf is produced at a position symmetrical to the prey, which is:(23)Z⃑t+1=X⃑t+2r5⃑∙Xα⃑−r6⃑∙X⃑t,where Z⃑ is the position of the mirror wolf, and r5⃑ and r6⃑ are random vectors in [0,1]. The grey wolf is updated as
(24)X⃑t+1=Z⃑t+1iffZ⃑t+1<fX⃑t+1X⃑t+1otherwise.Finally, the grey wolf is updated according to the value ofP, defined by
(25)P=w+r72−w,where 0<w<2 is a predefined constant, and r7 is a random number in [0,1]. In each iteration, if a>P>w, the grey wolf has a 50% chance to update its position using Equation (22); If P≥a>w, the grey wolf has a 50% chance to update its position using Equation (24). In other cases, the grey wolf updates its position using Equation (19).


### 4.2.2. Location Estimation Using MDS-GWO

The virtual anchors of DASCAN form equilateral triangles, so the neighboring virtual anchors of an unknown node are likely to form equilateral triangles. Therefore, an unknown node can choose three neighboring virtual anchors forming an equilateral triangle to get an initial estimation. The location estimation of unknown nodeUi consists of three steps:
(1)
Use an RSSI-weighted centroid algorithm to estimate the approximate locationux^i′,uy^i′(2)
Determine the search spaceSPi of MDS-GWO for Ui according to ux^i′,uy^i′(3)
Use MDS-GWO to estimate the coordinatesux^i,uy^i of UiEach unknown nodeUi maintains a virtual anchor list, Li, which contains the locations and RSSIs of neighboring virtual anchors. The virtual anchors with the first- and second-largest RSSIs are, respectively, denoted by Vi1, and Vi2. If a virtual anchor in Li can form an equilateral triangle with Vi1 and Vi2, it is chosen as Vi3. Otherwise, the virtual anchor with the third-largest RSSI is chosen as Vi3. ux^i′,uy^i′ is calculated as
(26)ux^i′,uy^i′=∑j=13ωijvxij,vyij∑j=13ωij,where ωij=RSSIij. The search space is ux^i′−l,ux^i′+l×uy^i′−l,uy^i′+l.Algorithm2 presents the details of MDS-GWO-based location estimation. Note that this algorithm is run by each unknown node simultaneously.Algorithm 2: Location estimation of Ui.
Input: Li, MaxIter, wOutput: ux^i,uy^i1.Vi1⟵the virtual anchor with the largest RSSI in Li2.Vi2⟵the virtual anchor with the second-largest RSSI in Li3.If (∃V∈Li satisfying △Vi1Vi2V is an equilateral triangle)4.Vi3⟵V5.Else6.Vi3⟵the virtual anchor with the third-largest RSSI in Li7.End if8.  Getux^i′,uy^i′ by eq. (26)9.SPi⟵ux^i′−l,ux^i′+l×uy^i′−l,uy^i′+l10.  Initialize a grey wolf population inSPi11.  InitializeA⃑, C⃑, a and P by Eq. (14), Eq. (15), Eq. (20), and Eq. (25)12.  Calculate the fitness of each wolf by Eq. (3)13.α⟵the best wolf14.β⟵the second-best wolf15.δ⟵the third-best wolf16.t⟵017.Whilet<MaxIter18.For each wolfX19.    GetXt+1 by Eq. (19)20.r8⟵a random number in [0,1]21.Ifa>P>w∧r8≥0.522.     GetYt+1 by Eq. (21)23.     Get the finalXt+1 by Eq. (22)24.Else ifP≥a>w∧r8≥0.525.     GetZt+1 by Eq. (23)26.     Get the finalXt+1 by Eq. (24)27.End if28.End for29.   UpdateA⃑, C⃑, a and P by Eq. (14), Eq. (15), Eq. (20), and Eq. (25)30.   Calculate the fitness of each wolf by Eq. (3)31.   Updateα, β, and δ32.t⟵t+133.End while34.Returnux^i,uy^i⟵X⃑αIn this algorithm, lines 1–7 got three virtual anchorsVi1, Vi2, and Vi3, and lines 8 and 9 decided the search space based on these three virtual anchors. Lines 10–16 initialize the wolf population and necessary parameters of MDS-GWO, and lines 17–33 are the main process of location estimation by MDS-GWO. When it has not reached MaxIter, lines 18–28 update each grey wolf according to different conditions, and lines 29–32 update the parameters necessary to prepare for the next iteration. Finally, line 34 returns the position of wolf α as the estimated location of unknown node Ui.


## 4.2.1. Improved GWO Algorithm

GWO is a swarm intelligence optimization algorithm that imitates a wolf group’s hunting behavior. In GWO, the best, the second-best, and the third-best wolves are, respectively, denoted byα, β, and δ. The rest of the wolves are denoted by ω. When hunting, α directs ω to surround, hunt, and attack their prey. In addition, β and δ assist the work of α then capture the prey.The mathematical model of encircling prey is as follows:(13)D⃑=C⃑·Xp⃑t−X⃑t,andX⃑t+1=Xp⃑t−A⃑·D⃑,where t is the current iteration number, Xp⃑ is the position vector of prey, and X⃑ is the position vector of a grey wolf. The coefficient vectors A⃑ and C⃑ are
(14)A⃑=2a⃑·r2⃑−a⃑,and(15)C⃑=2r3⃑,where r2⃑ and r3⃑ are random vectors in (0,1), and each element of a⃑ is
(16)a=21−tMaxIter,where MaxIter is the maximum iteration number.The mathematical model of hunting prey is as follows:(17)Dα⃑=C1⃑·Xα⃑−X⃑,Dβ⃑=C2⃑·Xβ⃑−X⃑,Dδ⃑=C3⃑·Xδ⃑−X⃑,(18)X1⃑=Xα⃑−A1⃑·Dα⃑,X2⃑=Xβ⃑−A2⃑·Dβ⃑,X3⃑=Xδ⃑−A3⃑·Dδ⃑,and(19)X⃑t+1=X1⃑+X2⃑+X3⃑3,where Xα⃑, Xβ⃑, and Xδ⃑, respectively, represent the position vectors of α, β, and δ in the current iteration; Dα⃑, Dβ⃑, and Dδ⃑ are the distances between the current grey wolf and the three best wolves.Inspired by [20, 21], this paper introduces multiple disturbance strategies into GWO to conquer the drawback of GWO, and this improved GWO algorithm is referred to as MDS-GWO. The improvements are:
(1)
Nonlinear decrease ofa. The convergence speed of the GWO algorithm depends on the speed at which a decreases from 2 to 0. Using Equation (16), a decreases at the same speed, which cannot balance the global and local search, so this paper updates a by
(20)a=2tMaxIter2−2tMaxIter+1.Based on Equation (20), a decreases quickly in the early stage to make GWO converge fast, and a decreases slowly later to improve the ability of global search while preventing GWO from falling into a local optimum.
(2)
Random perturbation. Furthermore, random perturbation is introduced to GWO to enhance the ability of global search. For each wolf of ω, a new individual is introduced as(21)Y⃑t+1=ub⃑−r4ub⃑−lb⃑,where ub⃑ and lb⃑ are, respectively, the upper and lower bounds of the search space, and r4 is a random number in [0,1], so the grey wolf is updated as
(22)X⃑t+1=Y⃑t+1iffY⃑t+1<fX⃑t+1X⃑t+1otherwise,where fY⃑t+1 and fX⃑t+1 are the fitness values of Y⃑andX⃑, respectively.
(3)
Mirror grey wolf. When a grey wolf surrounds the prey, a mirror wolf is produced at a position symmetrical to the prey, which is:(23)Z⃑t+1=X⃑t+2r5⃑∙Xα⃑−r6⃑∙X⃑t,where Z⃑ is the position of the mirror wolf, and r5⃑ and r6⃑ are random vectors in [0,1]. The grey wolf is updated as
(24)X⃑t+1=Z⃑t+1iffZ⃑t+1<fX⃑t+1X⃑t+1otherwise.Finally, the grey wolf is updated according to the value ofP, defined by
(25)P=w+r72−w,where 0<w<2 is a predefined constant, and r7 is a random number in [0,1]. In each iteration, if a>P>w, the grey wolf has a 50% chance to update its position using Equation (22); If P≥a>w, the grey wolf has a 50% chance to update its position using Equation (24). In other cases, the grey wolf updates its position using Equation (19).


## 4.2.2. Location Estimation Using MDS-GWO

The virtual anchors of DASCAN form equilateral triangles, so the neighboring virtual anchors of an unknown node are likely to form equilateral triangles. Therefore, an unknown node can choose three neighboring virtual anchors forming an equilateral triangle to get an initial estimation. The location estimation of unknown nodeUi consists of three steps:
(1)
Use an RSSI-weighted centroid algorithm to estimate the approximate locationux^i′,uy^i′(2)
Determine the search spaceSPi of MDS-GWO for Ui according to ux^i′,uy^i′(3)
Use MDS-GWO to estimate the coordinatesux^i,uy^i of UiEach unknown nodeUi maintains a virtual anchor list, Li, which contains the locations and RSSIs of neighboring virtual anchors. The virtual anchors with the first- and second-largest RSSIs are, respectively, denoted by Vi1, and Vi2. If a virtual anchor in Li can form an equilateral triangle with Vi1 and Vi2, it is chosen as Vi3. Otherwise, the virtual anchor with the third-largest RSSI is chosen as Vi3. ux^i′,uy^i′ is calculated as
(26)ux^i′,uy^i′=∑j=13ωijvxij,vyij∑j=13ωij,where ωij=RSSIij. The search space is ux^i′−l,ux^i′+l×uy^i′−l,uy^i′+l.Algorithm2 presents the details of MDS-GWO-based location estimation. Note that this algorithm is run by each unknown node simultaneously.Algorithm 2: Location estimation of Ui.
Input: Li, MaxIter, wOutput: ux^i,uy^i1.Vi1⟵the virtual anchor with the largest RSSI in Li2.Vi2⟵the virtual anchor with the second-largest RSSI in Li3.If (∃V∈Li satisfying △Vi1Vi2V is an equilateral triangle)4.Vi3⟵V5.Else6.Vi3⟵the virtual anchor with the third-largest RSSI in Li7.End if8.  Getux^i′,uy^i′ by eq. (26)9.SPi⟵ux^i′−l,ux^i′+l×uy^i′−l,uy^i′+l10.  Initialize a grey wolf population inSPi11.  InitializeA⃑, C⃑, a and P by Eq. (14), Eq. (15), Eq. (20), and Eq. (25)12.  Calculate the fitness of each wolf by Eq. (3)13.α⟵the best wolf14.β⟵the second-best wolf15.δ⟵the third-best wolf16.t⟵017.Whilet<MaxIter18.For each wolfX19.    GetXt+1 by Eq. (19)20.r8⟵a random number in [0,1]21.Ifa>P>w∧r8≥0.522.     GetYt+1 by Eq. (21)23.     Get the finalXt+1 by Eq. (22)24.Else ifP≥a>w∧r8≥0.525.     GetZt+1 by Eq. (23)26.     Get the finalXt+1 by Eq. (24)27.End if28.End for29.   UpdateA⃑, C⃑, a and P by Eq. (14), Eq. (15), Eq. (20), and Eq. (25)30.   Calculate the fitness of each wolf by Eq. (3)31.   Updateα, β, and δ32.t⟵t+133.End while34.Returnux^i,uy^i⟵X⃑αIn this algorithm, lines 1–7 got three virtual anchorsVi1, Vi2, and Vi3, and lines 8 and 9 decided the search space based on these three virtual anchors. Lines 10–16 initialize the wolf population and necessary parameters of MDS-GWO, and lines 17–33 are the main process of location estimation by MDS-GWO. When it has not reached MaxIter, lines 18–28 update each grey wolf according to different conditions, and lines 29–32 update the parameters necessary to prepare for the next iteration. Finally, line 34 returns the position of wolf α as the estimated location of unknown node Ui.


## 5. Results and Discussion

This section reports the performance of the proposed algorithm compared with the other algorithms. It also presents the impact of parameters on localization performance in terms of energy consumption, localization rate, and localization error. The simulation parameters are shown in Table3. The other parameters are the same as in the corresponding references.Table 3
Simulation parameters.
ParameterValueH, L100 mN100Eva1.4 JElen0.2 Jη3.5MaxIter100Number of particles of each optimization algorithm50l10 to 25 m in 5 m stepsR0.8 l to 1.4 l in 0.2 l stepsDOI0.05 to 0.2 in 0.05 stepsσ4


### 5.1. Comparisons of Different Paths

This section compares the different paths of mobile anchors of GTURN, GSCAN, PP-MMAN, H-Curves, M-Curves, SCAN, and DASCAN.(1)
Energy Consumption of Mobile Anchors. The energy consumption of a mobile anchor depends on the path length and the number of virtual anchors. Figure 3 presents the lengths of all paths, which become shorter as l increases. On average, GTURN is the longest path, followed by GSCAN, PP-MMAN, DASCAN, H-Curves, M-Curves, and SCAN. GTURN, GSCAN, and PP-MMAN use three mobile anchors, which are longer than the other paths. DASCAN is shorter than the other multianchor paths and longer than one-anchor paths. On average, DASCAN is 53%, 36.5%, and 14% shorter than GTURN, GSCAN, and PP-MMAN, respectively; it is 14%, 15.5%, and 34% longer than M-Curves, H-Curves, and SCAN, respectively.Figure 3
Path lengths EZoIZm.DASCAN uses two mobile anchors with a carefully designed path, while GSCAN, GTURN, and PP-MMAN use three mobile anchors and boundary compensations, so DASCAN is shorter than GSCAN, GTURN, and PP-MMAN. By contrast, M-Curves, H-Curves, and SCAN use a single mobile anchor to traverse the ROI without repeated scans, so they are shorter than DASCAN.Figure4 shows the number of virtual anchors. All paths generate fewer virtual anchors as l increases. Generally, GSCAN generates the most virtual anchors, followed by GTURN, PP-MMAN, DASCAN, M-Curves, H-Curves, and SCAN. The three mobile anchors of GSCAN repeatedly broadcast beacons at the same locations, and GSCAN provides the second-longest path, so it has the most virtual anchors. However, SCAN traverses the ROI along straight lines, and its path is the shortest, so it has the fewest virtual anchors. The proposed DASCAN has fewer virtual anchors than the other multianchor paths and more virtual anchors than one-anchor paths. The number of virtual anchors of DASCAN is, respectively, 11% and 53% fewer than GTURN and GSCAN, and it is, respectively, 12.3% and 32% more than H-Curves and SCAN. The number of virtual anchors of DASCAN is slightly less than PP-MMAN and slightly more than M-Curves.Figure 4
Number of virtual anchors.The boundary compensation methods of GSCAN, GTURN, and PP-MMAN require these paths to generate more virtual anchors, so GSCAN has redundant virtual anchors. By contrast, DASCAN has no duplicate virtual anchors or boundary compensation, so it has fewer virtual anchors than GSCAN, GTURN, and PP-MMAN. SCAN traverses ROI with straight lines and generates virtual anchors periodically, while H-Curve and M-Curve generate virtual anchors at each turn of the path. DASCAN makes slightly more turns than M-Curve, so it has more virtual anchors than SCAN, H-Curve, and M-Curve.Figure5 shows the energy consumptions. GSCAN consumes the most energy, followed by GTURN, PP-MMAN, DASCAN, M-Curves, H-Curves, and SCAN. Since GSCAN and GTURN are the longest paths and have the most virtual anchors, they consume the most energy. DASCAN consumes less energy than the other multianchor paths and consumes more energy than one-anchor paths. On average, the energy consumption of DASCAN is, respectively, 42.2%, 38.8%, and 9.3% less than GSCAN, GTURN, and PP-MMAN, and 9%, 14%, and 33% more than M-Curves, H-Curves, and SCAN.Figure 5
Energy consumption.Although DASCAN consumes less energy than GTURN, GSCAN, and PP-MMAN, their localization rates and error levels are almost identical. The localization rate and accuracy of DASCAN are higher than H-Curves, M-Curves, and SCAN, although it consumes more energy.(2)
Localization Rates. In this section, l=15 m. As Figure 6 shows, the localization rates of all paths decrease as DOI increases because the larger DOI causes the unknown nodes to receive fewer virtual anchors. The localization rates of all paths increase as R increases because a larger R causes the unknown node to receive more virtual anchors.Figure 6
Localization rates.GSCAN, GTURN, PP-MMAN, and DASCAN use multiple anchors, and each anchor has a radio range, so they are less affected by DOI than other paths using a single mobile anchor. The average localization rate differences of DASCAN, GSCAN, GTURN, and PP-MMAN are less than 2%, and their average localization rates are higher than H-Curves, M-Curves, and SCAN. WhenR=l, the average difference in GSCAN, GTURN, PP-MMAN, and DASCAN is only 0.56%, but the average localization rate of DASCAN is, respectively, 13%, 38.3%, and 43.4% higher than M-Curves, H-Curves, and SCAN.


### 5.2. Comparisons of Location Estimation Algorithms

This section compares the location estimation algorithms in terms of the localization error. These algorithms, with different paths, included trilateration, PSO, WOA, GWO, and MDS-GWO. In this section,R=1.2l and DOI=0.05 are used. The average localization error over all lis shown in Table 4. Figure 7 shows the results for different l values.Table 4
Localization errors of location estimation algorithms (Unit: m).
TrilaterationPSOWOAGWOMDS-GWOGTURN0.2300.2130.1930.1890.161GSCAN0.2330.2160.1880.1790.161PP-MMAN0.2390.2210.1890.1810.162H-curves0.2660.2500.2130.2020.186M-curves0.2460.2190.1960.1870.176SCAN0.3700.3500.3290.3060.273DASCAN0.2320.2150.1870.1800.160Figure 7
Localization errors of different location estimation algorithms.
(a)
GWO(b)
PSO(c)
Trilateration(d)
WOA(e)
MDS-GWOThe localization errors of trilateration and PSO were the two largest. Those of GWO and WOA were the same. With each path, MDS-GWO achieved the highest localization accuracy. In all cases, trilateration with SCAN had the lowest localization accuracy. The localization errors of MDS-GWO with GTURN, GSCAN, PP-MMAN, and DASCAN were almost identical and smaller than MDS-GWO with the other paths. Considering all paths, the average localization errors of trilateration, PSO, WOA, GWO, and MDS-GWO were, respectively, 0.259, 0.240, 0.213, 0.202, and 0.183 m. The localization error of MDS-GWO was, respectively, 42%, 31.7%, 16.9%, and 11.4% less than trilateration, PSO, WOA, and GWO. Considering MDS-GWO with different paths, the localization accuracy of DASCAN was almost the same as GTURN, GSCAN, PP-MMAN, and the localization error of DASCAN was, respectively, 70.6%, 16.3%, and 10% less than SCAN, H-Curves, and M-Curves. The virtual anchors of DASCAN, GSCAN, GTURN, and PP-MMAN formed equilateral triangles. The localization rates of these paths were almost the same as mentioned above, so their localization errors were almost the same. SCAN, H-Curves, and M-Curves use only one mobile anchor, which is heavily affected by DOI, so their localization errors were higher than the other paths.Figure8 shows the RMSE of localization algorithms when l=20m, R=1.2 l, DOI=0.05, and the mobile anchors use DASCAN as the moving path. MDS-GWO had the minimal RMSE, followed by GWO, WOA, PSO, and trilateration. On average, the RMSE of MDS-GWO was, respectively, 8.2%, 19%, 35.1%, and 38% less than GWO, WOA, PSO, and trilateration. Figure 9 shows the CDF of localization errors. MDS-GWO localized all sensor nodes with an error of less than 0.3 m, and more than 90% of the unknown nodes were localized with an error of less than 0.1 m. Comparatively, GWO and WOA, respectively, localize about 85% and 80% of unknown nodes with localization errors less than 0.1 m. Furthermore, the RMSE of MDS-GWO was only 0.03 larger than RMSECRLB. MDS-GWO made the most of GWO’s advantages and applied multiple strategies to jump out of the local optimum, so we concluded that MDS-GWO was superior to the other localization methods.Figure 8
RMSE of localization error of five localization algorithms.Figure 9
CDF of localization error of five localization algorithms.


### 5.3. Impacts of Different Parameters on Localization Errors

This section analyzes the impact of DOI,R, and σ on localization errors of MDS-GWO over different paths.
(1)
Impact of DOI. In this part,l=20 m and R=25 m. Figure 10 shows that SCAN had the most significant localization error under all DOI, followed by H-Curves and M-Curves. With the increase in DOI, the localization errors of all paths increased. For every 0.05 increase in DOI, the localization error of SCAN increased by 0.02 m on average, which is the largest among all paths. DASCAN was less affected by DOI than H-Curves, M-Curves, and SCAN, and almost the same as GTURN, GSCAN, and PP-MMAN. Under all DOI, the localization error of DASCAN was the same as GTURN, GSCAN, and PP-MMAN and less than H-Curves, M-Curves, and SCAN. The localization error of DASCAN was, respectively, 0.03, 0.02, and 0.07 m less than H-Curves, M-Curves, and SCAN.(2)
Impact ofR. In this part, l=20 m, R=25,30,35,and0m, and DOI=0.05. As Figure 11 shows localization errors of all paths increased with R. The localization error of SCAN was the largest in all cases because unknowns may not receive sufficient beacons to be localized, and many virtual anchors of SCAN were collinear. The localization errors of GTURN, GSCAN, PP-MMAN, and DASCAN were almost the same. For every 5 m increase in R, the localization errors of M-Curves and SCAN increased by 0.013 m and 0.15 m, respectively, while those of GTURN, GSCAN, PP-MMAN, DASCAN, and H-Curves grew by less than 0.01 m. Of all paths, DASCAN was the least affected by R. Under all R values, the localization error of DASCAN was slightly smaller than GTURN, GSCAN, and PP-MMAN and was significantly less than H-Curves, M-Curves, and SCAN. On average, the localization error of DASCAN was, respectively, 0.05, 0.03, and 0.08 m less than H-Curves, M-Curves, and SCAN.(3)
Impact ofσ. In this part, l=20 m, R=25 m, DOI=0.05, and σ=4,6,8,and10. Figure 12 shows that the localization error of SCAN was the largest, followed by H-Curves and M-Curves. For every two increases of σ, the localization errors of H-Curves, M-Curves, and SCAN, respectively, increased 0.23, 0.218, and 0.27 m on average, and the localization errors of GTURN, GSCAN, PP-MMAN, and DASCAN increased by 0.2 m. DASCAN was less affected by σ than H-Curves, M-Curves, and SCAN, and it was almost the same as GTURN, GSCAN, and PP-MMAN. On average, the localization error of DASCAN was, respectively, 0.1, 0.05, and 0.2 m less than H-Curves, M-Curves, and SCAN.(4)
Analysis of RMSE and CDF. In this part, l=20 m, R=25 m, and DOI=0.05. Figure 13 shows that the RMSE of seven paths with DASCAN had the least RMSE, followed by GSCAN, GTURN, PP-MMAN, M-Curves, H-Curves, and SCAN. The RMSE of DASCAN was, respectively, 20.3%, 21.7%, and 29% less than H-Curves, M-Curves, and SCAN, and it was only 0.015 higher than RMSECRLB. As Figure 14 shows, the CDF of DASCAN, GTURN, and GSCAN increased faster than the other paths, which means they could localize all unknown nodes with higher accuracy than the other paths. After a localization error of 0.11 m, the CDF of DASCAN was always larger than the other paths. For example, DASCAN localized more than 89% of unknown nodes with a localization error of less than 0.15 m, which was the largest among all paths.Figure 10
Localization errors under different DOI.Figure 11
Localization errors under differentR.Figure 12
Localization errors under differentσ.Figure 13
RMSE of localization error of seven paths.Figure 14
CDF of localization error of seven paths.


## 5.1. Comparisons of Different Paths

This section compares the different paths of mobile anchors of GTURN, GSCAN, PP-MMAN, H-Curves, M-Curves, SCAN, and DASCAN.(1)
Energy Consumption of Mobile Anchors. The energy consumption of a mobile anchor depends on the path length and the number of virtual anchors. Figure 3 presents the lengths of all paths, which become shorter as l increases. On average, GTURN is the longest path, followed by GSCAN, PP-MMAN, DASCAN, H-Curves, M-Curves, and SCAN. GTURN, GSCAN, and PP-MMAN use three mobile anchors, which are longer than the other paths. DASCAN is shorter than the other multianchor paths and longer than one-anchor paths. On average, DASCAN is 53%, 36.5%, and 14% shorter than GTURN, GSCAN, and PP-MMAN, respectively; it is 14%, 15.5%, and 34% longer than M-Curves, H-Curves, and SCAN, respectively.Figure 3
Path lengths EZoIZm.DASCAN uses two mobile anchors with a carefully designed path, while GSCAN, GTURN, and PP-MMAN use three mobile anchors and boundary compensations, so DASCAN is shorter than GSCAN, GTURN, and PP-MMAN. By contrast, M-Curves, H-Curves, and SCAN use a single mobile anchor to traverse the ROI without repeated scans, so they are shorter than DASCAN.Figure4 shows the number of virtual anchors. All paths generate fewer virtual anchors as l increases. Generally, GSCAN generates the most virtual anchors, followed by GTURN, PP-MMAN, DASCAN, M-Curves, H-Curves, and SCAN. The three mobile anchors of GSCAN repeatedly broadcast beacons at the same locations, and GSCAN provides the second-longest path, so it has the most virtual anchors. However, SCAN traverses the ROI along straight lines, and its path is the shortest, so it has the fewest virtual anchors. The proposed DASCAN has fewer virtual anchors than the other multianchor paths and more virtual anchors than one-anchor paths. The number of virtual anchors of DASCAN is, respectively, 11% and 53% fewer than GTURN and GSCAN, and it is, respectively, 12.3% and 32% more than H-Curves and SCAN. The number of virtual anchors of DASCAN is slightly less than PP-MMAN and slightly more than M-Curves.Figure 4
Number of virtual anchors.The boundary compensation methods of GSCAN, GTURN, and PP-MMAN require these paths to generate more virtual anchors, so GSCAN has redundant virtual anchors. By contrast, DASCAN has no duplicate virtual anchors or boundary compensation, so it has fewer virtual anchors than GSCAN, GTURN, and PP-MMAN. SCAN traverses ROI with straight lines and generates virtual anchors periodically, while H-Curve and M-Curve generate virtual anchors at each turn of the path. DASCAN makes slightly more turns than M-Curve, so it has more virtual anchors than SCAN, H-Curve, and M-Curve.Figure5 shows the energy consumptions. GSCAN consumes the most energy, followed by GTURN, PP-MMAN, DASCAN, M-Curves, H-Curves, and SCAN. Since GSCAN and GTURN are the longest paths and have the most virtual anchors, they consume the most energy. DASCAN consumes less energy than the other multianchor paths and consumes more energy than one-anchor paths. On average, the energy consumption of DASCAN is, respectively, 42.2%, 38.8%, and 9.3% less than GSCAN, GTURN, and PP-MMAN, and 9%, 14%, and 33% more than M-Curves, H-Curves, and SCAN.Figure 5
Energy consumption.Although DASCAN consumes less energy than GTURN, GSCAN, and PP-MMAN, their localization rates and error levels are almost identical. The localization rate and accuracy of DASCAN are higher than H-Curves, M-Curves, and SCAN, although it consumes more energy.(2)
Localization Rates. In this section, l=15 m. As Figure 6 shows, the localization rates of all paths decrease as DOI increases because the larger DOI causes the unknown nodes to receive fewer virtual anchors. The localization rates of all paths increase as R increases because a larger R causes the unknown node to receive more virtual anchors.Figure 6
Localization rates.GSCAN, GTURN, PP-MMAN, and DASCAN use multiple anchors, and each anchor has a radio range, so they are less affected by DOI than other paths using a single mobile anchor. The average localization rate differences of DASCAN, GSCAN, GTURN, and PP-MMAN are less than 2%, and their average localization rates are higher than H-Curves, M-Curves, and SCAN. WhenR=l, the average difference in GSCAN, GTURN, PP-MMAN, and DASCAN is only 0.56%, but the average localization rate of DASCAN is, respectively, 13%, 38.3%, and 43.4% higher than M-Curves, H-Curves, and SCAN.


## 5.2. Comparisons of Location Estimation Algorithms

This section compares the location estimation algorithms in terms of the localization error. These algorithms, with different paths, included trilateration, PSO, WOA, GWO, and MDS-GWO. In this section,R=1.2l and DOI=0.05 are used. The average localization error over all lis shown in Table 4. Figure 7 shows the results for different l values.Table 4
Localization errors of location estimation algorithms (Unit: m).
TrilaterationPSOWOAGWOMDS-GWOGTURN0.2300.2130.1930.1890.161GSCAN0.2330.2160.1880.1790.161PP-MMAN0.2390.2210.1890.1810.162H-curves0.2660.2500.2130.2020.186M-curves0.2460.2190.1960.1870.176SCAN0.3700.3500.3290.3060.273DASCAN0.2320.2150.1870.1800.160Figure 7
Localization errors of different location estimation algorithms.
(a)
GWO(b)
PSO(c)
Trilateration(d)
WOA(e)
MDS-GWOThe localization errors of trilateration and PSO were the two largest. Those of GWO and WOA were the same. With each path, MDS-GWO achieved the highest localization accuracy. In all cases, trilateration with SCAN had the lowest localization accuracy. The localization errors of MDS-GWO with GTURN, GSCAN, PP-MMAN, and DASCAN were almost identical and smaller than MDS-GWO with the other paths. Considering all paths, the average localization errors of trilateration, PSO, WOA, GWO, and MDS-GWO were, respectively, 0.259, 0.240, 0.213, 0.202, and 0.183 m. The localization error of MDS-GWO was, respectively, 42%, 31.7%, 16.9%, and 11.4% less than trilateration, PSO, WOA, and GWO. Considering MDS-GWO with different paths, the localization accuracy of DASCAN was almost the same as GTURN, GSCAN, PP-MMAN, and the localization error of DASCAN was, respectively, 70.6%, 16.3%, and 10% less than SCAN, H-Curves, and M-Curves. The virtual anchors of DASCAN, GSCAN, GTURN, and PP-MMAN formed equilateral triangles. The localization rates of these paths were almost the same as mentioned above, so their localization errors were almost the same. SCAN, H-Curves, and M-Curves use only one mobile anchor, which is heavily affected by DOI, so their localization errors were higher than the other paths.Figure8 shows the RMSE of localization algorithms when l=20m, R=1.2 l, DOI=0.05, and the mobile anchors use DASCAN as the moving path. MDS-GWO had the minimal RMSE, followed by GWO, WOA, PSO, and trilateration. On average, the RMSE of MDS-GWO was, respectively, 8.2%, 19%, 35.1%, and 38% less than GWO, WOA, PSO, and trilateration. Figure 9 shows the CDF of localization errors. MDS-GWO localized all sensor nodes with an error of less than 0.3 m, and more than 90% of the unknown nodes were localized with an error of less than 0.1 m. Comparatively, GWO and WOA, respectively, localize about 85% and 80% of unknown nodes with localization errors less than 0.1 m. Furthermore, the RMSE of MDS-GWO was only 0.03 larger than RMSECRLB. MDS-GWO made the most of GWO’s advantages and applied multiple strategies to jump out of the local optimum, so we concluded that MDS-GWO was superior to the other localization methods.Figure 8
RMSE of localization error of five localization algorithms.Figure 9
CDF of localization error of five localization algorithms.


## 5.3. Impacts of Different Parameters on Localization Errors

This section analyzes the impact of DOI,R, and σ on localization errors of MDS-GWO over different paths.
(1)
Impact of DOI. In this part,l=20 m and R=25 m. Figure 10 shows that SCAN had the most significant localization error under all DOI, followed by H-Curves and M-Curves. With the increase in DOI, the localization errors of all paths increased. For every 0.05 increase in DOI, the localization error of SCAN increased by 0.02 m on average, which is the largest among all paths. DASCAN was less affected by DOI than H-Curves, M-Curves, and SCAN, and almost the same as GTURN, GSCAN, and PP-MMAN. Under all DOI, the localization error of DASCAN was the same as GTURN, GSCAN, and PP-MMAN and less than H-Curves, M-Curves, and SCAN. The localization error of DASCAN was, respectively, 0.03, 0.02, and 0.07 m less than H-Curves, M-Curves, and SCAN.(2)
Impact ofR. In this part, l=20 m, R=25,30,35,and0m, and DOI=0.05. As Figure 11 shows localization errors of all paths increased with R. The localization error of SCAN was the largest in all cases because unknowns may not receive sufficient beacons to be localized, and many virtual anchors of SCAN were collinear. The localization errors of GTURN, GSCAN, PP-MMAN, and DASCAN were almost the same. For every 5 m increase in R, the localization errors of M-Curves and SCAN increased by 0.013 m and 0.15 m, respectively, while those of GTURN, GSCAN, PP-MMAN, DASCAN, and H-Curves grew by less than 0.01 m. Of all paths, DASCAN was the least affected by R. Under all R values, the localization error of DASCAN was slightly smaller than GTURN, GSCAN, and PP-MMAN and was significantly less than H-Curves, M-Curves, and SCAN. On average, the localization error of DASCAN was, respectively, 0.05, 0.03, and 0.08 m less than H-Curves, M-Curves, and SCAN.(3)
Impact ofσ. In this part, l=20 m, R=25 m, DOI=0.05, and σ=4,6,8,and10. Figure 12 shows that the localization error of SCAN was the largest, followed by H-Curves and M-Curves. For every two increases of σ, the localization errors of H-Curves, M-Curves, and SCAN, respectively, increased 0.23, 0.218, and 0.27 m on average, and the localization errors of GTURN, GSCAN, PP-MMAN, and DASCAN increased by 0.2 m. DASCAN was less affected by σ than H-Curves, M-Curves, and SCAN, and it was almost the same as GTURN, GSCAN, and PP-MMAN. On average, the localization error of DASCAN was, respectively, 0.1, 0.05, and 0.2 m less than H-Curves, M-Curves, and SCAN.(4)
Analysis of RMSE and CDF. In this part, l=20 m, R=25 m, and DOI=0.05. Figure 13 shows that the RMSE of seven paths with DASCAN had the least RMSE, followed by GSCAN, GTURN, PP-MMAN, M-Curves, H-Curves, and SCAN. The RMSE of DASCAN was, respectively, 20.3%, 21.7%, and 29% less than H-Curves, M-Curves, and SCAN, and it was only 0.015 higher than RMSECRLB. As Figure 14 shows, the CDF of DASCAN, GTURN, and GSCAN increased faster than the other paths, which means they could localize all unknown nodes with higher accuracy than the other paths. After a localization error of 0.11 m, the CDF of DASCAN was always larger than the other paths. For example, DASCAN localized more than 89% of unknown nodes with a localization error of less than 0.15 m, which was the largest among all paths.Figure 10
Localization errors under different DOI.Figure 11
Localization errors under differentR.Figure 12
Localization errors under differentσ.Figure 13
RMSE of localization error of seven paths.Figure 14
CDF of localization error of seven paths.


## 6. Conclusions

This paper proposes a localization algorithm using two mobile anchors to balance the localization accuracy and energy consumption. The study developed a specified path, DASCAN, which uses two mobile anchors to traverse different rows after dividing the ROI into regular grids. The neighboring virtual anchors generated by the two mobile anchors form equilateral triangles to provide noncollinear beacons for each unknown node to be localized. The paper also proposes an improved GWO algorithm (MDS-GWO) to estimate the positions of unknown nodes. MDS-GWO introduces multiple disturbance strategies into GWO to improve its ability to jump out of local optima.



---

*Source: 6292629-2022-12-29.xml*