## 2 Methods
### Multi-Objective Optimization of the Satellite Selection Problem
Based on the characteristics of LEO satellite clock drift referenced in the literature, the drift error between the receiver clock and the LEO satellite clock is modeled using linear fitting, represented as \(c\dot{\delta}_{k}-c\dot{\delta}_{k^{\prime}}^{l}\cong ca^{l}\).The derivation based on the pseudorange rate obtained from observing the signal of the \(l\)-th LEO satellite at epoch \(k\) is given as follows [34]:  
\[-\lambda\hat{R}_{d}^{l}(k)=\hat{\rho}_{k}^{l}\cong\left(\frac{\hat{\overrightarrow {r}}_{k}-\overrightarrow{r}^{l}\left(\hat{t}-\overrightarrow{q}_{k}^{l} \right)}{\left\|\overrightarrow{r}_{k}-\overrightarrow{r}^{l}\left(\hat{t}- \overrightarrow{q}_{k}^{l}\right)\right\|_{2}}\right)^{T}\left(\hat{\overover v }_{k}-\overrightarrow{v}^{l}\left(\hat{t}-\overrightarrow{r}_{k}^{l} \right)\right)+c\hat{a}^{l}+\eta_{\dot{p}} \tag{1}\]  
After linearizing Equation (1) and taking the partial derivatives with respect to the receiver state and clock bias, the observation equation can be expressed as follows:  
\[\Delta\hat{\rho}_{k}^{l}=h_{r}^{l}\phi\overrightarrow{r}_{k}+h_{v}^{l}\delta \overrightarrow{v}_{k}+h_{t}^{l}\delta\overrightarrow{a}+\varepsilon_{k} \tag{2}\]  
The vectorized observation equation for the \(M\) LEO satellites can be formulated as follows:  
\[\hat{Z}_{k}= \begin{bmatrix}\Delta\hat{\rho}_{k}^{1}\\ \Delta\hat{\rho}_{k}^{2}\\ \vdots\\ \Delta\hat{\rho}_{k}^{M}\end{bmatrix} = \begin{bmatrix}H_{r}&H_{v}&H_{t}\end{bmatrix} \begin{bmatrix}\delta\overrightarrow{r}_{k}\\ \delta\overrightarrow{v}_{k}^{l}\\ \delta\overrightarrow{a}^{l}\end{bmatrix} +\varepsilon_{k}=\begin{pmatrix}h_{r }^{1}&h_{v}^{1}&h_{t}^{1}\\ h_{r}^{2}&h_{t}^{2}&h_{t}^{2}\\ \vdots&\vdots&\vdots\\ h_{r}^{M}h_{v}^{M}h_{t}^{M}\end{bmatrix} \begin{bmatrix}\delta\overrightarrow{ r}_{k}\\ \delta\overrightarrow{r}_{k}\\ \delta\overrightarrow{a}^{l}\end{bmatrix} +\varepsilon_{k} \tag{3}\]  
where \(\hat{Z}_{k}\) represents the Doppler frequency error vector observed by the dynamic platform receiver from \(M\) LEO satellites at epoch \(k\). \(H_{r}\in\mathbb{R}^{M\times 3}\) denotes the gradient vector of the Doppler frequency observations in the spatial direction; \(H_{v}\in\mathbb{R}^{M\times 3}\) represents the gradient vector of the Doppler frequency observations in the velocity direction; and \(H_{t}\in\mathbb{R}^{M\times 1}\) indicates the gradient vector of the Doppler frequency observations in the time direction. By linearizing observation Equation (3), we can derive the following relationships: \(\delta\overrightarrow{r}_{k}\) represents the positioning error; \(\delta\overrightarrow{v}_{k}\) denotes the speed measurement error; \(\delta\overrightarrow{a}\) indicates the clock drift error of the \(l\)-th observed satellite relative to the receiver's clock; and \(\varepsilon_{k}\) reflects the linearization error at epoch \(k\) along with various types of additive measurement noise. From the observation equation of dynamic opportunistic navigation using LEO satellites, the dynamic Doppler geometric dilution of precision (DGDOP) can be expressed as follows:  
\[DGDOP=\sqrt{trace(H_{r}^{T}H_{r})^{-1}} \tag{4}\]  
The positioning error can be expressed as the product of the user receiver's Doppler measurement error and the Doppler geometric dilution of precision (DGDOP):  
\[\sigma_{r}=DGDOP\cdot\sigma_{D\textit{DGDOP}} \tag{5}\]  
The number of satellites, \(n\), is considered another optimization objective, reflecting the computational burden on the user's receiver. To balance multiple objectives, we introduce  
\[\overrightarrow{x}^{(t+1)}=\overrightarrow{x}_{rand}^{(t)}-(2\cdot\overrightarrow{a} \cdot\overrightarrow{r}_{1}-\overrightarrow{a})\cdot\left|2\cdot \overrightarrow{r}_{2}\cdot\overrightarrow{x}_{rand}^{(t)}-\overrightarrow{x }^{(t)}\right| \tag{7}\]  
In Equation (7), \(t\) denotes the iteration count, while \(\overrightarrow{x}_{rand}^{(t)}\) represents the position vector of a randomly selected search agent and \(\overrightarrow{x}^{(t)}\) corresponds to the position vectors of the remaining search agents.