1. Introduction
Unmanned Aerial Vehicles (UAVs), also known as drones, refer to aircraft with no human pilot on board. These are either programmed and fully autonomous or remotely and fully controlled from another location, e.g., ground or space station. There are various types of UAVs (e.g., fixed wing and multirotor), and they come in different sizes, raging from small (less than 5 kg) to large (over 4332 kg) [
1]. Large UAVs are commonly used singly, for instance, in military operations such as border surveillance, strikes, and reconnaissance, whereas small UAVs may be utilized in swarms to accomplish a mission. With advancement in electronics and sensor technology, small UAVs are becoming massively present in many public and civilian applications, such as in search and rescue operations [
2], aerial surveillance [
3], tracking targets [
4], agriculture field monitoring [
5], network extension or compensation [
6], and leisure, to mention a few.
The use of swarms of small UAVs has many advantages compared to a single and large UAV [
7]. One of the key advantages is the cost to acquire and maintain small UAVs, which is generally much lower than the cost of a large UAV [
8]. Swarms of UAVs can automatically reconfigure themselves in case of node failure or link break and accomplish the designated task. That is not possible with a single UAV. Additionally, when network coverage extension is needed, it may be easily achieved with swarms of UAVs by positioning additional UAVs in the target area and allowing them to operate through other already existing UAVs, unlike single UAV network coverage, which is limited by the communication range between the infrastructure and the UAV itself.
Although swarms of UAVs present many advantages, an important aspect to be considered when designing an application using multiple UAVs is the communication network, which poses many challenging issues, as described in [
9,
10]. Depending on the purpose of the application at hand, UAVs may be semistationary and hovering over the area of operations or move around at high speed, changing their relative positions. In the latter scenario, frequent topology changes are observed, which may lead to network partitioning and poor link quality. On the other hand, the commonlyused wireless adhoc network communication protocols or algorithms (e.g., proactive and reactive routing) cannot be directly used for UAVs [
11]. For instance, since proactive routing protocols need to update the routing tables periodically, in the presence of a high degree of mobility and topology changes, it increases the number of control messages to be exchanged, which degrades the network performance. On the other hand, reactive protocols may introduce higher packet delivery delay each time they compute a new route to the destination node.
UAV placement schemes can help to mitigate the aforementioned issues by finding suitable positions to place UAVs while maintaining connectivity and improving the network performance. The UAV placement optimization schemes can be classified as centralized or distributed. The former assumes that the UAV positions are selected by a centralized entity and conveyed to the UAVs by means of a special purpose longrange low bit rate radio interface. On the other hand, in distributed approaches, UAVs work cooperatively to adjust their position based on local interactions to achieve optimal coverage. This work extends our previous work [
12], where we considered the use of a swarm of UAVs as flying access points forming a mesh network among themselves, providing connectivity to ground nodes (GNs). Our main goal is to optimize the placement of the UAVs by choosing deployment positions for the UAVs in order to provide adequate wireless communication coverage to GNs in a target area, while fulfilling their Quality of Service (QoS) requirements.
This work is more related to centralized placement optimization. Given the nature of the problem requirements, we use MultiObjective Evolutionary Algorithm (MOEA) techniques to optimize the UAV node placement considering the following objectives and constraints:
Minimization of the number of UAVs needed to service the GN, while ensuring that the QoS requirements (here, measured as the physical data rate) are properly met.
Minimization of the degree of dissatisfaction regarding the required data rate.
The number of available UAVs is limited and must not be exceeded.
The interUAV links do not necessarily employ the same technology as GNUAV links. InterUAV links are considered in an abstract way, but constrained to a maximum range.
It is assumed that the throughput values of the links between UAVs are high enough not to constrain endtoend interGN traffic. Only GNUAV links impose limits to the satisfaction of QoS requirements (endtoend QoS shall be addressed in future work);
GNUAV links are orthogonal. This can be achieved, for example, by assigning different frequencies or orthogonal channel codes.
The main contribution of this work is to provide a metaheuristic algorithm, which takes into account more than one objective and multiple constraints to best position the UAVs. Additionally, to reduce the search space and accelerate the convergence of the algorithm, we propose the use of convex hull algorithms to delimit the total area to be covered into a subarea inside the convex hull formed by the 2D positions of the GNs as explained later in this paper. The remainder of this paper is structured as follows:
Section 2 presents the related work. In
Section 3, the system model is presented.
Section 4 presents the problem definition and formulation as a MultiObjective Optimization Problem (MOP).
Section 5 presents our MOAEA implementation. The simulation results are presented in
Section 6.
Section 7 presents the simulation results’ discussion, and
Section 8 concludes the paper.
2. Related Work
Optimal placement of UAVs has already been studied in the literature, whether considering single or multiUAV scenarios. In [
2], a single UAV was proposed for search and rescue application such as earthquake, flood, or bomb blast. The goal is to deploy a UAV to a position where it can bridge communication between two static nodes on the ground. It is assumed that the UAV hovers over the area in spiral or ladder search mode, sending hello/beacon messages at a regular interval. Upon receiving such a message, the GNs respond by sending their GPS positions back to the UAV. The UAV stores this information and continues hovering in the immediate surroundings to find a position based on the Received Signal Strength (RSS) and distance between the UAV and nodes on the ground. Simulation results showed that the algorithm provides maximum throughput and a low Bit Error Rate (BER) once the UAV is fixed at an optimal position. The drawback of this system is that it is only validated for two GNs. Therefore, as the number of GNs grows, the solution should consider energy constraints during the search process and bandwidth constraints when providing network access to GNs.
The authors in [
13] have developed a framework named UAVNet. It is capable of autonomously deploying a wireless mesh network to interconnect two end systems using small quadrocopterbased UAVs with 802.11 s nodes on board. Each UAV would act as the access point and provide network access for regular IEEE 802.11 g wireless devices. There are two positioning modes to place the UAVs between the end systems. The first one is the locationbased positioning mode. The latter uses the submitted GPS locations of the end systems and directs the UAV to the exact geographical position between these two GPS coordinates. The second one is the signal strength positioning mode. It extends the location positioning mode and includes also the received signal strength of the two end systems to calculate a more accurate position for the UAV. This takes the quality of the wireless link and other environmental factors into account.
Usually, the process of network densification in cellular networks uses fixed small cells (e.g., picocells and femtocells) to increase the network capacity based on the expected formation of hotspots. In places where temporary hotspots are formed, fixed small cells would remain underutilized once the hotspots have moved to a different location or disappeared. The authors in [
14] proposed small cells mounted on UAVs to offload User Equipment (UE) from the microcell infrastructure. The optimum placement points of the UAVs are determined using the Kmeans clustering algorithm. In their work, the performance metric was measured based on the RSS experienced by the UE. The simulation results have shown that as UAVs are able to position themselves in real time around the actual UE position rather than expected UE hotspots, they outperform equivalent small cell deployment.
In [
15], AlHourani et al. presented a mathematical model that aims to optimize the flying altitude of UAVbased Base Stations (BSs) to maximize the coverage area on the ground. The AirtoGround (A2G) path loss model is based on their previous work [
16]. The A2G path loss in [
16] considered some parameters (
$\alpha o$,
$\beta o$, and
$\gamma o$) that describe to a fair extent the general geometrical statistics of a certain urban area in which the Radio Frequency (RF) signal propagates. The authors refer to the additive loss incurred on top of the Free Space Path Loss (FSPL) as the excessive path loss (
$\eta $), which has a Gaussian distribution. In the model,
$\eta $ is used to identify three different groups of GNs, namely G1, which is the group favoring the LineofSight (LoS) condition; group G2 corresponds to GNs with No LineofSight (NLoS), but still receiving coverage via strong reflection and diffraction; and lastly, group G3, which suffer from deep fading conditions. The probability of a certain propagation group (excluding G3) to occur at a certain elevation angle is computed. Differently from [
16], in [
15],
$\eta $ refers to the mean value of the excessive path loss rather than its random behavior. The authors were able to present a closedform equation based on the elevation angle and the urban statistical parameters (
$\alpha o$,
$\beta o$,
$\gamma o$).
In [
17], Kalantari et al. proposed a 3D UAV placement scheme using the Particle Swarm Optimization (PSO) algorithm. Their system model envisioned the use of UAVs as flying base stations (referred to as droneBSs) and limited their analysis to the downlink communications. The main goal of the proposed algorithm is to find the minimum number of droneBSs and their 3D placement to service all GNs with some target QoS requirement. The A2G channel model is similar to the one presented by AlHourani et al. in [
16], where the probability of LoS and NLoS connectivity between the droneBSs and GNs was studied as explained previously.
Chen et al. [
18] studied the optimum altitude to place a UAV when it is used to relay data from GN to a remote ground station for further processing. The new proposed model derives from the seminal A2G channel models [
15,
16]. Differently from the former models, the proposed model accounts for the hop from the UAV to the remote station. The study was limited to a single UAV, which in turn may limit the coverage area.
Mozaffari et al. [
19] proposed a method to deploy multiple UAVs equipped with directional antennas. The aim was to maximize the coverage performance while ensuring that the coverage areas of UAVs do not overlap. The path loss model considered here is based on the model proposed in [
16]. Although the A2G models and coverage schemes presented in [
15,
16,
17,
19] may be a good approximation in an urban environment, they do not address the coordination mechanism or connectivity among UAVs, i.e., the AirtoAir (A2A) connectivity, which is important for network reliability. In another work, Mozaffari et al. [
20] presented a study in which the main contribution was to analyze the coverage and rate performance of UAVbased wireless communication in the presence of underlying deviceto device (D2D) communication links.
In [
21], the authors presented a model for an optimal placement of UAVs to cover a set of targets, i.e., GNs. They considered two cost metrics, namely the number of UAVs and energy consumption, seeking to minimize both metrics. The authors assumed that each UAV had a minimum and maximum observation altitude. They also assured that the UAV’s energy consumption was related to this altitude, since the higher the altitude, the larger the observed area, but also the higher the energy consumption. The optimization problem was mathematically solved by defining an integer linear and a mixed nonlinear optimization model.
The authors in [
22] used the same assumption as in [
21] to model an optimized UAV placement and formulate it as a multiobjective linear problem. The main difference is that, in [
22], the connectivity among UAVs was considered as an additional constraint. In [
22], the following objectives were to be minimized: the number of UAVs and the maximum flying altitude. Our work is closer to [
22], though with some differences. Firstly, we consider using omnidirectional antennas instead of directional. Secondly, one of our objectives is to minimize the difference between the assigned and required data rate, whereas one of their objectives is to maximize the flying altitude.
Table 1 presents the main characteristics of the related work.
3. System Model
We consider a wireless network consisting of two kinds of nodes, GNs and UAVs, which are represented by the sets
$\mathbf{V}$ and
$\mathbf{U}$, respectively. All nodes are assumed to be located in a rectangular area
$\mathcal{A}$ with length
${X}_{max}$ and width
${Y}_{max}$. Nodes are equipped with omnidirectional transceivers and a GPS. Therefore, they know their positions in the aforementioned rectangular area at any time. The position of a GN
v is assumed to be on the ground with coordinates
${q}_{(x,y,0)}^{v}$, while the position of a UAV node
u is represented in the 3D plane as
${q}_{(x,y,h)}^{u}$, where
h is the flying altitude of
u. We consider
$\mathcal{A}$ as a suburban area and that the main factor affecting the service quality offered by a UAV is path loss. Furthermore, orthogonal channel codes are used to avoid interference between concurrent transmissions. Similar to [
23], we employed the logdistance path loss model, where the received power is calculated according to the following expression:
where
${P}_{r}(.)$ is the received power at a given distance. In Equation (
1),
${d}_{0}$ is the reference distance and
$\alpha $ is the path loss exponent. UAVs are assumed to have the same operating characteristics, featuring the same transmit power, antenna gains, and enough energy storage to complete the mission, and they may fly at different altitudes. GNs can only communicate with each other through UAVs. Assuming communication between a GN and a UAV,
d is computed as the Euclidean distance between their transceivers as follows:
We define
${\mathcal{D}}_{i}$ as the maximum achievable communication range for a given transmission mode
i by simply manipulating Equation (
1).
${\mathcal{D}}_{i}$ is computed considering
${P}_{r}\left(d\right)$ as the receiver sensitivity at transmission mode
i, and
${P}_{r}\left({d}_{0}\right)$ is the received power at a reference distance
${d}_{0}$. The distance
d between the transmitter and the receiver should not be greater than the maximum communication range
${\mathcal{D}}_{i}$ for the required communication mode
i. An overview of the proposed system is shown in
Figure 1.
5. UAV Placement Based on NSGAII
In this section, we present the terminologies used by NSGAII [
26] and the main genetic algorithm elements (individual or chromosome, fitness, selection, population, and genetic operators). The term solutions and individuals are interchangeably used along the remaining part of this paper.
NSGAII is an elitist MOEA, which comprises two main procedures. One is the Pareto ranking procedure, which aims at sorting the population into different nondomination levels (
${i}_{rank}$) in ascending order. The lowest ranking level contains the best solution. In order to identify solutions of the first nondominated front in a population of size
N, each solution is compared with every other solution in the population to find if it is dominated. After all members of the first nondominated front are found, they are discounted temporally so that the next nondominated front could be found by repeating this first procedure. The other procedure is the diversity preservation, which is used to maintain a good spread of solutions in the obtained set of solutions. Members in each nondominated front are assigned a value called
crowding distance (
${i}_{distance}$). This value gives an estimate of the density of solutions surrounding a particular solution in the population. A solution with a smaller value of this distance measure is, in some sense, more crowded by other solutions. The crowdedcomparison operator, denoted as
${\prec}_{n}$, is used to distinguish the best solution during the selection process. It assumes that every individual
i in the population has two attributes,
${i}_{rank}$ and
${i}_{distance}$. The partial order
${\prec}_{n}$ is defined as:
That is, between two solutions with differing nondomination ranks, we prefer the solution with the lower (better) rank. Otherwise, if both solutions belong to the same front, then we prefer the solution that is located in a less crowded region.
Algorithm 2 shows the main loop of NSGAII proposed by the authors in [
26], where the call of the routines fastnondominatedsort (
${R}_{t}$) and crowdingdistanceassignment (
${\mathcal{F}}_{i}$) corresponds to the first and second procedure described above, respectively.
${R}_{t}$ is of size
$2N$ formed by combining parent
${S}_{t}$ and offspring
${Z}_{t}$ populations.
${\mathcal{F}}_{i}$ refers to the
${i}^{\mathrm{th}}$ front or level. The detailed explanation of the aforementioned procedures is also available in [
26]. We describe the main loop of NSGAII as follows:
Algorithm 2 NSGAII main loop. 
 1:
${R}_{t}={S}_{t}\cup {Z}_{t}$  2:
$\mathcal{F}$ = fastnondominatedsort (${R}_{t}$)  3:
${S}_{t+1}=\varnothing \phantom{\rule{4pt}{0ex}}\mathbf{and}\phantom{\rule{4pt}{0ex}}i=1$  4:
Until${S}_{t+1}+{\mathcal{F}}_{i}\le N$  4.1.
crowdingdistanceassignment (${\mathcal{F}}_{i}$)  4.2.
${S}_{t+1}={S}_{t+1}+{\mathcal{F}}_{i}$  4.3.
$i=i+1$
 5:
Sort(${\mathcal{F}}_{i},{\prec}_{n}$)  6:
${S}_{t+1}={S}_{t+1}\cup {\mathcal{F}}_{i}[1:(N{S}_{t+1}\left\right)]$  7:
${Z}_{t+1}$ = makenewpopulation (${S}_{t+1}$)  8:
$t=t+1$

 Step 1.
Combine parent and offspring population;
 Step 2.
$\mathcal{F}=({\mathcal{F}}_{1},{\mathcal{F}}_{2},\dots )$; sort ${R}_{t}$ according to nondomination procedure;
 Step 3.
Initialize an empty set for the parent population ${P}_{t+1}=\varnothing $, and set a counter i to one;
 Step 4.
Until the parent population is filled;
 4.1.
Calculate crowdingdistance in ${\mathcal{F}}_{i}$;
 4.2.
Include the ith nondominated front in the parent population;
 4.3.
Check the next front for inclusion. The best solutions are in ${\mathcal{F}}_{1}$. If the size of ${\mathcal{F}}_{1}$ is smaller than N, we choose all the members of the set ${\mathcal{F}}_{1}$ for the new population ${S}_{t+1}$. The remaining members of the population ${S}_{t+1}$ are chosen from the subsequent nondominated front in the ascending order of their ranking, $({\mathcal{F}}_{2},{\mathcal{F}}_{3},\dots )$. Say that the set ${\mathcal{F}}_{l}$ is the last nondominated set beyond which no other set can be accommodated. In general, the count of solutions in all sets from ${\mathcal{F}}_{1}$ to ${\mathcal{F}}_{l}$ would be larger than the population size. In order to choose exactly N population members, we sort the solutions of the front ${\mathcal{F}}_{l}$ using the crowdedcomparison operator $\left({\prec}_{n}\right)$ in descending order and choose the best solution needed to fill all population slots;
 Step 5.
Sort in descending order using ${\prec}_{n}$;
 Step 6.
Choose the first $(N{S}_{t+1}\left\right)$ elements of ${\mathcal{F}}_{i}$;
 Step 7.
Use selection, crossover, and mutation to create a new population ${Z}_{t+1}$;
 Step 8.
Increment the generation counter.
5.1. Individual and Initial Population
An individual encodes a candidate solution to the problem. Our proposed individual stores the UAVs positions
${q}_{j}^{u}\in Q$ inside the discretized convex hull area
${a}^{\prime}$ for each deployed or serving UAV. The length of the individual (see
Figure 3) represents the number of deployed UAVs or points used in
Q; therefore, the length of one individual may differ from another in the population. If it is detected that some GNs are not covered in an individual, then the corresponding individual is considered as invalid, i.e., cannot be used in any step of the NSGAII algorithm. Algorithm 1 ensures that all individuals are valid during the creation of the initial population.
In our implementation of NSGAII, the initial population is a set of N randomlygenerated valid individuals, i.e., random solutions to cover the target area.
5.2. Objective or Fitness Function
A fitness function decodes the solution represented by a chromosome and lets us know how far we are from the optimal/ideal solution if it is known. In MOEA, there will be a fitness function for each objective space. Equations (
5) and (
9) compute the fitness for the number of UAVs and degree of dissatisfaction, respectively. Values scored from both objective functions are used by NSGAII to set the
ith front.
5.3. Selection
The goal of selection procedure is to pick the best individuals for the next generation. We use binary tournament selection based on crowdedcomparison operator
${\prec}_{n}$, as described in
Section 5.
5.4. Genetic Operators
Genetic operators are responsible for generating new solutions to populate the next generations. In the next sections, we present how they are performed.
5.4.1. Crossover
Two parents are chosen to exchange their genes with a probability
${p}_{c}$. We rely on 2D representation of each parent (see
Figure 4) to show how crossover is conducted. In this procedure, we find the midpoint in
${a}^{\prime}$ and draw a separation or cutting line to divide the area into two parts in each of the parents. The cutting line may be drawn diagonally in 45/−45 degrees or horizontally or vertically. Next, we remove all UAVs that are within a
$\frac{1}{2}\mathcal{D}$ distance radius along the cutting line within
${a}^{\prime}$. If the separation line is either diagonally or vertically drawn, the leftmost part of one parent is joined with the rightmost part of the other to form an offspring. On the other hand, if it is horizontally drawn, the uppermost and bottommost will be joined instead. There may be some uncovered GNs in the vicinity of the separation line, since we have removed some UAVs, which makes the resulting offspring an invalid individual. In this case, we repair the offspring by repeatedly choosing a random uncovered GN and place a UAV in a closest available point
${q}_{(x,y,h)}^{u}$ until all GNs are covered and the connectivity among UAVs is verified by Algorithm 1. UAVs that are not serving or bridging any GNs are removed.
5.4.2. Mutation
For each individual, a UAV is randomly chosen based on a probability
${p}_{m}$. Next, either it is temporarilyremoved from the network or reallocated to a new available placement point with 50% chance for each procedure to be performed. If the above procedures fail to produce a valid individual, then the UAV is put back in its initial position.
Figure 5a,b shows the removal and reallocation procedures, respectively.
5.5. Complexity
Determining the computational complexity of MOEA is difficult [
27], since it depends on the specific problem setting. According to [
26], the computational complexity of a faster algorithm such as NSGAII is
$O\left(M{N}^{2}\right)$, where
M is the number of objective functions and
N is the population size. On the other hand, the authors in [
27] have considered the computational complexity as
$O\left({n}_{g}M{N}^{2}\right)$, where
${n}_{g}$ is the number of generations. Depending on the stopping criteria used,
${n}_{g}$ can have any complexity from constant to NP. It should be noted that when
${n}_{g}$ is not constant or otherwise limited, it is a function of the chromosome size. In this work, although we define a fixed cutoff value, as we will see later, the number of generations
${n}_{g}$ will be variable due to the variable length/size of the chromosome. The size of the chromosome is defined by the current number of deployed UAVs (candidate solution). In a population of size
N, we may have many different solutions, which in turn makes it difficult to determine the computational complexity of our MOEANSGAII implementation.
7. Discussion
As shown above, varying $\mu $ affects the objective functions, though we have computed the convex hull to reduce the search space to some extent. However, this parameter may still reduce or increase the number of candidate points to place UAVs in the target area. The choice of $\mu $ depends on the requirement such as the area to be covered, the maximum transmission range, and also the number of available UAVs to cover the GNs to meet the QoS requirements.
In this work, varying the flying altitude would not significantly affect the objective functions given the order of magnitude between the communication range of omnidirectional antennas considered in the simulations and the allowed flying altitudes from the set $\mathcal{H}$, i.e., picking uniformly any value from the set $\mathcal{H}$, there will be a slight difference between the covered areas.
The use of NSGAII as an optimization tool allows us to produce a set of solutions that are better and spread as observed in our simulations results. It enables us to have options to select a solution according to the requirement of the application or problem at hand. For instance, if it is not acceptable that any GN communicates beyond 75% of the degree of dissatisfaction and there are no more than 60 available UAVs, then they can easily be configured with solutions that respect these requirements from our Paretooptimal (nondominated) set chosen from
Figure 7.
The experimental results presented in the previous section are specific to the proposed scenarios and assumptions that were considered in our system model. In a realistic environment, one should take into account additional constraints such as the effect of interference, GN mobility, number of GNs to be covered, terrain conditions, etc.
Interference: Nodes may be positioned within an acceptable distance for the required data rate, but may fail to achieve it due to interference caused by ongoing transmission of their neighboring nodes.
GN mobility: Although the mobility is not considered in this work, it is worth mentioning that it would at least demand scheduling of periodic updates and computation of new solutions due to topology changes. As was previously mentioned, that is a challenging issue, namely because of the need to minimize temporary connectivity disruption due to UAV position changes.
Number of GNs: UAVs have a limited capacity to service a certain number of GNs efficiently, and if this capacity is exceed, additional UAVs may be needed.
Terrain conditions/ structure: UAVs may not fly at the desired altitude due to the existence of obstacles (e.g., trees, mountains, buildings, etc.), which may require the addition of more UAVs to maintain the connectivity among the nodes.
Algorithm 1 was used to ensure the connectivity of the network and produce valid solutions. We used the Breadth First Search (BFS) algorithm to check if there is a path to the destination. If a path is not found, it adds a new UAV to connect it, as explained in
Section 4.2.1. This procedure is not optimized, which may conflict with the objective of minimizing the number of UAVs. However, it may eventually reduce the degree of dissatisfaction of the GNs.
8. Conclusions
This paper presents an optimized placement scheme for UAV access points providing network connectivity to GNs with differentiated data rate requirements. The goal of the proposed algorithm is to deploy as few as possible connected UAVs to cover and simultaneously satisfy the aforementioned requirements of the GNs. In order to attain this goal, we have mathematically formulated the problem and used an MOEA named NSGAII to run the simulations. In order for NSGAII to work, we proposed a chromosome structure, crossover scheme, and mutation procedure. Simulations were performed considering WiFi (802.11g) technology, where GNs would request to turn to a given transmission mode within a set of available ones. Simulation results show that the algorithm optimizes the UAV placement given the requirements and positions of the GNs, considering the tradeoff between the number of UAVs and the quality of the coverage.
In future work, we will consider additional constrains such as limited interUAV link capacity and interference. We will also consider joint topology and routing optimization.