An Effective Method for GPS GDOP Clustering using Ant Colony Optimization Algorithm M. R. Mosavi Associate Professor, Department of Electrical Engineering Iran University of Science and Technology, Narmak, Tehran 16846-13114, Iran Email: M_Mosavi@iust.ac.ir Abstract: Satellite geometry, which represents the geometry locations of the GPS satellites as seen by the receiver(s), plays a very important role in the total positioning accuracy. The stronger the satellite geometry strength is, the higher the positioning accuracy obtained will be. As such, the overall positioning accuracy of GPS is measured by the combined effect of the unmodeled measurement errors and the effect of the satellite geometry. This paper presents satellites geometry clustering for good navigation satellites subset selection. This approach is based on clustering of the satellites Geometry Dilution of Precision (GDOP) factor using Ant Colony Optimization (ACO) algorithm which is used newly in solving data-clustering problems and developed from imitating the technique of real ants finding the shortest way from their nests and food source. The proposed method use pheromone to evaluate individual colony’s iterative result. Without matrix inversion required, the ACO-based approach is capable of evaluating all subsets of satellites and hence reduces the computational burden. Simulation results show this method is more efficient to converge upon the optimal value in the GPS GDOP clustering. Keywords: GPS GDOP, Clustering, and Ant colony optimization 1. Introduction The Global Positioning System (GPS) is a global navigation system set up by the U.S. Department of Defence. It consists of 24 at least satellites orbiting the earth in 6 planes, five control stations and user receiver equipment. These satellites transmit signals which are received by the GPS receiver. By measuring the time of arrival of the signal, the user’s distance (range) from each of the satellite can be calculated. Using the range to a minimum of 4 satellites, the user position can be calculated in three dimensions using the following system of non-linear equations: pi ( X X )2 (Y Y )2 ( Z Z ) 2 b ct (1) i i i i Where pi is pseudorange measurement to i th satellite, ( X , Y , Z ) is user position (unknown), ( X i , Yi , Zi ) is position of the i th satellite, b is the clock bias parameter of receiver; t j is clock bias of satellite, and c is speed of light. Using these equations it is able to provide accurate three-dimensional position and velocity information to users anywhere in the world [1]. The Geometric Dilution of Precision (GDOP) is a geometrically determined factor that describes the effect of geometry on the relationship between measurement error and position determination error. It is used to provide an indication of the quality of the solution. Some of the GPS receivers may not be able to process all visible satellites due to limited number of channels. Consequently, it is sometimes necessary to select the satellite subset that offers the optimal or acceptable solutions. The optimal satellite subset is sometimes obtained by minimizing the GDOP factor. 1 The most straightforward approach for obtaining GDOP is to use matrix inversion to all combinations and select the minimum one. However, the matrix inversion by computer presents a computational burden to the navigation computer, especially when the number of satellites is large [2]. The traditional supervised clustering techniques assume prior knowledge to be available for all the thematic classes that are present in the considered dataset. On the contrary, unsupervised clustering does not require predefined knowledge about the data. The main task of clustering with unsupervised learning is to partition a given data set into groups (clusters) such that the data points in a cluster are more similar to each other than points in different clusters [3]. We implement an unsupervised clustering method using Ant Colony Optimization (ACO) algorithm for GPS GDOP. ACO algorithm is the simulation of cooperation course of real ant group. Each ant searches the solution independently in the candidate solution space, meanwhile leaves some information on the found solution. Ants leave more information on the solution with better performance, which has more possibility to be selected. All the solutions have the same information on it in the elementary period of the algorithm. With the progress of the computing, the better solution gets more and more information. Therefore, the algorithm reaches the optimization or approximately optimization solution [4]. Compared to other optimization algorithms such as Genetic Algorithm (GA), ACO has searching capability of both local and global optimal through adjusting parameters. It gives list of optimal points. ACO can escape from local optimal and obtains global optimal. What's more, ACO's computing process is faster because it does not have complex operators as aberrance and intercross [5]. The aim of this paper is solving GPS GDOP clustering problem using a new approach named ACO. This paper is organized as follows. In section II and section III, ACO and its algorithm are reviewed, respectively. Section IV presents ACO algorithm developed for GPS GDOP clustering. The algorithm results using ACO are reported in section V. Finally, conclusions are given in section VI. 2. Ant Colony Optimization Ants can find the shortest path to food by laying a pheromone (chemical) trail as they walk. Other ants follow the pheromone trail to food. Ants that happen to pick the shorter path will create a strong trail of pheromone faster than the ones choosing a longer path. Since stronger pheromone attracts ants better, more and more ants choose the shorter path until eventually all ants have found the shortest path. Consider the case of three possible paths to the food source with one shorter than the others. Ants choose each path with equal probability. Ants that went and returned on the shortest path will cause it to have the most pheromone soonest. Consequently new ants will select that path first and further reinforce the pheromone level on that path. Eventually all the ants will follow the shortest path to the food. The first ACO algorithms were designed to solve the traveling salesperson problem, because this problem closely resembles finding the shortest path to a food source. Initial attempts at an ACO algorithm were not very satisfying until the ACO algorithm was coupled with a local optimizer. One problem is premature convergence to a less than optimal solution because too much virtual pheromone was laid quickly. To avoid this stagnation, pheromone evaporation is implemented. In other words, the pheromone associated with a solution disappears after a period of time [6]. 2 3. ACO Algorithm The aim of GPS GDOP clustering is to obtain optimal assignment of N satellites in one of the K clusters where N is the number of satellites and K is the number of clusters. Artificial ants used in algorithm are named as software ants or agent and number of agents expressed with R . Ants start with empty solution strings and in the first iteration the elements of the pheromone matrix are initialized to the same values. With the progress of iterations, the pheromone matrix is updated depending upon the quality of solutions produced [7]. Each agent used in algorithm is defined with solution strings expressed with S of length N and at start of the algorithm solution string of each element is empty. Each element of string corresponds to one of the test samples and its value includes which cluster it will be assigned. To construct a solution, the agent uses the pheromone trail information to allocate each element of string S to an appropriate cluster label. At the start of the algorithm, the pheromone matrix is initialized to some small value . Hence, at first iteration each element of solution string S 0 of each agent is assigned randomly to one of the K clusters. The trail value, ij at location (i, j ) represents the pheromone concentration of sample i associated to the cluster j . So, for the problem of separating N samples into K clusters the size pheromone matrix is N K . Thus, each sample is associated with K pheromone concentrations. The pheromone trail matrix evolves as we iterate. At any iteration level, each agent or software ants will develop solutions showing the probability of each ant belonging to which cluster using this pheromone matrix. To generate a solution S , the agent selects cluster number for each element of string S by the following way [7]: Using probability q0 , cluster having the maximum pheromone concentration is chosen ( q0 being a priori defined number, 0 q0 1 , for example q0 0.98 ): (i) First, to generate random numbers in the range [0,1] are r1, r2,, rN . (ii) Second, if the random numbers are higher than the threshold q0 0.98 : (1) If 0 ri i1 , then S (i) Cluster 1. (2) If i1 ri i1 i2 , then S (i) Cluster 2 . … K 1 ij ri 1, then S (i) Cluster K . j 1 (iii) Third, if the random numbers are less than q0 0.98 , choose the maximum number of each test sample. Each agent selects a cluster number with a probability value for each element of S string to form its own solution string S . The quality of constructed solution string S is measured in terms of the value of objective function for a given data-clustering problem. This objective function is defined as the sum of squared Euclidian distances between each object and the center of belonging cluster. A given dataset of N objects {x1, x2 ,, xN } in R n dimensional space to be partitioned into K clusters. The mathematical formulation of the data-clustering problem can be described as [7]: (K) If 3 2 K N n Min F (W , M ) wij xiv m jv (2) j 1i 1v 1 Where xiv is a value of v th attribute of i th sample, M is a cluster center matrix of size K n , m jv is an average of the v th attribute values of all samples in the cluster j , W is a weight matrix of size N K , wij is an associated weight of object xi with cluster j which can be assigned as: 1 ; if object i is contained in cluster j wij 0 ; otherwise Where: K wij 1 ; i 1,, N and j 1,, K j 1 The center of each cluster, m j can be obtained as: (3) (4) N wij xiv i m jv 1 ; j 1,, K and v 1,, n (5) N wij i 1 Then, the elements of the population, namely agents are sorted increasingly by the objective function values. Because, the lower objective function value, the higher fitness to the real solution, namely, lower objective function values are more approximated to real solution values. After generating the solutions of R agents, a local search is performed to further improve fitness of these solutions. The pheromone matrix is then updated depending on the quality of solutions produced by the agents. Then, the agents build improved solutions depending on the pheromone matrix and the above steps are repeated for certain number of iterations. The iteration loop is carried out until no further improvement in equation (2) is being made. Most of existing ACO algorithms uses some local search procedures to develop the generated solutions discovered by the software ants. Local search helps to generate better solutions, if the heuristic information can not be discovered easily. Local search is applied on a few percent R generated solutions. A local search procedure is implemented on top L ( L R ) solutions with highest fitness values (lowest values of objective function). We altered the cluster number of each sample in the solution string with certain threshold probability, pls a priori defined number in the range [0,1]. First, to generate random numbers in the range [0,1] are r1, r2,, rN . Second, if the random numbers are less than the threshold probability pls , these elements have to be assigned to different number. In the local search procedure, the objective function values of top L agents are computed again. These solutions can be accepted only if there is an improvement on the fitness, namely, if the newly computed objective function value is lower than the first computed value, newly generated solution replaces the old one. The local search algorithm can be written as follows [7]: With local search probability threshold pls in [0,1], a neighbor of S k , k 1, 2,, L is generated as: 4 (i) k 1 . (ii) Let St be a temporary solution and assign St (i) Sk (i) (for i 1,, N ). (iii) For each element i of St , draw a random number r in [0,1]. If r pls , an integer j in the rang [1,K], such that Sk (i) j is randomly selected and let St (i) j . (iv) Calculate cluster centers and weights associated with solution string St and find its objective function value as Ft . If Ft is less than Fk , then Sk St and Fk Ft . (v) k k 1 . If k L go to step (ii), else stop. At the end of any iteration level each agent generates the solution using the information derived from updated pheromone matrix. After the local search procedure, the pheromone trail matrix is updated. Such a pheromone updating process reflects the usefulness of dynamic information provided by software ants. The pheromone matrix used in ACO algorithm is a kind of adaptive memory that contains information provided by the previously found superior solutions and is updated at the end of the iteration. The pheromone updating process used in this algorithm includes best L solutions discovered by R agents at iteration level t . This L agent mimics the real ants’ pheromone deposition by assigning the values of solutions. The trail information is updated using the following rule as [7]: (t 1) (1 ) (t ) 0.3 ijLocal Best 0.6 ijGlobal Best ; i 1, 2, , N and j 1, 2, , K (6) ij ij Where is a persistence or trail and lies between [0,1] and (1 ) is the evaporation rate. Higher value of suggests that the information gathered in the past iterations is forgotten faster. An optimal solution is that solution which minimizes the objective function value. If the value of best solution in memory is updated with the best solution value of the current iteration if it has a lower objective function value than that of the best solution in memory, otherwise the best solution in memory kept. This process explains that an iteration of the algorithm is finished. Algorithm iterates these steps repeatedly until a certain number of iterations and solution having lowest function value represents the optimal partitioning of objects of a given dataset into several groups. Summary of the ACO algorithm for clustering problem is as follows [8]: (1) Generation of new R solutions by software ants using the modified pheromone trail information available from previous iteration. (2) Performing local search operation on the newly generated solutions. (3) Updating pheromone trail matrix. The flowchart of ACO algorithm developed for solving data-clustering problem and explained in detail above is shown in Fig.1. 5 Fig.1: The flow chart of ACO algorithm developed for solving data-clustering problem 4. GPS GDOP Clustering using ACO Algorithm Good satellite geometry is obtained when the satellites are spread out in the sky. In general, the more spread out the satellites are the sky, the better the satellite geometry will be, and vice versa. The satellite geometry effect can be measured by a single dimensionless number called the Dilution of Precision (DOP). The lower the value of the DOP is, the better the geometric strength will be, and vice versa. The DOP number is computed based on the relative receiver-satellite geometry at any instance (i.e., it requires the availability of both the receiver and the satellite coordinates). Approximate values for the coordinates are sufficient though, which means that the DOP value can be determined without making any measurements. As a result of the relative motion of the satellites and the receiver(s), the value of the DOP will change over time. The changes in the DOP value, however, will generally be slow except in the following two cases: (1) a satellite is rising or falling as seen by the user’s receiver, and (2) there is an obstruction between the receiver and the satellite (e.g., when passing under a bridge). In practice, various DOP forms are used, depending on the user’s need. For example, for the general GPS positioning purposes, a user may be interested in examining the effect of the satellite geometry on the quality of the resulting three-dimensional position (latitude, longitude, 6 and height). This could be done by examining the value of the Position DOP (PDOP). In other words, PDOP represents the contribution of the satellite geometry to the three-dimensional positioning precision. PDOP can be broken into two components: Horizontal DOP (HDOP) and Vertical DOP (VDOP). The former represents the satellite geometry effect on the horizontal component of the positioning accuracy, while the latter represents the satellite geometry effect on the vertical component of the positioning accuracy. Because a GPS user can track only those satellites above the horizon, VDOP will always be longer then HDOP. As a result, the GPS height solution is expected to be less precise than the horizontal solution. The VDOP value could be improved by supplementing GPS with other sensors, for example, the pseudolites. Other commonly used DOP forms include the Time DOP (TDOP) and the Geometric DOP (GDOP). GDOP represents the combined effect of the PDOP and the TDOP. The geometry matrix G is given by [9]: (Cos( E1) * Sin ( Az1)) (Cos( E1) * Cos( Az1)) Sin ( E1) 1 (Cos( E 2) * Sin ( Az 2)) G (Cos( E 3) * Sin ( Az3)) (Cos( E 4) * Sin ( Az 4)) (Cos( E 2) * Cos( Az 2)) Sin ( E 2) 1 (Cos( E 3) * Cos( Az3)) Sin ( E 3) 1 (7) (Cos( E 4) * Cos( Az 4)) Sin ( E 4) 1 Where E and Az are elevation and azimuth of satellite, respectively. The GDOP factor is obtained as: trace[adj (GT G)] (8) GDOP trace(GT G) 1 det(GT G) The GDOP factor determines the magnification factor of the measurement noise that is translated into the derived solution. The concept of GDOP is a powerful tool for GPS. All receivers use some algorithm based on GDOP to select the best set of satellites to track among the group of up to 11 satellites in view. Positioning accuracy can then be estimated as the ranging accuracy multiplied by a dilution factor. This dilution factor (DOP) depends solely on geometry. Typically, variations in geometry are far greater than variations in ranging accuracy for the nominal satellite constellation. The GDOP concept also quantizes the effect when the nominal satellites are not in view. The GDOP calculation for those satellites still being tracked will give the multiplier on ranging accuracies to yield positioning accuracies [9]. Fig.2 shows ‘Good DOP’ and ‘Poor DOP’. Fig.2: The geometry of the visible GPS constellation 7 Since GT G is a 4 4 matrix, it has four eigenvalues, (i 1, 2, 3, 4) . It is known that the four i eigenvalues of (G T G ) 1 will be 1 . Based on the fact that the trace of a matrix is equal to the i sum of its eigenvalues, equation (8) can be represented as [2]: GDOP 1 1 1 1 (9) 1 2 3 4 The mapping is performed by defining the four variables: f ( ) trace (GT G) (10) 1 1 2 3 4 f ( ) 2 2 2 2 trace[(GT G) 2 ] (11) 2 1 2 3 4 f ( ) 3 3 3 3 trace[(GT G) 3 ] (12) 3 1 2 3 4 f ( ) det (GT G) (13) 4 1 2 3 4 The GDOP can be viewed as a functional R4 R1 mapping from f directly to GDOP , i.e., GDOP fn( f ) : Inputs: ( x , x , x , x )T ( f , f , f , f )T 1 2 3 4 1 2 3 4 Output: y GDOP The mapping from f to GDOP is highly non-linear and cannot be determined analytically, but can be precisely clustered using the ACO algorithm. Fig.3 shows the block diagram of GPS GDOP clustering using ACO algorithm. Fig.3: The block diagram of GPS GDOP clustering using ACO algorithm 5. Simulations and Results A DOP value of less than 2 is considered excellent-about as good as it gets, but it doesn’t happen often, usually requiring a clear view of the sky all the way to the horizon. DOP values of 2 to 3 are considered very good. DOP values of 4 or below are frequently specified when equipment accuracy capabilities are given. DOP values of 4 to 5 are considered fairly good and would normally be acceptable for all but the highest levels of survey precision requirements. A DOP value of 6 would be acceptable only in low precision conditions, such as in coarse positioning and navigation. Position data generally should not be recorded when the DOP value exceeds 6. 8 The selection of the threshold dose not closely relate to the clustering algorithm parameters and performance. The GDOP classifier can be employed for selecting one of the acceptable subsets (e.g., one with GDOP factor sufficiently small) of satellites for navigation use. In the present study, the ACO classifier has three types of output based on the GDOP factors (the small, medium, and large GDOP). Similarly, clustering into more groups is feasible based on the same philosophy. With the aim of generating the optimal solutions of the presented ACO algorithm developed for solving GPS GDOP clustering problem, an application program was written with “Microsoft Visual C#.Net”. Number of clusters, agents, local search agents, iterations and initial pheromone values, evaporation rate of pheromone and some values needed for the algorithm are listed in Table 1. Table 1: The parameters of ACO Parameters Value 3 K 10 R 2 L 1000 T 0.01 0 0.01 0.98 q 0 0.01 p ls The choice of the algorithm parameters is very important. In this paper, the proposed algorithm parameters selection was based on the experimental results. It is seen that if a sufficiently large number of iterations is applied, very good clustering can be achieved. The simulations results show that correct clustering percentage of proposed method is more than %96. The reference [2] classified GPS GDOP using four type neural networks. The proposed method in our paper using ACO has better accuracy than the proposed models in reference [2], since error of classification using ACO model is lower than other models. 6. Conclusions In order to improve the performance of a GPS receiver, it is important to minimize GDOP. It is also an important consideration to design a GPS receiver so that it can always receive signals from four or more GPS satellites. Recent developments in the heuristic optimization techniques are concentrated on natural and biological systems. The ACO is one of the most popular optimization techniques in the area of swarm intelligence. The real power of ants resides in their colony brain and pheromone-driven communication with in the colony. In this paper, a method based on ACO algorithm was proposed for GPS GDOP clustering. Without matrix inversion required, the ACO-based approach was capable of evaluating all subsets of satellites and hence reduced the computational burden. Simulation results on the developed program demonstrated that the proposed method was preferable and effectiveness, so that correct clustering percentage of proposed method is more than %96. 9 Acknowledgment This research was supported by Iran University of Science and Technology grants. References: [1] K. D. McDonald, “The Modernization of GPS: Plans, New Capabilities, and the Future Relationship to Galileo”, Journal of Global Positioning System, Vol.1, No.1, pp.1-17, 2002. [2] D. J. Jwo and C. C. Lai, “Neural Network-based GPS GDOP Approximation and Classification”, Journal of GPS Solutions, Vol.11, No.1, pp.51-60, 2007. [3] R. Xu and D. Wunsch, “Survey of Clustering Algorithms”, IEEE Transactions on Neural Networks, Vol.16, No.3, pp.645-678, 2005. [4] X. Zhang, H. Peng, and Q. Zheng, “A Novel Ant Colony Optimization Algorithm for Clustering”, IEEE Conference on Signal Processing (ICSP 2006), 2006. [5] W. Huang, J. Gou, and H. Wu, “An ACO-based Approach to Improve C-means Clustering Algorithm”, IEEE Conference on Computational Intelligence for Modelling Control and Automation, 2006. [6] M. Dorigo and L. M. Gambardella, “Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem”, IEEE Transactions on Evolutionary Computation, Vol.1, No.1, pp.53-66, 1997. [7] N. Kekec, N. Yumusak, and N. Celebi, “Data Mining and Clustering with Ant Colony Optimization”, 5th Symposium on Intelligent Manufacturing Systems, pp.1178-1190, 2006. [8] M. Dorigo and C. Blum, “Ant Colony Optimization Theory: A Survey”, Journal of Theoretical Computer Sciences, Vol.344, pp.243-278, 2005. [9] B. W. Parkinson and J. J. Spilker, “Global Positioning System: Theory and Applications”, The American Institute of Aeronautics and Astronautics, 1996. [10] R. Yarlagadda, I. Ali, N. Al-Dhahir, and J. Hershey, “GPS GDOP Metric”, IEE Proc.Radar, Sonar Navig., Vol.147, No.5, pp.259-264, 2000. 10