# Multi-Satellite Observation-Relay Transmission-Downloading Coupling Scheduling Method
## 2 Problem Description
### Rule-Based Dijkstra Data Transmission Path Scheduling Method
#### 3.4.3 Node Distance Calculation Method  
In the process of calculating the inter-node distance \(a_{k,l}\) and the total distance \(d_{k}\), several steps are involved. Firstly, the feasibility of inter-satellite data transmission between nodes and the feasibility of satellite-ground data transmission are determined. Then, the inter-satellite data transmission time and the satellite-ground data transmission time are calculated based on the data transmission feasibility. Finally, the inter-node distance \(a_{k,l}\) and the total distance \(d_{k}\) are calculated according to the chosen strategy. Whether node \(k\) and node \(l\) are feasible for inter-satellite data transmission can be determined by calculating the data transmission available periods between the nodes. The inter-satellite data transmission time windows between node \(k\) and node \(l\) are \(TRW_{kl}=\frac{n_{trabl}}{p=1}\left[t_{trusklp},t_{rucklp}\right]\). The available period set \(TRA_{kl}\) between node \(k\) and node \(l\) is expressed as  
\[TRA_{kl}=TRW_{kl}\cap TM_{k}\cap C_{T}(TR_{lnk}\cup TR_{Int}\cup TR_{Outk} \cup TR_{Outl}), \tag{23}\]  
where \(TM_{k}\) is the period after satellite \(k\) receives the data, which is expressed as  
\[TM_{k}=\left\{ \begin{array}{ll}[t_{oeki},t_{e}]&x_{ki}=1\\ \left[t_{trInelki},t_{e}\right]&y_{il,k}=1^{\prime}\end{array} \right. \tag{24}\]  
where \(C_{T}(TR_{lnk}\cup TR_{Int}\cup TR_{Outk}\cup TR_{Outl})\) are the available time segments excluding current inter-satellite data transmission mission periods, where \(T\) is the total scheduling period, and \(TR_{lnk}\), \(TR_{Inl}\), \(TR_{Outk}\), \(TR_{Outl}\) represent the current data transmission mission period segments of satellites \(k\) and \(l\). \(tra_{kl}\) is a single period in the period set \(TRA_{kl}\). The condition for inter-satellite data transmission between nodes \(k\) and \(l\) is that there should be at least one time period \(tra_{kl}\) has enough time for a data transmission mission. If the data transmission condition between nodes \(k\) and \(l\) is satisfied, mark \(Flag_{rikl}=1\), otherwise \(Flag_{rikl}=0\). Whether node \(k\) is feasible for satellite-ground data downloading to ground station m can be determined by calculating the available downloading periods. The available period set \(TDA_{km}\) between node \(k\) and stations is expressed as  
\[TDA_{km}=TDW_{km}\cap TM_{k}\cap C_{T}(TD_{k}), \tag{25}\]where \(TDW_{km}=\underset{m=1}{\overset{n_{l}}{\cup}}\underset{q=1}{n_{dslm}}\Big{[}T_{ duskmq},T_{duskmq}\Big{]}\) are the satellite-ground data transmission time windows between node \(k\) and ground station \(m\). The description of \(TM_{km}\) is the same as the description in the inter-satellite data transmission available time calculation. \(TD_{k}\) represents the current data downloading mission period segments of node \(k\). \(tda_{km}\) is a single period in the period set \(TDA_{km}\). The condition for satellite-ground data downloading at node \(k\) is that there should be at least one time period during which \(tda_{km}\) has enough time for the data downloading mission. If the data downloading condition of node \(k\) is satisfied, mark \(Flag_{gik}=1\), otherwise \(Flag_{gik}=0\). The data-downloading mission. The downloading start time of satellite \(k\) to mission \(i\) is arranged at the minimum start time of all available periods, which is denoted as \(t_{duskkm_{min}}\), \(m_{\min}\) is the ground station index corresponding to the minimum start time of all available periods. In the Dijkstra algorithm for calculating total distance \(d_{lu}\) and inter-node distance \(a_{l,lu}\) from node \(l\) to node \(lu\). The calculation of total distance \(d_{lu}\) while using the min-node strategy is described as  
\[d_{lu}=\left\{ \begin{matrix}n_{passlu}&Flag_{gilu}=1\\ \inf&Flag_{gilu}=0^{\prime}\end{matrix} \right. \tag{26}\]  
where \(n_{Passlu}\) is the number of relay satellites. The calculation while using the min-download time strategy is described as  
\[d_{lu}=\left\{