## 2 A Novel FPSO-GAK Clustering Method
### The Realization of the Novel FPSO-GAK Clustering Method  
The detailed execution steps of the proposed clustering algorithm (pseudo-code is shown in Algorithm 1) are as follows. Figure 1: The flow of the novel FPSO-GAK clustering algorithm. step.1 The initial parameter setting  
According to the literature [42; 43; 44; 45], one of the most remarkable features of PSO algorithms is their speed. As per experience, the initial population should range from 50 to 1000; while the convergence will be better with a larger initial population, a population that is too large will also affect the algorithm's speed. In our experiment, the initial population \(N_{swarm}\) was between 100 and 200. \(N_{swarm}\) rounds of initialization operations of K-means++ were performed in the GPS data set, and each round's initial center points were taken as one particle. Many researchers believe that the clustering number of the K-means algorithm is usually between 2 and \(\sqrt{N}\), where \(N\) is the number of data points in the data set [46; 47]. The urban hotspots must be depicted at a specified density; the initial clustering number was set to around \(\sqrt{\frac{N}{8}}\). step.2 Optimizing the initial clustering center points  
The fitness and DN values of each particle were calculated for the fuzzy operation. The fitness function, also known as the evaluation function, is a criterion determined by the objective function to assess the quality of individuals within a group. It is always non-negative, the greater the value, the better it is. The fitness function design should be as straightforward as feasible to reduce computation time complexity. The fitness function \(f\) in this paper is as follows:\[f=\frac{1}{\sum_{i=1}^{K}\sum_{X_{ij}\in X_{i}}(X_{ij}-\overline{X_{i}})^{2}} \tag{1}\]  
where, \(K\) represents the number of clusters, \(J\) means the number of the point that belong to cluster \(i\). The following formula for \(DN\) is used to change the fuzzy system and control the maximum invariant fitness values:  
\[DN=\frac{\left|\sum_{f_{PG}-f_{CG}<0}(f_{PG}-f_{CG})\right|}{N_{swarm}} \tag{2}\]  
where \(PG\) and \(CG\) indicate the optimal population extremum/individual extremum, respectively, \(f\) denotes fitness value of a particular particle, \(N_{swarm}\) means the population size of the particle swarm. As found in related literature [48; 49], the fitness value of particle swarm is normalized as the parameter of the fuzzy system according to the following formula:  
\[NBF=\frac{f-f_{min}}{f_{max}-f_{min}} \tag{3}\]  
Then the particle optimization parameters \(\omega\), \(c_{1}\), and \(c_{2}\) are calculated by the fuzzy system according to the fuzzy rules in the Table 1 and Mamdani fuzzy inference algorithm. After a PSO routine runs once, the values of \(P_{best}\) and \(G_{best}\) are updated according to the sorted fitness values of each particle. Particles update velocity \(v_{id}\) and position \(z_{id}\) using the following formula:  
\[v_{id}^{g+1}=\omega v_{id}^{g}+c_{1}r_{1}(p_{id}-z_{id}^{g})+c_{2}r_{2}(p_{gd }-z_{id}^{g}) \tag{4a}\]  
\[z_{id}^{g+1}=z_{id}^{g}+v_{id}^{g+1} \tag{4b}\]  
where \(\omega\) denotes the inertia weight, \(c_{1}\) and \(c_{2}\) are two positive learning factors, \(r_{1}\) and \(r_{2}\) are random functions to generate uniformly distributed random values in the range \([0,1)\). The fuzzy system updates the parameter settings of the PSO algorithm, and the PSO algorithm is employed to update the particle information; the cycle is executed alternately until the iteration conditions are satisfied. The optimized particles obtained in the previous stage are sorted in descending order, and a certain number of the top particles are selected to enter the subsequent genetic algorithm. The top 30% of particles were picked for this paper. Genetic selection operations were performed using roulette algorithms. The gene rearrangement technique based on cosine similarity was used to deal with chromosomes of unequal length and different shapes.