vehicle routing problems for drone delivery · 2016-08-09 · delivery truck. there do not appear...

16
arXiv:1608.02305v1 [math.OC] 8 Aug 2016 c 2016 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. DOI: 10.1109/TSMC.2016.2582745 1 Vehicle Routing Problems for Drone Delivery Kevin Dorling, Student Member, IEEE, Jordan Heinrichs, Geoffrey G. Messier, Member, IEEE, Sebastian Magierowski, Member, IEEE Abstract—Unmanned aerial vehicles, or drones, have the poten- tial to significantly reduce the cost and time of making last-mile deliveries and responding to emergencies. Despite this potential, little work has gone into developing vehicle routing problems (VRPs) specifically for drone delivery scenarios. Existing VRPs are insufficient for planning drone deliveries: either multiple trips to the depot are not permitted, leading to solutions with excess drones, or the effect of battery and payload weight on energy consumption is not considered, leading to costly or infeasible routes. We propose two multi-trip VRPs for drone delivery that address both issues. One minimizes costs subject to a delivery time limit, while the other minimizes the overall delivery time subject to a budget constraint. We mathematically derive and experimentally validate an energy consumption model for multirotor drones, demonstrating that energy consumption varies approximately linearly with payload and battery weight. We use this approximation to derive mixed integer linear programs for our VRPs. We propose a cost function that considers our energy consumption model and drone reuse, and apply it in a simulated annealing (SA) heuristic for finding sub-optimal solutions to practical scenarios. To assist drone delivery practitioners with balancing cost and delivery time, the SA heuristic is used to show that the minimum cost has an inverse exponential relationship with the delivery time limit, and the minimum overall delivery time has an inverse exponential relationship with the budget. Numerical results confirm the importance of reusing drones and optimizing battery size in drone delivery VRPs. Index Terms—Vehicle routing problem (VRP), drone, delivery, unmanned aerial vehicle (UAV), traveling salesman problem (TSP), simulated annealing (SA), heuristic, mixed integer pro- gram (MIP). I. I NTRODUCTION Unmanned aerial vehicles (UAVs), or drones, have the potential to significantly reduce the cost and time required to deliver packages. In general, drones are less expensive to maintain than traditional delivery vehicles such as trucks, and can lower labor costs by performing tasks autonomously. Delivering with drones may be faster than delivering with traditional delivery vehicles, as drones are not limited by established infrastructure such as roads, and generally face less complex obstacle avoidance scenarios. The application of drones in emergency situations has the potential to save lives: drones can transport much-needed water, food, and medical supplies over hazardous terrain during a crisis, and can deploy wireless sensors to provide immediate updates on the event. This makes drones suitable not only for parcel delivery, but This work was supported by NSERC under Grant PGSD3-443041-2013. K. Dorling, J. Heinrichs, and G. G. Messier are with the Department of Electrical and Computer Engineering, University of Calgary, Calgary, AB T2N 1N4, Canada (e-mail: [email protected], [email protected], [email protected]). S. Magierowski is with the Department of Electrical Engineering and Computer Science, York University, Toronto, ON M3J 1P3, Canada (e- mail:[email protected]). also for emergency response in the event of forest fires, oil spills, and earthquakes. A number of large organizations have shown interest in drone delivery. In 2013, Amazon announced Prime Air [1], a service that utilizes multirotor drones to deliver packages from Amazon to customers. German logistics company Deutsche Post DHL also started its Parcelcopter project in 2013; the Parcelcopter [2] has transported medicine to the island of Juist in the North Sea. Google revealed Project Wing [3] in 2014 to produce drones that can deliver larger items than Prime Air and Parcelcopter. In 2014, the United Arab Emirates announced their plan to use drones to distribute official government documents such as permits and ID cards [4]. A startup called Matternet has partnered with Swiss Post to test a lightweight package delivery quadcopter [5]. Developments in numerous technologies have made it feasi- ble for these organizations to perform drone deliveries. Carbon fiber manufacturing costs have decreased from $25/kg to $10/kg over the last 20 years [6], [7], enabling the development of strong, lightweight airframes. Lithium polymer batteries, with their relatively high energy density [8], have improved the flight times of UAVs compared to alternative technologies such as nickel-cadmium and nickel-metal hydride. Drones typically use GPS to determine their location, and are able to take advantage of DGPS [9] and localization techniques [10] to im- prove accuracy. Obstacles can be avoided through techniques such as LIDAR [11] and image processing [12]. Architectures and protocols have been developed that enable drones to form ad-hoc networks [13] and to wirelessly communicate with other entities [14]. Even though significant effort has gone into developing drone delivery technology, challenges unique to planning drone deliveries, such as the limited flight range and carrying capacity of drones, have been neglected in comparison. The flying sidekick traveling salesman problem (FSTSP) [15] pro- vides one solution by allowing delivery trucks to also deploy drones, but relies on a combined fleet of trucks and drones to make deliveries. Green VRPs (GVRPs) [16] may account for battery-powered vehicles, but appear to be designed with trucks or other large capacity vehicles in mind. Drones have much smaller carrying capacities than trucks, and have limited flight times, meaning that in general they can only carry a small number of packages per route. The GVRP does not allow multiple trips to the depot, so as drone capacity and the maximum travel time decrease, it would likely compensate by unnecessarily purchasing more drones even though they could have been reused. We therefore propose solving drone delivery problems with a multi-trip VRP (MTVRP) [17] that compensates for each drone’s limited carrying capacity by reusing drones when possible.

Upload: others

Post on 08-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

arX

iv:1

608.

0230

5v1

[mat

h.O

C]

8 A

ug 2

016

c© 2016 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, includingreprinting/republishing this material for advertising orpromotional purposes, creating new collective works, for resale or redistribution to servers or lists, orreuse of any copyrighted component of this work in other works. DOI: 10.1109/TSMC.2016.2582745

1

Vehicle Routing Problems for Drone DeliveryKevin Dorling, Student Member, IEEE, Jordan Heinrichs, Geoffrey G. Messier,Member, IEEE,

Sebastian Magierowski,Member, IEEE

Abstract—Unmanned aerial vehicles, or drones, have the poten-tial to significantly reduce the cost and time of making last-miledeliveries and responding to emergencies. Despite this potential,little work has gone into developing vehicle routing problems(VRPs) specifically for drone delivery scenarios. ExistingVRPsare insufficient for planning drone deliveries: either multipletrips to the depot are not permitted, leading to solutions withexcess drones, or the effect of battery and payload weighton energy consumption is not considered, leading to costly orinfeasible routes. We propose two multi-trip VRPs for dronedelivery that address both issues. One minimizes costs subject to adelivery time limit, while the other minimizes the overall deliverytime subject to a budget constraint. We mathematically deriveand experimentally validate an energy consumption model formultirotor drones, demonstrating that energy consumptionvariesapproximately linearly with payload and battery weight. We usethis approximation to derive mixed integer linear programs forour VRPs. We propose a cost function that considers our energyconsumption model and drone reuse, and apply it in a simulatedannealing (SA) heuristic for finding sub-optimal solutions topractical scenarios. To assist drone delivery practitioners withbalancing cost and delivery time, the SA heuristic is used toshowthat the minimum cost has an inverse exponential relationshipwith the delivery time limit, and the minimum overall delive rytime has an inverse exponential relationship with the budget.Numerical results confirm the importance of reusing drones andoptimizing battery size in drone delivery VRPs.

Index Terms—Vehicle routing problem (VRP), drone, delivery,unmanned aerial vehicle (UAV), traveling salesman problem(TSP), simulated annealing (SA), heuristic, mixed integerpro-gram (MIP).

I. I NTRODUCTION

Unmanned aerial vehicles (UAVs), ordrones, have thepotential to significantly reduce the cost and time requiredto deliver packages. In general, drones are less expensiveto maintain than traditional delivery vehicles such as trucks,and can lower labor costs by performing tasks autonomously.Delivering with drones may be faster than delivering withtraditional delivery vehicles, as drones are not limited byestablished infrastructure such as roads, and generally faceless complex obstacle avoidance scenarios. The application ofdrones in emergency situations has the potential to save lives:drones can transport much-needed water, food, and medicalsupplies over hazardous terrain during a crisis, and can deploywireless sensors to provide immediate updates on the event.This makes drones suitable not only for parcel delivery, but

This work was supported by NSERC under Grant PGSD3-443041-2013.K. Dorling, J. Heinrichs, and G. G. Messier are with the Department

of Electrical and Computer Engineering, University of Calgary, Calgary,AB T2N 1N4, Canada (e-mail: [email protected], [email protected],[email protected]).

S. Magierowski is with the Department of Electrical Engineering andComputer Science, York University, Toronto, ON M3J 1P3, Canada (e-mail:[email protected]).

also for emergency response in the event of forest fires, oilspills, and earthquakes.

A number of large organizations have shown interest indrone delivery. In 2013, Amazon announcedPrime Air [1], aservice that utilizes multirotor drones to deliver packages fromAmazon to customers. German logistics company DeutschePost DHL also started itsParcelcopterproject in 2013; theParcelcopter [2] has transported medicine to the island of Juistin the North Sea. Google revealedProject Wing[3] in 2014 toproduce drones that can deliver larger items than Prime Air andParcelcopter. In 2014, the United Arab Emirates announcedtheir plan to use drones to distribute official governmentdocuments such as permits and ID cards [4]. A startup calledMatternet has partnered with Swiss Post to test a lightweightpackage delivery quadcopter [5].

Developments in numerous technologies have made it feasi-ble for these organizations to perform drone deliveries. Carbonfiber manufacturing costs have decreased from $25/kg to$10/kg over the last 20 years [6], [7], enabling the developmentof strong, lightweight airframes. Lithium polymer batteries,with their relatively high energy density [8], have improved theflight times of UAVs compared to alternative technologies suchas nickel-cadmium and nickel-metal hydride. Drones typicallyuse GPS to determine their location, and are able to takeadvantage of DGPS [9] and localization techniques [10] to im-prove accuracy. Obstacles can be avoided through techniquessuch as LIDAR [11] and image processing [12]. Architecturesand protocols have been developed that enable drones to formad-hoc networks [13] and to wirelessly communicate withother entities [14].

Even though significant effort has gone into developingdrone delivery technology, challenges unique to planningdrone deliveries, such as the limited flight range and carryingcapacity of drones, have been neglected in comparison. Theflying sidekick traveling salesman problem (FSTSP) [15] pro-vides one solution by allowing delivery trucks to also deploydrones, but relies on a combined fleet of trucks and dronesto make deliveries. Green VRPs (GVRPs) [16] may accountfor battery-powered vehicles, but appear to be designed withtrucks or other large capacity vehicles in mind. Drones havemuch smaller carrying capacities than trucks, and have limitedflight times, meaning that in general they can only carry asmall number of packages per route. The GVRP does notallow multiple trips to the depot, so as drone capacity and themaximum travel time decrease, it would likely compensateby unnecessarily purchasing more drones even though theycould have been reused. We therefore propose solving dronedelivery problems with a multi-trip VRP (MTVRP) [17] thatcompensates for each drone’s limited carrying capacity byreusing drones when possible.

Page 2: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

2

The main contribution of this paper is the development ofMTVRPs that consider battery and payload weight when cal-culating energy consumption. Other MTVRPs do not appear toaccount for battery and payload weight, limiting their applica-bility in drone delivery and emergency response scenarios.InSection VI-A we experimentally show that increasing batteryand payload weight can noticeably increase energy consump-tion, which in turn reduces flight time. Optimizing batteryweight is important for drones: a drone’s battery consumes alarge portion of its carrying capacity, meaning that increasingits battery size to extend flight time significantly reduces thecapacity available for packages. Approaches that considertheeffect of payload weight on energy consumption have beenshown in [18] to reduce costs in capacitated VRPs comparedto approaches that do not. Balancing payload weight, batteryweight, and flight time are important considerations whenattempting to minimize the cost or the delivery time for dronedeliveries.

In addition to developing MTVRPs for drone delivery, weare the first to derive and experimentally validate a linearenergy consumption model for multirotor drones. We demon-strate that energy consumption increases at an approximatelylinear rate with battery and payload weight. While others havedeveloped models for large vehicles, we are not aware ofany that exist for battery-powered drones. Our experimentsnot only validate our energy consumption model, but alsodemonstrate that drones consume approximately the samepower regardless of being in hover or flying at a constantspeed. We will show that this considerably simplifies ourMTVRPs.

Our linear energy consumption model lets us derive mixedinteger linear programs (MILPs) for solving the drone deliveryMTVRPs. A linear energy consumption model allows forlinear energy consumption constraints, which are requiredto derive an MILP compatible with fast commercial solverssuch as CPLEX [19]. These problems optimize the numberof drones, the routes they fly, as well as their battery weight,payload weight, and energy consumption. One VRP minimizesthe cost of making the deliveries and is referred to as themini-mum cost drone delivery problem (MC-DDP). Alternatively, inthe case of an emergency response situation, a company maywant to minimize overall delivery time, defined as the timeit takes to complete all package deliveries; we call this theminimum time drone delivery problem (MT-DDP). We referto the problems collectively as thedrone delivery problems(DDPs).

As MILPs are NP-hard, large instances (in our case, scenar-ios with a large number of locations) may take a significantamount of time to solve. For such cases, we derive a simulatedannealing (SA) heuristic for finding sub-optimal solutionstothe DDPs within a limited runtime. To help delivery networkplanners understand how the DDPs behave under differentconditions, we perform a sensitivity analysis to show howthe optimal cost and overall delivery time found by the MC-DDP and MT-DDP respectively vary with the size of thearea of interest, the number of locations considered, and therestrictions placed on the budget or overall delivery time.The SA heuristic is applied to demonstrate the importance

of performing multiple trips and optimizing battery weight:VRPs that do not make such considerations may find costlyor infeasible solutions to the DDPs.

While our DDPs allow for multiple deliveries per route,it is not clear if delivery companies such as Amazon andDHL are interested in delivering to more than one customerper route. The Amazon Prime Air website [1] and the DHLParcelcopter press release [2] only show drones that candeliver single packages. Even if these companies only planto deliver to one customer per route, our VRPs can be viewedas a generalization of this strategy. Constraints can be addedto our problem to limit the number of customers per route.Furthermore, our method can be used to see if the savingsfrom considering multiple deliveries per route make up forthe costs associated with implementing the strategy.

The rest of this paper is organized as follows: in Section IIwe review work relevant to the DDPs. Section III describesour energy consumption model for multirotor copters. InSection IV we provide MILP implementations of the DDPs,while in Section V we propose an SA heuristic for findingsub-optimal solutions to the problems within a constrainedruntime. Section VI presents experimental results validatingthe fuel consumption model, evaluates the performance of oursimulated annealing heuristic, and analyzes numerical resultsto gain insight on the DDPs. Our conclusions are provided inSection VII.

II. RELATED WORK

Drone routing papers, such as [20] and [21], typically focuson surveillance applications. The FSTSP [15] considers adelivery scenario based on combining drone delivery with adelivery truck. There do not appear to be papers that focussolely on using drones to make deliveries. This existing workon drone routing ignores factors important to drone deliverysuch as vehicle capacity, battery weight, changing payloadweight, and reusing vehicles to reduce costs.

VRPs [22], [23] have been applied to solve delivery prob-lems that, at first glance, appear similar to the DDPs proposedin this paper. A VRP attempts to find the optimal routes for oneor more vehicles to deliver commodities to a set of locations.Each location may have a unique demand representing thenumber or size of commodities it requires, or a time windowin which the vehicle should arrive. Vehicles typically leavefrom one or more depots, deliver their commodities, and thenreturn to the depots. This section will explain why existingVRPs are not adequate for the drone delivery problem.

The Green VRP (GVRP) [16], first described by Erdoganet al., allows vehicles to visit refuelling stations while makingdeliveries to extend their range. Schneider et al. [24] created aversion for battery-powered delivery vehicles that considerstime windows, capacity constraints, and location demands.Hiermann et al. [25] built on Schneider et al.’s work byallowing for a mixed fleet of various types of vehicles, perhapswith different capacities, battery sizes, and costs. They assumethat charging infrastructure is in place, so vehicles can regainenergy to extend their travel distance. While it could increasedrone range, it is debatable whether delivery companies will

Page 3: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

3

deploy charging infrastructure for their drones, and unlikelythat such infrastructure would be available in emergencyresponse situations. In GVRPs, vehicles can visit the samecharging station multiple times to restore energy, but appearto be able to visit the depot only once. Drones tend to havelimited carrying capacities, so if the depot can only be visitedonce, a GVRP will probably require a large number of dronesto satisfy every customer’s demand. In Section VI-D we showthat reusing drones by allowing them to make multiple tripscan significantly reduce costs.

A VRP that reuses vehicles is known as a multi-trip vehiclerouting problem (MTVRP), first proposed by B. Fleischmann[26]. While a number of approaches are available for solvingthe MTVRP, such as a large neighborhood search algorithm[27], a hybrid genetic algorithm with a local search operator[28], a variable neighborhood search algorithm [29], anda branch-and-price algorithm [30], none appear to considerenergy consumption as a function of vehicle weight. Routesfound by the above approaches may be infeasible or unneces-sarily costly in a drone delivery scenario, with batteries that arelarger than necessary or too heavy to carry. In Section VI-E wedemonstrate that optimizing battery weight can reduce costs.Battery weight cannot be optimized without modeling energyconsumption as a function of vehicle weight: the model isused to find the battery energy, and therefore weight, requiredto complete each route. The DDPs proposed in this paperapply our linear energy consumption model to optimize batteryweight and payload weight, ensuring that the routes found arelow-cost and feasible.

Our DDPs consider payload weight similar to the energyminimizing vehicle routing problem introduced by Kara etal. in [31]. The authors of [31] utilize a VRP that factorsin the effect of a vehicle’s payload on total costs, but isbased solely on Newtonian physics, and is not verified againstan actual vehicle. Unlike [31], the work by Xiao et al. [18]provides a linear fuel consumption model for trucks based onactual fuel consumption measurements from [32], along withan SA algorithm for minimizing the cost of routes. The loaddependant VRP [33] provides a local search heuristic for doingthe same in pickup and delivery scenarios. While these VRPsconsider the effect of payload weight on energy consumption,they appear to have been designed with vehicles that haverelatively large capacities in mind, as they only let vehiclesdepart from the depot once. Drones have a limited carryingcapacity, so if they can only leave the depot once, a largenumber will be required to satisfy demand in scenarios withmany customers. To reduce the number and therefore cost ofdrones, we reuse them after they return to the depot.

The DDPs proposed in this paper combine MTVRPs withVRPs that model energy consumption as a function of vehicleweight to gain the strengths of both approaches. As mentionedearlier, MTVRPs reduce drone costs by reusing drones afterthey return to the depot, but can propose routes that arecostly or infeasible. VRPs that model energy consumptionas a function of vehicle weight, on the other hand, ensurethat individual routes are feasible and low-cost, but do notreuse vehicles to lower costs. The DDPs reduce drone costsby reusing vehiclesand ensure low-cost, feasible routes by

modeling energy consumption as a function of battery andpayload weight.

III. M ULTIROTOR HELICOPTERENERGY CONSUMPTION

The flight time of a drone is limited by its weight and theenergy stored in its battery. An energy consumption modelhelps balance the two by providing the energy consumedby the drone as a function of its weight. When optimizingdeliveries, such a model can be used to compare the energyconsumed by alternative routes.

While energy consumption equations are available for singlerotor helicopters [34], to the best of our knowledge no suchequations are available for multirotor helicopters, the type ofdrone that most delivery companies appear to favor. In thissection, we derive an equation for the power consumed bya multirotor helicopter in hover as a function of its weight.We show that the power it consumes is approximately linearlyproportional to the weight of its battery and payload underpractical assumptions.

We derive the power consumed by a multirotor drone inhover, but not during flight, takeoff, or landing. In flight,the power consumed by the helicopter is often reduced dueto translational lift [34], a phenomena where air flowinghorizontally along the rotor generates additional lift. Theaverage power during hover is consequently an upper boundon the average power during flight. We assume that the powerconsumed during takeoff and landing is, on average, approx-imately equivalent to the power consumed during hover. Weconfirm in Section VI-A that these assumptions are realisticwith a 3D Robotics ArduCopter Hexa-B hexacopter.

From (2.16) in [34], we can calculate the powerP ∗ in Wattsof a single rotor helicopter in hover, with the thrustT inNewtons, fluid density of airρ in kg/m3, and the areaς ofthe spinning blade disc in m2 using

P ∗ =T 3/2

√2ρς

, (1)

where the thrustT = (W +m)g, given the frame weightWin kg, the battery and payload weightm in kg, and gravitygin N.

We can use (1) to derive an equation for the power con-sumed by ann-rotor copter if we assume that each rotor sharesthe total massW +m of the copter equally. Each rotor carriesa weight ofm′ = m/n for batteries and payload, and a frameweight ofW ′ = W/n, meaning that the power consumed bya single rotor is

P ′ = (W ′ +m′)3/2

g3

2ρς,

so the power consumed by alln rotors is

P = nP ′ = (W +m)3/2

g3

2ρςn. (2)

Note that the inverse relationship betweenP and n seen in(2) is a result ofn increasing the effective disc area.

Page 4: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

4

0 1 2 30

0.05

0.1

0.15

0.2

Battery and Payload Weight m (kg)

Pow

er (

kW)

Equation (2)Approximation (3)

Fig. 1. The linear approximation (3) fitted to the power consumption model(2), assumingn = 6 rotors, a fluid density ofρ = 1.204 kg/m3, a rotor discarea ofς = 0.2m2, and a frame weightW = 1.5 kg.

The linear approximation of then-rotor copter power con-sumption equation (2) can be expressed as

p(m) = αm+ β, (3)

where α represents the power consumed per kilogram ofbattery and payload weightm, andβ is the power requiredto keep the hexacopter frame in the air. In Section IV we use(3) to develop MILPs for optimizing the routes flown by a setof drones to minimize the time and cost required to deliverpackages to a set of locations. We will see that the linearapproximation is necessary for the constraints in the MILPsto be linear. Linear constraints ensure compatibility withthemajority of mixed integer program solvers available.

Fig. 1 shows that (3) closely fits (2), assuming a Hexa-Bhexacopter such thatn = 6, ρ = 1.204 kg/m3, ς = 0.2m2, andW = 1.5 kg. Applying a linear regression to (2) form =0-3 kg in increments of 0.001 kg results inα = 46.7W/kg andβ = 26.9W. Our linear approximation (3) closely fits theexact equation (2), with a mean percent error of 3.1% and thelargest difference being 6.3 W. In Section VI-A we validatethis approximation experimentally with a Hexa-B hexacopter.

The linear approximation will likely hold for other multiro-tor helicopters. The parametersn, ς , ρ, andW are presumablysimilar between helicopters and are all under a square root in(2), meaning slight adjustments to them will have a limited im-pact onP . A larger variation inm, however, can significantlyreduce the accuracy of the approximation: ifm varies between0 kg and 10 kg, the mean percent error becomes 12.8%, andthe largest difference between (2) and (3) is about 51 W.

IV. T HE DRONE DELIVERY PROBLEMS

In this section, we apply (3) to develop mixed integer linearprograms (MILPs) for optimizing the number of drones in afleet, as well as the routes they fly, in order to solve the dronedelivery problems (DDPs). When the objective is to minimizecosts, we refer to the problem as the minimum cost dronedelivery problem (MC-DDP). A company that specializes indelivering parcels may prioritize cost minimization over time.In an emergency response situation, however, a company couldinstead prioritize time, and would consequently solve theminimum time drone delivery problem (MT-DDP). In bothDDPs, constraints on the budgetB and delivery time limitTmay be imposed.

0 50 1000

20

40

60

80

100

x−coordinate (m)

y−co

ordi

nate

(m

)

0

1 2

3 4

5

6 7

8 9

10

Drone 1Drone 2

Fig. 2. An example showing two drones flying three different routes.

We define arouteas a path that starts and ends at the depot.The example given in Fig. 2 depicts two drones flying threeroutes. Whilst Drone 2 flies a single route, visiting locations4, 5, 6, and 7, Drone 1 flies two routes. During its first route,Drone 1 visits locations 1, 2, and 3, then returns to the depotto swap batteries and pick up more packages. After the swap,it flies its second route, visiting locations 8, 9, and 10. Weassume that only one depot exists in the area. The depotacts like a charging station: each vehicle may return to thedepot multiple times to collect more packages and replace itsbatteries. The DDPs optimize the routes flown by a set ofdrones in order to deliver packages to a set of locationsN .Location 0 is the depot. Each locationi ∈ N0, where theset N0 = N \ 0, has a demandDi which represents theweight of the package in kg that will be delivered to locationi. Every location, except for the depot, is visited only once bya drone, andτ s is spent at each location to descend, deliverthe package, and ascend.

The rest of this section is dedicated to explaining ourassumptions and deriving the MILP forms of the MT-DDPand MC-DDP. We discuss our assumptions in Section IV-A.In Section IV-B we list the constraints and decision variablesused in the DDPs. Section IV-C provides each DDP’s objectivefunction and MILP formulation.

A. Assumptions

This section explains the assumptions we make regardingdrone flight speed, battery charging, and the number of depots.We assume that drones fly between locations at a constantspeedv in m/s. In Section VI-A we demonstrate that whilethe energy consumed by a hexacopter during flight is approx-imately the same as the energy consumed during hover, theenergy consumed during flight can actually be slightly lowerthan the energy consumed in hover, likely due to translationallift. We therefore assume that the operator would fly dronesas fast as they reasonably can, at a constant speed ofvm/sbetween locations.

Note that one weakness of this assumption is that it ignoresthe impact of weather. Flying with the wind, for example,could reduce energy consumption. Cold temperatures mayadversely affect battery performance until the batteries warmup. For the sake of generality, we ignore the effects of weather.Understanding how hexacopter speed and energy consumptionare affected by the weather would likely require additionalmeasurements in different weather conditions.

Page 5: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

5

We assume that the demand at each location can be fullysatisfied by a single drone. If the demand at a location ishigher than the drone carrying capacity, the DDPs do not makemultiple drones deliver optimally to that location. To overcomethis issue, multiple locations can be placed on top of oneanother. Their combined demand can then be higher than thedrone’s carrying capacity. While this does not necessarilyfindthe optimal split, it at least lets drones complete the delivery.

We do not consider recharging batteries after they havebeen swapped out of a drone when calculating energy costs.Instead we assume that the operator will purchase enough fullycharged batteries to satisfy drone energy requirements beforedeliveries commence. For a delivery company, managing thecharging of various battery sizes between trips could be dif-ficult and costly compared to allowing the batteries to chargeovernight. In addition, batteries have a limited number ofcharge cycles, so charging them between trips would likely notprovide long-term savings, as they would have to be replacedmore frequently. Disaster management scenarios require lowresponse times, limiting charging time between trips.

We do not consider multiple depots. While doing so couldextend the range of the drones and potentially save money, webelieve considering multiple depots for drone delivery wouldbe handled better in a separate paper that discusses optimizingthe number of depots, their distribution over an area, as wellas the allocation of batteries and packages among them. Thesurvey paper [35] discusses VRPs for multiple depots.

B. Decision Variables and Constraints

This section discusses the decision variables, constants,and constraints used in the DDPs. The DDPs have identicalconstraints, which can be organized into categories relatedto limiting each drone’s route, reusability, timing, energyconsumption, capacity, as well as the total cost of makingdeliveries. Decision variables and constants are describedbelow their corresponding constraints.

We ensure that every route is valid through∑

j∈Ni6=j

xij = 1 ∀i ∈ N0 (4a)

j∈Ni6=j

xij −∑

j∈Ni6=j

xji = 0 ∀i ∈ N . (4b)

To create a routing map for the drones, we use the edgevariablesxij , wherexij = 1 if the drone moves from locationi to location j, and xij = 0 otherwise. Constraint (4a)guarantees that every location, except for the depot, is visitedexactly once by a drone, while (4b) ensures that a dronearriving at locationi also departs from locationi.

The reusability constraints∑

j∈N0

σij ≤ xi0 ∀i ∈ N0 (5a)

j∈N0

σji ≤ x0i ∀i ∈ N0 (5b)

i∈N0

x0i −∑

(i,j)∈N0×N0

i6=j

σij ≤M (5c)

determine whether or not a drone can be reused after returningto the depot. The reuse decision variable isσij , whereσij = 1if the drone leaves locationi for the depot, gains a fresh batteryand set of packages, then flies to locationj to begin a newroute; otherwiseσij = 0. Constraint (5a) implies that if adrone returns to the depot from locationi, it is available for useagain to fly to another location. Constraint (5b) ensures that ifa reused drone leaves from the depot to locationi, it arrivedpreviously from another location. The number of drones thatcan be purchased, and can therefore fly simultaneously, islimited to M by (5c).

We apply the demand constraints

j∈Ni6=j

yji −∑

j∈Ni6=j

yij = Di ∀i ∈ N0 (6a)

yij ≤ Kxij ∀(i, j) ∈ N ×N (6b)

i 6= j

to ensure that each location receives what it demands. Thepayload weight between locationsi andj is represented by thedecision variableyij in kg. The constantK is a large valuerepresenting an upper bound for constraints. Constraint (6a)makes sure that the payload weight when leaving locationi isDi kg less than upon arrival. Constraint (6b) sets the payloadweight of each edge without a vehicle to 0 kg.

We calculate and enforce timing through

ti − tj + τ + dij/v ∀(i, j) ∈ N ×N0 (7a)

≤ K (1− xij) i 6= j

ti − ai + τ + di0/v ∀i ∈ N0 (7b)

≤ K (1− xi0)ai − tj + τ + d0j/v ∀(i, j) ∈ N0 ×N0 (7c)

≤ K (1− σij) i 6= j

ti ≤ l ∀i ∈ N0 (7d)

l ≤ T. (7e)

A location i ∈ N0 is visited by a drone at timeti in seconds.The time in seconds that a drone returns to the depot directlyafter leaving locationi is ai. Note thatai = 0 if xi0 = 0,andai > 0 otherwise. The overall delivery timel is the timein seconds when all drones have completed their deliveries.Constant values related to timing include the speedv inm/s of the drones in the air, the distancedij in m betweenlocationsi and j, as well as the timeτ in seconds spent ateach location descending, delivering a package, and ascending.Drones must complete their deliveries by the delivery timelimit T in seconds. Constraint (7a) keeps track of the timeti that each locationi is visited by a drone. Similarly, (7b)keeps track of the timeai that a drone arrives at the depotfrom locationi. Constraint (7c) ensures that times are correctfor drones that are reused after returning to the depot. Theoverall delivery timel is set by (7d), and the delivery timelimit T is guaranteed by (7e).

Page 6: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

6

Carrying capacity is restricted through

qij + yij ≤ Qxij ∀(i, j) ∈ N ×N (8a)

i 6= j

zi/ξ − ζi ≤ K (1− xi0) ∀i ∈ N0 (8b)

ζi − ζj ≤ K (1− xji) ∀(i, j) ∈ N0 ×N0 (8c)

i 6= j

qij ≥ ζj −K (1− xij) ∀(i, j) ∈ N ×N0 (8d)

i 6= j

qi0 ≥ ζi −K (1− xi0) ∀i ∈ N0. (8e)

The battery weight between locationsi and j is representedby the decision variableqij in kg. To assist with optimizingthe battery weight, the decision variableζi tracks the batteryweight in kg at locationi. The energy consumed from adrone’s battery by the time it arrives at the depot directly afterleaving locationi is zi kJ. Note thatzi = 0 if xi0 = 0, whilezi > 0 otherwise. The constantξ is the energy density of thebattery in kJ/kg. The capacity of the drone between locationsi and j is restricted toQ kg by (8a). The weightζi of thebattery at each locationi is set by (8b) and (8c): constraint(8b) finds ζi for the locations visited just before the depot,while (8c) setsζi = ζj if the drone flies directly from locationi to locationj. The weightqij of the battery between locationsi and j is required by (8a) and is found through constraints(8d) and (8e). Constraint (8d) setsqij ≥ ζj if the drone fliesbetween locationsi andj, while (8e) setsqi0 ≥ ζi if the droneflies from locationi to the depot.

Energy restrictions are enforced by

fi − fj + p(mij) (dij/v + τ) ∀(i, j) ∈ N ×N0 (9a)

≤ K (1− xij) i 6= j

fi − zi + p(mi0) (di0/v + τ) ∀i ∈ N0 (9b)

≤ K (1− xi0)zi ≤ Kxi0 ∀i ∈ N0. (9c)

The decision variablefi represents the energy in kJ consumedfrom a drone’s current battery upon reaching locationi ∈ N0.The powerp(m) in kW consumed by a drone with a batteryand payload weight ofm kg is the linear approximation (3).The weight in kg of the drone’s battery and payload betweenlocationsi and j is mij = qij + yij . Constraint (9a) forcesfi to equal the total energy consumed along the route upto location i. Constraint (9b) makeszi equal to the energyconsumed flying the entire route that ends at locationi. Toensure thatzi = 0 if the drone does not fly from locationi tothe depot, and thatzi > 0 otherwise, we include (9c). Notethat constraints (9a) and (9b) are linear because the powerp(mij) is the linear approximation (3).

Costs are kept in line with the budgetB through

c = F∑

i∈N0

x0i − F∑

(i,j)∈N0×N0

i6=j

σij + ǫ∑

i∈N0

zi (10a)

c ≤ B. (10b)

The cost of a drone isF financial units, while the budgetis limited to B financial units. The constantǫ is the cost in

financial units of a kJ of energy. Constraint (10a) calculates thetotal costc of performing the deliveries. The leftmost term of(10a) represents the cost of drones assuming that each routerequires a new drone, while the second term represents thesavings provided by reusing drones; together they equal thetotal cost of drones. The rightmost term is the cost of energy.The total cost is restricted to the budget by (10b).

The constraints in this section assume each drone’s batteryissized to provide exactly enough energy for the upcoming route.The constraints can, however, be adjusted to find the optimumcombination of discrete battery sizes. Assume a set of batterytypesB exists, where each battery typej ∈ B has energyEjin kJ, a costCj in financial units, a weightwj in kg, and adecision variablebji that is 1 if battery typej is in the drone atlocationi with zi ≥ 0, and 0 otherwise. In (8b) the continuousbattery weightzi/ξ at location i can be replaced with theweight of the chosen batteries

j∈B wjbji. In (10a) the con-tinuous total costǫ

i∈N0zi of batteries can be replaced with

the total cost of the chosen batteries∑

i∈N0

j∈B Cjbji. Toensure that the chosen batteries’ energy is adequate, constraint∑

j∈B Ejbji ≥ zi, ∀i ∈ N0 can be added.

C. Mixed Integer Linear Program Formulation

This section provides mixed integer linear program (MILP)formulations of the DDPs. As both problems have identical de-cision variables and constraints, only their objective functionsdiffer. By representing the problems in MILP form, we showthat while the problems are non-convex, they are compatiblewith commercial MIP solvers such as CPLEX [19].

The MT-DDP can be expressed as

min l (11)

s.t. (4a) . . . (10b).

The objective function (11) minimizes the overall deliverytimel. According to (7d), the overall delivery time is equal to thetime of the last package delivery.

The MC-DDP can be expressed as

min c (12)

s.t. (4a) . . . (10b).

The objective function (12) minimizes the total costc, andtherefore, according to (10a), the cost of drones and energy.

Both DDPs are non-convex as they contain binary decisionvariables. However, the objective functions (11) and (12),and the constraints (4a)-(10b), are all linear functions ofthedecision variables. This means the DDPs are mixed integerlinear programs (MILPs) compatible with most MIP solvers.

While MIP solvers find optimal solutions, the runtime canbe large, even for problems with a small number of locations.In Section V we propose a simulated annealing approachsimilar to the one in [18] for finding sub-optimal solutionsto the problem under limited runtimes.

V. SIMULATED ANNEALING IMPLEMENTATION

Even for scenarios with a small number of locations,the time required to solve the MILP implementation of the

Page 7: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

7

DDPs to optimality may be prohibitively long. Under timeconstraints, a sub-optimal solution may be preferable. In thissection, we create a function for determining the cost andoverall delivery time of a DDP solution. This cost functiontakes into account the cost and weight of batteries, the payloadweight of each drone, and the fact that each drone can performmultiple trips. To solve practical problems with large numbersof locations, we apply it to a simulated annealing (SA) [36]heuristic similar to the algorithms in [18] and [37].

We take astring-basedapproach, meaning that a DDPsolution is represented as a one-dimensional vector of wholenumberss = [0 r1 0 r2 0 . . . rR 0], where, as described in[37], the number 0 represents the depot,rn represents a routeflown by a drone, andR is the number of routes. The variablern is a vector whosekth elementrnk ∈ N , whereN is theset of locations. The routes in Fig. 2 could, for example, berepresented by the strings = [0 1 2 3 0 0 0 8 9 10 0 4 5 6 7 0].When two neighboring zeros occur, there is an empty route; atotal of three routes exist in the aboves, even though five couldhave been flown. Section 2.3 of [37] discusses the string-basedmodel and its advantages in greater detail.

The rest of this section is dedicated to explaining our SAimplementation. To decide whether one solution is an im-provement over another, we compare their costs. The methodwe use to determine the cost of a solution is presented inSection V-A. Finally, the simulated annealing algorithm isdiscussed in Section V-B.

A. The DDP Cost Function

The cost of a set of routes depends on the type of DDP beingsolved. In the MT-DDP the best solution has the lowest overalldelivery time, while in the MC-DDP the best solution has thelowest cost. In this section, we create a function for calculatingthe cost and overall delivery time of a DDP solution.

We assume that violating the capacity constraint, budgetconstraint, or delivery time limit is costly. As in [18], wereduce the likelihood of accepting a solution that violatesaconstraint by penalizing it; we do so by greatly increasing thecost and overall delivery time. The constantK can be adjustedto reflect the actual costs of violating a constraint.

Alg. 1 calculates the overall cost and delivery time of asolution s to the DDP. It takes the solution vectors and aboolean valueΦ that is 1 for the MC-DDP and 0 for the MT-DDP as inputs. The algorithm is divided into two phases: thefirst phase calculates the cost of energy with Alg. 2, whilethe second finds the cost of drones and the overall deliverytime with Alg. 5. Later in this section we show that Alg. 2has aO

(

|N0|)

bound, and Alg. 5 has aO(

|N0| log2M)

bound, where|N0| is the number of locations in the area ofinterest, andM is the maximum number of drones that canbe purchased. This means that Alg. 1 has aO

(

|N0| log2M)

bound as well. The rest of this section discusses Algs. 2-5.Alg. 2 finds the cost of energy by iterating over the solution

vectors. It iterates from back to front, like the cost functionin Fig. A2 in [18]; if it went from front to back, it wouldhave to calculate the initial value of payload weighty beforeiterating over a route, instead of settingy = 0. Alg. 2 calls

Algorithm 1 The COST(s,Φ) method.Input:s - The solution vectorΦ - A boolean variable that is 1 if the goal is to minimizecost, or 0 to minimize overall delivery time

Output:c - The total cost ofsl - The time taken bys to complete deliveries

// Find the cost of energyλ, the costγ of drones, the overall// delivery timel, and the total costc.λ ← ENERGYCOST(s)(γ, l) ← DRONECOSTANDDELIVERYTIME(s, λ,Φ)c ← λ+ γ// Enforce budget and delivery time limit by increasing cost// and overall delivery time if either constraint is violated.if c > B then

c ← c+K (c−B)l ← l +K (c−B)

else if l > T thenc ← c+K (l − T )l ← l +K (l − T )

return (c, l)

BATTERYENERGY(t, ω) to find the energy

E =b−1∑

k=a

p(yk(k+1) + E/ξ)φk(k+1)

=α∑b−1

k=a yk(k+1)φk(k+1) + β∑b−1

k=a φk(k+1)

1− (α/ξ)∑b−1

k=a φk(k+1)

=αω + βt

1− (α/ξ)t

(13)

in kJ required by a drone to complete a route containinglocationsa to b. Note thatt is the time taken to complete aroute,ω is the sum-of-products of the travel time and payloadweight between locations,yij is the payload weight in kgbetween locationsi and j, p(m) is (3), α is the power inkW consumed per kg of battery and payload weight,β is thepower in kW required to keep the drone in hover assuming nobattery or payload weight,ξ is the battery energy density inkJ/kg, andφij is the travel time in seconds between locationsiandj. As Alg. 2 iterates throughs once, its bound isO

(

|N0|)

.

Alg. 2 assumes that battery weight and cost can be sized toprovide the exact amount of energy required. If it is preferableto combine discrete battery sizes instead, it can be shown thatfinding the optimal combination of batteries that minimizescost while providing enough energy to complete the route isa minimum knapsack problem [38]. LetB represent a set ofbattery types, where each battery typej ∈ B has a weightwj in kg, energyEj in kJ, and costCj in financial units.Given a decision variablebj that is 1 if battery typej is used,and 0 otherwise, while lettingY = Ej − α

∑b−1k=a wjφk(k+1)

and Z = α∑b−1

k=a yk(k+1)φk(k+1) + β∑b−1

k=a φk(k+1), the

Page 8: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

8

Algorithm 2 The ENERGYCOST(s) method.Input:s - The solution vector

Output:λ - The cost of energy for solutions

// Initialize the timet, sum-of-productsω of time and weight,// payload weighty, and energy costλ.t ← 0ω ← 0y ← 0λ ← 0// Iterate through the locations ins from back to front.for k ∈ { LENGTH(s)-2. . .0} do

// Set the next locationi and current locationj.i ← sk+1

j ← skif i 6= 0 ∨ j 6= 0 then

// Record the travel timeφij betweeni and j.φij ← τ + dij/v// Update the time, the sum-of-products of time and// weight, and the payload weight respectively.t ← t+ φijω ← ω + yφijy ← y +Dj

// Update costs when a vehicle arrives at a depot.if (0 == j) ∧ (i 6= 0) then

E ← BATTERYENERGY(t, ω)// Add the cost of energy. Note thatǫ is the cost// of a kJ. Greatly increase the cost if the positive// energy constraint is violated.if E > 0 then

λ ← λ+ Eǫelse

λ ← λ+−K (Eǫ)

// Enforce the capacity constraint by greatly// increasing cost if the drone carries too much.if y + E/ξ > Q then

λ ← λ+K (y + E/ξ −Q)

// Reset weight and time values for the next route.t ← 0ω ← 0y ← 0

return λ

minimum knapsack problem is

min∑

j∈B

Cjbj (14)

s.t.∑

j∈B

Y bj ≥ Z.

The valuesE, Eǫ, andE/ξ in Alg. 2 can be replaced with∑

j∈B Ejbj,∑

j∈B Cjbj, and∑

j∈B wjbj respectively aftersolving (14).

To calculate the overall delivery time, we require thedeliv-ery timeand arrival time of each route, which can be found

Algorithm 3 The ROUTEDELIVERYANDARRIVALTIMES(s)method.Input:s - The solution vector

Output:u - A vector containing pairs of the delivery and arrivaltimes for each route

// Initialize the delivery timeh and arrival timea to 0.h ← 0a ← 0// Initialize the route timing vectoru to ∅.u ← ∅// Iterate through the locations ins from front to back.for k ∈ {1 . . . LENGTH(s) −1} do

// Set the current locationi and previous locationj.i ← skj ← sk−1

if i 6= 0 ∨ j 6= 0 then// Update the time variables.h ← aφij ← τ + dij/va ← a + φij// Add the delivery and arrival time tou.if i == 0 ∧ j 6= 0 then

u ← u ∪ (h, a)// Reset the delivery time value.a ← 0

return u

Algorithm 4 The LISTSCHEDULE(u, n) method.Input:u - A vector containing pairs of delivery and arrival timesfor each routen - The number of drones that can be assigned routes

Output:l - The overall delivery time when the routes are assignedto n drones

// Apply the list scheduling algorithm to assign routes to// drones. Initialize the drone timing vectorκ.κ ← ∅for i ∈ {0 . . . n− 1} do

κ ← κ ∪ (0, 0)

// Go through every route in the route timing vectoru.for i ∈ {0 . . . LENGTH(u)−1} do

// Get the delivery and arrival times of the drone with// the smallest arrival time. Then assign routei to that// drone.(h′, a′) ← POPM INIMUM ARRIVALTIMEELEMENT(κ)(h, a) ← uiINSERTELEMENT(κ, (a′ + h, a′ + a))

// Return the maximum delivery time inκ.return MAXIMUM DELIVERYTIME(κ)

Page 9: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

9

with Alg. 3. The delivery time is when the last delivery alonga route is made, while the arrival time is when the dronearrives at the depot after completing the route. Route timingvectoru contains pairs of delivery and arrival times for eachroute, such that elementui = (hi, ai), wherehi is the deliverytime andai is the arrival time for routei. Alg. 3 implementsROUTEDELIVERYANDARRIVALTIMES(s), which iterates overthe solutions to calculateu. As Alg. 3 iterates throughs once,it has aO

(

|N0|)

bound.To minimize the overall delivery time, we require a method

of assigningR routes ton drones; this method is given inAlg. 4. This problem is equivalent to theload balancingproblem in computer science, wherej jobs are assigned tom machines to minimize the maximum load of the machines.This problem is NP-hard, so we apply thelist scheduling, orgreedy-balance, algorithm discussed in Section 11.1 of [39],except jobs become routes, machines become drones, and wetry to minimize the maximum delivery time of the drones.Alg. 4 implementsLISTSCHEDULE(u,n) to approximate theminimum overall delivery time. At mostM drones can bepurchased, and the number of elements inu cannot exceedthe number of locations|N0|. Drone timing vectorκ containspairs of delivery and arrival times for each route, such thatelementκi = (hi, ai). Assuming thatκ is implemented as abinary heap, the bound of Alg. 4 isO

(

|N0| logM)

.Alternatives to list scheduling, such as thelongest pro-

cessing time(LPT), or sorted-balance, algorithm discussedin [39] could be applied. LPT improves list scheduling bychoosing the jobs to assign based on a specific order, suchas by descending runtime, resulting in a better performanceguarantee of 1.5 instead of 2. The order of the route deliveryand arrival times inu depend on the order of the routes ins.The SA algorithm randomly adjustss: in addition to changingthe routes themselves, it also changes their order. As the SAalgorithm is already adjusting the order of the routes, wechoose not to implement LPT.

Alg. 5 implements the DRONECOSTANDDELIVERY-TIME(s, λ,Φ) method, whereλ is the cost of energy, tocalculate the cost of dronesγ and the overall delivery timel. When solving the MC-DDP, it performs a binary search toreduce the number of dronesn as much as possible, withoutviolating the delivery time constraint. While solving the MT-DDP, on the other hand, it setsn as high as possible withoutviolating the budget constraint. After findingn, and in turnγ,it uses Alg. 4 to findl. As Alg. 5 performs a binary searchto find the number of drones, calling Alg. 4 every iteration, ithas aO

(

|N0| log2M)

bound.

B. Simulated Annealing Algorithm

Alg. 6 provides the simulated annealing algorithm we use.It requires an initial temperatureΥ0, final temperatureΥ′,cooling factorµ, and the number of roundsΛ per coolingphase. It is based on the approach discussed in Section 2.5 of[37], with slight modifications. We do not include the heatingphase, and instead letΥ0 be an input to the algorithm. We useAlg. 1 to compare the costs of different solutions.

In Alg. 6 theexchange rulesare used to find a neighboringsolution s

′ from the current solutions. The three exchange

Algorithm 5 The DRONECOSTANDDELIVERYTIME(s, λ,Φ)method.Input:s - The solution vectorλ - The cost of energy for solutionsΦ - A boolean variable that is 1 if the goal is to minimizedrone cost, or 0 to minimize overall delivery time

Output:γ - The cost of dronesl - The overall delivery time

// Get the vectoru, which contains pairs of delivery and// arrival times for each route.u ← ROUTEDELIVERYANDARRIVALTIMES(s)// Perform a binary search to find the best number of// dronesn when minimizing cost.if Φ then

// Set the lower and upper boundsϕ andψ respectively,// whereM is the maximum number of drones available.ϕ ← 1ψ ← Mwhile ϕ ≤ ψ − 1 do

n ← ⌊ϕ+ ψ−ϕ2 ⌋

if LISTSCHEDULE(u, n) ≤ T thenψ ← n

elseϕ ← n+ 1

n ← ϕif LISTSCHEDULE(u, n) > T then

n ← ψ

else// Purchase as many drones as possible to minimize time,// given a budgetB and a costF of a single drone.n ← ⌊B−λ

F ⌋// Make sure number of drones is positive.if n < 1 then

n ← 1// Find the cost of dronesγ and the overall delivery timel.γ ← nFl ← LISTSCHEDULE(u, n)return (γ, l)

i j

Input:

Output:

0 3 2 1 0 6 0 5 4 0

0 5 2 1 0 6 0 3 4 0

(a) Swap

i j

Input:

Output:

0 3 2 1 0 6 0 5 4 0

0 2 1 0 6 0 5 3 4 0

(b) Relocate

i j

Input:

Output:

0 3 2 1 0 6 0 5 4 0

0 5 0 6 0 1 2 3 4 0

(c) 2-opt

Fig. 3. The exchange rules from Section 2.4 of [37].

Page 10: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

10

Algorithm 6 The SIMULATEDANNEALING(Υ0,Υ′, µ,Λ)

method.Input:Υ0 - The initial temperatureΥ′ - The final temperatureµ - The amount that temperature is adjusted each iterationΛ - The number of adjustments to the solution attemptedper iteration

Output:s - A solution to the DDP

// Generate a random solution to the DDP using the number// of locations|N0|. It can be infeasible at this point.s ← RANDOMSOLUTION(|N0|)// Set the current temperatureΥ to the initial temperature// Υ0.Υ ← Υ0

// Perform annealing on the current solutions.while Υ > Υ′ do

Υ ← µΥfor k ∈ {1 . . .Λ} do

// Pick two random indices fors.i ← UNIFORMRANDOM INTEGER(1,LENGTH(s)-1)j ← UNIFORMRANDOM INTEGER(1,LENGTH(s)-1)// Choose a random exchange ruleR, then adjusts.R ← UNIFORMRANDOM INTEGER(1,3)s′ ← ADJUSTWITHEXCHANGERULE(s, R, i, j)

// Use Metropolis algorithm to determine if the// adjustment should become the current solution.X ← UNIFORMRANDOMFLOAT(0,1)if exp

(

− COST(s′)−COST(s)Υ

)

≥ X thens ← s

return s

rules in Section 2.4 of [37] are applied in Alg. 6, each usingtwo uniform randomly selected indices. The swap rule inFig. 3a swaps two randomly selected elements in the vector,the relocate rule in Fig. 3b changes the position of a randomlyselected element in the vector, while the 2-opt rule in Fig. 3creverses a randomly chosen sub-vector. Note that the vectorsin Fig. 3 represent the solution vectors, whose elementsare the locations in the area of interest. To determine if theneighboring solution should become the current one, we applythe Metropolis algorithm [40].

Section VI compares the performance of the MILP imple-mentations to the SA implementations to validate the costfunction and demonstrate that the SA implementation can findnear-optimal solutions to small DDP instances. One weaknessof the SA approach is that it does not take advantage ofcharacteristics unique to VRPs. For example, it does not takeadvantage of geographical information to reduce the likelihoodof connecting distant locations, even though a route containingsuch locations would likely be infeasible. It also does not keeptrack of how often the swap, relocate, and 2-opt operationsimprove the solution, which could be used to increase thefrequency of operations that are more likely to improve thesolution. While heuristics that implement these approaches can

likely find better solutions than SA given the same runtime, wedo not believe it is likely that the trends observed in Section VIwill change significantly with the heuristic. The trends canbeexplained by adjustments made to parameters such as area sizeand the number of customer locations in an area, and do notappear to be a result of behavior specific to SA.

VI. RESULTS

In this section, we validate the multirotor helicopter energyconsumption model, and analyze the performance of the MILPand SA implementations of the DDPs. We demonstrate thatthe SA implementations find near-optimal solutions to smallinstances of the DDPs, and provide consistent results for largerinstances. We show that the cost found by the MC-DDP has aninverse exponential relationship with the delivery time limit,and that the overall delivery time found by the MT-DDPhas an inverse exponential relationship with the budget. Wedemonstrate that the majority of costs go towards drones, andthat changing the budget or delivery time limit causes the SADDPs to adjust the number of drones while leaving energycosts approximately constant. We demonstrate that reusingdrones to perform multiple trips is an important strategy forreducing costs. Our results indicate that optimizing batteryweight is an effective strategy for reducing the total cost andoverall delivery time.

To understand how the DDPs behave in general, we averagethe results of a number of randomly generated instances ofeach scenario. Each scenario has an area size of 0.25 km2 or1 km2. Small scenarios have 6-8 delivery locations, while largescenarios have 125 or 500 delivery locations. We generate 50random instances for each scenario. In each instance, deliverylocations are uniformly distributed throughout the area andare given uniform random demands of 0.5-2kg; depots arelocated in the middle of the area. We run the SA algorithm20 times per instance, and calculate the minimum, mean,standard deviation, and average runtime of these 20 runs. Theminimums, means, etc. in this section are averaged over all50 instances of each scenario. Unless mentioned otherwise,we use the average minimum values in tables and graphs. Werun the MILP implementation once per instance, and providethe average result and runtime over all 50 instances of ascenario. Unless mentioned otherwise, when running the SAalgorithm, the initial temperatureΥ0 = 1, the final temperatureΥ′ = 0.001, the cooling factorµ = 0.99, and the number ofroundsΛ = 1000.

We assume that each drone costsF = $500 and hasa maximum carrying capacity ofQ = 3 kg. Its maximumcarrying capacity includes its battery and payload weight,butnot its frame weight. Drones can vary in price from under $100for basic models to tens of thousands of dollars for industrial ormilitary use. We assume that the operator either manufacturesits own drones, or uses a hobbyist drone to make deliveries,hence the $500 cost. A carrying capacity of 3 kg should bepossible for drones designed to deliver small packages. We as-sign a slopeα = 0.217kW/kg and a y-interceptβ = 0.185 kWto the energy consumption model, based on results obtainedfrom the hexacopter power consumption measurements made

Page 11: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

11

in Section VI-A. When delivering packages, we assume thatthe drone flies at a constant speed ofv = 6m/s betweenlocations, and takesτ = 60 s at each location to descend,deliver the package, and ascend. Batteries are given an energydensity ofξ = 650 kJ/kg and costǫ = 0.1$/kJ, based on theenergy density and price of lithium polymer batteries in UnitedStates dollar values at the time this paper was written.

We use thepercent improvementp to compare how a valuechanges fromx to x′ after adjusting a parameter or algorithm.We express the percent improvement as

p =x− x′x′

. (15)

We either minimize the cost or the overall delivery time, sowhenp > 0, x′ is an improvement overx.

The rest of this section is organized as follows: Section VI-Avalidates our energy consumption model by comparing itto measurements from a 3D Robotics ArduCopter Hexa-Bhexacopter. Section VI-B compares the results and runtimesofthe MILP and SA DDP implementations for instances with 6-8 locations, and measures the consistency and runtimes of theSA DDPs for instances of up to 500 locations. Section VI-Cexamines how the cost and overall delivery time found bythe MC-DDP and MT-DDP respectively change with thedelivery time limit, budget, area size, and number of locations.Section VI-C also examines how the DDPs adjust costs fordifferent delivery time limits and budgets. Section VI-D inves-tigates the importance of reusing drones, while Section VI-Elooks into the advantages of optimizing battery weight.

A. Hexacopter Energy Consumption Measurements

In this section, we conduct two experiments to validateour energy consumption model. In the first experiment weverify that the power consumed during hover, level flight, andchanging altitude is, on average, approximately equal. Thesecond experiment verifies that the relationship between powerconsumption and battery and payload weight is approximatelylinear, and provides us with realistic values for our linearmodel.

Experimental results were generated with a 3D RoboticsArduCopter Hexa-B hexacopter. It has six 850 RPM/V motorswith 10x4.6 APC slow fly propellers, uses an Arduino flightcontroller with firmware version 3.0.1 of the APM 2.5 autopi-lot, and has a u-blox LEA-6 GPS with a ceramic 4 mm GPSpatch antenna. Unless mentioned otherwise, the hexacopterispowered by a 4-cell 14.8 V lithium polymer battery. Powerconsumption is calculated using current and voltage readingstaken from the hexacopter’s power management system, whichwere recorded by the ArduPilot mission planning software.

Power consumption was measured during level flight, hover,and altitude changes. The ArduPilot software under defaultsettings was used to control the hexacopter and log themeasurements. During level flight, the drone flew six timesbetween two waypoints positioned about 94 m apart, with anaverage speed of about 6 m/s; the path can be seen in Fig. 4a.During hover, the hexacopter remained as stationary as it couldover a single location over a period of 40 s. During altitude

(a) The hexacopter path during thestraight flight manoeuvre. Mapdata and imagec©2015 Google.

0 50 100 150 2000

5

10

15

20

25

30

Time (s)

Hei

ght (

m)

(b) Hexacopter altitude while per-forming altitude changes.

Fig. 4. Hexacopter manoeuvre information.

TABLE IAVERAGE VOLTAGE, CURRENT, AND POWER CONSUMED BY THEHEXACOPTER WHILE PERFORMING DIFFERENT MANOEUVRES.

Manoeuvre Voltage (V) Current (A) Power (W)Hover 15.6 19.9 311

Straight Flight 15.3 19.8 304Altitude Change 14.7 20.3 297

changes, the hexacopter’s altitude changed as in Fig. 4b, withminimal changes in latitude and longitude.

Table I contains the average voltage, current, and power con-sumption during hover, level flight, and altitude adjustment. Itshows that, on average, the power consumed when performingthe three manoeuvres is approximately equal. The current isslightly lower during level flight, possibly due to translationallift, where air moving horizontally along the rotors createsextra lift. The voltages in Table I are slightly different betweentests, depending on the battery charge remaining. The altitudechange tests had slightly lower voltages because they wereconducted last.

The second set of experiments measure the power con-sumption of the hexacopter as it carries different weights,while hovering 3-5 m above the ground at the same location.Measurements were repeated twice for each weight and batterytype. The hexacopter was tested with both a 3-cell 11.1 Vlithium polymer battery and a 4-cell 14.8 V lithium polymerbattery.

Fig. 5 confirms that the power consumption of the hexa-copter varies approximately linearly with battery and payloadweight, for both 3- and 4-cell batteries. The power consumedby the 4-cell battery grows faster with weight than with the 3-cell battery because we used 10x4.7 slow fly propellers, whichperform less efficiently at the higher motor RPM from usingthe 4-cell batteries.

B. Performance of MILP and SA Implementations

This section analyzes the performance of the MILP andSA implementations of the DDPs. It compares the results andruntimes of the SA implementations with the MILP implemen-tations, and examines how the SA implementations performat different cooling rate levels. The MILP implementationswere run in CPLEX in a single thread, otherwise with defaultsettings. Each scenario has its own number of locations|N0|,not including the depot, and area sizeA in km2.

Page 12: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

12

0.5 1 1.50.25

0.3

0.35

0.4

0.45

0.5

0.55

Battery and Payload Weight m (kg)

Pow

er (

kW)

.217m

+ .185

.171m + .187

4S Battery3S Battery

Fig. 5. Hexacopter energy consumption for various battery and payloadweightsm, with corresponding energy consumption model values.

TABLE IIPERFORMANCE OFMILP AND SA IMPLEMENTATIONS OF THEMT-DDP.

Scenario MILP SAA |N0| Result Runtime Mean Std Runtime

(km2) (min) (s) (min) (min) (s)0.250 6 5.40 0.97 5.48 0.09 0.241.000 6 7.20 0.96 7.28 0.10 0.250.250 7 6.59 8.41 6.68 0.09 0.281.000 7 8.65 6.13 8.76 0.14 0.280.250 8 7.29 116.98 7.43 0.13 0.301.000 8 9.63 86.87 9.83 0.22 0.31

TABLE IIIPERFORMANCE OFMILP AND SA IMPLEMENTATIONS OF THEMC-DDP.

Scenario MILP SAA |N0| Result Runtime Mean Std Runtime

(km2) (k$) (s) (k$) (k$) (s)0.250 6 0.99 9.47 1.00 0.00 0.191.000 6 1.04 4.84 1.04 0.00 0.190.250 7 1.04 75.38 1.04 0.00 0.221.000 7 1.10 24.84 1.11 0.00 0.220.250 8 1.04 1116.87 1.04 0.00 0.241.000 8 1.22 205.52 1.26 0.04 0.24

Tables II and III show the average results and runtimesof the MILP and SA implementations of the MT-DDP andMC-DDP respectively. The SA algorithm parameters are setto Υ0 = 1, Υ′ = 0.001, µ = 0.9, and Λ = 1000. MT-DDP scenarios have a budgetB of $1,500, while MC-DDPscenarios have delivery time limitsT of 10 minutes.

The SA implementation consistently finds near-optimal so-lutions for problems with 8 or less locations. SA solutions tothe MT-DDP are at most seconds away from optimal, whileSA solutions to the MC-DDP are at most tens of dollarsaway, when optimal solutions are in minutes and thousandsof dollars respectively. While optimality cannot be guaranteedwhen using SA, it appears to be an effective approach forsolving small cases of the DDPs, providing similar results inunder a second of runtime.

The runtime of the MILP implementation can grow expo-nentially with the number of locations, as can be observedfrom the runtimes in Tables II and III. In Table III, forexample, the runtime increases from 75.38 s to 1116.87s whensolving an 8 location problem with an area of 0.25 km2 insteadof a 7 location problem. The runtime of the SA implementationis consistently about 0.2-0.3s for each scenario.

In Tables II and III, increasingA without changing|N0|can actually cause the runtime of the MILP implementation

TABLE IVSIMULATED ANNEALING RESULTS FOR THEMT-DDP.

µ = 0.9 µ = 0.99A |N0| Mean Std Runtime Mean Std Runtime

(km2) (min) (min) (s) (min) (min) (s)0.250 125 13.28 0.13 4.00 12.19 0.08 40.791.000 125 17.49 0.31 4.12 15.62 0.14 41.880.250 500 75.49 0.67 18.20 69.68 0.25 178.171.000 500 117.82 3.75 18.45 104.75 0.47 181.41

TABLE VSIMULATED ANNEALING RESULTS FOR THEMC-DDP.

µ = 0.9 µ = 0.99A |N0| Mean Std Runtime Mean Std Runtime

(km2) (k$) (k$) (s) (k$) (k$) (s)0.250 125 13.99 0.23 5.82 13.52 0.21 57.911.000 125 17.03 0.29 6.04 16.21 0.24 58.220.250 500 60.40 1.02 49.31 54.55 0.43 461.271.000 500 75.13 1.38 57.11 65.57 0.55 497.65

to decrease. Locations are further apart, reducing the numberof feasible routes and consequently the number of feasiblesolutions. Perhaps the solver improves the runtime by pruningsolutions with routes that consume too much energy, carry toomuch weight, exceed the delivery time limit, or fail to meetsome other criteria.

Tables IV and V show the results of the SA implementationat different cooling rate levelsµ for scenarios with over 125locations. As before,Υ0 = 1, Υ′ = 0.001, andΛ = 1000.The cooling rate levelµ, however, is adjusted this time to seehow much the results improve with additional runtime. MT-DDP scenarios have a budgetB of $10,000, while MC-DDPscenarios have delivery time limitsT of 10 minutes.

The SA implementation results are consistent for largescenarios. In Table IV the standard deviations are generallyin seconds when the mean values are several minutes long.The standard deviation is always under $1,500 in Table V,and usually just a few hundred dollars, where the means areoften tens of thousands of dollars. The standard deviationsare greatest when|N0| is high andµ is low. In this case thesolution vectors is long, increasing the number of neighboringsolutions that can be found after an adjustment, andµ is low sothe temperature decreases rapidly, giving fewer opportunitiesto make adjustments.

One possible reason for the small standard deviation is thatthe majority of costs appear to come from purchasing drones,which are considerably more expensive than energy. It seemslike the SA DDPs consistently find similar numbers of drones,and differ more with regards to energy consumption. Thevariation in energy consumption is dampened by the relativelylow energy costs, leading to the low standard deviations.

Increasing the cooling rate level from 0.9 to 0.99 resultedin percent improvements of up to 15% for the means in thescenarios tested, which came at the cost of increasing runtimeby about a factor of 10. Even though increasing the coolingrate level generally improves results, the improvement is notsignificant compared to the increase in runtime. While notshown in this paper, increasingµ from 0.99 to 0.999 resultedin percent improvements of up to 5%, again with the runtimeincreasing by about a factor of 10. We therefore setµ = 0.99

Page 13: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

13

10 20 30 40 50 600

20

40

60

80

|N0 | = 500 locations

|N0| = 125 locations

Time Limit T (minutes)

Cos

t c (

k$)

A = 1 km2

A = .25 km2

Fig. 6. Costs found by the SA MC-DDP algorithm for various delivery timelimits, area sizes, and numbers of nodes.

for the rest of the section, as further increasingµ would resultin minor improvements compared to the increase in runtime.

We would like to mention that heuristics or exact algorithmsthat take advantage of characteristics unique to VRPs may findlower costs and times than the SA approach in this paper. Anapproach that takes advantage of geographical informationtoreduce the likelihood of connecting far apart locations wouldlikely find better results as fewer infeasible routes would betested. The number of times that performing operations suchasswap, relocate, or 2-opt improve the solution could be tracked;operations which tend to improve the solution could be chosenmore frequently than operations that do not.

While such approaches may lower cost, we do not believethat the trends we observed will change significantly with adifferent method. The trends can be explained by adjustmentsmade to parameters such as area size and the number ofcustomer locations in an area. They do not appear to be aresult of behavior specific to SA.

C. Analysis of DDP Parameters

This section examines how adjusting the budgetB indollars, time limit T in minutes, number of locations|N0|,and area sizeA in km2 affects the results obtained by theSA implementations of the DDPs. We show that the overalldelivery timel found by the MT-DDP is inversely proportionalto B, and that the costc found by the MC-DDP is inverselyproportional toT . We also examine the sensitivity of the DDPsto changes inB, T , |N0|, andA. This information may beused to find the point where guaranteeing a better deliverytime limit is not worth the additional cost, or alternatively thepoint at which reducing the budget is not worth the increasein overall delivery time.

Fig. 6 shows how adjustments toT , |N0|, andA affect c,while Fig. 7 examines how adjustments toB, |N0|, andAaffect l. To help explain the changes tol and c, Figs. 8a and8b provide stacked bar graphs depicting the split inc betweendrones and energy for scenarios with 500 locations in a 1 km2

area.Fig. 6 shows an inverse exponential relationship betweenc

andT . Changes toc from adjustingT are larger whenT islow; from Fig. 8a we can see that this change comes mostlyfrom adding or removing drones. WhenT is low, most dronesfly short routes and are seldom reused; asT increases, dronereuse and route length increase, while the number of routes

10 15 20 25 30 350

0.5

1

1.5

2

|N0 | =

500 locations

|N0| = 125 locations

Budget B (k$)

Ove

rall

Del

iver

y T

ime

l (ho

urs)

A = 1 km2

A = .25 km2

Fig. 7. Overall delivery times found by the SA MT-DDP algorithm forvarious budgets, area sizes, and numbers of nodes.

20 40 600

20

40

60

80

Time Limit T (minutes)

Co

stc

(k$

)

DronesEnergy

(a) MC-DDP cost breakdown

10 20 30 400

10

20

30

40

Budget B (k$)

Co

stc

(k$

)

DronesEnergy

(b) MT-DDP cost breakdown

Fig. 8. Costs found by the SA algorithms for various deliverytime limitsand budgets, with 500 locations in a 1 km2 area.

decreases. This combination of factors reduces the number ofpurchased drones. After a certain point, increasingT does notalter the routes as much, meaning costs are mainly reduced byreusing drones. The greater reductions in cost for low deliverytimes likely come from not only being able to reuse drones,but also from increasing the length and consequently reducingthe number of routes flown.

Fig. 7 shows an inverse exponential relationship betweenlandB. Changes tol from adjustingB are greater whenB islow. From Fig. 8b we can see that, as with the MC-DDP, thischange comes mostly from adding or removing drones. WhenB is low, only a small number of drones can be purchasedto complete deliveries. Adding an additional drone reducesthe delivery time considerably; for example, suppose a singledrone is making all of the deliveries, then a second drone isadded. If their burden is shared as evenly as possible,l canpotentially be halved. Now suppose a large number of dronesare available, and another one is added. The routes of eachdrone could perhaps be shortened slightly to give the additionaldrone a new route, but this will likely not have anywhere nearthe impact onl compared to adding a second drone when onlya single drone is making deliveries.

Figs. 6 and 7 show that when|N0| is high, the MC-DDPbecomes more sensitive to changes inT , and the MT-DDPbecomes more sensitive to changes inB. For a given increasein T with the MC-DDP, more routes can be extended andadditional drones can be reused when|N0| is high. Similarly,increasing|N0| whenT is low has a greater effect on cost thanincreasing|N0| when T is high. WhenT is low, routes areshort and drones are reused less, so increasing|N0| requirespurchasing more drones than ifT were high. For highervalues of|N0| with the MT-DDP, drones require more time

Page 14: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

14

TABLE VIMC-DDP COSTS WHEN REUSE IS ENABLED AND DISABLED FOR VARIOUS

TIME LIMITS IN A 0.25KM2 AREA WITH 500NODES.

Delivery Time Limit Cost (k$) Percent Improvement(minutes) Reuse No Reuse (%)

10.0 54.6 112.9 106.8420.0 29.2 112.7 286.3830.0 20.6 112.8 446.6540.0 16.2 112.8 597.7750.0 13.6 112.7 730.9560.0 11.7 112.7 866.62

to complete deliveries, as they must travel further and spendmore time servicing locations. WhenB is low, only a smallnumber of drones are available and must therefore be reusedmore frequently, further increasingl.

From Figs. 6 and 7 we see that the DDPs are less sensitive tochanges inA than to changes in|N0|. IncreasingA increasesthe distance traveled between locations, and consequentlythetime and energy required to complete deliveries. Changing|N0| not only increases the travel distance, but also the timespent servicing locations, as well as the number of deliveriesthat must be made. Changing|N0| therefore has a greatereffect on time and cost thanA.

Note that these results may not hold for much highervalues of A or |N0|. If A or |N0| are so high that itbecomes impossible in some scenarios to avoid violating thecapacity constraint, cost constraint, or timing constraint, thenthe average price given by the SA algorithm could greatlyincrease. If a constraint is violated, the SA algorithm makesthat solution undesirable by increasing its cost.

D. Effect of Drone Reuse

In the previous section we learned that the majority ofcosts come from purchasing drones. Unlike other VRPs thatmodel fuel consumption, the DDPs permit drones to be reusedto perform multiple trips. To demonstrate the importance ofallowing drone reuse, we show that our SA implementationperforms better when drone reuse is permitted.

To look at the importance of drone reuse, we altered the SAimplementation in Section V-A by removing the binary searchin Alg. 5, and setting the number of dronesn to the numberof routes. Table VI compares the results of the MC-DDP withand without drone reuse. We did not include a similar tablefor the MT-DDP, as solutions could not be found for budgetsof $35,000 or less.

Table VI shows substantial gains when allowing dronereuse. We can see that without reusing drones a limit of about$113,000 is reached. By reusing drones, we can pass this limitwithout exceeding the delivery time constraints.

Note that we are ignoring the cost of maintaining drones.Flying fewer drones will likely increase maintenance costsdueto increasing the total time flown per drone. New drones aregenerally expensive, and worn components can presumablybe replaced quickly and relatively inexpensively, so reducingthe number of drones while increasing the costs of labor andreplacement parts is likely the less expensive option.

0.25 0.3 0.35 0.4 0.45 0.524

26

28

30

32

34

36

Battery Weight b (kg)

Cos

t c (

k$)

Battery Weight Fixed to bBattery Weight Optimized

Fig. 9. Costs found by the MC-DDP when every drone’s battery weighsb kg, with a time limit of 30 minutes on a 1 km2 field with 500 nodes.

0.25 0.3 0.35 0.4 0.45 0.5

2

3

4

5

6

Battery Weight b (kg)

Ove

rall

Del

iver

y T

ime

l (ho

urs)

Battery Weight Fixed to bBattery Weight Optimized

Fig. 10. Delivery times found by the MT-DDP when every drone’s batteryweighsb kg, with a budget of $10,000 on a 1 km2 field with 500 nodes.

E. Effect of Optimizing Battery Weight

While papers on minimizing fuel consumption do not reusedrones, MTVRPs do. We are not aware of any MTVRPs thattry to optimize battery weight and therefore the energy given toeach drone. Instead, they may limit each drone’s travel distanceor travel time to a predefined value. In this section, we applyour energy model to an MTVRP, and fix the battery weightfor every route to the same constant valueb in kg. Similar tolimiting distance or time, the amount of energy that can beconsumed is limited. We show that optimizing battery weightfor each route may provide better costs and delivery timescompared to optimizing a fixed battery weight that is identicalfor each route. We also demonstrate that even if all routes sharean identical battery weight, optimizing it can still be important.

To look at the effect of optimizing battery weight, we alteredAlg. 2 to assume that every path has an identical batteryweight of b kg. The energy in a battery is thenξb, whereξis the energy density of the battery in kJ/kg. Fig. 9 showsthe costc found by the MC-DDP when assuming an identicalbattery weightb for each route. The dashed line represents thecost found by optimizing battery weights for each route withthe unaltered version of Alg. 2; it is flat because it does notconsiderb. Fig. 10 is similar, but for the overall delivery timel found by the MT-DDP.

Figs. 9 and 10 demonstrate that optimizing battery weightsfor each route to give drones exactly enough energy tocomplete their upcoming routes can provide substantial sav-ings compared to optimizing a fixed battery weight that isidentical for every route. In Fig. 9 the percent improvementwhen optimizing each route’s battery weight amounts to 13%compared to assuming an identical battery weight of 0.3 kg for

Page 15: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

15

every route. In Fig. 10 the percent improvement of optimizingeach route’s battery weight amounts to about 22% comparedto assuming each route has a battery weight of 0.25 kg whenusing the MT-DDP. Note that while optimizing battery weightfor each route provides savings compared to optimizing a fixedbattery weight, it can be less effective with a small area sizeor low number of nodes.

Even if the battery weight is identical for all routes, opti-mizing it can improve cost and delivery time, as can be seenin Figs. 9 and 10. Settingb to 0.3 kg instead of 0.5 kg providesa percent improvement of 15% for the MC-DDP, and settingbto 0.25 kg instead of 0.45 kg provides a percent improvementof 80% for the MT-DDP.

VII. C ONCLUSION

In this paper, we derived an energy consumption modelfor multirotor drones, provided a linear approximation forit,and verified the approximation experimentally. With this ap-proximation we proposed the drone delivery problems (DDPs)that minimize cost or delivery time while considering batteryweight, payload weight, and drone reuse, and implementedthem as mixed integer linear programs. To solve practicalscenarios with hundreds of locations, we proposed a string-based simulated annealing algorithm for solving the DDPs.

Numerical results indicate that optimizing battery weightand reusing drones are important considerations for dronedelivery. Optimizing battery weights resulted in percent im-provements of over 10% compared to solutions where eachdrone had an identical battery weight. Even when drones hadan identical battery weight, optimizing that weight provided apercent improvement of 80% for the MT-DDP in the scenarioconsidered in Section VI-E. In Section VI-D reusing dronesled to costs in the tens of thousands of dollars, while prevent-ing drone reuse resulted in costs of approximately $113,000.

When minimizing costs with the MC-DDP, an inverseexponential relationship between the cost and the deliverytime limit was noticed. An inverse exponential relationshipwas also seen between the overall delivery time and thebudget constraint with the MT-DDP. For both DDPs, themajority of costs are allocated to drones instead of energy.This information is useful for a practitioner. For example,reducing already low delivery times can require a relativelylarge investment in additional drones. Adding a single dronewhen the number of drones is low can greatly reduce deliverytimes, while adding a drone when the number of drones ishigh has a limited effect in comparison.

One weakness of the SA algorithm is that it does not takeadvantage of characteristics inherent to a VRP. For instance, itdoes not take advantage of geographical information to reducethe likelihood of trying infeasible routes with two locations atopposite ends of the area of interest. The cost function of theSA algorithm accounts for reusing drones, as well as the effectof battery and payload weight on energy consumption, so itcould be applied to a heuristic better suited to VRPs. Thecost function itself is also an approximation, as it uses listscheduling to assign drones to routes. Perhaps a multi-layerapproach that optimizes routes and their assignment to droneswould perform better.

Additional strategies could be implemented to further re-duce costs and generalize the problem. Time windows could beadded to locations to ensure that packages are delivered withina specific time. Multiple depots or recharging stations could bestudied as a method of extending the flight distance of drones.While we treat cost and delivery time as separate optimiza-tion objectives, a multi-objective optimization problem couldcombine both. Maintenance costs could be included whendetermining drone reuse. The performance of the MILP andSA DDPs on a cloud service such as Amazon Web Services[41] could be investigated. The runtime or resources providedto the algorithms could be adjusted to compare performancegains from increasing the service cost.

The DDPs have practical applications in delivery and emer-gency response scenarios. They can plan routes and assigndrones to them in scenarios with tight budgets or time limits.In a disaster response scenario, for example, the MT-DDPcould make the best use of a limited budget to optimize theroutes taken by a fleet of drones to deliver food or medicineto assigned locations as quickly as possible. Alternatively, adelivery company could determine the budget necessary toguarantee a minimum delivery time with the MC-DDP. TheSA implementations can be used to quickly predict deliverytimes and plan budgets for drone-based delivery operationswith a large number of locations.

REFERENCES

[1] Amazon.com, Inc. Amazon Prime Air. [Online]. Available: http://www.amazon.com/primeair

[2] DHL International GmbH. (2014, Sep.) DHL parcelcopterlaunches initial operations for research purposes. [Online]. Avail-able: http://www.dhl.com/en/press/releases/releases2014/group/dhlparcelcopterlaunchesinitial operationsfor researchpurposes.html

[3] J. Stewart. (2014, Aug.) Google tests drone deliveries in Project Wingtrials. BBC. [Online]. Available: http://www.bbc.com/news/technology-28964260

[4] Aljazeera. (2014, Feb.) UAE to use drones for citizen services. [Online].Available: http://www.aljazeera.com/news/middleeast/2014/02/uae-use-drones-government-services-20142121717319272.html

[5] C. Dillow. (2015, May) Meet Matternet, the drone delivery startupthats actually delivering. Fortune. [Online]. Available:http://fortune.com/2015/05/01/matternet-drone-delivery/

[6] P. Morgan,Carbon Fibers and Their Composites, ser. Materials Engi-neering. CRC Press, 2005.

[7] C. Reiter. (2013, Nov.) BMW makes lone shift tocarbon fiber to gain auto edge. Bloomberg. [Online].Available: http://www.bloomberg.com/news/articles/2013-11-14/bmw-makes-lone-shift-to-carbon-fiber-to-gain-auto-edge

[8] T. Reddy, Linden’s Handbook of Batteries, 4th ed. McGraw-HillEducation, 2010.

[9] National Coordination Office for Space-Based Positioning, Navigation,and Timing. (2015, Dec.) GPS.gov: augmentation systems. [Online].Available: http://www.gps.gov/systems/augmentations/

[10] S. Karpenko, I. Konovalenko, A. Miller, B. Miller, and D. Nikolaev,“UAV control on the basis of 3D landmark bearing-only observations,”Sensors, vol. 15, no. 12, pp. 29 802–29 820, Nov. 2015.

[11] T. Merz and F. Kendoul, “Dependable low-altitude obstacle avoidancefor robotic helicopters operating in rural areas,”J. Field Robot., vol. 30,no. 3, pp. 439–471, Apr. 2013.

[12] R. Carloni, V. Lippiello, M. D’Auria, M. Fumagalli, A. Mersha,S. Stramigioli, and B. Siciliano, “Robot vision: Obstacle-avoidancetechniques for unmanned aerial vehicles,”IEEE Robot. Autom. Mag.,vol. 20, no. 4, pp. 22–31, Dec. 2013.

[13] I. Bekmezci, O. K. Sahingoz, and Samil Temel, “Flying ad-hoc networks(FANETs): A survey,”Ad Hoc Netw., vol. 11, no. 3, pp. 1254–1270, May2013.

Page 16: Vehicle Routing Problems for Drone Delivery · 2016-08-09 · delivery truck. There do not appear to be papers that focus solely on using drones to make deliveries. This existing

16

[14] J. Li, Y. Zhou, and L. Lamont, “Communication architectures and pro-tocols for networking unmanned aerial vehicles,” inIEEE GC Wkshps.,Dec. 2013, pp. 1415–1420.

[15] C. C. Murray and A. G. Chu, “The flying sidekick travelingsalesmanproblem: Optimization of drone-assisted parcel delivery,” Transp. Res.Part C: Emerging Technol., vol. 54, pp. 86–109, May 2015.

[16] S. Erdogan and E. Miller-Hooks, “A green vehicle routing problem,”Transp. Res. Part E: Logistics Transp. Rev., vol. 48, no. 1, pp. 100–114,Jan. 2012.

[17] E. D. Taillard, G. Laporte, and M. Gendreau, “Vehicle routing withmultiple use of vehicles,”J. Oper. Res. Soc., vol. 47, no. 8, pp. 1065–1070, Aug. 1995.

[18] Y. Xiao, Q. Zhao, I. Kaku, and Y. Xu, “Development of a fuelconsumption optimization model for the capacitated vehicle routingproblem,” Comput. Operations Res., vol. 39, no. 7, pp. 1419–1431, Jul.2012.

[19] International Business Machines Corporation. CPLEX Optimizer. [On-line]. Available: http://www.ibm.com/software/commerce/optimization/cplex-optimizer/

[20] K. Sundar and S. Rathinam, “Algorithms for routing an unmanned aerialvehicle in the presence of refueling depots,”IEEE Trans. Autom. Sci.Eng., vol. 11, no. 1, pp. 287–294, Jan. 2014.

[21] F. Guerriero, R. Surace, V. Loscrı, and E. Natalizio, “A multi-objectiveapproach for unmanned aerial vehicle routing problem with soft timewindows constraints,”Appl. Math. Modelling, vol. 38, no. 3, pp. 839–852, Feb. 2014.

[22] J.-F. Cordeau, G. Laporte, M. W. Savelsbergh, and D. Vigo, “Chapter6 vehicle routing,” in Transportation, ser. Handbooks in OperationsResearch and Management Science, C. Barnhart and G. Laporte, Eds.Elsevier, 2007, vol. 14, pp. 367–428.

[23] B. Eksioglu, A. V. Vural, and A. Reisman, “The vehicle routing problem:A taxonomic review,”Comput. Ind. Eng., vol. 57, no. 4, pp. 1472–1483,Nov. 2009.

[24] M. Schneider, A. Stenger, and D. Goeke, “The electric vehicle-routingproblem with time windows and recharging stations,”Transp. Sci.,vol. 48, no. 4, pp. 500–520, Nov. 2014.

[25] G. Hiermann, J. Puchinger, S. Ropke, and R. F. Hartl, “The electric fleetsize and mix vehicle routing problem with time windows and rechargingstations,”Eur. J. of Oper. Res., vol. 252, no. 3, pp. 995–1018, Aug. 2016.

[26] B. Fleischmann, “The vehicle routing problem with multiple use ofthe vehicles,” Working Paper, Fachbereich Wirtschaftswissenschaften,Universitaet Hamburg, 1990.

[27] N. Azi, M. Gendreau, and J.-Y. Potvin, “An adaptive large neighborhoodsearch for a vehicle routing problem with multiple routes,”Comput.Operations Res., vol. 41, pp. 167–173, Jan. 2014.

[28] D. Cattaruzza, N. Absi, D. Feillet, and T. Vidal, “A memetic algorithmfor the multi trip vehicle routing problem,”Eur. J. Oper. Res., vol. 236,no. 3, pp. 833–848, Aug. 2014.

[29] M. Cheikh, M. Ratli, O. Mkaouar, and B. Jarboui, “A variable neigh-borhood search algorithm for the vehicle routing problem with multipletrips,” Electron. Notes Discrete Mathematics, vol. 47, pp. 277–284, Feb.2015.

[30] F. Hernandez, D. Feillet, R. Giroudeau, and O. Naud, “Branch-and-pricealgorithms for the solution of the multi-trip vehicle routing problem withtime windows,” Eur. J. Oper. Res., vol. 249, no. 2, pp. 551–559, Mar.2016.

[31] I. Kara, B. Y. Kara, and M. K. Yetis, “Energy minimizing vehicle routingproblem,” inCombinatorial Optimization and Applications, ser. LectureNotes in Computer Science, A. Dress, Y. Xu, and B. Zhu, Eds. SpringerBerlin Heidelberg, 2007, vol. 4616, pp. 62–71.

[32] Japanese Ministry of Land, Infrastructure, Transportand Tourism.(2009) Fuel consumption and CO2 emission of passenger cars.[Online].Available: http://www.mlit.go.jp/common/000037099.pdf

[33] E. E. Zachariadis, C. D. Tarantilis, and C. T. Kiranoudis, “The load-dependent vehicle routing problem and its pick-up and delivery exten-sion,” Transp. Res. Part B: Methodological, vol. 71, pp. 158–181, Jan.2015.

[34] J. Leishman,Principles of Helicopter Aerodynamics, 2nd ed., ser.Cambridge Aerospace Series. Cambridge University Press, 2002.

[35] J. R. Montoya-Torres, J. L. Franco, S. N. Isaza, H. F. Jimenez, andN. Herazo-Padilla, “A literature review on the vehicle routing problemwith multiple depots,”Comp. Ind. Eng., vol. 79, pp. 115–129, Jan. 2015.

[36] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi, “Optimization bysimulated annealing,”Science, vol. 220, no. 4598, pp. 671–680, May1983.

[37] I. Kaku, Y. Xiao, and G. Xia, “The deterministic annealing algorithmsfor vehicle routing problems,”Int. J. Smart Eng. Syst. Design, vol. 5,no. 4, pp. 327–339, 2003.

[38] H. Kellerer, U. Pferschy, and D. Pisinger,Knapsack Problems. SpringerBerlin Heidelberg, 2004.

[39] J. Kleinberg andE. Tardos,Algorithm Design. Addison-Wesley, 2011.[40] N. Metropolis, A. W. Rosenbluth, M. N. Rosenbluth, A. H.Teller, and

E. Teller, “Equation of state calculations by fast computing machines,”J. Chemical Physics, vol. 21, no. 1087, pp. 1087–1092, Jun. 1953.

[41] Amazon Web Services, Inc. (2016) Amazon web services. [Online].Available: https://aws.amazon.com/

Kevin Dorling (S’14) received a B.S. degree inComputer Engineering with distinction from theUniversity of Calgary, Canada, in 2010. He is cur-rently pursuing a Ph.D. in Electrical Engineering atthe University of Calgary.

In 2011 and 2013, he was an intern at Bell Labs,Alcatel-Lucent in Stuttgart, Germany, working ondeployment techniques for wireless sensor networks.In 2009, he was an intern at CDL Systems in Cal-gary, Canada, developing control station software forunmanned vehicles. His research interests include

wireless sensor networks, operations research, and communication systems.

Jordan Heinrichs received a B.S. degree in Elec-trical Engineering, minor in Computer Engineeringwith distinction from the University of Calgary,Canada, in 2016.

In 2013 he tested multicopters as a summer re-search student. From 2014 to 2015 he interned atLockheed Martin CDL Systems developing softwarefor miniature unmanned aerial vehicles. He is cur-rently employed at Hitachi ID Systems developingsoftware for identity management.

Geoffrey Messier (S’91 - M’98) received his B.S.in Electrical Engineering and B.S. in Computer Sci-ence degrees from the University of Saskatchewan,Canada with great distinction in 1996. He receivedhis M.Sc. in Electrical Engineering from the Uni-versity of Calgary, Canada in 1998 and his Ph.D.degree in Electrical and Computer Engineering fromthe University of Alberta, Canada in 2004.

From 1998 to 2004, he was employed in theNortel Networks CDMA Base Station HardwareSystems Design group in Calgary, Canada. At Nortel

Networks, he was responsible for radio channel propagationmeasurementsand simulating the physical layer performance of high speedCDMA andmultiple antenna wireless systems. Currently, Dr. Messieris a Professor in theUniversity of Calgary Department of Electrical and Computer Engineering.His research interests include data networks, physical layer communicationsand communications channel propagation measurements.

Sebastian Magierowski received his Ph.D. de-gree in Electrical Engineering from the Univer-sity of Toronto in 2004. From 2004 to 2012 heserved as Assistant/Associate Professor in the De-partment of Electrical and Computer Engineeringat the University of Calgary after which he joinedthe faculty of the Department of Electrical En-gineering and Computer Science in the LassondeSchool of Engineering at York University, Toronto,Canada.

As part of his industrial experience (Nortel Net-works, PMC-Sierra, Protolinx Corp.) Dr. Magierowski has worked on CMOSdevice modeling, high-speed mixed-signal IC design, and data networks. Hisresearch interests include analog/digital CMOS circuit design, communicationsystems and biomedical instrumentation.