Uploaded by 丁屹达

林威 本科毕业论文-二次检测

advertisement
单位代码
学
号
10006
19351024
1 分 类 号
毕业设计(论文)
Toward a Reference Experimental Benchmark for
Solving Flying Sidekick Traveling Salesman
Problem
学 院 名 称
国际通用工程学院
专 业 名 称
机械工程
学 生 姓 名
林威
指 导 教 师
孙小倩,王凯
2023 年 6 月
论
文
四号黑体字
题
目
四号黑体字
姓
名
北
京
航
空
航
天
大
学
小四 号 黑 体 字
Toward a Reference Experimental Benchmark for Solving
Flying Sidekick Traveling Salesman Problem
A Thesis Submitted for the Degree of Bachelor
Candidate: Wei Lin
Supervisor: Xiaoqian Sun, Kai Wang
School of General Engineering
Beihang University, Beijing, China
单位代码
学
号
10006
19351024
分 类 号
学
士
学
位
论
文
卡车无人机协同旅行商问题求解算法基准研究
作者姓名
林威
申请学位级别
工学学士
指导教师姓名
孙小倩,王凯
职
教授,助理教授
学科专业
机械工程
研究方向
称
XXXXX
学习时间自
2019 年 9 月 1 日
起至
论文提交日期
2023 年 5 月 19 日
论文答辩日期 2023 年 6 月 2 日
学位授予单位
北京航空航天大学
2023 年 6 月 31 日止
学位授予日期
XX 年 XX 月 XX 日
北京航空航天大学
本 科 生 毕 业 设 计(论文)任 务 书
Ⅰ、毕业设计(论文)题目:
Towards a Reference Experimental Benchmark for Solving Flying Sidekick
Traveling Salesman Problem
Ⅱ、毕业设计(论文)使用的原始资料(数据)及设计技术要求:
Companies always tend to look for the most cost-efficient methods to distribute
goods across logistic networks. A new distribution method has recently arisen in
which small unmanned aerial vehicles, also known as drones, are deployed to
support parcel delivery. The novel method named Drone-Truck Coordinated
Operations (DTCO), in which the truck transports the drone close to the customer
locations, allowing the drone to service customers while remaining within its
flight range, effectively increasing the usability and making the schedule more
flexible for both drone and trucks, has become a new research hotspot. Various
researchers have investigated the routing problem related to the DTCO, which
was first purposed by Murray as the “Flying Sidekick Traveling Salesman
Problem” (FSTSP).
Ⅲ、毕业设计(论文)工作内容:
In this project, a systematic evaluation and experimental benchmark will be
conducted for different FSTSP models and algorithms. The benchmark will
include various metrics such as runtime, convergence analysis, scalability, and
result quality. Through evaluating the pros and cons of different models and
algorithms, this project aims to summarize previous works and obtain deep
insights for the inspiration of future studies in this field.
Ⅳ、主要参考资料:
[1] Ponza A. Optimization of drone-assisted parcel delivery[J].
[2] Agatz N, Bouman P, Schmidt M. Optimization Approaches for the Traveling
Salesman Problem with Drone[J]. Transportation Science, 2018, 52(4): 965–981.
[3] Murray C C, Chu A G. The flying sidekick traveling salesman problem:
Optimization of drone-assisted parcel delivery[J]. Transportation Research Part C:
Emerging Technologies, 2015, 54: 86–109.
国际通用工程学院
学院
机械工程
毕业设计(论文)时间:
2022
年 9 月 1 日至
答辩时间:
月
日
学生
成
专业类
193512
班
林威
年
2023 年 5 月 19 日
绩:
指导教师:
兼职教师或答疑教师(并指出所负责部分):
系(教研室) 主任(签字)
:
注:任务书应该附在已完成的毕业设计(论文)的首页。
本人声明
我声明,本论文及其研究工作是由本人在导师指导下独立完成的,在完
成论文时所利用的一切资料均已在参考文献中列出。
作者:林威
签字:
时间:2023 年 6 月
1
BUAA Academic Dissertation for Bachelor’s Degree
卡车无人机协同旅行商问题求解算法基准研究
学
生:林威
指导教师:孙小倩,王凯
摘
要
随着电子商务和按需服务的需求不断增长,对高效的最后一英里配送解决方案的需
求日益增加,尤其是在城市地区。无人机-卡车联合运营(DTCO)通过利用无人驾驶飞行
器(UAV)和地面车辆的优势,成为解决这一问题的有效手段。卡车无人机协同旅行商问
题(FSTSP)是经典旅行商问题考虑 DTCO 场景的一种变体。FSTSP 可建模为一个混合整数
线性规划模型,采用标准求解器求解。然而,由于该问题是 NP-hard,无法求解大规模
问题。启发式算法对于大规模问题在可接受的运行时间内求得近似解。尽管已经提出了
一系列求解 FSTSP 的算法和模型,但尚缺乏对这些方法的全面评估和比较。本文旨在通
过对各种启发式算法进行全面的实验基准来填补这一空白,并采用诸如计算时间、可扩
展性和求解质量等多种指标来评估它们的性能。本文的研究结果可为未来无人机-卡车
联合运营优化,提供有一定的基础理论支撑。
关键词:旅行商问题,路径规划,物流,无人机
2
BUAA Academic Dissertation for Bachelor’s Degree
Toward a Reference Experimental Benchmark for Solving Flying
Sidekick Traveling Salesman Problem
Author: Wei LIN
Tutor : Xiaoqian SUN, Kai WANG
Abstract
The growing demands of e-commerce and on-demand transportation services have
intensified the need for efficient last-mile delivery solutions, particularly in urban areas. DroneTruck Combined Operations (DTCO) have emerged as a promising approach to address this
challenge by leveraging the strengths of both Unmanned Aerial Vehicles (UAVs) and ground
vehicles. The Flying Sidekick Traveling Salesman Problem (FSTSP) is a variation of the classic
Traveling Salesman Problem that models this DTCO scenario. FSTSP is a mixed integer linear
programming model, which can be solved by standard commercial solvers. However, due to
the NP-hard nature of this problem, generating the exact solution is impractical on large-scale
instances. Heuristics were used to obtain the approximate solution within acceptable runtime.
Despite a range of proposed algorithms and models for solving the FSTSP, a thorough
evaluation and comparison of these methods are missing from the current literature. This work
aims to fill this gap by conducting a comprehensive experimental benchmark of various
heuristic algorithms, assessing their computational performance using metrics such as runtime,
scalability, and result quality. Our findings will provide valuable insights and guidance for
future research in the field of DCTO optimization problems.
Keywords: Traveling salesman problem, Vehicle routing, Logistics, Unmanned aerial vehicle
3
BUAA Academic Dissertation for Bachelor’s Degree
Contents
Abstract ......................................................................................................................................................... 2
1
Introduction ........................................................................................................................................... 4
1.1
Background ................................................................................................................................. 4
1.2
Literature Review........................................................................................................................ 5
1.2.1
Synchronous DCTO ........................................................................................................ 5
1.2.2
Asynchronous DCTO ...................................................................................................... 9
1.3
Thesis Plan ................................................................................................................................ 10
2
Flying Sidekick Traveling Salesman Problem ...................................................................................11
2.1
Model Prelimaries ......................................................................................................................11
2.1.1
Assumptions ...................................................................................................................11
2.1.2
Notations ....................................................................................................................... 12
2.2
FSTSP MILP Model.................................................................................................................. 13
2.3
Model Description .................................................................................................................... 15
2.4
Extended Models ...................................................................................................................... 17
3
Methods................................................................................................................................................ 19
3.1
Dynamic Customer Relocation Algorithm ................................................................................ 19
3.2
Proposed Fast Greedy Methods ................................................................................................ 24
3.3
GRASP...................................................................................................................................... 26
3.4
Greedy Partition Heuristic ........................................................................................................ 31
4
Numerical Result ................................................................................................................................. 35
4.1
Datasets ..................................................................................................................................... 35
4.2
Comparison of the Algorithms .................................................................................................. 36
4.2.1
Base Comparison .......................................................................................................... 36
4.2.2
Comparison of the Algorithms for Different UAV Speeds............................................ 38
4.2.3
Comparison of the Heuristics on Instances of Larger Scale.......................................... 38
4.2.4
Comparison of the Heuristics on Instances with Restriction. ....................................... 40
4.3
Impact of Instance Characteristics on System Performance ..................................................... 41
4.3.1
Location Distribution .................................................................................................... 41
4.3.2
UAV Speed .................................................................................................................... 42
4.3.3
UAV Flight Range ......................................................................................................... 43
Conclusions .................................................................................................................................................. 45
Acknowledgments ....................................................................................................................................... 46
References .................................................................................................................................................... 48
4
BUAA Academic Dissertation for Bachelor’s Degree
1 Introduction
1.1
Background
The rapid development of e-commerce and on-demand services has placed significant
pressure on the logistics industry to optimize its operations and reduce delivery times. One of
the key challenges faced by logistics providers is to efficiently solve the last-mile delivery
problem, which refers to the final leg of the supply chain where goods are transported from a
distribution center to the end customer, especially in urban areas where traffic congestion,
environmental concerns, and customer expectations are increasing. To address this issue, a
promising solution that has emerged in recent years is the concept of Drone-Truck Combined
Operations (DTCO) for goods transportation.
DTCO leverages the capabilities of both Unmanned Aerial Vehicles (UAVs) and ground
vehicles (trucks) to create a symbiotic delivery system. UAVs are well-suited for small parcel
deliveries in urban areas, as they can bypass traffic congestion and provide direct routes to the
destination. Meanwhile, trucks can carry a larger volume of goods and serve as mobile depots
for the UAVs, facilitating the recharging and reloading of the drones. This fusion of
technologies has the potential to significantly improve the efficiency and cost-effectiveness of
last-mile delivery operations.
The practical application of UAVs in logistics has already begun to take shape, with several
companies and research groups exploring different aspects of drone-based deliveries. For
example, Kyports, a global leader in drone logistics, surveys, and monitoring, operating in 13
countries across four continents, offers rural and healthcare logistics, maritime deliveries, drone
inspections, and surveillance solutions[1]. Google Wing has completed 100,000 deliveries in
Australia and the US, delivering items such as coffee, sushi, bread, and roasted chicken.[2]
Zipline specializes in on-demand drone delivery and instant logistics.[3] Zipline delivers
medical supplies such as blood, vaccines, and medications to hospitals and clinics in Africa and
the US.
As these applications gain traction, there is a need to develop efficient algorithms and models
that can handle the unique challenges posed by the Flying Sidekick Traveling Salesman
5
BUAA Academic Dissertation for Bachelor’s Degree
Problem (FSTSP)[4]. The FSTSP is a variation of the classic Traveling Salesman Problem (TSP)
that models the DTCO scenario, where the objective is to determine the optimal routes for both
the truck and its accompanying UAVs.
In the past few years, several research efforts have been devoted to tackling the FSTSP.
Various algorithms and models have been proposed, ranging from exact methods[5] to
metaheuristics[6] and hybrid approaches[7]. However, a comprehensive comparison and
evaluation of these methods are currently lacking in the literature, which hinders the
understanding of their relative strengths and weaknesses.
The primary goal of this paper is to address this gap by conducting a systematic evaluation
and experimental benchmark of different FSTSP models and algorithms. The benchmark will
encompass various performance metrics, such as runtime, convergence analysis, scalability, and
result quality. By assessing the pros and cons of different models and algorithms, this project
aims to synthesize previous works and generate valuable insights to guide future research in
this field.
1.2 Literature Review
The DTCO problem is a variant of the vehicle routing problem (VRP) that involves a truck
and a drone working together to deliver goods to customers. The truck can carry the drone and
its payload and can send and receive the drone at any location along its route. The drone can
fly faster than the truck but has limited battery capacity and payload capacity. The objective of
the DTCO problem is to minimize the total delivery time or cost. At present, many scholars
have conducted in-depth research in this field. These studies can be divided into two categories,
synchronous DCTO, and asynchronous DTCO.
1.2.1 Synchronous DCTO
The flying sidekick traveling salesman problem (FSTSP) is a special case of the synchronous
DTCO problem where there is only one truck and one drone, and each customer is visited
exactly once by either the truck or the drone. The FSTSP was first proposed by Murray and
Chu[4], who formulated it as a mixed-integer linear program (MILP) and solved it using CPLEX.
They also proposed a heuristic algorithm based on the nearest neighbor rule and evaluated the
6
BUAA Academic Dissertation for Bachelor’s Degree
performance of both methods on randomly generated instances. Based on the setting of FSTSP,
many heuristic methods are proposed to tackle the trade-off of runtime and solution quality.
Yurek et al. proposed a decomposition-based iterative algorithm to minimize delivery
completion time.[8] The algorithm consists of two stages: the first stage determines the truck
route and the customers assigned to the drone, and the second stage optimizes the drone route
by solving a mixed-integer linear programming model. They also developed an optimizationbased heuristic algorithm for medium-sized instances by reducing the feasible search area.
Freitas and Penna proposed a hybrid heuristic for the FSTSP problem.[9] The heuristic consists
of two phases: the first phase generates an initial solution from the optimal TSP solution
obtained by a mixed-integer programming solver, and the second phase applies a general
variable neighborhood search to improve the solution. They also provided a new set of instances
based on well-known TSPLIB instances. Gonzalez-R et al. presented a heuristic approach
that consists of two phases: the first phase assigns customers to the truck or the drone based on
a cost function, and the second phase optimizes the routes of both vehicles by applying local
search operators.[10] They also analyzed the sensitivity of the results to different parameters
such as drone speed, battery life, and service time. Lee and Chung proposed a pseudo-node
insertion method that inserts pseudo nodes into the truck route to synchronize the truck and the
drone movements and avoid unnecessary waiting times, with the consideration of the drone’s
battery capacity and recharging time.[11]
Another line of research has focused on developing exact methods for solving small to
medium-scale instances of the FSTSP problem optimally.
Bouman et al. presented exact solution approaches for the TSP-D problem based on dynamic
programming and exploit the structure of the problem.[12] They compared their approaches with
mathematical programming formulations from the literature and showed that they can solve
larger instances to optimality. They also analyzed the impact of imposing limits on the number
of locations the truck can visit while the drone is away and found that they can reduce the
solution times without sacrificing much solution quality. Poikonen et al. proposed a branchand-bound approach to the TSP-D problem using a dynamic programming algorithm to obtain
approximate lower bounds at each node of the branch-and-bound tree.[6] They compared their
7
BUAA Academic Dissertation for Bachelor’s Degree
approach with heuristic methods from the literature and showed that they can solve small and
medium-sized instances to optimality. They also analyzed the effect of various input parameters
and distance metrics on the solution quality and computation time. Roberti and Ruthmair
proposed an exact method based on a compact mixed-integer linear programming (MILP)
formulation that synchronizes the truck and the drone flows and a branch-and-price approach
that uses dynamic programming recursions and a set partitioning formulation.[13] They
compared their methods with existing ones from the literature and showed that they can solve
larger instances to optimality. They also analyzed different scenarios and showed that even a
single drone can significantly reduce the delivery time when the drone is sufficiently fast.
In addition to proposing algorithms to solve the FSTSP problem, some work has focused on
extending the model, including adjusting the objectives, adding more realistic constraints, etc.
Marinelli et al. introduced a novel approach that allows the truck to launch and pick up the
drone not only at customer locations but also along the route arcs (en route), thus expanding the
service area of the drone and reducing its dependency on the truck’s position.[14] They also
proposed a heuristic algorithm based on a cluster first route second procedure to solve the
problem. Agatz et al. extended the FSTSP problem by proposing an operation-based IP model,
instead of the arc-based model proposed by Murray and Chu.[5] They modeled the entire TSPD strategy into a series of unit operations, which significantly reduce the solution space of the
FSTSP problem. Several fast heuristics based on local search and dynamic programming were
proposed to solve the TSP-D, and they proved worst-case approximation ratios for them. Ha et
al. studied a new variant of the TSP-D that aims to minimize operational costs, including
transportation costs and waiting times of the truck and the drone.[15] They formulated the
problem as an integer programming model and proposed two algorithms to solve it. The first
algorithm (TSP-LS) converts an optimal TSP solution to a feasible TSP-D solution by local
searches. The second algorithm (GRASP) splits any TSP tour into a TSP-D solution by an
optimal procedure and improves it by local search operators. Jeong et al. extended the vehicle
routing models for the truck-drone hybrid delivery system by considering two practical issues:
the payload-energy dependency of the drone and the no-fly zones that restrict the drone’s
flight.[16] The payload-energy dependency means that the drone’s energy consumption depends
8
BUAA Academic Dissertation for Bachelor’s Degree
on the weight of the parcel it carries. The no-fly zones are areas where the drone is prohibited
to fly due to regulations or weather conditions. They developed a mixed-integer programming
model and a two-phase heuristic algorithm to minimize the total delivery time. They tested their
model and algorithm on various instances and showed that they can capture the realistic aspects
of the problem and provide efficient solutions. Dell’Amico et al. proposed new formulations
for the FSTSP problem based on three-indexed and two-indexed variables and a set of
inequalities that can be implemented in a branch-and-cut algorithm.[17] They compared their
formulations with existing ones from the literature and showed that they can solve most of the
instances to optimality. They also considered two versions of the problem: one in which the
drone can wait at the customers, and one in which the drone can only wait in flying mode. They
adapted their formulations to both versions and analyzed the difference between them.
More complex cases are considered in some works, which extend the FSTSP problem to
multi-truck or multi-drone cases.
S. Poikonen et al. study a variant of the vehicle routing problem with drones (VRPD), where
a fleet of trucks equipped with drones delivers packages to customers.[18] They propose several
extensions of the basic VRPD model, such as allowing multiple drones per truck, multiple
depots, heterogeneous vehicles, and time windows. They also establish connections between
the VRPD and other related problems, such as the traveling salesman problem with drones
(TSPD), the vehicle routing problem with trailers (VRPT), and the pickup and delivery problem
with transshipment (PDPT). A.M. Ham introduced a more general and realistic model of VRPD
that captures multiple trucks, multiple drones, multiple depots, and various constraints.[19] This
work developed a constraint programming approach that exploits the structure of the problem
and uses effective filtering techniques to reduce the search space. C. Murray and R. Raj
considered the case where each UAV can perform multiple deliveries before returning to the
truck and developed a heuristic algorithm that combines ant colony optimization and local
search techniques to find near-optimal solutions efficiently.[20] P. Kitjacharoenchai et al.
proposed a MIP formulation to capture multiple drones flying between different trucks and
making deliveries and developed a heuristic based on insertion heuristics to solve the problem
in large-sized instances.[21]
9
BUAA Academic Dissertation for Bachelor’s Degree
1.2.2 Asynchronous DCTO
In some scenarios where the customers are located within the flight range of the UAV from
the depot, where the UAV can fly back and forth between the depot and customers to deliver
goods, the necessity for maintaining a strict synchronization between the UAV and the truck is
eliminated, resulting in an asynchronous parallel deliver mode.
Murray and Chu first introduced the parallel drone scheduling traveling salesman problem
(PDSTSP), where a truck and multiple UAVs can depart from a single depot to deliver goods
independently.[4] PDSTSP is a challenging optimization problem that generalizes two NP-hard
problems: the traveling salesman problem and the identical parallel machine scheduling
problem. On this basis, many subsequent studies have carried out an in-depth exploration of the
modeling of asynchronous DCTO and put forward several solving algorithms. S.M. Ferrandez
et al. use K-means clustering to find launch locations and a genetic algorithm to solve the truck
route as a traveling salesman problem.[22] They provided closed-form mathematical solutions
that can be used as close estimators for final costs and time and found that multiple drones per
truck are more optimal and contribute to savings in both energy and time.
A bi-objective multi-product cross-docking truck-scheduling model with direct drone
shipping and multiple fleets was proposed by M. Tavana et al., which includes two conflicting
objective functions: scheduling cost and time.[23] This work adapted an efficient multi-objective
epsilon-constraint method to solve the proposed model. Y. Li. et al. explore the economics
related to the joint delivery system using trucks and drones, using continuum approximation
methods to approximate transportation distances and costs as simple functions.[24] They develop
cost models to help decision-makers choose economical delivery modes, partition service
regions, and obtain optimal delivery ratios. R. Montemanni et al. introduce an iterative twostep heuristic that consists of a coding step and a decoding step to solve the PDSTSP problem.[25]
The coding step transforms a solution into a customer sequence, and the decoding step
decomposes the customer sequence into vehicle tours and drone trips. The decoding step is
solved by dynamic programming as a bicriteria shortest path problem.
10
BUAA Academic Dissertation for Bachelor’s Degree
1.3
Thesis Plan
The thesis is organized as follows:
In Chapter 2, the mathematical model of FSTSP is introduced, starting from the notation
utilized in the model and presenting the model itself and a detailed explanation of the constraints.
In addition, some extension model based on the FSTSP model is also introduced. In Chapter 3,
three representative heuristic methods in the literature and a proposed baseline method are
introduced. In Chapter 4, a comprehensive experimental benchmark is conducted to evaluate
different methods. Besides, an analysis of instance characteristics is also provided.
11
BUAA Academic Dissertation for Bachelor’s Degree
2 Flying Sidekick Traveling Salesman Problem
Flying Sidekick Traveling Salesman Problem is a variant of the classical Traveling Salesman
Problem where a delivery system consists of a truck and a drone. The drone can launch from
the truck with a single package to deliver to a customer and then rendezvous with the truck at
another location. The truck can also deliver packages to other customers while the drone is
flying. The objective is to minimize the total time spent by the truck and the drone to visit all
the customers. In this chapter, the mathematical model of FSTSP gets introduced.
The remainder of this chapter is organized as follows. In section 2.1, the model preliminaries
include assumptions and notation is introduced. In section 2.2, the FSTSP mixed integer linear
programming model proposed by Murray and Chu is presented. In section 2.3, a detailed
description of every constraint in the model is provided. Finally, in section 2.4, some extended
models proposed in recent years will be introduced.
2.1 Model Prelimaries
2.1.1 Assumptions
Considering the realistic scenario and modeling complexity, some assumptions are proposed
as follows:
-
Due to the limited capacity of UAVs, a UAV can serve only one customer per sortie.
-
Trucks can serve multiple users while drones carry out delivery missions.
-
Given the space needed to land a UAV and the potential hazards involved, the UAV
cannot land temporarily to wait for a truck. So, the time the UAV spends waiting for the
truck needs to be counted toward the endurance of the UAV.
-
After the UAV is collected by the truck, it can depart from the same location again to start
a new sortie.
-
If the UAV is collected by the truck, this must take place at the location of a customer
served by the truck.
-
Neither truck nor UAV may revisit any customer nodes which is served before.
-
If the UAV is collected at the depot, it is taken out of service. It cannot be relaunched
12
BUAA Academic Dissertation for Bachelor’s Degree
from the depot.
The time it takes to load the UAV and replace the battery needs to be taken into account.
-
2.1.2 Notations
In this section, the notation used in the Mixed Integer Linear Programming (MILP) model is
introduced.
Some variables are determined by the data of instances.
-
C = {1, 2,...c} : set of all customers.
-
C '  C : set of UAV-eligible customers.
-
N = {0,1,..., c + 1} : set of all nodes. The first node and the last node are the depot.
-
N0 = {0,1,..., c} : set of nodes that the truck may depart from.
-
N + = {1, 2,..., c + 1} : set of nodes that the truck may arrive at.
-
 i , j : travel time from node 𝑖 ∈ 𝑁 to node 𝑗 ∈ 𝑁 for the truck.
-
 'i , j : travel time from node 𝑖 ∈ 𝑁 to node 𝑗 ∈ 𝑁 for the UAV.
-
sL : launch time for UAV.
-
sR : rendezvous time for UAV.
-
e : flight endurance of the UAV.
-
M : big enough number.
-
P : the set of all feasible UAV sorties.
And below is the decision variable:
-
𝑥𝑖𝑗 : A Boolean value indicates whether the truck travels from 𝑖 ∈ 𝑁0 to 𝑗 ∈ 𝑁+ with
𝑖 ≠ 𝑗.
-
𝑦𝑖𝑗𝑘 : A Boolean value indicates whether the UAV travels from 𝑖 ∈ 𝑁0 to 𝑗 ∈ 𝐶 ′ and
back to 𝑘 ∈ 𝐶+ .
-
𝑡𝑗 : The time at which the truck arrives at node 𝑗 ∈ 𝑁.
-
𝑡′𝑗 : The time at which the UAV arrives at node 𝑗 ∈ 𝑁+ .
13
BUAA Academic Dissertation for Bachelor’s Degree
-
𝑃𝑖𝑗 : Auxiliary Boolean variable that equals 1 if customer 𝑖 ∈ 𝐶 is visited before
customer 𝑗 ∈ {𝐶: 𝑗 ≠ 𝑖} in the truck route.
-
𝑢𝑖 : Auxiliary Boolean variable that indicates the position of node 𝑖 ∈ 𝑁+ in the
vehicle’s path.
2.2 FSTSP MILP Model
Here’s the mathematical model of FSTSP proposed by Murray and Chu[4].
(2.1)
min tc+1
s.t.
x + 
ij
iN 0
i j
iN 0 kN +
i  j  i , j ,k P
yijk = 1 j  C
x
=1
(2.3)
x
=1
(2.4)
0j
jN +
iN0
i ,c+1
ui − u j + 1  (c + 2)(1 − xij ) i  C , j  {N + : i  j}
x
iN 0
i j
ij
=
lC
l k
y0 jk 
j  C
(2.6)
yijk  1 i  N 0
(2.7)
 
yijk  1 k  N +
(2.8)
 x +x
hi
jk
(2.5)
 
iN 0
jC
i  k i , j ,kP 
hN 0
h i
x
kN +
k j
jC kN +
j i i , j ,k P
2 yijk 
(2.2)
i  C , j  {C : j  i}, l  {N + : (i, j , k )  P}
lk
x
hN 0
hk
hk
uk − ui  1 − (c + 2)(1 −
j  C , k  {N + : (0, j , k )  P}

jC
( i , j ,k )P
yijk ) i  C , k  {N + : k  i}
(2.9)
(2.10)
(2.11)
14
BUAA Academic Dissertation for Bachelor’s Degree
ti  ti − M (1 − 

yijk ) i  C
(2.12)
ti  ti + M (1 − 

yijk ) i  C
(2.13)
tk  tk − M (1 − 

yijk ) k  N +
(2.14)
tk  tk + M (1 − 

yijk ) k  N +
(2.15)
jC kN +
j i ( i , j ,k )P
jC kN +
j i ( i , j ,k )P
jC kN +
j i ( i , j ,k )P
jC kN +
j i ( i , j ,k )P
tk  th +  hk + sL (

yklm ) + sR ( 
lC mN +
l  k ( k ,l ,m )P

iN 0
jC
i  k ( i , j ,k )P
yijk ) − M (1 − xhk )
(2.16)
h  N 0 , k  {N + : k  h}
t j  ti +  ij − M (1 −

kN +
( i , j ,k )P
tk  t j +  jk + sR − M (1 −
yijk ) j  C , i  {N 0 : i  j}

iN 0
( i , j ,k )P
yijk ) j  C , k  {N + : k  j}
(2.17)
(2.18)
tk − (tj −  ij )  e + M (1 − yijk ) k  N + , j {C : j  k}, i {N 0 : (i, j, k )  P}
(2.19)
ui − u j  1 − (c + 2) pij i  C , j {C : j  i}
(2.20)
ui − u j  −1 + (c + 2)(1 − pij ) i  C , j  {C : j  i}
(2.21)
pij + p ji = 1 i  C , j {C : i  j}
(2.22)
tl  tk − M (3 −

jC
( i , j ,k )P
j l
yijk −


mC n{ N + :n i ,n  j }
m{i , j ,k } ( l ,m ,n )P
ylmn − pil )
(2.23)
i  N 0 , k  {N + : k  i}, l  {C : l  i, l  k}
t 0 =0
(2.24)
t'0 =0
(2.25)
p0 j = 1 j  C
(2.26)
xij {0,1} i  N 0 , j {N + : j  i}
(2.27)
yijk {0,1} i  N 0 , j {C : j  i}, k {N + : (i, j , k )  P}
(2.28)
15
BUAA Academic Dissertation for Bachelor’s Degree
1  ui  c + 2 i  N +
(2.29)
ti  0 i  N
(2.30)
ti  0 i  N
(2.31)
pij {0,1} i  N 0 , j {C : j  i}
(2.32)
2.3 Model Description
The objective function (2.1) aims to minimize the latest time at which either the truck or the
UAV returns to the depot. Due to the implementation of constraints (2.13) and (2.14), which
link the time to maintain the synchronization between the truck and the UAV, (2.1) is
mathematically equivalent to min{max{t 'c+1, tc+1}} .
Constraint (2.2) ensures that each user is served exactly once, whether by a UAV or a truck.
Constraint (2.3) require that the truck will only depart from the depot exactly once. Similarly,
constraint (2.4) make the same restraint for the arrival at the depot. Subtour is eliminated with
the help of constraint (2.5). And the bounds for the auxiliary variable are set by constraint
(2.29). If you think of the truck as a fluid on the graph, Constraint (2.6) is the continuity
equation. It ensures that if a truck visits a point, it must leave that point. For a UAV sortie, the
UAV can launch from any node, including any customer node and the depot. This is stated by
constraint (2.7). Similarly, constraint (2.8) make the same restraint for the rendezvous node in
any UAV sortie. Constraint (2.9) constrains the synchronization relationship between truck and
UAV on the path. It ensures that the truck will visit the point where the UAV was sent and the
point where it was picked up. Constraint (2.10) is a supplement to the special case that the
launch point of the UAV is the depot. Constraint (2.11) state that the truck must visit the launch
node of a UAV sortie before visiting the rendezvous node. Constraints (2.12) and (2.13) are
for the coordination of the launch time of the UAV and the truck. If the UAV is launched by
customer i , the biggest time of the two vehicles will be chosen as the common service time of
this customer. Similarly, constraints (2.14) and (2.15) are for the rendezvous time, forcing
both vehicles to arrive at the rendezvous node at the same time.
16
BUAA Academic Dissertation for Bachelor’s Degree
Constraint (2.16) computes the time it takes for the truck to move between two nodes. If the
truck travels from node h to node k , the arrival time gap between the two nodes must be
larger than the sum of truck travel time and UAV preparation time. UAV preparation time
consists of the setup time and recovery time. It is taken into consideration only if the truck subroute is UAV associated. For initialization, the arrival time of the depot is given in constraint
(2.24). Constraint (2.17) states that if the UAV is launched from node i , its arrival time at an
arbitrary eligible node j must be larger than the arrival time of node i by a margin of the
travel time between these nodes. The load time is node included because it is taken into
consideration when computing the arrival time of the truck. And constraints (2.12) and (2.13)
force the same arrival time for the UAV and the truck. The UAV arrival time of the depot is
zero, which is stated in constraint (2.25). Similarly, in constrain (2.18), the arrival time of any
node where the UAV is retrieved must incorporate the travel time and the recovery time.
The UAV’s flight endurance is addressed in constraint (2.19). The total flight time of any
UAV sortie must be lower or equal to the endurance. Constraints (2.20), (2.21) and (2.22)
determine the proper values of the precedence of the nodes in the truck route.
Constraint (2.23) handles conflicts that may occur between multiple UAV sorties. It ensures
that the launch time of the next UAV sortie needs to be after the recovery time of the previous
UAV sortie, preventing overlap between multiple UAV sorties. Constrain (2.26) indicates that
the UAV must depart from the depot before visiting any customers. Constraints (2.27), (2.28),
(2.29), (2.30), (2.31) and (2.32) specify the domains for the decision variables.
In the mathematical model, M is a sufficiently large number. It should be greater than other
numbers take place in the model, which is likely the latest time at which both the vehicles return
to the depot. Since this number is unknown before solving the problem, a nearest neighbor
heuristic is used to calculate an upper bound of the total delivery time. Specifically, the nearest
neighbor route is generated by iteratively adding the nearest neighbor of the current node to the
truck route, which is initialized as a set only containing the depot. After the truck route is
acquired, M can be the total travel time of this truck route. This simple heuristic can provide a
feasible M for mathematical model of FSTSP.
17
BUAA Academic Dissertation for Bachelor’s Degree
2.4 Extended Models
After Murray and Chu put forward the MILP model of FSTSP, a lot of subsequent work on
the basis of this model has proposed some extended models to improve the modeling of DTCO
more closely to reality. In this section, some representative extensions are introduced.
In the model proposed by N. Agatz et al., the notion of Operation was put forward to
preprocess all possible truck and drone routes.[5] An operation consists of two combined nodes,
at most one UAV node and non-negative truck nodes. An operation can be considered the
fundamental unit of the solution of DTCO. Therefore, the decision variable of the model is
transformed into the selection and ordering of operations, which significantly simplifies the
mathematical expression of the model. The model uses binary variables to indicate whether an
operation is chosen or not, and auxiliary variables to indicate whether a node is chosen as a start
node for an operation. The model has constraints to ensure that all nodes are covered, that the
chosen operations form a connected Eulerian graph, and that the tour starts and ends at the depot.
D. Schermer et al. suggested the relaxation of the assumption that the launch and retrieval of
UAVs are restricted to the locations of customers and the depot.[7] They promoted the idea of
launching and retrieving UAVs at arbitrary locations. The proposed new problem is called the
Vehicle Routing Problem with Drones and En Route Operations (VRPDERO) and is formulated
as a mixed integer linear programming problem.
In contrast to minimizing the time at which truck and drone finish the service, Q.M. Ha et al.
consider a new variant of FSTSP in which the objective is to minimize operation costs including
total transportation cost ad one created by wasting time a vehicle has to wait for the other.[15]
For transportation costs, the truck and the drone have their transportation costs per unit of
distance. For waiting costs, they estimated the cost of a standby truck and a standby drone,
respectively.
H. Y. Jeong et al. took more reality into account in their modeling.[16] They claimed that the
flight range of the UAV is affected by the weight of the payload because of its battery-powered
nature. Besides, the UAV may not be used in no-fly zones such as airports, heliports, and places
near the military facility. According to the physical properties of the UAV and experimental test
18
BUAA Academic Dissertation for Bachelor’s Degree
results, they used a linear model to depict the relationship between UAV load and battery power
and then got the relationship between load and endurance. For no-fly zones, they assumed that
they were all circular and deduced the distance needed to get around them.
A. M. Ham considered the situation of multiple trucks and multiple UAVs coordinating in
asynchronous mode.[19] The problem is subject to several constraints such as drone capacity,
flight endurance, time windows, drop and pickup synchronization, and multi-visit. The authors
propose two constraint programming (CP) models to solve the problem exactly. The first model
(CP1) uses state-dependent transition distances to capture the different types of drone tasks
(drop and pickup). The second model (CP2) uses virtual pickup and drop tasks to represent the
drone capacity and synchronization.
In another work, Murray et al. extended the basic FSTSP model to include a multi-drone
model.[20] They think drones are heterogeneous. These drones may have different flight speeds,
maximum loads, and ranges. In addition, because of the truck's size, it can't retrieve multiple
drones at the same time. Therefore, they explicitly queue the UAV in both the launch and
retrieval phases, resulting in an additional scheduling problem.
19
BUAA Academic Dissertation for Bachelor’s Degree
3 Methods
The FSTSP MILP model can be directly solved by standard optimization solvers like CPLEX
and Gurobi. Although the optimal solution is guaranteed, they take tremendous runtime which
is unaffordable in practical application. Therefore, lots of heuristic methods are proposed to
make a trade-off between runtime and result quality. In this chapter, three heuristic methods
used in this benchmark are introduced. Besides, we also proposed a naïve fast greedy method
to act as a baseline in evaluation.
3.1 Dynamic Customer Relocation Algorithm
The dynamic customer relocation algorithm proposed by Murray is based on a combination
of TSP and relocation techniques.[4] The pseudocode for the main function is shown in
Algorithm 3.1. In lines 1-2, it starts by solving the TSP for all customers using a truck and then
makes a copy of the UAV-eligible customers. The TSP solution is then split into subroutes for
each vehicle, with the initial subroute consisting of the entire TSP route (line 3). This initial
solution provides a baseline for the algorithm to work with.
The algorithm then enters a main loop, which continues until no further improvement can be
made. In each iteration of the loop, for each UAV-eligible customer, the algorithm calculates
the potential savings that can be achieved by relocating the customer to a different subroute. To
calculate the potential savings, the algorithm uses the calcSavings() subroutine, which takes as
input the customer's index and returns the potential savings that can be achieved by removing
the customer in the current truck route. The algorithm then tries to relocate the customer to each
subroute and selects the relocation that leads to the maximum savings. The relocation decisions
are made using the relocateAsTruck() and relocateAsUAV() subroutines, which take as input
the customer's index, the subroute to which the customer should be relocated, and the potential
savings.
The relocateAsTruck() subroutine tries to relocate the customer to the truck subroute, while
the relocateAsUAV() subroutine tries to relocate the customer to the UAV subroute. Both
subroutines return a tuple that contains the relocation decision, the maximum savings achieved,
20
BUAA Academic Dissertation for Bachelor’s Degree
and the indices of the subroutes that were modified. If the maximum savings is positive, the
algorithm updates the solution by moving the customer to the selected subroute using the
performUpdate() subroutine. The performUpdate() subroutine takes as input the relocation
decision, the indices of the modified subroutes, and the current solution. The subroutine updates
the truck route and the UAV subroutes to reflect the relocation decision and returns the updated
solution. The main loop continues until no further improvement can be made.
Algorithm 3.2 presents the pseudocode for the calcSavings. The calcSavings function takes
a customer j as input, which is currently assigned to the truck. It first finds the node immediately
preceding j in the truck route, denoted as i, and the immediate successor node to j, denoted as
k. Then, it calculates the potential savings of removing j from the truck route by computing the
difference between the distance from i to j, the distance from j to k, and the distance from i to
k.
If j is in a UAV-associated truck route, the savings may be limited by the existing UAV
assignment, because the truck may need to wait for the UAV to return before proceeding with
the next customer. The function finds the launch node a and the rendezvous node b of the UAV
sortie associated with this subroute. It also finds the customer j' visited by the UAV associated
with this subroute. The function then calculates the truck's arrival time to node b if j is removed,
denoted as t'[b]. Finally, the savings are updated by subtracting the time it takes for the truck to
travel from node a to j', then from j' to b, and adding the return time of the UAV. The resulting
savings are then calculated as the minimum between the previously computed savings and the
updated savings.
The calculation of savings for removing a customer j from the truck route may result in a
negative value, which can happen if the truck has to wait for the UAV to arrive after removing
customer j. On the other hand, a positive savings value indicates that the UAV is waiting for the
truck, and removing customer j from the truck's route can reduce the wait time. The heuristic
algorithm focuses on identifying customers with positive savings values, as it helps to reduce
delivery times to subsequent customers. The algorithm only implements the assignment change
when the net savings are positive. Since the cost of moving j cannot be negative, it is
unnecessary to explicitly bound savings below zero.
21
BUAA Academic Dissertation for Bachelor’s Degree
Algorithm 3.1 The main function of Dynamic Customer Relocation Algorithm
Algorithm 3.2 The calSavings subroutine
Focusing on the relocateAsTruck function, an attempt is made to insert customer j into a
subroute as a truck node. The pseudocode for this function is shown in Algorithm 3.3. It takes
as input the node j, a subroute where j might be inserted, and the savings obtained by removing
j from the current truck route. To start, the function finds the first and last nodes a and b in the
truck subroute. Then, for each adjacent pair of nodes i and k in the subroute, the function tries
to insert j between them. It calculates the cost of doing so, which is the travel time from i to j
22
BUAA Academic Dissertation for Bachelor’s Degree
Algorithm 3.3 The relocateAsTruck subroutine
plus the travel time from j to k minus the travel time from i to k. If the cost of insertion is less
than the savings obtained by removing j from the current truck route, the function checks if the
UAV assignment is still feasible. If it is, and the savings from inserting j are greater than the
maximum savings found so far, the function updates the maximum savings and marks the
insertion as a truck node. The variable isUAVnode is set to False to indicate that the node j is
being inserted as a truck node, and the variables j*, i*, and k* are updated to reflect the new
truck subroute with j inserted between i and k. The maximum savings maxSavings is updated
to reflect the new highest savings found so far. By considering all possible locations for j in the
subroute and selecting the location that results in the greatest savings, the relocateAsTruck
function aims to optimize the truck route while still ensuring that the origin UAV assignment
remains feasible.
Similarly, the relocateAsUAV function shown in Algorithm 3.4 is used to compute the
potential cost of adding a customer node j to a subroute as a UAV node. It takes as input the
node j, the subroute to which j can be added, and the savings that can be achieved by removing
another node from the subroute. The function tries to insert the node j between every pair of
adjacent nodes in the subroute and calculates the cost of doing so. For each pair of adjacent
nodes (i,k) in the subroute, the function first checks if the UAV can travel from i to j to k without
violating the UAV's endurance constraint. If the constraint is satisfied, it calculates the cost of
23
BUAA Academic Dissertation for Bachelor’s Degree
inserting j between i and k as the maximum of zero and the difference between the maximum
of the time when the truck arrives at k after removing j and the time when the truck arrives at i
plus the launch and rendezvous times of the UAV, and the sum of the travel times from i to j, j
to k, and the launch and rendezvous times of the UAV, minus the time when the truck arrives at
i. If the cost of inserting j between i and k is less than the savings that can be achieved by
removing another node from the subroute, and the UAV assignment is still feasible, the function
checks if the net savings is greater than the maximum savings found so far. If so, it updates the
maximum savings, sets j as a UAV node, and stores the indices of i and k.
Algorithm 3.4 The relocateAsUAV subroutine
At the end of each iteration, the modification associated with the maximum savings must be
implemented. The performUpdate function updates the solution after identifying the optimal
relocation move of a customer j to a new location in the existing route. As shown in algorithm
x, the function takes in the parameters isUAVnode, i*, j*, k*, truckRoute, and truckSubroutes.
If isUAVnode is true, then it means that the optimal relocation move involves adding customer
j as a UAV node. In this case, the function inserts a new UAV sortie starting from node i*,
visiting node j*, and ending at node k*. It also removes j* from the current truckRoute and
truckSubroute and appends a new truck subroute that starts at node i* and ends at node k*.
Finally, it removes nodes i*, j*, and k* from the set of customers Cprime. If isUAVnode is false,
then it means that the optimal relocation move involves adding customer j as a truck node. In
this case, the function removes j* from the current truckSubroute and inserts it between nodes
i* and k* in the new truck subroute. It also updates the truckRoute to reflect the new sequence
24
BUAA Academic Dissertation for Bachelor’s Degree
of nodes visited.
Algorithm 3.5 The performUpdate subroutine
3.2
Proposed Fast Greedy Methods
In this section, a fast greedy method is proposed for solving the FSTSP problem. This
algorithm combines a TSP solution with UAV assignments to reduce the total travel time, which
is a natural way to solve the FSTSP problem. The algorithm uses a greedy approach to select
the node to remove from the truck's route and the UAV sortie to add, which is computationally
efficient and easy to implement. The pseudocode for this proposed fast greedy heuristic is
shown in Algorithm 3.6.
Algorithm 3.6 The Proposed Fast Greedy Heuristic
25
BUAA Academic Dissertation for Bachelor’s Degree
This algorithm starts by solving the TSP for all the nodes, which gives an initial order for the
truck to visit
all the nodes. Noting that the TSP is itself an NP-hard problem, which means acquiring the
optimal solution may cost unaffordable runtime, some well-developed heuristics are considered
to resort to. Specifically, the well-known 2-opt algorithm is used to solve the TSP, which is a
simple and effective heuristic that can produce good solutions in practice.
After solving the TSP, this algorithm enters a loop, where in each iteration, it removes one
node from the truck's route and calculates the saving in time achieved by removing this node.
The saving in time is the reduction in the truck's travel time achieved by removing the node and
possibly adding a UAV sortie.
After calculating the savings for all the nodes in the truck's route, the node that achieves the
largest saving will be removed. Then, for each pair of nodes in the updated truck route, our
algorithm calculates the waiting time for a UAV sortie assuming that the UAV sortie starts at
the first node, then visits the removed node, and finally ends at the second node. The waiting
time is the time that one vehicle needs to wait for the other due to synchronization.
Next, the UAV sortie with the least waiting time is selected and the pure saving in time
achieved by adding this sortie is calculated. Pure saving is the reduction in travel time achieved
by adding the UAV sortie, taking into account the waiting time. If the pure saving is positive,
our algorithm adds the UAV sortie to the solution. Otherwise, our algorithm stops, and the
current solution is returned. This algorithm repeats this loop until it cannot find any more UAV
sorties that achieve a positive pure saving in time. The resulting solution is a heuristic solution
that may not be optimal, but it is obtained quickly and can provide a good approximation of the
optimal solution in practice. Figure 3.1 shows the procedure of the proposed method on a toy
example.
This algorithm provides a simple and effective heuristic for solving the FSTSP problem. It is
based on the natural idea of combining a TSP solution with UAV assignments to reduce the
total travel time. The use of a greedy approach to select the node to remove from the truck's
route and the UAV sortie to add makes the algorithm computationally efficient and easy to
implement.
26
BUAA Academic Dissertation for Bachelor’s Degree
The main limitation of our algorithm is that it may not always find the optimal solution since
it uses a greedy approach that may lead to local optima. To overcome this limitation, other
metaheuristic techniques such as simulated annealing or genetic algorithms can be exploited to
explore a larger solution space. However, this may lead to a significant increment in runtime,
which goes against the grain of the design of this algorithm.
Figure 3.1 Procedure of Proposed Fast Greedy Methods
3.3
GRASP
In this section, a Greedy Randomized Adaptive Search Procedure (GRASP) proposed by Ha
et al. is introduced.[15] The main structure of the GRASP algorithm for the FSTSP problem is
shown on algorithm x. It starts by initializing the best objective value to infinity and setting the
iteration counter to zero. The algorithm then enters a loop that will repeat until the maximum
number of iterations is reached. In each iteration, the algorithm generates a candidate solution
by solving the TSP problem for the given set of customers using the tspSolver function. The
tspSolver function can be any TSP solver algorithm, such as the local search-based algorithms,
simulated annealing based algorithms or the 2-opt heuristic. After generating the candidate
solution, the split_algorithm_step1 function is called to construct an auxiliary graph that will
be used in the next step. The split_algorithm_step1 function takes the candidate solution as
27
BUAA Academic Dissertation for Bachelor’s Degree
input and returns three lists: P, V, and T. The P list store the shortest path from the auxiliary
graph, the V list contains the cost of that shortest path and the T is a list of the possible drone.
The split_algorithm_step2 function is then called to extract the final solution from the auxiliary
graph. This function takes the P, V, and T lists as input and returns a new tour that satisfies the
flying constraints. The new tour is then evaluated using the getObjectiveValue function, which
calculates the total delivery time of the tour. If the new tour has a better objective value than
the current best solution, the best solution and best objective value are updated. The algorithm
repeats this process until the maximum number of iterations is reached or a stopping criterion
is met. The final solution is the best solution found during the iterations. Algorithm 3.7 shows
the general process of GRASP in a top example.
Algorithm 3.7 The general process of Greedy Randomized Adaptive Search Procedure
As shown in Algorithm 3.8, the split_algorithm_step1() function takes as input a TSP tour s
and constructs an auxiliary graph to assist in solving the FSTSP problem. The function returns
three outputs: P stores the shortest path from the auxiliary graph, V is the cost of that shortest
path, and T is a list of the possible UAV deliveries and their costs.
The function starts by initializing an empty set arcs and an empty list T. The arcs set will
store the edges of the auxiliary graph, while the T list will store the possible UAV deliveries
and their costs. Next, the function constructs the auxiliary graph. For each customer i in the
TSP tour, the function adds an edge (i,k,cost(i,k,s)) to the arcs set, where k is the next customer
in the tour and cost(i,k,s) is the cost of traveling from customer i to customer k in the TSP tour
s.
28
BUAA Academic Dissertation for Bachelor’s Degree
Then, for each pair of customers (i,k) in the TSP tour such that the distance between them is
at least two, the function finds the shortest delivery time using a UAV for all possible
intermediate customers j between i and k (i.e., customers with indices between i and k in the
TSP tour s). If the delivery time is less than the current minimum delivery time minValue, the
function updates minValue to the new delivery time and minIndex to the index of the
intermediate customer that produced this delivery time. The function then adds an edge
(i,k,minValue) to the arcs set and adds the delivery information (i,s[minIndex],k,minValue) to
the T list. After constructing the auxiliary graph, the function finds the shortest path P and its
cost V in the auxiliary graph using Dijkstra's algorithm.[26] The function initializes V[0]=0 and
P[0]=0 (i.e., the starting customer), and then iteratively updates the cost of each customer k by
considering all edges (i,k,cost) in the arcs set and updating V[k] and P[k] if the current cost of
k is greater than the cost of traveling from i to k plus the cost of i. Finally, the function returns
the P, V, and T lists.
After the construction of the auxiliary graph and finding the shortest path, the FSTSP solution
can be extracted. This is completed by the split_algorithm_step2 subroutine. Algorithm 3.9
shows the pseudocode of this function. The Split_Algorithm_Step2 function is the second step
in the Split Algorithm that takes the output from Step1 and constructs an FSTSP solution. This
function has four input parameters: P, V, T, and s, and it returns the FSTSP solution. The input
parameters P and V are the outputs from the Step1 function, which contains the shortest path
from the auxiliary graph and its cost, respectively. The parameter T is a list of tuples that
contains the possible UAV deliveries and their costs, while s is a list of nodes that represent the
TSP tour.
The first task of the Split_Algorithm_Step2 function is to construct the sequence of nodes
that represent the path stored in P. This is done by starting from the node n+1, which represents
the end node, and tracing back to the start node using the parent pointers stored in P. The
resulting sequence of nodes is stored in a list called Sa , which is reversed to get the correct
order.
Next, the function creates the FSTSP solution from Sa . The solution consists of two parts:
UAV deliveries and truck routes. The UAV deliveries are determined by iterating over the nodes
29
BUAA Academic Dissertation for Bachelor’s Degree
Algorithm 3.8 The Split_algorithm_step1 subroutine in GRASP
in 𝑆𝑎 and checking if there is at least one node between the current node and the next node
in 𝑆𝑎 . If there is such a node, the associated UAV node and the start and end nodes of the
segment are added to a list called Sd . The truck route is constructed by iterating over the nodes
in s and adding them to a list called St . If a node is a launch node of a tuple in 𝑆𝑑 , all nodes
from the current node to the return node of the tuple in s except the UAV node are added to 𝑆𝑡 .
Otherwise, the current node is added to 𝑆𝑡 , and the next node in s is set as the current node.
30
BUAA Academic Dissertation for Bachelor’s Degree
Finally, the FSTSP solution is constructed by combining 𝑆𝑡 and 𝑆𝑑 and returning the
resulting tuple.
Algorithm 3.9 The Split_algorithm_step2 subroutine in GRASP
The Split_Algorithm_Step2 function is designed to take the outputs from the Step1 function
and construct a feasible solution for the FSTSP problem. The function constructs the solution
by first tracing back the shortest path from the auxiliary graph and then using that path to
determine the UAV deliveries and the truck route. By doing so, the Split Algorithm can split the
TSP tour into segments that are either visited by the UAV or the truck, thus reducing the overall
cost of the tour.
31
BUAA Academic Dissertation for Bachelor’s Degree
3.4 Greedy Partition Heuristic
The greedy partitioning heuristic proposed by Agatz et al. follows a route-first, cluster-second
procedure.[5] It first constructs a TSP tour that contains all customer nodes and then split the
initial tour into the UAV route and the truck route. The initial TSP solution can be acquired by
many well-developed TSP solvers, which is beyond the scope of this algorithm. Greedy
partitioning heuristic mainly focuses on splitting the TSP solution into feasible FSTSP solution.
The general procedure of this algorithm is shown in Algorithm 3.10. Starting from the initial
TSP solution, each step of this heuristic tries to make modifications to the current solution by
acting three different actions, which will be described below. Among all feasible actions, the
one with the highest time savings will be chosen. The greedy algorithm assigns labels to the
nodes to indicate their role in the FSTSP tour. Initially, all nodes are assigned to be simple.
When the modification is conducted, the labels of the node may become truck, UAV, or
combined depending on the role of this node in the newly built operation. With all nodes
assigned to suitable labels, the FSTSP solution can be easily obtained by removing all nodes
with the label UAV from the truck route ad removing all the truck-labeled nodes from the UAV
route.
Algorithm 3.10 The general procedure of Greedy Partitioning Heuristic
At each step of the greedy partitioning heuristic, one of the three following actions is
performed on a node with the simple label, depending on the savings of conducting the action.
The first action is MakeFly, which is shown in Figure 3.2(a). This action applies to any node
with the simple label, except for the depot. It changes the label of the node which is currently
operating on to UAV node. The nodes next to this UAV node get the label of the combined node.
This means that the two basic operations proceed and succeed the current node were merged.
32
BUAA Academic Dissertation for Bachelor’s Degree
In the basic version of the problem, this action is possible for every simple ode. If some nodes
are not reachable by the UAV or if there is a limit on the maximum flight distance, negative
infinity savings will be assigned to the related operation.
Figure 3.2 Three actions used in Greedy Partitioning Heuristic
The savings of the MakeFly action on node 𝑟𝑖 can be computed as:
MakeFLySavings(ri ) =  ri−1 ,ri +  ri ,ri+1 − max{ 'ri−1 ,ri +  'ri ,ri+1 , ri−1 ,ri+1 }
(3.1)
The second action is PushLeft. As shown in Figure 3.2(b), this action can be performed only
if the preceded node is a combined node. This action will assign the combined label to the
current node which naturally assigns the truck label to the preceded node. In fact, PushLeft will
increase the length of the truck route and modify the rendezvous node of the UAV sortie. This
action may help when trucks need to wait for the UAV in the origin solution. Because it exploits
the wait time to serve one more truck customer, which increases the efficiency.
The third action is PushRight. This is the same action as PushLeft but performed with the
successor of the current node. In contrast to the PushLeft action, PushRight will benefit when
the UAV needs to wait for the truck in the origin solution.
Both PushLeft and PushRight need to have a UAV node in the operating solution, so at the
start of the heuristic, they are not executable. In fact, the savings of PushLeft and PushRight
will be set to negative infinity initially. As the heuristic algorithm iterates, some nodes will be
assigned to the UAV node. The savings by PushLeft and PushRight will be updated accordingly.
Specifically, the savings of these two actions can be computed as:
33
BUAA Academic Dissertation for Bachelor’s Degree
PushLeftSavings = max(t[ri−1 ] +  rr−1 ,ri , t[rr −2 ] +  rr−2 ,ri ) +  ri ,ri+1 −
max(t[ri−1 ] +  rr−1 ,ri +  ri ,ri+1 , t[rr −2 ] +  rr −2 ,ri+1 )
PushRightSavings = max(t[ri−1 ] +  ri−1 ,ri , t[ ri−2 ] +  ri−2 ,ri ) −
max(t[ri−1 ], t[ri−2 ] +  ri−2 ,ri−1 ) −  ri−1 ,ri
(3.2)
(3.3)
Moreover, if there is a restriction on the feasibility of operations, the savings of the action will
be set to negative infinity. Since in each iteration, the label of the operating node is set from
simple to truck, UAV, or combined, the heuristic stops after at most n iterations. In each iteration,
only local modifications are performed. With the application of appropriate data structure, the
time complexity of this heuristic is 𝑂(𝑛𝑙𝑜𝑔𝑁).
The greedy partitioning heuristic is heavily based on the initial TSP solution. However, a good
initial tour may not necessarily lead to a good tour for the FSTSP setting. Since the runtime of
this heuristic is fast, it is reasonable to start from multiple initial tours to expand the potential
solution space. Several local search heuristics are exploited to modify the initial TSP solution.
Various simple neighborhoods are considered. The first one is a two-point move, where the
position of two nodes is swapped. The second is a 2-opt move, in which two edges are removed
and two new edges are generated to replace them while reversing the in-between node sequence.
The third operation is to relocate a node to a new position. Figure 3.3 shows these proposed
neighborhoods.
Figure 3.3 TSP solution neighborhoods
With these three moves, plenty of neighborhoods can be obtained by combining all of the
different moves. An iterative improvement procedure is proposed to try all possible moves and
take the best one during each iteration. The pseudocode of this procedure is given in Algorithm
3.11.
34
BUAA Academic Dissertation for Bachelor’s Degree
Algorithm 3.11 Iterative Improvement Procedure of Greedy Partitioning Heuristic
35
BUAA Academic Dissertation for Bachelor’s Degree
4 Numerical Result
In this chapter, the results of an experimental benchmark on various randomly generated
FSTSP instances are presented. The main objective of this benchmark is: (a) to compare the
performance of different algorithms and (b) to study the influence of different parameters and
characteristics of the instance on the cooperation efficiency of UAVs and trucks. In the base
comparison, the flight range of the UAV and the constraint of UAV-ineligible nodes are ignored.
The UAV range is assumed to be infinity and all customers are regarded as UAV-eligible nodes.
The restriction on the drone range and UAV-ineligible nodes are added in section 4.2.4 where
the constraints and the characteristic of the instance are analyzed.
All the experiments in this chapter were executed within a laptop with 16GB RAM and an
Intel Core i7-12700 CPU. The TSP solutions were obtained by calling the python-tsp1 package.
This package provides tsp solvers for exact optimal solutions and good enough sub-optimal
candidates. Considering the tradeoff between performance and runtime, the tsp solver based on
the local search heuristic is chosen in this study. Gurobi 9.1.2 was used to solve the MILP
formulation. The code used in this study was implemented in Python 3.7, and the source code
is available online.2
4.1 Datasets
The dataset used in this study is taken from a public dataset3, which is released by Agatz et
al.[5] In this dataset, the locations of depots and customers are generated on a plane, and the
travel time of the vehicles is assumed to be proportional to the Euclidean distance between any
pair of the locations.
The instances in this dataset are generated by two different mechanisms. In the first type of
instance, which is called the uniform instances, the x and y coordinates for each location are
both sampled independently from a uniform distribution on (1,100). For the second type of
1
2
3
https://github.com/fillipe-gsm/python-tsp
https://github.com/LouisLINWEI/DTCO
https://github.com/pcbouman-eur/TSP-D-Instances
36
BUAA Academic Dissertation for Bachelor’s Degree
instance, which is called the 1-center instances, an angle α is drawn from [0,2π] uniformly
and a distance 𝑟 is drawn from a normal distribution with μ = 0 and σ = 50. Then the x and
y coordinates of the location are computed as 𝑥 = 𝑟𝑐𝑜𝑠α and 𝑦 = 𝑟𝑠𝑖𝑛α, respectively. The
instances generated in this mechanism would have a higher probability to mimic a circular city
center since the nodes are more likely to be near the origin. Different node distributions may
affect truck and drone cooperation patterns, which are analyzed in detail in section 4.3.1.
4.2
Comparison of the Algorithms
4.2.1 Base Comparison
To evaluate the performance of different algorithms, we first conduct the base comparison.
The instances used in this base comparison are 10 randomly generated cases with α = 2 ( the
ratio of UAV speed and truck speed) and single-center construction mechanisms. Limited by
the tremendous runtime of the exact method, the scale of these instances is set to 𝑛 = 10 (10
customers). The runtime for the Gurobi solver is between 398 to 3601 seconds, varied by cases.
However, all heuristic methods can generate the result within 0.1 seconds. This preliminarily
demonstrates the impracticality of exact methods and the necessity of heuristic algorithms.
Table 4.1 Performance of different algorithms on 10 instances with 10 nodes.
Delivery Time
instance
Gurobi Solver
Dynamic Customer
Relocation Algorithm
GRASP
Proposed
Greedy Partitioning
Method
Method
singlecenter-51-n10
235.25
259.90
277.40
292.82
261.61
singlecenter-52-n10
283.62
315.30
296.95
319.76
301.80
singlecenter-53-n10
292.98
306.70
320.43
325.17
356.80
singlecenter-54-n10
312.78
350.78
418.01
532.21
429.94
singlecenter-55-n10
304.28
333.63
338.68
417.81
353.66
singlecenter-56-n10
239.68
328.55
320.50
433.82
281.02
singlecenter-57-n10
206.21
217.05
249.00
276.54
290.22
singlecenter-58-n10
207.87
216.39
218.77
283.48
241.50
singlecenter-59-n10
286.71
330.38
306.20
393.16
386.79
singlecenter-60-n10
247.15
314.90
318.39
416.42
339.38
Table 4.1 shows the result of the delivery time of different algorithms on the 10 instances.
The Gurobi solver can always generate the optimal solution with the lowest delivery time. As
for the heuristics, an obvious gap in the result quality can be seen between them and the optimal
37
BUAA Academic Dissertation for Bachelor’s Degree
solution. No heuristic can obtain the optimal solution in these 10 instances. Generally speaking,
Table 4.2 Characteristic of FSTSP solutions, n=10 and α=2, Averaged Over 10 Instances
Algorithms
Delivery Time
Gurobi Solver
No. of nodes
Distance
Waiting
Truck
UAV
Truck
UAV
Truck
UAV
261.65
4.2
2.9
250.97
482.25
10.68
20.53
Dynamic Customer Relocation Algorithm
297.34
3.26
3.32
294.41
466.23
2.93
58.17
GRASP
305.54
2.38
3.62
297.95
414.88
4.91
74.7
Proposed Method
352.6
1.6
1.62
328.96
261.94
13.6
7.91
Greedy Partitioning Method
327.6
1.04
3.44
310.6
372.34
13.94
66.26
Dynamic Customer Relocation Algorithm performs the best. It is stable and leads the heuristic
most of the time. On the other hand, the proposed method seems to perform poorly in these
small instances. This is reasonable since this method is designed for large-scale instances.
GRASP and Greedy Partitioning Method are in the mediate, they may achieve the best result
among heuristics in certain instances, but on the whole slightly inferior to Murray Heuristic.
To further reveal the factor behind the different performances, we have studied the character
of the result generated by different algorithms. The result is shown in Table 4.2. To be specific,
we analyzed the number of truck nodes, the number of UAV nodes, the travel distance of the
truck and the UAV, and the waiting time of the truck and the UAV. The challenge of the DCTO
problem is the utilization of the UAV. Simply increasing the number of UAV nodes would not
always benefit to the solution. On the other hand, arranging too few UAV sorties can also reduce
transmission efficiency. Dynamic Customer Relocation Algorithm, GRASP, and Greedy
Partitioning Method tend to use more UAVs to serve customers. But this will result in more
waiting time for UAVs, which reduce the efficiency. The proposed method has the lowest
waiting time. However, excessively pursuing a small waiting time would cause deprecating
UAVs, which is verified by the small number of UAV nodes in the solution generated by the
proposed method. This may account for the poor performance of the proposed method.
Focusing on the travel distance between the Truck and the UAV. For the result of the Gurobi
Solver, the ratio of the travel distance of truck and UAV approximately equals 2. This is intuitive
since the speed of the UAV is twice the speed of the truck. For other algorithms, the travel
distance of the UAV is correlated with the quality of the results. The better algorithms (with
lower delivery time) will assign UAV to travel more distance, and consequently, the distance
38
BUAA Academic Dissertation for Bachelor’s Degree
ratio will be closer to α.
4.2.2 Comparison of the Algorithms for Different UAV Speeds.
In the base comparison, the α is set to 2, which means the UAV is twice as fast as the truck.
However, this may not always be true in reality. Different models of UAVs may fly at different
speeds. Therefore, it is necessary to experiment with different UAV speeds. We set up three
different UAV speeds, the same speed as the truck, twice the speed of the truck, and three times
the speed of the truck, and we wanted to study how the algorithms performed in those situations.
Figure 4.1 shows the results. In Figure 4.1(a), we show how the heuristic differs from the
optimal solution for different alpha cases. The results are measured by Optimal Gap, which can
be computed as:
Optimal Gap =
heuristic deliver time − optimal deliver time
optimal deliver time
(5.1)
In general, we can conclude that heuristic algorithms perform better when alpha is small.
When alpha is larger, the benefit of rational use of UAV will increase. And it is difficult for the
heuristic algorithm to maximize the use of UAVs, so the Optimal Gap will increase. Murray
Heuristic and GRASP performed relatively well, while the Proposed method fall behind
considerably. Greedy Partition Heuristic performs very badly at α = 1, but as α increases, its
Optimal Gap does not increase as significantly as other heuristic algorithms.
In Figure 4.1(b), we further show the average travel distance of trucks and drones of each
algorithm under different α. The dark bars show the travel distance of the truck, while the light
ones show the UAV. The results of the optimal solution reveal the relationship between α and
the distance ratio of vehicles. They are basically the same. That means that in the best-case
scenario, UAVs and trucks work roughly the same amount of time. For heuristic algorithms,
almost all of them rely more on trucks to perform delivery tasks, which also shows the gap
between their UAV utilization efficiency and the optimal solution.
4.2.3 Comparison of the Heuristics on Instances of Larger Scale.
In reality, the number of customers may be very large, which leads to the inapplicability of
the exact method and thus gives rise to the emergence of heuristic algorithms. For large-scale
39
BUAA Academic Dissertation for Bachelor’s Degree
instances, a key point is the trade-off between run time and result quality. An ideal heuristic
algorithm needs to generate a high-quality solution in an acceptable runtime. We compare the
Figure 4.1 Comparison of the Heuristic for Different UAV Speed
performance of each algorithm on different instance sizes. The instance used here ranges from
at least 10 nodes to at most 175 nodes, which can well show the performance of the algorithm
in dealing with instances of different sizes. For the quality of the solution, we measure the
delivery time improvement over the truck-only strategy generated by the TSP. Generally, as the
number of nodes increases, Savings over TSP decreases. One possible explanation is that the
space for solutions grows exponentially with the number of nodes, but the search space for
heuristic algorithms grows polynomially, which leads to the quality deterioration of the
generated solutions. Dynamic Customer Relocation Algorithm achieves the best results on a
small scale, but it is gradually surpassed by GRASP as the number of nodes increases. On
medium-to-large-scale examples, the Dynamic Customer Relocation Algorithm and Greedy
Partition Heuristic behave similarly. The Proposed Fast Greedy Method performs poorly on
large-scale samples.
In terms of runtime, it can be seen that the runtime of the heuristic algorithm grows
40
BUAA Academic Dissertation for Bachelor’s Degree
polynomially with the instance size. The Dynamic Customer Relocation Algorithm takes the
most time, taking an average of about a minute to generate a solution on the 175-node instance.
GRASP runs in about half the time of Dynamic Customer Relocation Algorithm. Predictably,
on a larger scale, there will be limits to the use of Dynamic Customer Relocation Algorithm
and GRASP. Both the Greedy Partition Heuristic and the Proposed Fast Greedy Method are
very fast, taking less than 8 seconds to get the result even when the number of nodes is 175.
They are therefore more suitable for large-scale usage scenarios.
Figure 4.2 Comparison of the Heuristics for Larger Problems
4.2.4 Comparison of the Heuristics on Instances with Restriction.
This section focuses on studying how various heuristics perform on a group of instances that
contain multiple limitations on UAV flights. The experiments conducted consist of two sets: the
first set involves applying different limitations on the UAV's range as a percentage of the
farthest distance between the nodes in each instance. The second set involves varying the
number of customer locations that the drone is unable to serve, ranging from 10% to 100% of
non-UAV nodes. The study utilizes the same 10 instances as before and randomly selects 10
distinct subsets for each number of non-UAV nodes in every instance.
Figure 4.3 shows the result of the experiments. In Figure 4.3 (a), it is obvious that the delivery
time increases with the more UAV-ineligible nodes. When the constraints are loose, the
differences between algorithms are large. Dynamic Customer Relocation Algorithm perform
41
BUAA Academic Dissertation for Bachelor’s Degree
the best all the way, followed by GRASP. The proposed method performs similarly to the
Greedy Partition Heuristic. But they are all far better than simple truck deliveries generated by
TSP solver. As the constraints become tighter, the differences between algorithms become
smaller. And their result is getting closer to TSP.
Figure 4.3 (b) shows the result with UAV flight restriction. As shown in the figure, when the
UAV flight range is too short, all algorithms degenerate into TSP truck delivery. As the
restriction becomes looser, the difference between methods is more apparent.
Figure 4.3 Comparison of the Heuristic for Problems with Restrictions
4.3 Impact of Instance Characteristics on System Performance
This section focuses on analyzing how various parameters affect the performance of a
delivery system that combines trucks and drones. The results of this study can provide valuable
insights to companies experimenting with this innovative mode of transportation. To evaluate
the performance, we compare the completion time of the truck-and-drone system with that of
the truck-only TSP. In all experiments, the Dynamic Customer Relocation Algorithm is used,
since it performs the best in previous experiments.
4.3.1 Location Distribution
We generate the dataset with two different mechanisms. In singlecenter, the customer
locations tend to surround the depot, while in uniform dataset the customers scatter randomly
42
BUAA Academic Dissertation for Bachelor’s Degree
in space. Figure 4.4 shows the result of these two distributions. It is obvious that the saving over
TSP is larger at the single center dataset. This means it is more beneficial to introduce the UAV
when customers are clustered around the depot.
Figure 4.4 Comparison of different customer distribution
4.3.2 UAV Speed
The speed of the UAV may be a major factor affecting the performance of the system. Drones
are thought to travel much faster than trucks. We set up three different scenarios where the drone
was going at the same speed as the truck, and the drone was double and triple the speed of the
truck. In order to further study the mechanism of the difference caused by UAV speed change,
in addition to savings over TSP, we also recorded the ratio of truck node, UAV node, and joint
node as well as the utilization rate of UAV and truck. Utilization is the time the vehicle travels
divided by the total transportation time.
Table 4.3 shows the results of the experiment. The Savings over TSP increases as the speed
of the UAV increases. This is because the UAV only needs to complete the delivery task in less
time for the same distance, thus improving efficiency. The number of drone nodes would thus
increase, as faster drones could visit more customer nodes while the truck is delivering goods.
From the perspective of the utilization rate of UAVs, the speed of UAVs has not caused a
significant impact on it. At a time when the drone's speed is low, it may be assigned to some
43
BUAA Academic Dissertation for Bachelor’s Degree
long-distance deliveries that visit a smaller number of customers despite the long flight time.
But when drones are faster, the number of sorties increases and they are used more frequently
for short customer deliveries.
Table 4.3 Comparison of different UAV speed
Number of nodes (%)
Utilization (%)
Savings (%)
alpha=1
alpha=2
alpha=3
Truck
UAV
Combined
Truck
UAV
n=10
19.44
24
6.6
69.4
100
33.8
n=50
19.6
53.28
7.44
39.28
97.16
69.02
n=100
18.27
63.48
6.38
30.14
96.74
73.01
n=10
30.99
16
16.2
67.8
93.3
37.14
n=50
29.42
42.84
15.2
41.96
87.8
60.09
n=100
22.1
50.08
14.2
35.72
82.5
62.17
n=10
36.57
4
23
73
93.65
31.32
n=50
37.18
29
19.44
51.56
75.5
45.35
n=100
29.27
40.88
18.7
40.42
73.49
52.34
4.3.3 UAV Flight Range
In this section, we investigate the effect of UAV range on DTCO system performance. We
tested it on many different scale instances, and put different limits on the range of the UAV.
Figure 4.5 shows the savings over TSP by heuristic algorithms and the ratio of the number of
UAV nodes under different experimental Settings.
As can be seen from Figure 4.5(a), DTCO's efficiency is generally improved by increasing
the UAV range. In small-scale instances, this is not evident. This may be because there are not
many nodes that need to be visited by UAVs in the small-scale sample. In medium to large scale
cases, the increase in UAV range had a significant effect. Due to the large number of nodes in
the large-scale sample, the distance distribution between nodes will be more extensive than that
in the small-scale sample. Therefore, the increase in UAV range will cover a larger part of the
distance distribution.
Figure 4.5(b) shows the change in the number of UAV nodes along with the range of UAVs.
As drones travel longer distances, they are being assigned to more delivery missions. But the
change is not monotonous. You can see that in some cases, the number of UAV nodes is
declining. One possible explanation is that when the drone has a smaller range, it will be
assigned to more short-range tasks, but when the drone has a larger range, it will be assigned to
44
BUAA Academic Dissertation for Bachelor’s Degree
longer-range tasks, so the number of drone nodes may be smaller.
Figure 4.5 Savings over TSP and number of UAV nodes for different UAV flight ranges, averaged
over 10 instances
45
BUAA Academic Dissertation for Bachelor’s Degree
Conclusions
In this project, we have presented a comprehensive study of the Flying Sidekick Traveling
Salesman Problem (FSTSP), a variant of the classical Traveling Salesman Problem where a
truck and a drone work together to deliver goods to customers. We introduced the mathematical
model of FSTSP, reviewed the existing literature on the problem and its extensions, and
proposed a baseline method to solve the problem. We also provided a comprehensive
experimental benchmark and analysis on different heuristic algorithms with various instances
and scenarios. Our work contributes to the research field of drone-assisted delivery systems and
provides a reference benchmark for solving FSTSP.
Our numerical experiments showed that exact methods can solve small to medium-sized
instances optimally, but they are not scalable to larger instances. Heuristic methods can provide
near-optimal solutions for large instances within reasonable computation time, but they may
sacrifice some solution quality. The UAV speed is the most influential factor affecting solution
quality, and the FSTSP problem can benefit from using a drone to assist truck delivery,
especially when customers are dispersed or clustered in different regions. The results are better
if the range ratio of drones to trucks is about equal to the speed ratio.
Our study also identified some open research questions and directions for future work. One
promising direction is to consider multiple trucks or drones working together to solve the FSTSP,
which can significantly increase delivery capacity and flexibility. Another direction is to
investigate the impact of heterogeneous vehicles, such as different types of trucks or drones, on
the performance of the FSTSP. Furthermore, dynamic environments, stochastic factors, and
customer preferences can also be incorporated into the FSTSP model to capture more realistic
aspects of the problem. In addition, the FSTSP can be extended to other delivery scenarios, such
as urban or rural areas, and other applications, such as surveillance or inspection.
Overall, the FSTSP is a promising research area that can benefit from further exploration and
innovation. This work provides a foundation for future research in this area and contributes to
the development of efficient and sustainable drone-assisted delivery systems.
46
BUAA Academic Dissertation for Bachelor’s Degree
Acknowledgments
“What's past is prologue”. With this poem, I offer heartfelt gratitude to everyone who helped
me in this unforgettable life journey.
The hallowed halls of learning,
Echoes of lectures still resounding,
Like voices from a dream,
Nourishing my stream,
Of knowledge and thought.
Wise teachers led the quest,
Pointing out what is best,
Through forests of facts,
Illuminating tracks,
To understanding's light.
Classmates who shared the journey,
Our friendship I shall cherish, surely.
The joy and laughter found,
While striving on common ground,
Will long in memory play.
My deepest thanks to all,
Who supported my call,
And helped me stand tall,
As I leave these hallowed halls.
I would like to express my gratitude to my mentor,
Prof. Sun Xiaoqian, whose guidance I'll forever treasure.
Your wisdom and patience, a true inspiration,
My success owes to your dedication.
With utmost love and thank,
I am obliged to my mother, Ms Sun Xiaoyan,
47
BUAA Academic Dissertation for Bachelor’s Degree
for her eternal encouragement.
And my dearest Xingyu, my lover, my heart,
Your constant companionship, a priceless part.
With gratitude and purpose, I turn the page,
Leaving behind these hallowed halls of sage.
The memories and lessons will forever remain,
Guiding me as I venture out, unafraid of the unknown terrain.
48
BUAA Academic Dissertation for Bachelor’s Degree
References
[1] Drone Delivery Solutions | Skyports[EB/OL]. /2023-05-05. https://skyportsdroneservices.
com/.
[2] Koetsier J. Google Now Owns The ‘Largest Residential Drone Delivery Service In The
World’[EB/OL]. Forbes. /2023-05-05. https://www.forbes.com/sites/johnkoetsier/2021/08/25
/google-now-owns-the-largest-residential-drone-delivery-service-in-the-world/.
[3] Zipline Instant Delivery & Logistics[EB/OL]. /2023-05-05. https://www.flyzipline.com/.
[4] Murray C C, Chu A G. The flying sidekick traveling salesman problem: Optimization of
drone-assisted parcel delivery[J]. Transportation Research Part C: Emerging Technologies,
2015, 54: 86–109.
[5] Agatz N, Bouman P, Schmidt M. Optimization Approaches for the Traveling Salesman
Problem with Drone[J]. Transportation Science, INFORMS, 2018, 52(4): 965–981.
[6] Poikonen S, Golden B, Wasil E A. A Branch-and-Bound Approach to the Traveling
Salesman Problem with a Drone[J]. INFORMS Journal on Computing, INFORMS, 2019, 31(2):
335–346.
[7] Schermer D, Moeini M, Wendt O. A hybrid VNS/Tabu search algorithm for solving the
vehicle routing problem with drones and en route operations[J]. Computers & Operations
Research, 2019, 109: 134–158.
[8] Es Yurek E, Ozmutlu H C. A decomposition-based iterative optimization algorithm for
traveling salesman problem with drone[J]. Transportation Research Part C: Emerging
Technologies, 2018, 91: 249–262.
[9] de Freitas J C, Penna P H V. A variable neighborhood search for flying sidekick traveling
salesman problem[J]. International Transactions in Operational Research, 2020, 27(1): 267–
290.
[10] Gonzalez-R P L, Canca D, Andrade-Pineda J L, et al. Truck-drone team logistics: A
heuristic approach to multi-drop route planning[J]. Transportation Research Part C: Emerging
Technologies, 2020, 114: 657–680.
[11] Chung S H, Sah B, Lee J. Optimization for drone and drone-truck combined operations: A
review of the state of the art and future directions[J]. Computers & Operations Research, 2020,
123: 105004.
[12] Bouman P, Agatz N, Schmidt M. Dynamic programming approaches for the traveling
salesman problem with drone[J]. Networks, 2018, 72(4): 528–542.
[13] Roberti R, Ruthmair M. Exact Methods for the Traveling Salesman Problem with Drone[J].
49
BUAA Academic Dissertation for Bachelor’s Degree
Transportation Science, INFORMS, 2021, 55(2): 315–335.
[14] Marinelli M, Caggiani L, Ottomanelli M, et al. En route truck–drone parcel delivery for
optimal vehicle routing strategies[J]. IET Intelligent Transport Systems, 2018, 12(4): 253–261.
[15] Ha Q M, Deville Y, Pham Q D, et al. On the min-cost Traveling Salesman Problem with
Drone[J]. Transportation Research Part C: Emerging Technologies, 2018, 86: 597–621.
[16] Jeong H Y, Song B D, Lee S. Truck-drone hybrid delivery routing: Payload-energy
dependency and No-Fly zones[J]. International Journal of Production Economics, 2019, 214:
220–233.
[17] Dell’Amico M, Montemanni R, Novellani S. Drone-assisted deliveries: new formulations
for the flying sidekick traveling salesman problem[J]. Optimization Letters, 2021, 15(5): 1617–
1648.
[18] Poikonen S, Wang X, Golden B. The vehicle routing problem with drones: Extended
models and connections[J]. Networks, 2017, 70(1): 34–43.
[19] Ham A M. Integrated scheduling of m-truck, m-drone, and m-depot constrained by timewindow, drop-pickup, and m-visit using constraint programming[J]. Transportation Research
Part C: Emerging Technologies, 2018, 91: 1–14.
[20] Murray C C, Raj R. The multiple flying sidekicks traveling salesman problem: Parcel
delivery with multiple drones[J]. Transportation Research Part C: Emerging Technologies, 2020,
110: 368–398.
[21] Kitjacharoenchai P, Ventresca M, Moshref-Javadi M, et al. Multiple traveling salesman
problem with drones: Mathematical model and heuristic approach[J]. Computers & Industrial
Engineering, 2019, 129: 14–30.
[22] Ferrandez S M, Harbison T, Weber T, et al. Optimization of a truck-drone in tandem
delivery network using k-means and genetic algorithm[J]. Journal of Industrial Engineering and
Management, 2016, 9(2): 374–388.
[23] Tavana M, Khalili-Damghani K, Santos-Arteaga F J, et al. Drone shipping versus truck
delivery in a cross-docking system with multiple fleets and products[J]. Expert Systems with
Applications, 2017, 72: 93–107.
[24] Li Y, Zhang G, Pang Z, et al. Continuum approximation models for joint delivery systems
using trucks and drones[J]. Enterprise Information Systems, Taylor & Francis, 2020, 14(4):
406–435.
[25] Mbiadou Saleu R G, Deroussi L, Feillet D, et al. An iterative two-step heuristic for the
parallel drone scheduling traveling salesman problem[J]. Networks, 2018, 72(4): 459–474.
50
BUAA Academic Dissertation for Bachelor’s Degree
[26] Dijkstra E W. A Note on Two Problems in Connexion with Graphs[A]. See: Edition 1.
Edsger Wybe Dijkstra: His Life,Work, and Legacy[M]. New York, NY, USA: Association for
Computing Machinery, 2022, 45: 287–290.
Download