Scheduling of Emergency Tasks for Multiservice UAVs in Post-Disaster Scenarios

10/20/2020 ∙ by Cristina Rottondi, et al. ∙ 0

Single-task UAVs are increasingly being employed to carry out surveillance, parcel delivery, communication support, and other specific tasks. When the geographical area of operation of single-task missions is common, e.g., in post-disaster recovery scenarios, it is more efficient to have multiple tasks carried out as part of a single UAV mission. In these scenarios, the UAVs' equipment and mission plan must be carefully selected to minimize the carried load and overall resource consumption. In this paper, we investigate the joint planning of multitask missions leveraging a fleet of UAVs equipped with a standard set of accessories enabling heterogeneous tasks. To this end, an optimization problem is formulated yielding the optimal joint planning and deriving the resulting quality of the delivered tasks. In addition, two heuristic solutions are developed for large-scale environments to cope with the increased complexity of the optimization framework. The joint planning is applied to a specific scenario of a flood in the San Francisco area. Results show the effectiveness of the proposed heuristic solutions, which provide good performance and allow for drastic savings in the computational time required to plan the UAVs' trajectories with respect to the optimal approach, thus enabling prompt reaction to the emergency events.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 11

page 12

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

The usage of Unmanned Aerial Vehicles (UAVs) to accomplish different kinds of tasks in post-disaster recovery scenarios has recently become the subject of investigation (Erdelj et al., 2017). Fleets of UAVs performing environmental monitoring (Saeed et al., 2017), dispatching medicines in rural/hardly accessible areas (Bamburry, 2015), or ensuring mobile connectivity (Fotouhi et al., 2019) have already been envisioned. As a relevant example, UAVs are employed in Rwanda to deliver blood packs to 21 hospitals located in remote and isolated areas on a regular basis, even in the presence of harsh weather conditions (Ackerman and Strickland, 2018).

To date, critical tasks such as those aforementioned exploited dedicated UAVs, with equipment and resources selected and dimensioned according to the needs of the specific task (Lee, 2017). However, in a post-disaster scenario, fleets of UAVs are likely to be dispatched carrying out different tasks over the same geographical area. For instance, a UAV equipped with a video-camera may be dispatched to monitor a certain geographical area. At the same time, another UAV equipped with an antenna may be dispatched to provide communications support over a geographical area. If the latter UAV were also equipped with a video-camera and had the needed additional resources (e.g., enough battery), it could have carried out the surveying task as well, eliminating the need for dispatching the former UAV. Thus, a 50% savings in the number of UAVs would be achieved at the cost of some increase in the total required energy, to account for the video-camera consumption and the increased load carried by the UAV. Howver, this energy increase would be minimal, compared to the energy required to fly the UAV and operate the antenna and would be more than compensated for by saving the engagement of another UAV. Another possible implication of a UAV carrying out two tasks instead of two UAVs carrying out a single task each, is that the quality of service associated with each task may be lower in the former case, as the UAV is now not dedicated to a specific task only. For instance, surveillance of some region maybe delayed if providing communication support in another region is prioritized. The aforementioned implications of multitasking will be low if an effective joint planning of multitask missions is devised. In addition, the larger the number of candidate UAVs that can participate in a specific task, the lower the impact of multitasking on the quality of the delivered task is expected to be.

In this study, we investigate a joint planning of multitask missions leveraging a fleet of UAVs equipped with a standard set of accessories i) a video monitoring system (Kurz et al., 2011), ii) a cellular communication interface, and iii) a mounting frame for parcel carriage, to enable UAVs to perform heterogeneous tasks such as medicine/blood delivery, aerial monitoring, and mobile connectivity provisioning. Such planning must take into account the specific constraints generated by every type of mission, i.e.: limited payload capacity of the UAVs’ payload and restricted delivery time windows for the parcel delivery tasks; time-varying network connectivity requirements, due to the users’ movements within the served area; conflicting service needs in the same area (e.g. both monitoring and connectivity provisioning tasks compete for the usage of the upload transmission bandwidth provided by an UAV). Mission plans for each UAV can be crafted at a centralized entity, e.g., the first responders’ control center, and then transmitted to the individual UAVs via their wireless interface.

The usage of multi-purpose UAVs instead of UAVs specialized for a single mission is expected to improve the overall mission service quality, for a given number of employed UAVs. To show the benefits achieved by the usage of multi-purpose UAVs, we develop an optimization framework based on Integer Linear Programming (ILP) to optimally schedule UAVs tasks in a post-disaster environment. Due to the necessity of performing heterogeneous tasks with different requirements in terms of data transmission, the model attempts to optimize the global task satisfaction level (i.e., the fraction of service requests being satisfied by the UAV fleet at every location and time epoch), while imposing that all the delivery tasks are fulfilled within their respective time windows. Since the problem is NP-hard, two heuristic algorithms for larger-scale environments are developed to cope with the increased complexity of the optimization framework. The aim of the two greedy approaches is to ensure fast computation of a feasible solution while limiting the required computational complexity, which is a fundamental requirement to enable a fast reaction to emergency situations. The case study is a simulated flooding event in the San Francisco area, where UAVs depart from one of the depots surrounding the emergency area and must return to a depot after completion of their task to change/recharge batteries. Results show that our heuristic algorithms provide good performance in comparison to the optimum, while ensuring rapid calculation of the UAVs’ trajectories. Furthermore, fully equipping all UAVs, e.g., providing all of them with cameras and radios, implies greater flexibility that outweighs the resulting lower payload available for parcel delivery missions, further increasing performance.

The main contributions of the paper can be summarized as follows:

  • a novel system model, synthetically and effectively describing the main entities involved in multi-task UAV management, along with the decisions to make and their effects;

  • an optimization formulation of the multi-task UAV management problem, allowing us to assess whether or not multi-task UAVs can attain the same performance of single-purpose ones;

  • two efficient and effective heuristics, providing different trade-offs between low complexity and high quality decisions.

The remainder of the paper is organized as follows. Sec. 2 briefly reviews the related literature. Sec. 3 presents an optimization formulation of the multitask UAVs trajectory planning problem. We present the heuristic approaches to tackle large instances in Sec. 4, providing a worst-case ratio analysis. We discuss our reference scenario in Sec. 5 and report our numerical evaluation in Sec. 6. Conclusions are drawn in the final section.

2 Related Work

Beside military and security operations, the usage of UAVs is envisioned in a plethora of civil applications, ranging from agriculture to environmental monitoring and disaster management (see (Otto et al., 2018) for a thorough taxonomy and survey). According to the categorization of UAV-assisted disaster management frameworks provided in (Erdelj and Natalizio, 2016; Erdelj et al., 2017), our work falls under the umbrella of medical applications, as our UAVs can transport and deliver medicines and first-aid items within the served area, and of damage assessment frameworks, as the UAVs are also equipped with monitoring systems to perform video inspections. Moreover, while on flight, the UAVs can be integrated into the emergency communication system if equipped with a cellular communication interface, thus providing connectivity across the disaster area.

A critical comparison of different types of UAVs to be adopted in emergency scenarios is provided in (Erdelj et al., 2017): the authors conclude that quadcopters offer a good tradeoff between flight autonomy, carried payload weight, and equipment cost. Therefore, in this study, the characteristics of the UAVs we adopt mimic those of typical quadcopters.

In the following, we focus on the three types of tasks encompassed in the scenario under study.

2.1 UAV placement for wireless coverage

UAVs can be leveraged in a number of wireless networking applications, e.g., complementing existing cellular systems by providing additional capacity where needed, or ensuring network coverage in emergency or disaster scenarios (see (Mozaffari and others, 2018) for a comprehensive overview). The problem of placing UAVs in terms of height and position in 3D environments to provide wireless coverage has been addressed by several studies: analytical frameworks to compute the optimal height (Mozaffari et al., 2015) or to maximize the associated revenue (Bor-Yaliniz et al., 2016) have been developed, as well as heuristic approaches (Reina et al., 2018b; Zhao et al., 2018; Trotta et al., 2018). In (Bupe et al., 2015), an algorithm controlling the deployment and positioning of UAVs within cells of a mobile network has been implemented and demonstrated using quadcopters. In (Ferranti et al., 2019), a two-tier emergency infrastructure-less network aimed at providing connectivity in the immediate aftermath of a natural disaster is proposed, where the lower tier connects nearby survivors in a self-organized mesh via short-range wireless technologies and the upper tier creates long-range wireless links between UAVs exploring the area of interest. Several game theoretic approaches for the management of UAV-assisted networks have been proposed (Mkiramweni et al., 2018): the reader is referred to (Mkiramweni et al., 2019) for a comprehensive literature review on game-theoretic techniques adopted in UAV-based wireless networks. Metaheuristic approaches such as local search algorithms (Reina et al., 2018a)

an particle swarm optimization

(Sánchez-García et al., 2019) have been investigated to find UAVs’ positions that provide better wireless coverage to the victims in a post-disaster environment.

Differently from the above-mentioned studies, our model jointly considers a dynamic selection of the areas to be covered depending on the evolution of the disaster over time and based on the predicted mobility patterns of users. Additionally, it jointly optimizes the scheduling of the UAV moving, covering, monitoring, delivering and recharging actions.

2.2 UAV-based post-disaster monitoring systems

As overviewed in (Chmaj and Selvaraj, 2015; Changchun et al., 2010), fleets of UAVs operating as distributed processing systems can be adopted as aerial sensing infrastructures for various monitoring tasks including, e.g., surveillance, object detection, movement tracking and support to navigation. In (Garapati et al., 2017), a game-theoretic approach for the distributed scheduling of monitoring and wireless coverage tasks among a fleet of UAVs. In (Alfeo et al., 2019), metaheuristic approaches based on stigmergy and flocking have been proposed to optimize target searches of UAV fleets, in absence of prior knowledge about their location or about positions of potential obstacles. Prototypes of UAV-based architectures for sensing operations have been described in (Zema et al., 2017) and (Luo et al., 2015) with a specific focus on video capture services.

In our paper, we consider a conceptually similar UAV equipment of hardware and software modules, where each UAV is equipped with on-board sensors, as well as processing, coordination, and networking capabilities. Additionally, we tackle some aspects not considered in (Zema et al., 2017), i.e., the scheduling of heterogeneous tasks of multiple UAVs and the integration of the UAVs with a wireless service. With respect to the study in (Garapati et al., 2017), for the task allocation to UAVs, we adopt a centralized scheduling approach instead of a distributed game-theoretic framework.

2.3 UAVs for parcel delivery

Several recent studies have already investigated optimization strategies for UAV-assisted delivery models (see (Yoo et al., 2018) for a literature review). In particular, variations of the Traveling Salesman Problem (Murray and Chu, 2015), modular optimization approaches (Lee, 2017) and heuristic algorithms (Peng et al., 2019; Krakowczyk et al., 2018) leveraging UAVs for last-mile delivery have been introduced, also in tandem with traditional truck-based delivery (Ferrandez et al., 2016; Liu et al., 2018)

. A game-theoretical framework complemented by machine learning algorithms adopted for local UAV control is proposed in

(Shiri et al., 2019) for the path planning under wind perturbation. A comparative study of different metaheuristic approaches for path planning is offered in (Ghambari et al., 2018), including particle swarm optimization, artificial bee colony, invasive weed optimization, lightning search and differential evolutionary approaches.

Focusing on medicine delivery, the authors of (Scott and Scott, 2017) compare two linear programming models that combine truck-based transportation and UAV delivery. In our model, we consider a relatively small geographical area affected by a natural disaster and focus on the last-mile UAV assisted delivery problem, assuming that medicines have been carried beforehand at depots located at the border of the target area.

Finally, note that a preliminary version of this study appears in (Malandrino et al., 2019)

. In this paper, we provide a more comprehensive discussion on heuristic approaches to tackle the problem, including complexity analysis and proofs of worst-case performance ratio, as well as a performance comparison between two different heuristic algorithms. Such algorithms have been specifically designed to capture the peculiarities of the complex multitasking problem at hand, while maintaining low computational complexity (indeed, they exhibit either linear or quadratic dependencies on the input sizes). We have therefore opted for not leveraging well known metaheuristic approaches such as e.g. genetic algorithms, whose complexity depends not only on the input sizes but also exhibit linear dependency on the number of generations and the population size.

3 System model and optimization problem

The notation we use in the remainder of the section is summarized in Tab. 1. Lower-case Greek letters indicate decision variables, lower-case Latin ones indicate parameters. Upper-case, calligraphic Latin letters indicate sets. Upper-case, regular Latin letters with indices indicate a specific element of the corresponding set, e.g., the location of a UAV. Upper-case, regular Latin letters without indices indicate design choices, e.g., UAV range, or system-wide parameters. All indices are written between parentheses, in lexicographic order.

Space and time

Time is discretized into a set  of epochs, while space is discretized in a set  of locations. The distance between two locations , is indicated as  (clearly, ). Some locations  host depots.

Importantly, locations can be associated an elevation as well as a latitude and longitude. It follows that, in the scenarios that warrant it, multiple locations can correspond to the same position, at different heights.

Binary variables  indicate whether UAV  is at location  in epoch . Clearly, UAVs can only be in one location at a time and, given their maximum speed, in each epoch they can only travel between locations closer than a maximum distance . This translates into the following constraints, which hold for any and :

(1)
(2)

The combined effect of (1) and (2) is that drones move from a location to another, without disappearing and without jumping across locations too far away from each other.

Payload

UAVs have a payload capacity  and can carry zero or more payload items , each with a mass of . Examples of payload items (payloads for short) are blood packs or cameras. Binary decision variables express whether payload  is carried by UAV  at time .

(3)

UAV payload can only change at depot locations; thus, for any , , and , we have:

(4)

Importantly, (4) implies that, as far as the model is concerned, deliveries are not dropped at their intended destination; this leads to an overestimation of the UAV weight, hence, its energy consumption. This is intentional, and enables our decisions to account for the fact that some deliveries – in the worst case, all deliveries – may fail, e.g., because local conditions prevent drones from landing. Even in such a worst-case scenario, drones must still have enough energy to go back to the base with all their deliveries onboard.

In (4), we do not consider the fact that some payloads, e.g., medicine packs, will be dropped somewhere during the mission. This accounts for the worst-case event that one or more drops fail, because, e.g., ground conditions are not adequate for UAV landing; in such a case, UAVs must have enough energy to bring all payloads back, if need be.

Symbol Type Meaning
parameter Earliest epoch at which to deliver payload 
parameter Latest epoch at which to deliver payload 
parameter Payload capacity of UAVs
shorthand Whether drone  delivers payload  at time 
parameter Battery capacity of UAVs
parameter Energy consumed for the vertical ascent and descent when making a delivery
parameter Energy consumed when traveling between locations  and , per unit of weight
parameter Location at which payload  shall be delivered
set Epochs
set Locations
set Locations with depots
shorthand Location of UAV  at epoch 
set Non-delivery missions, e.g., coverage or monitoring
parameter Work per epoch for mission  needed by users in location 
parameter Work quality for mission  that a UAV at location 
parameter Whether payload  is necessary to perform mission 
parameter Data generated by performing one unit of work of mission 
set Payload items
set Payload items to be delivered
parameter Whether traffic can be transferred between UAVs at  and 
parameter Capacity (land-to-air) of the UAVs’ on-board base station
parameter Maximum distance a UAV can cover in one epoch
parameter UAV weight
parameter Weight of payload 
parameter Distance between locations  and 
real variable Battery level of UAV  at epoch 
binary variable Whether UAV  is in location  at epoch 
real variable Fraction of epoch  that UAV  spends in mission 
real aux. variable Satisfaction of users in location  concerning mission  at epoch 
binary variable Whether traffic generated at UAV  at epoch  can reach the cellular network
binary variable Whether UAV  carries payload  at epoch 
Table 1: Notation

Energy and battery

Real variables  express the battery level of UAV  at epoch . Clearly, such variables must be positive and can never exceed the battery capacity , i.e.,

(5)

Next, we need to account for power consumption. Indicating with  whether drone  delivers payload  at time , we can write:

(6)

In (6), the energy consumed at time  is given by the product between a factor , accounting for the distance between the locations, i.e., for how far the UAV had to travel, the total weight of the UAV, plus the vertical energy consumption  incurred if the drone performs a delivery at time . Importantly, , i.e., energy is also consumed by hovering over the same location. A UAV weight is given by the weight  of the UAV itself and the sum of the weight of the payload items it carries. Note that (6) does not hold at depot locations in , as there UAVs can recharge or swap their batteries. The actual values of the  parameters can be set according to any energy model, e.g., (Zeng et al., 2019). Such energy models are also able to account for the energy consumption due to elevation changes across locations, if any, and to embed such a consumption in the values of . Also, notice that the energy consumed to transmit/receive data is not accounted for in our model, as it is negligible to the energy needed to move the UAV.

Delivery missions

Some payload items  must be delivered at certain locations and times. Specifically, parameters , , indicate the target location (final point), as well as the earliest and latest times at which the delivery can take place: the time interval defined by the earliest and latest times will define the delivery time window for a payload. The following constraint imposes that all deliveries are carried out:

(7)

Eq. (7) can be read as follows: there must be at least one epoch between  and  during which a UAV  visits the target location  while carrying payload . It is important to stress that associating a constraint with delivery missions also implies that such missions must be performed, and any additional tasks will be undertaken only if it does not interfere with deliveries.

Additional missions

We consider a set  of additional missions, e.g., wireless network coverage and video monitoring. We express the demand of each location  for mission  at epoch  through parameters , e.g., the traffic offered by the users111For simplicity and without loss of generality, in this paper we focus on uplink traffic.. Parameters  express how well a UAV in location  can perform mission , e.g., the quality of coverage it can provide. Furthermore, parameters  express the fact that some payload items , e.g., radios, are needed for mission . Finally, parameters  express how much data is generated by performing one unit of work in mission . The values of the 

parameters can be, depending upon the situation, estimated

a priori (e.g., the escape roads from a given area are routinely planned in advance) and/or detected during the disaster (e.g., the areas closer to the coast need to be monitored during/after a flooding).

The main decision to make is how long UAVs perform additional missions. This is conveyed by variables , expressing the fraction of epoch  that UAV  uses to perform mission . The first constraint we impose is that UAVs do not perform missions that they are not equipped for:

(8)

Also, we cannot exceed the need of locations:

(9)

Note that (9) also accounts for the quality with which UAVs at different locations can perform the missions, e.g., the maximum network capacity or monitoring capability that a UAV in location  can offer.

Next, we need to ensure that all the data traffic generated by additional missions is transferred to the in-field deployed cellular network (denoted with ), so that it can be offloaded to the backbone network infrastructure. To this end, we denote with  whether a UAV in location  and one in location  can exchange data, and by  whether a UAV in location  can send data to the in-field cellular network. Such information can be obtained from existing models and/or experimental measurements, as better detailed in Sec. 5 later. A value of  corresponds to the fact that it is impossible to send any data between  and , e.g., because the locations are too far away.

Given the above, we can determine whether the data generated by additional missions performed by UAV  at time  can make its way to the cellular network, through a binary variable :

(10)

Eq. (10) says that UAV  can route its data to the cellular network if  can be reached directly from its location (first term), or if  can reach another UAV  that, in turn, can reach the cellular network (i.e., ). Given the  values, we impose that no UAV performs any mission that generates data, unless such data can reach the network:

(11)

Eq. (11) also imposes that the quantity of data generated by all missions performed by UAV  at epoch  does not exceed the quantity  of data that can be transferred through the onboard radio interface.

Objective and complexity

As a first step, we define the satisfaction  of location  at epoch  for mission . Such a value is the ratio between the amount of service that the location was actually provided over that needed:

(12)

We then define our objective as maximizing the sum of the -values defined in (12):

(13)

The problem of optimizing (13) subject to the constraints (1)–(12) is combinatorial in nature and, like many combinatorial problems, is NP-hard. Indeed, deciding the payload of each UAV in each trip can be seen as an instance of bin-packing – which is itself an NP-hard problem (Garey and Johnson, 1981) –, subject to additional constraints concerning energy and delivery times. It follows that it is impractical to directly solve the problem for all but small instances; therefore, we devise several heuristic algorithms as detailed next.

4 Heuristic Algorithms

In this section we present two heuristic algorithms aimed at tackling large instances of the considered post-disaster scenario: the first one is a low-complexity greedy algorithm, whereas the second one has higher complexity and builds upon the insertion method first proposed in (Solomon, 1987).

Both heuristic approaches leverage a graph-based representation of the considered scenario, where every delivery location is identified by a graph node . Additional nodes are added to identify the depots in . Here, for simplicity, we consider the case of a single depot, i.e.,. Arc represents route connecting delivery locations and (to simplify the notation, the identifier is omitted). Each route consists of a list of locations in that are visited at each time epoch while traveling from to , where is the travel duration, in number of epochs (clearly, and ). Note that hovering over the same location is captured in the list by replicating once per every hovering epoch. In the remainder of the section, we will indicate the location visited during the -th epoch of route as , with . Note that we consider a set of alternative routes for each location pair, which include the shortest paths222Note that opting for longer lightpaths could increase the satisfaction level of additional missions, but might as well lead to infeasibilities of the delivery missions due to violation of energy or delivery windows constraints. (i.e., , where is a system parameter).

Each arc is associated with two weights: the travel duration and the energy spent by the UAV to travel from node to along route . Energy is computed under the conservative assumption that the UAV’s payload is always fully loaded. An example of graph topology with one depot and two delivery nodes is reported in Figure 1.

Note that both algorithms determine a single tour for each UAV. Consecutive tours can be obtained by running the algorithms for consecutive non-overlapping time horizons , where time horizons are sized considering the maximum number of epochs a UAV can fly, either hovering or cruising among locations, without being recharged. In this case, the set of deliveries is split into subsets , such that , where each set contains the deliveries .

Figure 1: Example of graph topology with two nodes and a depot node . Arc weights and delivery time windows are also highlighted.

4.1 Greedy heuristic

1:  on input of ; ; ; ; ; ; ; ; ; ; , ;
2:  create ordered list of items to be delivered in ascending order of
3:  for all  do
4:     , ,
5:     for all  do
6:          find best route from location to location
7:         if inserting location in is feasible then
8:            Append arc to and location to , remove from
9:             update( , )
10:         end if
11:     end for
12:     if  contains at least one location different than  then
13:         find best route from location to location
14:         Append arc to and location to
15:         update( , )
16:     end if
17:  end for
18:  if   then
19:     return  no feasible solution found
20:  else
21:      conn_ check(; ; ; ; ; ; )
22:     return  
23:  end if
Algorithm 1 Greedy Algorithm
1:  on input of ; ; ; , , ;
2:  for all  do
3:     if  then
4:         for all  do
5:            ,
6:         end for
7:     else
8:         for all  do
9:            ,
10:         end for
11:     end if
12:  end for
13:  return  
Algorithm 2 update routine (updates mission requirements per epoch)
1:  on input of ; ; ; ; ; ; ;
2:  for all ,  do
3:     
4:     for all  do
5:         if  then
6:            
7:         end if
8:     end for
9:     if  then
10:         
11:     end if
12:  end for
13:  return  
Algorithm 3 conn_ check routine (checks connectivity among UAVs)
(14)
(15)
(16)

As reported in Algorithm 1, the proposed greedy algorithm considers as inputs the sets of UAVs, time epochs and locations associated to deliveries and to the depot, as well as the UAVs’ battery capacity and transmission capacity on the onboard radio system. Moreover, for every delivery, it takes as input the associated payload weight and time window, whereas for every UAV it takes as input the residual payload capacity available for parcels and the parameters (defined below). Note that the residual payload capacity of a UAV depends on the onboard equipment (e.g., antenna and monitoring system). In our greedy approach, the equipment of each UAV is chosen a priori333In section 6, it will be shown that loading every UAV with the necessary equipment to perform all the additional missions in leads to close-to-the-optimum performance.. Therefore, the factors are defined as follows: if UAV does not carry the equipment required to accomplish task , then , otherwise , where are predefined system weights such that . Finally, the time and energy required to travel between every location pair, the mission service requirements per location and epoch, the mission work quality per location, and the amount of data per epoch generated by each mission are provided as inputs (line 1).

Deliveries are ordered (line 2) depending on their urgency, i.e., the expiration of the delivery time window . Then UAVs are considered one at a time444In the case of a fleet of UAVs characterized by heterogeneous equipment, the criterion adopted for UAV selection can be designed according to the characteristics of the specific scenario. E.g., if delivery locations and their surroundings generate service requests for additional missions as well, then UAVs carrying the equipment required to fulfil such additional missions should be picked first. Conversely, if the areas with highest service requirements for additional missions do not include delivery points, then UAVs carrying no additional equipment should be selected first, since their residual payload capacity () is higher and thus they can carry a larger amount of items to be delivered. and the associated lists and , respectively indicating the locations and the arcs included in their tours, are initialized. The depot is set as tour departure location. Moreover, their current battery consumption , carried load , and flight time are initialized to (line 4).

Then, for every UAV, the ordered list of (yet unserved) deliveries is scanned one element at a time, the best route to reach the delivery location is identified and feasible deliveries are assigned to the UAV (lines 5-11). For the selection of the best route , to incorporate the fulfillment of additional missions, we adopt the multi-objective approach described in (Zografos and Androutsopoulos, 2004): the arc to be traversed to reach the delivery location is chosen by minimizing a weighted function of traveling time and mission accomplishment levels associated to the arc, as per Eq. (14), where and and parameters are used as weights: the closer approaches , the more predominant the accomplishment of mission becomes w.r.t. the minimization of the total time duration of the tour. Note that a delivery is considered to be feasible (line 7) if:

  • its delivery location can be reached before the time window expiration and the UAV can return to the depot before the end of the considered time horizon, i.e., if it holds that and that , where indicates the shortest route from location to the depot;

  • the residual battery capacity is sufficient to allow the flight to the delivery location and the return to the depot, i.e., if ;

  • the residual payload capacity is sufficient to accommodate the item to be delivered, i.e., if .

After the assignment of a delivery, the traversed arc and the delivery location are added to the UAV’s tour. Moreover, traveling time, consumed energy, and residual payload capacity are updated (line 8) and the delivery is added to the set of served ones. Finally, the mission service requirements per epoch of every location traversed to reach location starting from location are recomputed by means of the update routine (line 9) to reflect the residual needs after being served by the current UAV. The update criteria depend on the maximum transmission capacity of the onboard wireless interface of the UAV, , on the data transmission requirements of each mission, , and on the parameters . More in detail, if the total data rate required in location at time to fully accomplish all the additional missions does not exceed , then are set either to 0, if the mission quality parameters are sufficiently high, or decreased by the amount for every mission (lines 4-6). Otherwise, the maximum transmission capacity is partitioned among the missions, proportionally to the product (i.e., the data rate required by mission weighted by the importance of fulfilling mission ). During the routine executions, the values of variables are also computed according to the mission fulfillment share of every UAV.

When the delivery list scan is concluded, the best arc to return to the depot is selected according to Eq. (14), where and , providing that the conditions and are satisfied; parameters are again updated and the UAV tour is terminated (lines 12-17).

If some unserved deliveries remain after considering every available UAV, then the algorithm stops and notifies that it was unable to find a feasible solution (lines 18-19). Otherwise, the routine conn_ check is executed to perform connectivity checks among UAVs. If a UAV cannot directly communicate with the cellular network, i.e., , nor with another UAV having cellular network connectivity, i.e., , then no data generated by any mission can be transmitted; therefore, variable is set to 0 for every mission . Finally, the tour assigned to every UAV is returned (lines 20-21).

On the contrary, if some UAVs remain unused, they can perform additional missions, even if they are not assigned to any delivery mission. Thus, the algorithm can be executed again after enlarging the set of payload items by generating fake delivery payloads (i.e., with ) and no restriction on the delivery time window (i.e., and ). The delivery locations can be chosen randomly or placed where have the highest values.

4.2 Insertion-based heuristic

1:  on input of ; ; ; ; ; ; ; ; ; ; , ;
2:  for all  do
3:     , ,
4:  end for
5:  
6:  while  do
7:     if  is empty then
8:         ,
9:         find best route from to
10:         Append location to and arc to
11:         
12:         find best route from location to location
13:         Append location to and arc to
14:     else
15:         for all  do
16:            len
17:            for all do
18:               
19:               compute
20:            end for
21:            
22:            compute
23:         end for
24:         if  then
25:            
26:            Insert location in and arc in after position
27:            
28:         else
29:            ,
30:            for all  do
31:               update(, , , ,