Improved Artificial Bee Colony Algorithm Based Gravity Matching Navigation Method

Gravity matching navigation algorithm is one of the key technologies for gravity aided inertial navigation systems. With the development of intelligent algorithms, the powerful search ability of the Artificial Bee Colony (ABC) algorithm makes it possible to be applied to the gravity matching navigation field. However, existing search mechanisms of basic ABC algorithms cannot meet the need for high accuracy in gravity aided navigation. Firstly, proper modifications are proposed to improve the performance of the basic ABC algorithm. Secondly, a new search mechanism is presented in this paper which is based on an improved ABC algorithm using external speed information. At last, modified Hausdorff distance is introduced to screen the possible matching results. Both simulations and ocean experiments verify the feasibility of the method, and results show that the matching rate of the method is high enough to obtain a precise matching position.


Introduction
Gravity matching navigation is a kind of matching navigation technology aimed at obtaining the best matching position, in which the gravity data from the gravimeter and gravity reference database are imported into the computer for gravity matching solver. Gravity matching navigation has always OPEN ACCESS been a key research area for underwater passive navigation, and in general, methods of gravity matching include recursive filtering method and correlation matching method. For the recursive filtering method, the precise model of gravity anomaly is difficult to establish, and its application is limited. Meanwhile, for the correlation matching method, the computational complexity is high, and the matching accuracy is low [1]. With the development of intelligent algorithms, many scholars are keen to do research on their application in the field of navigation. Particle swarm algorithm is applied to the path planning, solving local optimum problem and decreasing the high complexity of existing algorithms [2]. A new star recognition method based on the Adaptive Ant Colony (AAC) algorithm has been developed to increase the star recognition speed and success rate for star sensors [3]. The Artificial Bee Colony (ABC) algorithm has been proposed for training RBF networks [4]. Multi-layer Feed-forward Neural Networks (MFNNs) is proposed in order to enhance the performance of low cost INS/GPS integrated systems [5]. A genetic algorithm is introduced into the selection of adaptation areas in geomagnetic aided navigation to achieve high recognition accuracy [6]. The problem of excessive search space in geomagnetic matching is solved by using the genetic algorithm to search the possible tracks [7]. Similar with geomagnetic matching navigation, gravity matching navigation uses the physical information of the Earth to achieve the matching position [8,9]. Therefore, the artificial intelligence algorithms are equal when applied to the search process of gravity matching with the advantages of the intelligent algorithms, in order to improve the performance of the gravity matching algorithm.
As one of the most recent intelligent algorithms, the ABC algorithm is able to replace the non intelligent search strategy of traditional gravity matching navigation to enhance the efficiency of gravity matching navigation for its fast convergence speed and low complexity. However, there are still some problems that need to be discussed which are similar to other intelligent algorithms (GA, EA, PSO); though the algorithm converges rapidly, it increases the possibility of falling into local optimum or prematurely due to evolution and selection strategy [10][11][12][13]. In recent years, many scholars have tried to improve the basic ABC algorithm. For example, the global best individual is used to guide the bees to increase the development ability of the ABC algorithm [14]. The initialization of bee colony with chaos and backward learning which is combined with differential evolution ideas is introduced to improve the diversity of the bee colony [15]. The inertia factor and acceleration factor are introduced to the ABC algorithm to increase the convergence rate [16]. Both the number of search parameters and the range of search steps are adjusted to improve search performance [17], in order to avoid the constraints of fixed-step search and increase the efficiency, especially for search objects with high-dimension parameters. These improvements are aimed at the search process for the entire bee colony, but for different search stages, the pressures of search and selection are different. This paper improves the search performance of the algorithm by adaptively adjusting the range of search steps and calculations of transition probability. Besides, to seek better performance of gravity matching based on the intelligent algorithm, modifications to the intelligent algorithm itself are not enough. What is more, the algorithm can yield the greatest returns through analysis of the application environment and reasonable design of the search mechanism. Considering the matching result is not exclusive, a new search mechanism is proposed in this paper combining multi-group local single point search with double-group overall constrained search. The experimental results show that the gravity matching method can solve the problem of mismatch, and achieve a precise matching position.
The paper is organized as follows. In Section 1, the basic principles of gravity matching are introduced, and the gravity matching with intelligent algorithms is presented. In Section 2, the basic ABC algorithm is described, and some modifications to the basic ABC algorithm are done to improve the search performance. In Section 3, the matching strategy based on improved ABC algorithm is introduced to make it more suitable for application to the matching algorithm. In Section 4, a simulation experiment and an ocean experiment are presented and the results are discussed, to verify the feasibility of the gravity matching algorithm.

Principle of Gravity Matching
Gravity aided navigation is an autonomous navigation technology using gravity feature information of the Earth to determine the position of the vehicle. As described in Figure 1, the key components of the gravity aided navigation system are inertial navigation system (INS), gravity reference database, gravity sensing device (gravimeter) and a computer for the matching calculation [18][19][20]. The basic working principles of gravity matching navigation include: ① Gravimeter measures the gravity anomaly data of the vehicle in the track; ② The corresponding gravity data is extracted from the gravity reference database stored in the computer according to the position information provided by INS; ③ Both types of gravity data are sent to the computer for matching calculation, and the computer will output the best matching position information; ④ This matching position information obtained is utilized to restrain the INS errors and enhance the navigation accuracy.
This paper mainly researches the matching algorithm in Figure 1, which is regarded as the core technology of gravity matching. In this work, intelligent search algorithm is applied to the search process matching points with full convergence speed, high search precision, good stability and other advantages.

Basic ABC Algorithm
The ABC algorithm, proposed by Karaboga from Turkey Erciyes University in 2005 for real-parameter optimization, is a recently introduced swarm intelligence algorithm. As the name implies, the ABC algorithm simulates the behaviors of the bee colony by observing how bees find the nectar, information exchange, and automatically assigning the number of groups of bees [14]. In Table 1, a one-to-one relationship exists between the behavior of bees and the optimization problem. In the basic ABC algorithm, the minimal model in a bee colony that the algorithm simulates consists of three kinds of bees: employed bees, onlooker bees and scout bees. Employed bees are responsible for exploiting the nectar sources and giving information to onlooker bees in the hive about the quality of the food sources (a food source means a feasible solution for the problem with multiple solutions) they are exploiting. Onlooker bees choose a food source to exploit with a certain probability based on the information shared by the employed bees. Besides, Scouts randomly search the surrounding environment in order to find a better nectar source depending on an internal motivation or possible external clues.
At the initial stage of the search process, the bees start to explore the environment randomly in order to find a nectar source. After finding a nectar source, half of the bees become employed bees and prepare to exploit the discovered source. If the quality of the new position is better than the old, the new position will be memorized. If the source is exhausted, the bee becomes a scout and starts to randomly search for a new source. Onlooker bees choose the employed bees with a certain probability proportional to the quality of the source, and search for a new position around the neighborhood, and check the amount of honey. The bees try their best to find the best nectar with maximum amount of honey [14][15][16][17].
All these units and interactions in the basic ABC algorithm are shown as a flowchart in Figure 2.
The key steps of the ABC algorithm in Figure 2 are described in detail. In Step ①, the algorithm starts with randomly produced nectar sources that correspond to the solutions in the search space, in which the parameters of the initial position are determined randomly within the range of the boundaries. (0,1)

In
Step ②, the employed bees and onlooker bees update their positions according to the following Equation: ( ) where rd is a uniformly distributed real random number in the range [−1, 1], 1, neighbour N ∈ ( ) is a randomly chosen, j is a random integer in the range [1, D].
If some parameter values which are produced by this operation exceed their predetermined boundaries, the parameter value is set to the corresponding boundary. min min max max In Step ③, after a new position is produced within the boundaries, a fitness value will be assigned to the solution by Equation (4).
where f i is the cost value of the solution i, fit i is the fitness value of the solution i corresponding with the richness of the nectar source. In Step ④, each employed bee is chosen by the onlooker bee with probability in size to the fitness value by Equation (5). In Step ⑤, the best solution has not been updated when the search for matching point is assumed to be exhausted and will be replaced with a new nectar source discovered by the scout. This action is taken to increase the diversity and randomness of the bee colony. Specifically, the new nectar source is updated by Equation (6).

Improved ABC Algorithm
In Figure 2, two main modifications to the basic ABC algorithm are done: adjusting the search strategy (number of search parameters and range of search step) and calculation of transition probability. Accordingly, adjusting the number of search parameters is mainly applied to the circumstance with high-dimensional parameters [21], however, only two parameters (longitude and latitude) in the gravity matching process are adjustable. Therefore, the basic ABC algorithm is improved in this paper by adjusting the range of the search step and calculation of transition probability.

Adjusting the Range of Search Step SF
In the basic ABC algorithm, both employed bees and onlooker bees update their positions according to Equation (1), in which the range of the search step is a constant. It is understandable that the range of search step is too small to decrease the convergence rate, while large range of search step will reduce the development capability of the bee colony. The parameter SF is introduced to control the range of the search step, in order to dynamically adjust the convergence speed and development capability.
The position of bee i in the kth iteration is memorized as is regarded as the direction of movement for bee i in the kth iteration, ϕ is the angle between the direction of movement for bee i and the direction of the best nectar source with greatest value of fitness, x best (k) is the position of the best nectar source found so far after the kth iteration. If the angle ϕ for bee i meets ϕ ≤ 90°, the search of bee i is successful; else, the search is unsuccessful.
According to the definitions above, if the direction of movement for a bee is accordant with the direction of the best nectar source obtained in the current cycle, the size of the search step can be properly increased; otherwise, the range of the search step can be decreased appropriately. The two cases are indicated in Figure 3b.  For both cases of enlarging and lessening the range of the search step, the specific expression of the calculation as defined in Equation (7) depends on experience.
( ) (1 cos ) cos 0 ( 1) ( ) / (2 cos ) cos 0 The search step should not exceed SF max to ensure the stability of the algorithm. Because the search direction is selected randomly in the search process, the size of angle ϕ could be described as Equation (8).
is the length of two vectors, ⋅ is the dot product between two vectors, rd is a random Assuming that the range of the search step for bee i is SF i (k − 1) = a, the search is successful and ϕ = 0. According to Equation (7), we have SF i+1 (k) = 2a. If the search in k+1th iteration is unsuccessful and ϕ = 180°, the best solution is between x i (k) and x i (k + 1) and the individual moves to x i (k) in step of SF i (k + 1) = 2a/3 in k+1th iteration. That is to say, the search range is always among the interval including the best solution. In the same way, no matter whether the search in k+2th iteration is successful or not, the best solution is among the search interval.

Adjusting the Calculation of Transition Probability P
In the search process for best solution, the selection pressures are different at different stages of cycles. When the cycle is small, the employed bees with smaller fitness value should have more opportunity to recruit the onlooker bees, in order to maintain a high diversity of the colony; when the cycle is large, it is needed to narrow the range of search to speed up the search process. The problem of adjusting selection pressure is equivalent to the problem of how to calculate the transition probability. The calculation of transition probability in basic ABC algorithm is based on the formula shown in Figure 2, while for the different stages with different selection pressures; the improvements in Equation (9) are conducted to adaptively adjust the calculation of transition probability.
in which min min 1 2 where SN is the number of nectar sources, fit i is the fitness function value of solution i, fit min is the minimum of fitness function after current cycle, MaxCycles is the maximum of total cycle, c is the number of current cycle in the range [1,MaxCycles], β is a control parameter. This probabilistic selection depends on the fitness values of the solutions in the population. From Equation (4), we can know that a fitness value depends on the value of cost function, and the fitness function is a monotone decreasing function. For a minimization problem, the better the food source is, the smaller the value of the cost function will become. The difference for different specific problems is the definition of the cost function.
For the gravity matching algorithm, the gravity information is used as the matching quantity, and the gravity information of the best matching point is expected to converge with the observed gravity information. Therefore, the form of the cost function depends on the absolute value of the difference between the two kinds of gravity information. To simplify the expression, the absolute value of the difference between the gravity information of the best matching point and the observed gravity information can be directly used as the cost function. So, the fitness can be described as: where obs g Δ is the observed gravity information, g Δ is the gravity information of best matching point.
As described above, c changes one by one from 1 to MaxCycles during the searching process. The current search stage can be implied by the proportion of c to MaxCycles, which is used to confirm the proportions of P 1 and P 2 to P i shown in Equation (9). On this basis, the introduction of control parameter β aims at controlling the proportions further, and the value of β is configurable. Therefore, the adjustment of transition probability depends on the values of c and β. P 1 and P 2 shown in Equation (10) are treated as the limit values of P i , and the expressions of P 1 and P 2 should have the following relation between the expression shown in Equation (12): On the condition that the value of β is properly configured, it can be known from Equation (9) that when c is small, the value of P i mainly depends on P 1 , that is to say, the employed bees whose fitness values are less than the average will have a greater chance of being selected. When c is small, the value of P i mainly depends on P 2 , that is to say, the employed bees whose fitness values are greater than the average will have a greater chance of being selected. The law above can be expressed as Equation (13) In order to make a clear comparison with the primary selection mechanism, the improved selection mechanism is shown in the form of the curve as in Figure 4a,b.
From Figure 4, we can see that when c is small, the improvement focuses on the promotion of searching precision. When c is large, the improvement focuses on the promotion of convergence speed.

Matching Strategy Based on Improved ABC Algorithm
Based on the improved ABC algorithm, in order to further enhance the diversity of the colony, the search mechanisms including the main bee colony and sub bee colony are employed, in which the sub bee colony is introduced to assist the main bee colony. Moreover, the gravity matching problem is a complex optimization problem with multiple solutions, and the error of gravity reference database and measurement error of gravimeter cannot be ignored. Even though the search accuracy of the ABC algorithm is high enough, the matching points obtained are also likely to deviate from the true position. To solve this problem, this paper proposes a new search mechanism, using external velocity information to restrain the matching points. Described as Figure 5, both bee colonies search for best matching points in pairs around the adjacent positions indicated by INS with the same search strategy. The local search and overall search are combined organically, in which the local search adopts multiple-group single point search mechanism, and the overall search adopts double-group constrained search mechanism.

Multi-Group Single Point Search (Local)
As seen in Figure 6, the two synchronous bee colonies (bee colony 1 and bee colony 2) are divided into three groups, respectively. For bee colony 1, the main bee colony 1-1 searches with the improved search mechanism, and the other groups (sub bee colony 1-2 and sub bee colony 1-3) turn 120 degrees in counterclockwise order from the search direction of the main bee colony in sequence. Besides, the range of the search step SF is replaced by SF′ ( (0,1) SF rand SF SF ′ = ⋅ < ). After each cycle of search, the individuals in the bee colonies are sorted according to the size of the fitness values. If the nectar source found by an individual from the other two sub bee colonies is significantly better than the nectar source found by an individual in the main colony, the individual in bee colony 1-1 will be replaced. This local search method with multi-group can increase the diversity of the colony, but time complexity becomes higher. Therefore, the original bee colony will be divided without increasing the size of the bee colony in order to ensure the search accuracy. In detail, the sizes of bee colonies 1-1 and 2-1 are reset to half of the original size, and the numbers of all the other four groups are half of the size of bee colony 1-1 or 2-1.

Double-Group Constrained Search (Overall)
Due to the shortcomings of the simple constraint and incidental mismatch in single point search, a double-group constrained search is introduced. As shown in Figure 7, the distance between the two points is restricted with the external velocity information. Even so, more than one possible matching result will be obtained; to solve this problem, the modified Hausdorff distance is used to screen the matching results further.
Shown as Figure 7, P k−1 , P k and P k+1 express the positions of carrier indicated by INS at the moment of k−1, k and k g Δ k+1, respectively. Meanwhile, the gravimeter can output the gravity anomaly values During the search process based on the improved ABC algorithm, the fitness function can be described as Equation (15). 1 2 Because of the measured error and reference database error for the gravity anomaly data, the distance threshold and difference threshold of gravity anomalies cannot be too small, in order to make the effort to meet the limits for real position. Though the external constraints are considered, there still is more than one matching result obtained. Therefore, modified Hausdorff distance is introduced to screen the multiple matching results, and modified Hausdorff distance is defined as Equation (16) based on the basic Hausdorff distance [22].
in which where ⋅ is the distance norm between point-group A and point-group B, N A is the number of points in point-group A, N B is the number of points in point-group B.
The best position determined as the final result of the matching is needed to satisfy Equation (19).
where N is number of matching sequence for screening, S i is the matching sequence i, S obs is the position sequence provided by INS, S best is the matching sequence output after screening. It can be seen from the previous matching process that two sets of matching are conducted in every cycle of the matching process, and the average of the two matching results is treated as the final result, similar to "estimates" and "smooth" in the estimation theory.
The specific realization of the search mechanism mentioned above in the gravity matching method is shown as Table 2 in the form of pseudo-code.

Simulation Experiment Analysis
Shown as Table 3, four basic test functions (Rosenbrock, Griewank, Weierstrass and Schwefel) are chosen to test the performance of the improved ABC algorithm. The adaptively adjusted range of search step SF and adjustment factor β for transition probability are the control parameters of the ABC algorithm, and these control parameters are needed to be tuned for better performance. The results presented in Table 4 are demonstrated in Figure 8.
cos(2 0.5) , 0.5, 3, max 20  The simulation results shown in Table 4 and Figure 8 mainly focus on the performance analysis of convergence precision and ignore the change in convergence speed. In order to verify the significance of the proposed modification, the following part is added to the simulation experiment analysis.
Because the performance of convergence precision for the test function "Griewank" is worse than the other test functions, the test function "Griewank" is selected to prove the effect of the improvement proposed on performance of convergence speed. The configuration of parameters for ABC algorithm is unchanged. The simulation result can be seen as follows.
Comparing the simulation result shown in Table 4 with the simulation result shown in Figure 9, we can know that for one thing, the advantage of adjusting the search step is not an improvement of convergence precision but convergence speed; for another, the enhancing of convergence precision by adjusting the calculation of transition probability is more obvious than convergence speed. Besides, a comprehensive value of β is 10. Therefore, better performance will be achieved if both improvements are introduced to the basic ABC algorithm than a single improvement. The following section outlines the simulation experiment designed for verifying the feasibility of the gravity matching navigation method. In Figure 10 Under above-mentioned conditions, the improved ABC algorithm is applied to the multi-group single point search. As seen from Figure 11a, the simulation results show that for improved ABC algorithm, the convergence speed and search accuracy are increased by 40.2% and 21.5%, respectively compared with basic ABC algorithm. However, it can be seen from Figure 11b that the matching results of improved ABC algorithm applied to single point matching have no obvious advantages to the basic ABC algorithm due to the contour points. To test the proposed system clearly, more conditions are tested. The matching points cannot converge to the real points shown in Figure 11. A possible factor causing this result is the poor suitability of the matching area. The gravity information in the matching area greatly influences the matching performance.
Therefore, the new simulation area is selected where the change of gravity information is much more obvious than in the old simulation area, and the other simulation conditions remain unchanged.   By comparing and analyzing the simulation results shown in Figures 11 and 13, it is easy to find that matching areas with richer gravity information can achieve better performance. The selection of navigation paths with rich gravity information can contribute to the performance of gravity matching. Despite all this, simple improvements in the ABC algorithm involved in the multi-group single point search mechanism cannot solve the problem fundamentally, and the influence of the contour points still exists no matter whether the gravity information of the matching area is rich or poor. Therefore, proper modifications to the search mechanism are needed to enhance the performance of the matching algorithm fundamentally.
Based on the simulation result shown as Figure 11, the external velocity information is used to restrain local single point search processes for both bee colonies, and the best matching sequence is  screened from the possible matching sequences by the modified Hausdorff distance shown in Figure 14. Figure 15a shows the distribution of gravity anomalies for different matching sequences. In Figure 15b, the matching results with different search strategies are listed for comparison.   It can be concluded from the simulation results that the distribution of the gravity anomaly after multi-group single point matching and the true distribution of the gravity anomaly almost coincide, while the problem of mismatch still exists. Compared with multi-group single point search, the double-group constrained search mechanism can reduce the possibility of mismatch at the cost of some search precision. However, the simulation experiment ignores the measurement error of gravimeter that is inevitable in practice, therefore, it is necessary to conduct further analyses for practical situations.

Ocean Experiment Analysis
For further validating the conclusion, the ocean experiment provided with INS and gravimeter was undertaken in this study. FOG-INS and PHINS are two kinds of inertial navigation systems used in ocean experiments shown in Figure 16. FOG-INS is made by our lab and its performance index is described in Table 5, whose positioning error accumulates over time without any revision. PHINS is introduced from IXSEA, the performance index of which is almost the same as FOG-INS, while Table 6 shows that the integrated navigation system composed of GPS and PHINS is used as reference datum for its high navigation precision. Figure 17 shows the Chekan-AM marine gravimeter introduced from Russia, which can provide real-time revised gravity data, and its performance index is shown in Table 7.     In the ocean experiment, both FOG-INS and PHINS provide real-time navigation information of vehicle, and Figure 18a shows the navigation trajectory of the vehicle. Besides, Chekan-AM marine gravimeter provides gravity anomaly information which is synchronous with other navigation information, and the external velocity information is obtained from PHINS. The difference between the gravity anomaly measured by gravimeter and that indicated by FOG-INS can be observed in Figure 18b and the difference of gravity anomaly reflects the position error of FOG-INS indirectly. Figure 19 shows performance comparison between trajectories before matching and trajectory after matching in the ocean experiment, and Table 8 shows the longitude error and the latitude error for trajectories in Figure 19.   From the experiment data in Table 8, we can see that the matching trajectory is closer to the true trajectory compared with the trajectory indicated by FOG-INS, which is consistent with the conclusion from the simulation experiment. The double-group constrained search mechanism based on a multi-group single point search overcomes the influence of contour points and prevents position error from accumulating over time. Besides, it is different from the simulation experiment that the measurement error of the gravimeter was considered in the ocean experiment, which makes the results more reliable.

Conclusions
The gravity matching navigation problem is a complex optimization problem with multiple solutions. Considering the shortages of state-of-the-art gravity matching algorithms, the gravity matching navigation method with a search strategy based on an improved artificial bee colony algorithm is presented. First of all, better performance of the ABC algorithm is obtained by adaptively adjusting the range of the search step and calculation of transition probability. Secondly, a new search mechanism based on the ABC algorithm is proposed by introducing multi-group single point search and double-group constrained search at the same time. At last, both simulations and experiments are conducted to verify the feasibility of this method. The experimental results show that this method of gravity matching can accurately match the vehicle's position, and effectively decrease the probability of mismatch.