## 2 Methods  
### Multi-Objective Optimization of the Satellite Selection Problem  
Compared to MEO satellites, LEO satellites have a smaller ground coverage area, higher tangential velocity, and shorter observable durations, typically ranging from 4 to 10 min. These characteristics lead to a higher frequency of satellite switching in the visible field as the elevation angle changes. Therefore, in non-cooperative multi-constellation LEO satellite dynamic opportunistic navigation, the satellite selection algorithm plays a critical role. To meet the real-time and continuous opportunistic navigation needs of dynamic users, the satellite selection algorithm for multi-constellation LEO dynamic opportunistic navigation must balance two key objectives. First, it should maximize the number of LEO satellites selected to improve positioning accuracy. Second, it must minimize the number of satellites involved in calculations to reduce the computational burden on the user's receiver and enhance real-time positioning performance. These two objectives are inherently conflicting and subject to various constraints, such as ground signal power and the duration of observable satellite time. To achieve an optimal balance, an efficient and well-structured multi-objective optimization algorithm is essential for refining the satellite selection strategy. Consequently, the process of selecting satellites for multi-constellation LEO dynamic opportunistic navigation can be modeled as a low-complexity multi-objective optimization problem. In this study, the DGDOP value is chosen as one of the optimization objectives to evaluate the quality of the satellite geometric configuration, thereby reflecting its impact on positioning accuracy. The state equation of the dynamic opportunistic navigation model is similar to that of conventional GNSS/IMU tight coupling, but its observation equation differs. In dynamic opportunistic navigation, Doppler frequency shifts result from tracking the downlink beacon signals of LEO satellites. Moreover, LEO satellites from different constellations operate on distinct time systems, with each satellite providing only a single Doppler shift measurement per time update. Let the discrete sampling time of the receiver at epoch \(k\) represent the arrival time of the reference signal at \(t_{k}=kT+t_{0}\), with \(t_{0}\) as the initial time and \(T\) as the sampling clock period. The signal transmission time of the LEO satellite at epoch \(k^{\prime}\) is represented as \(t_{k^{\prime}}=kT+t_{0}-\tau_{k}^{l}\), where \(\tau_{k}^{l}\) represents the true propagation delay from the \(l\)-th LEO satellite to the receiver. At epoch \(k\), the Doppler frequency shift extracted from the signal of the \(l\)-th LEO satellite is \(\mathrm{F}_{d}^{l}(k)\), while the pseudorange rate is \(\dot{\rho}^{l}(k)=-c\cdot\mathrm{F}_{d}^{l}(k)/f_{c}^{l}\), the beacon carrier frequency of the \(l\)-th satellite is \(f_{c}^{l}\), and \(c\) is the speed of light. \(\dddot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot\dot \  
indicates the observed velocity \(\overrightarrow{v}(t_{k})\) of the dynamic platform at epoch \(k\). The velocity \(\overrightarrow{v}(t_{k^{\prime}})\) of the l-th LEO satellite at epoch k' is denoted as \(\overrightarrow{v}_{k^{\prime}}^{l}\). Additionally, \(\delta_{k}\) represents the clock drift error of the LEO receiver at epoch \(k\), while \(\delta_{k^{\prime}}^{l}\) denotes the clock drift error of the \(l\)-th LEO satellite at epoch \(k^{\prime}\). \(M\) is the total number of visible LEO satellites within the receiver's field of view, and \(\eta_{\dot{p}}\) is the noise in the pseudorange rate, which is assumed to follow a normal distribution as additive noise. Due to the non-cooperative approach employed to extract Doppler frequency from LEO satellite signals, a clock drift error exists between the receiver and the LEO satellite.