Next Article in Journal
Fault Detection and Identification in the Doubled Attitude and Heading Reference System (AHRS)
Previous Article in Journal
Innovative Binocular Vision Testing for Phoria and Vergence Ranges Using Automatic Dual Rotational Risley Prisms
Previous Article in Special Issue
AI-IoT Low-Cost Pollution-Monitoring Sensor Network to Assist Citizens with Respiratory Problems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Task Planning of Multiple Unmanned Aerial Vehicles Based on Minimum Cost and Maximum Flow

by
Xiaodong Shi
1,2,
Xiangping Zhai
1,3,4,*,
Rui Wang
1,
Yi Le
2,
Shuang Fu
1,3 and
Ningzhong Liu
1,4
1
College of Computer Science and Technology/Artifical Intelligence, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China
2
Nanjing Research Institute of Electronic Engineering, Nanjing 210007, China
3
Key Laboratory of Brain-Machine Intelligence Technology, Ministry of Education, Nanjing 211106, China
4
Collaborative Innovation Center of Novel Software Technology and Industrialization, Nanjing 210023, China
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(5), 1605; https://doi.org/10.3390/s25051605
Submission received: 7 January 2025 / Revised: 14 February 2025 / Accepted: 28 February 2025 / Published: 5 March 2025
(This article belongs to the Special Issue AI-IoT for New Challenges in Smart Cities)

Abstract

:
With the rapid development of UAV technology, UAV delivery has gained attention for its potential to reduce labor costs. However, limitations in load capacity and energy restrict UAVs’ distribution capabilities. This paper proposes a cooperative delivery scheme combining traditional trucks and UAVs to extend UAV coverage and improve delivery completion rates. For densely distributed depots in wide-area regions, we develop algorithms for task allocation and path planning in a truck-independent UAV system. Specifically, a minimum-cost, maximum-flow model is constructed to obtain sub-paths covering all delivery tasks, and resource tree-based algorithms are used to construct global paths for UAVs and trucks. Simulation results show that our algorithms reduce total energy consumption by 11.53% and 9.15% under different task points, which suggests that our proposed method can significantly enhance delivery efficiency, offering a promising solution for future logistics operations.

1. Introduction

In recent years, Unmanned Aerial Vehicle (UAV) technology has made significant advancements, achieving breakthroughs in key performance metrics such as flight stability, endurance, and payload capacity [1,2,3]. The continuous reduction in the cost of small and lightweight UAVs has rapidly expanded their civilian applications beyond military reconnaissance and aerial photography. This cost reduction has laid a technical and economic foundation for UAVs to enter the field of logistics and delivery [4,5]. UAVs are unaffected by ground traffic conditions, can fly in straight lines, and can quickly traverse congested areas. Particularly for urgent small packages, UAVs can significantly reduce delivery time, enabling same-city or even short-distance intercity express delivery services, thereby enhancing customer satisfaction [6,7,8]. Additionally, in remote areas where truck delivery costs are high and single trips may face the challenge of returning empty, UAVs can provide flexible on-demand delivery. This reduces unnecessary labor, vehicle wear, and fuel costs, ultimately optimizing the logistics cost structure over the long term.
However, due to limitations in endurance, payload capacity, and flight range, relying solely on UAVs for all deliveries may not be optimal [9,10]. Integrating UAVs and trucks for collaborative delivery can effectively address the challenges faced by using either UAVs or trucks alone. First, trucks, with their longer travel range and greater load capacity, can serve as mobile depots for storing packages and providing energy for UAVs. This role significantly extends the effective delivery range of UAVs [11,12]. Second, UAVs are unable to deliver packages that exceed their payload capacity or are too large in volume. Trucks can handle these packages, ensuring higher delivery completion rates when working collaboratively with UAVs. Furthermore, UAVs are not restricted by ground traffic conditions and perform better in areas with complex road conditions that are difficult for trucks to access. By collaborating, UAVs and trucks integrate their respective advantages. Trucks serve as mobile depots and long-distance transportation tools, carrying multiple UAVs and large quantities of packages over long distances, while UAVs handle last-mile precise delivery. Each vehicle fulfills its role to maximize delivery efficiency [13,14].
Most existing research on the collaborative distribution of trucks and UAVs adopts the single-UAV and single-vehicle collaborative distribution model. Unfortunately, UAVs can typically deliver to only one or two task points at a time. Moreover, due to the numerous loading and unloading procedures for materials, the efficiency of a single delivery is low, resulting in relatively long times to complete the distribution tasks. Compared to the single-UAV and single-vehicle collaboration and considering the small size and low load capacity of small UAVs, this paper proposes the adoption of a multi-vehicle and multi-UAV joint distribution method to improve distribution efficiency. By taking the depot as the supply point for UAV packages and energy, UAVs can take off and land at different locations, expanding their delivery range and achieving the goal of distribution in wide-area scenarios. In this paper, we mainly study how independent UAVs and trucks can jointly deliver packages in a wide-area scenario with densely distributed depots, where UAVs can replenish energy in a timely manner. Our main contributions are outlined as follows:
  • We propose a novel task-planning framework for a truck–UAV system, specifically targeting the minimization of system energy consumption in wide-area scenarios with dense supply-point depots. Our approach uniquely addresses the challenges of handling overweight tasks and tasks beyond UAV delivery ranges by strategically assigning these to trucks, thereby optimizing the overall system efficiency and energy utilization.
  • Recognizing the load and energy limitations of UAVs, we develop a sophisticated modeling approach by constructing minimum-cost, maximum-flow models for both UAVs and trucks. This allows us to derive optimal sub-paths that cover all delivery tasks with minimal energy consumption. We further enhance this approach by introducing a depot–task set–depot combination strategy, which enables efficient path construction using a resource tree-based algorithm for UAVs and an insertion method for trucks. This integrated method not only ensures comprehensive task coverage but also achieves significant energy savings compared to traditional approaches.
  • We conduct comprehensive simulation experiments to validate the feasibility and effectiveness of our algorithms. The results demonstrate that our proposed method outperforms existing solutions in terms of energy efficiency and task completion rates, highlighting the superiority of our approach. Our contributions go beyond mere simulation validation by providing a robust and innovative solution to the complex task-planning problem in truck–UAV systems.
The rest of this paper is organized as follows. Section 2 introduces related works. Section 3 details the system model. Section 4 details the algorithm proposed in this paper. In Section 5, we carry out numerical experiments and obtain the simulation results. Section 6 concludes our work.

2. Related Work

Collaboration between trucks and UAVs in delivery can reduce truck energy consumption, allow for simultaneous delivery operations, and significantly improve overall delivery efficiency. Consequently, researchers have been exploring more cost-effective and faster collaborative delivery schemes. N. Agatz et al. [15] proposed the classical Traveling Salesman Problem with Drone (TSP-D) delivery model, where a truck carries a UAV for delivery. While the truck serves one customer, the UAV delivers to other customers within its range, then returns to the truck to reload packages. The authors formulated this problem as a mixed-integer programming model and solved it using a combination of local search and dynamic programming. First, the truck’s route is calculated using the TSP method. Then, a greedy heuristic algorithm is applied to partition the route and assign tasks to the truck and UAV. Finally, local search is employed to optimize the routes of both.
Murray and Chu [16] introduced two new models: FSTSP (Flying Sidekick TSP) and PDSTP (Parallel Drone Scheduling TSP). FSTSP is designed for scenarios where the depot is far from the customers and the UAV cannot complete deliveries independently. The goal is to minimize overall delivery time, and the authors developed a mathematical model and heuristic search algorithm for this purpose. Conversely, the PDSTP model is applicable when the depot is close to the customers and most customers are within the UAV’s delivery range. In this case, the UAV and truck independently pick up and deliver packages.
In [17], the authors proposed a decomposition-based iterative algorithm aimed at minimizing delivery time and reducing system energy consumption. The first phase determines the truck route and assigns customers to the UAV for delivery. The second phase solves a mixed-integer linear programming model to optimize the UAV’s flight paths based on the results of the first phase. Starting with the shortest truck route, the algorithm iteratively improves task allocation and route planning for both the truck and UAV.
Most previous algorithms restrict UAVs to delivering a single package per trip. However, Y. Liu et al. [18] proposed that UAVs could carry multiple packages between the truck and customers, provided that the payload and energy constraints are satisfied, aiming to minimize system energy consumption. Their study considered the impact of package weight on energy consumption and derived an energy consumption formula as a function of total package weight. A two-phase route construction method was employed: an initial solution obtained by combining the nearest-neighbor and savings algorithms and a hybrid optimization algorithm combining simulated annealing and tabu search to refine the solution, yielding a collaborative delivery scheme. In [19], to address the TSP-D problem and reduce delivery time and energy consumption, the authors proposed a novel method tailored for a cutting-plane algorithm. Two mixed-integer linear programming (MILP) models, MILP-A and MILP-B, were constructed. The MILP models were generated using existing methods and inequality-driven mechanisms, followed by a branch-and-cut algorithm that produced MILP-BC-VI. Experimental results demonstrated that this method performs excellently on various benchmark instances, enabling rapid processing of small-scale customer cases and solving larger-scale instances within one hour. In [20], the authors proposed a new two-stage MIP method and an exact-solution approach based on full decomposition to tackle the TSP-D model. The problem was formulated as a mixed-integer programming (MIP) model and divided into two decision-making stages: first, a subset of customers is selected for truck delivery and ordered; then, UAV routes are planned for the remaining customers. Structural properties of the optimal TSP-D solution were further optimized to improve solution performance.
In [21], the authors investigated the problem of multi-drop delivery coordinated by trucks and UAVs, proposing a heuristic approach to optimize route planning. The study focused on how to coordinate task allocation and route design between trucks and UAVs to maximize delivery efficiency. In [22], the authors studied the synchronized routing problem of trucks and UAVs, addressing the challenge of achieving efficient collaboration between the two in package delivery. They proposed a multi-objective optimization model aimed at minimizing delivery time and cost while enhancing system efficiency. By designing a Multi-Objective Ant Colony Optimization (MOACO) algorithm, the model effectively handles task allocation, route planning, and UAV endurance constraints. In [23], the authors investigated a hybrid truck–UAV collaborative delivery problem where UAVs can operate either independently or be deployed by trucks at task locations. They proposed a strategy for route planning and scheduling to optimize task allocation, route design, and UAV energy usage. By employing a mixed-integer linear programming (MILP) model and heuristic algorithms, the method effectively addresses the complex constraints of hybrid delivery, significantly improving task completion efficiency. In [24], the authors focused on the problem of truck–UAV collaboration for urban emergency response, proposing a dynamic collaboration and integrated route-planning method. The study emphasized delivery tasks in disaster management scenarios, designing a multi-objective optimization model that incorporates route flexibility, delay minimization, and resource optimization. Experimental results demonstrated that the proposed method offers significant advantages in handling emergencies and resource-constrained scenarios.
However, existing research still has some limitations. First, most studies have focused on a single scenario or specific types of tasks, lacking a systematic exploration of task planning in wide-area scenarios with densely distributed supply points. Second, existing methods often fail to optimize task allocation and path planning simultaneously when dealing with UAV range and payload constraints, resulting in higher system energy consumption. Moreover, there is a lack of effective solutions for handling tasks beyond UAV delivery ranges or overweight tasks, making it difficult to achieve efficient collaboration between trucks and UAVs. To address these issues, this paper proposes a novel task-planning framework targeting wide-area scenarios with densely distributed supply points, with the goal of minimizing system energy consumption. Our approach assigns overweight tasks and tasks beyond UAV delivery ranges to trucks, thereby optimizing overall system efficiency and energy utilization. Additionally, we construct minimum-cost, maximum-flow models for both UAVs and trucks and introduce a resource tree-based algorithm and insertion method to achieve efficient path planning. Comprehensive simulation experiments demonstrate the feasibility and effectiveness of our algorithms. The results show that our method outperforms existing solutions in terms of energy efficiency and task completion rates, providing an innovative and robust solution to the complex task-planning problem in truck–UAV systems.

3. System Model

As shown in Figure 1, the scenario we are studying is a wide-area scenario with a sufficient number of depots acting as supply stations. The scenario includes multiple depots, several trucks, a group of customers, and multiple UAVs. In this scenario, the multi-UAV logistics mission-planning problem can be described as follows: In a known environment, there are Q depots that can serve as supply stations to replenish energy and packages for UAVs and trucks and can also serve as the starting or ending points for each UAV and truck delivery mission; there are F customers, who are the task points requiring package delivery; and there are E trucks, which are responsible for delivering packages that are overweight and beyond the UAV delivery range. Trucks have load limitations but no driving distance restrictions; there are N UAVs, which have load and energy storage limitations. The task is to assign missions to UAVs and trucks and plan their routes under the conditions of the UAVs’ load and energy limitations and the trucks’ load limitations so as to minimize the overall energy consumption of completing all delivery tasks. For any depot taken as the center of a circle, with the radius being half of the maximum flying distance of a UAV, the final result obtained by the intersection of circles drawn based on all depots is the delivery range of the UAVs.
Due to the energy and load limitations of the UAVs, it is impossible for a UAV to complete all tasks in one flight. Therefore, it is necessary to arrange depots in a timely manner for the UAVs to land and replenish energy. This means we need to plan the takeoff and landing depots for the UAVs, as well as the delivery tasks to be completed after takeoff. Excluding task points not within the UAV delivery range, considering task points within the delivery range with package weights exceeding the maximum load of the UAVs, these task points must be delivered by trucks. The set of task points for which UAVs are responsible is denoted as S U , and the set of task points for which trucks are responsible is denoted as S T . It should be noted that trucks have load limitations and can only carry a certain weight of packages at a time. Therefore, the problem that needs to be studied is how to reasonably allocate tasks to UAVs and trucks without exceeding the limitations and minimizing the overall cost.
We define the set of depots within the task area as D = { D 1 , D 2 , , D Q } , where D q represents the q-th depot. We define the set of UAVs participating in the distribution as U = { U 1 , U 2 , , U N } , where U n represents the n-th UAV, and we define the maximum flight distance of the UAVs as L m a x and the maximum load capacity as M m a x u . We define the set of trucks participating in the distribution as T = { T 1 , T 2 , , T E } , where T e represents the e-th truck and the maximum load capacity of the truck is M m a x t . We define the set of task points within the task area as S = { S 1 , S 2 , , S F } , where S f represents task point f and it is stipulated that each task point can only be executed once. The weights of the packages corresponding to each task point are different. We define M = { M 1 , M 2 , , M F } as the package weights of each task point, where M F represents the package weight of task point f. There are many factors influencing the task allocation of collaborative distribution based on independent UAVs. The important notations are defined in Table 1.
In order to simplify the model, reduce the difficulty of model solution, and ensure maximum consistency with actual UAV delivery, the following reasonable assumptions are made for model construction:
  • UAVs do not encounter obstacles during flight.
  • The energy consumption of UAVs caused by take-off, landing, and natural factors is ignored.
  • The flight speed of UAVs is constant, and the driving speed of transport vehicles is constant.
  • All distribution tasks are equally important. In the same environment, there is no priority ranking for package distribution, and the model does not consider the time window for the delivery of materials for the time being.
The specific distribution process is shown in Figure 1, where the solid lines represent the routes of the trucks and the dashed lines represent the flight routes of the UAVs. Suppose a scenario contains three depots and ten task points, as well as two UAVs and two trucks. The initial docking points of UAV U 1 and U 2 are at depot D 1 and D 2 , respectively, and the initial docking points of trucks T 1 and T 2 are at D 1 and D 3 , respectively. UAV U 1 takes off from depot D 1 , then executes tasks S 2 to S 5 along the route before landing at depot D 2 . At the same time, UAV U 2 takes off from depot D 2 , then executes tasks S 6 and S 7 along the route before landing at depot D 3 . After replenishing the power and goods, it takes off again, executes tasks S 8 and S 9 along the route, and lands at depot D 3 . Truck T 1 departs from D 1 , executes all tasks along the route, and finally arrives at depot D 1 . Truck T 2 departs from D 3 , executes all tasks along the route, and finally arrives at depot D 3 . The purpose of our research is to assign appropriate tasks to UAVs and trucks and plan their routes under the constraints of UAVs and trucks so as to complete all distribution tasks and minimize the final total cost. In addition, some constraints that need to be satisfied for the task-planning problem of the truck–independent UAV system are described as follows:
  • The take-off and landing points of each UAV flight can only be depots, and UAVs cannot dock elsewhere.
  • If a UAV lands at a certain depot, it can take off again only after replenishing energy and packages.
  • Each task point must be delivered to, can only be delivered to once by either a UAV or a truck, and cannot be delivered to repeatedly.
  • Each UAV flight can deliver to one or more task points. The total distance of each UAV flight task shall not exceed the maximum flight distance ( L m a x ) of the UAV, and the total weight of the carried packages shall not exceed the total load ( M m a x u ) of the UAV.
  • The total weight of the packages carried by the truck for each task shall not exceed the total load ( M m a x t ) of the truck.
In the task environment, the packages at each task point may be delivered by UAVs or trucks. Referring to [23], the formulas for UAVs and trucks are defined as follows:
x ( a , b ) = 1 , The   UAV   will   fly   from   task   point   a   to   task   point   b 0 , The   UAV   will   not   fly   from   task   point   a   to   task   point   b
y ( a , b ) = 1 , The   truck   will   travel   from   task   point   a   to   task   point   b 0 , The   truck   will   not   travel   from   task   point   a   to   task   point   b
The constraints that need to be satisfied for the task-planning problem of the truck-independent UAV system are defined as follows:
  • Each task point must be delivered to and can only be delivered to once by either a UAV or a truck, without repetition, that is,
    a , b S x a , b + y a , b = F ,
  • Each UAV flight can deliver to one or more task points. The total distance of each UAV flight task shall not exceed the maximum flight distance ( L m a x ) of the UAV, and the total weight of the carried packages shall not exceed the total load ( M m a x u ) of the UAV. We use R U = { R U 1 , R U 2 , , R U N } to represent the set of task sets for N UAVs and  R U k = { R U k 1 , R U k 2 , } to represent the route arranged for UAV U k , where R U k i represents a flight task of the UAV. Therefore, for each flight task ( R U k i ) of the UAV, its total flight distance ( L R U k i ) should be less than L m a x , and its total load ( M R U k i ) should be less than M m a x u , that is,
    L R U k i < L m a x , R U k i R U k ,
    M R U k i < M m a x u , R U k i R U k ,
  • The total weight of the packages carried by the truck for each task shall not exceed the total load ( M m a x t ) of the truck. We use R T = { R T 1 , R T 2 , , R T E } to represent the set of task sets for E trucks and  R T k = { R T k 1 , R T k 2 , } to represent the route arranged for truck k, where R T k j represents the route of a single task of truck k. The following conditions need to be met:
    M R T k j < M m a x t , R T k j R T k .
Let d i s t ( a , b ) denote the Euclidean distance between task point a and task point b. Then, the flight distance ( L R U k i ) of the flight task ( R U k i ) of UAV U k is given by
L R U k i = a , b R U k i x a , b d i s t ( a , b ) , R U k i R U k .
The travel distance of a single task ( R T k j ) of truck T k is:
L R T k j = a , b R T k j y a , b d i s t ( a , b ) , R T k j R T k j .
The objective of the task-planning problem for the truck-independent UAV system is to minimize the energy consumption of UAVs and trucks. According to the aircraft energy consumption model in aerodynamics theory, when a UAV flies at a fixed altitude, its propulsion energy consumption is a function of the flight trajectory. Referring to [18], we ignore the communication energy consumption of the UAV during flight and the change in the effective load during the delivery process. Therefore, the energy consumption of a single flight task ( R U k i ) of UAV U k can be expressed as follows:
W R U k i = w d + G L R U k i P 370 η γ P e , R U k i R U k ,
where w d represents the self-weight of the UAV, G represents the effective load, P represents the maximum power of the UAV, η represents the conversion efficiency of the UAV’s motor, γ represents the lift ratio, and e represents the energy loss of the UAV’s battery. Furthermore, the total energy consumption ( W U ) of all UAVs can be expressed as follows:
W U = R U k R U R U k i R U k W R U k i , i = 1 , 2 , , | R U k | .
We define ρ v as the energy consumption per unit distance traveled by a truck. Thus, the total energy consumption of a truck can be obtained as follows:
W T = R T k R T R T k j R T k ρ v L R T k j , j = 1 , 2 , , | R T k | .
Based on the above description of the task-planning problem for the truck-independent UAV system, as well as the definitions of the constraints and the objective function, it can be seen that our goal is to minimize the total energy consumption of the system under the constraints of the UAVs’ load and energy limitations and the truck’s load limitation. This problem not only involves a combinatorial optimization problem among various task points but also includes the shortest path problem, which is an optimization problem under multiple constraints. Through the above analysis, the task-planning problem for the truck-independent UAV system can be described as follows:
min W = W U + W T s . t . ( 3 ) ( 6 )

4. Proposed Algorithm

In the previous section, we analyzed the logistics task allocation problem of a truck-independent UAV system in a known environment and established a mathematical model. In this section, we mainly design corresponding solution methods to solve the above problem model.

4.1. Sub-Path Allocation

This section discusses how to assign the task points in the scenario to UAVs and trucks under the constraints of load and energy and reasonably arrange each of their tasks so as to minimize the total energy consumption of the system while completing all tasks. Our problem is similar to the multi-task problem with few agents proposed in [25], which involves not only the combinatorial optimization problem of depots and task points but also the shortest path problem. Differing from the multi-task problem with few agents, we require that each task point be delivered to—and only once. Nevertheless, we can still obtain all possible combinations of depots and task points in advance and obtain a better solution to the combinatorial optimization problem by constructing the minimum-cost, maximum-flow (MCMF) model [26,27].
Before transforming the task-planning problem into the MCMF problem, it is necessary to first define each task of UAVs and trucks. Each time UAVs and trucks execute a task, they need to take off from a depot, complete the delivery tasks, and land at a depot. We define the depot–task set–depot combination as L S L = { D 1 , D 2 , r 1 , r 2 , } , where the first two elements ( D 1 and D 2 ) are depots and the third and subsequent elements represent the delivery tasks to be executed in one task, with a variable number of delivery tasks each time.
The minimum-cost, maximum-flow problem aims to find an optimal path with the minimum cost and the maximum flow. Therefore, we choose to transform the task-planning problem into the minimum-cost, maximum-flow problem, that is, to find the L S L combination with the minimum energy consumption that covers all task points. We construct a new MCMF model according to the constraints in the problem and use the minimum-cost, maximum-flow theory to obtain the optimal L S L combination. However, the ordinary MCMF model cannot be directly used, and several issues still need attention [28]:
  • It is impossible to solve the problem with only task points in the flow network?
  • How should the path of each UAV flight task be represented in the model?
  • How should the requirements of UAV load and energy be embodied in the model?
Considering the three problems mentioned above, we can construct MCMF models for UAVs and trucks. The construction methods for are the same for both. We take a UAV as an example, as shown in Figure 2, denoted as G U . It is known that the flow network of the MCMF model is a flow–cost network graph, where each edge has two attributes: capacity and cost. The capacity of an edge represents the maximum flow that can pass through this edge, and the cost represents the cost per unit of flow passing through this edge. We model the number of completed tasks as the flow and use the flight distance of a single UAV flight task to represent the cost on the corresponding edge. Next is a detailed description of the flow–cost network graph ( G U ).
The edges connecting each node have two attributes: capacity and cost. We set different capacities and costs for each edge to meet the load and energy limitations of the UAV. The nodes in graph G U can be classified into four categories. One category consists of the auxiliary nodes added to the model, which serve as the source and sink nodes of graph G U . The other three categories of nodes are depot combination nodes, task-set nodes, and task nodes. Detailed descriptions of these three categories of nodes are presented as follows:
  • Depot combination nodes: Since the UAVs are independent, considering the energy and load limitations, a UAV needs to land at a nearby depot to recharge and restock packages before its energy is exhausted. The take-off depot and the landing depot can be either the same or different. For trucks, due to their load limitations, they can only carry a certain weight of packages each time. After finishing a delivery task, if they need to start another trip, they also have to reach a depot to replenish packages. Similarly, the starting depot and the ending depot of a truck can be the same or different. Consequently, each depot combination contains the starting and ending points of a single delivery task for either a truck or a UAV. These starting and ending points may be identical or distinct. In total, there are C Q 2 + Q depot combination nodes. As shown in Figure 2, we add these depot combinations to the graph ( G U ) as first-level nodes, namely depot combination nodes, which are denoted by blue dots. Therefore, there are C Q 2 + Q depot combination nodes in graph G U . We define the set of depot combinations as D D = { D D 1 , D D 2 , , D D C Q 2 + Q } , where D D k = { D i , D j } with i , j { 1 , 2 , , Q } representing a depot combination.
  • Task-set nodes: Due to the limitations of the UAV’s load and energy, the number of tasks that a UAV can execute in each flight is limited. Therefore, the tasks assigned to the UAV in the scenario need to be carried out in multiple flights. For a UAV, different depot combinations can result in different L S L s for the task points it is responsible for, and these L S L s are all possible flight tasks for the UAV. Our goal is to select several L S L s among these candidates. These selected L S L s should cover all the tasks assigned to the UAV in the scenario while minimizing the UAV’s energy consumption, and there should be no overlap in the task points among different L S L s. The task points assigned to the UAV and all the depots in the scenario can form a complete undirected graph, where the weight of each edge is the Euclidean distance between two task points. For all depot combinations, the depth-first search algorithm is used to obtain all paths between any two depots in the complete undirected graph. Considering the load and energy limitations of the UAV, all paths with a total distance greater than L m a x and a total load greater than M m a x u are removed. Thus, the remaining paths are all feasible paths for the UAV. Each path can be converted into an L S L combination, and all the task points in the combination can form a task set. We list the task sets of all feasible paths and add them to graph G U as second-level nodes, that is, task-set nodes, which are represented by green dots, as shown in Figure 2. Assuming that the total number of feasible paths for the UAV in the scenario is T, there are T task-set nodes in graph G U . The same principle applies to trucks.
  • Task nodes: Since the tasks contained in each task set cannot be reflected in the nodes, we add all the task points that the UAV is responsible for to the graph ( G U ) as task nodes, which are third-level nodes and represented by yellow dots, as shown in Figure 2. Each task node contains only one task point. Taking the UAV as an example, assuming that the number of task points that the UAV is responsible for is N u m , there are N u m task nodes in graph G U . The same applies to trucks.
In addition, we use different capacities and costs to represent the different requirements of each edge. Introductions to the various types of edges are presented as follows:
  • Edges between depot combination nodes and task-set nodes: As mentioned previously, the depth-first search algorithm can be used to obtain all feasible paths of the UAV and the total length of each feasible path. Each feasible path is composed of a task-set node and a depot combination node. If a task-set node and a specific depot combination node can form a feasible path, there exists an edge between this task-set node and this depot combination node. The cost of this edge represents the total length of the corresponding feasible path. For an L S L combination ( L S L k ), the corresponding set of task points may have different execution orders. We select the execution order with the minimum total distance as the final result and record this distance as D ( L S L k ) . In this paper, a depot combination may plan multiple UAV routes simultaneously, that is, an edge may exist between a depot combination node and multiple task-set nodes. Aside from these edges, the cost of edges between other nodes is 0 because the other edges represent the corresponding relationships between different nodes rather than the moving distance. In addition, the capacity of the edge between a depot combination node and a task-set node is the number of task points in the task-set node, that is, | L S L k | 2 . It should be noted that the flow on the edge between a depot combination node and a task-set node is either 0 or | L S L k | 2 , and the flow cannot be adjusted gradually because each UAV flight task is completed at one time.
  • Edges between the source node and depot combination nodes: As we know from the previous content, each depot combination node may be connected to multiple task-set nodes. Therefore, it is possible that the starting point and the ending point of each task are the same depot combination. Taking a UAV as an example, assuming that the number of task points that the UAV is responsible for is N u m , the maximum capacity of the edge between the source node and the depot combination node in the minimum-cost, maximum-flow model of the UAV is the total number of task points N u m , as shown in Figure 2.
  • Edges between task-set nodes and task nodes: The edges between task-set nodes and task nodes represent the corresponding relationship between task sets and tasks, that is, a task-set node is only connected to the task nodes corresponding to the task points it contains. Therefore, the capacity of the edge between a task-set node and a task node is 1, and the cost is 0.
  • Edges between task nodes and the sink node: The capacity of the edge between a task node and the sink node is set to 1, which means that each task point can only be executed once. Similarly, the cost of the edge between them is 0.
In summary, based on the assumptions made above, we can construct a flow network ( G U = ( V , E , C , ω ) , where C represents the capacity of each edge and ω represents the total cost of each edge). We propose an algorithm for selecting the L S L combination with the shortest total path from the MCMF model. The pseudocode of the algorithm is shown in Algorithm 1.
First, as shown in lines 1–7 of Algorithm 1, we need to construct the capacity network ( G = ( V , E , C , ω ) ) of the MCMF model according to the task points in the scenario and all depots and initialize the flow (f) as the path corresponding to the L S L with the minimum cost. We calculate the total cost of the final feasible flow obtained by continuously searching for augmenting paths in the remaining network without adjustment, with f as the initial flow. This total cost is c o s t m i n . Thus, we can obtain the total cost of the final flow obtained with f as the initial flow in G f .
Algorithm 1 Allocate depot–task set–depot combinations for UAVs
  • Input: Depot combinations DD, the set of task points S U that the UAV is responsible for.
  • Output: The set of LSLs contained in f, denoted as L S L u = { L S L u 1 , L S L u 2 , }
  • 1. Initialize the capacity network G U = ( V , E , C , ω ) of the UAV’s MCMF model.
  • 2. Function  C o s t f (the feasible flow f)
  • 3.       While there are still augmenting paths in the capacity network G f
  • 4.             Select an augmenting path p * that does not conflict with f from the incremental network G f of f;
  • 5.             Increase the flow of f according to p * .
  • 6.       End While
  • 7. Return f, the total cost of f.
  • 8. Initialize f as the path corresponding to the L S L with the minimum cost, and the capacity is the number of task points in this L S L ;
  • 9. c o s t m i n = C o s t f ( f ) ;
  • 10. For take out L S L k in ascending order of cost
  • 11.       If the task points in L S L k do not conflict with f
  • 12.             Increase the flow of f according to the path where L S L k is located;
  • 13.       Else
  • 14.              f L S L k = f ;
  • 15.             Release all paths where the task points that conflict with L S L k are located in f L S L k , and increase the flow of f L S L k according to L S L k ;
  • 16.              ( f L S L k , c o s t L S L k ) = C o s t f ( f L S L k ) ;
  • 17.             If  c o s t L S L k < c o s t m i n
  • 18.                   Delete all paths from s to t in f L S L k whose costs are greater than those of L S L k , and let f = f L S L k .
  • 19.             End If
  • 20.       End If
  • 21. End For
Afterwards, as shown in lines 8–21 of Algorithm 1, we take out the combinations ( L S L k ) of depot combination nodes and task-set nodes in graph G in ascending order of the total cost. If the task points in L S L k do not conflict with f, then the flow of f is increased according to L S L k ; otherwise, it is necessary to judge whether f needs to be adjusted. Let f L S L k = f ; then, all paths where the task points that conflict with L S L k are located in f L S L k are released, and the flow of f L S L k is increased according to the path where L S L k is located. The final feasible flow ( f L S L k ) is obtained by continuously searching for augmenting paths without adjustment, with  f L S L k as the initial flow and a total cost of C o s t L S L k . If  C o s t L S L k < c o s t m i n , there is a better initial flow than the result obtained by using f as the initial flow. All paths corresponding to the R S R in f L S L k whose costs are greater than those of L S L k are deleted, and the adjusted f L S L k is taken as the new initial flow, that is, f = f L S L k . Eventually, the optimal solution can be found in the capacity network (G).
In Algorithm 1, according to the backtracking idea in the MCMF theory, the combinations of the L S L values are continuously adjusted until the set of L S L s with the minimum total cost, denoted as L S L u , is obtained. The set of depot–task set–depot combinations that cover all the task points of UAVs and have the minimum cost in the scenario is obtained and denoted as L S L u = { L S L u 1 , L S L u 2 , } , where L S L u k represents the k-th feasible path of the UAV. Similarly, for trucks, the set of depot–task set–depot combinations that cover all the task points of trucks and have the minimum cost can be obtained and denoted as L S L t = { L S L t 1 , L S L t 2 , } , where L S L t k represents the k-th feasible path of the truck. It can be concluded that the time complexity of Algorithm 1 is O ( Q 2 N u m 2 ) + O ( T Q N u m 2 ( N u m + Q + T ) ) . The term O ( Q 2 N u m 2 ) represents the complexity of finding all feasible L S L s through the depth-first search algorithm. The term O ( T Q N u m 2 ( N u m + Q + T ) ) represents the complexity of finding the optimal solution in the flow network (G) of the MCMF model.

4.2. Initial Route Planning

As mentioned above, we construct the MCMF model for the task-planning problem of the truck-independent UAV system to obtain a set of all feasible paths. This set includes the feasible paths ( L S L t ) for trucks and the feasible paths ( L S L u ) for UAVs. Since the problem of planning paths for UAVs or trucks according to the feasible paths is the same, the following takes path planning for UAVs as an example to describe the algorithm in detail. There are N UAVs in the scenario. Therefore, we need to construct all the L S L s in L S L u as continuous paths whose number is no more than N. The same principle applies to trucks.
Before planning paths for UAVs, it should be noted that the first flight mission, i.e., the first depot–task set–depot combination, selected by each UAV departing from its initial depot often has an impact on subsequent path selections. As shown in Figure 3, assume that the initial docking depots of UAVs U 1 and U 2 in the scenario are D 1 and D 3 , respectively. If  U 1 chooses to execute L S L u 1 first and U 2 chooses to execute L S L u 3 first, then U 1 will land at D 2 and can continue to execute L S L u 2 . If U 1 chooses to execute L S L u 1 first and U 2 chooses to execute L S L u 2 first, then both U 1 and U 2 will land at D 2 . At this time, since the depot combination of L S L u 3 does not contain D 2 , neither U 1 nor U 2 can continue to execute L S L u 2 . Therefore, there is a possibility that these combinations cannot form continuous executable paths containing the maximum number of L S L s simply by the matching method.
To solve this problem, for all the L S L s obtained previously, according to the initial docking depots of each UAV, we propose an algorithm using a resource tree [29] to obtain all the sequences of L S L s that can be executed sequentially, that is, the initial paths of N UAVs. Then, the insertion method is used to find the optimal insertion points for the feasible paths that are not included in the initial paths. When obtaining the sequences of L S L s that can be executed sequentially as the initial paths for all UAVs, the main consideration is whether the depots in every two L S L s overlap. The overlapping depots can serve as the landing depot of the previous L S L and the take-off depot of the subsequent L S L , while the order of the task sets does not need to be considered. Therefore, we simplify each L S L to the corresponding depot combination ( D D k ), and depot combinations with different depot orders can be regarded as the same depot combination. It should be noted that different L S L s may have the same depot combination. Therefore, a parameter ( N u m k ) is set for each depot combination ( D D k ) to represent the number of the depot combinations in L S L u , which is used to judge whether the depot combination can be added to the path.
First, according to the initial docking depots of each UAV, we can obtain all depot combinations that contain the initial docking depots. By performing a full permutation of the depot combinations for each UAV, we can determine all the possibilities of the first flight mission sets for each UAV. Afterwards, according to the N u m k parameter, the sets of depot combinations that exceed the upper limit are deleted. Taking Figure 3 as an example, the set of depot combinations is D D = { D D 1 , D D 2 , D D 3 } , where D D 1 = { D 1 , D 2 } , D D 2 = { D 2 , D 3 } , and  D D 3 = { D 3 , D 1 } . Their corresponding parameters are N u m 1 = 1 , N u m 2 = 1 , and  N u m 3 = 1 , respectively. Assume that the initial docking depots of UAV U 1 and U 2 are D 1 and D 3 , respectively. Then, the paths that can be the first flight mission of U 1 are L S L u 1 and L S L u 3 , and the paths that can be the first flight mission of U 2 are L S L u 2 and L S L u 3 . Therefore, all the combinations of the first flight missions of UAV U 1 and U 2 are { L S L u 1 , L S L u 2 } , { L S L u 1 , L S L u 3 } , { L S L u 3 , L S L u 2 } , and  { L S L u 3 , L S L u 3 } . Their corresponding depot combinations are { { D 1 , D 2 } , { D 3 , D 2 } } , { { D 1 , D 2 } , { D 3 , D 1 } } , { { D 1 , D 3 } , { D 3 , D 2 } } , and  { { D 1 , D 3 } , { D 3 , D 1 } } , respectively. Obviously, in  { { D 1 , D 3 } , { D 3 , D 1 } } , there is a repeated depot combination ( { D 1 , D 3 } ), and it is known that N u m 3 = 1 , which means that there is only one depot combination ( { D 1 , D 3 } ) in L S L u , and it can only be used once. Therefore, { { D 1 , D 3 } , { D 3 , D 1 } } , which uses the combination twice, does not meet the requirements and is removed.
After obtaining all the possibilities of the first depot combination sets (flight mission sets) for each UAV, these sets are used as the first-level nodes of the resource tree, and an auxiliary node s is used as the root node of the tree to connect all the first-level nodes, thereby forming the initial state of the resource tree. Let the initial path be P a t h = Φ . The algorithm based on the resource tree combined with the depth-first search idea is used to select the initial path for the UAV. The pseudocode of the algorithm is shown in Algorithm 2, and the main steps are outlined as follows:
  • Initialize S t a c k as an empty stack, and take out the root node (s) and its first direct child node and put them into S t a c k . Except for the root node, the nodes stored in S t a c k are all sets of depot combinations.
  • Take out the first node from S t a c k as the current node, obtain the set of its depot combinations, and successively subtract 1 from the parameter ( N u m k ) corresponding to each depot combination ( D D k = { D i , D j } ) in the set, indicating that the usage frequency of this combination is reduced by one. After that, check whether this set can be used to assign the next flight mission for the UAV, that is, to add the next-level node. The inspection criteria are as described follows: If all the parameters corresponding to the combinations in D D are 0, all depot combinations have been assigned, that is, the path from the root node to the current node is the appropriate initial path, denoted as Path = Stack excluding the first root node + the set of depot combinations of the current node, and the algorithm ends; otherwise, for this set, execute step 3.
  • For each depot combination ( D D k = { D i , D j } ) in the set of depot combinations, search in D D for depot combinations that contain D j . Depot combinations with a parameter equal to 0 are not considered. Let D D k t e m p = Φ be used to store all depot combinations that may serve as the next flight mission for D D k . If there is one or more combinations that meet the requirements, execute step 4; if there are no such combinations, do not operate on D D k t e m p . After traversing all combinations, execute step 5.
  • Judge each combination ( D D η = { D j , D l } ) in D D k t e m p in turn. If  N u m η > 0 , D D η can be used as the next flight mission. Let D D k t e m p = D D k t e m p + { D D η } . After the traversal is completed, return to step 3.
  • If D D k t e m p for each combination is N U L L , this node cannot find the next-level node downward. Then, it is necessary to judge whether the sum of the parameters corresponding to all combinations in the current D D is smaller than the sum of the parameters corresponding to P a t h . If it is smaller than the sum of the parameters corresponding to P a t h , the current path contains more depot combinations and is a better initial path. Let Path = Stack excluding the root node + the set of depot combinations corresponding to the current node, and execute step 7; otherwise, perform a full permutation on D D k t e m p corresponding to each D D k to obtain sets of multiple depot combinations. If  D D k t e m p is empty, fill it with N u l l during the permutation, then execute step 6.
  • Obtain a set in turn, and make the following judgments for each depot combination ( D D λ ) in the set: If the N u m λ > 0 , subtract 1 from N u m λ . At this time, if all combinations in the set have been traversed, add this set as a child node of the current node to the resource tree and mark it as unvisited; If the N u m λ parameter of D D λ is 0, this depot combination cannot be used anymore, that is, D D λ is infeasible. Directly judge the next set. After the traversal of all sets is completed, execute step 7.
  • If there are unvisited direct child nodes of the current node, add the current node and these direct child nodes to S t a c k in turn, and execute step 2; otherwise, judge whether there are unvisited direct child nodes of the parent node of the current node. If there is still none, continue to search upward according to step (7), and at the same time, remove the corresponding nodes from S t a c k . During this process, continuously reverse all parameter adjustments until S t a c k is empty, and the algorithm ends.
To better understand Algorithm 2, we give provide a simple example for illustration. The constructed resource tree is shown in Figure 4. Still taking Figure 3 as an example, assume that the initial docking depots of UAVs U 1 and U 2 are D 1 and D 3 , respectively. As mentioned above, the sets of all depot combinations for the first flight mission of each UAV are { { D 1 , D 2 } , { D 3 , D 2 } } , { { D 1 , D 2 } , { D 3 , D 1 } } , and  { { D 1 , D 3 } , { D 3 , D 2 } } . In the initially constructed resource tree, there is a root node (s) and three child nodes of the root node, which are the above three sets of depot combinations. Therefore, we initialize S t a c k = { { { D 1 , D 2 } , { D 3 , D 2 } } , s } and P a t h = Φ . At this time, the sum of the parameters corresponding to P a t h is 3. Then, we the first node ( { { D 1 , D 2 } , { D 3 , D 2 } } ) from S t a c k as the current node. After subtracting 1 from the parameters corresponding to the depot combinations in the current node to indicate that they have been used once, S t a c k = { s } . At this time, there are two depot combinations in the current node, and we judge them one by one. First, we perform the corresponding operation on { D 1 , D 2 } , let N u m 1 = 0 , and search for depot combinations that contain D 2 among the remaining depot combinations. Since the parameters of both { D 1 , D 2 } and { D 2 , D 3 } are 0 at this time, we obtain D D 1 t e m p = Φ . Similarly, D D 2 t e m p = Φ . Both D D 1 t e m p and D D 2 t e m p being empty means that this node cannot find the next-level node downward. It is easy to know that the sum of the parameters is 1 at this time and is less than 3, so we record P a t h = { { { D 1 , D 2 } , { D 3 , D 2 } } } , and the sum of the parameters corresponding to P a t h is 1 at this time. Since there are no unvisited child nodes of the current node but its parent node has an unvisited direct child node { { D 1 , D 2 } , { D 3 , D 1 } } , S t a c k = { { { D 1 , D 2 } , { D 3 , D 1 } } , s } , and the parameter adjustments of the state of the parent node of this node are reversed, that is, N u m 1 = 1 , N u m 2 = 1 , and  N u m 3 = 1 .
Algorithm 2 Construct the Initial Path
  • Input: The set of depot combinations D D = { D D 1 , D D 2 , , D D N } composed of L S L u or L S L t .
  • Output: The initial path P a t h .
  • 1. Initialize stack Stack = {the first direct child node of s, s}, P a t h = Φ .
  • 2. While  S t a c k Φ
  • 3.       Take the first node from S t a c k as the current node.
  • 4.       For each depot combination D D k = { D i , D j } in the set of depot combinations
  • 5.              N u m k = N u m k 1 , D D k t e m p = Φ .
  • 6.             If it is the final result of assigning all depot combinations
  • 7.                   Record the result with P a t h and end the algorithm.
  • 8.             Else
  • 9.                   Select the candidate depots for constructing the next node for each UAV,
  • 10.                  Record them with D D k t e m p .
  • 11.             End If
  • 12.             If  D D k t e m p for each combination is empty
  • 13.                   If the sum of the parameters in the current D D < P a t h
  • 14.                         Let P a t h = S t a c k excluding the first root node + the set of depot combinations of the current node.
  • 15.                   End If
  • 16.             Else
  • 17.                   Perform a full permutation on D D k t e m p corresponding to each D D k .
  • 18.                   If the obtained sets of depot combinations can be used as child nodes of the current node
  • 19.                       Add them to the resource tree and set their status to unvisited.
  • 20.                   End If
  • 21.             End If
  • 22.       End For
  • 23.       If there are unvisited direct child nodes of the current node
  • 24.             Add the current node and these direct child nodes to S t a c k in turn.
  • 25.       Else
  • 26.             keep looking upward for the parent node with unvisited direct child nodes,
  • 27.             Remove the corresponding nodes from S t a c k and reverse the status of all parameters until S t a c k = Φ .
  • 28. End While
If S t a c k is not empty, the first node ( { { D 1 , D 2 } , { D 3 , D 1 } } ) from S t a c k is taken as the current node again. After performing corresponding operations on the parameters, S t a c k = { s } . There are two depot combinations in the current node, and we judge them one by one. First, we perform the corresponding operation on { D 1 , D 2 } , let N u m 1 = 0 , and search for depot combinations that contain D 2 in D D . Since the N u m 1 parameter of { D 1 , D 2 } is 0, it cannot be added to D D 1 t e m p , and the N u m 2 parameter of { D 2 , D 3 } is 1, so it can be added to D D 1 t e m p , that is, D D 1 t e m p = { { D 2 , D 3 } } . Similarly, D D 3 t e m p = Φ . Since D D 1 t e m p and D D 3 t e m p are not both empty, the result of the full permutation of them to obtain sets of depot combinations is { { { D 2 , D 3 } , N u l l } } . Next, we need to judge each obtained set of depot combinations to see whether it can become a child node of the tree. For { { D 2 , D 3 } , N u l l } , N u l l has no parameter, and we change the parameter of { D 3 , D 2 } to N u m 2 = 0 . At this time, the parameters of all combinations in the set are greater than or equal to 0. Therefore, this set can be inserted into the resource tree as a child node of the current node, and the status of this child node is set to unvisited. Since there is an unvisited child node ( { { D 2 , D 3 } , N u l l } ) of the current node, we add the current node and this direct child node to S t a c k in turn. Then, S t a c k = { { { D 2 , D 3 } , N u l l } , { { D 1 , D 2 } , { D 3 , D 1 } } , s } .
We take the first node ( { { D 2 , D 3 } , N u l l } ) from S t a c k as the current node again. It is easy to know that the sum of all adjusted parameters is 0, which means that all depot combinations in D D have been assigned. Therefore, the path from the root node to the current node, excluding the root node, is the final initial path, and we do not continue to look for other possibilities. Therefore, the initial path is P a t h = { { { D 1 , D 2 } , { D 3 , D 1 } } , { { D 2 , D 3 } , N u l l } } . Each set of depot combinations represents a flight mission of a group of UAVs, that is, the initial path of UAV U 1 can be represented by depot combinations as { { D 1 , D 2 } , { D 2 , D 3 } } , and the initial path of UAV U 2 can be represented by depot combinations as { { D 3 , D 1 } } .
After obtaining the initial paths of each UAV, we select the corresponding L S L s from L S L u according to the depot combinations to form a complete flight path. Therefore, the initial path of UAV U k can be defined as R U k = { L S L u k 1 , L S L u k 2 , } .

4.3. Global Route Adjustment

Considering that there may still be a small number of depot–task set–depot combinations that are not included after constructing the initial paths, it is necessary to insert the remaining depot–task set–depot combinations into the known initial paths. We refer to the remaining depot–task set–depot combinations as candidate depot–task set–depot combinations, denoted by the set expressed as C L S L = { L S L u c 1 , L S L u c 2 , } . In this section, we use the insertion method to select the optimal insertion point for each candidate combination in the initial paths of all UAVs in turn and insert the candidate depot–task set–depot combination into this optimal insertion point. The selection criterion for the optimal insertion point is that the total distance of the new path is the shortest after inserting the candidate combination.
As shown in Figure 5, the candidate L S L can be inserted at the beginning or end of R U k and between two adjacent L S L s. We list three different situations that exist when inserting the candidate L S L into the initial paths of each UAV and provide corresponding adjustment methods. The initial path ( R U k = { L S L u k 1 , L S L u k 2 , , L S L u k δ } ) of UAV U k contains | R U k | depot–task set–depot combinations, which means there are | R U k | + 1 insertion points. Taking the initial path ( R U k ) of UAV U k and the candidate depot—task set–depot combination ( L S L u c j ) as an example, the specific description is presented as follows:
  • Insertion at the beginning of R U k : The insertion position (p) is shown in Figure 5a. We use D z to denote the first take-off depot in R U k , that is, D z = D u k 11 . If D u c j 1 = D u c j 2 = D z , then the candidate depot–task set–depot combination ( L S L u c j 1 ) must already be in the initial path, so this situation will not occur.
    If D u c j 1 = D z and D u c j 1 D u c j 2 , then we insert L S L u c j directly into position p with D u c j 1 as the take-off depot. Obviously, the distance from D u c j 2 directly to the first task point in combination L S L u k 1 is shorter than the distance from D u c j 2 to D z , then to the first task point in combination L S L u k 1 . Therefore, we choose to let the UAV take off from D u c j 2 , then directly execute the first task point in L S L u k 1 instead of going to take-off point D z . We stipulate that for a depot–task set–depot combination (A), when one of its depots (a) is replaced by another depot (b), the flight distance of the new A can be defined as L b ( A , a ) . Thus, the total flight distance of the new combination after replacing depot D z in L S L u k 1 with D u c j 2 is L D u c j 2 ( L S L u k 1 , D z ) . Therefore, after inserting the candidate combination ( L S L u c j ) into the beginning of R U k , the total distance of the new R U k can be expressed as follows:
    L ( R U k p L S L u c j ) = L ( R U k ) + L ( L S L u c j ) L ( L S L u k 1 ) + L D u c j 2 ( L S L u k 1 , D z )
    where L ( R U k p L S L u c j ) represents the total length of the new R U k after inserting combination L S L u c j into position p of R U k , and L ( R U k ) and L ( L S L u k 1 ) represent the total distances of R U k and L S L u k 1 , respectively. When D u c j 2 = D z and D u c j 1 D u c j 2 , the same principle applies. We insert L S L u c j directly into position p with D u c j 2 as the take-off depot and, at the same time, replace the take-off depot of L S L u k 1 with D u c j 1 .
    If D u c j 1 D z and D u c j 2 D z , where D u c j 1 and D u c j 2 may be the same or different, it is necessary to calculate the total distances of the new R U k after inserting L S L u c j into position p when replacing D u c j 1 with D z and replacing D u c j 2 with D z , then select the minimum one as the final result. At the same time, the take-off depot of L S L u k 1 should be replaced with the depot in L S L u c j that has not been replaced. The total flight distance of R U k after inserting L S L u c j is expressed as follows:
    L D u c j 1 ( R U k p L S L u c j ) = L ( R U k ) L ( L S L u k 1 ) + L D u c j 2 ( L S L u k 1 , D z ) + L D z ( L S L u c j , D u c j 1 ) ,
    L D u c j 2 ( R U k p L S L u c j ) = L ( R U k ) L ( L S L u k 1 ) + L D u c j 1 ( L S L u k 1 , D z ) + L D z ( L S L u c j , D u c j 2 ) ,
    L ( R U k L S L u c j ) = m i n { L D u c j 1 ( R U k p L S L u c j ) , L D u c j 2 ( R U k p L S L u c j ) } .
    where L D u c j 1 ( R U k p L S L u c j ) and L D u c j 2 ( R U k p L S L u c j ) represent the total flight distances of R U k after inserting the candidate depot combination ( L S L u c j ) and D u c j 1 and D u c j 2 indicate which depot in L S L u c j is replaced with D z .
  • Insertion at the end of R U k : The insertion position (p) is shown in Figure 5b. We use D z to denote the last landing depot in R U k , that is, D z = D u k δ 2 . If D u c j 1 = D u c j 2 = D z , then L S L u c j can be directly inserted into position p. The total distance of the new R U k can be expressed as follows:
    L ( R U k p L S L u c j ) = L ( R U k ) + L ( L S L u c j ) .
    If D u c j 1 = D z and D u c j 1 D u c j 2 , then we insert L S L u c j directly into position p with D u c j 1 as the take-off depot. The total distance of the new R U k can be obtained from Formula (17). When D u c j 2 = D z and D u c j 1 D u c j 2 , the same principle applies. We insert L S L u c j directly into position p with D u c j 2 as the take-off depot.
    If D u c j 1 D z and D u c j 2 D z , D u c j 1 and D u c j 2 may be the same or different. In this case, it is necessary to calculate the total distances of the new R U k after replacing D u c j 1 with D z and replacing D u c j 2 with D z when inserting L S L u c j into position p. They can be expressed as follows:
    L D u c j 1 ( R U k p L S L u c j ) = L ( R U k ) + L D z ( L S L u c j , D u c j 1 ) ,
    L D u c j 2 ( R U k p L S L u c j ) = L ( R U k ) + L D z ( L S L u c j , D u c j 2 ) ,
    After that, we use Formula (16) to select the minimum total distance as the total flight distance of R U k after inserting L S L u c j at position p.
  • Insertion between two depot–task set–depot combinations of R U k : The insertion position (p) is shown in Figure 5c. We use D z to denote the landing depot of the previous combination and the take-off depot of the next combination at position p, that is, D z = D u k α 2 = D u k β 1 . If D u c j 1 = D u c j 2 = D z , then L S L u c j can be directly inserted into position p. The total distance of the new R U k can be obtained from Formula (17). If D u c j 1 = D z and D u c j 1 D u c j 2 , we insert L S L u c j into position p with D u c j 1 as the take-off depot and, at the same time, replace the take-off depot of L S L u k β with D u c j 2 . When D u c j 2 = D z and D u c j 1 D u c j 2 , the same principle applies. We insert L S L u c j into position p with D u c j 2 as the take-off depot and, at the same time, replace the take-off depot of L S L u k β with D u c j 1 . Then, the total length of the new R U k can be obtained from Formula (13). If D u c j 1 D z and D u c j 2 D z , where D u c j 1 and D u c j 2 may be the same or different, the method of adjustment after insertion is the same as that under the same condition when inserting at the beginning of R U k . Therefore, the total distance of the new R U k can be obtained from Formula (16).
For the above three different situations, when adjusting the depot–task set–depot combinations, if the total distance of the adjusted depot–task set–depot combinations exceeds L m a x and the total load exceeds M m a x u , the currently adjusted route does not meet the energy consumption limit of the UAV and cannot be inserted into position p. When making adjustments to trucks, there is no need to consider the distance limit. After judging each insertion point in R U k , we can obtain the insertion point that results in the minimum total distance of the new path after insertion. This insertion point p serves as the optimal insertion point of R U k , and at the same time, we can obtain the corresponding new R U k and its total distance. Therefore, we have the following:
L ( R U k L S L u c j ) = min p = 1 | R U k | + 1 { L ( R U k p L S L u c j ) } .

5. Simulation Results

In this section, to verify whether the task-planning algorithm based on the minimum-cost, maximum-flow model, the resource tree, and the insertion method proposed in Section 4 is feasible and effective, we conduct simulation experiments using Matlab 2018a. To test the task allocation algorithm for the truck-independent UAV system, we design a task scenario as follows. The task area is set to be 1000 m × 1000 m. There are 3 depots, 2 independent UAVs, 2 trucks, and 15 delivery task points in this area. The task points are divided into 4 overweight task points and 11 non-overweight task points. The coordinate values of the task points and depots are randomly generated within the task area, and it is assumed that all location information is known in advance.
The initial docking depots of UAVs U 1 and U 2 are D 1 and D 3 , respectively, and the initial docking depots of trucks T 1 and T 2 are D 1 and D 2 , respectively. The initial environment of this scenario is shown in Figure 6a. In addition, the maximum flight distance of the UAVs is specified as L m a x = 600 m, the maximum load capacity of the UAVs is M m a x u = 15 kg, and the maximum load of the trucks is M m a x t = 50 kg.
To further test our algorithm, we design another more complex scenario to verify the minimum-cost, maximum-flow and resource tree-based logistics planning algorithm (MRTP) and compare it with the greedy algorithm-based logistics planning algorithm (GTP). In the other scenario, the task area contains 30 delivery task points, which are divided into 6 overweight task points and 24 non-overweight task points. The position of each task point is randomly generated. Other parameters are the same as those in the previous scenario.
The task allocation results obtained for the two scenarios using MRTP and GTP are shown in Figure 7 and Figure 8, respectively, where the routes of UAVs are represented by solid lines and the routes of trucks are represented by dashed lines.
As an example, in Figure 8a, UAV U 1 takes off from the initial docking depot ( D 1 ) and returns to D 1 after completing the first flight mission. After replenishment, it takes off from depot D 1 again and heads for depot D 3 , performing delivery tasks along the way. After landing at D 3 , it replenishes again. After the replenishment is completed, it takes off again, finishes the delivery tasks, and returns to depot D 3 .
The task allocation results of MRTP and GTP in different scenarios are shown in Table 2. It can be seen that in both scenarios, the total energy consumption obtained by MRTP is lower than that of GTP. Specifically, under different numbers of task points, MRTP achieves reductions in energy consumption of 11.53% and 9.15%. These results verify the feasibility and effectiveness of the proposed algorithm.

6. Conclusions

This paper focuses on the logistics task-planning problem for unmanned aerial vehicles (UAVs) in wide-area scenarios. Considering the load and energy limitations of UAVs, as well as the load constraints of trucks, a parcel delivery system based on a truck-independent UAV system is proposed. To address factors such as the UAVs’ load and energy capacities and the trucks’ load constraints, corresponding objective functions and constraints are defined, leading to the establishment of a mathematical model for this problem. First, a task-planning algorithm based on the minimum-cost, maximum-flow method is used to divide all task points into multiple depot–task set–depot combinations. Overweight task points and those beyond the UAV delivery range are assigned to trucks, while the rest are handled by UAVs. Next, an algorithm based on a resource tree is designed to construct the initial paths for UAVs and trucks. Finally, an insertion algorithm is proposed to adjust the initial paths of UAVs and trucks according to the candidate depot–task set–depot combinations. Experimental results demonstrate that this algorithm effectively optimizes the system’s energy consumption. However, the method’s scalability is limited when the number of UAVs and trucks increases or task scenarios change. Future work will address these limitations by exploring adaptive algorithms and enhancing system flexibility to accommodate more complex operational conditions.

Author Contributions

Methodology, R.W.; Software, R.W.; Validation, N.L.; Writing—original draft, X.S., X.Z. and R.W.; Writing—review & editing, X.S. and S.F.; Visualization, Y.L.; Supervision, Y.L. and N.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded in part by the Fundamental Research Funds for the Central Universities under Grant NS2023052, in part by the Natural Science Foundation of Jiangsu Province of China under Grants No. BK20231439 and No. BK20222012.

Informed Consent Statement

This study does not involve human subjects.

Data Availability Statement

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Deng, X.; Guan, M.; Ma, Y.; Yang, X.; Xiang, T. Vehicle-Assisted UAV Delivery Scheme Considering Energy Consumption for Instant Delivery. Sensors 2022, 22, 2045. [Google Scholar] [CrossRef]
  2. Chiang, W.C.; Li, Y.; Shang, J.; Urban, T.L. Impact of drone delivery on sustainability and cost: Realizing the UAV potential through vehicle routing optimization. Appl. Energy 2019, 242, 1164–1175. [Google Scholar] [CrossRef]
  3. Dissanayaka, D.; Wanasinghe, T.R.; De Silva, O.; Jayasiri, A.; Mann, G.K.I. Review of Navigation Methods for UAV-Based Parcel Delivery. IEEE Trans. Autom. Sci. Eng. 2024, 21, 1068–1082. [Google Scholar] [CrossRef]
  4. Kuru, K.; Ansell, D.; Khan, W.; Yetgin, H. Analysis and Optimization of Unmanned Aerial Vehicle Swarms in Logistics: An Intelligent Delivery Platform. IEEE Access 2019, 7, 15804–15831. [Google Scholar] [CrossRef]
  5. Sajid, M.; Mittal, H.; Pare, S.; Prasad, M. Routing and scheduling optimization for UAV assisted delivery system: A hybrid approach. Appl. Soft Comput. 2022, 126, 109225. [Google Scholar] [CrossRef]
  6. Fan, B.; Li, Y.; Zhang, R.; Fu, Q. Review on the technological development and application of UAV systems. Chin. J. Electron. 2020, 29, 199–207. [Google Scholar] [CrossRef]
  7. Roberge, V.; Tarbouchi, M.; Labonte, G. Comparison of Parallel Genetic Algorithm and Particle Swarm Optimization for Real-Time UAV Path Planning. IEEE Trans. Ind. Inform. 2013, 9, 132–141. [Google Scholar] [CrossRef]
  8. Zhu, Y.; Wang, S. Aerial Data Collection with Coordinated UAV and Truck Route Planning in Wireless Sensor Network. In Proceedings of the 2021 IEEE Global Communications Conference (GLOBECOM), Madrid, Spain, 7–11 December 2021; pp. 1–6. [Google Scholar] [CrossRef]
  9. Braekers, K.; Ramaekers, K.; Van Nieuwenhuyse, I. The vehicle routing problem: State of the art classification and review. Comput. Ind. Eng. 2016, 99, 300–313. [Google Scholar] [CrossRef]
  10. Kim, G.; Ong, Y.S.; Heng, C.K.; Tan, P.S.; Zhang, N.A. City Vehicle Routing Problem (City VRP): A Review. IEEE Trans. Intell. Transp. Syst. 2015, 16, 1654–1666. [Google Scholar] [CrossRef]
  11. Liang, Y.J.; Luo, Z.X. A survey of truck–drone routing problem: Literature review and research prospects. J. Oper. Res. Soc. China 2022, 10, 343–377. [Google Scholar] [CrossRef]
  12. Zhang, R.; Dou, L.; Xin, B.; Chen, C.; Deng, F.; Chen, J. A Review on the Truck and Drone Cooperative Delivery Problem. Unmanned Syst. 2024, 12, 823–847. [Google Scholar] [CrossRef]
  13. Madani, B.; Ndiaye, M. Hybrid Truck-Drone Delivery Systems: A Systematic Literature Review. IEEE Access 2022, 10, 92854–92878. [Google Scholar] [CrossRef]
  14. Moshref-Javadi, M.; Hemmati, A.; Winkenbach, M. A comparative analysis of synchronized truck-and-drone delivery models. Comput. Ind. Eng. 2021, 162, 107648. [Google Scholar] [CrossRef]
  15. Agatz, N.; Bouman, P.; Schmidt, M. Optimization approaches for the traveling salesman problem with drone. Transp. Sci. 2018, 52, 965–981. [Google Scholar] [CrossRef]
  16. Murray, C.C.; Chu, A.G. The flying sidekick traveling salesman problem: Optimization of drone-assisted parcel delivery. Transp. Res. Part C Emerg. Technol. 2015, 54, 86–109. [Google Scholar] [CrossRef]
  17. Es Yurek, E.; Ozmutlu, H.C. A decomposition-based iterative optimization algorithm for traveling salesman problem with drone. Transp. Res. Part C Emerg. Technol. 2018, 91, 249–262. [Google Scholar] [CrossRef]
  18. Liu, Y.; Liu, Z.; Shi, J.; Wu, G.; Pedrycz, W. Two-Echelon Routing Problem for Parcel Delivery by Cooperated Truck and Drone. IEEE Trans. Syst. Man Cybern. Syst. 2021, 51, 7450–7465. [Google Scholar] [CrossRef]
  19. Schermer, D.; Moeini, M.; Wendt, O. A branch-and-cut approach and alternative formulations for the traveling salesman problem with drone. Networks 2020, 76, 164–186. [Google Scholar] [CrossRef]
  20. Vásquez, S.A.; Angulo, G.; Klapp, M.A. An exact solution method for the TSP with Drone based on decomposition. Comput. Oper. Res. 2021, 127, 105127. [Google Scholar] [CrossRef]
  21. Gonzalez-R, P.L.; Canca, D.; Andrade-Pineda, J.L.; Calle, M.; Leon-Blanco, J.M. Truck-drone team logistics: A heuristic approach to multi-drop route planning. Transp. Res. Part C Emerg. Technol. 2020, 114, 657–680. [Google Scholar] [CrossRef]
  22. Das, D.N.; Sewani, R.; Wang, J.; Tiwari, M.K. Synchronized Truck and Drone Routing in Package Delivery Logistics. IEEE Trans. Intell. Transp. Syst. 2021, 22, 5772–5782. [Google Scholar] [CrossRef]
  23. Wang, D.; Hu, P.; Du, J.; Zhou, P.; Deng, T.; Hu, M. Routing and Scheduling for Hybrid Truck-Drone Collaborative Parcel Delivery with Independent and Truck-Carried Drones. IEEE Internet Things J. 2019, 6, 10483–10495. [Google Scholar] [CrossRef]
  24. Long, Y.; Xu, G.; Zhao, J.; Xie, B.; Fang, M. Dynamic Truck–UAV Collaboration and Integrated Route Planning for Resilient Urban Emergency Response. IEEE Trans. Eng. Manag. 2024, 71, 9826–9838. [Google Scholar] [CrossRef]
  25. Liu, Y.; Guo, B.; Wang, Y.; Wu, W.; Yu, Z.; Zhang, D. TaskMe: Multi-Task Allocation in Mobile Crowd Sensing; Association for Computing Machinery: New York, NY, USA, 2016. [Google Scholar] [CrossRef]
  26. Szymanski, T.H. Max-Flow Min-Cost Routing in a Future-Internet with Improved QoS Guarantees. IEEE Trans. Commun. 2013, 61, 1485–1497. [Google Scholar] [CrossRef]
  27. Chen, L.; Kyng, R.; Liu, Y.P.; Peng, R.; Gutenberg, M.P.; Sachdeva, S. Maximum Flow and Minimum-Cost Flow in Almost-Linear Time. In Proceedings of the 2022 IEEE 63rd Annual Symposium on Foundations of Computer Science (FOCS), Denver, CO, USA, 31 October–3 November 2022; pp. 612–623. [Google Scholar] [CrossRef]
  28. Hadji, M.; Zeghlache, D. Minimum Cost Maximum Flow Algorithm for Dynamic Resource Allocation in Clouds. In Proceedings of the 2012 IEEE Fifth International Conference on Cloud Computing, Honolulu, HI, USA, 24–29 June 2012; pp. 876–882. [Google Scholar] [CrossRef]
  29. Selby, R.; Porter, A. Learning from examples: Generation and evaluation of decision trees for software resource analysis. IEEE Trans. Softw. Eng. 1988, 14, 1743–1757. [Google Scholar] [CrossRef]
Figure 1. Illustration of the truck-independent UAV system.
Figure 1. Illustration of the truck-independent UAV system.
Sensors 25 01605 g001
Figure 2. The MCMF model for the task-planning problem of the truck-independent UAV system.
Figure 2. The MCMF model for the task-planning problem of the truck-independent UAV system.
Sensors 25 01605 g002
Figure 3. Constructing multi-UAV paths using the matching method.
Figure 3. Constructing multi-UAV paths using the matching method.
Sensors 25 01605 g003
Figure 4. Finding the initial route of the UAV based on the resource tree.
Figure 4. Finding the initial route of the UAV based on the resource tree.
Sensors 25 01605 g004
Figure 5. Three insertion point positions.
Figure 5. Three insertion point positions.
Sensors 25 01605 g005
Figure 6. Diagrams of initial environments.
Figure 6. Diagrams of initial environments.
Sensors 25 01605 g006
Figure 7. Task allocation results of MRTP and GTP with 30 task points.
Figure 7. Task allocation results of MRTP and GTP with 30 task points.
Sensors 25 01605 g007
Figure 8. Task allocation results of MRTP and GTP with 15 task points.
Figure 8. Task allocation results of MRTP and GTP with 15 task points.
Sensors 25 01605 g008
Table 1. Summary of important notations.
Table 1. Summary of important notations.
NotationDefinition
Q, D, qNumber, set, and index of depots, respectively
FNumbers of customers
S, f, MSet, index, and package-weight set of task points, respecitvely
E, T, eNumber, set, and index of trucks, respectively
N, U, nNumber, set, and index of UAVs, respectively
L m a x Maximum flight distance of UAVs
M m a x u Maximum load capacity of UAVs
M m a x t Maximum load capacity of the trucks
R U , U k Set and index of task sets for N UAVs, respectively
R T Set of task sets for E trucks
R T k Route arranged for trucks
L R U k i The flight distance of UAV U k
L R T k j The travel distance of truck T k
W U Total energy consumption of UAVs
W T Total energy consumption of trucks
G U Flow-cost network graph
N u m Number of task points
L S L The depot–task set–depot combinations
D D Set of depot combinations
V , E , C , ω Set of points, edges of G U , capacity of each edge, and total cost of each edge, respectively
Table 2. Task allocation results of MRTP and GTP.
Table 2. Task allocation results of MRTP and GTP.
MethodNumber of UAVsNumber of TrucksNumber of Task PointsTotal Energy Consumption
MRTP22156.9
GTP22157.8
MRTP223027.8
GTP223030.6
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Shi, X.; Zhai, X.; Wang, R.; Le, Y.; Fu, S.; Liu, N. Task Planning of Multiple Unmanned Aerial Vehicles Based on Minimum Cost and Maximum Flow. Sensors 2025, 25, 1605. https://doi.org/10.3390/s25051605

AMA Style

Shi X, Zhai X, Wang R, Le Y, Fu S, Liu N. Task Planning of Multiple Unmanned Aerial Vehicles Based on Minimum Cost and Maximum Flow. Sensors. 2025; 25(5):1605. https://doi.org/10.3390/s25051605

Chicago/Turabian Style

Shi, Xiaodong, Xiangping Zhai, Rui Wang, Yi Le, Shuang Fu, and Ningzhong Liu. 2025. "Task Planning of Multiple Unmanned Aerial Vehicles Based on Minimum Cost and Maximum Flow" Sensors 25, no. 5: 1605. https://doi.org/10.3390/s25051605

APA Style

Shi, X., Zhai, X., Wang, R., Le, Y., Fu, S., & Liu, N. (2025). Task Planning of Multiple Unmanned Aerial Vehicles Based on Minimum Cost and Maximum Flow. Sensors, 25(5), 1605. https://doi.org/10.3390/s25051605

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop