单位代码 学 号 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 iN 0 i j iN 0 kN + i j i , j ,k P yijk = 1 j C x =1 (2.3) x =1 (2.4) 0j jN + iN0 i ,c+1 ui − u j + 1 (c + 2)(1 − xij ) i C , j {N + : i j} x iN 0 i j ij = lC 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) iN 0 jC i k i , j ,kP hN 0 h i x kN + k j jC kN + j i i , j ,k P 2 yijk (2.2) i C , j {C : j i}, l {N + : (i, j , k ) P} lk x hN 0 hk hk uk − ui 1 − (c + 2)(1 − j C , k {N + : (0, j , k ) P} jC ( 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) jC kN + j i ( i , j ,k )P jC kN + j i ( i , j ,k )P jC kN + j i ( i , j ,k )P jC kN + j i ( i , j ,k )P tk th + hk + sL ( yklm ) + sR ( lC mN + l k ( k ,l ,m )P iN 0 jC 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 − kN + ( i , j ,k )P tk t j + jk + sR − M (1 − yijk ) j C , i {N 0 : i j} iN 0 ( i , j ,k )P yijk ) j C , k {N + : k j} (2.17) (2.18) tk − (tj − 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 − jC ( i , j ,k )P j l yijk − mC 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 ] + rr−2 ,ri ) + ri ,ri+1 − max(t[ri−1 ] + rr−1 ,ri + ri ,ri+1 , t[rr −2 ] + rr −2 ,ri+1 ) PushRightSavings = max(t[ri−1 ] + ri−1 ,ri , t[ ri−2 ] + ri−2 ,ri ) − max(t[ri−1 ], t[ri−2 ] + ri−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.