## 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 multi-rotor), 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 semi-stationary 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 commonly-used wireless ad-hoc 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 long-range 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.