esa-sceva/satcom-chunk-collection huggingface dataset:
# Spatiotemporal Sensitive Network for Non-Contact Heart Rate Prediction from Facial Videos
## 3 Proposed Method
### Multi-Level Spatiotemporal Context Fusion (MLSC) Module
As illustrated in Figure 5, the Refine module has two inputs: \(Z_{leveli}\) represents the fusion features learned by the \(i\)-th SC module; \(R_{m-1}^{n}\) represents the features of the \(n\)-th task learned by the \(m-1\) Refine module. It is worth noting that the first Refine module accepts only \(Z_{\text{level}}\) as input. Therefore, the refined feature learned by the nth task in the \(m\)-th layer can be denoted as \(R_{m}^{n}\). The output \(R_{m}^{n}\) of the Refine module can be calculated as follows:  
\[R_{m}^{n}=ConvBlock2\Big{(}ConvBlock1\big{(}R_{m-1}^{n}\big{)}\bigoplus(DAMBlock (Z_{leveli}))\Big{)} \tag{12}\]  
Figure 4: Structure of the SC Module; the top side represents the RGB modality branch, and the bottom side represents the NIR modality branch. _ConvBlock1_ consists of a \(3\times 3\)\(DSConv\)[36], a \(BN\) layer [37], and a _Sigmoid_ layer; _ConvBlock2_ consists of a \(3\times 3\) convolution, a \(BN\) layer, a \(ReLu\) layer, and a _Pooling_ layer; \(\oplus\) denotes element-wise addition. \(DAMBlock(\cdot)\) comprises channel attention and spatial attention. Given input feature map \(F_{1}\in R^{C\times H\times W}\), the intermediate state \(F_{2}\) and output \(F_{3}\) are defined as:  
\[ \begin{array}{l}F_{2}=M_{c}(F_{1})\bigotimes F_{1}\\ F_{3}=M_{s}(F_{2})\bigotimes F_{2}\end{array}  \tag{13}\]  
\(M_{c}\) and \(M_{s}\) represent the channel attention submodule and spatial attention submodule, respectively; \(\otimes\) denotes element-wise multiplication. Each branch is composed of three enhanced modules, including a max pooling layer with a kernel size of \(3\times 3\), as well as a fully connected layer. Each branch predicts HR and rPPG signals utilizing the refined fused features. For the HR and rPPG branches, the output dimensions of the fully connected layers are configured to (1,) and (300,) accordingly.
# Deep Reinforcement Learning Based Resource Management in UAV-Assisted IoT Networks
## 5 Proposed Method Description
### Multi-Agent DRL for the Joint Resource Management Problem
Reward: users need to achieve QoS constraints such as throughput, power, and bandwidth called rewards. However, the SINR values must be higher than the SINR threshold. Therefore, the reward is the effective management of resources; otherwise, the reward is zero. As UEs takes the action of \(Q_{t}(S_{t},a_{t})\) by observing \(Value(S_{t})\), it obtains the immediate \(Reward(r_{t})\). After an action is taken, reward the agent based on the result obtained. Then, the value of the new state is computed, as in Equation (18): \[Value(S_{t}\ )=maxa_{t}(r_{t}(S_{t},a_{t})\ \gamma\sum S_{t}^{\prime}P\big{(}S_{t },a_{t},S_{t}^{\prime}\big{)}, \tag{9}\]0 (18)
4. Replay memory: It used to save the evaluation of the cost of past experiences, i.e., past state-action pairs in our system. The combination of using the batch method and replay memory improves the convergence of DRL [28]. Then, for each episode, take a batch of samples from the past experiences. Then, find the gradient of the weights and store it into replay memory. Finally, train the weights of the deep neural network to estimate the loss function. 5. Policy: updating the value function, the agent also needs to sample and learn the environment by performing some non-optimal policy (i.e., the optimal policy \(\pi_{t}^{*}\): \(S_{t}\to a_{t}\) is obtained to maximize long-term reward). Then, each UE learns the optimal policy \(a_{t}^{*}=\pi_{t}^{*}(S_{t})\in a_{t}\) based on the state space through the A2G access link from the associated UAV. Therefore, all the agents need to obtain the optimal policy.
# Measurement of Instantaneous Mass Flow Rate of Polypropylene Gasification Products in Airflow
## 3 Data Processing Procedure  
### Mass Flow Rate at GG Inlet  
For determining the air mass flow rate through the GG, we calculated the time history of pressure in the air storage vessel of a known volume \(V\) with known values of initial pressure \(P_{0}(0)\) and temperature \(T_{0}(0)\) at adiabatic outflow of air through a critical opening with a cross-sectional area \(A_{1}^{*}\)[26]:  
\[P_{0}(t)=P_{0}(0)(1+Bt)^{\frac{2\gamma}{1-\gamma}} \tag{1}\]  
where  
\[B=\frac{\gamma-1}{2}\frac{G_{in}(0)}{m_{0}},\ G_{\mathrm{in}}(0)=\mu_{1}\frac {P_{0}(0)}{\sqrt{T_{0}(0)}}A_{1}^{*},\ \mu_{1}=\sqrt{\frac{\gamma}{R}\bigg{(}\frac{2}{\gamma+1}\bigg{)}^{\frac{ \gamma+1}{\gamma-1}}},\]  
\(t\) is time, \(\gamma=1.4\) is the constant specific heat ratio, \(G_{in}(0)\) is the mass flow rate for choked flow at \(t=0\), \(m_{0}\) is the initial mass of air in the storage vessel, \(R\) is the gas constant, and \(\mu_{1}\)= 0.0404 (kg\(\cdot\)K/J)\({}^{1/2}\) for the air flow. The value of \(A_{1}^{*}\) was selected to fit the \(P_{0}(t)\) curve predicted by Equation (1) with the pressure drop in the storage vessel measured by a pressure sensor. After \(A_{1}^{*}\) was determined, the air mass flow rate was calculated from the relationship:  
\[G_{\mathrm{in}}(t)=G_{\mathrm{in}}(0)(1+Bt)^{\frac{\gamma+1}{1-\gamma}} \tag{2}\]  
Figure 6 shows an example of determining the air mass flow rate through the GG in one of test fires (test fire #4, see below) with \(P_{0}(0)=3.74\) MPa, \(T_{0}(0)=290\) K, \(\gamma=1.4\), \(R=287\,\mathrm{J/kg/K}\), \(\mu_{1}=0.0404\) (kg\(\cdot\)K/J)\({}^{1/2}\), \(A_{1}^{*}=20.83\) mm\({}^{2}\), \(B=0.002554\) 1/s, and \(G_{\mathrm{in}}(0)=0.181\) kg/s. At time \(t=0.8\) s, the air supply valve is opened, and the pressure in the air storage vessel starts to decrease (Figure 6a). At time \(t=5.3\) s, the valve is closed, and air supply is stopped. The dashed curve shows the approximation of the measured pressure curve according to Equation (1). On the one hand, this equation was used to determine the value of \(B\), and then the function \(G_{\mathrm{in}}(t)\) was determined according to Equation (2) (Figure 6b). Thereafter, the mean mass flow rate of air during test fire was calculated. According to estimates [26], this method allows determining the air mass flow rate with an error of less than 1.0%. On the other hand, the mean mass flow rate of air was calculated based on the difference in the mass of air in the storage vessel before and after test fire (taking the change in temperature into account) based on the measured values of initial and final pressure and test duration. The difference between the values of mean mass flow rates thus obtained does not exceed 0.1%.
## 1 Introduction
After receiving the updates from the devices, the server node can use the aggregation function (e.g., Federated Averaging (FedAvg)) to create a new global model. This aggregation phase allows devices to share their training knowledge. The devices then use the new global model in the next round of model local training. The process lasts for several rounds till some predefined stopping criteria are fulfilled. Though this approach has several advantages in terms of reduced data transmission costs, enhanced data privacy, etc., and several new challenges have emerged. One of the major challenges in the FL framework is the presence of heterogeneous nodes with different capabilities, in terms of available datasets, computation power, etc. The presence of heterogeneous nodes can be common in different 6G scenarios. Also, the amount of time required to achieve the convergence of the FL model can be unaccepted in latency-critical 6G use cases. Therefore, it is important to analyze the performance of the traditional FL approach in the presence of heterogeneous devices to have a common understanding of their behaviors and possible solutions to tackle the challenges.
## 3 Theoretical Models
\begin{array}{cc}\cos\mathrm{h}(\mathrm{q_{n}}\mathrm{d_{n }})&\frac{\mathrm{r}-1}{\mathrm{k_{m}}}\sin\mathrm{h}(\mathrm{q_{n}}\mathrm{d_ {n}})\\ -\mathrm{k_{zm}}\mathrm{d_{n}}\mathrm{sin}\,\mathrm{h}(\mathrm{q_{n}}\mathrm{d_ {n}})&\cos\mathrm{h}(\mathrm{q_{n}}\mathrm{d_{n}})\end{array} \right] \tag{4}\]  
Here \(\mathrm{d_{n}}\) is the layer thickness and \(\mathrm{k_{zm}}\) the cross-plane thermal conductivity of the nth layer, and:  
\[\mathrm{q^{2}}=\frac{\mathrm{k_{zm}}\lambda^{2}+\mathrm{\rho_{n}}\mathrm{c_{n }}\mathrm{i}\omega}{\mathrm{k_{zm}}} \tag{5}\]  
where \(\mathrm{\rho_{n}}\) is the density of the nth layer, \(\mathrm{c_{n}}\) is the specific heat capacity of the nth, and \(\mathrm{k_{zm}}\) and \(\mathrm{k_{zm}}\) are the in-plane and cross-plane thermal conductivities of the nth layer, respectively. For calculations, we used the thermal diffusivity, defined as:  
\[\mathrm{\alpha_{zm}}=\frac{\mathrm{k_{zm}}}{\mathrm{\rho_{n}}\mathrm{c_{n}}} \tag{6}\]  
The resistances of the thermal interfaces are described by matrices:  
\[\mathrm{M_{n,n-1}}=\left[ \begin{array}{cc}1&-\mathrm{R_{n,n-1}}\\ 0&1\end{array} \right] \tag{7}\]  
where Rn,n\(-1\) is the thermal interface resistance between the nth and the (n \(-\) 1)th layer. In turns, one-dimensional PTR signal can be written as [24]:  
\[\mathrm{\theta}(\omega,0)=\left(\frac{(1-\mathrm{R})\mathrm{I_{o}}}{2\mathrm{k _{1}}\mathrm{\sigma_{1}}}\right)\left(\frac{1+\mathrm{y_{1}}}{1-\mathrm{y_{1}}}\right) \tag{8}\]  
Here, \(\mathrm{y_{1}}\) is a dimensionless quantity defined and \(\mathrm{\sigma_{i}}=\sqrt{\mathrm{i}\omega/\mathrm{\alpha_{i}}}\) as:  
\[\mathrm{y_{1}}=\mathrm{e}^{-2\mathrm{I_{1}}\mathrm{\sigma_{1}}}\left(\frac{ \mathrm{U_{1}^{+}}}{\mathrm{U_{1}^{-}}}\right) \tag{9}\]  
Figure 6: Phase relative sensitivities of model described by Equation (1) to the parameters (\(\mathrm{RAIGaAs/GaAs}\) = \(1.0\times 10^{-9}\) m\({}^{2}\) 2 K/W, \(\mathrm{kAlGaAs}\) = \(12\) W/mK, \(\mathrm{\alphaAlGaAs}\)=\(6\times 10^{-6}\) m\({}^{2}\) /s, L = 500 nm) and with other parameter values taken from Table 2.  
where \(\rm L_{1}=x_{1}\) is the length of first layer and \(\rm U_{1}^{\pm}\) is another dimensionless quantity defined as:  
\[\rm U_{1}^{\pm}=(1+y_{2})-R_{12}k_{2}\sigma_{2}(y_{2}-1)\pm\bigg{(}\frac{k_{2} \sigma_{2}}{k_{1}\sigma_{1}}\bigg{)}(y_{2}-1) \tag{10}\]  
The multi-layer solution takes the form of a recursive sequence. For the nth layer, the dimensionless quantity \(y_{n}\) is defined as:  
\[y_{n}=e^{-2L_{n}\sigma_{n}}\bigg{(}\frac{U_{n}^{\pm}}{U_{n}^{-}}\bigg{)} \tag{11}\]  
where \(L_{n}=x_{n}-x_{n-1}\) and \(U_{n}^{\pm}\) is a dimensionless quantity defined as:  
\[U_{n}^{\pm}=\big{(}1+y_{n+1}\big{)}-R_{n,n+1}k_{n+1}\sigma_{n+1}(y_{n+1}-1)\pm \bigg{(}\frac{k_{n+1}\sigma_{n+1}}{k_{n}\sigma_{n}}\bigg{)}(y_{n+1}-1) \tag{12}\]
# Transformer Fault Diagnosis Method Based on Incomplete Data and TPE-XGBoost
## 3 Transformer Fault Diagnosis Method
### Transformer Fault Diagnosis Model  
The TPE method is introduced into the transformer fault diagnosis model to overcome the shortcomings of cross-validation and grid search methods. The model accuracy is improved by simultaneous optimization of multiple hyperparameters of XGBoost.  
The main parameters of the XGBoost method include Booster, General and Learning parameters [22]. The values of the different parameters directly affect the diagnostic effect of the model. Traditional parameter searching methods rely on experience or parameter traversal, while the Gaussian mixture-based TPE method has a sparser parameter space and is more efficient in parameter search. The parameters that have a greater impact on the XGBoost model are selected for searching, as shown in Table 3.  
The process of the TPE-XGBoost transformer fault diagnosis model proposed in this paper is shown in Figure 4. The application steps are as follows:  
1. Input dissolved gas data in oil to construct an XGBoost model and set XGBoost parameter ranges.
2. Train the XGBoost model and perform TPE probability density estimation. The expected value is calculated by the sampling function, and the next combination of parameters to be evaluated is selected based on the prior expected value.
3. Use the combination of parameters with the maximum expected value in the XGBoost model for training to output the prediction results of the model with the current hyperparameters.
4. If the error of the newly selected parameter combination meets the requirements, the algorithm will be terminated, and the corresponding parameter combination and model prediction error will be output. If not, the sampling function will be corrected and go back to step (2) until the set requirement is met.
5. According to the optimal parameters of XGBoost, the final fault diagnosis model based on TPE-XGBoost is obtained, and the fault diagnosis results are output.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Parameter** & **Range** & **Step Size** & **Parameter** & **Range** & **Step Size** \\ \hline num\_boost\_round & [20, 300] & 1 & eta & [0.1, 1] & 0.05 \\ colsample\_by\_tree & [0.3, 1] & 0.05 & booster & [’gbtree’, ‘dart’] & / \\ colsample\_by\_node & [0.1, 1] & 0.05 & gamma & [0.5, 2] & 0.1 \\ min\_child\_weight & [0, 5] & 0.05 & lambda & [0, 3] & 0.1 \\ max\_depth & [2, 30] & 1 & subsamples & [0.1, 1] & 0.05 \\ \hline \hline \end{tabular}
\end{table}
Table 3: XGBoost Parameters.
## 3 Vibration Signal Preprocessing and Fault Feature Extraction
### Correlation-Based Gearbox Vibration Signal Reconstruction  
With the optimal values of \([K,\alpha]\) found by GWO, the gearbox vibration signals can be decomposed to a series of IMFs by VMD. The relation between the original vibration signal and the mode functions is the constraint condition in Equation (1), which can be re-written as follows:  
\[v(t)=\sum_{k=1}^{K}IMF_{k}=\sum_{k=1}^{K}u_{k}(t) \tag{9}\]  
To remove noise contained in \(v(t)\), the correlation coefficient, denoted as \(Corr\), is used in this paper to evaluate the relevance of each IMF with \(v(t)\). The range of \(Corr\) is [-1, 1], and a value close to 1 indicates high correlation between the two signals. Thereby, a correlation threshold, denoted as \(Corr_{th}\), is set, and only IMFs having a higher correlation coefficient than \(Corr_{th}\) are selected for signal reconstruction.  
The expression of \(Corr\) is [41]  
\[Corr_{k}=\frac{cov(v,u_{k})}{\sqrt{D(v)}\sqrt{D(u_{k})}} \tag{10}\]  
where \(cov(v,u_{k})\) represents the covariance between gearbox vibration signal \(v(t)\) and the \(k^{th}\) IMF, while \(D(v)\) and \(D(u_{k})\) stand for variances of \(v(t)\) and \(u_{k}(t)\), respectively.  
Set \(Corr_{th}=0.25\) in this paper for the subsequent research work, and select all IMFs with \(Corr_{i}\geq Corr_{th}\); thus, the vibration signal is reconstructed with  
\[v(t)=u_{1}(t)+\ldots+u_{i}(t),\ i\leq K \tag{11}\]where \(v^{\prime}(t)\) is the reconstructed vibration signal.
# Artificial Intelligence-Based Autonomous UAV Networks: A Survey
### AI-Based UAV Networks
#### 1.1.3 Localization and Trajectory  
Whenever we talk about aerial nodes or vehicles, the challenges of localization and trajectory always come to mind. In a recent study [9], an AI-based trajectory planning for UAV networks was proposed. The main idea is to use a quantum mechanism to support UAVs from the starting point to their destination place. They simulated the system, andthe results obtained from the study [9] show that the proposed solution outperforms the Q-learning technique traditionally used for this purpose.  
Localization is a challenging task with unstable network conditions and high mobility of nodes. In [10], an intelligent localization technique is proposed for swarm UAVs. The localization problem is being solved in a 3D model, in which UAV node localization is being realized by limiting the search space in the initial step. This helps reduce the localization error and increases the network convergence speed. The proposed solution is further enhanced by considering the energy-efficient routing for the UAV network. They proposed an algorithm that is evaluated by system simulation. The simulation results of [10] show that localization and coverage time has been improved by using the proposed system.
## 4 Results and Discussion
### The Influence of Nozzle Geometry on Internal Steam Condensation
#### 4.1.2 Expansion Angle of the Nozzle's Divergent Section  
As shown in Figure 7, when the expansion angle of the nozzle's divergent section changes from 0\({}^{\circ}\) to 11\({}^{\circ}\), the steam parameters in the nozzle also change to varying degrees. Except for the nozzle with a 0\({}^{\circ}\) expansion angle, the steam parameters of the nozzles with other expansion angles had the same changing trends along the axis: continued expansion as the steam passed through the nozzle, a rapid drop in the temperature in the nozzle's convergent section, and the sudden appearance of a temperature step near the nozzle's throat (Figure 7a), which indicates that steam condensation had occurred and a large amount of latent heat was released. The condensation shock that was formed by the steam's condensation resulted in a pressure rise and Mach number reduction in the location of the steam condensation, as illustrated in Figure 7b,c. The droplets' nucleation ratio (Figure 7e) reveals that massive droplet cores were generated, due to the higher saturation ratio (Figure 7d) in the steam condensation zone. Therefore, the formation of these droplet cores sharply increased the liquid mass fraction and the average droplet radius in the rapid nucleation zone, as shown in Figure 7g. Additionally, the volume of droplets per unit remained constant in the divergent section (see Figure 7f), which also caused a slight increase in the average droplet radius (Figure 7h) of the droplets in the droplet growth zone. This is because the steam molecules that were in a free state condensed on the droplet cores, as discussed in Section 4.1.1. In particular, for the nozzle with a 0\({}^{\circ}\) expansion angle, the steam hardly condensed at all, resulting in the droplets' nucleation rate, droplets per unit volume, droplets' average radius and liquid mass fraction all equaling zero, as seen in Figure 7.  
As shown in Figure 7, we also learned that the enlargement of the nozzle's divergent section's expansion angle reduced the intensity of the condensation shock wave and moved the position of the condensation shock forward (see the enlarged view in Figure 7b,c). The regions of the steam saturation ratio that were larger than 1 and the droplets' nucleation ratio that were larger than 0 were both reduced in accordance with the increase in the throat expansion angle, as depicted in Figure 7d,e. However, the droplets per unit volume (Figure 7f) increased with the enlargement of the expansion angle, which infers that enlarging the expansion angle of the nozzle's divergent section will increase the mass fraction of the liquid phase (Figure 7g), thereby increasing the humidity of the nozzle outlet. As a consequence, we should reasonably reduce the expansion angle of the nozzle's divergent section in order to alleviate the adverse effect of steam's spontaneous condensation in the nozzle.
# Coverage Optimization of WSNs Based on Enhanced Multi-Objective Salp Swarm Algorithm
## 4 Enhanced Multi-Objective Salp Swarm Algorithm (EMSSA)
### Enhanced Multi-Objective Salp Swarm Algorithm (EMSSA)
#### 4.2.1 Logistics Chaotic Mapping  
The initialization of the salps population is crucial for the convergence speed and optimization accuracy of MSSA. In order to increase the likelihood of obtaining good initial solution positions and accelerate the convergence of the population, this paper adopts the Logistics chaotic mapping method, which has better traversal uniformity and faster iteration speed. This method improves the coverage space of initial solutions, and the calculation is as follows  
\[x_{j+1}^{i}=\mu x_{j}^{i}\Big{(}1-x_{j}^{i}\Big{)}\ \,\ \ \ x_{j}^{i}\ <0.5 \tag{16}\]In this paper, \(\mu\) is set to 4, where \(\mu\in[0,4]\) is the chaotic parameter, and a larger \(\mu\) corresponds to stronger chaos. \(i=1,2,\cdots,N\) represents the population size, and \(j=1,2,\cdots,d\) represents the index of the chaotic variable.
# A Review of Fabrication Technologies for Carbon Electrode-Based Micro-Supercapacitors
## 5 Fabrication Technologies of Carbon Electrode-Based Micro-Supercapacitors
### Printing Technologies
#### 5.4.2 Screen Printing  
Screen printing is also a simple, fast, cost-effective technique that can be up-scaled and used for the fabrication of micro-supercapacitors [188; 189; 190; 191; 192; 193]. It uses a woven mesh to achieve a targeted pattern; thus, ink is pressed through the mesh openings onto a substrate such as paper, cloth, or plastic.  
A micro-supercapacitor, with 3D nanocomposite of cobalt oxide nanoflowers in carbon nanotubes networks (by high-throughput hydrothermal method) as active material, was fabricated using a screen printing technique [194]. Then, the screen-printed active material was covered by dropping polyvinyl alcohol/potassium hydroxide gel electrolyte onto it, and finally, this was stabilized by a PDMS passivation layer. A screen printing method was also applied to make solid-state flexible micro-supercapacitors with 3D boron carbon nitride microspheres (made via hydrothermal and annealing techniques), with an areal capacitance of 41.6 mF/cm\({}^{2}\)[195]. A simple fabrication process with screen printing was also employed to make solid-state integrated micro-supercapacitor arrays with porous  
Figure 12: Illustration of the computerized piezoelectric inkjet printing process for micro-supercapacitor fabrication. Figure reprinted with permission from [PERSON] et al. [187]. Copyright 2021 the American Chemical Society.  
activated biochar (Figure 13), which exhibited an areal capacitance of 116 mF/cm\({}^{2}\) and a high areal energy density of 9.3 uWh/cm\({}^{2}\)[196].
# A Cognitive Anycast Routing Method for Delay-Tolerant Networks
## 3 Anycast Routing
### Anycast CSG Routing
#### 3.2.2 Optimal Anycast Bundle Forwarding
```
1:procedureContactGraph(\(P\))\(\triangleright\) P: contact plan
2:\(G\leftarrow\{\) empty associative array \(\}\)
3:\(n\leftarrow\) length of \(P\)
4:for\(i\gets 1,n\)do
5:\((n_{i},n_{j},t_{e})\gets P[i]\)
6:\(G[i]\leftarrow\{\) empty list \(\}\)
7:for\(j\gets 1,n_{i}\
eq j\)do
8:\((n^{\prime}_{i},n^{\prime}_{j},t^{\prime}_{s},t^{\prime}_{e})\gets P[j]\)
9:if\(n_{j}==n^{\prime}_{i}\)then
10:if\(t_{s}<t^{\prime}_{e}\)then
11:\(G[i]\gets G[i]+j\)
12:endif
13:endif
14:endfor
15:endfor
16:return\(G\)
17:endprocedure
```  
**Algorithm 2** Create contact graph  
```
1:procedureGetRoutes(\(G\), \(P\), \(n_{s}\), \(n_{d}\), \(t\), \(j^{*}\))\(\triangleright\)\(G\): contact graph, \(P\): contact plan, \(n_{s}\): source, \(n_{d}\): destination, \(t\). wall time, \(j^{*}\): reference neighbor
2:\(R\leftarrow\{\) empty list \(\}\)
3:\(W\leftarrow\{\) empty list \(\}\)
4:\(W\gets W+([0],[n_{s}],t)\)\(\triangleright\)[0]: contact ID path,
5:\(\triangleright\)[\(n_{s}\)]: node path, 0: path cost, \(t\): wall time
6:whileW is not empty do
7:\(C\), \(N\), \(\tau\gets pop(W)\)\(\triangleright\) get & del first entry
8:\(h\leftarrow\) last contact ID listed in \(C\)
9:\((n_{j},n_{j},t_{s},t_{e})\gets P[h]\)
10:for all\(k\in G[h]\)do
11:\((n^{\prime}_{i},n^{\prime}_{j},t^{\prime}_{s},t^{\prime}_{e})\gets P[k]\)
12:if\(k\in C\) or \(n_{j}\in N\)then
13: continue\(\triangleright\) avoid loop
14:endif
15:if\(k==1\)then\(\triangleright\) destination contact
16:\(R\leftarrow(C+k,N,\tau)\)
17:else
18:if\(\tau>t^{\prime}_{e}\)then
19: continue\(\triangleright\) contact ended
20:else if\(\text{eta}<t^{\prime}_{s}\)then
21:\(\tau\gets t^{\prime}_{s}\)then
22:else if\(\tau\leq t^{\prime}_{e}\)then\(\triangleright\) wait for contact
23:\(W\gets W+(C+k,N+n^{\prime}_{j},\tau)\)
24:endif
25:endif
26:endif
27:endfor
28:endwhile
29:return\(R\) sorted by cost (\(\tau\)) and filtered so that for all \(r\in R\) the next hop is \(j^{*}\). 30:endprocedure
```  
**Algorithm 3** Search feasible routes