Hybrid Location Algorithm Based on Cuckoo and Statistical Manifold ()
1. Introduction
The key of location service application for wireless sensor network is to obtain the accurate location of the node. For example, the location information of the node plays an important role in robot [1] [2] [3], modern agriculture [4] [5] and other fields. Therefore, improving the location accuracy is very important for the location service application. The disadvantage of traditional statistical manifold [6] [7] [8] [9] localization algorithm is that the location information between unknown nodes is not fully considered, which leads to incomplete location information and low location accuracy. Thus, an improved statistical manifold localization algorithm [10] which fully uses all the location information between unknown nodes is presented. Although the improved algorithm improves the location accuracy, its location accuracy depends heavily on the initial value. Meanwhile, the cuckoo algorithm [11] [12] [13] [14] [15] is a new intelligent bionic algorithm based on the cuckoo’s Levy flight and parasitic breeding mechanism, which can provide a good initial value for the improved statistical manifold algorithm. In view of this, a new hybrid location algorithm is proposed in this paper, which makes full use of the global optimization ability of the cuckoo algorithm and the high-precision location ability of the statistical manifold algorithm to optimize the overall location performance.
2. Cuckoo Algorithm
Cuckoo algorithm [16] is a population intelligent optimization algorithm. Its core idea is to expand the search scope and search the optimal solution through the Levy flight and parasitic breeding mechanism of the cuckoo.
Suppose that the cuckoo algorithm satisfies the following three conditions:
1) Each cuckoo can only lay one egg at a time, and the nest chosen for storage is random.
2) In the process of randomly searching for available nests, the best nest to keep the eggs was selected.
3) Let the probability of cuckoo eggs being found by the nest host be P. When the exotic eggs are found, the host will abandon the nest and find another place to rebuild the nest.
Assuming the above three conditions are satisfied, the updating formula of the nest’s location is as follows:
(1)
where
represents the nth nest’s position of the tth generation;
represents the nest’s position of the new generation;
represents the point-to-point multiplication operation;
is used to define the search range of the step size, and its value follows the normal distribution;
represents the flight path.
3. Location Algorithm Based on Statistical Manifold
In the location region,
is the location of the unknown node and
is the location of the anchor node. According to the measurement distance between the unknown node and all nodes, the location model is established
(2)
where
and
represent the measurement distance and the true distance between the unknown node
and the unknown node
respectively;
represents the measurement error.
and
represent the measurement distance and the true distance between the unknown node
and the anchor node
respectively;
represents the measurement error.
Let
and
, so the location model can be expressed as
(3)
where
is the covariance matrix of the measurement error. The distribution of location model in (3) can be arranged into the form of bending index distribution
(4)
where
is the natural parameter;
is the sufficient statistic of
;
is the potential function of the distribution. Through the iterative calculation of the following formula, the estimated location can be obtained [10]
(5)
where
is the iteration step;
is the metric tensor of the manifold;
is the expected parameter of the distribution.
4. Hybrid Location Algorithm
The hybrid algorithm based on cuckoo and statistical manifold improves the positioning accuracy by taking advantage of all the distance information. Firstly, the cuckoo algorithm is used to obtain the initial values of all unknown nodes. Then, based on the initial values, the statistical manifold algorithm is used to obtain the final values. The specific steps are as follows:
Step 1. Let i = 1.
Step 2. Assume that the number of nests is N, and the position of the nth nest is
. The corresponding fitness function is defined as:
where l is the iteration number,
is the coordinate of the kth anchor node, and
is the distance from the nth nest to the kth anchor node.
Step 3. Calculate the fitness value corresponding to the nest’s location, and search the best location
.
Step 4. A new nest’s location
is generated by Levy flight mode, and the optimal location
is obtained according to the corresponding fitness value
.
Step 5. The new nest’s location generated by random walk mode replaces the bad nest’s location discarded by probability p. Then, update the nest’s location of the new generation, and search the optimal location
.
Step 6. Compare the fitness value
of the new generation with that of the best location
. If the fitness value of the new generation is better, replace the location
with the location
.
Step 7. Keep the best nest’s location. If the number of iterations is reached, proceed to the next step; otherwise, go to step 4.
Step 8. If all the unknown nodes have been calculated, proceed to the next step; otherwise, turn to step 2 and calculate the initial location of the i + 1 th unknown node.
Step 9. The initial value
of all unknown nodes is obtained by cuckoo algorithm, and then the iteration step is
, set
.
Step 10. Iteration loop.
while
(6)
end
The final iteration result according to formula (6) is the estimated location. Using the proposed method, the location of all unknown nodes can be calculated simultaneously. The flow chart of the hybrid algorithm is shown in Figure 1.
5. Analysis of Simulation Results
In order to demonstrate the performance of the proposed method, we perform a
Figure 1. The flow chart of the hybrid algorithm.
simulation study, and the simulation parameters are shown in Table 1. The location error is defined as
where
is the estimated location of the unknown node.
Figure 2 shows the influence of the variance of the measurement error on the location error. As can be seen from Figure 2, the hybrid algorithm uses the initial value provided by the cuckoo positioning, which leads to its location error is significantly smaller than that of the other two algorithms.
Figure 3 shows the influence of the nest number on the location error. Under the condition of the same nest number, the location accuracy of the hybrid algorithm is better than that of the cuckoo algorithm. With the increase of the nest number, the location error of the two algorithms decreases significantly. For example, the location error of the hybrid algorithm tends to be stable when nest number increases to 4.
Figure 2. Effect of the measurement error on the location error.
Figure 3. Effect of the nest number on the location error (
).
Figure 4. Effect of the maximum iteration number on the location error (
).
Figure 4 shows the influence of the maximum iteration number on the location error. Under the condition of the same iteration number, the location accuracy of the hybrid algorithm is better than that of the cuckoo algorithm. With the increase of the maximum iteration number, the location error of the two algorithms decreases significantly. For example, when the maximum iteration number increases to 20, the location error of the cuckoo algorithm tends to be stable.
6. Conclusion
A hybrid location algorithm based on cuckoo and statistical manifold method is proposed, which fully uses all the location information between unknown nodes. The simulation results show that the hybrid localization algorithm can reduce the impact of ranging error on the positioning accuracy.
Acknowledgements
This work was supported in part by the National Natural Science Foundation of China under Grant 62001272, in part by Shandong Provincial Natural Science Foundation, China (ZR2019BF022).