#### Abstract

Under the epidemic, closed management has turned a large number of communities into lonely islands, and the contactless delivery method of UAV has become the rigid demand in this special period. This paper studies a collaborative system of multi-UAV multitruck transportation, which can deliver emergency materials such as medicine to remote areas or closed communities. In this system, delivery tasks are assigned to multiple trucks and multiple drones on each truck can perform delivery tasks in parallel, thereby improving delivery efficiency. We study the routing problem of this system specifically for medical supplying road network and establish mixed-integer model and hybrid algorithm. We show by experiments that the number of trucks has more significant impact on the optimal solution than the number of drones and the performance of hybrid particle swarm optimization is better than the performance of the other algorithms.

#### 1. Introduction

Under the epidemic, closed management has turned a large number of communities into lonely islands, and the contactless delivery method of UAV has become the rigid demand in this special period. Remote areas or closed communities usually have urgent needs for emergency supplies such as medicine. However, UAV delivery has obvious disadvantages: the load weight and load capacity of a drone are small, and the flight radius of a drone is short because the drone is powered by a battery. One solution to these shortcomings is to allow drones to work together with other types of transportation vehicles to deliver materials, which leads to a new system of collaborative transportation. For this new system, how to effectively dispatch drones and trucks, arrange the distribution path and travel time, and deliver the goods to the customer on time with minimum cost, and realize the efficient and low-cost operations of the system are new hot issues in the current academic and industry research.

In a joint drone and truck delivery system, a drone can serve a customer while flying to and from a moving truck. Compared with pure drone delivery system or pure truck delivery system, this kind of collaborative delivery system has obvious advantages: the truck has a dual role of mobile warehouse and transport resources, which can increase the effective flight range of drones and allow different delivery tasks to be parallelized, and drones can extend the duration of the battery by charging or replacing batteries on trucks, and so on.

Currently, the optimization of collaborative transportation system, in which trucks and unmanned aerial vehicles (UAVs) work together to complete the delivery task, has also been studied more and more. Lin et al. studied the discrete routing optimization of multi-UAV single-truck system on road network and created mixed-integer models and hybrid algorithms [1]. Agatz et al. established an integer programming to solve the travel salesman problem with UAVs [2]. Zhen et al. proposed an optimization model for different scales of routing networks and a nonlinear optimization model under different sizes of instances, respectively [3]. Luo et al. proposed a hybrid multiobjective genetic optimization for path planning of the truck-drone system [4]. AlMuhaideb et al. provided the adaptive randomized greedy search for the travel salesman problem with UAVs [5]. Gomez-Lagos et al. studied a new optimization for one-truck multidrone routing in last-mile delivery and presented a linear mixed-integer model to optimize the serving time for all clients [6]. Moshref-Javadi et al. compared some synchronized drone-truck models for cargo transportation and evaluated these models by a Drone-Truck Routing Algorithm [7]. Zhen proposed a stochastic planning formula to handle with any arbitrary distribution of deviation probability of operation time, and a robust formula suitable to the case where available probability distribution information is few [8]. Zhen et al. established a column generation to solve the original model based on set partition. In [9], Carlsson et al. concluded that the improvement of efficiency depends on the square root of the ratio of truck speed and UAV speed [10]. Zhang et al. proposed a drone-truck system as a tool of postdisaster assessment for humanitarian rescue networks, created a linear mixed-integer model, and handled this problem by column generation [11]. Das et al. proposed a new synchronization mechanism between UAV and trucks. They created a multiobjective model which contains two conflicting objectives [12]. Choi et al. formulated four cases of delivery service with and without help of UAVs and analyzed the sensitivity of driver payment rate, demand density, and so on [13]. Zhen focused on a combination of physics and probabilistic based models with truck interruption and created mixed-integer programming to optimize the expected gross travel time of driving containers [14].

Although many researchers have done research on collaborative transportation, few have done research on the collaborative routing specifically for the topology structure of road network. This paper makes up for this deficiency. The main innovation point of this paper is to study the collaborative routing problem specifically for the topology structure of road network from a new perspective and propose models and new algorithms to solve the new problem. Our research is similar to the research in Lin et al. [1], but our research is aimed at multi-UAV multitruck system, while the research in Lin et al. [1] is aimed at multi-UAV single-truck system.

#### 2. Problem

We introduce a collaborative system for multidrone multitruck transportation, in which delivery tasks are assigned to multiple trucks, and multiple drones on each truck can perform delivery tasks in parallel, thereby improving delivery efficiency. In the case of transportation of medical emergency supplies, a medical warehouse needs to send urgent medical supplies to a few hospitals or families who urgently need medical care. In this paper, the medical warehouse is called medical storehouse or supply center, and the hospitals or families are called medical requirement points. The medical storehouse dispatches multiple trucks to deliver medical supplies to several requirement points within the prescribed time, while, in addition, multiple drones were installed on each truck. When any truck approaches multiple requirement points at the same time, it sends multiple UAVs to transport materials for these requirement points. This is called multi-UAV parallel delivery, which enables more delivery tasks to be completed at the same time. After completing the delivery task, any UAV will fly back to the running truck to prepare for the next delivery task or charge its battery to extend its flight endurance.

##### 2.1. Multidrone Multitruck System on Road Network

We use to represent the road network, which is the network of all roads. In this symbol, is a set of all roads, while is a set of cross-over points of all roads, in which cross-over points are numbered as , and the *0*^{th} cross-over point is the medical storehouse in the case of medical supplying network.

A road network for medical supplies is shown in Figure 1. There are thirty-two cross-over points, where the *0*^{th} cross-over point is the medical storehouse. The medical storehouse 0 is requested to transport medical materials to some medical requirement points. The medical storehouse will dispatch multiple trucks to deliver these requirement points, and after having completed all the tasks, these trucks drive back to the medical storehouse.

The moving routes of multiple trucks and multiple drones are shown in Figure 2, where the driving routes of Truck 1 and Truck 2 are denoted by the black thick and blue thick straight lines with arrow, respectively, and the flying routes of Drone 1 and Drone 2 are denoted by the red light and green light lines, respectively.

The delivering process of multiple drones and multiple trucks is shown in Figure 2. Truck 1 loads the medical materials at the medical storehouse and follows the route indicated by the thick black line with arrow. The first route, along which it drives, is 0 ⟶ 11 ⟶ 10 ⟶ 9. Before almost arriving at the cross-over Point 9, Truck 1 dispatches Drone *1* in advance to deliver to Point *a*. When having delivered, Drone 1 flies back to the moving Truck 1 and loads the next medical materials and sometimes charge battery when the electric power is low. The second route, along which Truck 1 drives, is 9 ⟶ 16 ⟶ 17. After passing the cross-over Point 16, Truck 1 dispatches Drone 1 in advance to deliver to Point *c*. Similarly, when having delivered, Drone 1 flies back to the moving Truck 1. Before almost arriving at the cross-over Point 17, Truck 1 dispatches Drone 2 in advance to deliver to Point *d*, because Drone 1 is delivering to another Point *c.* At last, all the materials on Truck 1 were delivered and Truck 1 is allowed to drive back to the medical storehouse.

Similarly, Truck 2 loads the medical materials at the medical storehouse and follows the route indicated by the thick blue line with arrow. The first route, along which it drives, is 0 ⟶ 23 ⟶ 24. Before almost arriving at the cross-over Point 23, Truck 2 dispatches Drone *2* in advance to deliver to Point *f*. The second route, along which Truck 2 drives, is 24 ⟶ 18 ⟶ 0. After passing the cross-over Point 24, Truck 1 dispatches Drone 2 in advance to deliver to Point *e*. Next, Truck 2 dispatches Drone 1 in advance to deliver to Point *b*, because Drone 2 is delivering to another Point *e.* At last, all the materials on Truck 2 were delivered and Truck 2 is allowed to drive back to the medical storehouse.

##### 2.2. Notational Conventions

First, we explain the following symbols: : we adopt Euclidean distance as in Lin et al. [1]. : the two-dimensional Euclidean plane. : road network of medical emergency supplies. : the total of all cross-over points. : the set of all cross-over points, . : the coordinate of the cross-over point, which contains x-coordinate and y-coordinate: : a directed linear road, which is a directed linear segment which starts at the *u*^{th} cross-over point and ends at the cross-over point, where . : a binary number indicating whether exists in the road network . A directed linear segment from any cross-over point to itself does not exist, that is, : : the set of all directed roads, . : speed of each truck. : speed of each drone, where . : the total number of medical requirement points to be served. : the set of the medical requirement points to be delivered. : point number of medical requirement, . : the position coordinate of Requirement , . : the delivery volume for Requirement . : the total of UAVs in every truck. : the set of all the UAVs in every truck. : UAV number, . : the total number of all trucks. : the set of all trucks, . : truck number, . : loading capacity of Truck . : closed loop driving route of Truck , . : the maximum battery endurance of the drone of Truck .

##### 2.3. Decision Variables

Next, we explain the following decision variables: : a binary number which is one if is a part of the path of Truck ; otherwise, is zero: : a binary number which is 1 if Requirement is served by the drone of Truck ; if not, it is 0. : the take-off point of the drone flying from the truck to Requirement . : the landing point of the drone which flying back to the truck from Requirement .

##### 2.4. Routing Problem of the Multidrone Multitruck System

The following is the definition of the routing problem of multidrone multitruck system. In the road network , every requirement point is numbered as ; the position coordinate and delivery volume of which are given in advance. And the cross-over point is the medical storehouse.

The target of the problem is to figure out the flying route of each UAV and the driving route of each truck. Each truck loads the medical materials at the medical storehouse and follows its route to deliver to its requirement points. Each drone follows its flight route to serve a requirement point while flying to and from a moving truck.

#### 3. Model

We explain the intermediate variables, and then the programming model.

##### 3.1. Intermediate Variables

We use a symbol to indicate the moving mileage of Truck from the medical storehouse to the cross-over point. It is easy to see: .

If the cross-over point is not located on the driving route of Truck , then a cross-over point does not exist so that . Let if .

If the cross-over point is located on the driving route of Truck , then only one cross-over point exists so that , that is, . The line length of is

We can get the following:

In summary,

To reduce the difficulty of modelling, we use the following intermediate variables to replace variables: and .

: a binary number denoting whether the launching point is located on :

: a decimal number denoting that the distance between and is divided by the line length of . Obviously, :

: a binary number denoting which segment of the point is located on:

: a decimal number denoting that the distance between and is divided by the line length of , so :

According to the above intermediate variables, we can get the coordinates of and .

is the x-coordinate of the launching point :

is the y-coordinate of the launching point :

is the x-coordinate of the landing point :

is the y-coordinate of the landing point :

We use a symbol to denote the distance of Truck driving from the medical storehouse to launching point :

This is equivalent to

We use a symbol to denote the distance of Truck driving from the medical storehouse to landing point :

This is equivalent to

We can also get the flight distance of the drone for delivering to Requirement :

##### 3.2. Programming Model

Subject to

The decision variables include , , , , , and , where , , , or is a binary number which is 0 or 1, while and .

The above objective and constraints are similar to those objectives and constraints in Lin et al. [1], but our model is specifically for multiple UAVs and multiple trucks, while the model in Lin et al. [1] is specifically for multiple UAVs and single truck, so the constraints involving multiple trucks are different from the constraints in Lin et al. [1]. In the following, we only explain the constraints with large differences. For other constraints, please refer to Lin et al. [1].

Constraints (9) say that if , that is, , then there exists and only exists a unique combination of and such that ; that is, , and the -th customer point is delivered by the -th drone of the -th truck. Constraints (10) say that if , that is, , then there exists and only exists a unique combination of and such that ; that is, , and the -th customer point is delivered by the -th drone of the -th truck.

#### 4. Algorithm

Like the VRP or TSP problem, our problem is also NP hard, because to find the shortest or least costly truck path, in the worst case, all possible truck paths must be checked, which would be astronomical. It is considered that the large examples of this kind of problems cannot be solved by exact algorithm, and an effective approximate algorithm must be sought for this kind of problems.

Considering that our problem is NP hard, we design hybrid algorithms to solve the problem in large scale. These hybrid algorithms decompose the original problem into two smaller problems: the master problem solved by particle swarm algorithm or genetic algorithm, and the child problem solved by an approximation method that we designed. To speed up problem solving, the heuristic method breaks down the child problem into four smaller problems: the delivery task allocation of the truck, the delivery order, the routing of drone delivery, and the allocation of drone delivery tasks. This makes every small problem less constrained. The nature of our solution is suboptimal because we use evolutionary algorithm.

##### 4.1. Hybrid Genetic Algorithm

The hybrid genetic algorithm decomposes the whole problem into two smaller problems: a master problem solved by genetic algorithm and a child problem solved by the heuristic, as shown in Figure 3.

###### 4.1.1. Genetic Algorithm for Solving the Master Problem

We use genetic algorithm to deal with the master problem. The genetic algorithm contains several steps: encoding and decoding of chromosomes, designing fitness function, population initialization, replication, elite selection, cross-over operation, mutation operation, producing new species, and designing termination conditions. In the following, we only explain two critical steps.

*(1) The Encoding and Decoding*. Because the master problem only solves the optimal closed transportation path of all trucks, the chromosomes need to encode only one kind of decision variables , using binary code, as shown in Figure 4. Other decision variables are handled by the child problem and need not be coded.

A feasible solution corresponding to the above chromosome (i.e., transportation path scheme) can be obtained through the following decoding process. First, in the first segment of chromosome, for all genes with a value of 1, judge whether the corresponding directed line segment can form a truck closed loop , which starts from the storehouse 0 and returns to the storehouse 0 after delivering all goods, so that a feasible solution of the master problem can be obtained.

*(2) The Fitness Function*. For the maximization problem, the general fitness corresponds to the objective function, but, for the minimization problem, the reciprocal of the objective function is generally taken. For a solution of the master problem corresponding to an individual *R*, to judge its goodness, one is to see whether it meets the constraints of the problem. The second is to calculate the objective function value of its corresponding subproblem. Specifically, first, judge whether the solution of the master problem can meet the closure of the truck driving path. Then, given the solution of the master problem, the optimal flight route for UAV to deliver goods to each customer point is solved from the subproblem, and the objective function value of the subproblem is calculated. Then judge whether the solution of the subproblem can meet the order of the launching and landing point of the UAV, and whether it could meet the constraints such as the maximum endurance mileage of the UAV. In short, it depends on whether the solutions of the master problem and its corresponding subproblems meet the above constraints. If not, these solutions are determined as infeasible solutions.

For an individual , the objective function value of its child problem is ; let indicate whether the solution of the master problem and its corresponding child problem are feasible; means feasible and means infeasible; then the fitness of the individual can be expressed as follows:where is the penalty weight (the weight takes a relatively large positive number within the value range of the objective function). The penalty weight means that when the distribution path scheme is not feasible, the fitness of the individual is greatly reduced.

###### 4.1.2. Heuristic for Solving the Child Problem

The child problem is aimed to get the optimal paths of multiple drones for each requirement point based on a closed moving route of the truck obtained from the above master problem. We use the following heuristic to solve it.

*(1) For Every Requirement Point, Determine Which Truck to Deliver for It*. For each requirement point , the shortest distance from the requirement point to all the truck routes is calculated in turn. Finally, a truck is selected, to the route of which the shortest distance from the demand point is the smallest of all routes of the trucks, and the customer will be delivered by the truck :

*(2) For Each Truck, Find Out the Order of Its Requirement Points*. Next, the requirement delivery order of the truck needs to be determined for each truck, that is, which requirement the truck delivers to first and then which requirement. When the total number of requirement points is *h*, all possible delivery orders are factorial of *h*. If the exhaustive method is used to calculate all this delivery sequence, the total amount of calculation will be considerable. Therefore, we adopt the following construction algorithm to efficiently figure out a good delivering order.

Based on a driving route of the truck, for each requirement point delivered by the truck, figure out the closest point to on this route . Then decide the requirement delivering order of the truck according to the order in which these points appear on the route . Specifically, if appears earlier than on the route , is delivered before . Conversely, if appears later than , then is delivered after . Figure 5 shows the closest points to , , and on the route .

*(3) After We Get Truck Paths and Delivering Orders from the above, Figure Out Drone Paths*. When finding the route of each truck and requirement delivery order, we need to handle optimization of drone routing, which can be solved by the following construction method.

When we solve the above requirement delivery order, for each requirement point served by a truck, we have calculated the point closest to the requirement point on the truck route. The corresponding decision variable of UAV delivery to requirement point is and . To save time, we must avoid that the UAV waits for the truck or the truck waits for the UAV at landing point ; that is, when the UAV reaches the landing point , the truck also reaches the landing point . Therefore, the total time of the UAV from the take-off point to the requirement point and then to the landing point should be equal to the time of the truck driving from to :

Assuming that and are symmetrical about the linear segment from requirement to , that is, the distance from to is equal to the distance from to , and the distance from to is equal to the distance from to , an approximate formula can be deduced:

If it is further approximately assumed that the segment between and is perpendicular to the segment between and , we can get according to the Pythagorean theorem:

The approximate solution of can be decided through the above two formulas. Similarly, the approximate solution of landing point coordinate can be decided, as shown in Figure 6:

*(4) Decide θ _{i,s,k} Based on the above*. After the delivery sequence of each truck and its UAV route are solved in turn through the above steps, the decision variables can be solved one by one through the sequential loop traversal method. The solution process is to perform the following calculations for each truck.

First, for all customer demand points served by a truck, set *allocated* *=* *false* to indicate that the requirement point has not been assigned to a UAV of the truck.

Next, for the first and second UAVs of Truck *s*, requirement points are allocated as follows until all requirement points are allocated to one UAV:(1)For the first UAV of this Truck *s*, traverse each requirement point served by Truck *s* in turn according to the delivery order. First visit the first requirement point *i* served by Truck *s*, set , and set *allocated* *=* *true.* Then, visit the second requirement point *j.* If the first UAV has returned to the truck before visiting the second requirement point, set , and set *allocated* *=* *true.* Otherwise, set , and set *allocated* *=* *false.* And so on until all requirement points are traversed.(2)For the second UAV of Truck *s*, also traverse each *allocated* *=* *false* requirement point served by Truck *s* in turn according to the delivery order; that is, it skips all *allocated* *=* *true* requirement points that have been allocated. First visit the first requirement point *i* marked as unassigned served by Truck *s*, set , and set *allocated* *=* *true.* Then, access the second requirement point *j* marked as unassigned: if the second UAV has returned to the truck when accessing this requirement point *j*, then set , and set *allocated* *=* *true.* Otherwise, set , and set *allocated* *=* *false.* And so on until all requirement points are traversed.

Similarly, the third and fourth UAVs of Truck *s* are solved in the same way as the second UAV of Truck *s* until the values of all drones are solved.

In short, the above calculation is performed for all trucks until the values of all UAVs for all trucks are calculated.

##### 4.2. Hybrid Particle Swarm Algorithm

The hybrid particle swarm algorithm is generally similar to the hybrid genetic algorithm, as shown in Figure 3.

#### 5. Experiment

We make experiments under Windows 10 to test the efficiency of our methods, and use C# to write these algorithms.

##### 5.1. Influence of the Number of Drones and Trucks on the Optimal Solution

Through the experiment of hybrid particle swarm optimization, this section will analyse the effect of the number of drones and trucks on the completion time of collaborative delivery.

Figure 7 displays the influence of different numbers of UAVs and different numbers of trucks on the optimal fitness under different road network sizes and different requirement numbers, where the horizontal coordinate represents different number of trucks, (i) represents using only one truck, (ii) represents using two trucks, and (iii) represents using three trucks. The ordinate represents the best fitness. The greater the fitness, the closer to the optimal solution, and the faster the completion time of collaborative delivery. Blue bars represent using one drone, orange bars using two drones, grey bars using three drones, yellow bars using four drones, and light blue bars using five drones. Experiments (a) and (b) were conducted when the network size was 100 and the number of customers was 20 and 60, respectively. Experiments (c) were conducted when the network size was 900 and the number of customers was 60.

**(a)**

**(b)**

**(c)**

It can be seen that in experiment (a), when only one truck is used, the best fitness slightly exceeds 1200. When using two trucks, the optimum fitness is close to 1400. The optimum fitness was over 1600 when using 3 trucks. Similarly, in experiment (b), when only one truck was used, the best fitness did not exceed 2000. When using 2 trucks, the best fitness exceeds 2000. When using 3 trucks, the optimum fitness was 2500. Overall, the more trucks used, the better the optimum fitness.

On the other hand, in experiment (a), when only one truck was used, the more drones there were, the better fitness decreased slightly. When two trucks were used, the number of drones had little effect on the optimal fitness. When three trucks were used, there was no significant difference in the best fitness for different numbers of drones. In experiment (b), when only one truck is used, when the number of UAVs increases, the best fitness increases slightly at first and then decreases slightly. When two trucks were used, the optimal fitness increased slightly first and then decreased slightly with the number of drones. A similar trend occurred when three trucks were used. In conclusion, the number of different drones has little effect on the optimal fitness.

Therefore, the number of different trucks has a significant impact on the best fitness, while the number of different drones has little impact on the best fitness. In order to achieve faster collaborative delivery completion time, that is, greater optimum fitness, it is recommended to use more trucks. Using more drones did little to improve optimum fitness. When the number of UAVs increases, the optimal fitness improves slightly at the beginning, but when the number of UAVs reaches a certain number, the optimal fitness will not improve.

##### 5.2. Comparison of Different Algorithms

In Figure 8, we compare four algorithms under different scales of road networks and different numbers of requirement points, where the current optimal fitness is represented by the y-coordinate and the iteration number is represented by the x-coordinate. The highness of the current fitness indicates the closeness to the best solution. The changing processes of solving of pure genetic algorithm (GA), pure particle swarm (PSO), hybrid genetic algorithm (h-GA), and hybrid particle swarm (h- PSO) are denoted by the blue, grey, orange, and yellow broken lines, respectively.

**(a)**

**(b)**

**(c)**

**(d)**

**(e)**

**(f)**

**(g)**

**(h)**

We can see that the comprehensive performance of the basic algorithm is worse than that of the hybrid algorithm. And the hybrid particle swarm optimization has the best performance in all algorithms.

#### 6. Conclusions

This paper focuses on a multi-UAV multitruck system, which can deliver medical materials to remote areas or closed communities. In this system, delivery tasks are assigned to multiple trucks, and multiple drones on each truck can perform delivery tasks in parallel, thereby improving delivery efficiency. We study the routing problem of this system specifically for medical supplying road network and establish mixed-integer model and hybrid algorithm. We show by experiments that the number of trucks has more significant impact on the optimal solution than the number of drones, and the performance of hybrid particle swarm optimization is better than the performance of the other algorithms.

In truck-drone collaborative transportation system, optimization of route planning is a very complex problem; this paper is only a preliminary study of this problem, and the results can be further improved. In the future, research can be carried out from the following aspects: more constraints, path planning in uncertain environment, algorithm improvement, simulation optimization, and so on.

#### Data Availability

The data related to this article are randomly generated.

#### Conflicts of Interest

The authors declare no conflicts of interest.

#### Acknowledgments

This research was supported by the Key Subjects Construction Program of the Health System in Jing'an District (No. 2021PY04) and Shanghai Pujiang Program for Young Scholars (Grant No. 2020PJC061).