## 1 Introduction  
Faults are key structures in the Earth's crust. Most gravity anomalies are caused by faults, and faults play a crucial role in tectonic evolution. Determining fault parameters is of great significance for analyzing the causes of underground special structures and interpreting geological tectonics [1]. Previously, the seismic method was the mainstream approach for fault identification [2, 3]. This method offers high accuracy but has notable drawbacks, such as relying on seismic stations and being costly. In contrast, the gravity inversion method has the advantages of low cost and large-scale applicability. However, gravity inversion results are ambiguous [4], which imposes significant limitations on gravity inversion methods. To overcome these limitations of gravity inversion methods, optimization algorithms are commonly used. Common optimization algorithms include least squares minimization [5, 6], analysis of variance [7], the simulated annealing method [8], and the Particle Swarm Optimization (PSO) method [9, 10, 11]. Among numerous methods, the particle swarm optimization algorithm stands out, with a more competitive performance than many other optimization algorithms, as it is easy to implement, has a fast convergence speed, and achieves good convergence results. The Particle Swarm Optimization (PSO) algorithm is an optimization method that simulates the foraging behavior of a swarm. It tracks individual and global optimal solutions by updating particle positions. Its performance heavily relies on three key parameters: the inertia weight \(\omega\) and the learning factors \(c_{1}\) and \(c_{2}\). The traditional PSO algorithm has two major limitations: First, although there are empirical ranges for parameter values, they lack universality; and second, with fixed parameter settings, the algorithm struggles to adapt to complex optimization processes. These limitations affect the algorithm's flexibility and optimization effectiveness. The aforementioned issues have received widespread attention and research. [PERSON] and [PERSON] (1998) proposed a PSO algorithm based on Linearly Decreasing Inertia Weight (PSO-LDIW) [12], which allows for the inertia weight \(\omega\) to decrease linearly with the number of iterations. Besides introducing a strategy of decreasing inertia weight, [PERSON] et al. (2004) proposed the PSO algorithm with Time-Varying Acceleration Coefficients (PSO-TVAC) [13]. This algorithm causes the learning factors \(c_{1}\) and \(c_{2}\) to change dynamically with each iteration. Some PSO algorithms have introduced topological structures to avoid getting trapped in local optima [14,15]. Although the aforementioned PSO algorithms have improved their performance in searching for the global optimum by refining parameter selection methods, this often comes at the cost of reduced convergence rates. Therefore, we need a new PSO algorithm that can both search for the global optimal solution by adaptively updating parameters and maintain an excellent convergence rate. Most variants of PSO algorithms adjust the learning factors in a time-varying manner. However, according to the principles of the PSO algorithm, the speed of particle updates largely depends on the distance between the particle and its individual historical best solution as well as the historical global best solution. Building on this, [PERSON] et al. (2021) proposed an Adaptive Weighted PSO (AWPSO) algorithm [16]. Unlike time-varying update strategies, in AWPSO, the learning factors change based on the distances of particles towards \(\mathbf{p_{best}}\) and \(\mathbf{g_{best}}\). These improvements can enhance the convergence efficiency and accuracy of the PSO algorithm to varying degrees. However, since fault models inherently involve multiple parameters to be determined, applying optimization algorithms to fault parameter inversion typically involves calculating the residuals between observed and predicted gravity anomalies. The optimization direction is then decided based on these residuals for iterative refinement.