Heuristic Algorithms for Co-scheduling of Edge Analytics and Routes for UAV Fleet Missions
Aakash Khochare, Yogesh Simmhan, Francesco Betti Sorbelli, Sajal K. Das
HHeuristic Algorithms for Co-scheduling of EdgeAnalytics and Routes for UAV Fleet Missions
Aakash Khochare ∗ , Yogesh Simmhan ∗ , Francesco Betti Sorbelli † , and Sajal K. Das †∗ Department of Computer Science, Indian Institute of Science, India. Email: { aakhochare, simmhan } @iisc.ac.in † Dept. of Computer Science, Missouri Univ. of Science & Tech., USA. Email: { francesco.bettisorbelli, sdas } @mst.edu Abstract —Unmanned Aerial Vehicles (UAVs) or drones areincreasingly used for urban applications like traffic monitoringand construction surveys. Autonomous navigation allows dronesto visit waypoints and accomplish activities as part of their mission . A common activity is to hover and observe a locationusing on-board cameras. Advances in Deep Neural Networks(DNNs) allow such videos to be analyzed for automated decisionmaking. UAVs also host edge computing capability for on-boardinferencing by such DNNs. To this end, for a fleet of drones,we propose a novel
Mission Scheduling Problem (MSP) that co-schedules the flight routes to visit and record video at waypoints,and their subsequent on-board edge analytics. The proposedschedule maximizes the utility from the activities while meetingactivity deadlines as well as energy and computing constraints.We first prove that MSP is NP-hard and then optimally solveit by formulating a mixed integer linear programming (MILP)problem. Next, we design two efficient heuristic algorithms,
JSC and
VRC , that provide fast sub-optimal solutions. Evaluationof these three schedulers using real drone traces demonstrateutility–runtime trade-offs under diverse workloads.
Index Terms —UAV, drone, edge computing, vehicle routing, jobscheduling, energy constrained, video analytics, path planning
I. I
NTRODUCTION
Unmanned Aerial Vehicles (UAVs), also called drones , areenabling a wide range of applications in smart cities [1], suchas traffic monitoring [2], construction surveys [3], packagedelivery [4], localization [5], and disaster (including COVID-19) management [6], assisted by 5G wireless roll-out [7]. Themobility, agility, and hovering capabilities of drones allowthem to rapidly fly to points of interest (i.e., waypoints ) in thecity to accomplish specific activities . Usually, such activitiesinvolve hovering and recording a scene using the drone’scamera, and analyzing the videos to take decisions.Advancements of computer vision algorithms and
DeepNeural Networks (DNNs) enable video analytics to be per-formed over such recordings for automated decision-making.Typically, these are inferred once the recordings are transferredto a ground station (GS) after the drones land. In-flight transferof videos to a GS is limited by the intermittent bandwidthof current communications technologies. However, certainactivities may require low-latency analysis and decisions, assoon as the video is captured at a location. Hence, the on-board edge computing capability [8] available on commercialdrones can be leveraged to process the recorded videos, andquickly report concise results to the GS over 3/4/5G wirelessnetworks [9]. Since the transferred results are brief and the on-board processing times dominate, we ignore communication constraints like data rate, latency, and reliability that areaffected by the UAV’s altitude, antenna envelope, etc.UAVs are energy-constrained vehicles with limited batterycapacity, and commercial drones can currently fly for less thanan hour. The flying distance between waypoints will affectthe number of activities that can be completed in one trip on a full battery. Besides hovering and recording videos atwaypoints, performing edge analytics also consumes energy.So, the drone’s battery capacity should be judiciously managedfor the flying, hovering and computing tasks. Nevertheless,once a drone lands, its exhausted battery can be quicklyreplaced with a full one, to be ready for a new trip.This paper examines how a
UAV fleet operator in a city canplan missions for a captive set of drones to accomplish activi-ties periodically provided by the users. An activity involvesvisiting a waypoint, hovering and capturing video at thatlocation for a specific time period, and optionally performingon-board analytics on the captured data. Activities also offer utility scores depending on how they are handled. The novelproblem we propose here is for the fleet operator to co-schedule flight routing among waypoints and on-board compu-tation so that the drones complete (a subset of) the providedactivities, within the energy and computation constraints ofeach drone, while maximizing the total utility.
Existing works have examined routing of one or moredrones for capturing and relaying data to the backend [10],off-loading computations from mobile devices [11], and co-operative video surveillance [12]. There also exists literatureon scheduling tasks for edge computing that are compute-and energy-aware, operate on distributed edge resources, andconsider deadlines and device reliability [13]. However, noneof these examine co-scheduling a fleet of physical dronesand digital applications on them to meet the objective, whileefficiently managing the energy capacity to maximize utility.Specifically, our
Mission Scheduling Problem (MSP) com-bines elements of the
Vehicle Routing Problem (VRP) [14],which generalizes the well known Traveling Salesman Prob-lem (TSP) to find optimal routes for a set of vehiclesand customers [15], and the
Job-shop Scheduling Problem(JSP) [16] for mapping jobs of different execution durationto the available resources, which is often used for parallelscheduling of computing tasks to multiprocessors [17].We make the following contributions in this paper. • We characterize the system and application model, andformally define the
Mission Scheduling Problem (MSP) a r X i v : . [ c s . R O ] F e b o co-schedule routes and analytics for a fleet of drones,maximizing the obtained utility (Sections III and IV). • We prove that MSP is
NP-hard , and optimally solve itusing a mixed integer linear programming (MILP) design,
OPT , which is feasible for small inputs (Section V). • We design two time-efficient heuristic algorithms,
JSC and
VRC , that solve the MSP for arbitrary-sized inputs, andoffer complexity bounds for their execution (Section VI). • We evaluate and analyze the utility and scheduling run-time trade-offs for these three algorithms, for diversedrone workloads based on real drone traces (Section VII).II. R ELATED W ORK
This section reviews literature on vehicle routing and job-shop scheduling, contrasting them with MSP and our solutions.
A. Vehicle Routing Problem (VRP)
VRP is a variant of TSP with multiple salespersons [14] andit is NP-hard [18]. This problem has had several extensionsto handle realistic scenarios, such as temporal constraints thatimpose deliveries only at specific time-windows [19], capacityconstraints on vehicle payloads [20], multiple trips for vehi-cles [21], profit per vehicle [22] and traffic congestion [23].VRP has also been adapted for route planning for a fleet ofships [24], and for drone assisted delivery of goods [25].In [10] the scheduling of events is performed by UAVsat specific locations, involving data sensing/processing andcommunication with the GS. The goal here is to minimize thedrone’s energy consumption and operation time. Factors likewind and temperature that may affect the route and executiontime are also considered. While they combine sensing andprocessing into one monolithic event, these are independenttasks which need to be co-scheduled, as we do. Also, theyminimize the operating time and energy while we maximizethe utility to perform tasks within a time and energy budget.In [11] the use of UAVs is explored to off-load computingfrom the users’ mobile devices, and for relaying data betweenmobile devices and GS. The authors considered the drones’trajectory, bandwidth, and computing optimizations in an iter-ative manner. The aim is to minimize energy consumption ofthe drones and mobile devices. It is validate through simulationfor four mobile devices. We instead consider a more practicalproblem for a fleet of drones with possibly hundreds oflocations to visit and on-board computing tasks to perform.Trotta et al. [12] propose a novel architecture for energy-efficient video surveillance of points of interest (POIs) in acity by drones. The UAVs use bus rooftops for re-chargingand being transported to the next POI based on known busroutes. Drones also act as relays for other drones capturingvideos. The mapping of drones to bus routes is formulatedas an MILP problem and a TSP-based heuristic is proposed.Unlike ours, their goal is not to schedule and process data on-board the drone. Similarly, we do not examine any data off-loading from the drone, nor any piggy-backing mechanisms.
B. Job-shop Scheduling (JSC)
Scheduling of computing tasks on drones is closely alignedwith scheduling tasks on edge and fog devices [26], andbroadly with parallel workload scheduling [17] and JSC [16].In [13], an online algorithm is proposed for deadline-aware task scheduling for edge computing. It highlights thatworkload scheduling on the edge has several dimensions, andit jointly optimizes networking and computing to yield the bestpossible schedule. Feng at al. [27] propose a framework for co-operative edge computing on autonomous road vehicles, whichaims to increase their decentralized computational capabilitiesand task execution performance. Others [28] combine optimalplacement of data blocks with optimal task scheduling toreduce computation delay and response time for the submittedtasks while improving user experience in edge computing. Incontrast, we co-schedule UAV routing and edge computing.There exist works that explore task scheduling for mobileclients, and off-load computing to another nearby edge orfog resource. These may be categorized based on their useof predictable or unpredictable mobility models. In [29], themobility of a vehicle is predicted and used to select the road-side edge computing unit to which the computation is off-loaded. Serendipity [30] takes an alternate view and assumesthat mobile edge devices interacts with each other intermit-tently and at random. This makes it challenging to determineif tasks should be off-loaded to another proximate device forreliable completion. The problem we solve is complementaryand does not involve off-loading. The possible waypoints areknown ahead, and we perform predictable UAV route planningand scheduling of the computing locally on the edge.Scheduling on the energy-constrained edge has also beeninvestigated by Zhang et al. [31], where an energy-aware off-loading scheme is proposed to jointly optimize communicationand computation resource allocation on the edge, and to limitlatency. Our proposed problem also considers energy for thedrone flight while meet deadlines for on-board computing.III. M ODELS AND A SSUMPTIONS
This section introduces the UAV system model, applicationmodel, and utility model along with underlying assumptions.
A. UAV System Model
Let (cid:98) λ = (0 , , be the location of a UAV depot in the city(see Figure 1, left) centered at the origin of a 3D Cartesiancoordinate system. Let D = { d , . . . , d m } be the set of m available drones. For simplicity, we assume that all the dronesare homogeneous. Each drone has a camera for recordingvideos, which is subsequently processed. This processing canbe done using the on-board computing, or done offline once thedrone lands (which is outside the scope of our problem). Theon-board processing speed is π floating point operations persecond (FLOPS). For simplicity, this is taken as cumulativeacross CPUs and GPUs on the drone, and this capacity isorthogonal to any computation done for navigation.The battery on a drone has a fixed energy capacity E , whichis used both for flying and for on-board computation. The λ λ (cid:98) λλ λ λ λ tα α α α α α d R R R R , R R a ) b ) Fig. 1. Sample MSP scenario. a) shows a city with the depot ( (cid:98) λ ); 6 waypoints to visit ( λ i ) with some utility; and possible trip routes for drones ( R ij ). b)has the corresponding 6 activities ( α i ) with data capture duration (shaded) and compute deadline (vertical line) and the two available drones. drone’s energy consumption has three components – flying , hovering and computing . Let (cid:15) f be the energy required forflying for a unit time duration at a constant energy-efficientspeed s within the Cartesian space; let (cid:15) h be the energy forhovering for a unit time duration; and let (cid:15) c be the energyfor performing computation for a unit time duration. Forsimplicity, we ignore the energy for video capture since it isnegligible in practice. Also, a drone that returns to the depotcan swap-in a full battery and immediately start a new trip. B. Application Model
Let A = ( α , . . . , α n ) be the set of n activities to beperformed starting from time (cid:98) t = 0 , where each activity α i is given by the tuple (cid:104) λ i , t i , ¯ t i , κ i , δ i , γ i , ¯ γ i , ¯¯ γ i (cid:105) . Here, λ i = ( x i , y i , z i ) is the waypoint location coordinates wherethe video data for that activity has to be captured by the drone,relative to the depot location (cid:98) λ . The starting and ending times for performing the data capture task are t i and ¯ t i . The computerequirements for subsequently processing all of the captureddata is κ i floating point operations. Lastly, δ i is the timedeadline by which the computation task should be completedon the drone to derive on-time utility of processing, while γ i , ¯ γ i , and ¯¯ γ i are the data capture , on-time processing and on-board processing utility values that are gained for completingthe activity. These are described in the next sub-section.The computation may be performed incrementally on sub-sets of the video data, as soon as they are captured. Thisis common for analytics over constrained resources [32].Specifically, for an activity α i , the data captured between (¯ t i − t i ) is divided into batches of a fixed duration β , withthe sequence of batches given by B i = ( b i , . . . , b q i i ) , where q i = | B i | = (cid:6) ¯ t i − t i β (cid:7) . The computational cost to process eachbatch is κ ki = κ i q i floating-point operations, and is constant forall batches of an activity. So, the processing time for the batch,given the processing speed π for a drone, is ρ ki = (cid:6) κ ki · π (cid:7) ;for simplicity, we discretize all time-units into integers.We make some simplifying assumptions. Only one batchmay be executed at a time on-board a drone and it shouldrun to completion before scheduling another. There is no concurrency, pre-emption or check-pointing. The data capturefor an activity’s batch may overlap with the computationof a previous batch of the same or a different activity. Allbatches for a single activity should be executed in sequence,i.e., complete processing b ki before processing b k +1 i . Once abatch is processed, its compact results are immediately anddeterministically communicated to the GS. C. Utility Model
The primary goal of the drone is to capture videos at thevarious activity locations for the specified duration. This isa necessary condition for an activity to be successful. Wedefine this as the data capture utility ( γ i ) accrued by a dronefor an activity α i . The secondary goal is to opportunisticallyprocess the captured data using the on-board computing onthe drone. Here, we have two scenarios. Some activities maynot be time sensitive, and performing on-board computing isjust to reduce the costs for offline computing. Here, processingthe data captured by an activity using the drone’s computingresources will provide an on-board processing utility ( ¯ γ i ) .Other activities may be time-sensitive and have a soft-deadline δ i for completing the processing. For these, if we process itscaptured data on the drone by this deadline, we receive anextra on-time processing utility ( ¯¯ γ i ) . The processing utilitiesaccrue pro rata , for each batch of the activity completed.IV. P ROBLEM F ORMULATION
The Mission Scheduling Problem (MSP) is summarized as:
Given a UAV depot in a city with a fleet of captive drones, anda set of observation and computing activities to be performedat locations in the city, each within a given time window andwith associated utilities, the goal is to co-schedule the dronesonto mission routes and the computation to the drones, withinthe energy and compute constraints of the drones, such thatthe total utility achieved is maximized.
It is formalized below.
A. Mission Scheduling Problem (MSP)
A UAV fleet operator receives and queues activities. Period-ically, a mission schedule is planned to serve some or all thectivities using the whole fleet to maximize the utility. Thereis a fixed cost for operating the captive fleet that we ignore.Multiple activities can be assigned to the same drone d j as part of the drone’s mission , and the same drone d j canperform multiple trips from the depot for a mission. The mission activities for the r th trip of a drone d j is the orderedsequence A rj = ( α rj , . . . , α rj n ) ⊆ A where α rj x ∈ A , j n ≤ n ,and no activity appears twice within a mission. Further, wehave α rj x ≺ α rj x +1 , i.e., the observation start and end times ofan activity in the mission sequence fully precede those of thenext activity in it, ¯ t rj x ≤ t rj x +1 . Also, A xj ∩ A yk = ∅ ∀ j, k, x, y toensure that an activity is mapped to just one drone. Dependingon the feasibility and utility, some activities may not be partof any mission and are dropped, i.e., (cid:80) j (cid:80) r | A rj | ≤ n .The route for the r th trip of drone d j is given by R rj =( (cid:98) λ, λ rj , . . . , λ rj n , (cid:98) λ ) , where the starting and ending waypointsof the drone are the depot location (cid:98) λ , and each intermediatelocation corresponds to the video capture location λ rj k for theactivity α rj k in the mission sequence. For uniformity, we denotethe first and the last depot location in the route as λ rj and λ rj n +1 , respectively. Clearly, | R rj | = j n + 2 .A drone d j , given the r th trip of its route R rj , starts atthe depot, visits each waypoint in the sequence and returnsto the depot, where it may instantly get a fresh battery andstart the ( r + 1) th route. Let drone d j leave a waypointlocation in its route, λ rj i , at departure time τ rj i and reachthe next waypoint location, λ rj i +1 , at arrival time ¯ τ rj i +1 . Letthe function F ( λ p , λ q ) give the flying time between λ i and λ j . Since the drone has a constant flying speed, we have ¯ τ rj i +1 = τ rj i + F ( λ rj i , λ rj i +1 ) .The drone must hover at each waypoint λ rj i between t rj and ¯ t rj while recording the video, and it departs the waypoint afterthis, i.e., τ rj i = ¯ t rj i . If the drone arrives at this waypoint at time ¯ τ rj i , i.e., before the observation start time t j , it hovers here fora duration of t rj − ¯ τ rj i , and then continues hovering during theactivity’s video capture. If a drone arrives at λ rj i after t rj , itis invalid since the video capture for the activity cannot beconducted for the whole duration. So, ¯ τ rj i ≤ t rj i ≤ τ rj i . Also,since the deadline for on-time computation over the captureddata is δ rj i , we require δ rj i ≥ ¯ t rj i . Once the drone finishescapturing video for the last activity in its r th trip, it returnsback to the depot location at time ¯ τ rj n +1 = τ rj n + F ( λ rj n , (cid:98) λ ) .Hence, the total flying time for a drone d j for its r th trip is: f rj = n (cid:88) i =0 (¯ τ rj i +1 − τ rj i ) and the total hover time for the drone on that trip is: h rj = n (cid:88) i =1 ( t rj i − ¯ τ rj i ) + n (cid:88) i =1 (¯ t rj i − t rj i ) = n (cid:88) i =1 (¯ t rj i − ¯ τ rj i ) which includes hovering due to early arrival at a waypoint,and hovering during the data capture.Let the scheduler assign the time slot [ θ kj i , ¯ θ kj i ) for executinga batch b kj i of activity α j i on drone d j , where ¯ θ kj i = θ kj i + ρ ki , based on the batch execution time. We define a completionfunction for each activity α j i , for the three utility values: • The data capture completion u j i ∈ { , } has a value of if the drone hovers at location λ j i for the entire periodfrom t j i to ¯ t j i , and is otherwise. • The on-board completion . ≤ ¯ u j i ≤ . indicates thefraction of batches of that activity that are completed on-board the drone. Let ¯ µ ki = 1 if the batch b ki of activity α i is completed on-board, and ¯ µ ki = 0 if it is not completedon-board the drone. Then, ¯ u j i = (cid:80) k ¯ µ ki q i . • The on-time completion . ≤ ¯¯ u j i ≤ . gives thefraction of batches of that activity that are fully completedwithin the deadline. As before, let ¯¯ µ ki = 1 if the batch b ki of activity α i is completed on-time, i.e., ¯ θ ki ≤ δ i , and ¯¯ µ ki = 0 otherwise. So, ¯¯ u j i = (cid:80) k ¯¯ µ ki q i .The total utility for an activity α i is U i = u i γ i + ¯ u i ¯ γ i + ¯¯ u i ¯¯ γ i ,and the total computation time of batches on a drone d j is: c j = (cid:88) α i ∈ A (¯ µ kj i + ¯¯ µ kj i ) · ρ ki B. Optimization of MSP
Based on these, the objective of the optimization is arg max (cid:80) α i ∈ A U i , i.e., assign drones to activity waypointsand activity batches to the drones’ computing slots to max-imize the utility from data capture, on-board and on-timecomputation. These are subject to the following constraintson the execution slot assignments for a batch on a drone: ( t j i + k · β ) ≤ θ kj i ¯ θ kj i ≤ θ k +1 j i ¯ θ ki ≤ ¯ τ j n +1 i.e., the data capture for a duration of β for the k th batch ofthe activity is completed before the execution slot of the batchstarts; the batches for an activity are executed in sequence; andthe execution completes before the drone lands.Also, there can only be one batch executing at a time on adrone. So ∀ [ θ xj p , ¯ θ xj p ) and [ θ yj q , ¯ θ yj q ) slots assigned to batches b xp and b yq on drone d j , we have [ θ xj p , ¯ θ xj p ) ∩ [ θ yj q , ¯ θ yj q ) = ∅ .Lastly, the energy expended by drone d j on the r th trip, tofly, hover and compute, should be within its battery capacity: E rj = f rj (cid:15) f + h rj (cid:15) h + c rj (cid:15) c ≤ E Model Applicability:
Our novel model can be abstracted to de-scribe diverse applications. In entity localization [33], ¯ γ i = 0 and ¯¯ γ i > captures the importance of an entity being tracked.In traffic monitoring [2] it is useful to have timely insights,appropriately tuning ¯ γ i and ¯¯ γ i . In construction survey [3] thereare no strict time deadlines, so ¯¯ γ i = 0 .V. O PTIMAL S OLUTION FOR
MSPIn this section, we prove that MSP is NP-hard, and wedefine an optimal, but computationally slow, algorithm calledO
PTIMAL M ISSION S CHEDULING ( OPT ) based on MILP.
ABLE IC
ONSTRAINTS FOR OPT
MILP
FORMULATION . C. Expression Meaning (cid:80) k ∈D (cid:80) l ∈R (cid:80) j ∈−→ i x klij ≤ , ∀ i ∈ V (cid:48) The waypoint for an activity α i is visited only once. (cid:80) j ∈−→ x kl j − (cid:80) j ∈←− x klj = 0 , ∀ k ∈ D , l ∈ R A drone trip l starting from the depot must also end there. (cid:80) j ∈−→ x kl j = 1 ⇐⇒ (cid:80) j ∈−→ i x klij = 1 , ∀ i ∈ V (cid:48) , k ∈ D , l ∈ R A drone k must visit at least one waypoint on each trip l . (cid:80) i ∈←− j x klij − (cid:80) i ∈−→ j x klji = 0 , ∀ k ∈ D , j ∈ V (cid:48) , l ∈ R A drone k visiting waypoint j must also fly out from there. t j − F j ) · (cid:80) k ∈D (cid:80) l ∈R x kl j ≥ , ∀ j ∈ V (cid:48) Any drone flying to waypoint j from the depot must reachbefore its observation start time t j . t j − ¯ t i − F ij ) · (cid:80) k ∈D (cid:80) l ∈R x klij ≥ , ∀ i ∈ V (cid:48) , j ∈ −→ i Any drone flying to waypoint j from i must reach before itsobservation start time t j . τ lk n +1 = (cid:80) i ∈V (cid:48) x kli · (¯ t i + F i ) , ∀ k ∈ D , l ∈ R Decides the landing time of drone k at the depot after trip l . τ lk n +1 ≤ τ max , ∀ k ∈ D , l ∈ R Depot landing times for all trips is within the maximum time. t i + ( g + 1) · β ≤ θ gi , ∀ i ∈ V (cid:48) , g ∈ B i Batch g of activity α i must be observed before it is processed.
10 ¯ θ gi < θ g +1 i , ∀ i ∈ V (cid:48) , g ∈ B i Processing of batch g of activity α i must precede batch g +1 . (cid:80) j ∈−→ i x klij + (cid:80) b ∈−→ a x klab − ≤ w ghia + w hgai , ∀ i, a ∈ V (cid:48) , i < a, g ∈ B i , h ∈B a , k ∈ D , l ∈ R Compute time slots of two batches g and h from activities α i and α a on the same drone k and trip l should notoverlap [16].
12 ¯ θ gi − θ ha ≤ M · (1 − w ghia ) , ∀ i, a ∈ V , i (cid:54) = a, g ∈ B i , h ∈ B a y lgik = 1 ⇒ ¯ θ gi + M (cid:16) − (cid:80) j ∈−→ i x klij (cid:17) ≤ δ i , ∀ i ∈ V (cid:48) , g ∈ B i , k ∈ D , l ∈ R Decision variable for batches that complete before deadline. z lgik = 1 ⇒ ¯ θ gi + M (cid:16) − (cid:80) j ∈−→ i x klij (cid:17) ≤ ¯ τ lk n +1 , ∀ i ∈ V (cid:48) , g ∈ B i , k ∈ D , l ∈ R Decision variable for batches that complete before landing. (cid:80) i ∈V (cid:16) (cid:80) j ∈−→ i (cid:16) x klij · F ij · (cid:15) f (cid:17) + (cid:80) g ∈B i (cid:16) z lgik · κ gi · (cid:15) c (cid:17) + (cid:80) j ∈−→ i (cid:16) x klij · (¯ t j − (¯ t i + F ij )) · (cid:15) h (cid:17)(cid:17) ≤ E, ∀ k ∈ D , l ∈ R Sum of energy consumed for flying, hovering and computingon trip l of drone k should be within the battery capacity. A. NP-hardness of MSP
As discussed earlier, the MSP combines elements of theVRP and the JSP in assigning routes and batches to drones, formaximizing the overall utility, subject to energy constraints.
Theorem 1.
MSP is NP-hard.Proof.
The VRP is NP-hard [18]. In addition, MSP considersmultiple-trips, time-windows, energy-constraints, and utilities.The VRP variant with multiple-trips (MTVRP), which con-siders a maximum travel time horizon T h , is NP-hard. Anyinstance of VRP can be reduced in polynomial time to MTVRPby fixing the number of vehicles to the number of waypoints, m = n , and setting the time horizon T h = (cid:80) e ∈E F ( e ) , where E is the set of edges and F ( e ) is the flying time for traversingan edge [34], and limiting the number of trips to one. TheVRP variant with time-windows (TWVRP), which limits thestart and end time for visiting a vertex, [ t i , ¯ t i ) , is NP-hard.Any instance of VRP can be reduced in polynomial time toTWVRP by just setting t i = 0 and ¯ t i = + ∞ [15]. Clearly, aVRP variant with energy-constrained vehicles is still NP-hard,by just relaxing those constraints to match VRP.In the above VRP variants, the goal is only to minimize thecosts. But MSP aims at maximizing the utility while boundingthe energy and compute budget. In literature, the VRP variantwith profits (PVRP) is NP-hard [21] since any instance ofMTVRP can be reduced in polynomial time to PVRP by justsetting all vertices to have the same unit-profit. Moreover, MSPhas to deal with scheduling of batches for maximizing theprofit. The original JSP is NP-hard [35]. So, any variant whichintroduces constraints is again NP-hard by a simple reduction,by relaxing those constraints, to JSP. As MSP is a variant of VRP and JSP, it is NP-hard too. B. The
OPT
Algorithm
The O
PTIMAL M ISSION S CHEDULING ( OPT ) algorithmoffers an optimal solution to MSP by modeling it as a multi-commodity flow problem (MCF), similar to [36], [12]. Wereformulate the MSP definition as an MILP formulation.The paths in the city are modeled as a complete graph , G = ( V , E ) , between the n activity waypoint vertices, V = { , , . . . , n } , where is the depot (cid:98) λ . Let −→ i and ←− i be theset of out-edges and in-edges of a vertex i , and V (cid:48) = V \{ } be the set of all waypoint vertices. We enumerate the m drones as D = { , . . . , m } . Let τ max be the maximum timefor completing all the missions, and r max the maximum tripsa drone can do. Let R = { , . . . , r max } be the possible trips.Let x klij ∈ { , } be a decision variable that equals if thedrone k ∈ D in its trip l ∈ R traverses the edge ( i, j ) , and otherwise. If x klij = 1 for i ∈ V (cid:48) , then the waypoint for activity α i was visited by drone k on trip l . Let B i = { , . . . , q i } bethe set of batches of activity α i . Let w ghia be a binary decisionvariable used to linearize the batch computation whose valueis if batch b gi is processed before b ha , and otherwise [16].Let y klig be a decision variable that equals if the drone k ∈ D in trip l ∈ R processes the batch g of activity α i withinits deadline δ i , and otherwise; and similarly, z klig equals ifthe batch is processed before the drone completes the trip andlands, and otherwise. Let the per batch utility for on-boardcompletion be ¯Γ i = ¯ γ i q i , and on-time completion be ¯¯Γ i = ¯¯ γ i q i ,for activity α i . Finally, let M be a sufficiently large constant.Using these, the MILP objective is: ax (cid:88) k ∈D (cid:88) l ∈R (cid:88) i ∈V (cid:18) (cid:88) j ∈−→ i x klij · Γ i (cid:19) + (cid:18) (cid:88) g ∈B i y klig · ¯Γ i + z klig · ¯¯ γ i (cid:19) (1) subject to the constraints listed in Table I.VI. H EURISTIC A LGORITHMS FOR
MSPSince MSP is NP-hard,
OPT is tractable only for small-sized inputs. So, time-efficient but sub-optimal algorithms arenecessary for larger-sized inputs. In this section, we proposetwo heuristic algorithms, called J OB S CHEDULING C ENTRIC ( JSC ) and V
EHICLE R OUTING C ENTRIC ( VRC ). A. The
JSC
Algorithm
The J OB S CHEDULING C ENTRIC ( JSC ) algorithm aims tofind near-optimal scheduling of batches while ignoring theoptimizations of routing to conserve energy.
JSC is split intotwo phases: clustering and scheduling .
1) Clustering Phase:
First, we use the ST-DBSCAN al-gorithm [37] to find time-efficient spatio-temporal clustersof activities. It returns a set of clusters C such that foractivities within a cluster C i ∈ C , certain spatial and temporaldistance thresholds are met. Drones are then allocated toclusters depending on their availability. For each cluster C i ,let T Ui = max α j ∈ C i (¯ t j + F ( λ j , (cid:98) λ )) be the upper bound forthe latest landing time for a drone servicing activities in C i ;analogously, let T Li = min α j ∈ C i ( t j − F ( (cid:98) λ, λ j )) be the lowerbound for the earliest take-off time . Then, all the temporalwindows [ T Li , T Ui ] for each C i ∈ C are sorted with respectto T Li . Recalling that there are m drones available at (cid:98) t = 0 ,they are proportionally allocated to clusters depending on thecurrent availability, which in turn depends on the temporalwindow. So, c = mn · | C | drones are allocated to C at time T L and released at time T U ; c = m − c n · | C | allocated to C from T L to T U (assuming T L < T U ), and so on.
2) Scheduling Phase:
Here, the activities are assigned todrones. The feasibility of assigning α i to d j , is tested bychecking if the required flying and hovering energy is enoughto visit A j ∪ α i ; here, we ignore the batch processing energy.If feasible, the drone can update its take-off and landing timesaccordingly, and then schedule the subset of batches (cid:99) B i ⊆ B i within the energy requirements. Assignments are done in twosteps: default assignment and test and swap assignment . Default Assignment.
For each b ki ∈ (cid:99) B i , let P b ki = [ t k + iβ, δ k ) be the preferred interval ; Q b ki ⊆ P b ki be the available preferredsub-intervals , i.e., the set of periods where no other batch isscheduled; and S b ki = [ δ k , ¯ τ j n +1 ) be the schedulable interval ,which exceeds the deadline but completes on-board. Clearly, P b ki ∩ S b ki = ∅ . The default schedule determines a suitabletime-slot for b ki . If Q b ki (cid:54) = ∅ , b ki is first-fit scheduled withinintervals of Q b ki ; else, if Q b ki = ∅ , the same first-fit policy isapplied over intervals of S b ki . If b ki cannot be scheduled evenin S b ki , it remains unscheduled. Test and Swap Assignment.
If the default assignment hasbatches that violate their deadline , i.e., scheduled in S but not in P , we use the test and swap assignment to improvethe schedule. Let P + i = (cid:83) i P b ki be the union of the preferredintervals forming the total preferred interval for an activity α i .Each batch b ki is tested for violating its deadline. If it violates,then batches b hj from other activities already scheduled in P + i are identified and tested if they too violate their deadline. If so, b hj is moved to the next available slot in S b hj , and its old timeslot given to b ki . If b hj is in its preferred interval but has moreslots available in this interval, then b hj is moved to anotherfree slot in P b hj and b ki assigned to the slot that is freed. Else,the current configuration does not contain violations, exceptfor the current batch b ki , but all available slots are occupied.So, the utility for b ki is compared with another b hj in P + i , andthe batch with a higher utility gets this slot.
3) The Core of
JSC : The
JSC algorithm works as follows(Algorithm 1). After the initial clustering phase , activitiesare tested for their feasibility. If so, the default assignment is initially evaluated in terms of total utility. If this createsdeadline violation, the test and swap assignment performed,and the best scheduling is applied.
Algorithm 1:
JSC ( A, D ) C ← clustering phase for C k ∈ C do for α i ∈ C k do for d j assigned to C k do if α i ∪ A j is feasible then apply best scheduling among default and test and swap assignment on (cid:99) B i
4) Time Complexity of
JSC : ST-DBSCAN’s time complex-ity is O ( n log n ) for n waypoints. Unlike k -means clustering,ST-DBSCAN automatically picks a suitable number of clus-ters, k , with ≈ nk waypoints each. For k times, we computethe min-max of sets of size nk , sort the k elements and finallymake nk assignments. So this drones-to-clusters allocationtakes O ( k nk + k log k + nk ) time. Hence, this clustering phase takes O ( n log n ) time.For the test and swap assignment , we maintain an inter-val tree for fast temporal operations. If l is the maximumnumber of batches to schedule per activity, building the treecosts O ( nlk log( nlk )) , while search, insertion and deletion cost O (log( nlk )) . Finding free time slots makes a pass over thebatches in O ( nlk ) . This is repeated for l batches, to give anoverall time complexity of O ( nlk log( nlk ) + nk l ) . Also the default assignment relies on the same interval tree, reportingthe same complexity as test and swap assignment .Finally, for the k clusters and each application in acluster, two schedule assignments are calculated for all thedrones. Thus, the time complexity of JSC is O ( n log n ) + O ( k nk m ( nlk log( nlk )+ nk l )) . However, since the clustering canresult in single cluster, m → n , and the overall complexity of JSC is O ( n l ) in the worst case. . The VRC
Algorithm
The V
EHICLE R OUTING C ENTRIC ( VRC ) algorithm aimsto find near-optimal waypoint routing while initially ignoringefficient scheduling of the batch computation.
VRC is split intothree phases: routing , splitting , and scheduling .
1) Routing Phase:
In this phase,
VRC builds routes whilesatisfying the temporal constraint for activities, i.e., forany two consecutive activities ( α i , α i +1 ) in the route, ¯ t i + F ( λ i , λ i +1 ) ≤ t i +1 . This is done using a modified version of k -nearest neighbors ( k - NN ) algorithm, whose solution is thenlocally optimized using the 2- OPT * heuristic [38].The modified k - NN works as follows: Starting from (cid:98) λ , aroute is iteratively built by selecting, from among the k nearestwaypoints which meet the temporal constraint , the one, say, λ whose activity has the earliest observation start time . Thisprocess resumes from λ to find λ , and so on until there is nofeasible neighbor. (cid:98) λ is finally added to conclude the route. Thisprocedure is repeated to find other routes until all the possiblewaypoints are chosen. This initial set of routes is optimized tominimize the flying and hovering energy using 2- OPT *, whichlets us find a local optimal solution from the given one [15].However, routes found here may be infeasible for a drone tocomplete within its energy constraints.
2) Splitting Phase:
Say R i,j = ( (cid:98) λ, λ i , . . . , λ j , (cid:98) λ ) be anenergy-infeasible route from the routing phase, which visits λ i and λ j as the first and last waypoints from (cid:98) λ . The goalis to find a suitable waypoint λ g for i ≤ g < j such that bysplitting R i,j at λ g and λ g +1 , we can find an energy-feasibleroute while also improving the overall utility and reducingscheduling conflicts for batches. For each edge ( λ g , λ g +1 ) , wecompute a split score whose value sums up three components: energy score , utility score , and compute score . Energy score.
Let E ( a, b ) be the cumulative flying andhovering energy required for some route R a,b ⊆ R i,j . Here wesequentially partition the route R i,j into multiple viable trips R ( i,k − , R ( k ,k − , . . . , R ( k x ,j ) such that each is a maximaltrip and is energy-feasible, i.e., E ( k y , k y +1 − ≤ E while E ( k y , k y +1 ) > E . For each edge ( λ g , λ g +1 ) ∈ R ( k y ,k y +1 − ,the energy score is the ratio E ( k y ,g ) E ≤ . A high value indi-cates that a split at this edge improves the battery utilization. Utility score.
Say U ( a, b ) gives the cumulative data captureutility from visiting waypoints in a route R a,b ⊆ R i,j . Sayedge ( λ g , λ g +1 ) ∈ R ( k y ,k y +1 − ⊆ R i,j is also part of aviable trip from above. Here, we find the data capture utilityof a sub-route of R i,j that starts a new maximal viable trip at λ g +1 and spans until λ l , as U ( g, l ) . The utility score of edge ( λ g , λ g +1 ) is the ratio between this new maximal viable tripand the original viable trip the edge was part of, U ( g,l ) U ( k y ,k y +1 − .A value > indicates that a split at this edge improves theutility relative to the earlier sequential partitioning of the route. Compute score.
We first do a soft scheduling of the batchesof all waypoints in R i,j using the first-fit scheduling policy,mapping them to their preferred interval , which is assumed tobe free. Say there are | R i,j | such batches. Then, for each edgeedge ( λ g , λ g +1 ) ∈ R i,j , we find the overlap count O g as the number of batches from α g whose execution slot overlaps withbatches from all other activities. The overlap score for edge ( λ g , λ g +1 ) is given as O g | R i,j | . If this value is higher, splittingthe route at this point will avoid batches from having scheduleconflicts in their preferred time slot.Once the three scores are assigned, the edge with the highest split score is selected as the split-point to divide the route intotwo sub-routes. If a sub-route meets the energy constraint, itis selected as a valid trip . If either or both of the sub-routesexceed the energy capacity, the splitting phase is recursivelyapplied to that sub-route till all waypoints in the original routeare part of some valid trip.
3) Scheduling Phase:
Trips are then sorted in decreasingorder of their total utility, and drones are allocated to tripsdepending their temporal availability. Once assigned to a trip,the drone’s scheduling is done by comparing the defaultassignment and the test and swap assignment used in
JSC .
4) The Core of
VRC : The
VRC algorithm works as fol-lows (Algorithm 2). After the initial routing phase , energy-unfeasible routes are split into feasible ones in the splittingphase , and then drones are allocated to them. Finally, the scheduling phase is applied to find the best schedule betweenthe default assignment and the test and swap assignment . Algorithm 2:
VRC ( A, D ) R ← routing phase for R ij ∈ R do for ( λ g , λ g +1 ) ∈ R ij , i ≤ g < j do s ( g ) ← energy score + utility score + compute score R (cid:48) ← splitting phase based on scores s ( i ) , ≤ i ≤ n for d j assigned to R ij ∈ R (cid:48) do apply best scheduling among default assignment and testand swap assignment on R ij
5) Time Complexity of
VRC : In the routing phase , themodified k - NN takes O ( kn ) , with n waypoints and k numberof neighbors. The 2- OPT * algorithm has time complexity O ( n ) . Hence this phase overall has a cost of O ( n ) .In the splitting phase , calculating the energy score for aroute with length n edges takes O ( n ) . Calculating the energyscore has O ( n ) complexity, and calculating the computescore has O ( n ) complexity. Considering a recursion of length n − , the complexity of this phase is O ( n ) Combining default assignment and test and swap assign-ment , VRC ’s overall complexity is O ( n ) in the worst case.VII. P ERFORMANCE E VALUATION
A. Experimental Setup
The
OPT solution is implemented using IBM’s CPLEXMILP solver v12 [39]. It uses Python to wrap the objectiveand constraints, and invokes the parallel solver. Our
JSC and
VRC heuristics have a sequential implementation usingnative Python. By default, these scheduling algorithms on ourworkloads run on an
AWS c5n.4xlarge VM with Intel Xeonlatinum 8124M CPU, cores, . , and
42 GB
RAM.
OPT runs on threads and the heuristics on thread.We perform real-world benchmarks on flying, hovering,DNN computing and endurance, for a fleet of custom,commercial-grade drones. The X-wing quad-copter is designedwith a top speed of / s (
20 km / h ), <
120 m altitude, a
Li-Ion battery and a payload capacity of .It includes dual front and downward HD cameras, GPS andLiDAR Lite, and uses the Pixhawk2 flight controller. It alsohas an NVIDIA Jetson TX2 compute module with -CoreARM64 CPU, -core Pascal CUDA cores, RAM and
32 GB eMMC storage. The maximum flying time is ≈
30 min with a range of . . Based on our benchmarks, we use thefollowing drone parameters in our analytical experiments. s (cid:15) f (cid:15) h (cid:15) c E / s 750 J / s 700 J / s 20 J / s 1350 kJ B. Workloads
We evaluate the scheduling algorithms for two applicationworkloads : Random (RND) and Depth First Search (DFS).Both have a maximum mission time of over multipletrips. In the
RND workload , n waypoints are randomly placedwithin a . radius from the depot, and with a randomactivity start time within (0 , . This is an adversarialscenario with no spatio-temporal locality. The DFS workload is motivated by realistic traffic monitoring needs. We performa depth-first traversal over a . radius of our localcity’s road network, centered at the depot. With a P = probability, we pick a visited vertex as an activity waypoint; P grows by for every vertex that is not selected, and n arechosen. The start time of these activities monotonically grows.The table below shows the activity and drone scenarios for each workload. These are based on reasonable operationalassumptions and schedule feasibility. We vary the data capturetime ( ¯ t − t ); batching interval ( β ); batch execution time on DNNs ( ρ M , ρ R ) ; deadline ( δ ); utility ( γ ); and number ofdrones ( m ). The load factor x decides the count of activitiesper mission, n = x · m . Drones take at most r max = nm trips. ¯ t − t β ρ M ρ R δ γ m x n = x · m [1 ,
5] 60 s 11 s 98 s 120 s [1 ,
5] 5 , , ,
50 2 , , , . . . , For brevity, RNet is only run on DFS. instances of each ofthese viable workload scenarios are created. We run OPT , JSC and
VRC for each to return a schedule and expected utility.
C. Experimental Results
Figures 2a, 2b and 3a show the expected utility per drone forthe schedules from the algorithms, for different drone countsand activity load factors. Similarly, Figures 2c, 2d, and 3bshow the algorithm execution time (log, secs ) for them. Eachbar is averaged for instances and the standard deviationsshown as whiskers. The per drone utility lets us uniformly We run
SSD Mobilenet v2 DNN (MNet, ρ M ) [40], popular for analyzingdrone footage [41], and FCN Resnet18 DNN (RNet, ρ R ) [42] on the TX2. compare the schedules for different workload scenarios. The total utility – MSP objective function – is the product of theper drone utility shown and the drone count. OPT did not finish (DNF) within for scenarios with or more activities. OPT offers the highest utility, if it completes executing,followed by
VRC , and
JSC : Specifically, for the -dronescenarios for which OPT completes, it offers an average of higher expected utility than
JSC . VRC gives more averageutility than
JSC for these scenarios, and more for allscenarios they run for. This is as expected for
OPT . Since a bulkof the energy is consumed for flying and hovering,
VRC , whichstarts with an energy-efficient route, schedules more activitieswithin the time and energy budget, as compared to
JSC . Thisis evidenced by Figure 4, which reports for MNet the averagefraction of activities , which are submitted and successfullyscheduled by the algorithms. The remaining activities are notpart of any trip. Among all workloads,
JSC only schedules of activities, VRC , and
OPT . So
OPT and
VRC are better at packing routes and analytics on the UAVs.
OPT and
VRC offer more utility for the DFS workload than RNDsince ≥ of DFS activities are scheduled. They exploit thespatial and temporal locality of activities in DFS.
2) The average flying time per activity in each trip is higherfor
VRC compared to
JSC : Interestingly, at
728 s vs.
688 s peractivity, the route-efficient schedules from
VRC manage to flyto waypoints farther away from the depot and/or from eachother, within the energy constraints, when compared to theschedules from
JSC . As a result, it schedules a larger fractionof the activities to gain a higher expected utility.
3) The execution times for
VRC and
JSC match their timecomplexity:
We use the execution times for
JSC to schedulethe workload instances to fit a cubic function in n , thenumber of activities, to match its time complexity of O ( n · l ) ;since in our runs, l ∈ [1 , and l ≤ n , we omit that term inthe fit. Similarly, we fit a degree-4 polynomial for VRC in n .The correlation coefficient for these two fits are high at . and . , respectively. So, the real-world execution time ofour scheduling heuristics match our complexity analysis. OPT is the slowest to execute, followed by
VRC and
JSC : Despite
OPT using × more cores than JSC and
VRC , itsaverage execution times are >
100 s for just activities. Thelargest scenario to complete in reasonable time is activitieson drones, which took on average. This is consistentwith the NP-hard nature of MSP. As our mission window is , any algorithm slower than that is not useful. JSC is fast, and on average completes within for up to activities. Even for the largest scenario with drones and activities, it takes only
90 s for RND and
112 s for DFS.
VRC is slower but feasible for a larger range of activities than
OPT . It completes within for up to activities. But,it takes ≈
45 min to schedule activities on drones.
5) The choice of a good scheduling algorithm depends onthe fleet size and activity count:
From these results, we canconclude that
OPT is well suited for small drone fleets withabout activities scheduled per mission. This completeswithin minutes and offers about better utility than VRC . A v g . U t ili t y p e r D r o n e
5d 10d 20d 50d
DNF DNF DNF DNF DNF DNF DNFDNF
JSC VRC OPT (a) Utility per drone, RND
10 20 40 20 40 80 40 80 160100200 A v g . U t ili t y p e r D r o n e
5d 10d 20d 50d
DNF DNF DNF DNF DNF DNF DNFDNF (b) Utility per drone, DFS
10 20 40 20 40 80 40 80 160100200 A v g . E x e c . T i m e ( s e c s ) [ L o g ]
5d 10d 20d 50d
DNF DNF DNF DNF DNF DNF DNFDNF
JSCVRC OPT (c) Alg. runtime, RND
10 20 40 20 40 80 40 80 160100200 A v g . E x e c . T i m e ( s e c s ) [ L o g ]
5d 10d 20d 50d
DNF DNF DNF DNF DNF DNF DNFDNF (d) Alg. runtime, DFSFig. 2.
Expected utility per drone and algorithm runtime of the three MSP algorithms, for the RND and DFS workloads on MNet. On the X axis, the numberof drones (outer) and activities per drone (inner) increase.
OPT is solved on × cores while JSC and
VRC run on just . DNF indicates OPT did not finish.VRC offers a good trade-off between utility and execution timefor medium workloads with activities and drones. Thistoo completes within minutes and gives on average about better utility than JSC and schedules over of all submittedactivities. For large fleets with or more activities beingscheduled,
JSC is well suited with fast solutions but has lowutility and leaves a majority of activities unscheduled.
6) A higher load factor increases the utility, but causesfewer % of activities to be scheduled: As x increases, we seethat the utility derived increases. This is partly due to adequateenergy and time being available for the drones to completemore activities in multiple trips. E.g., for the 5-drone case,we use load factors of x = { , , , , } for JSC and
VRC .There is a consistent growth in the total utility, from to for JSC , and from to for VRC . There is also acorresponding growth in the number of trips performed per mission, e.g., from . to . in total for VRC .However, the fraction of submitted activities that are sched-uled falls. For
JSC , its activity scheduled % linearly drops with x from to . But for VRC , the scheduled % stays atabout until x = 8 , at which point the activities saturatethe drone fleet’s capacity and the scheduled % falls linearly to for x = 32 . Interestingly, the utility increases faster thanthe number of activities scheduled for VRC . This is due to thescheduler favoring activities that offer a higher utility, whileavoiding those with a lower utility, causing a increase inutility received per activity between x = 8 to x = 32 .
7) Longer-running edge analytics offer lower on-time util-ity:
We run the same scenarios using RNet and MNet DNNsfor the DFS workload. For both
JSC and
VRC , the data captureutility that accrues from their schedules for the two DNNs issimilar. However, since the RNet execution time per batch is A v g . U t ili t y p e r D r o n e
5d 10d 20d 50d
DNF DNF DNF DNF DNF DNF DNF DNF DNF DNF
JSC VRC OPT (a) Utility per drone
10 20 40 20 40 80 40 80 160100200 -2 -1 A v g . E x e c . T i m e ( s e c s ) [ L o g ]
5d 10d 20d 50d
DNF DNF DNF DNF DNF DNF DNF DNF DNF DNF (b) Alg. runtimeFig. 3.
Expected utility per drone and algorithm runtime for RNet on DFS. much higher than MNet, there is a drop in on-time utility ,by about for both
JSC and
VRC , due to more deadlineviolations. As a result, this also causes a drop in total utilityfor RNet by about . for JSC and for
VRC , relativeto MNet. Even for
OPT we see a similar trend with a . drop in the total utility. The runtime of JSC and
VRC do notexhibit a significant change between RNet and MNet.
8) Effect of real-world factors:
The expected utilities re-ported above are under ideal conditions. Here, we evaluatetheir practical efficacy by emulating these schedules using realdrone traces to get the effective utility and trip completion rate .Ideally, each trip generated by
JSC and
VRC should completebe within a drone’s energy capacity. In practice, factors suchas wind or non-linear battery performance can increase ordecrease the actual energy consumed. Figure 5 shows the% of scheduled trips that do not complete when using thedrone trace. With < activities, all trips complete (notplotted). But but with ≥ activities, some trips in the planned
10 20 40 20 40 80 40 80 160100200 % c o m p l e t e d a c t i v i t i e s
5d 10d 20d 50d
DNF DNF DNF DNF DNF DNF DNFDNF
JSC VRC OPT (a) RND
10 20 40 20 40 80 40 80 160100200 % c o m p l e t e d a c t i v i t i e s
5d 10d 20d 50d
DNF DNF DNF DNF DNF DNF DNFDNF (b) DFSFig. 4. Fraction (%) of submitted activities scheduled per mission for MNet. schedule start to fail. At worst, of trips are incompletein some schedules. So the effect of real-world factors can besignificant. Interestingly, for the failed trips, an average . and a maximum of . extra battery capacity would allowthem to finish the trip. So by maintaining a buffer batterycapacity of ≈ when planning a schedule, we can ensurethat the drones can complete a trip and return to the depot.VIII. C ONCLUSION AND F UTURE W ORK
This paper introduces a novel Mission Scheduling Problem(MSP) that co-schedules routes and analytics for drones,maximizing the utility for completing activities. We proposedan optimal algorithm,
OPT , and two time-efficient heuristics,
JSC and
VRC . Evaluations using two workloads, varying dronecounts and load factors, and real traces exhibit different trade-offs between utility and execution time.
OPT is best for ≤ activities and ≤ drones, VRC for ≤ activities and ≤ drones, and JSC for > activities. Their time complexity P e r c . t r i p s i n c o m p l e t e
10d 20d 50d (a) MNet, RND
80 80 160 100 200 (b) MNet, DFS
80 80 160 100 200 (c) RNet, DFSFig. 5. % of incomplete trips using drone trace. It is for < activities. matches reality. The schedules work well for fast and slowDNNs, though on-time utility drops for the latter.The MSP proposed here is just one variant of an entire classof fleet co-scheduling problems for drones. Other architecturescan be explored considering 4G/5G network coverage to sendedge results to the back-end, or even off-load captured datato the cloud if it is infeasible to compute on the drone.This will allow more pathways for data sharing among UAVsand GS, but impose energy, bandwidth and latency costs forcommunications. Even the routing can be aware of cellularcoverage to ensure deterministic off-loading on a trip.We can use alternate cost models by assigning an opera-tional cost per trip or per visit, and convert the MSP into aprofit maximization problem. The activity time-windows maybe relaxed rather than be defined as a static window. Droneswith heterogeneous capabilities, in their endurance, computecapabilities, and sensors, will also be relevant for performingdiverse activities such as picking up a package using an on-board claw and visually verifying it using a DNN.Finally, we need to deal with dynamics and uncertaintieslike wind, obstacles and non-linear battery or compute behav-ior that affect flight paths, energy consumption and utilities.We can use probability distributions and stochastic approachescoupled with real-time information, which can decide andenact on-line rescheduling and rerouting while on a trip.Such on-the-fly route updates for drones also allows us toaccept and schedule activities continuously, rather accumulatea mission over hours, and prioritize the profitable activities.These will also need to be validated using more robust real-world experiments and traces. Acknowledgments.
This work is supported by AWS Research Grant, Intel-ligent Systems Center at Missouri S&T, and NSF grants CCF-1725755 andSCC-1952045. A. Khochare is funded by a Ph.D. fellowship from RBCCPS,IISc, Bangalore. S. K. Das was partially supported by a Satish DhawanVisiting Chair Professorship at IISc. We thank RBCCPS for access to thedrone, and Vishal, Varun and Srikrishna for helping collect the drone traces.
EFERENCES[1] F. Mohammed, A. Idries, N. Mohamed, J. Al-Jaroodi, and I. Jawhar,“UAVs for smart cities: Opportunities and challenges,” in
IEEE Intl.Conf. on Unmanned Aircraft Systems , pp. 267–273, 2014.[2] K. Kanistras, G. Martins, M. J. R., and K. P. V., “A survey of unmannedaerial vehicles (uavs) for traffic monitoring,” in , pp. 221–234, IEEE, 2013.[3] S. George, J. Wang, M. Bala, T. Eiszler, P. Pillai, and M. S., “Towardsdrone-sourced live video analytics for the construction industry,” in
Intl.Workshop on Mobile Computing Systems and App. , pp. 3–8, 2019.[4] F. B. Sorbelli, F. Cor`o, S. K. Das, and C. M. Pinotti, “Energy-constraineddelivery of goods with drones under varying wind conditions,”
IEEETransactions on Intelligent Transportation Systems (T-ITS) , 2021.[5] F. B. Sorbelli, C. M. Pinotti, S. Silvestri, and S. K. Das, “Measurementerrors in range-based localization algorithms for uavs: Analysis andexperimentation,”
IEEE Transactions on Mobile Computing , 2020.[6] D. G. Costa and J. P. J. Peixoto, “Covid-19 pandemic: a review of smartcities initiatives to face new outbreaks,”
IET Smart Cities , 2020.[7] M. Gapeyenko, V. Petrov, D. Moltchanov, S. Andreev, N. Himayat, andY. Koucheryavy, “Flexible and reliable uav-assisted backhaul operationin 5g mmwave cellular networks,”
IEEE Journal on Selected Areas inCommunications , vol. 36, no. 11, pp. 2486–2496, 2018.[8] S. Jung, S. H., H. S., and D. H. S., “Perception, guidance, and navigationfor indoor autonomous drone racing using deep learning,”
IEEE Roboticsand Automation Letters , vol. 3, no. 3, pp. 2539–2544, 2018.[9] Y. Zeng, Q. Wu, and R. Zhang, “Accessing from the sky: A tutorialon uav communications for 5g and beyond,”
Proceedings of the IEEE ,vol. 107, no. 12, pp. 2327–2375, 2019.[10] N. H. Motlagh, M. Bagaa, and T. Taleb, “Energy and delay aware taskassignment mechanism for uav-based iot platform,”
IEEE Internet ofThings Journal , vol. 6, no. 4, pp. 6523–6536, 2019.[11] X. Hu, K.-K. Wong, K. Yang, and Z. Zheng, “Uav-assisted relaying andedge computing: Scheduling and trajectory optimization,”
IEEE Trans.on Wireless Communications , vol. 18, no. 10, pp. 4738–4752, 2019.[12] A. Trotta, F. D. Andreagiovanni, M. Di Felice, E. Natalizio, and K. R.Chowdhury, “When uavs ride a bus: Towards energy-efficient city-scalevideo surveillance,” in
IEEE Intl. Conf. on Computer Communications(INFOCOM) , pp. 1043–1051, 2018.[13] J. Meng, H. Tan, C. Xu, W. Cao, L. Liu, and B. Li, “Dedas: Onlinetask dispatching and scheduling with bandwidth constraint in edgecomputing,” in
INFOCOM 2019 , pp. 2287–2295, IEEE, 2019.[14] G. Clarke and J. W. Wright, “Scheduling of vehicles from a centraldepot to a number of delivery points,”
Operations research , vol. 12,no. 4, pp. 568–581, 1964.[15] P. Toth and D. Vigo,
The vehicle routing problem . SIAM, 2002.[16] A. S. Manne, “On the job-shop scheduling problem,”
Operations Re-search , vol. 8, no. 2, pp. 219–223, 1960.[17] Y.-K. Kwok and I. Ahmad, “Static scheduling algorithms for allocatingdirected task graphs to multiprocessors,”
ACM Computing Surveys(CSUR) , vol. 31, no. 4, pp. 406–471, 1999.[18] J. K. Lenstra and A. R. Kan, “Complexity of vehicle routing andscheduling problems,”
Networks , vol. 11, no. 2, pp. 221–227, 1981.[19] G. Desaulniers, F. Errico, S. Irnich, and M. Schneider, “Exact algorithmsfor electric vehicle-routing problems with time windows,”
OperationsResearch , vol. 64, no. 6, pp. 1388–1405, 2016.[20] E. Uchoa, D. Pecin, A. P., M. P., T. V., and A. S., “New benchmarkinstances for the capacitated vehicle routing problem,”
European Journalof Operational Research , vol. 257, no. 3, pp. 845–858, 2017.[21] D. Cattaruzza, N. A., and D. F., “Vehicle routing problems with multipletrips,”
Annals of Operations Research , vol. 271, p. 127–159, 2018.[22] F. Stavropoulou, P. P. Repoussis, and C. D. Tarantilis, “The vehiclerouting problem with profits and consistency constraints,”
EuropeanJournal of Operational Research , vol. 274, no. 1, pp. 340–356, 2019.[23] S. P. Gayialis, G. D. K., G. A. P., E. K., and S. T. P., “Developing anadvanced cloud-based vehicle routing and scheduling system for urbanfreight transportation,” in
IFIP Intl. Conf. on Advances in ProductionManagement Systems , pp. 190–197, Springer, 2018.[24] K. F., “Optimal fleet design in a ship routing problem,”
Intl. transactionsin operational research , vol. 6, no. 5, pp. 453–464, 1999.[25] I. Khoufi, A. Laouiti, and C. Adjih, “A survey of recent extended variantsof the traveling salesman and vehicle routing problems for unmannedaerial vehicles,”
Drones , vol. 3, no. 3, p. 66, 2019. [26] P. Varshney and Y. Simmhan, “Characterizing application schedulingon edge, fog, and cloud computing resources,”
Software: Practice andExperience , vol. 50, no. 5, pp. 558–595, 2020.[27] J. Feng, Z. Liu, C. Wu, and Y. Ji, “Mobile edge computing for theinternet of vehicles: Offloading framework and job scheduling,”
IEEEvehicular technology magazine , vol. 14, no. 1, pp. 28–36, 2018.[28] C. Li, J. Bai, and J. Tang, “Joint optimization of data placement andscheduling for improving user experience in edge computing,”
Journalof Parallel and Distributed Computing , vol. 125, pp. 93–105, 2019.[29] Z. Ning, J. Huang, X. Wang, J. J. Rodrigues, and L. Guo, “Mobileedge computing-enabled internet of vehicles: Toward energy-efficientscheduling,”
IEEE Network , vol. 33, no. 5, pp. 198–205, 2019.[30] C. Shi, V. L., M. H. A., and E. W. Z., “Serendipity: Enabling remotecomputing among intermittently connected mobile devices,” in
ACMMobile Ad Hoc Networking and Computing , pp. 145–154, 2012.[31] J. Zhang, X. Hu, Z. Ning, E. C.-H. Ngai, L. Zhou, J. Wei, J. Cheng, andB. Hu, “Energy-latency tradeoff for energy-aware offloading in mobileedge computing networks,”
IEEE Internet of Things Journal , vol. 5,no. 4, pp. 2633–2645, 2017.[32] S. Bianco, R. Cadene, L. Celona, and P. Napoletano, “Benchmarkanalysis of representative deep neural network architectures,”
IEEEAccess , vol. 6, pp. 64270–64277, 2018.[33] F. De Smedt, D. Hulens, and T. Goedem´e, “On-board real-time trackingof pedestrians on a uav,” in
Proceedings of the IEEE Conf. on computervision and pattern recognition workshops , pp. 1–8, 2015.[34] A. Olivera and O. Viera, “Adaptive memory programming for the vehiclerouting problem with multiple trips,”
Computers & Operations Research ,vol. 34, no. 1, pp. 28–47, 2007.[35] R. L. Graham, “Bounds for certain multiprocessing anomalies,”
Bellsystem technical journal , vol. 45, no. 9, pp. 1563–1581, 1966.[36] B. Zmazek, “Multiple trips within working day in capacitated vrp withtime windows,” in
WSEAS Intl. Conf. on Computers , pp. 93–99, 2006.[37] D. Birant and A. Kut, “ST-DBSCAN: An algorithm for clusteringspatial–temporal data,”
Data & knowledge engineering , vol. 60, no. 1,pp. 208–221, 2007.[38] J.-Y. Potvin and J.-M. Rousseau, “An exchange heuristic for routeingproblems with time windows,”
Journal of the Operational ResearchSociety , vol. 46, no. 12, pp. 1433–1446, 1995.[39] IBM ILOG, “V12.1: User’s manual for cplex,” tech. rep., Intl. BusinessMachines Corporation, 2009.[40] M. Sandler, A. Howard, M. Zhu, A. Zhmoginov, and L.-C. Chen,“Mobilenetv2: Inverted residuals and linear bottlenecks,” in
IEEE Conf.on Computer Vision and Pattern Recognition (CVPR) , June 2018.[41] J. Wang, Z. F., Z. C., S. G., M. B., P. P., S.-W. Y., and M. S.,“Bandwidth-efficient live video analytics for drones via edge comput-ing,” in
IEEE/ACM Symp. on Edge Computing , pp. 159–173, 2018.[42] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks forsemantic segmentation,” in