Intelligent dispatching method and system for collaborative delivery between drones and logistics cabinets
By designing matching attributes for drone-task pairs, combining tree search and genetic algorithms, long-term planning problems under the conflict of drone docking schemes are solved, and a rapid acquisition of efficient drone and logistics cabinet collaborative distribution solutions are achieved, and distribution efficiency is improved.
Patent Information
- Application Number
- CN202211391811.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-08
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2042-11-08
AI Technical Summary
In the prior art, when there is no conflict in the docking scheme of the drone, the maximum completion time of the feasible planning scheme obtained is longer.
By designing matching degree attributes for each drone-task pair, combining tree search and genetic algorithms, performing iterative searches, and updating the matching degree of each drone-task pair to obtain a planning scheme with less maximum completion time.
Quickly obtaining the planning plan with the shortest completion time reduces the time and calculation cost of obtaining the planning plan, and improves the distribution efficiency of collaborative distribution between drones and logistics cabinets.
Smart Images

Figure CN115564308B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of coordinated delivery between drones and logistics cabinets, and specifically to an intelligent scheduling method and system for coordinated delivery between drones and logistics cabinets. Background Art
[0002] In recent years, the demand for parcel delivery has skyrocketed, while labor costs have become increasingly high and delivery scenarios have become increasingly complex. With the rapid development of 5G communications and other related technologies, drones are increasingly being used in the logistics sector. Drone delivery offers advantages such as speed, safety, low cost, 24 / 7 availability, and the ability to avoid road traffic congestion. In the logistics and delivery sector, the coordinated delivery of parcels using drones and logistics lockers offers high practical value and broad application prospects. Several companies have successfully applied this model to urban express delivery, food delivery, nucleic acid sample delivery, and other transportation scenarios.
[0003] With the widespread adoption of drone-based logistics locker delivery across various industries, user order requirements are increasing, and users are demanding higher and higher timeliness. Given a batch of user orders and a limited number of drones and logistics lockers, planning for each drone must ensure that each drone completes all tasks in the shortest possible time, while also ensuring that there are no conflicts between drones' docking plans.
[0004] However, in the prior art, when considering that there is no conflict in the docking plan of the drone, the maximum completion time of the feasible planning plan obtained is relatively long. Summary of the Invention
[0005] (1) Technical problems solved
[0006] In response to the shortcomings of the existing technology, the present application provides an intelligent scheduling method and system for collaborative delivery of drones and logistics cabinets to solve the problem in the existing technology that the maximum completion time of the feasible planning schemes obtained is long when there is no conflict in the drone's docking plan.
[0007] (2) Technical solution
[0008] To achieve the above objectives, this application is implemented through the following technical solutions:
[0009] In a first aspect of the present application, a method for intelligent scheduling of collaborative delivery between drones and logistics cabinets is provided, the method comprising:
[0010] S1. Acquire collaborative delivery information; wherein the collaborative delivery information includes: a delivery task set T, a logistics drone set D, and a logistics cabinet set L;
[0011] S2, initialize the matching degree set P; wherein, the matching degree set P represents the N P A set of matching combinations is formed. p b Indicates the b-th matching combination, 1≤b≤N P ;
[0012] S3, iterate; wherein, the number of initialization iterations i=1;
[0013] S4, traverse the matching degree set P; wherein, the index b in the matching degree combination is initialized to 1;
[0014] S5. Determine b≤N P Is it true? If so, go to S6, otherwise go to S8;
[0015] S6. Combine p based on matching degree b , a delivery task set T, a logistics drone set D, a logistics cabinet set L, and a tree search method are used to plan all delivery tasks in the delivery task set T to obtain a planning scheme;
[0016] S7. Determine the maximum completion time of the plan and determine whether all tasks in the delivery task set T have been executed in the plan; if so, update b=b+1 and go to S5; if not, add a preset time period H to the maximum completion time, update b=b+1 and go to S5;
[0017] S8. Update the number of iterations i=i+1, and determine i≤N I Is it true? If so, go to S9, otherwise go to S10; where N I Indicates the maximum number of iterations;
[0018] S9, perform genetic operation on the matching degree set to obtain a processed matching degree set, and go to S4;
[0019] S10. Determine the planning scheme with the shortest maximum completion time among the planning schemes as the final planning scheme.
[0020] Optionally, in S9, a genetic operation is performed on the matching degree set to obtain a processed matching degree set, and then the process proceeds to S4, which includes:
[0021] S901: sort all matching combinations in a matching set in non-ascending order based on the maximum completion time of the planning scheme, and delete the top N matching combinations in the matching set. C matching degree combinations, and obtain the matching degree set after deletion; where N C is a preset value, and N C <N P ;
[0022] S902, performing a cross operation on the deleted matching degree set to obtain a matching degree set after the cross operation;
[0023] The crossover operation in step S902 includes:
[0024] S90201, initialize the number of crossovers n = 1;
[0025] S90202, judge n≤N B Is it true? If so, go to S90203, otherwise go to S903; where N B represents the total number of crossover operations, and
[0026] S90203. Randomly select two different matching degree combinations from the deleted matching degree set and copy them to obtain p′ and p″;
[0027] S90204. Randomly select a position in the two different matching degree combinations, and exchange the matching degree after the position in p′ with the matching degree after the position in p″;
[0028] S90205. Add the swapped p′ and p″ to the deleted matching degree set as the matching degree set after the crossover operation.
[0029] S90206, update n=n+1, go to S90202;
[0030] S903, performing a mutation operation on the matching degree set after the crossover operation;
[0031] The mutation operation in step S903 includes:
[0032] S90301, initialize the mutation times m=1;
[0033] S90302, judge m≤N C -2N B Is it true? If so, go to S90303; otherwise, go to S4.
[0034] S90303. Randomly select a matching degree combination from the matching degree set after the crossover operation and replicate it to obtain p″′;
[0035] S90304. Randomly select a position in p″′, randomly generate an integer within a preset range, and replace the integer with the matching degree of the position in p″′;
[0036] S90305. Add the replaced p″′ to the matching degree set after the crossover operation as the processed matching degree set;
[0037] S90306. Update m=m+1 and go to S90302.
[0038] Optionally, initializing the matching degree set P in S2 includes:
[0039] S201, initialize b=1;
[0040] S202. Judgment b≤N P Is it established? If so, go to S203; otherwise, go to S3;
[0041] S203, randomly generate N within the preset range D *N T integers, added to the matching combination p b In which, N T Represents the number of all delivery tasks in the delivery task set T, N D represents the number of all logistics drones in the logistics drone set D;
[0042] S204, combine the matching degree p b Add to the matching set P;
[0043] S205. Update b=b+1, and go to S202.
[0044] Optionally, in S6, the combination p is based on the matching degree. b , a delivery task set T, a logistics drone set D, a logistics cabinet set L, and a tree search method are used to plan all delivery tasks in the delivery task set T to obtain a planning scheme, including:
[0045] S601, obtain matching combination p b , delivery task set T, logistics drone set D, logistics cabinet set L;
[0046] S602, initialize the set of nodes to be branched C to an empty set, the planning scheme S to an empty set, create a search tree R for each drone, and create a conflict period set F for each logistics cabinet; where R j Indicates logistics drone d j The corresponding search tree, 1≤j≤N D ; F k represents the conflict time set of the k-th logistics cabinet, 1≤k≤N L ,;
[0047] S603, traverse the drones; wherein, initialize the drone number j=1;
[0048] S604. Judgment j≤N D Is it established? If so, go to S605; otherwise, go to S614;
[0049] S605, move the drone to j The initial docked logistics cabinet is set as the root node, and the drone d j The time when the logistics cabinet takes off is 0, and the root node is added to the set of nodes to be branched C;
[0050] S606, create search tree R j , add the root node to R j and set the matching degree of the root node to 0;
[0051] S607: Determine whether the set of nodes to be branched C is an empty set. If so, go to S610; otherwise, go to S608.
[0052] S608, determine the search tree R j Is the number of nodes greater than N? R If yes, go to S610; otherwise go to S609;
[0053] S609: Branch the node F with the largest matching degree in the set of nodes to be branched C, and then go to S607;
[0054] S610, select the node with the largest matching degree, and j The branch from the root node to the node is converted to obtain drone d j flight path;
[0055] S611, calculate d j The docking time period of each logistics cabinet on the corresponding flight route is d j The end time of the final docking time period of the logistics cabinet is set as the predetermined time M, and the docking time period is added to the conflict time period set of the corresponding logistics cabinet;
[0056] S612, according to the drone d j The flight route and stop time are planned to obtain the plan S j , S j Add to planning scheme S;
[0057] S613. Delete the planning scheme S in the task set T. j The completed tasks in the process clear the set of nodes to be branched C, update j=j+1, and go to S604;
[0058] S614. Output planning scheme S.
[0059] Optionally, in step S609, branching is performed on the node F with the greatest matching degree in the branch node set C, including:
[0060] S60901, read the search tree Rj , set of nodes to be branched C, set of nodes to be branched F, set of tasks T, set of logistics cabinets L, and set of logistics drones D;
[0061] S60902, traverse the logistics cabinet set L; wherein, initialize the logistics cabinet number k=1;
[0062] S60903, judge k≤N L , whether it is established; if so, go to S60904; otherwise, go to S60916;
[0063] S60904: Determine whether the logistics cabinet is the one corresponding to the branch node F. If so, update k=k+1 and go to S60903; otherwise, go to S60905.
[0064] S60905、Computing UAV d j After docking at the logistics cabinet corresponding to node F, the time E for completing the previous task is C ;
[0065] S60906: Determine whether there is a logistics cabinet corresponding to node F in the task set T. k If it is the end task, go to S60907; otherwise go to S60913;
[0066] S60907, judge in search tree R j Whether the branch from the root node to node F contains the task, if so, go to S60913; otherwise, go to S60908;
[0067] S60908, set the take-off time of drone dj on the logistics cabinet corresponding to node F in, Indicates drone d j Time of loading of cargo;
[0068] S60909, computing logistics cabinet l k The latest end time E of all conflicting periods in the conflicting period set M 、Drone arrives at the logistics cabinet k Time E L ;
[0069] S60910, judgment E M ≤E L Is it true? If so, go to S60912; otherwise, go to S60911;
[0070] S60911, Update E L =E M , according to E L Backpropagation and update of drone dj Take-off time E on the logistics cabinet corresponding to node F T ;
[0071] S60912, corresponding logistics cabinet l k Create a child node connected to node F, add the child node to the set of nodes to be branched, update k=k+1, and go to S60903;
[0072] S60913, determine whether node F is not a root node and R j The task completed by node F is a virtual task. If so, update k=k+1 and go to S60903; otherwise, go to S60914;
[0073] S60914, create a virtual task, set the virtual task and the drone d j The matching degree is -1, and the time of loading and unloading goods in the virtual task is set to 0; wherein, the starting point of the virtual task is the logistics cabinet corresponding to node F, and the end point is the logistics cabinet l k ;
[0074] S60915, command drone d j Departure time E T =E C , transfer to S60909;
[0075] S60916. Delete node F from the set of nodes to be branched C.
[0076] S60917, output search tree R j .
[0077] In a second aspect of the present application, a drone and logistics cabinet collaborative delivery device is provided, the drone and logistics cabinet collaborative delivery device comprising:
[0078] A first acquisition module is configured to execute S1 and acquire collaborative delivery information, wherein the collaborative delivery information includes: a delivery task set T, a logistics drone set D, and a logistics cabinet set L;
[0079] The first initialization module is used to execute S2 and initialize the matching degree set P; wherein the matching degree set P represents the N P A set of matching combinations is formed. p b Indicates the b-th matching combination, 1≤b≤N P ;
[0080] The first iteration module is used to execute S3 and iterate; wherein the number of iterations is initialized to i=1;
[0081] The first traversal module is used to execute S4 and traverse the matching degree set P; wherein the index b in the matching degree combination is initialized to 1;
[0082] The first judgment module is used to execute S5 and judge whether b≤N P Is it established? If so, go to the first planning module and execute S6; otherwise, go to the first updating module and execute S8;
[0083] The first planning module is used to execute S6, combine p based on the matching degree b , a delivery task set T, a logistics drone set D, a logistics cabinet set L, and a tree search method are used to plan all delivery tasks in the delivery task set T to obtain a planning scheme;
[0084] The first determination module is configured to execute S7, determine the maximum completion time of the planning scheme, and determine whether all tasks in the delivery task set T have been executed in the planning scheme; if so, update b=b+1 and proceed to S5; if not, add a preset time period H to the maximum completion time, update b=b+1 and proceed to S5;
[0085] The first update module is used to execute S8, update the number of iterations i=i+1, and judge i≤N I Is it established? If so, go to the first processing module to execute S9; otherwise go to the second determination module S10; where N I Indicates the maximum number of iterations;
[0086] The first processing module is configured to execute S9, perform genetic operations on the matching degree set to obtain a processed matching degree set, and then transfer to the first traversal module to execute S4;
[0087] The second determining module is configured to execute S10 and determine the planning scheme with the shortest maximum completion time among the planning schemes as the final planning scheme.
[0088] Optionally, the first processing module includes:
[0089] The first deletion submodule is used to execute S901, sort all matching degree combinations in the matching degree set in non-ascending order based on the maximum completion time of the planning scheme, and delete the first N matching degree combinations in the matching degree set. C matching degree combinations, and obtain the matching degree set after deletion; where N C is a preset value, and N C <N P ;
[0090] A first crossover submodule is configured to execute S902, perform a crossover operation on the deleted matching degree set to obtain a matching degree set after the crossover operation;
[0091] The first cross-connect submodule includes:
[0092] A first initialization unit is configured to execute S90201 and initialize the number of crossovers n=1;
[0093] The first judgment unit is used to execute S90202 and judge n≤N B Is it true? If so, go to the first selection unit to execute S90203; otherwise, go to the first mutation submodule to execute S903; where N B represents the total number of crossover operations, and
[0094] The first selection unit is configured to execute S90203, randomly select two different matching degree combinations from the deleted matching degree set for replication, and obtain p′ and p″;
[0095] A first exchange unit is configured to execute S90204, randomly select a position in the two different matching degree combinations, and exchange the matching degree after the position in p′ with the matching degree after the position in p″;
[0096] A first adding unit is configured to execute S90205, adding the swapped p′ and p″ to the deleted matching degree set as the matching degree set after the crossover operation;
[0097] The first updating unit is configured to execute S90206, update n=n+1, and then transfer the execution of S90202 to the first judging unit;
[0098] The first mutation submodule is configured to execute S903, performing a mutation operation on the matching degree set after the crossover operation;
[0099] The first mutation submodule includes:
[0100] The second initialization unit is used to execute S90301 and initialize the mutation times m=1;
[0101] The second judgment unit is used to execute S90302 and judge whether m≤N C -2N B Is it true? If so, go to the second selection unit to execute S90303; otherwise, go to the first traversal module to execute S4;
[0102] The second selection unit is configured to execute S90303, randomly select a matching degree combination from the matching degree set after the crossover operation, and copy it to obtain p″′;
[0103] A first replacement unit is configured to execute S90304, randomly select a position in p″′, randomly generate an integer within a preset range, and replace the matching degree of the position in p″′ with the integer;
[0104] A second adding unit is configured to execute S90305, adding the replaced p″′ to the matching degree set after the crossover operation as a processed matching degree set;
[0105] The second updating unit is used to execute S90306, update m=m+1, and transfer the process to the second judging unit to execute S90302.
[0106] Optionally, the first initialization module includes:
[0107] A first initialization submodule is used to execute S201 and initialize b=1;
[0108] The first judgment submodule is used to execute S202 and judge whether b≤N P Is it established? If so, go to the first adding submodule to execute S203; otherwise, go to the first iteration module to execute S3;
[0109] The first adding submodule is used to execute S203, randomly generate N within a preset range D *N T integers, added to the matching combination p b In which, N T Represents the number of all delivery tasks in the delivery task set T, N D represents the number of all logistics drones in the logistics drone set D;
[0110] The second adding submodule is used to execute S204, combining the matching degree p b Add to the matching set P;
[0111] The first updating submodule is configured to execute S205 , update b=b+1, and then transfer to the first judging submodule to execute S202 .
[0112] In a third aspect of the present application, an electronic device is provided, comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;
[0113] Memory for storing computer programs;
[0114] The processor is used to implement any of the above-mentioned steps of the intelligent scheduling method for coordinated delivery of drones and logistics cabinets when executing the program stored in the memory.
[0115] In a fourth aspect of the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, any of the above-mentioned steps of the intelligent scheduling method for collaborative delivery of drones and logistics cabinets is implemented.
[0116] (3) Beneficial effects
[0117] This application provides a method and system for intelligent dispatching of drone-logistics cabinet collaborative delivery, which has the following advantages over the existing technology:
[0118] In the technical solution provided in this application, S1, obtain collaborative delivery information; S2, initialize the matching degree set P; S3, iterate; S4, traverse the matching degree set P; S5, determine b≤N P Is it true? If so, go to S6, otherwise go to S8; S6, based on the matching combination p b , delivery task set T, logistics drone set D, logistics cabinet set L, and tree search method, plan all delivery tasks in the delivery task set T to obtain a planning scheme; S7, determine the maximum completion time of the planning scheme, and judge whether all tasks in the delivery task set T have been executed in the planning scheme; if so, update b=b+1 and go to S5; if not, add the preset time H to the maximum completion time, update b=b+1 and go to S5; S8, update the number of iterations i=i+1, and judge i≤N I Is it established? If so, go to S9, otherwise go to S10; S9, perform genetic operation on the matching degree set to obtain the processed matching degree set, and go to S4; S10, determine the planning scheme with the smallest maximum completion time among the planning schemes as the final planning scheme.
[0119] Based on the above processing, the present application designs a matching attribute for each drone-task pair, and the matching degree of each drone-task pair is initially randomly generated. On this basis, the tree search method based on the matching degree obtains the planning scheme of each drone one by one, ensuring that there is no conflict in the docking scheme of each drone. Then, an iterative search is performed based on the idea of genetic algorithm, and the matching degree of each drone-task pair is updated during the iterative search process to search for a matching degree combination with a smaller maximum completion time and a corresponding planning scheme. Based on the combination of tree search method and genetic algorithm, the planning scheme with the shortest maximum completion time can be quickly obtained, which reduces the time cost and computational cost of obtaining the planning scheme, and effectively shortens the maximum completion time of the obtained planning scheme, greatly improving the quality of the obtained planning scheme and improving the distribution efficiency of the collaborative distribution of drones and logistics cabinets. BRIEF DESCRIPTION OF THE DRAWINGS
[0120] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0121] Figure 1 A flowchart of an intelligent dispatching method for collaborative delivery between drones and logistics cabinets provided in an embodiment of the present application;
[0122] Figure 2 A flowchart of a tree search based on matching degree provided in an embodiment of the present application;
[0123] Figure 3 A flowchart of a branch exploration based on matching degree provided in an embodiment of the present application;
[0124] Figure 4 A flowchart of a calculation task execution time period provided in an embodiment of the present application;
[0125] Figure 5 This is a structural diagram of an intelligent dispatching system for collaborative delivery of drones and logistics cabinets provided in an embodiment of the present application;
[0126] Figure 6 A structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0127] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention are clearly and completely described. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0128] The embodiments of the present application provide an intelligent scheduling method and system for collaborative delivery of drones and logistics cabinets to solve the problem in the prior art that the maximum completion time of feasible planning schemes obtained is long when there is no conflict in the drone's docking plan. Based on the idea of genetic algorithm, iterative search is performed, and the matching degree of each drone-task pair is updated during the iterative search process to search for a matching degree combination and corresponding planning scheme that makes the maximum completion time smaller. Based on the combination of tree search method and genetic algorithm, the planning scheme with the smallest maximum completion time can be quickly obtained, which reduces the time cost and computational cost of obtaining the planning scheme, and effectively shortens the maximum completion time of the obtained planning scheme, greatly improving the quality of the obtained planning scheme and improving the delivery efficiency of collaborative delivery of drones and logistics cabinets.
[0129] The technical solution in the embodiments of the present application is to solve the above technical problems, and the overall idea is as follows:
[0130] In the collaborative delivery model between drones and logistics lockers, the top of the logistics locker serves as the drone's takeoff and landing platform, equipped with automated package loading and unloading equipment. The drone automatically loads packages onto the top of the locker and automatically unloads them once it reaches the designated top of the locker. Because only one drone can dock on the top of a logistics locker at a time, the drone has exclusive access to the locker.
[0131] A drone carrying cargo flies from its origin to its destination. The routes between the multiple logistics lockers it visits in an orderly manner form a route. A feasible planning solution includes the flight path of each drone. Drones need to load and unload cargo and replace batteries at the logistics lockers. Since drones have exclusive access to the lockers, overlapping docking times at the same locker can create conflicts. Therefore, a feasible planning solution includes a docking plan for drones at the lockers.
[0132] Drones load cargo onto a logistics locker at the departure point, fly to the destination, and unload the cargo. The routes between the multiple logistics lockers visited in a sequential manner constitute the flight path, and the loading, unloading, and stays at each locker constitute the docking period. The optimization goal of the scheduling task is to arrange each drone's delivery path and detailed docking time periods so that multiple drones can complete the entire delivery task with the minimum maximum completion time and without conflicts between drones during docking.
[0133] To achieve this, this application designs a matching attribute for each drone-task pair. The matching degree for each drone-task pair is initially randomly generated. Based on this, a matching tree search method is used to obtain a planning solution for each drone. Then, an iterative search based on the concept of a genetic algorithm is performed, updating the matching degree of each drone-task pair during the iterative search process. This allows the application to find the matching combination and corresponding planning solution that minimizes the maximum completion time.
[0134] In order to better understand the above technical solution, the above technical solution will be described in detail below with reference to the accompanying drawings and specific implementation methods.
[0135] See also Figure 1 , Figure 1 This is a flow chart of an intelligent dispatching method for collaborative delivery between drones and logistics cabinets provided in an embodiment of the present application. Figure 1 As shown, the method includes:
[0136] S1. Obtain collaborative delivery information.
[0137] The collaborative delivery information includes: delivery task set T, logistics drone set D, and logistics cabinet set L.
[0138] S2. Initialize the matching degree set P.
[0139] Wherein, the matching degree set P is represented by N P A set of matching combinations is formed. p b Indicates the b-th matching combination, 1≤b≤N P ; The matching degree combination represents a data set consisting of the matching degrees of drone-task pairs; a drone-task pair consists of a delivery task and a logistics drone, and each drone-task pair has a matching degree attribute; the matching degree represents the degree of fit between the delivery task and the logistics drone in the drone-task pair.
[0140] S3. Perform iteration, wherein the number of iterations is initialized to i=1.
[0141] S4. Traverse the matching degree set P; wherein, initialize the index b in the matching degree combination to 1.
[0142] S5. Determine b≤N P Is it true? If so, go to S6, otherwise go to S8.
[0143] S6. Combine p based on matching degree b , delivery task set T, logistics drone set D, logistics cabinet set L, and tree search method are used to plan all delivery tasks in the delivery task set T and obtain a planning scheme.
[0144] S7. Determine the maximum completion time of the planning scheme, and judge whether all the tasks in the distribution task set T have been executed in the planning scheme; if so, update b=b+1 and go to S5; if not, add a preset time period H to the maximum completion time, update b=b+1, and go to S5.
[0145] S8. Update the number of iterations i=i+1, and determine i≤N I Is it true? If so, go to S9, otherwise go to S10; where N I Indicates the maximum number of iterations.
[0146] S9. Perform genetic operations on the matching degree set to obtain a processed matching degree set, and then go to S4.
[0147] S10. Determine the planning scheme with the shortest maximum completion time among the planning schemes as the final planning scheme.
[0148] Based on the above process, a matching attribute is designed for each drone-task pair, and the matching degree of each drone-task pair is initially randomly generated. On this basis, a tree search method based on the matching degree is used to obtain a planning scheme for each drone one by one, ensuring that there are no conflicts in the docking plan of each drone. Then, an iterative search based on the concept of genetic algorithm is performed, and the matching degree of each drone-task pair is updated during the iterative search process to find the matching degree combination and corresponding planning scheme that minimizes the maximum completion time. Based on the combination of tree search method and genetic algorithm, the planning scheme with the smallest maximum completion time can be quickly obtained, reducing the time and computational cost of obtaining the planning scheme, and effectively shortening the maximum completion time of the obtained planning scheme, greatly improving the quality of the obtained planning scheme and enhancing the delivery efficiency of the coordinated delivery of drones and logistics cabinets.
[0149] The preset time period H is a very large time period to ensure that after the preset time period H is added to the maximum completion time, all tasks in the delivery task set T are executed in the planning scheme.
[0150] Next, the details of the above technical solution will be introduced in detail in conjunction with the drawings and specific contents of the specification:
[0151] The drone and logistics cabinet collaborative delivery method provided in the embodiment of the present application is applied to N T delivery tasks T, N D Logistics drones D, N L Logistics cabinet L. Among them, t i represents the i-th delivery task, and 1≤i≤N T ; d j represents the jth drone, and 1≤j≤N D , l k Represents the kth logistics cabinet, 1≤k≤N L .
[0152] Each mission and each logistics drone can form a drone-mission pair, and each drone-mission pair has a matching attribute.
[0153] The matching degree is an attribute proposed in this application, and its specific form is an integer within a preset range, wherein the preset range can be [-10, 10], [-100, 100], etc., without limitation.
[0154] The matching degree indicates the degree of fit between the task in the drone-task pair and the logistics drone. The higher the matching degree between the drone and the task, the greater the benefit of the drone performing the task. In other words, the higher the matching degree, the better the performance of the drone in the drone-task pair, and vice versa.
[0155] Delivery mission means using logistics drone to deliver the delivery mission t i of packages are delivered from its delivery lockers Delivered to its receiving logistics cabinet Among them, the i-th delivery task t i Corresponding to a delivery logistics cabinet and a receiving logistics cabinet
[0156] In addition, the j-th UAV d j It can only be docked on the logistics cabinet and cannot be parked on the ground or other places. j Initially docked at the logistics cabinet UAV d j Only one delivery task is carried out at a time, that is, only one delivery package is carried.
[0157] UAV-task pair matching combination: referred to as matching combination, is a length N composed of the matching degree of each UAV-task pair. D *N T dataset.
[0158] UAV-task pair matching degree set: referred to as matching degree set, composed of N P Matching degree combinations form a UAV-task pair matching degree set p b Indicates the b-th matching combination, 1≤b≤N P .
[0159] The docking time period refers to the time period from the drone landing on the logistics cabinet to the drone taking off from the logistics cabinet again. It consists of three parts: unloading time, waiting time, and loading time.
[0160] For step S1, the collaborative delivery information includes: delivery task set T, logistics drone set D, logistics cabinet set L, and the docking location information of each drone.
[0161] Specifically, in step S2, the matching degree set P is initialized, including:
[0162] S201. Initialize b=1.
[0163] S202. Judgment b≤N P Is it true? If so, go to S203; otherwise, go to S3.
[0164] S203, randomly generate N within the preset range D *N T integers, added to the matching combination p b middle.
[0165] S204, combine the matching degree p b Add to the matching set P.
[0166] S205. Update b=b+1, and go to S202.
[0167] Based on the above processing, in the process of initializing the matching degree set, a matching degree is randomly generated for each UAV-task pair, which lays the foundation for determining the UAV planning scheme and iteratively searching the matching degree set.
[0168] See also Figure 2 , Figure 2 This is a flowchart of a tree search based on matching degree provided in an embodiment of the present application. Figure 2 As shown, in step S6, based on the matching degree combination p b , a delivery task set T, a logistics drone set D, a logistics cabinet set L, and a tree search method are used to plan all delivery tasks in the delivery task set T to obtain a planning scheme, including:
[0169] S601, obtain matching combination p b , delivery task set T, logistics drone set D, logistics cabinet set L.
[0170] S602: Initialize the set of nodes to be branched C as an empty set, the planning scheme S as an empty set, create a search tree R for each drone, and create a conflict period set F for each logistics cabinet.
[0171] Among them, R j Indicates logistics drone d j The corresponding search tree, 1≤j≤N D ; F k represents the conflict time set of the k-th logistics cabinet, 1≤k≤N L .
[0172] S603: Traverse the drones, wherein the drone number j is initialized to 1.
[0173] S604. Judgment j≤N D Is it true? If so, go to S605; otherwise, go to S614.
[0174] S605, move the drone to j The initially docked logistics cabinet is set as the root node, the time when the logistics cabinet takes off is 0, and the root node is added to the set of nodes to be branched C.
[0175] S606, create search tree R j , add the root node to R j and set the matching degree of the root node to 0.
[0176] S607 , determine whether the set of nodes to be branched C is an empty set. If so, go to S610 , otherwise go to S608 .
[0177] S608, determine the search tree R j Is the number of nodes greater than N? R If so, go to S610, otherwise go to S609.
[0178] S609 , branching the node F with the largest matching degree in the set of nodes to be branched C, and then going to S607 .
[0179] For details, see Figure 3 , Figure 3 A branch exploration flow chart based on matching degree is provided in the embodiment of the present application. Figure 3 As shown, in step S609, the node F with the largest matching degree in the branch node set C is branched, including:
[0180] S60901, read the search tree R j , set of nodes to be branched C, set of nodes to be branched F, set of tasks T, set of logistics cabinets L and set of logistics drones D.
[0181] S60902. Traverse the logistics cabinet set L; wherein, initialize the logistics cabinet number k=1.
[0182] S60903, judge k≤N L, whether it is established; if so, go to S60904; otherwise, go to S60916;
[0183] S60904. Determine whether the logistics cabinet is the logistics cabinet corresponding to the branch node F. If so, update k=k+1 and go to S60903; otherwise, go to S60905.
[0184] S60905、Computing UAV d j After docking at the logistics cabinet corresponding to node F, the time E required to complete the previous task is C .
[0185] S60906: Determine whether there is a logistics cabinet corresponding to node F in the task set T. k If it is the end task, go to S60907; otherwise go to S60913.
[0186] S60907, judge in search tree R j Whether the branch from the root node to node F contains the task, if so, go to S60913; otherwise, go to S60908.
[0187] S60908, command the drone to j The take-off time of the logistics cabinet corresponding to node F
[0188] in, Indicates drone d j Time to load cargo.
[0189] S60909, computing logistics cabinet l k The latest end time E of all conflicting periods in the conflicting period set M 、Drone arrives at the logistics cabinet k Time E L .
[0190] S60910, judgment E M ≤E L Is it true? If so, go to S60912; otherwise, go to S60911.
[0191] S60911, Update E L =E M , according to E L Backpropagation and update of drone d j Take-off time E on the logistics cabinet corresponding to node F T .
[0192] S60912, corresponding logistics cabinet l kCreate a child node to connect to node F, add the child node to the set of nodes to be branched, update k=k+1, and go to S60903.
[0193] S60913, determine whether node F is not a root node and R j The task completed by node F is a virtual task. If so, update k=k+1 and go to S60903; otherwise, go to S60914.
[0194] S60914, create a virtual task, set the virtual task and the drone d j The matching degree is -1, and the time for loading and unloading cargo in the virtual task is set to 0.
[0195] The starting point of the virtual task is the logistics cabinet corresponding to node F, and the end point is the logistics cabinet l k .
[0196] S60915, command drone d j Departure time E T =E C , transfer to S60909.
[0197] S60916. Delete node F from the set of nodes to be branched C.
[0198] S60917, output search tree R j .
[0199] For step S60905, E C Indicates drone d j The time it takes to arrive at the logistics cabinet and complete unloading of the goods.
[0200] In addition, in step S609, the process of calculating the take-off time, arrival time and task completion time of the UAV when performing the task can be found in Figure 4 , Figure 4 This is a flow chart of a computing task execution time period provided by an embodiment of the present application. Figure 4 As shown, the steps of calculating the task execution time period include:
[0201] Step a: Initialize the takeoff time to the completion time of the previous task.
[0202] Step b: determine whether the task is a virtual task. If not, go to step c; if yes, go to step d.
[0203] Step c: Update the take-off time to the current take-off time plus the cargo loading time.
[0204] Step d: Calculate the time it takes for the UAV to arrive at the mission receiving site.
[0205] Step e: Determine whether the drone can land. If not, go to step f; if yes, go to step i.
[0206] Step f: Update the arrival time of the drone based on the conflict time set of the arriving logistics cabinet.
[0207] Step g: Calculate the completion time of the task = arrival time + cargo unloading time.
[0208] Step h: Backward calculation and update of the take-off time of the UAV.
[0209] Step i: Output the take-off time, arrival time, and mission completion time of the UAV performing the mission.
[0210] S610, select the node with the largest matching degree, and j The branch from the root node to the node is converted to obtain drone d j flight route.
[0211] S611, calculate d j The docking time period of each logistics cabinet on the corresponding flight route, and d j The end time of the final docking time period of the logistics cabinet is set as the predetermined time M, and the docking time period is added to the conflict time period set of the corresponding logistics cabinet.
[0212] Specifically, the preset time M is a very long time.
[0213] S612, according to the drone d j The flight route and stop time are planned to obtain the plan S j , S j Add to planning scheme S.
[0214] S613. Delete the planning scheme S in the task set T. j For the completed tasks, clear the set of nodes to be branched C, update j=j+1, and go to S604.
[0215] S614. Output planning scheme S.
[0216] Among them, the search tree R j The matching degree of the node above is the matching degree of all tasks contained in the branch from the root node to the node and d j The sum of the matching degrees. N R is the maximum number of nodes that can be present in the constructed search tree. In a search tree, each node corresponds to a logistics cabinet, but the same logistics cabinet may appear multiple times, that is, a logistics cabinet may correspond to multiple nodes.
[0217] In the above processing process, the tree search method based on matching degree obtains the planning scheme of each UAV one by one, so that the matching degree set can be iteratively searched based on the idea of genetic algorithm, thereby searching for the matching degree combination and corresponding planning scheme that makes the maximum completion time smaller.
[0218] Specifically, in step S9, a genetic operation is performed on the matching degree set to obtain a processed matching degree set, and then the process goes to S4, which includes:
[0219] S901, based on the maximum completion time of the planning scheme, sort all matching degree combinations in the matching degree set in non-ascending order, and delete the first N matching degree combinations in the matching degree set. C matching degree combinations, and obtain the matching degree set after deletion; where N C is a preset value, and N C <N P ;
[0220] S902, performing a cross operation on the deleted matching degree set to obtain a matching degree set after the cross operation;
[0221] The crossover operation in step S902 includes:
[0222] S90201. Initialize the number of crossover times n=1.
[0223] S90202, judge n≤N B Is it true? If so, go to S90203, otherwise go to S903; where N B represents the total number of crossover operations, and
[0224] S90203. Randomly select two different matching degree combinations from the deleted matching degree set for replication to obtain p′ and p″.
[0225] S90204. Randomly select a position in the two different matching degree combinations, and exchange the matching degree after the position in p′ with the matching degree after the position in p″.
[0226] S90205. Add the swapped p′ and p″ to the deleted matching degree set.
[0227] S90206. Update n=n+1 and go to S90202.
[0228] S903: Perform a mutation operation on the matching degree set after the crossover operation.
[0229] The mutation operation in step S903 includes:
[0230] S90301. Initialize the number of mutations m=1.
[0231] S90302, judge m≤N C -2N B Is it true? If so, go to S90303; otherwise, go to S4.
[0232] S90303. Randomly select a matching degree combination from the matching degree set after the crossover operation and replicate it to obtain p″′.
[0233] S90304. Randomly select a position in p″′, randomly generate an integer within a preset range, and replace the integer with the matching degree of the position in p″′.
[0234] S90305. Add the replaced p″′ to the matching degree set after the crossover operation.
[0235] S90306. Update m=m+1 and go to S90302.
[0236] Based on the above processing, an iterative search is performed through the idea of genetic algorithm to obtain the matching combination and corresponding planning scheme that can reduce the maximum completion time.
[0237] Based on the same inventive concept, the present application also provides a drone and logistics cabinet collaborative delivery system. Figure 5 , Figure 5 This is a structural diagram of an intelligent dispatching system for collaborative delivery of drones and logistics cabinets provided in an embodiment of the present application. Figure 5 As shown, the system includes:
[0238] The first acquisition module 501 is used to execute S1 and obtain collaborative delivery information; wherein, the collaborative delivery information includes: a delivery task set T, a logistics drone set D, a logistics cabinet set L, and the docking location information of each drone.
[0239] The first initialization module 502 is used to execute S2, initialize the matching degree set P; wherein the matching degree set P represents the N P A set of matching combinations is formed. p b Indicates the b-th matching combination, 1≤b≤N P ; The matching degree combination represents a data set consisting of the matching degrees of drone-task pairs; the drone-task pairs consist of delivery tasks and logistics drones, and each drone-task pair has a matching degree attribute; the matching degree is an integer within a preset range, indicating the degree of compatibility between the delivery task and the logistics drone in the drone-task pair.
[0240] The first iteration module 503 is configured to execute S3 and perform iteration; wherein the number of iterations i is initialized to 1.
[0241] The first traversal module 504 is used to execute S4, traverse the matching degree set P; wherein, the index b in the matching degree combination is initialized to 1.
[0242] The first judgment module 505 is used to execute S5 and judge whether b≤N P Is it established? If so, go to the first planning module to execute S6, otherwise go to the first updating module to execute S8.
[0243] The first planning module 506 is used to execute S6, combine p based on the matching degree b , delivery task set T, logistics drone set D, logistics cabinet set L, and tree search method are used to plan all delivery tasks in the delivery task set T and obtain a planning scheme.
[0244] The first determination module 507 is used to execute S7, determine the maximum completion time of the planning scheme, and judge whether all the tasks in the distribution task set T have been executed in the planning scheme; if so, update b=b+1, and turn to the first judgment module to execute S5; if not, add the preset time H to the maximum completion time, update b=b+1, and turn to the first judgment module to execute S5.
[0245] The first updating module 508 is used to execute S8, update the number of iterations i=i+1, and determine i≤N I If yes, go to the first processing module to execute S9, otherwise go to the second determination module S10; where N I Indicates the maximum number of iterations.
[0246] The first processing module 509 is configured to execute S9, perform genetic operation on the matching degree set to obtain a processed matching degree set, and then transfer to the first traversal module to execute S4.
[0247] The second determining module 510 is configured to execute S10 and determine the planning scheme with the shortest maximum completion time among the planning schemes as the final planning scheme.
[0248] The first processing module 509 includes:
[0249] The first deletion submodule is used to execute S901, sort all matching combinations in the matching set in non-ascending order based on the maximum completion time of the planning scheme, and delete the first N matching combinations in the matching set. C matching degree combinations, and obtain the matching degree set after deletion; where N C is a preset value, and N C <N P ;
[0250] A first crossover submodule is configured to execute S902, perform a crossover operation on the deleted matching degree set to obtain a matching degree set after the crossover operation;
[0251] The first cross-connect submodule includes:
[0252] A first initialization unit is configured to execute S90201 and initialize the number of crossovers n=1;
[0253] The first judgment unit is used to execute S90202 and judge n≤N B Is it true? If so, go to S90203, otherwise go to S903; where N B represents the total number of crossover operations, and
[0254] The first selection unit is configured to execute S90203, randomly select two different matching degree combinations from the deleted matching degree set for replication, and obtain p′ and p″;
[0255] A first exchange unit is configured to execute S90204, randomly select a position in the two different matching degree combinations, and exchange the matching degree after the position in p′ with the matching degree after the position in p″;
[0256] A first adding unit is configured to execute S90205, adding the swapped p′ and p″ to the deleted matching degree set;
[0257] The first updating unit is configured to execute S90206, update n=n+1, and then proceed to S90202;
[0258] The first mutation submodule is configured to execute S903, performing a mutation operation on the matching degree set after the crossover operation;
[0259] The first mutation submodule includes:
[0260] The second initialization unit is used to execute S90301 and initialize the mutation times m=1;
[0261] The second judgment unit is used to execute S90302 and judge whether m≤N C -2N B Is it true? If so, go to S90303; otherwise, go to S4.
[0262] The second selection unit is configured to execute S90303, randomly select a matching degree combination from the matching degree set after the crossover operation, and copy it to obtain p″′;
[0263] A first replacement unit is configured to execute S90304, randomly select a position in p″′, randomly generate an integer within a preset range, and replace the matching degree of the position in p″′ with the integer;
[0264] A second adding unit is configured to execute S90305 and add the replaced p″′ to the matching degree set after the crossover operation;
[0265] The second updating unit is used to execute S90306, update m=m+1, and go to S90302.
[0266] The first initialization module 502 includes:
[0267] The first initialization submodule is configured to execute S201 and initialize b=1.
[0268] The first judgment submodule is used to execute S202 and judge whether b≤N P Is it true? If so, go to the first adding submodule to execute S203; otherwise, go to the first iteration module to execute S3.
[0269] The first adding submodule is used to execute S203, randomly generate N within a preset range D *N T integers, added to the matching combination p b In which, N T Represents the number of all delivery tasks in the delivery task set T, N D Represents the number of all logistics drones in the logistics drone set D.
[0270] The second adding submodule is used to execute S204, combining the matching degree p b Add to the matching set P.
[0271] The first updating submodule is configured to execute S205 , update b=b+1, and then transfer to the first judging submodule to execute S202 .
[0272] The present application also provides an electronic device. Figure 6 , Figure 6 This is a structural diagram of an electronic device provided in an embodiment of the present application. Figure 6 As shown, it includes a processor 601, a communication interface 602, a memory 603 and a communication bus 604, wherein the processor 601, the communication interface 602, and the memory 603 communicate with each other through the communication bus 604.
[0273] Memory 603, used for storing computer programs;
[0274] The processor 601 is configured to implement any of the above-mentioned intelligent scheduling methods for collaborative delivery between drones and logistics cabinets when executing the program stored in the memory 603.
[0275] The communication bus mentioned in the electronic device mentioned above may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.
[0276] The communication interface is used for communication between the above electronic device and other devices.
[0277] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.
[0278] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0279] In another embodiment provided in the present application, a computer-readable storage medium is also provided, which stores a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned intelligent scheduling methods for collaborative delivery of drones and logistics cabinets are implemented.
[0280] In another embodiment provided in the present application, a computer program product containing instructions is also provided. When the computer is run on the computer, the computer executes any one of the intelligent scheduling methods for collaborative delivery of drones and logistics cabinets in the above embodiments.
[0281] In summary, compared with the existing technology, the present invention has the following beneficial effects:
[0282] Based on the above processing, the present application designs a matching attribute for each drone-task pair, and the matching degree of each drone-task pair is initially randomly generated. On this basis, the tree search method based on the matching degree obtains the planning scheme of each drone one by one, ensuring that there is no conflict in the docking scheme of each drone. Then, an iterative search is performed based on the idea of genetic algorithm, and the matching degree of each drone-task pair is updated during the iterative search process, so as to search for the matching degree combination and corresponding planning scheme that makes the maximum completion time smaller. Based on the combination of tree search method and genetic algorithm, the planning scheme with the smallest maximum completion time can be quickly obtained, which reduces the time cost and computational cost of obtaining the planning scheme, and effectively shortens the maximum completion time of the obtained planning scheme, greatly improving the quality of the obtained planning scheme and improving the distribution efficiency of the collaborative distribution of drones and logistics cabinets.
[0283] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or apparatus that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or apparatus. In the absence of further limitations, an element defined by the sentence "comprises a..." does not exclude the presence of additional identical elements in the process, method, article or apparatus that includes the element.
[0284] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. An intelligent dispatching method for collaborative delivery between drones and logistics cabinets, characterized in that: The method comprises: S1. Acquire collaborative delivery information; wherein the collaborative delivery information includes: a delivery task set T, a logistics drone set D, and a logistics cabinet set L; S2, initialize the matching degree set P; wherein, the matching degree set P represents the N P A set of matching combinations is formed. p b Indicates the b-th matching combination, 1≤b≤N P The matching degree indicates the degree of compatibility between the delivery task and the logistics drone in the drone-task pair; S3, iterate; wherein, the number of initialization iterations i=1; S4, traverse the matching degree set P; wherein, the index b in the matching degree combination is initialized to 1; S5. Determine b≤N P Is it true? If so, go to S6; otherwise, go to S8; S6. Combine p based on matching degree b , a delivery task set T, a logistics drone set D, a logistics cabinet set L, and a tree search method are used to plan all delivery tasks in the delivery task set T to obtain a planning scheme; including: S601, obtain matching combination p b , delivery task set T, logistics drone set D, logistics cabinet set L; S602, initialize the set of nodes to be branched C to an empty set, the planning scheme S to an empty set, create a search tree R for each drone, and create a conflict period set F for each logistics cabinet; where R j Indicates logistics drone d j The corresponding search tree, 1≤j≤N D ; F k represents the conflict time set of the k-th logistics cabinet, 1≤k≤N L ; S603, traverse the drones; wherein, initialize the drone number j=1; S604. Judgment j≤N D Is it established? If so, go to S605; otherwise, go to S614; S605, move the drone to j The initial docked logistics cabinet is set as the root node, and the drone d j The time when the logistics cabinet takes off is 0, and the root node is added to the set of nodes to be branched C; S606, create search tree R j , add the root node to R j and set the matching degree of the root node to 0; S607: Determine whether the set of nodes to be branched C is an empty set. If so, go to S610; otherwise, go to S608. S608, determine the search tree R j Is the number of nodes greater than N? R If yes, go to S610, otherwise go to S609; S609: Branch the node F with the largest matching degree in the set of nodes to be branched C, and then go to S607; S610, select the node with the largest matching degree, and j The branch from the root node to the node is converted to obtain drone d j flight path; S611, calculate d j The docking time period of each logistics cabinet on the corresponding flight route is d j The end time of the final docking time period of the logistics cabinet is set as the predetermined time M, and the docking time period is added to the conflict time period set of the corresponding logistics cabinet; S612, according to the drone d j The flight route and stop time are planned to obtain the plan S j , S j Add to planning scheme S; S613. Delete the planning scheme S in the task set T. j The completed tasks in the process clear the set of nodes to be branched C, update j=j+1, and go to S604; S614, output planning scheme S; S7. Determine the maximum completion time of the plan and determine whether all tasks in the delivery task set T have been executed in the plan; if so, update b=b+1 and go to S5; if not, add a preset time period H to the maximum completion time, update b=b+1 and go to S5; S8. Update the number of iterations i=i+1, and determine i≤N I Is it true? If so, go to S9; otherwise go to S10; where N I Indicates the maximum number of iterations; S9, perform genetic operation on the matching degree set to obtain a processed matching degree set, and go to S4; S10. Determine the planning scheme with the shortest maximum completion time among the planning schemes as the final planning scheme.
2. The method according to claim 1, characterized in that In S9, a genetic operation is performed on the matching degree set to obtain a processed matching degree set, and then the process proceeds to S4, which includes: S901: sort all matching combinations in a matching set in non-ascending order based on the maximum completion time of the planning scheme, and delete the top N matching combinations in the matching set. C matching degree combinations, and obtain the matching degree set after deletion; where N C is a preset value, and N C <N P ; S902, performing a cross operation on the deleted matching degree set to obtain a matching degree set after the cross operation; The crossover operation in step S902 includes: S90201, initialize the number of crossovers n = 1; S90202, judge n≤N B Is it true? If so, go to S90203, otherwise go to S903; where N B represents the total number of crossover operations, and S90203. Randomly select two different matching degree combinations from the deleted matching degree set for replication, and obtain p ′ with p″; S90204: Randomly select a position in the two different matching degree combinations, and set p ′ The matching degree after the position in is exchanged with the matching degree after the position in p″; S90205, the exchanged p ′ and p″ are added to the matching degree set after deletion as the matching degree set after the crossover operation; S90206, update n=n+1, go to S90202; S903, performing a mutation operation on the matching degree set after the crossover operation; The mutation operation in step S903 includes: S90301, initialize the mutation times m=1; S90302, judge m≤N C -2N B Is it true? If so, go to S90303; otherwise, go to S4. S90303. Randomly select a matching degree combination from the matching degree set after the crossover operation and replicate it to obtain p″′; S90304. Randomly select a position in p″′, randomly generate an integer within a preset range, and replace the integer with the matching degree of the position in p″′; S90305. Add the replaced p″′ to the matching degree set after the crossover operation as the processed matching degree set; S90306. Update m=m+1 and go to S90302.
3. The method according to claim 1, characterized in that Initializing the matching degree set P in S2 includes: S201, initialize b=1; S202. Judgment b≤N P Is it established? If so, go to S203; otherwise, go to S3; S203, randomly generate N within the preset range D *N T integers, added to the matching combination p b In which, N T Represents the number of all delivery tasks in the delivery task set T, N D represents the number of all logistics drones in the logistics drone set D; S204, combine the matching degree p b Add to the matching set P; S205. Update b=b+1, and go to S202.
4. The method according to claim 3, characterized in that In step S609, the node F with the largest matching degree in the branch node set C is branched, including: S60901, read the search tree R j , set of nodes to be branched C, set of nodes to be branched F, set of tasks T, set of logistics cabinets L, and set of logistics drones D; S60902, traverse the logistics cabinet set L; wherein, initialize the logistics cabinet number k=1; S60903, judge k≤N L Is it true? If so, go to S60904; otherwise, go to S60916; S60904: Determine whether the logistics cabinet is the one corresponding to the branch node F. If so, update k=k+1 and go to S60903; otherwise, go to S60905. S60905、Computing UAV d j After docking at the logistics cabinet corresponding to node F, the time E required to complete the previous task is C ; S60906: Determine whether there is a logistics cabinet corresponding to node F in the task set T. k If it is the end task, go to S60907; otherwise go to S60913; S60907, judge in search tree R j Whether the branch from the root node to node F contains the task, if so, go to S60913; otherwise, go to S60908; S60908, command the drone to j The take-off time of the logistics cabinet corresponding to node F in, Indicates drone d j Time of loading of cargo; S60909, computing logistics cabinet l k The latest end time E of all conflicting periods in the conflicting period set M 、Drone arrives at the logistics cabinet k Time E L ; S60910, judgment E M ≤E L Is it true? If so, go to S60912; otherwise, go to S60911; S60911, Update E L =E M , according to E L Backpropagation and update of drone d j Take-off time E on the logistics cabinet corresponding to node F T ; S60912, corresponding logistics cabinet l k Create a child node connected to node F, add the child node to the set of nodes to be branched, update k=k+1, and go to S60903; S60913, determine whether node F is not a root node and R j The task completed by node F is a virtual task. If so, update k=k+1 and go to S60903. Otherwise, go to S60914. S60914, create a virtual task, set the virtual task and the drone d j The matching degree is -1, and the time of loading and unloading goods in the virtual task is set to 0; wherein, the starting point of the virtual task is the logistics cabinet corresponding to node F, and the end point is the logistics cabinet l k ; S60915, command drone d j Departure time E T =E V , transfer to S60909; S60916. Delete node F from the set of nodes to be branched C. S60917, output search tree R j .
5. An intelligent dispatching system for collaborative delivery of drones and logistics cabinets, characterized by: The system comprises: A first acquisition module is configured to execute S1 and acquire collaborative delivery information, wherein the collaborative delivery information includes: a delivery task set T, a logistics drone set D, and a logistics cabinet set L; The first initialization module is used to execute S2 and initialize the matching degree set P; wherein the matching degree set P represents the N P Matching combinations form a set. p b Indicates the b-th matching combination, 1≤b≤N P The matching degree indicates the degree of compatibility between the delivery task and the logistics drone in the drone-task pair; the first iteration module is used to execute S3 and iterate; wherein the number of initial iterations i=1; The first traversal module is used to execute S4 and traverse the matching degree set P; wherein the index b in the matching degree combination is initialized to 1; The first judgment module is used to execute S5 and judge whether b≤N P Is it established? If so, go to the first planning module and execute S6; otherwise, go to the first updating module and execute S8; The first planning module is used to execute S6, combine p based on the matching degree b , a delivery task set T, a logistics drone set D, a logistics cabinet set L, and a tree search method are used to plan all delivery tasks in the delivery task set T to obtain a planning scheme; including: S601, obtain matching combination p b , delivery task set T, logistics drone set D, logistics cabinet set L; S602, initialize the set of nodes to be branched C to an empty set, the planning scheme S to an empty set, create a search tree R for each drone, and create a conflict period set F for each logistics cabinet; where R j Indicates logistics drone d j The corresponding search tree, 1≤j≤N D ; F k represents the conflict time set of the k-th logistics cabinet, 1≤k≤N L ; S603, traverse the drones; wherein, initialize the drone number j=1; S604. Judgment j≤N D Is it established? If so, go to S605; otherwise, go to S614; S605, move the drone to j The initial docked logistics cabinet is set as the root node, and the drone d j The time when the logistics cabinet takes off is 0, and the root node is added to the set of nodes to be branched C; S606, create search tree R j , add the root node to R j and set the matching degree of the root node to 0; S607: Determine whether the set of nodes to be branched C is an empty set. If so, go to S610; otherwise, go to S608. S608, determine the search tree R j Is the number of nodes greater than N? R If yes, go to S610, otherwise go to S609; S609: Branch the node F with the largest matching degree in the set of nodes to be branched C, and then go to S607; S610, select the node with the largest matching degree, and j The branch from the root node to the node is converted to obtain drone d j flight path; S611, calculate d j The docking time period of each logistics cabinet on the corresponding flight route is d j The end time of the final docking time period of the logistics cabinet is set as the predetermined time M, and the docking time period is added to the conflict time period set of the corresponding logistics cabinet; S612, according to the drone d j The flight route and stop time are planned to obtain the plan S j , S j Add to planning scheme S; S613. Delete the planning scheme S in the task set T. j The completed tasks in the process clear the set of nodes to be branched C, update j=j+1, and go to S604; S614, output planning scheme S; The first determination module is configured to execute S7, determine the maximum completion time of the planning scheme, and determine whether all tasks in the delivery task set T have been executed in the planning scheme; if so, update b=b+1 and proceed to S5; if not, add a preset time period H to the maximum completion time, update b=b+1 and proceed to S5; The first update module is used to execute S8, update the number of iterations i=i+1, and judge i≤N I If yes, go to the first processing module to execute S9, otherwise go to the second determination module S10; where N I Indicates the maximum number of iterations; The first processing module is configured to execute S9, perform genetic operations on the matching degree set to obtain a processed matching degree set, and then transfer to the first traversal module to execute S4; The second determining module is configured to execute S10 and determine the planning scheme with the shortest maximum completion time among the planning schemes as the final planning scheme.
6. The intelligent dispatching system for coordinated delivery of drones and logistics cabinets according to claim 5 is characterized in that: The first processing module includes: The first deletion submodule is used to execute S901, sort all matching degree combinations in the matching degree set in non-ascending order based on the maximum completion time of the planning scheme, and delete the first N matching degree combinations in the matching degree set. C matching degree combinations, and obtain the matching degree set after deletion; where N C is a preset value, and N C <N P ; A first crossover submodule is configured to execute S902, perform a crossover operation on the deleted matching degree set to obtain a matching degree set after the crossover operation; The first cross-connect submodule includes: A first initialization unit is configured to execute S90201 and initialize the number of crossovers n=1; The first judgment unit is used to execute S90202 and judge n≤N B Is it true? If so, go to the first selection unit to execute S90203, otherwise go to the first mutation submodule to execute S903; where N B represents the total number of crossover operations, and The first selection unit is used to execute S90203, randomly select two different matching degree combinations from the deleted matching degree set for copying, and obtain p ′ with p″; The first exchange unit is used to execute S90204, randomly select a position in the two different matching degree combinations, and replace p ′ The matching degree after the position in is exchanged with the matching degree after the position in p″; The first adding unit is used to execute S90205, and to add the exchanged p ′ and p″ are added to the matching degree set after deletion as the matching degree set after the crossover operation; The first updating unit is configured to execute S90206, update n=n+1, and then transfer the execution of S90202 to the first judging unit; The first mutation submodule is configured to execute S903, performing a mutation operation on the matching degree set after the crossover operation; The first mutation submodule includes: The second initialization unit is used to execute S90301 and initialize the number of mutations m=1; The second judgment unit is used to execute S90302 and judge whether m≤N C -2N B Is it true? If so, go to the second selection unit to execute S90303; otherwise, go to the first traversal module to execute S4; The second selection unit is configured to execute S90303, randomly select a matching degree combination from the matching degree set after the crossover operation, and copy it to obtain p″′; A first replacement unit is configured to execute S90304, randomly select a position in p″′, randomly generate an integer within a preset range, and replace the matching degree of the position in p″′ with the integer; A second adding unit is configured to execute S90305, adding the replaced p″′ to the matching degree set after the crossover operation as a processed matching degree set; The second updating unit is used to execute S90306, update m=m+1, and transfer the process to the second judging unit to execute S90302.
7. The intelligent dispatching system for coordinated delivery of drones and logistics cabinets according to claim 5 is characterized in that: The first initialization module includes: A first initialization submodule is used to execute S201 and initialize b=1; The first judgment submodule is used to execute S202 and judge whether b≤N P Is it established? If so, go to the first adding submodule to execute S203; otherwise, go to the first iteration module to execute S3; The first adding submodule is used to execute S203, randomly generate N within a preset range D *N T integers, added to the matching combination p b In which, N t Represents the number of all delivery tasks in the delivery task set T, N D represents the number of all logistics drones in the logistics drone set D; The second adding submodule is used to execute S204, combining the matching degree p b Add to the matching set P; The first updating submodule is configured to execute S205 , update b=b+1, and then transfer to the first judging submodule to execute S202 .
8. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory for storing computer programs; A processor, configured to implement the method steps described in any one of claims 1 to 4 when executing a program stored in a memory.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps according to any one of claims 1 to 4 are implemented.