## 3 Iterative Scheduling Algorithm for Throughput Optimization
### Algorithm Architecture of ISATR  
In the non-linear optimization field, the coordinate descent method differs from the gradient descent method, as it searches for optimal values along all coordinates. The block coordinate descent method adds the problem division stage to the traditional coordinate descent method, which means it performs coordinate descent on several designed sub-problems. \[\mathbf{x}_{i}^{(k)}=\arg\min_{\mathbf{x}_{i}}\ f(\mathbf{x}_{1}^{(k)},\ldots, \mathbf{x}_{i-1}^{(k)},x_{i},\mathbf{x}_{i+1}^{(k-1)},\ldots,\mathbf{x}_{n}^{ (k-1)}). \tag{11}\]  
As shown in (11) and Algorithm 1, the block coordinate descent algorithm groups all the variables into several blocks including \(x_{1},x_{2},\ldots,x_{n}\), and then in each iteration, only the variables in one block are optimized, while the variables in the other blocks remain unchanged. By updating the variables in different blocks alternately, the objective function is finally reduced. To tackle the throughput optimization problem with high complexity, we designed the ISATR (iterative scheduling algorithm of trajectory and resource) for this solution, inspired by the idea of BCD. The variables are divided into three categories, which are location, transmission power, and bandwidth allocation of UAV at all considered time slots. The energy cost of flight consumption is calculated in Equation (12), followed by communication cost derived in Equation (13). \(E^{C}\) represents communication energy cost, with normalized emission power \(P_{0}\) of unit space distance. \(E^{F}\) refers to flight consumption. Other relative variables and abbreviations are listed in Table 1.  
\[E^{C}=\sum_{n}^{N}\sum_{i}P_{0}\Delta T. \tag{12}\]\[E^{F}=\sum_{n}^{N}mv_{n}^{2}. \tag{13}\]  
```
Data: Initial variables in \(n\) designed blocks X = \(\{x_{1}^{0},\,x_{2}^{0},\ldots,x_{n}^{0}\}\) Result: Optimal \(\{x_{1},\,x_{2},\ldots,x_{n}\}\)
1\(X\gets X0\);
2 for\(k=1,2,\ldots\)do
3 for\(i=1,2,\ldots\)do
4\(x_{i}^{k}\gets x_{i}^{k}\), update \(x_{i}^{k}\) with other blocks fixed;
5
6 end for
7
8 end for
9 if stopping criteria satisfied then
10 return \(\{x_{1}^{k},x_{2}^{k},\ldots,x_{n}^{k}\}\);
11 end
```  
**Algorithm 1**Block coordinate descent algorithm  
The simulation process terminates when the last moving ground user has left the evacuation exit. Details of the iterative algorithm are clarified in Equation (14), followed by its pseudo-code Algorithm 2, with complexity also discussed. \[ \begin{split}\max_{UBP}&\sum_{n}^{N}\sum_{t}^{K}R_{ i,n}\\ s.t.&\left\{\begin{array}{l}0\leq P_{u}\leq P_{ max}\\ \sum_{i}^{F}E_{i,n}+E_{n}^{F}\leq E_{max}\\ \sum B_{i,n}\leq B_{i}\\ v_{n}\leq v_{max}\\ R_{min}\leq R_{i}\end{array}\right.\end{split}  \tag{14}\]  
The complexity of ISATR is also derived. For the block of UAV trajectory planning, the time complexity is O(NK), where N represents the number of time steps and K denotes the number of users. In each time step, the algorithm iterates over each user to calculate the distance between the UAV and each user. This involves a loop nested within the time step loop, resulting in a time complexity proportional to the product of N and K. Moreover, constant-time calculations are performed to determine the signal-to-interference-plus-noise ratio (SINR) and to update the total throughput. Therefore, the time complexity of this