## 1 Introduction

It is estimated that the annual loss incurred by natural disasters (e.g., earthquakes, tsunamis, flooding, etc.) is about US$115 billion in the past 30 years. And even worse, on average 48 thousand people died in disasters per year

[26]. When a disaster event occurs, existing communication and transportation infrastructures may have been totally destroyed already. It is well recognized that the first 72 hours after the disaster are the golden time window for people life rescues, and search and rescue operations must be conducted quickly and efficiently [10, 18]. To rescue the people trapped in the disaster zone, it is urgent to have temporarily emergent communications to help them get out from there as soon as possible.On the other hand, wireless communications by utilizing UAVs recently have attracted a lot of attentions [10, 19, 23, 24, 33, 39, 41]. Unlike terrestrial communication infrastructures, low-altitude UAVs are more cost-effective, swift and flexible for on-demand deployments [40], where UAVs can work as aerial base stations by attaching lightweight base station devices [8, 25]. Several mobile operators, including AT&T and Verizon in the United States, have conducted trials with LTE base stations mounted on UAVs [25]. It is recognized that a UAV network composed of multiple UAVs is perfectly applicable for temporary and unexpected burst communication scenarios, such as natural disaster reliefs, concerts, and traffic congestion [4], where multiple UAVs can be temporarily deployed in the top of a disaster area to provide efficient communication services to ground users. Another advantage of UAV communications is that, they usually enjoy higher Line-of-Sight (LoS) link opportunity with ground users, due to high heights of UAVs, thereby having higher data rates and larger communication ranges [1]. Fig. 1 illustrates a UAV network with four UAVs, and the UAVs provide communication services (e.g., LTE or WiFi) to the ground people in a disaster area. With the aid of the UAV network, the people can send and receive emergent data, such as voice and video, to/from a rescue team nearby, thereby reducing their injuries and saving lives.

The deployment of UAV networks recently has gained lots of attentions [20, 29, 36, 42]. For example, Zhao et al. [42] presented a motion control algorithm for deploying UAVs to cover as many users as possible while maintaining the connectivity of the UAVs. Liu et al. [20]

considered a similar problem and proposed a deep reinforcement learning (DRL) based algorithm. Yang

et al. [36] investigated the problem of scheduling multiple UAVs to fairly provide communication services to mobile ground users for a given period, by using the DRL method, too.In spite of the aforementioned studies on the deployment of UAVs, most of them did not consider the service capacities of the UAVs and assumed that each UAV can serve all users in its communication range. On the other hand, due to the constraint on the payload of a UAV, e.g., the maximum payload a DJI Matrice M300 RTK UAV is only 2.7 kg [22], the computation capacity of the base station device mounted on the UAV is very limited [7, 8, 25]

. Then, the service capacity of each UAV, i.e., the maximum number of users that the UAV can serve, is very limited. Furthermore, it is shown that users may not be uniformly distributed in a monitoring area. It is very likely that there are many people at a small portion of places while only a few people at the other places. That is, the human density follows the power law

[30]. For example, after an earthquake, many people may stay in a public plaza without surrounding buildings for their safeties. It can be seen that only one UAV may be deployed in the top of a dense location with many people by the existing studies [20, 36, 42], as the people are within the transmission range of the UAV. However, only a portion of the people can be served by the UAV due to its limited service capacity. A simple solution to address this issue is to deploy multiple UAVs to cover such a dense location with many people. However, a difficult challenge lies in that there may be multiple such dense locations in a disaster area which are far away from each other, while the communication network formed by the deployed UAVs at different locations may not be connected.In this paper, we consider that each UAV can provide communication services to limited numbers of users simultaneously. We study a novel connected maximum throughput problem, which is to deploy UAVs for serving people in a disaster zone, such that the sum of the data rates of users served is maximized, subject to that (i) the number of users served by each UAV is no greater than its service capacity; and (ii) the communication subnetwork induced by the UAVs is connected. Tackling this defined problem poses the following challenges:

(1) Among potential hovering locations for the UAVs, which locations should be chosen such that the sum of the data rates of users is maximized, subject to that each UAV has a limited service capacity. (2) How to ensure that the communication network induced by the UAVs at the identified locations is connected. (3) Consider that the problem is NP-hard, developing an approximation algorithm with a provable approximation ratio for the problem is extremely difficult, as not only do we need finding the locations for the UAVs to maximize the sum of user data rates, but also we must ensure that the communication network induced by the UAVs is connected.

The novelty of this paper lies in not only incorporating the service capacities of UAVs into consideration but also proposing a performance-guaranteed approximation algorithm to the connected maximum throughput problem in a UAV network. Specifically, the proposed algorithm delivers a -approximate solution to the problem, which significantly improves the best -approximate solution so far by five times [17], where is the number of UAVs, is the base of the natural logarithm.

The main contributions of this paper can be summarized as follows. We first formulate a novel connected maximum throughput problem for a UAV network that consists of UAVs. We then devise a -approximation algorithm for the problem. Particularly, the approximation ratio of the algorithm is only when (=50) UAVs are deployed. We finally evaluate the proposed algorithm performance via simulation experiments. Experimental results show that the algorithm is very promising. Especially, the sum of the data rates of users served by the proposed algorithm is up to 12% larger than those by existing algorithms.

The rest of this paper is organized as follows. Section 2 reviews related work. Section 3 introduces the system model and defines the problem precisely. Section 4 proposes an efficient algorithm for a subproblem of the connected maximum throughput problem that will serve as a subroutine of the proposed approximation algorithm. Section 5 devises an approximation algorithm for the problem, and Section 6 analyzes the approximation ratio of the approximation algorithm. Section 7 evaluates the performance of the proposed algorithm via simulation experiments, and Section 8 concludes this paper.

## 2 Related Work

The utilization of UAVs as aerial base stations has attracted a lot of attentions recently. For example, Zhao et al. [42] proposed a distributed motion control algorithm to deploy a fixed number of UAVs to serve as many as users, while guaranteeing the connectivity of the UAV network. Liu et al. [20] designed an improved algorithm for a similar problem, by adopting a deep reinforcement learning. Yang et al. [36] studied a problem of scheduling multiple UAVs to provide communications to users within a period in a fair way, by using the deep reinforcement method, too. Shi et al. [29] investigated a problem of finding the flying tours of UAVs for a period so that the average UAV-to-user pathloss is minimized. They decoupled the problem into several local optimization subproblems, and solved the subproblems independently. Selim et al. [28] proposed a UAV network infrastructure, which consists of three types of UAVs: tethered backhaul UAVs that provide high capacity backhauling, untethered communication UAVs that provide communication service to ground users, and untethered powering UAVs for charging communication UAVs. They studied a problem of finding the placement locations of UAVs such that the energy consumption of the UAVs is minimized, where each user has a minimum data rate. Also, Alzidaneen et al. [2] considered a network that consists of UAVs and tethered balloons, where UAVs can communicate with ground users while UAVs access the Internet by directly communicating with the balloons. It can be seen that the coverage area of the network is limited, since UAVs must be within the communication range of the tethered balloons. They studied a problem of finding the hovering locations of UAVs, the association between UAVs and users, and the association between UAVs and balloons, such that the sum of the data rates of all users is maximized. However, most of these mentioned studies did not take the service capacity of each UAV into consideration, and assumed that a UAV can serve all users in its communication range. On the other hand, it is not uncommon that both the computation and communication capabilities of a UAV are limited, due to various constraints on its size, weight, and power supply [7, 8]. In this paper, we assumed that each UAV can provide communication services to limited numbers of users simultaneously.

On the other hand, there are several studies on maximizing submodular functions subject to the connectivity constraint. For example, Kuo et al. [17] considered the problem of deploying wireless routers in a network such that a submodular function of the deployed routers is maximized, subject to the connectivity constraint that the subnetwork induced by the routers is connected. They proposed a -approximation algorithm, which is inferior to the approximation ratio of the algorithm obtained in this paper, where is the base of the natural logarithm. Khuller et al. [15, 16] studied a problem of choosing nodes in a network so that a special submodular function of the chosen nodes is maximized, subject to the connectivity constraint, where is a special submodular if (i) is submodular; and (ii) if for any , and denotes the neighborhood of a set , including itself. They designed a -approximation algorithm. However, the objective function of the problem considered in this paper may not be a special submodular function. In addition, Huang et al. [12] investigated the problem of placing sensors to monitor targets so that the number of targets covered by the sensors is maximized and the network formed by the placed sensors is connected, where a target is covered by a sensor if their Euclidean distance is no more than a given sensing range , and two sensors can communicate with each other if their Euclidean distance is no greater than a given communication range , and . They proposed a -approximation algorithm, where , and the ratio thus is between and , as . Yu et al. [37, 38] recently improved the ratio to . It can be seen that both the approximation ratios in [12] and [37, 38] are , when , which indicates that the performance of the solutions delivered by the both algorithms may be far from the optimal solution. Therefore, the both algorithms in [12] and [37, 38] are applicable to the case with many to-be-placed sensors, i.e., the value of is very large, e.g., . Notice that there are usually tens or hundreds of UAVs to-be-deployed in a real UAV network, and the approximation ratio in this case is much larger than . For example, , when UAVs are to be deployed.

Although the proposed -approximation algorithm in this paper are motivated by the -approximation algorithm in [17], the main technical differences between them are twofold. (i) One difference is that the algorithm in [17] shows that a tree that covers the optimal location nodes can be decomposed into subtrees so that the number of nodes in each subtree is no more than . Then, there must be one subtree, say , among the subtrees such that the sum of the data rates of users served by UAVs deployed at the location nodes in the subtree is no less than of the sum of the data rates for the optimal tree . In contrast, in this paper we show that the tree can be decomposed into subtrees , such that the number of nodes in each subtree is no greater than , see Lemma 3 in Section 6.1. It thus can be seen that there must be one subtree, say , among the subtrees, such that the sum of the data rates of users served by UAVs at the location nodes in is no less than of the sum of the data rates for the optimal tree . It must be mentioned that the number of nodes in is much larger than the number of nodes in .

(ii) The other difference is that the algorithm in [17] finds a -approximate tree of with nodes, by observing that, for any node in , the minimum number of hops between any node in and is no greater than , where is the base of the natural logarithm. Then, is a -approximate solution. Contrarily, we find a -approximate tree of with nodes, by showing that there is a special node in such that the sum of the minimum numbers of hops between nodes in and is no greater than , see Lemma 4 in Section 6.2. Then, is a -approximate solution.

We also note that Cadena et al. [6] proposed a -approximation algorithm for the problem of finding connected nodes in a metric graph, such that a submodular function is maximized, where is the doubling dimension of the graph. The proposed algorithm in this paper exhibits some advantages over the one in [6] as follows. First, the approximation ratio of the proposed algorithm is better than the approximation ratio of the algorithm in practical applications. In a two dimensional Euclidean space, the doubling dimension is [34]. Then, and the approximation ratio of the algorithm by Cadena et al. [6] is . It can be seen that the approximation ratio in this paper is larger than when . In a UAV network, there are only tens of, or hundreds of to-be-deployed UAVs. On the other hand, the ratio is smaller than when . However, it is unlikely to deploy more than two million UAVs.

Second, the algorithm of Cadena et al. [6] is only applicable to metric graphs, in which the value of the doubling dimension is small. For a non-metric graph, the value of may be very large. In this case, the approximation ratio approaches to , when is very large. On the other hand, the proposed algorithm in this paper is applicable to non-metric graphs and its approximation ratio still holds.

## 3 Preliminaries

In this section, we first introduce the system and channel models, then define the problem.

### 3.1 System model

When a disaster (e.g., an earthquake or a flooding) occurs, the communication and transportation infrastructures may have been destroyed. To rescue the people trapped in the disaster area, it is urgent to have temporarily emergent communications to help them get out from there. A promising solution is to deploy multiple UAVs to form a network.

Fig. 1 shows a UAV network in which four UAVs work as base stations to provide communication services (e.g., LTE or WiFi) to affected people in a disaster zone. Assume that at least one of the UAVs serves as a gateway UAV, which is connected to the Internet, with the help of an emergency communication vehicle or satellites, see Fig. 1. It can be seen that once a trapped people can communicate with a nearby UAV using his smartphone, the people can send and receive critical voice, video, and data to/from the rescue team, with the help of the UAV network.

The disaster area can be treated as a 3D space with length , width , and height , e.g., km and m. Assume that there is a set of users on the ground of the disaster area, i.e., . We also assume that each user has a minimum data rate requirement , e.g., kbps.

Denote by the coordinate of a user with . We assume that the locations of users are known, which can be obtained by one of the following methods.

On one hand, user smartphones usually are equipped with GPS modules, and each user can send his location information to a UAV within the communication range of his smart phone, when the UAV flies over the disaster area. On the other hand, if users do not know their locations, since most UAVs are equipped with GPS modules, a few UAVs can fly over the disaster area and estimate user locations, by first taking photos for users with their on-board cameras (each photo is tagged with the location information where it was taken), then inferring user locations by applying an existing target detection method [13, 14]. In addition, if some users are not in Line-of-Sight (LoS) of UAVs and thus cannot be seen by the UAVs, the users can broadcast a probe request with their wireless communication devices. The UAVs then can estimate the locations of the users by the received radio signal strength index (RSSI) measurements [9, 31].

We consider the deployment of no more than UAVs to provide communication services (e.g., LTE or WiFi) to affected users in a monitoring area. Each UAV is equipped with a lightweight base station device and can act as an aerial base station with [8]. Due to the constraint on the payload of a UAV, e.g., the maximum payload a DJI Matrice M300 RTK UAV is only 2.7 kg [22], the computation capacity of the base station device mounted on the UAV is very limited [7, 8, 25]. Denote by the service capacity of each UAV, which means that a UAV can provide communication services to users simultaneously, e.g., users.

We assume that all UAVs hover at the same altitude , which is the optimal altitude for the maximum coverage from the sky [1, 42], e.g., m. It can be seen that there are infinite numbers of potential hovering locations for the UAVs, which however makes their placements intractable. For the sake of convenience, we here only consider a finite number of potential hovering locations for the UAVs, by dividing their hovering plane at altitude into equal size squares with side length , e.g., meters. For the sake of convenience, we assume that both length and width are divisible by . Thus, the hovering plane of the UAVs can be partitioned into grids. We further assume that each UAV hovers only at the center of a grid but do not allow two or more UAVs to hover at the same grid to avoid collisions [42]. Denote by the center locations of the grids. Let be the set of the potential hovering locations, i.e., . Table I lists the notations used in this paper.

set of ground users | |
---|---|

minimum data rate of a user | |

coordinate of user with | |

number of UAVs | |

service capacity of each UAV | |

bandwidth of each user | |

length, width, and height of the disaster area | |

hovering altitude of UAVs | |

side length of a square | |

number of squares in the plane at altitude | |

center locations of the squares | |

set of potential UAV locations | |

transmission range between two UAVs | |

transmission range between a user and a UAV | |

Euclidean distance between user and the UAV at location | |

whether a UAV is deployed at location | |

whether user is served by a UAV deployed at location | |

data rate of user from the UAV at | |

UAV network | |

a set of UAV hovering locations | |

maximum sum of the data rates of users served by the UAVs deployed at locations in | |

a maximum weighted matching in graph | |

a minimum spanning tree in graph | |

weighted sum of edges in tree , i.e., |

### 3.2 Channel models

We consider both UAV-to-UAV and UAV-to-user channel models as follows. UAV-to-UAV channels are mainly dominated by Line-of-Sight (LoS) links, and can be modelled as the free space path loss [1]. Denote by the communication range of a UAV, i.e., two UAVs can communicate with each other if their Euclidean distance is no greater than .

On the other hand, the UAV-to-user channel model is more complicated, which must consider both LoS and NLoS (Non-Line-of-Sight) links [1, 42]. Denote by and the average pathlosses of LoS and NLoS for a user from UAV , respectively. Following the work in [1], we have

(1) | |||||

(2) |

where is the radio frequency, is the Euclidean distance between user and UAV , is the speed of light, and are the average shadow fadings for LoS and NLoS links, respectively, and the value of the pair is (0.1 dB, 21 dB), (1 dB, 20 dB), (1.6 dB, 23 dB), (2.3 dB, 34 dB) for suburban, urban, dense urban, and highrise urban environments, respectively.

Let (in dB) and

(in dB) be the signal transmission power and antenna gain of each UAV, respectively. Then, the LoS signal-to-noise ratio (SNR) and the NLoS SNR for user

from UAV are(3) | |||||

(4) |

respectively, where (in dB) is the noise power [36].

Denote by and

the probabilities of an LoS link and an NLoS link between user

and UAV , respectively, where , and the value of probability depends on the UAV altitude and the horizontal distance between user and UAV [1]. Then, the expected data rate of user served by UAV is(5) | |||||

where is the wireless channel bandwidth [36].

### 3.3 Spectrum allocations

To provide communication service to multiple users at the same time, we assume that the OFDMA technique is used by the UAV. Denote by the spectrum segment available for each UAV. Following the LTE standard [27], the spectrum segment used by a base station is one value among the 1.4, 3, 5, 10, 15, and 20 MHz. In this paper, we adopt that MHz [27]. To ensure fair sharing of the communication bandwidth among the users, assume that each user uses the same amount of bandwidth , e.g., kHz [27], and at most users can access the UAV at the same time, since an resource block is the minimum unit of transmission and is 180 kHz wide [27] (notice that in the total 20 MHz bandwidth cannot be used).

Since some users may be within the transmission ranges of multiple UAVs, to reduce the interference of such users, two adjacent UAVs can be allocated with different spectrum segments [27]. On the other hand, to reuse the frequency as efficiently as possible, the same spectrum segment can be reused by two UAVs if they are far away from each other. Note that the problem of allocating the minimum number of spectrum segments is equivalent to the vertex coloring problem in graphs [5]. Specifically, a graph is first constructed, where the hovering locations of the UAVs, and there is an edge in between two locations and if their Euclidean distance is no more than twice the communication range of a ground user, i.e., . The vertex coloring problem in is to use the minimum number of colors to color vertices in the graph, such that no two adjacent vertices are colored with the same color. The vertex coloring problem however is NP-hard, and the algorithm in [5] can be applied to find an approximate solution to the problem in polynomial time.

### 3.4 Problem definition

We use an undirected graph to represent the UAV network, where is the set of users on the ground of the monitoring area, is the set of potential hovering locations of UAVs at altitude . There is an edge in between a user and a hovering location if the Euclidean distance between them is no greater than , and there is an edge in between two hovering locations and if their distance is no more than . Notice that the number of available UAVs just after a disaster may be very limited and thus they may not be able to serve all users. In addition, it usually takes time, e.g., one or two days, to purchase new UAVs and install base station devices for rescuing. However, it is very urgent to provide communication services to users. Then, an important problem is to serve as many users as possible by the available UAVs.

In this paper we consider the connected maximum throughput problem in , which is to choose no more than hovering locations among all potential hovering locations in for placing the UAVs, such that the network throughput, i.e., the sum of the data rates of users served by the deployed UAVs, is maximized, subject to that (i) each user can be served by at most one UAV within its communication range ; (ii) the data rate of user is no less than its minimum data rate if user is served by a UAV; (iii) the number of users served by each UAV is no more than its service capacity ; and (iv) the communication network induced by the deployed UAVs is connected.

The connected maximum throughput problem can also be formulated by an Integer Programming as follows.

We use a binary variable

to indicate whether user is associated with a UAV at hovering location , i.e., if is associated with ; otherwise, . We use another binary variable to indicate whether there is a UAV deployed at location , i.e., if a UAV is deployed at location at ; otherwise, . The problem then is to(6) |

subject to the following constraints.

(7) | |||

(8) | |||

(9) | |||

(10) | |||

(11) | |||

(12) | |||

(13) |

where Constraint (7) ensures that the number of users served by each UAV is no more than its service capacity . Constraint (8) indicates that the UAV communication network is connected. That is, for any proper subset of , if the number of deployed UAVs in is between 1 and (i.e., ), then there must be a UAV deployed at a location in (i.e., ) and another UAV at a location in (i.e., ), such that they can communicate with each other, where is the set of edges having exactly one endpoint in . Constraint (9) implies that no more than UAVs will be deployed. Constraint (10) shows that the data rate of each user is no less than its required minimum data rate if it is served. Constraint (11) ensures that each user can be served by no more than one UAV. Constraint (12) indicates that user cannot be served by any UAV at location outside of its communication range , and is the Euclidean distance between and .

To deal with the defined connected maximum throughput problem, we here define another problem: the maximum assignment problem, which will serve as an important subroutine for the original problem. Given a subset of hovering locations with such that a UAV has already been deployed at each location in , the problem is how to assign users in to the UAVs at locations in so that the sum of the data rates of users is maximized, subject to the service capacity on each UAV and the minimum data rate of each user . Notice that the subnetwork induced by the UAVs of the maximum assignment problem may not necessarily be connected. For any subset , denote by the maximum sum of the data rates of users served by UAVs deployed at locations in .

### 3.5 Submodular functions

Let be a set of finite elements and a function with . For any two subsets and of with and any element , is submodular if [32], and is monotone submodular if .

## 4 Optimal Algorithm for the maximum assignment problem

In this section, we propose an exact algorithm for the maximum assignment problem, which calculates the maximum sum of data rates of users served by UAVs at locations in a given subset , assuming that a UAV has already been deployed at each location in . This algorithm will serve as a subroutine for the connected maximum throughput problem later. We also show an important property of function , that is, is nondecreasing and submodular. This property is a cornerstone of the proposed algorithm for the connected maximum throughput problem later.

### 4.1 An optimal algorithm for calculating

The basic idea behind the algorithm is to reduce the problem to the maximum weighted matching problem in an auxiliary bipartite graph, and an optimal matching to the problem in the auxiliary graph in turn returns an optimal solution to the maximum assignment problem.

An auxiliary bipartite graph is constructed, where is the set of users, there are ‘virtual’ hovering locations in for each real location , and is the service capacity of each UAV. There is an edge in between a user and each virtual location with if the Euclidean distance between user and is no more than the communication range of user , i.e., , and the data rate is no less than the minimum data rate of user , i.e., . Finally, the weight of edge is the data rate of user if is served by a UAV at . Fig. 2 illustrates such a graph with .

Having constructed graph , a maximum weighted matching in then is found, by applying an algorithm in [11], where is a matching in such that the weighted sum of edges in , i.e., , is maximized. Fig. 2 shows such a maximum weighted matching . A solution to the maximum assignment problem is obtained from the matching, where a user is assigned to the UAV at if is matched to a virtual node in . For example, it can be seen from Fig. 2 that both users and are assigned to , and is assigned to . However, is not assigned to any one. Then, the sum of the data rates of users served by UAVs is equal to the weighted sum of edges in matching , i.e., .

The algorithm for the maximum assignment problem is presented in Algorithm 1.

### 4.2 Algorithm analysis

###### Lemma 1

Given a UAV network , a subset of hovering locations with a UAV deployed at each location in , and the service capacity of each UAV, there is an algorithm, Algorithm 1, for the maximum assignment problem in , which delivers an optimal solution in time , where and .

###### Proof:

It can be seen that the value of the optimal solution to the maximum assignment problem in is equal to the weighted sum of the edges of the maximum weighted matching in [11]. Since the algorithm in [11] delivers a maximum weighted matching in , Algorithm 1 delivers an optimal solution.

We analyze the time complexity of Algorithm 1. Denote by and the number of nodes and edges in , respectively. Following the construction of , it can be seen that and , since the number of UAVs within the communication range of each user is limited. Since the time complexity of the algorithm in [11] is , the time complexity of Algorithm 1 is , since . The lemma then follows.

### 4.3 Submodularity of function

###### Lemma 2

Given any subset of , let be the maximum sum of the data rates of users served by the UAVs at the hovering locations in , which can be calculated by Algorithm 1. Then, function is nondecreasing and submodular.

###### Proof:

The proof is contained in the supplementary file.

## 5 Approximation Algorithm for the connected maximum throughput problem

In this section, we study the connected maximum throughput problem. We first provide the basic idea of the proposed approximation algorithm. We then devise a -approximation algorithm for the problem, where is the base of the natural logarithm and is the number of UAVs.

### 5.1 Basic idea

The basic idea behind the proposed algorithm is as follows. Given any location , the algorithm first identifies a subset of hovering locations around , such that the sum of the data rates of users served by the UAVs at the identified locations is maximized, while ensuring that the sum of shortest distances between and nodes in is no more than , where the shortest distance between and a node is the minimum number of hops between them in . Since the subnetwork induced by nodes in may not be connected, ensuring these nodes to be connected is done through adding relaying nodes among them while keeping the number of nodes in the resulting connected component is no greater than .

### 5.2 Approximation algorithm

For each hovering location , the algorithm finds a set of location nodes such that the induced graph of by the nodes in is connected, where is contained in . The solution to the connected maximum throughput problem then is such a set that the sum of the data rates of users served by the UAVs deployed at locations in is maximized, i.e., , where is the number of hovering locations in . In the following, we show how to find set for each .

For each hovering location , we first find the shortest distance (in terms of numbers of hops) in between and each hovering location in , by applying a Breadth-First-Search starting from .

We then consider a constrained maximum throughput problem, which is to find a subset of such that the sum of the data rates of users served by the UAVs deployed at the locations in is maximized, subject to that the sum of the shortest distances between the nodes in and is no greater than , i.e., , where is the minimum number of hops between a node and in . We later show that this problem can be cast as a submodular function maximization problem subject to a knapsack constraint. Then, we can find a -approximate solution to the constrained maximum throughput problem, by applying the algorithm in [32], where is the base of the natural logarithm. Let , see Fig. 3(a).

Notice that the induced graph of by the nodes in may not be connected. The rest is to find a connected subgraph of , such that the nodes in are contained in and contains no more than nodes.

A graph is first constructed from set , where there is an edge in between any two nodes and in , and its edge weight is the minimum number of hops between them in . A minimum spanning tree (MST) in is then found, see Fig. 3(b). There is an important property, that is, the weighted sum of the edges in is no greater than , i.e., , which will be shown later. Denote by the number of nodes in tree . Then, there are edges in . For each edge in tree , there is a corresponding shortest path in graph between nodes and . A connected subgraph of then can be obtained from , which is the union of the shortest paths in , i.e., . For example, Fig. 3(c) shows a graph constructed from the tree in Fig. 3(b), where and . Following the construction of , it can be seen that the number of edges in is no more than the weighted sum of the edges in , as the weight of each edge in is the shortest distance between nodes and in . The number of nodes in thus is no more than , since is connected.

Denote by the node set of graph . Then, . We construct a set that contains no more than nodes and the nodes in are contained in as well. If , then . Otherwise (), let initially. We add nodes to one by one until contains exactly nodes or the marginal gain of adding any node is zero, such that each added node has the maximum marginal gain, subject to that the node is connected with a node already in . For example, Fig. 3(d) shows that node is added to and .

It can be seen that the induced subgraph by the nodes in set is connected.

The algorithm for the problem is presented in Algorithm 2.

### 5.3 Redeployment of UAVs with user mobility

Users may move around in the disaster area. It can be seen that an optimal deployment of the UAVs may become sub-optimal after a period of time, due to users mobility. In this case, we invoke the proposed algorithm to calculate the updated optimal deployment locations of the UAVs every time slot, e.g., 2 minutes. At the beginning of each time slot, we first calculate the new deployment locations of the UAVs with the most recent location information of users, by invoking the proposed algorithm. taken by the on-board cameras of the UAVs [13, 14]. If the network throughput under the previous UAV deployment locations is only slightly worse than that under this new UAV deployment locations, e.g., no more than 5% smaller, the UAVs do not fly to their new deployment locations, since frequent redeployments of UAVs consume large amounts of energy. Otherwise (the previous network throughput is at least 5% smaller than the new network throughput), the UAVs fly to their new locations.

### 5.4 The energy issue of UAVs

To provide uninterrupted communication services to users in a disaster area for a critical period, e.g., within 72 hours, we assume that the UAV communication network consists of (1) , e.g., 30, communication UAVs; (2) standby communication UAVs; and (3) standby UAV batteries which can be simultaneously charged at a nearby service center, where the cost of a UAV battery usually is much cheaper than the cost of a UAV. When some communication UAVs run out of energy, the standby UAVs first replace the communication UAVs by flying to the service hovering locations of the communication UAVs, and the communication UAVs then return to the service center to replace their batteries. The communication UAVs act as new standby UAVs for later UAV replacements. The detached UAV batteries can be recharged at the service center. By doing so, there are always communication UAVs deployed to provide communication services to ground users. The calculations of the number of standby communication UAVs and the number of standby UAV batteries are contained in the supplementary file.

## 6 Analysis of the Approximation Algorithm

In this section, we analyze the approximation ratio of the proposed algorithm, Algorithm 2, for the connected maximum throughput problem. Denote by and the optimal solution and its value, respectively, i.e., . Following the definition of the connected maximum throughput problem, the induced graph by the nodes in is connected. It can be seen that there is a spanning tree in , assuming that the cost of each edge is one. The roadmap of the approximation ratio analysis is as follows.

We first show that tree can be decomposed into subtrees such that the number of nodes in each subtree is no more than and in Lemma 3 of Section 6.1, where be the maximum integer between and the largest odd number no more than . Due to the submodularity of the objective function by Lemma 2 in Section 4.3, it can be seen that there is a subtree, say , among the subtrees such that the sum of the data rates of users served by the UAVs in is no less than of that in the original tree , i.e., , where .

We then prove that there is a node in such that the sum of the shortest distances between and the nodes in is no more than , i.e., , see Lemma 4 in Section 6.2. Denote by the optimal solution to the constrained maximum throughput problem with respect to node . It can be seen that the nodes in form a feasible solution to the constrained maximum throughput problem with respect to node , and thus . Therefore, we obtain a non-trivial upper bound on the optimal solution , i.e., , see Lemma 5 in Section 6.2.

On the other hand, we are able to find a -approximate solution to the constrained maximum throughput problem with respect to node , which implies that . In addition, we can obtain a set of nodes including nodes in such that the induced subgraph by in is connected, since . Then,