Method, device and medium for mixed parallel scheduling optimization of unmanned aerial vehicles and vehicles
By creating virtual nodes and applying random perturbations, the paths of drones and vehicles are optimized, solving the timeliness problem of mixed scheduling of drones and vehicles in instant delivery and achieving efficient scheduling in short-term, high-burst scenarios.
Patent Information
- Application Number
- CN202610803561.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-05
- Publication Date
- 2026-07-03
AI Technical Summary
Existing technologies in the field of instant delivery, especially in the food delivery sector, are insufficient to effectively optimize the mixed scheduling of drones and vehicles to meet the needs of short-term, high-volume, and short-distance, scattered delivery scenarios, resulting in inadequate timeliness.
By creating a set of demand points, drones, and vehicles, inserting virtual nodes, applying random perturbations, and combining a greedy strategy with local and global perturbations, the paths of drones and vehicles are optimized to achieve dynamic load balancing and calculate the accurate total completion time.
It achieves optimized scheduling in short-term, high-burst scenarios, reduces path caching requirements, improves search efficiency, narrows the search space, ensures task feasibility and accuracy, and enhances the global search capability and efficiency of the scheduling scheme.
Smart Images

Figure CN122334649A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of transportation scheduling, and in particular to a method, apparatus and medium for optimizing the parallel scheduling of unmanned aerial vehicles and vehicles. Background Technology
[0002] Against the backdrop of the deep integration of the digital economy and the real economy, the global logistics network is undergoing an industrial revolution centered on intelligentization. Current statistics show that last-mile logistics costs may account for 50% to 60% of total supply chain costs. This is primarily because last-mile delivery has the lowest level of automation in logistics, requiring a significant amount of manpower for loading and delivery. As consumer demand for "instant delivery" services grows, this supply-demand imbalance is even more pronounced in regions with aging populations and labor shortages. Therefore, building unmanned intelligent delivery systems is not only a natural choice in technological evolution but also a strategic necessity to overcome industry growth bottlenecks.
[0003] As the twin engines of unmanned delivery, unmanned aerial vehicles (UAVs) and automated guided vehicles (AGVs) exhibit significant differences in technological maturity. Although Level 4 autonomous trucks have achieved commercial operation in limited areas, their hardware costs, which are several times higher than traditional trucks, and complex road regulations still hinder large-scale deployment. In contrast, logistics drones, with their vertical take-off and landing capabilities and three-dimensional spatial operation advantages, demonstrate unique value in last-mile delivery scenarios.
[0004] In early research, to address the limitations of drones in terms of range and payload, Murry and Chu proposed the FSTSP (Flying-Sidekick Traveling Salesman Problem) model. This model attempts to combine the advantages of trucks (large payload capacity and long range) and drones (fast flight speed) by using trucks to carry drones, thereby enabling delivery to long-distance customers. This ingenious idea attracted numerous scholars to conduct research, leading to many branches such as TSP-D, mTSP-D, and VRP-D.
[0005] Some existing technologies, such as Chinese patent CN 113139678 B, disclose a method for optimizing drone-vehicle joint delivery routes and its model construction method. This method achieves efficient delivery by building a collaborative system between drones and vehicles. However, traditional drone-vehicle collaborative delivery mainly focuses on vehicle support for drones, thereby reducing the number of drones and vehicles required and lowering related costs. This approach is effective in traditional logistics delivery where timeliness is low. However, in the field of instant delivery, especially food delivery, due to its short-duration, high-volume nature, the above-mentioned solutions may not adequately meet timeliness requirements. Therefore, it is necessary to increase the number of vehicles and drones. However, existing technologies lack the optimization capabilities for such short-duration, high-volume, and short-distance, scattered delivery scenarios. Summary of the Invention
[0006] The purpose of this invention is to provide a method, apparatus, and medium for hybrid parallel scheduling optimization of unmanned aerial vehicles and vehicles in order to solve the problems existing in the prior art.
[0007] The objective of this invention can be achieved through the following technical solutions: A hybrid parallel scheduling optimization method for UAVs and vehicles includes: Step S1: Create the demand point set, vehicle set, drone set, and delivery center location; Step S2: Randomly sort all the demand points in the demand point set and add a first symbol to the end of the initial sequence to represent the delivery center to obtain the initial node sequence; Step S3: Based on the UAV range constraints, payload constraints and communication constraints, traverse the initial sequence, filter out the farthest points, the most important points and the isolated points, and move them in order to the first symbol to obtain the encoding sequence corresponding to the initial node sequence; Step S4: Decode the encoded sequence to obtain the decoded sequence: Based on the UAV's payload and range constraints, the portion of the encoded sequence before the first symbol is divided into multiple first segments. A first virtual node is added between any two adjacent first segments, before the first first segment, and after the last first segment. According to the principle of equal division, the part after the first symbol in the encoded sequence is divided into multiple second segments, and a second virtual node is added between any two adjacent second segments, before the first first segment and after the last second segment, and the position of all second virtual nodes is recorded. Step S5: Calculate the completion time of the UAV and the completion time of the vehicle in the decoded sequence, and further obtain the corresponding total completion time; Step S6: Apply random perturbation to the encoded sequence, repeat steps S4 and S5, and take the encoded sequence with the minimum total completion time as the optimization result. The random perturbation includes local perturbation, global perturbation, and parallel scheduling perturbation generated based on the completion time of the UAV and the completion time of the vehicle.
[0008] The direction of traversing the initial sequence in step S3 is from the first demand point to the last demand point.
[0009] Step S3 includes: Step S3-1: Based on the UAV range constraint, traverse the initial sequence, filter out the super-farthest points, and move each super-farthest point to the position after the first symbol in sequence; Step S3-2: Based on the UAV payload constraint, traverse the part before the first symbol of the initial sequence processed in step S3-1, filter out the hyperpoints, and move each hyperpoint to the part after the first symbol in order; Step S3-3: Based on communication constraints, traverse the portion before the first symbol of the initial sequence processed in step S3-2, filter out isolated points, and move each isolated point to the position after the first symbol in sequence. Step S3-4: Determine whether the number of demand points before and after the first symbol is balanced. If yes, directly use the initial sequence processed in step S3-3 as the encoding sequence corresponding to the initial node sequence; otherwise, proceed to step S3-5. Step S3-5: Randomly select one or more demand points located before the first symbol, move them to after the first symbol, and return to step S3-4.
[0010] The processing of the portion of the encoded sequence before the first symbol in step S4 includes: Step S4-1-1: Extract the portion of the encoded sequence before the first symbol as the UAV delivery sequence; Step S4-1-2: Create the first and second virtual nodes, which will serve as the start and end points respectively, and initialize the first path as an empty set; Step S4-1-3: Select the first demand point in the drone delivery sequence and insert it between the starting point and the destination to obtain the second path; Step S4-1-4: Determine whether the sum of the masses of the required items at all required points in the second path is less than the maximum payload of the drone, and whether the total flight time of the second path is less than the maximum endurance of the drone. If yes, then the second path is taken as the first path and step S4-1-5 is executed; otherwise, step S4-1-6 is executed. Step S4-1-5: Determine if there are any unselected demand points in the drone delivery sequence. If yes, select the next demand point as a buffer point, insert it before the destination to obtain the second path, and return to step S4-1-4. Otherwise, execute step S4-1-7. Step S4-1-6: Combine all the demand points in the first path into a first segment, take the current endpoint as the starting point, and create a new first virtual node as the endpoint. Insert the cache point between the starting point and the endpoint to obtain the second path. Initialize the first path as an empty set and return to step S4-1-4. Step S4-1-7: Combine all the demand points in the second path into a first segment, and then execute step S4-1-8; Step S4-1-8: Arrange all requirement points and the first virtual node in order.
[0011] The processing of the portion of the encoded sequence after the first symbol in step S4 includes: Step S4-2-1: Extract the portion after the first symbol in the encoded sequence as the vehicle transport sequence; Step S4-2-2: Read the number of demand points in the vehicle delivery sequence as the first lookup value, and determine whether there is a second virtual node allocation scheme that matches the first lookup value. If yes, proceed to step S4-2-3; otherwise, proceed to step S4-2-4. Step S4-2-3: Insert the positions of all second virtual nodes in the corresponding second virtual node allocation scheme into the vehicle transportation sequence, and take the demand point between any two second virtual nodes as a second segment; Step S4-2-4: Divide the vehicle transport sequence into multiple second segments according to the principle of equal division, and add second virtual nodes between any two adjacent second segments, before the first first segment and after the last second segment. Record the position of all second virtual nodes and generate a second virtual node allocation scheme corresponding to the current first lookup value.
[0012] Step S5 includes: Step S5-1: Combine all the first segments in the decoded sequence and the first virtual nodes at both ends of the first segment to form a drone path, and combine all the second segments in the decoded sequence and the second virtual nodes at both ends of the second segment to form a vehicle path, and calculate the time consumption of all drone paths and vehicle paths respectively. Step S5-2: Compare whether the number of the first segment in the decoded sequence is less than the number of drones. If yes, proceed to step S5-3; otherwise, proceed to step S5-4. Step S5-3: Take the time of the longest drone path among all drone paths as the drone completion time. Step S5-4: Calculate the difference between the number of the first segment and the number of drones as the first merging number. Merge the drone paths with the shortest time in sequence until the number of merging reaches the first merging number. Then, take the time of the drone path with the longest time as the drone completion time. Step S5-5: Compare whether the number of the second segment in the decoded sequence is less than the number of vehicles. If yes, proceed to step S5-6; otherwise, proceed to step S5-7. Step S5-6: Take the time of the longest vehicle route among all vehicle routes as the vehicle completion time. Step S5-7: Calculate the difference between the number of the second segment and the number of vehicles as the second merging number. Merge the vehicle paths with the shortest time in turn until the number of merging reaches the second merging number. Then, take the time of the vehicle path with the longest time as the vehicle completion time. Step S5-8: Take the larger of the drone completion time and the vehicle completion time as the total completion time.
[0013] The local disturbances include: Partial swap: Swap the positions of some demand points located on the same side of the first symbol. Local reversal: Reverse the order of all demand points located on the same side as the first symbol; The global disturbance includes: Global Swap: Swaps the positions of some required points located on both sides of the first symbol. Global Reversal: Reverse the order of some demand points located on both sides of the first symbol.
[0014] The injection process of the parallel scheduling disturbance includes: Step S6-1: Calculate the difference between the completion time of the UAV and the completion time of the vehicle. If the absolute value of the difference exceeds the pre-configured first difference threshold, then execute step S6-2; otherwise, do not execute the parallel scheduling disturbance. Step S6-2: If the drone's completion time is longer than the vehicle's completion time, move one or more demand points located before the first symbol to after the first symbol; otherwise, move one or more demand points located after the first symbol but before it to before the first symbol.
[0015] A hybrid parallel scheduling optimization device for drones and vehicles includes a memory, a processor, and a program stored in the memory, wherein the processor executes the program to implement the method described above.
[0016] A storage medium having a program stored thereon, which, when executed, implements the method described above.
[0017] Compared with the prior art, the present invention has the following beneficial effects: 1. By adding a first symbol and inserting virtual nodes, multiple drone paths and multiple vehicle paths can be represented in the same sequence. This allows the processing between data blocks to be changed to the processing of data strings when random perturbations are applied. On the one hand, it eliminates the need to store a large amount of path cache data. On the other hand, using the delivery center rather than the vehicle stop point as the Wujiren's supply center can accommodate the concurrent needs of large-scale drone and vehicle clusters, thus enabling optimization capabilities for short-term, high-burst, and short-distance scattered delivery scenarios.
[0018] 2. By sequentially targeting the three types of nodes that can only be delivered by vehicles, and additionally moving some nodes to the vehicle-responsible areas based on balancing requirements, a more balanced initial allocation can be obtained. In scenarios where demand points are concentrated, the search space can be significantly reduced, thereby effectively improving optimization speed.
[0019] 3. By adopting an iterative insertion and verification method based on a greedy strategy, the method can strictly follow the payload and range constraints of UAVs and automatically cut a long sequence of task points into multiple feasible first segments. This ensures that the tasks in each segment can be physically delivered by a single UAV in one go, thus providing a reliable and feasible task grouping basis for subsequent calculation of UAV path time and optimization of scheduling schemes.
[0020] 4. An equal division principle and a second virtual node allocation scheme caching mechanism are introduced. The equal division principle can quickly and evenly allocate vehicle task points to multiple vehicles, supporting parallel scheduling on the vehicle side. The allocation scheme caching mechanism can avoid repeated calculation of the same number of task points. When the algorithm encounters a vehicle task sequence of the same length again in the iteration, it can directly call the stored virtual node position, thereby significantly improving decoding efficiency and speeding up the overall optimization algorithm.
[0021] 5. A flexible completion time calculation model is presented. This model not only considers the actual time spent on task segments and handles situations where the number of task segments is greater than or less than the number of vehicles, but also, by merging the paths with the shortest time, can more realistically simulate the actual completion time in multi-resource, parallel scheduling scenarios. That is, the time spent by the last vehicle to complete the task is used as the evaluation standard, making the measurement of the total completion time optimization target more accurate and in line with the actual operation scenario, thus fully solving the optimization scheduling problem in short-term high-concurrency scenarios.
[0022] 6. Diverse and refined search operators are provided for the iterative optimization process of the algorithm. Local perturbations can perform local fine-tuning within the current relatively good task allocation framework to seek a better in-path ordering; while global perturbations can break the current task allocation pattern between UAVs and vehicles and explore a wider range. The combined use of these perturbation operators enables the optimization algorithm to effectively escape local optima, enhance global search capabilities, and thus be more likely to find a scheduling scheme with a shorter total completion time.
[0023] 7. Dynamic load balancing is achieved during the scheduling process. Traditional perturbations may only focus on changes in sequence structure, while this perturbation directly addresses the core contradiction of minimizing the total completion time—the imbalance between the completion times of UAVs and vehicles. When one takes significantly longer than the other, the mechanism automatically transfers some tasks from the heavier-loaded party to the lighter-loaded party. This targeted perturbation guides the search direction and accelerates convergence to a scheduling scheme that balances the workload of UAVs and vehicles, resulting in a better total completion time. This is one of the key design features that enables this method to efficiently handle short-duration, high-burst scenarios. Attached Figure Description
[0024] Figure 1 This is a schematic diagram of the main steps of the method of the present invention; Figure 2 A schematic diagram illustrating the basis for generating the initial node sequence; Figure 3 This is a schematic diagram of the decoding sequence obtained in the first iteration of the embodiment; Figure 4 This is a schematic diagram illustrating the principle of local perturbation. Detailed Implementation
[0025] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments. These embodiments are based on the technical solution of the present invention and provide detailed implementation methods and specific operating procedures. However, the scope of protection of the present invention is not limited to the following embodiments.
[0026] A hybrid parallel scheduling optimization method for UAVs and vehicles, such as Figure 1 As shown, it includes: Step S1: Create the demand point set, vehicle set, drone set, and delivery center location, as detailed below: Represents the set of demand points. ,in, c The sequence number of the demand point; Indicates a collection of drones. ,in, u This is the serial number of the drone. Num UThe number of drones; Indicates a collection of vehicles. ,in, v This is the vehicle's serial number. Num V The number of vehicles; A delivery center can be a centralized distribution point, such as a central delivery center for takeout orders in a business district or a single shopping mall, with the demand point being the delivery destination for each takeout order.
[0027] Step S2: Randomly sort all the demand points in the demand point set and add a first symbol to the end of the initial sequence to represent the delivery center to obtain the initial node sequence; In this embodiment, the first symbol is represented by 0.
[0028] like Figure 2 As shown, the initial sequence is 8,3,6,4,7,2,5,1,9, and the total mass of the required goods corresponding to each node is 1,1,3,1,1,4,1,1,1. After adding the first symbol at the end of the sequence, the resulting initial node sequence is 8,3,6,4,7,2,5,1,9,0, and the total mass of the required goods for the delivery center represented by the first symbol is 0.
[0029] Step S3: Based on the UAV range constraints, payload constraints and communication constraints, traverse the initial sequence, filter out the farthest points, the most important points and the isolated points, and move them in order to the first symbol to obtain the encoding sequence corresponding to the initial node sequence. The direction of traversing the initial sequence is from the first demand point to the last demand point.
[0030] Specifically, including: Step S3-1: Based on the UAV range constraint, traverse the initial sequence, filter out the super-farthest points, and move each super-farthest point to the position after the first symbol in sequence; Step S3-2: Based on the UAV payload constraint, traverse the part before the first symbol of the initial sequence processed in step S3-1, filter out the hyperpoints, and move each hyperpoint to the part after the first symbol in order; Step S3-3: Based on communication constraints, traverse the portion before the first symbol of the initial sequence processed in step S3-2, filter out isolated points, and move each isolated point to the position after the first symbol in sequence. Step S3-4: Determine whether the number of demand points before and after the first symbol is balanced. If yes, directly use the initial sequence processed in step S3-3 as the encoding sequence corresponding to the initial node sequence; otherwise, proceed to step S3-5. Step S3-5: Randomly select one or more demand points located before the first symbol, move them to after the first symbol, and return to step S3-4.
[0031] After this step, since 8, 6, 4, 9 are superfar points, 2, 6 are supercentral points, and there are no isolated points, the final sequence is 3, 7, 2, 5, 1, 0, 2, 9, 4, 6, 8.
[0032] Step S4: Decode the encoded sequence to obtain the decoded sequence: Based on the UAV's payload and range constraints, the portion of the encoded sequence before the first symbol is divided into multiple first segments. A first virtual node is added between any two adjacent first segments, before the first first segment, and after the last first segment. According to the principle of equal division, the part after the first symbol in the encoded sequence is divided into multiple second segments, and a second virtual node is added between any two adjacent second segments, before the first first segment and after the last second segment, and the position of all second virtual nodes is recorded. Based on this, the set of virtual nodes, the set of demand points, and the delivery center together constitute the node set. N The details are as follows: Represents a set of virtual delivery centers. ,in, e 1 is the first virtual delivery center. e 2 is the second virtual delivery center. For the first Num E A virtual delivery center, Num E The number of virtual delivery centers; L m This refers to the set of demand points that exceed the maximum payload limit of a drone, also known as the super-critical set. L d This refers to the set of demand points that exceed the communication range of the base station, also known as the isolated point set. Num C Indicates the total number of demand points; m i Represents a node The demand for goods; Indicates that the drone is from the node i To the node j Flight time; Indicates that the vehicle starts from the node i To the nodej Travel time; Q Indicates the maximum payload of the drone; D Indicates the drone's maximum flight time; Indicates delivery nodes by drone i Service hours; Indicates delivery nodes by vehicle i Service hours; Indicates that the drone u is at node i The current load; Indicates the drone's arrival at the node i And the moment of completion of delivery, initially ; Indicates the vehicle has arrived at the node. i And the moment of completion of delivery, initially ; M Represents a sufficiently large positive number; T —Total time to return to the distribution center after serving all customer nodes; For the mobile state parameters of the UAV, These are the vehicle movement state parameters, where: ;
[0033] Step S4, which involves processing the portion of the encoded sequence preceding the first symbol, includes: Step S4-1-1: Extract the portion of the encoded sequence before the first symbol as the UAV delivery sequence; Step S4-1-2: Create the first and second virtual nodes, which will serve as the start and end points respectively, and initialize the first path as an empty set; Step S4-1-3: Select the first demand point in the drone delivery sequence and insert it between the starting point and the destination to obtain the second path; Step S4-1-4: Determine whether the sum of the masses of the required items at all required points in the second path is less than the maximum payload of the drone, and whether the total flight time of the second path is less than the maximum endurance of the drone. If yes, then the second path is taken as the first path and step S4-1-5 is executed; otherwise, step S4-1-6 is executed. Step S4-1-5: Determine if there are any unselected demand points in the drone delivery sequence. If yes, select the next demand point as a buffer point, insert it before the destination to obtain the second path, and return to step S4-1-4. Otherwise, execute step S4-1-7. Step S4-1-6: Combine all the demand points in the first path into a first segment, take the current endpoint as the starting point, and create a new first virtual node as the endpoint. Insert the cache point between the starting point and the endpoint to obtain the second path. Initialize the first path as an empty set and return to step S4-1-4. Step S4-1-7: Combine all the demand points in the second path into a first segment, and then execute step S4-1-8; Step S4-1-8: Arrange all requirement points and the first virtual node in order.
[0034] Step S4, which involves processing the portion of the encoded sequence after the first symbol, includes: Step S4-2-1: Extract the portion after the first symbol in the encoded sequence as the vehicle transport sequence; Step S4-2-2: Read the number of demand points in the vehicle delivery sequence as the first lookup value, and determine whether there is a second virtual node allocation scheme that matches the first lookup value. If yes, proceed to step S4-2-3; otherwise, proceed to step S4-2-4. Step S4-2-3: Insert the positions of all second virtual nodes in the corresponding second virtual node allocation scheme into the vehicle transportation sequence, and take the demand point between any two second virtual nodes as a second segment; Step S4-2-4: Divide the vehicle transport sequence into multiple second segments according to the principle of equal division, and add second virtual nodes between any two adjacent second segments, before the first first segment and after the last second segment. Record the position of all second virtual nodes and generate a second virtual node allocation scheme corresponding to the current first lookup value.
[0035] In the first iteration of this application, the result obtained is as follows: Figure 3 As shown, the final decoded sequence is: e 1,3,7, e 2,5,1,0,2,9,4, e 3,6,8, e 4; In the above decoding sequence, e 1 and e 2 is the first virtual node, and e 3 and e 4 is the second virtual node, as shown in the diagram. Figure 3As shown, Figure 3 Nodes with a blue background are farthest points, and those with a red background are heavy points. Node 6 is both a heavy point and a farthest point, but it is marked with a red background.
[0036] Step S5: Calculate the drone completion time and vehicle completion time of the decoded sequence, and further obtain the corresponding total completion time, including: Step S5-1: Combine all the first segments in the decoded sequence and the first virtual nodes at both ends of the first segment to form a drone path, and combine all the second segments in the decoded sequence and the second virtual nodes at both ends of the second segment to form a vehicle path, and calculate the time consumption of all drone paths and vehicle paths respectively. Step S5-2: Compare whether the number of the first segment in the decoded sequence is less than the number of drones. If yes, it means that the drone capacity is sufficient and each drone path only needs to be completed by a single drone. Then proceed to step S5-3. Otherwise, it means that the drone capacity is insufficient and some drones need to launch multiple times to undertake multiple drone paths. Then proceed to step S5-4. Step S5-3: Take the time of the longest drone path among all drone paths as the drone completion time. Step S5-4: Calculate the difference between the number of the first segments and the number of drones as the first merging count. Merge the drone paths with the shortest time sequentially until the first merging count is reached. Then, take the time of the drone path with the longest time as the drone completion time. The specific merging rules are as follows: The principle of successive merging is adopted, that is: first, the two drone paths with the fewest drone paths are merged to obtain a new drone path, and then the comparison continues, merging the two drone paths with the fewest drone paths until the number of drone paths and drones are equal.
[0037] Step S5-5: Compare whether the number of the second segment in the decoded sequence is less than the number of vehicles. If yes, proceed to step S5-6; otherwise, proceed to step S5-7. Step S5-6: Take the time of the longest vehicle route among all vehicle routes as the vehicle completion time. Step S5-7: Calculate the difference between the number of the second segment and the number of vehicles as the second merging number. Merge the vehicle paths with the shortest time in sequence until the number of merging reaches the second merging number. Then, take the time of the vehicle path with the longest time as the vehicle completion time. The merging method is the same as that of the drone path part.
[0038] Step S5-8: Take the larger of the drone completion time and the vehicle completion time as the total completion time.
[0039] Step S6: Apply random perturbation to the encoded sequence, repeat steps S4 and S5, and take the encoded sequence with the minimum total completion time as the optimization result. The random perturbation includes local perturbation, global perturbation, and parallel scheduling perturbation generated based on the completion time of the UAV and the vehicle.
[0040] After applying the perturbation, in order to reduce the decoding of unreasonable encoded sequences, this embodiment also adds constraints for filtering. The specific constraints include UAV constraints, vehicle constraints, parallel scheduling constraints, and time and parameter constraints, as follows: For drone constraints, the following are implemented: drone inbound and outbound traffic is conserved for all demand points and delivery centers. It's important to note that drone path arcs are directional, originating only from the delivery center and returning to the destination delivery center. Using only a single node index cannot accurately represent the cumulative amount of different path arcs; therefore, a virtual node set is introduced to form complete drone path arcs. Furthermore, a drone returns to the same virtual center at most once to avoid time overlap. The total flight time from launch to recovery for each drone must not exceed its maximum endurance. If drone path arcs are connected, the drone must fly from the current node to the next node, simultaneously completing the delivery service at that node. The weight of cargo carried by the drone at any node must not exceed its load capacity. The drone will first deliver the cargo demand at the current node, reducing its own cargo weight, before proceeding to the next customer. The order of the drone's path across all nodes is restricted to ensure directional consistency.
[0041] Regarding vehicle constraints, vehicle inbound and outbound traffic is conserved for all customer nodes. Similar to the path arc of a drone, the vehicle path arc is also directional, starting from the originating delivery center and returning to the destination delivery center. For delivery centers, vehicle inbound and outbound traffic is conserved. Each vehicle departs from a delivery center at most once; when there are few customer demand nodes, it may be chosen not to dispatch a vehicle. If the nodes in the vehicle path arc are connected, the vehicle will move to the next connected node after completing the delivery service at that node, thus ensuring the sequential order and avoiding the formation of sub-loops.
[0042] Parallel scheduling constraints are the key constraints of this application, as detailed below: All customer nodes can be delivered by drone or vehicle, and delivery services for all nodes must be completed.
[0043] For nodes outside the drone's maximum communication range, delivery can only be made by vehicle.
[0044] Nodes whose cargo demand exceeds the drone's maximum payload can only be delivered by vehicle. This prevents nodes that do not meet the drone delivery requirements from being added to the drone queue.
[0045] Ensure that there are no arcs between drones and vehicles and virtual nodes, reducing meaningless empty paths for drones and vehicles.
[0046] The completion time is the time between the return of all vehicles to the delivery center and the latest time among the multiple returns of the drone to the delivery center.
[0047] Regarding time and parameter constraints, the following applies: the drone's load at any node will not be negative. The departure time for both the drone and the vehicle from the originating delivery center is 0. The delivery center has no service time, but at different customer nodes, the drone and vehicle will require different amounts of time to complete the delivery service.
[0048] The initial solution constructed by simple scanning is only a feasible solution and cannot guarantee that each part of the path is optimal for the whole. It also lacks random perturbation of the solution to disrupt and reshape the paths of UAVs and vehicles. Some existing technologies, although scanning methods can quickly construct solutions, have poor results. To solve for the optimal solution of PDSOP, this application designs exchange and reversal operations, and constructs cross-perturbations between UAVs, between vehicles, and between UAVs and vehicles for different modes of transportation.
[0049] Local perturbations are designed to create better local paths. Local perturbations are divided into inter-UAV perturbations and inter-vehicle perturbations. Inter-UAV perturbations operate only on UAV paths, while inter-vehicle perturbations operate only on vehicle paths. The specific local perturbation process is as follows: Figure 4 As shown. First, two demand points are randomly selected, and then swap and reverse operations are performed respectively. Swapping involves exchanging the two selected nodes to try different node combinations; reversing involves reversing all nodes between the two nodes to increase the effect of local disturbance.
[0050] Specifically, such as Figure 4 As shown, the local disturbances include: Partial swap: Swap the positions of some demand points located on the same side of the first symbol. Local reversal: Reverse the order of all demand points located on the same side as the first symbol; When drone capacity is low, partial switching and partial reversal only change the order in which drones serve a given point; they do not alter the path to that point. However, as the number of nodes a drone can deliver to in a single launch increases, switching and reversal operations may disrupt the original path, leading to reorganization or the creation of a new path. Figure 4As shown on the left, after swapping and reversing, the original two drone paths disappear, and many new paths are generated. The path with the best result will be retained. Figure 4 As shown on the right, the disturbance of the vehicle is relatively simple. After local exchange and local reversal, the order in which the vehicle visits each point will be changed, thereby shortening the vehicle's completion time.
[0051] Another difference is that Figure 4 The perturbation in this system targets the interaction between two different drone paths. When a drone launches to serve more than two nodes at once, there is also perturbation within the drone's path. This perturbation is similar to vehicle disturbance; it only adjusts the order in which the drone visits each point, optimizing the drone's path, and does not create new paths. This is something that does not exist when the drone's capacity is limited to a single node.
[0052] Similarly, global perturbations include: Global Swap: Swaps the positions of some required points located on both sides of the first symbol. Global Reversal: Reverse the order of some demand points located on both sides of the first symbol.
[0053] Global perturbation is designed to amplify the impact on feasible solutions. Global perturbation affects both drones and vehicles simultaneously. However, in reality, not all nodes meeting the drone criteria are delivered by drones; vehicles may also complete deliveries for some eligible nodes based on workload.
[0054] Finally, the key point is that the process of injecting parallel scheduling perturbations includes: Step S6-1: Calculate the difference between the completion time of the UAV and the completion time of the vehicle. If the absolute value of the difference exceeds the pre-configured first difference threshold, then execute step S6-2; otherwise, do not execute the parallel scheduling disturbance. Step S6-2: If the drone's completion time is longer than the vehicle's completion time, move one or more demand points located before the first symbol to after the first symbol; otherwise, move one or more demand points located after the first symbol but before it to before the first symbol.
[0055] This embodiment uses the Solomon dataset adopted by some researchers, taking one copy each of the three types of data: clustered (C), random (R), and mixed (RC). After proportionally reducing the number of nodes required, four scales of 100, 50, 25, and 8 nodes are generated, resulting in a total of 12 different cases.
[0056] To verify the effectiveness of the algorithm, the designed hybrid parallel scheduling optimization algorithm was compared with the benchmark algorithms used by most researchers. This included the Genetic Algorithm (GA), the Simulated Annealing Algorithm (SA), and the exact solver CPLEX. The model parameters were set as follows: communication range 70 km, maximum UAV payload 4 kg, maximum endurance 0.5 h, average flight speed 60 km / h, and service time for each node 20 seconds; average vehicle speed 50 km / h, and service time for each node 60 s; road impedance coefficient 1.3.
[0057] With the goal of minimizing the total completion time, each algorithm was run 10 times, with a maximum run time limit of 3600 seconds. It was found that for a small-scale case with 8 nodes, the CPLEX algorithm found the exact solution, while other algorithms calculated the same result in less than 1 second. As the number of nodes increased, the CPLEX algorithm's solution time became increasingly longer, requiring 4835.924 seconds for 10 nodes, far exceeding the time of other algorithms. The method proposed in this application, the HPSOA method, found the minimum min value for all 12 cases, with 9 cases showing the shortest average solution time. HPSOA demonstrated a significant advantage in the 50-node and 100-node cases, maintaining the best solution results while being faster. Only in the 25-node case, due to the complexity of the perturbation, more time was required to construct the solution, increasing the solution time, but the results were even better.
[0058] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A hybrid parallel scheduling optimization method for UAVs and vehicles, characterized in that, include: Step S1: Create the demand point set, vehicle set, drone set, and delivery center location; Step S2: Randomly sort all the demand points in the demand point set and add a first symbol to the end of the initial sequence to represent the delivery center to obtain the initial node sequence; Step S3: Based on the UAV range constraints, payload constraints and communication constraints, traverse the initial sequence, filter out the farthest points, the most important points and the isolated points, and move them in order to the first symbol to obtain the encoding sequence corresponding to the initial node sequence; Step S4: Decode the encoded sequence to obtain the decoded sequence: Based on the UAV's payload and range constraints, the portion of the encoded sequence before the first symbol is divided into multiple first segments. A first virtual node is added between any two adjacent first segments, before the first first segment, and after the last first segment. According to the principle of equal division, the part after the first symbol in the encoded sequence is divided into multiple second segments, and a second virtual node is added between any two adjacent second segments, before the first first segment and after the last second segment, and the position of all second virtual nodes is recorded. Step S5: Calculate the completion time of the UAV and the completion time of the vehicle in the decoded sequence, and further obtain the corresponding total completion time; Step S6: Apply random perturbation to the encoded sequence, repeat steps S4 and S5, and take the encoded sequence with the minimum total completion time as the optimization result. The random perturbation includes local perturbation, global perturbation, and parallel scheduling perturbation generated based on the completion time of the UAV and the completion time of the vehicle.
2. The method for hybrid parallel scheduling optimization of UAVs and vehicles according to claim 1, characterized in that, The direction of traversing the initial sequence in step S3 is from the first demand point to the last demand point.
3. The method for hybrid parallel scheduling optimization of UAVs and vehicles according to claim 1, characterized in that, Step S3 includes: Step S3-1: Based on the UAV range constraint, traverse the initial sequence, filter out the super-farthest points, and move each super-farthest point to the position after the first symbol in sequence; Step S3-2: Based on the UAV payload constraint, traverse the part before the first symbol of the initial sequence processed in step S3-1, filter out the hyperpoints, and move each hyperpoint to the part after the first symbol in order; Step S3-3: Based on communication constraints, traverse the portion before the first symbol of the initial sequence processed in step S3-2, filter out isolated points, and move each isolated point to the position after the first symbol in sequence. Step S3-4: Determine whether the number of demand points before and after the first symbol is balanced. If yes, directly use the initial sequence processed in step S3-3 as the encoding sequence corresponding to the initial node sequence; otherwise, proceed to step S3-5. Step S3-5: Randomly select one or more demand points located before the first symbol, move them to after the first symbol, and return to step S3-4.
4. The method for hybrid parallel scheduling optimization of UAVs and vehicles according to claim 1, characterized in that, The processing of the portion of the encoded sequence before the first symbol in step S4 includes: Step S4-1-1: Extract the portion of the encoded sequence before the first symbol as the UAV delivery sequence; Step S4-1-2: Create the first and second virtual nodes, which will serve as the start and end points respectively, and initialize the first path as an empty set; Step S4-1-3: Select the first demand point in the drone delivery sequence and insert it between the starting point and the destination to obtain the second path; Step S4-1-4: Determine whether the sum of the masses of the required items at all required points in the second path is less than the maximum payload of the drone, and whether the total flight time of the second path is less than the maximum endurance of the drone. If yes, then the second path is taken as the first path and step S4-1-5 is executed; otherwise, step S4-1-6 is executed. Step S4-1-5: Determine if there are any unselected demand points in the drone delivery sequence. If yes, select the next demand point as a buffer point, insert it before the destination to obtain the second path, and return to step S4-1-4. Otherwise, execute step S4-1-7. Step S4-1-6: Combine all the demand points in the first path into a first segment, take the current endpoint as the starting point, and create a new first virtual node as the endpoint. Insert the cache point between the starting point and the endpoint to obtain the second path. Initialize the first path as an empty set and return to step S4-1-4. Step S4-1-7: Combine all the demand points in the second path into a first segment, and then execute step S4-1-8; Step S4-1-8: Arrange all requirement points and the first virtual node in order.
5. The method for hybrid parallel scheduling optimization of UAVs and vehicles according to claim 1, characterized in that, The processing of the portion of the encoded sequence after the first symbol in step S4 includes: Step S4-2-1: Extract the portion after the first symbol in the encoded sequence as the vehicle transport sequence; Step S4-2-2: Read the number of demand points in the vehicle delivery sequence as the first lookup value, and determine whether there is a second virtual node allocation scheme that matches the first lookup value. If yes, proceed to step S4-2-3; otherwise, proceed to step S4-2-4. Step S4-2-3: Insert the positions of all second virtual nodes in the corresponding second virtual node allocation scheme into the vehicle transportation sequence, and take the demand point between any two second virtual nodes as a second segment; Step S4-2-4: Divide the vehicle transport sequence into multiple second segments according to the principle of equal division, and add second virtual nodes between any two adjacent second segments, before the first first segment and after the last second segment. Record the position of all second virtual nodes and generate a second virtual node allocation scheme corresponding to the current first lookup value.
6. The method for hybrid parallel scheduling optimization of UAVs and vehicles according to claim 1, characterized in that, Step S5 includes: Step S5-1: Combine all the first segments in the decoded sequence and the first virtual nodes at both ends of the first segment to form a drone path, and combine all the second segments in the decoded sequence and the second virtual nodes at both ends of the second segment to form a vehicle path, and calculate the time consumption of all drone paths and vehicle paths respectively. Step S5-2: Compare whether the number of the first segment in the decoded sequence is less than the number of drones. If yes, proceed to step S5-3; otherwise, proceed to step S5-4. Step S5-3: Take the time of the longest drone path among all drone paths as the drone completion time. Step S5-4: Calculate the difference between the number of the first segment and the number of drones as the first merging number. Merge the drone paths with the shortest time in sequence until the number of merging reaches the first merging number. Then, take the time of the drone path with the longest time as the drone completion time. Step S5-5: Compare whether the number of the second segment in the decoded sequence is less than the number of vehicles. If yes, proceed to step S5-6; otherwise, proceed to step S5-7. Step S5-6: Take the time of the longest vehicle route among all vehicle routes as the vehicle completion time. Step S5-7: Calculate the difference between the number of the second segment and the number of vehicles as the second merging number. Merge the vehicle paths with the shortest time in turn until the number of merging reaches the second merging number. Then, take the time of the vehicle path with the longest time as the vehicle completion time. Step S5-8: Take the larger of the drone completion time and the vehicle completion time as the total completion time.
7. The method for hybrid parallel scheduling optimization of UAVs and vehicles according to claim 1, characterized in that, The local disturbances include: Partial swap: Swap the positions of some demand points located on the same side of the first symbol. Local reversal: Reverse the order of all demand points located on the same side as the first symbol; The global disturbance includes: Global Swap: Swaps the positions of some required points located on both sides of the first symbol. Global Reversal: Reverse the order of some demand points located on both sides of the first symbol.
8. The method for hybrid parallel scheduling optimization of UAVs and vehicles according to claim 1, characterized in that, The injection process of the parallel scheduling disturbance includes: Step S6-1: Calculate the difference between the completion time of the UAV and the completion time of the vehicle. If the absolute value of the difference exceeds the pre-configured first difference threshold, then execute step S6-2; otherwise, do not execute the parallel scheduling disturbance. Step S6-2: If the drone's completion time is longer than the vehicle's completion time, move one or more demand points located before the first symbol to after the first symbol; otherwise, move one or more demand points located after the first symbol but before it to before the first symbol.
9. A hybrid parallel scheduling optimization device for unmanned aerial vehicles and vehicles, comprising a memory, a processor, and a program stored in the memory, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1-8.
10. A storage medium having a program stored thereon, characterized in that, When the program is executed, it implements the method as described in any one of claims 1-8.
Citation Information
Patent Citations
UAV-vehicle joint delivery path optimization method and model construction method
CN113139678B