Content uploaded by Hailong Huang
Author content
All content in this area was uploaded by Hailong Huang on Dec 29, 2021
Content may be subject to copyright.
1
Drone Routing in a Time-Dependent Network:
Towards Low Cost and Large Range Parcel Delivery
Hailong Huang, Andrey V. Savkin and Chao Huang
Abstract—Drones are a promising tool for parcel delivery since
they are cost-efficient and environmentally friendly. However, due
to the limited capacity of the on-board battery, their flight range
is constrained. Thus, they cannot deliver some parcels if the
customers are too far from the depot. To address this issue, the
paper proposes a novel method, in which a parcel delivery drone
can “take” a public transportation vehicle and travel on its roof.
The problem under consideration is how to make use of the public
transportation network to route the drone between the depot
and the customer. Comparing to the currently available methods
that use drones, the most important merit of this approach
is a significant expansion of the delivery area. We construct
a multimodal network consisting of the public transportation
vehicles’ trips and drone flights. Due to the complexity of this
multimodal network, we convert it to a simple network with a set
of simple procedures. In the extended network, we formulate the
shortest drone path problem that minimizes the return instant
to the depot, subject to that the drone energy consumption on
this path is no greater than the initial energy. We present a
Dijkstra-based method to find the shortest drone path. Moreover,
we extend the proposed method to the case with uncertainty,
because the public transportation vehicles cannot exactly follow
their timetables in practice. Simulation results are presented to
demonstrate how the method works.
Index Terms—Control of parcel delivery systems, parcel deliv-
ery, drones, UAVs, public transportation network.
I. INTRODUCTION
FOR the last-mile parcel delivery, there exist three typical
approaches. The traditional and common approach is by
trucks. Starting from the depot, a truck visits a set of customers
one by one and returns to the depot. To optimize the truck
trajectory, Travelling Salesman Problem (TSP) and its variants
like asymmetric TSP (ATSP) [1], clustered TSP (CTSP) [2],
TSP with time windows (TSP-TW) [3], and vehicle routing
problem (VRP) [4] are often used. Another method, in which
a drone collaborates with a truck, has attracted much attention
recently. The drone can launch from the truck with a parcel
at some position, fly to a customer, drop off the parcel and
return to the truck at some position. At the same time, the truck
can also deliver parcels to other customers. This collaboration
reduces the delivery time compared to the scheme using
trucks only. The paper [5] is the earliest publication presenting
this scheme, which formulates two problems: Flying Sidekick
Travelling Salesman Problem and Parallel Drone Scheduling
Travelling Salesman Problem. Some variants of [5] have
This research was supported by Australian Research Council.
H. Huang and A.V. Savkin are with School of Electrical Engineering and
Telecommunications, University of New South Wales, Sydney 2052, Australia.
(E-mail: {hailong.huang, a.savkin}@unsw.edu.au).
C. Huang is with School of Electrical, Computer and Telecommunications
Engineering, University of Wollongong (e-mail: ch449@uowmail.edu.au).
Large or Heavy
Near
Truck
Drone
?
Large or Heavy
Far
Small and Light
Near
Small and Light
Far
Fig. 1: The classification of parcels based on size, weight and
the distance between the customer and the depot, and what
type of vehicle will be assigned.
also been published, such as TSP with drone (TSP-D) [6],
minimum cost TSP [7], TSP with Drone Station (TSP-DS)
[8], Heterogeneous Delivery Problem (HDP) [9], and vehicle
routing problem for drone [10]. The third method is to equip a
depot with a fleet of drones so that each drone launches from
the depot, flies directly to a customer to deliver a parcel, and
then returns to the depot. The parallel machine scheduling
problem (PMS) [11] can be used to schedule the flights of
drones. Compared to the above two methods, the third one
significantly reduces the system running cost.
Parcels can be categorized into four groups in terms of size
and weight and the distance between the customer and the
depot, see Fig. 1. The large and/or heavy parcels have to be
delivered by trucks, and the small and light parcels that are
near the depot can be delivered by drones. For those small
and light parcels and the customers are far from the depot,
trucks have to be used, because they are outside the delivery
area of drones. To avoid using trucks for these parcels, a
possible way is to enlarge the delivery area. One method is
to position charging stations [12]–[16], such that drones can
charge their battery or replace the battery to prolong the flight.
This requires construction cost and some facilities may have
low utility. The paper [17] proposes the scheme of using a
public transportation vehicle running on a fixed and closed
trajectory such as a train to carry parcels and drones for
parcel delivery. The drones can depart from the vehicle at
some positions, fly to the customers and return to the vehicle
at some other positions. This scheme ensures the delivery to
the customers in a cost-efficient way, but the customers that
can be served should be close to the trajectory. For the same
purpose of enlarging the delivery area, this paper proposes
another method, which uses public transportation network to
transport drones. In particular, a drone departs from the depot,
“takes” public transportation vehicles and/or flies freely to the
customer, drops off the parcel, and returns to the depot through
the public transportation network and/or flying freely. This
method has at least the following advantages: 1) it functions
2
without a human operator; 2) it has a low transportation cost;
and 3) it can cover a larger area than the method using drones
only, thanks to the public transportation.
The collaboration with the public transportation vehicles is
a challenge. These vehicles are not controlled by logistics
companies, so they cannot stop to wait for drones like the
truck-involved schemes such as [5]. In contrast, they have to
follow the predefined trajectories and timetables. Most public
transportation vehicles cannot fully follow the timetables due
to various reasons such as traffic jam and vehicle breakdown.
Also, even within a single line, the frequency of service varies
with time. For example, in rush hours, there may be one
service every 5 minutes; while in the rest of the day, there
may be one service every 10 minutes. Thus, the features of the
non-controllability, randomness, and time-dependency of the
public transportation network need to be carefully considered
for transporting a drone.
This paper focuses on the public transportation vehicle
assisted drone routing problem. The main objective is to let the
drone finish the delivery in the shortest time so that it does not
violate the battery constraint. To achieve this, a multimodal
network consisting of public transportation vehicles’ trips
and drone direct flights is first constructed. This multimodal
network is hard to handle since an edge in the network
may correspond to several vehicle services. We convert this
complex network to a simple network where any edge only
represents one service. In this simple network, we formulate
the shortest drone path problem that minimizes the return time
of the drone to the depot, subject to that the overall energy
consumption on the path is below the initial energy. We present
a Dijkstra-based method to find the shortest drone path in
terms of time from the depot to the customer and then back
to the depot. Furthermore, we extend the proposed method to
the case with uncertainty, because the public transportation
vehicles cannot exactly follow their timetables in practice.
Since one of the most important advantages of the public
transportation vehicle assisted drone delivery approach is the
increased coverage area, we present an analysis on the lower
bound of the extended coverage.
The rest of the paper is organized as follows. Section II
formally presents the system model and states the studied
problem, and Section III presents the proposed method. Simu-
lation results are demonstrated in Section IV and a conclusion
is given in Section V.
II. SY ST EM MO DE L AN D PROB LE M STATEM ENT
This section presents the system model and states the
studied problem. The frequently used symbols are listed in
Table I.
A. Multimodal network
Consider a public transportation network, where multiple
public transportation vehicles run on their trajectories; see Fig.
2a. In this network, there is a set of vehicle stops and a set
of directed services linking one stop with another. A service
here refers to the trip of a vehicle that travels from one stop to
another. There may exist several services between two stops.
TABLE I: Symbols and Descriptions
Symbol Description
G(V, E )Multimodal network
G(V,E)Extended multimodal network
φiLabel of vertex i∈ V,φi∈ {D, C, node label}
αiPassing time at vertex i∈ V
ci,j Energy cost of the edge (i, j)∈ E
d(i, j)Distance between vertices iand j
νAverage drone flying speed
s,h,fEnergy consumption rates for travelling with a
service, hovering, flying.
tt,tl,tdTime needed for take-off, landing, dropping off a
parcel
et,el,edEnergy consumption for take-off, landing, dropping
off a parcel
ε(i)Residual energy when reaching vertex i
The departure time as well as the arrival time of each service
are given in a predefined timetable. In general, the travel time
between two stops by a service in the peak hours is longer
than that in the off-peak hours. For instance, in Fig. 2b, it
takes service-1 10 minutes to move from stop 1 to stop 2,
while it takes service-3 15 minutes. At a stop, a service-to-
service transfer is allowed, and the corresponding waiting time
depends on the arrival time of the incoming service and the
departure time of the outgoing service, see Fig. 2b.
To enable a drone to depart from and return to a service
when the service is moving, some points are inserted into
two stops linked by the service. This will reduce the drone
flight time, especially when the stops are far away from each
other. For example, in Fig. 2a, if the drone takes service-
2, it is better for the drone to leave service-2 at node 5
and then flies to the customer C. The time passing by these
points can be estimated according to the departure time and
arrival time at the two stops. Let Vdenote the union of
the inserted points, the stops, the depot and the customer,
and an element of Vis called a node. Let Ebe an edge
set. Many nodes in Vare linked by services. We now add
more edges to Erepresenting drone flights. Let d0be a given
constant, representing a distance threshold. Let the function
d(i, j)compute the distance between nodes iand j, where
i, j ∈V. If d(i, j)≤d0and there is not a service from ito
j, a new edge (i, j)is added to E. In Fig. 2b, although the
distance between node 5 and 3 may be smaller than d0, we do
not add an edge for them, because there is a service from node
5 to node 3. It is worth pointing out that more than one edge
may be added between two nodes. For instance, two edges
are added between node 2 and node C in Fig. 2c, since there
are two services (i.e., service-1 and service-3) the drone can
take to reach node 2. Now, the multimodal network G(V, E)
consists of the public transportation network and drone flights.
Remark II.1. G(V , E)also depends on when the drone plans
to depart from the depot. For instant, suppose the drone can
depart from the depot at time instant 60 in the example of Fig.
2c. Then, only service-3 will be kept in this case, while all the
other services will be unavailable to the drone.
3
123
10 20 23
31
70 85
service-1 service-2
service-3
waiting time: 4
5
27
travel time:
travel time:
123
10 20
23 31
70 85
4
5
27
D
0
C
?
D
C
Vehicle service Drone flight
=2
A node in A vertex in
10
70
An edge in
20 24
85 23
15
10
6
4
4
(b)
(c)
(d)
waiting time: 3
4
travel time: 0
9
69
21 23
86 22
17
12
8
6
5
5
1
0
0
2
(e)
86
21
D
1
2
4
3
C
5
(a)
Fig. 2: Converting G(V, E)to G(V,E)by turning nodes into
vertices and complex edges into simple edges. The black
numbers near nodes and vertices are time instants, and the
red numbers near edges represent energy consumption. Node
D represents the depot, and node C represents the customer.
B. Extended multimodal network
G(V, E )is a complex network, as there may exist several
edges in Elinking two nodes in V. We construct a simple
network G(V,E)from G(V, E ). We call an element in Va
node and an element in Va vertex for distinction. We require
that there is at most one edge in Elinking two vertices in V.
The construction procedures are detailed as follows.
1. Generate vertices. For every node i∈V, there is a
certain number Iiof incoming edges and also a number Oiof
outgoing edges. Then, node i∈Vturns into Ii+Oivertices
in V. For instance, in Fig. 2c, node 2 has two incoming edges
and 4 outgoing edges. Thus, in Fig. 2d, node 2 turns to be
6 vertices. Note that the generated vertices from a node in V
are associated with the same label (by which we can inquire
the physical location of the vertex). Any vertex other than
those relating to drone flights is now with a time instant,
which is known from the timetable of the public transportation
vehicles. For instance, v5in Fig. 2d is with the time 24, which
is obtained from the timetable of service-4. v6has not been
assigned with any time instant yet since it relates to a drone
flight, and we discuss this below.
2. Convert a node-node edge to vertex-vertex edges. With
the generated vertices, an edge between two nodes in Vturns
into several different edges connecting the right vertices. For
instance, in Fig. 2c, node 1 and node 2 are connected by one
edge, and this edge turns into two edges in Fig. 2d. By this
procedure, a complex edge in Eis converted to several simple
edges in E. Moreover, let s,hand fdenote the energy
consumption rates for travelling with a service, hovering and
flying, respectively [18]. Then, a generated vertex-vertex edge
has the corresponding energy consumption, given the time
needed to complete the edges by the drone. For travelling with
a service, the time to complete the edge can be retrieved from
the timetable. For flying, we use the length of the edge and
the average drone speed νto compute the needed time.
3. Generate inter-node edges. The inter-node edges are
generated within a certain node in Vto represent the hovering,
the take-off and the landing actions. The number of inter-node
edges depends on the number of the generated vertices from
this node in Procedure 1 and the time instants associated with
these vertices. We sort these instants and link two vertices by
their respective instants. For instance, in Fig. 2d, v3is linked
with v5and v8, since the instant associated with v3is smaller
than those of v5and v8.v3is also linked with v6, and this edge
represents the take-off action. The number of the generated
inter-node edges is at most Ii+Oi.
4. Modify the instant on vertices and the energy consump-
tion on edges. Let ttand tldenote the time needed for take-
off and landing, respectively, and etand elbe the corre-
sponding energy consumption, respectively. Then, any vertex
corresponding to an incoming service has a time annotation
that is ttlater than the service arrival, and an additional
energy consumption etis added to the edge. Any vertex
corresponding to an outgoing service has a time annotation that
is tlearlier than the service departure, and an additional energy
consumption elis added to the edge. For a vertex representing
an intermediate service node, it is linked to a vertex by a
service and another vertex by a drone flight. If the service is the
incoming service, then this vertex has a time annotation that is
ttlater than the service arrival. If the service is the outgoing
service, then this vertex has a time annotation that is tlearlier
than the departure time. Also, the corresponding energy for
take-off or landing is added to the edge. Fig. 2e shows the
instants on vertices and the energy consumption on edges
modified from Fig. 2d, given tt= 1,tl= 1,et= 1,el= 1,
s= 1,h= 1 and f= 1. For example, the instant with v3
becomes 21 in Fig. 2e, and the instant with v8becomes 22.
Let tdand eddenote the time and energy needed for dropping
off the parcel at the customer. An edge reaching the customer
vertex has an extra energy consumption of ed
2, and the arrival
instant is extended by td
2. An edge leaving the customer vertex
has an extra energy consumption of ed
2, and the departure
instant is extended by td
2. The vertices corresponding to a
drone flight can now be assigned with the right departure and
arrival instants and so as the energy consumption. For example,
v6is with the instant of 22, and the edge connected with v6
has an energy consumption of 5, given ed= 2. Note that since
we split the energy consumption for dropping off the parcel
to the corresponding edges representing drone flights, an edge
linking two vertices with label C has zero energy consumption.
Moreover, the energy consumption on an inter-node edge can
be computed, given the drone status and the time instants of
4
the two vertices. For instance, the inter-node edge between v3
and v8is with the energy consumption of 1.
With the above procedures, we obtain a simple and directed
graph G(V,E). In G(V,E), each vertex is associated with
a time instant and a label, the vertex-vertex connection is
determined by their associated time instants, and the cost of
each edge is the energy consumption. To facilitate the problem
formulation in the subsequent section, we need some new
symbols. Let φidenote the label of vertex i∈ V,αidenote the
time instant associated with the vertex i∈ V, and cij denote
the cost (i.e., energy consumption) of the edge (i, j)∈ E .
C. Shortest drone path problem
We look for the shortest path in terms of time from the
depot to the customer and then back to the depot in the
graph G(V,E), such that the drone does not violate the energy
constraint. This path is called the shortest drone path.
Let P1and P2denote the depot-to-customer path and the
customer-to-depot path, respectively. P1starts from a vertex
with the label of D and ends at a vertex with the label of
C, while P2starts from a vertex with the label of C and
ends at a vertex with the label of D. Thus, P1and P2form
the whole drone path. Let V1and V2be two duplicated the
vertex sets of V. Then, P1should consist of a sequence
of vertices in V1, and P2should consist of a sequence of
vertices in V2. Suppose P1has nvertices and P2has m
vertices. Let P1={v1, v2, . . . , vn} ∈ V1× · · · × V1and
P2={vn+1, vn+2 , . . . , vn+m}∈V2× · · · × V2. So, the
whole path P={v1, . . . , vn, vn+1, . . . , vn+m}. Note that
any two adjacent vertices in Pare linked by an edge, i.e.,
(vi, vi+1)∈ E . The numbering iis the position in the sequence
and needs not to relate to any canonical labelling of the
vertices. Let E0be the initial energy of the drone.
Then, the shortest drone path problem is formulated as:
min
Pαvn+m
s.t. φv1=φvn+m=D,
φvn=φvn+1 =C,
(vi, vi+1)∈ E ,∀1≤i<n+m,
n+m−1
X
i=1
cvi,vi+1 ≤E0.
(1)
The objective function in (1) minimizes the time instant the
drone returns to the depot D. The first constraint specifies that
the first and final vertices should be with the label D. The
second constraint requires that two vertices with the label C
should be on the path. The third constraint requires that any
two adjacent vertices on the path are linked by an edge. The
last one requires that the battery constraint does not violate.
III. PROP OS ED SOLUTION
In this section, we first present our solution to construct the
drone path Pin G(V,E). Then, we extend the method to deal
with the uncertainty in G(V,E).
⋮⋮⋮
D D
C
𝑃
1𝑃
2
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
Fig. 3: Constructing the shortest drone path.
A. The Dijkstra-based algorithm
In this subsection, we present a Dijkstra-based algorithm
to address the problem (1). Dijkstra’s algorithm is a well-
known algorithm to compute the shortest path between a
source and a destination in a graph. The basic idea of Dijkstra’s
algorithm is as follows. Initially, all the vertices in the graph
are marked as unvisited. Every vertex is assigned to a tentative
distance value: zero for the source vertex and infinity for
all other vertices. The source is set as the current vertex.
Consider all the unvisited vertices linked to the current vertex
and calculate their tentative distances through the current
vertex. For each of these unvisited vertices, if the newly
calculated tentative distance is smaller than its current value,
the tentative distance is updated. Mark the current vertex as
visited. Continue this operation by setting the unvisited vertex
with the smallest tentative distance as the current vertex. The
algorithm terminates when the destination vertex is marked
visited (i.e., the shortest path is found) or the smallest tentative
distance among the unvisited vertices is infinity (i.e., there is
not such a path). Moreover, a straightforward extension of this
Dijkstra’s algorithm is to produce a shortest-path tree from
the source to multiple destinations. This can be achieved by
slightly modifying the termination conditions to: the algorithm
terminates when all the destination vertices are marked visited
or the smallest tentative distance among the unvisited vertices
is infinity.
There are some differences between the conventional ”short-
est path problem” and the problem (1). Firstly, in the con-
ventional problem, an edge is with a length, while in our
problem, an edge is with a cost of energy consumption.
Additionally, there is a given pair of source and destination
in the conventional ”shortest path problem”. However, in our
problem, as we duplicate a node in Vto get several vertices
in V, there may exist multiple vertices corresponding to the
depot node and customer node. Therefore, there are multiple
pairs of ”source and destination” in G(V,E).
The proposed method, as presented in Algorithm 1, is based
on aforementioned Dijkstra’s variant. As shown in Fig. 3 and
as mentioned in Section II-C, the whole path Pgenerated
by Algorithm 1 consists of P1and P2. We first consider the
construction of P1, see Line 1-9 in Algorithm 1. For each
vertex with the label of D in V1, we apply the Dijkstra’s
variant to construct the minimum-energy tree by taking the
vertices with the label of C as destinations. As there may be
multiple vertices with the label of D, there may exist multiple
different paths to a certain vertex with the label of C. Any
vertex with the label of C is marked by the minimum energy
consumption among these paths. So far, we have constructed
5
Algorithm 1 The shortest drone path construction.
1: Initialization: mark the vertices in V1and V2as unvisited.
Assign a tentative cost zero to the D vertices in V1and
infinity to the others vertices in V1and V2.
2: for each D vertex in V1do
3: Set this vertex as the current vertex.
4: while any C vertex in V1that has an incoming edge
is unvisited, or the smallest tentative cost of the unvisited
vertices in V1is smaller than infinity do
5: Consider the unvisited vertices in V1linked to the
current vertex and calculate their tentative costs through
the current vertex.
6: For each of these unvisited vertices, if the new ten-
tative cost is smaller than its assigned value, the tentative
cost is updated. Mark the current vertex as visited.
7: Set the unvisited vertex in V1with the smallest
tentative cost as the current vertex.
8: end while
9: end for
10: Assign the tentative costs of the C vertices in V1having
incoming edges to the connected C vertices in V2having
outgoing edges.
11: for each C vertex in V2that has an outgoing edge do
12: Set this vertex as the current vertex.
13: while any D vertex in V2that has an incoming edge
is unvisited, or the smallest cost of the unvisited vertices
in V2is smaller than infinity do
14: Consider the unvisited vertices in V2linked to the
current vertex and calculate their tentative costs through
the current vertex.
15: For each of these unvisited vertices, if the new ten-
tative cost is smaller than its assigned value, the tentative
cost is updated. Mark the current vertex as visited.
16: Set the unvisited vertex in V2with the smallest
tentative cost as the current vertex.
17: end while
18: end for
a set of feasible paths for P1, and these feasible paths may
have different source vertices (with label D) and destination
vertices (with label C). Since we split the cost on a C-C edge to
the incoming and outgoing edges (see Procedure 4 in Section
II-B), the tentative costs of the C vertices having outgoing
edges directly take the tentative costs of the corresponding C
vertices having incoming edges. Now, we continue to construct
the feasible paths for P2, see Line 11-18 in Algorithm 1.
The operation is similar to what we have done. Specifically,
for each vertex with the label of C (whose tentative cost
is obtained from the corresponding destination vertex of the
feasible paths for P1), we apply the Dijkstra’s variant again to
construct the minimum-energy tree by taking the vertices with
the label of D in V2as destinations. Again, there may exist
multiple paths reaching a certain vertex with the label of D,
and we only store the information corresponding to the one
with the minimum energy consumption. Now, we obtain a set
of feasible paths for P, and they may have different destination
A
B
(a)
A
(b)
Fig. 4: Delivery fails when the yellow vehicle leaves the stop
earlier than the arrival of the drone.
vertices with the label of D. Among these paths, we choose
the one with the following properties: the ending vertex (with
label D) is with the smallest instant and the overall energy
consumption is no larger than E0.
It is worth pointing out that the information of E0can be
used in the algorithm. Specifically, whenever a vertex is to
be assigned to a tentative costs over E0, the tentative cost is
set as infinity. This can reduce some unnecessary calculations,
because the paths via this vertex are infeasible.
B. Reliable drone path
In practice, the public transportation network may not
operate exactly as scheduled. Specifically, a public transporta-
tion vehicle may arrive at a stop earlier or later than the
scheduled time. Thus, although the drone flight is independent
on the public transportation network and the flight can be
controlled, the delivery may fail if the uncertainty of the public
transportation network is not taken into account. The delivery
failure can occur in cases where the drone fails to “take” the
scheduled vehicle or the total energy consumption following
the designed path is larger than E0. In this subsection, we
discuss how to construct a reliable path for the drone.
Failing to “take” the scheduled vehicle occurs when the
drone arrives at the stop later than the vehicle departure time,
see Fig. 4. If the drone arrives at a stop earlier than the vehicle,
more energy is to be consumed, which may result in that the
total energy consumption is over E0. Thus, a reliable drone
path should ensure that the drone can arrive at a stop earlier
than the scheduled vehicle, and the energy consumption is no
more than E0.
Our approach to improve the reliability of the drone path
is to ensure that the constructed edges in Eare valid with a
sufficient large probability under the expected inaccuracy of
the timetables. Moreover, the costs of the edges should be
assigned with reasonable larger values to accommodate the
expected longer waiting times at stops. To achieve these, we
take into account the distribution of a vehicle’s appearance
time at a stop, which can be collected by simply installing a
GPS module on the vehicle. Let ρ0be a given constant that
is close to 0. From the distribution of a vehicle’s appearance
time at a stop, we can easily find two instants: the first one,
denoted by t1, is the instant such that the probability that the
vehicle arrives at the stop before t1is no more than ρ0; and
the second one, denoted by t2, is the instant such that the
probability that the vehicle departs from the stop after t2is
no greater than ρ0; see Fig. 5. Then, the probability that the
6
Fig. 5: The distribution of the appearance time of a vehicle at
a stop.
1 2 3
10 20 23 31
service 1 service 2
4
(a)
(b)
(c)
822
22
21
14
10
5
0
6
(d)
1 2 3
19, 21 22, 24 30, 32
service 1 service 2
4
9, 11
921
23
22
12
8
10
5
22
Fig. 6: Converting G(V, E)to G(V,E)accounting for uncer-
tainty. (a) is the original network. (b) shows the values of t1
(blue) and t2(green), which are 1 before or after the scheduled
time shown in (a), respectively. (c) and (d) are results of
applying the modified procedures.
vehicle appears at the stop between t1and t2is 1−2ρ0. For
simplicity, the uncertainty of the drone flights such as the wind
effect is not considered.
For all the public transportation vehicles, we can obtain their
corresponding t1and t2, indicating the vehicle’s appearance
at a stop with high probability. We make the following
modifications to the construction of G(V,E). Firstly, for any
vertex that has an outgoing service, it is associated with t1
corresponding to that service; and for any vertex that has an
incoming service, it is associated with t2corresponding to
that service. In other words, for a vehicle’s departure time,
we use the “lower bound” t1; while, for a vehicle’s arrival
time, we use the “upper bound” t2. This setting can improve
the reliability of the transfer between different vehicles. An
instance is shown in Fig. 6, where t1and t2are 1 before and
after the scheduled times for all the vehicles. Specifically, v3
takes the instant of 21 (t2), and v8takes the instant of 22
in Fig. 6c. After the instant modification procedure, v3takes
the instant of 22 (with the additional time for take-off), and v8
takes the instant of 21 (with the additional time for landing) in
Fig. 6d. In this instance, v3and v8are not connected. Thus, by
improving the reliability of transfer, the number of edges in V
is reduced. Besides the modification on the instants associated
with the vertices, the cost of the edges are also modified. We
assign the cost of an edge to tackle the worst case. Specifically,
the node-node edges will be with the cost calculated based on
the new instants, and inter-node edges will be with the cost
calculated based on the longest waiting time at the node. For
example, the cost of the edge between v1and v3in Fig. 6d
becomes 14, which consists of a landing action, travelling with
the service for the time of 12, and a take-off action. The edge
between v3and v5has the cost of 6 to accommodate the case
that service-1 arrives at node 2 at instant 19, while service-
4 departs at instant 25. Via these modifications, the edges of
Ebecome reliable, and the path generated by Algorithm 1 is
tolerant to the expected network uncertainty.
C. Extended coverage
In this subsection, we investigate the gain in terms of the
extended coverage area. In the proposed approach, thanks to
the vehicles’ transportation, the drone can reach some position
with much less energy consumption than flying only. Consider
the two means for the drone to reach the vertex i∈ V. By
flying only, the drone has to consume ttt+fd(i,D)
νamount
of energy, where the first term is for take-off and the second
term is for flying. Let ε(i)denote the residual energy when
the drone reaches the vertex i. If the following condition holds
E0−ε(i)< ttt+f
d(i, D)
ν,(2)
it means that reaching the vertex iby the proposed method
consumes less energy than the way of flying only. Thus, the
coverage area can be extended from the location of vertex i.
We present a lower bound of the extended coverage area.
The model here is based on one possible schedule: the drone
first takes the public transportation network to reach some
position; from this position, the drone flies by itself to the
customer; and finally, the drone flies back to the depot.
Now, let C denote a feasible customer. Following the above
schedule, the location of C needs to satisfy the following
condition:
ε(i)≥f
d(i, C) + d(C,D)
ν+ed+el.(3)
Clearly, the right-hand side of (3) is the energy required to
finish the trip from vertex ito C and then from C to D. From
(3), we can easily obtain:
d(i, C) + d(C,D)≤ν
f
(ε(i)−ed−el).(4)
In other words, (4) indicates that the position of C falls into
an ellipse with the positions of D and vertex ias the foci.
Let C(i)denote the area of the ellipse specified by (4), then
C(i) = {C|C satisfies (4)}. Therefore, the total coverage is
given by ∪i∈VC(i). By removing the overlapping area with
the coverage region by the drone directly flight (which is in
general a disk centred at the depot D), we can obtain the newly
coverage area brought by the public transportation network.
IV. CAS E STU DY
In this section, we first demonstrate how the proposed
method works. We consider a network as shown in Fig. 7a.
There are 5 stops (U, V, W, X and Y) and 8 services (S1-
S8 marked along the corresponding edges). The departure and
arrival times of these services are given (see the green numbers
7
U V W
X
D
(a)
Y
C
0
S1
50
15
37 32
7
17
922
34
25
3
44
2
20
42
52
47
S3
S2 S4
S5 S6
S7
S8
515
20
7
9
40
5
47
37
40
42
52
50 10
10
10
10
17
13
13
9
9
12
12
12
12
D
UV
XY
(b)
416
19
26
6
8
23
33
48
31
38
39
41
53
51 10+2
10+2
10+2
10+2 18
5+2
5+2
13+2
13+2
9+1
9+1
12+1
12+1
12+1
12+1
D
C
6+1
6+1
12+1
12+1
(c)
4
0
0
51 0
6
26
0
12+1
6+1
28.5
29
27.5
28
30
31
0
2
23
33
32
0
2
0
48 0
53
80
30
6
1
2
2
6
55
58
0
26
23
32
5
5
C
W
6
6
12
12
12
6
33
29
28
10 23
27
34
13
13 28
55
70
48
55
57
61
73
69 12
12
12
12 25
7
7
15
15
10
10
13
13
13
13
D
C
UVW
XY
7
7
13
13
(d)
10
0
0
69 0
6
34
0
13
7
41
41
41
41
48
48
0
2
28
55
54
0
2
0
70
0
13
0
0
13
2
2
6
0
41
41
79
73
86
83
0
0
UV
XY
W
Fig. 7: A working example. (a) The multimodal network with the depot, the customer, five stops, some services and some drone
flights. The green numbers on the service edges are either the arrival or departure time instant. The green numbers on the drone
flight edges are the flight time. (b) The graph obtained by Procedures 1-3 discussed in Section II-B. Some time instants are
inherited from the service arrival and departure times. The red numbers on the edges represent the energy consumption of the
drone. (c) The graph after applying Procedure 4 on the graph of Fig. 7b. The instants of vertices and the energy consumption
on edges are modified. (d) The results of applying Algorithm 1. The purple numbers indicate the minimum accumulated energy
consumption to reach the vertices from the depot.
besides the stops). Some drone flights (undirected) are added,
which are represented by the black lines. The numbers on
these added edges are the time for the drone to complete the
flights. The delivery request is activated at time instant 0. The
parameters are set as follows: s= 1,h= 2,f= 3,tt= 1,
tl= 1,td= 1,et= 1,el= 1 and ed= 2.
By applying the Procedures 1-3 presented in Section II-B,
a graph with simple edges is obtained as shown in Fig. 7b.
Some vertices relating to vehicle services have been marked
with time instants, representing either a vehicle arrival time or
departure time; see the green numbers besides vertices in Fig.
7b. Additionally, numbers are assigned to edges indicating the
energy consumption of the drone; see the red numbers along
the edges in Fig. 7b. After applying Procedure 4 presented in
Section II-B, a complete graph is obtained as shown in Fig. 7c,
where the properties of vertices and edges have been modified.
The proposed algorithm, i.e., Algorithm 1, is then applied
in the complete graph, and the results are shown in Fig.
7d. The purple numbers near the vertices are the minimum
accumulated energy consumption the drone needs to spend
to reach these vertices. By a standard backtracking method,
the paths representing by a sequence of nodes (or vertices)
can be identified. For instant, we have a look at the path
leading to the minimum energy consumption (i.e., 79) among
all the feasible paths. Firstly, the node corresponding to the
vertex having the energy consumption 79 is added to the end
of the path, i.e., P={D}. Looking backwards, the nodes
before D should be U, V and W, i.e., P={W,V,U,D}.
At node W, we need to determine which vertex leads to the
considered path. By accounting for the energy consumption
of the vertices with the label of W, we know it is the second
vertex on the right-hand side. Then, the nodes C, W and V are
8
-5 0 5
X-axis
-6
-4
-2
0
2
4
6
Y-axis
DN1 N2 N3
S1 S2
Extended from N3
Extended from N2
Fig. 8: The extended coverage from nodes 2 and 3.
added to the path, i.e., P={V,W,C,W,V,U,D}. At node
V, we need to make another decision as there are two possible
paths. Again, by accounting for the energy consumption of the
vertices with the label of V, we know that node X should be
added to the path. The next node added to the path is node D.
Thus, the whole path is P55
79 ={D,X,V,W,C,W,V,U,D}.
Via this path, the energy consumption is 79 and the return
instant is 55. Similarly, we can construct the path that has the
energy consumption of 83 and the return instant of 53, i.e.,
P53
83 ={D,X,V,W,C,Y,X,D}; as well as the path that has
the energy consumption of 86 and the return instant of 58, i.e.,
P58
86 ={D,X,V,W,C,W,V,X,D}. If E0= 90, then all the
three paths are feasible and the best one has the return instant
of 53. If E0= 80, there is only one feasible path, and the
return instant is 55.
Now, we demonstrate the extended coverage area achieved
by the proposed method. To make the results easy to under-
stand, we consider a network shown in Fig. 8. Service-1 (S1)
schedules to depart from node 1 (N1) at 10 and reach node
2 (N2) at 15. Service-2 (S2) schedules to depart from node 2
(N2) at 18 and arrive at node 3 (N3) at 21. The initial energy
E0is set as 80, the drone average speed is set as ν= 0.5,
and all the other parameters are the same as above. Applying
the procedures discussed in Section II-B, we can compute the
residual energy if the drone “takes” the services to reach nodes
2 and 3, which are 66 and 59, respectively. The residual energy
satisfies the condition (2). Thus, some extended coverage can
be achieved from nodes 2 and 3. By (4), we can compute
the extended coverage area from these two nodes, which are
shown in Fig. 8. The overall extension is about 8% of the
coverage area achieved by flying only (a disk centred at the
depot D).
Moreover, we analyze the impact of traffic freeze. Traffic
freezes on some parts of roads happen when accidents occur
such as collisions or break-down. This significantly impacts
the performance of the proposed parcel delivery system, which
depends on the transportation network to get to the customers
far from the depot. When the traffic of some road freezes, some
transportation service on the affected road cannot transport
drones. Here, we consider a network shown in Fig. 9a, where
the timetables of the services are also shown. In the results
shown in Fig. 9, the coverage area by drone flight only is
regarded as 1. With the assistant of the transportation network,
the coverage increases. Fig. 9b shows that when all the services
function well, the extended coverage is increased by 30%.
123
011 19
0
S1
S4
D
S2
19 11
(0,0) (1,0) (4,0) (6,0)
S3
5
10
15
⋮
10
15
20
25
⋮
16
21
26
⋮
24
29
34
⋮
5
10
15
⋮
10
15
20
25
⋮
16
21
26
⋮
24
29
34
⋮
(a)
16:00 16:05 16:10 16:15 16:20
Drone departure time
1
1.1
1.2
1.3
Coverage
(b)
16:00 16:05 16:10 16:15 16:20
Drone departure time
1
1.1
1.2
1.3
Coverage
Service 1 breaks down
(c)
16:00 16:05 16:10 16:15 16:20
Drone departure time
1
1.1
1.2
1.3
Coverage
Service 2 breaks down
(d)
Fig. 9: (a) A network with four services. (b) The extended
coverage versus the drone departure time when all the services
operate normally. (c) Service-1 breaks down at 16:05. (d)
Service-2 breaks down at 16:10.
Such an extension is achievable only at some particular time.
The reason is that the drone can “take” a service only at some
particular time instant, such as 10. In this case, the drone
can “take” service-1, transfer at node 2, and “take” service-2
to reach the farthest point from the depot. After delivery, it
needs to catch service-3, transfer to service-4 and returns to
the depot. Fig. 9c shows the extended coverage when service
1 breaks down at instant 5. In this case, to reach the farthest
customer, the drone flies to node 2, “takes” service 2, and
then departs and flies to the customer. After delivery, it “takes”
service-3, transfers to service-4 and returns to the depot. Since
at the beginning the drone has to fly to node 2, much energy
has been consumed. Thus, it only increases the coverage by
about 10%. In Fig. 9d, we consider the case where service-2
breaks down at instant 10. Compared to Fig. 9b, the extended
coverage reduced from 30% to about 15%. It is clear that the
break down of service-2 impacts on the coverage extension
less than the break down of service-1. If the service-1 or 2
recovers later, the extended coverage will be as shown in Fig.
9b. From this analysis we can see that traffic freeze makes
some transportation vehicles unable to assist drone delivery,
but the rest of the transportation vehicles can still help to
increase the coverage area.
V. CONCLUSION
Aiming at enlarging the coverage area, a novel drone parcel
delivery method based on the public transportation network
was presented in this paper. The problem of routing a drone
from the depot to a customer and back to the depot using
the public transportation network was studied. An optimal
path planning problem to minimize the delivery time was
formulated, and a Dijkstra-based algorithm was developed to
find the path for the drone. How this method works has been
demonstrated by a comprehensive case study.
One future research direction is to take the constructed trip
by the proposed approach as a foundation and investigate the
problem of scheduling flights for multiple drones to deliver
multiple parcels.
9
REFERENCES
[1] F. Glover, G. Gutin, A. Yeo, and A. Zverovich, “Construction heuristics
for the asymmetric TSP,” European Journal of Operational Research,
vol. 129, no. 3, pp. 555–568, 2001.
[2] T. Zhang, L. Ke, J. Li, J. Li, J. Huang, and Z. Li, “Metaheuristics for
the tabu clustered traveling salesman problem,” Computers & Operations
Research, vol. 89, pp. 1–12, 2018.
[3] J. F. Ehmke, A. M. Campbell, and T. L. Urban, “Ensuring service levels
in routing problems with time windows and stochastic travel times,”
European Journal of Operational Research, vol. 240, no. 2, pp. 539–
550, 2015.
[4] K. Braekers, K. Ramaekers, and I. Van Nieuwenhuyse, “The vehicle
routing problem: State of the art classification and review,” Computers
& Industrial Engineering, vol. 99, pp. 300–313, 2016.
[5] C. C. Murray and A. G. Chu, “The flying sidekick traveling salesman
problem: Optimization of drone-assisted parcel delivery,” Transportation
Research Part C: Emerging Technologies, vol. 54, pp. 86–109, 2015.
[6] N. Agatz, P. Bouman, and M. Schmidt, “Optimization approaches for the
traveling salesman problem with drone,” Transportation Science, 2018.
[7] Q. M. Ha, Y. Deville, Q. D. Pham, and M. H. H`
a, “On the min-cost
traveling salesman problem with drone,” Transportation Research Part
C: Emerging Technologies, vol. 86, pp. 597–621, 2018.
[8] S. Kim and I. Moon, “Traveling salesman problem with a drone station,”
IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2018.
[9] N. Mathew, S. L. Smith, and S. L. Waslander, “Planning paths for
package delivery in heterogeneous multirobot teams,” IEEE Transactions
on Automation Science and Engineering, vol. 12, no. 4, pp. 1298–1308,
Oct 2015.
[10] K. Dorling, J. Heinrichs, G. G. Messier, and S. Magierowski, “Vehicle
routing problems for drone delivery,” IEEE Transactions on Systems,
Man, and Cybernetics: Systems, vol. 47, no. 1, pp. 70–85, 2017.
[11] L. Fanjul-Peyro, F. Perea, and R. Ruiz, “Models and matheuristics
for the unrelated parallel machine scheduling problem with additional
resources,” European Journal of Operational Research, vol. 260, no. 2,
pp. 482–493, 2017.
[12] I. Hong, M. Kuby, and A. T. Murray, “A range-restricted recharging sta-
tion coverage model for drone delivery service planning,” Transportation
Research Part C: Emerging Technologies, vol. 90, pp. 198–212, 2018.
[13] S. M. Shavarani, M. G. Nejad, F. Rismanchian, and G. Izbirak, “Ap-
plication of hierarchical facility location problem for optimization of a
drone delivery system: a case study of amazon prime air in the city
of san francisco,” International Journal of Advanced Manufacturing
Technology, vol. 95, no. 9-12, pp. 3141–3153, 2018.
[14] H. Huang and A. V. Savkin, “A method of optimized deployment of
charging stations for drone delivery,” IEEE Transactions on Transporta-
tion Electrification, vol. 6, no. 2, pp. 510–518, 2020.
[15] J. Shao, J. Cheng, B. Xia, K. Yang, and H. Wei, “A novel service system
for long-distance drone delivery using the “Ant Colony+ A*” algorithm,”
IEEE Systems Journal, 2020.
[16] D. Sun, X. Peng, R. Qiu, and Y. Huang, “The traveling salesman
problem: Route planning of recharging station-assisted drone delivery,”
in Proceedings of the Fourteenth International Conference on Manage-
ment Science and Engineering Management. Springer International
Publishing, 2021, pp. 13–23.
[17] H. Huang, A. V. Savkin, and C. Huang, “A new parcel delivery system
with drones and a public train,” Journal of Intelligent & Robotic Systems,
pp. 1–14, 2020.
[18] D. Aleksandrov and I. Penkov, “Energy consumption of mini UAV
helicopters with different number of rotors,” in 11th International
Symposium” Topical Problems in the Field of Electrical and Power
Engineering, 2012, pp. 259–262.
Hailong Huang was born in China in 1988. He
received the B.Sc. degree in automation, from China
University of Petroleum, Beijing, China, in June
2012, and received Ph.D degree in Systems and
Control from the University of New South Wales,
Sydney, Australia, in March 2018. He is a research
associate at the School of Electrical Engineering
and Telecommunications, University of New South
Wales, Sydney, Australia. His current research inter-
ests include wireless sensor networks and guidance,
navigation, and control of mobile robots.
Andrey V. Savkin was born in 1965 in Norilsk,
Russia. He received the M.S. and Ph.D. degrees in
mathematics from the Leningrad State University,
Saint Petersburg, Russia, in 1987 and 1991, respec-
tively. From 1987 to 1992, he was with the Tele-
vision Research Institute, Leningrad, Russia. From
1992 to 1994, he held a Postdoctoral position in
the Department of Electrical Engineering, Australian
Defence Force Academy, Canberra. From 1994 to
1996, he was a Research Fellow in the Department
of Electrical and Electronic Engineering and the
Cooperative Research Centre for Sensor Signal and Information Processing,
University of Melbourne, Australia. From 1996 to 2000, he was a Senior
Lecturer, and then an Associate Professor in the Department of Electrical
and Electronic Engineering, University of Western Australia, Perth. Since
2000, he has been a Professor in the School of Electrical Engineering
and Telecommunications, University of New South Wales, Sydney, NSW,
Australia. His current research interests include robust control and state esti-
mation, hybrid dynamical systems, guidance, navigation and control of mobile
robots, applications of control and signal processing in biomedical engineering
and medicine. He has authored/coauthored seven research monographs and
numerous journal and conference papers on these topics. Prof. Savkin has
served as an Associate Editor for several international journals.
Chao Huang was born in China in 1990. She
received the B.Sc. degree in automation, from China
University of Petroleum, Beijing, China, in June
2012, and received Ph.D degree from the Univer-
sity of Wollongong, Wollongong, Australia, in Dec.
2018. Her interests include motion planning, human
machine collaboration, fault tolerant, automotive
control and application.