Multi-unmanned aerial vehicle task allocation system and method based on two-stage multi-population wolf pack algorithm
By adopting two-stage multiple pack algorithms in the multi-UAV mission allocation system, the problems of increased algorithm complexity and solution time in the existing technology are solved, and efficient and accurate task allocation and optimization are achieved.
Patent Information
- Application Number
- CN202411730462.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2044-11-29
AI Technical Summary
While improving the solution accuracy, the existing multi-UAV mission allocation algorithm leads to a significant increase in algorithm complexity and solution time, and the overall effect is not ideal.
A multi-UAV mission allocation system based on two-stage multiple wolves algorithms is adopted. Multiple sub-populations are divided through the initialization module, and different number of walks, summoning speeds, thresholds and roulette mechanisms are used for task allocation and optimization.
It improves the efficiency and accuracy of task allocation, reduces the use of drone resources, ensures the excellence of the solution, and avoids the algorithm falling into local optimization in the later stage of iteration.
Smart Images

Figure CN119596976A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of multi-UAV task allocation, and in particular to a multi-UAV task allocation system and method based on a two-stage multi-group wolf pack algorithm. Background Art
[0002] The wolf pack algorithm is a relatively new heuristic optimization algorithm that mainly solves the optimal solution by simulating the hunting behavior and social division of labor of wolves. In actual operation, the wolf pack algorithm has better global search capabilities, can effectively achieve a balance between local search and global search, and shows excellent performance when dealing with high-dimensional complex problems. Therefore, in recent years, scholars have gradually applied the wolf pack algorithm to the multi-UAV task allocation problem.
[0003] In the field of multi-UAV task allocation, although scholars have made many improvements to the wolf pack algorithm's initial solution, solution accuracy, population diversity and other aspects, most of the improvements are still in the stage of a single population and a single optimization mode. Or, although the algorithm's solution accuracy has been improved to a certain extent, this is at the cost of greatly increasing the algorithm's complexity and solution time, and the overall effect is not ideal. Summary of the invention
[0004] The purpose of the present invention is to address the defects of the prior art and provide a multi-UAV task allocation system based on a two-stage multi-group wolf pack algorithm, comprising:
[0005] An initialization module is used to define the position of each individual wolf in the wolf pack in the two-stage multi-population wolf pack algorithm as a multi-UAV task allocation scheme composed of a task list and a UAV list, wherein the task number in the task list corresponds to the UAV number in the UAV list one by one, and divide the wolf pack into a plurality of sub-populations, wherein the sub-populations include a plurality of common groups and a leader group, firstly dividing the wolf pack into a plurality of common groups evenly, and then copying the individual wolves in the wolf pack whose fitness values are ranked top n% in ascending order to form a leader group;
[0006] A wandering module is used to make the scouting wolves in the common group and the scouting wolves in the leading group wander using different wandering times calculation strategies. The wandering is defined as reordering the task numbers in the task number list. If the fitness value of the scouting wolves in the common group is higher than that of the replica of the scouting wolves in the leading group, the scouting wolves will copy the multi-UAV task allocation plan of the replica.
[0007] A summoning module is used to enable the wolves in the common group and the wolves in the leader group to be summoned at different convergence speeds. The summoning is defined as the wolves learning the multi-UAV task allocation plan of the current leader wolf. If the fitness value of the wolves in the common group is higher than that of the replica of the wolves in the leader group, the wolves will copy the multi-UAV task allocation plan of the replica.
[0008] A siege module, used to make individual wolves other than the current alpha wolf in the common group and individual wolves other than the current alpha wolf in the leadership group adopt different thresholds to carry out siege, wherein the siege is defined as individual wolves other than the current alpha wolf mutating or learning a multi-UAV task allocation scheme from an individual wolf with a lower fitness value than the individual wolf, and if the fitness value of an individual wolf in the common group is higher than that of a copy of the individual wolf in the leadership group, the individual wolf copies the multi-UAV task allocation scheme of the copy;
[0009] An individual wolf reconstruction module is used to reconstruct the individual wolves of the L individual wolves in the common group and the L individual wolves in the leader group using a roulette mechanism. The individual wolf reconstruction is defined as placing the position of the individual wolf near the first X individual wolves in the ascending order of fitness values. If the fitness value of the individual wolf in the common group is higher than that of the replica of the individual wolf in the leader group, the individual wolf copies the multi-UAV task allocation plan of the replica.
[0010] The sub-population adjustment module is used to start the two-stage mechanism, dynamic population mechanism, population protection mechanism, population migration mechanism and population communication mechanism in the two-stage multi-population wolf algorithm after completing the reconstruction of individual wolves, and copy the individual wolves ranked in the top n% of the fitness value in ascending order in the current wolf pack to re-form the leadership group.
[0011] Furthermore, it also includes: an iterative calculation module, which is used to sequentially run the wandering module, the summoning module, the siege module, the individual wolf reconstruction module and the sub-population adjustment module as one round of iteration, set the maximum number of iterations to complete the iterative calculation, output the position of the alpha wolf generated by the last iteration, and use the alpha wolf position as the final multi-UAV task allocation plan.
[0012] Furthermore, the two-stage mechanism divides the iteration process into an early iteration stage and a late iteration stage according to the number of iterations, as follows:
[0013] In the wandering module, in the early stage of iteration, the scouts in the common group wander with a fixed wandering number strategy, and the scouts in the leading group wander with a dynamic wandering number strategy; in the late stage of iteration, the scouts in the common group wander with a dynamic wandering number strategy, and the scouts in the leading group wander with a fixed wandering number strategy;
[0014] In the summoning module, in the early stage of iteration, the wolves in the leader group have a lower summoning convergence speed than the wolves in the common group; in the late stage of iteration, the convergence speed of summoning the wolves in the common group is the same as the convergence speed of the wolves in the leader group in the early stage of iteration, and the leader group does not summon in the late stage of iteration;
[0015] In the siege module, no matter in the early or late iteration, the individual wolves in the common group adopt the probability threshold strategy for siege, and the individual wolves in the leader group adopt the fixed threshold strategy for siege;
[0016] In the individual wolf reconstruction module, in the early stage of iteration, the L individual wolves in the common group whose fitness values are ranked in ascending order and the L individual wolves in the leadership group whose fitness values are ranked in ascending order both adopt the roulette mechanism to perform individual wolf reconstruction; in the late stage of iteration, the L individual wolves in the common group whose fitness values are ranked in ascending order continue to perform individual wolf reconstruction using the roulette mechanism, and the leadership group does not perform individual wolf reconstruction.
[0017] Furthermore, the dynamic population mechanism is as follows: at the beginning of each iteration, a group of individual wolves are transferred from the common group with relatively low contribution values to the common group with relatively high contribution values, and the number of wolves transferred is the difference between the contribution value of the common group with relatively high contribution values and the contribution value of the common group with relatively low contribution values. The specific formula is as follows:
[0018]
[0019] Among them, contrpop l Indicates the contribution of the common group l, np.mean(fitness l ) represents the average of the fitness values of all individual wolves in the common group l, bestfitness represents the lowest fitness value among all individual wolves in the common group l, len(pop l ) represents the total number of individual wolves in the common group l;
[0020] The population protection mechanism is: when the dynamic population mechanism is implemented, the number of individual wolves mobilized by the general group each time is less than or equal to a;
[0021] The population migration mechanism is: after executing the dynamic population mechanism, when the number of individual wolves in the common group is less than b, the common group will randomly absorb several individual wolves in the wolf pack whose fitness values are ranked in the top n% in ascending order except the head wolf.
[0022] The population communication mechanism is as follows: when the result of a sub-population does not change after c iterations, if the sub-population is not the sub-population to which the individual wolf with the lowest fitness value in the wolf pack belongs, the individual with the highest fitness value in the sub-population is replaced by the individual wolf with the lowest fitness value in the wolf pack; if the sub-population is the sub-population to which the individual wolf with the lowest fitness value in the wolf pack belongs, the drone list of the individual wolf with the lowest fitness value is mutated, and the mutation range is limited to the drones assigned with tasks, and the mutation is defined as randomly selecting one drone number in a preset range to replace the drone number to be mutated, and the individual wolf with the lowest fitness value is compared with the fitness value before mutation after each mutation, and if the fitness value after mutation is lower, the position of the individual wolf is updated, otherwise the position of the individual wolf remains unchanged.
[0023] Furthermore, in the walking module, the specific walking method is as follows:
[0024] According to the wolf exploration number formula, an integer is randomly generated as the number of wolf explorations in this round of iteration. The wolf exploration number formula is as follows:
[0025]
[0026] Among them, N is the population size, d is the wolf detection ratio factor;
[0027] The wandering direction of the wandering behavior is defined as the number of drones;
[0028] The fixed walk times strategy is as follows:
[0029] In each walking direction, a fixed number of walking times is used for walking, and walking stops when the number of walking times is reached;
[0030] The dynamic walk times strategy is as follows:
[0031] In each walking direction, according to the number of tasks assigned to each drone, the number of permutations and combinations of the order of execution of tasks of each drone is calculated as the walking number of the drone for the scouting wolf to walk, and the walking will stop after reaching the walking number;
[0032] Calculate the fitness value of the scout wolf after each sub-population wanders. If the fitness value of a scout wolf is lower than before wandering, the position of the scout wolf is updated, otherwise the position of the scout wolf remains unchanged.
[0033] Furthermore,
[0034] Calculate the number of fierce wolves fnum, the calculation formula is as follows:
[0035] fnum=N–snum–1
[0036] Among them, N is the population size, snum is the number of scouting wolves;
[0037] Keep the task number list of the fierce wolves unchanged. Randomly select j drone numbers from the drone list of the fierce wolves as the drone numbers to be modified, and modify the drone numbers to be modified to the drone numbers corresponding to the task numbers in the drone number list of the lead wolf. 1 ≤ j ≤ the total number of numbers in the drone number list, and j is a randomly generated integer;
[0038] Calculate the fitness value of the fierce wolves after the summoning of each sub-population. If the fitness value of a fierce wolf in a certain sub-population after summoning is lower than that of the lead wolf in this sub-population, then this fierce wolf replaces the lead wolf and becomes the new lead wolf in this sub-population, and initiate the summoning behavior again according to the position of the new lead wolf. If the fitness of this fierce wolf after summoning is lower than before but higher than that of the lead wolf, then this fierce wolf updates its own position. If the fitness of this fierce wolf after summoning is higher than before, then the position of this fierce wolf remains unchanged;
[0039] Among them, for the ordinary group, in the early stage of iteration, the specific method of randomly selecting j drone numbers from the drone number list of the fierce wolves as the drone numbers to be modified is as follows: The fierce wolves in the ordinary group generate a random first integer as the quantity j within the range of [0, Nt - 1], and then randomly generate a second integer within the range of [0, Nt - 1] as the specific drone number to be modified. In the late stage of iteration, only generate the first integer as the quantity j within the range of [0, 0.2 * Nt] in each round of iteration, and also randomly generate a second integer within the range of [0, Nt - 1] as the specific drone number to be modified. Nt is the total number of tasks; For the leadership group, the summoning method of the fierce wolves in the leadership group in the early stage of iteration is the same as that of the fierce wolves in the ordinary group in the late stage of iteration, and the leadership group does not perform the summoning behavior in the late stage of iteration.
[0040] Furthermore,
[0041] The probability threshold strategy is specifically as follows:
[0042]
[0043] Among them, F leader is the fitness corresponding to the lead wolf, F i is the fitness corresponding to the i-th individual wolf, T is the temperature coefficient, θ is the adjustment coefficient, and P is the probability threshold between the individual wolf and the lead wolf;
[0044] Calculate the distance probability P between the i-th individual wolf and the lead wolf, and at the same time randomly generate a random number r between [0, 1]. If P > r, then randomly select a drone number from the drone list of this individual wolf for mutation; if P < r, then randomly select h pairs of corresponding task numbers and drone numbers of this individual wolf for learning;
[0045] The specific fixed threshold strategy is as follows:
[0046] Randomly generate a random number r between [0, 1]. If 0.5 > r, randomly select a drone number from the drone list of the individual wolf for mutation; if 0.5 < r, randomly select h pairs of corresponding task numbers and drone numbers of the individual wolf for learning;
[0047] The mutation is defined as randomly selecting one from the drone numbers within a preset range to replace the drone number to be mutated, and the learning is defined as selecting any h pairs of corresponding task numbers and drone numbers of an individual wolf within the preset range to replace the h pairs of corresponding task numbers and drone numbers of the individual wolf to be learned;
[0048] Calculate the fitness value of each individual wolf after the siege of each sub-population. If the fitness value of an individual wolf is lower than that before the siege, update the position of the individual wolf; otherwise, the position of the individual wolf remains unchanged;
[0049] Among them, whether it is the ordinary group or the leading group, in the early stage of iteration, the mutation range is all drone numbers, and the learning range is a randomly selected individual wolf with a smaller fitness value than the individual wolf to be learned. In the later stage of iteration, the mutation range is the drone numbers that have been assigned tasks, and the learning range is the alpha wolf in the sub-population to which the individual wolf to be learned belongs.
[0050] Furthermore, in the individual wolf reconstruction module, the roulette mechanism is as follows:
[0051] First, randomly generate an integer as the number L of individual wolf reconstructions in this round of iteration according to the update formula. The update formula is as follows:
[0052]
[0053] Among them, N is the population size, and e is the update proportionality factor;
[0054] Then, on the premise of keeping the task list unchanged, clear the drone lists of the L individual wolves with the ascending fitness value ranking, and at the same time, among the top X individual wolves with the ascending fitness value ranking in the wolf pack, count all the drone numbers corresponding to each task number. Define the roulette as the task number, divide the area of the roulette according to the ratio of the roulette result occurrence, define the roulette result as the drone number corresponding to the task number, correspond each drone number to each roulette result one by one, take the ratio of the number of times each drone number is assigned to the corresponding task number to X as the ratio of the corresponding roulette result occurrence, and define the rotation of the roulette as solving the drone number matched by the task number corresponding to the roulette;
[0055] Spin the wheel and fill the obtained drone numbers that match each task number one by one into the drone list of L individual wolves ranked in ascending order of fitness value according to the matching relationship.
[0056] A multi-UAV task allocation method based on a two-stage multi-group wolf pack algorithm comprises the following steps:
[0057] The position of each individual wolf in the two-stage multi-population wolf pack algorithm is defined as a multi-UAV task allocation scheme consisting of a task list and a UAV list, the task number in the task list corresponds to the UAV number in the UAV list one by one, and the wolf pack is divided into a plurality of sub-populations, the sub-populations include a plurality of common groups and a leader group, firstly the wolf pack is evenly divided into a plurality of common groups, and then the individual wolves in the wolf pack whose fitness values are ranked top n% in ascending order are copied to form a leader group;
[0058] The scouting wolves in the common group and the scouting wolves in the leading group are made to roam using different roaming times calculation strategies, wherein the roaming is defined as reordering the task numbers in the task number list, and if the fitness value of the scouting wolves in the common group is higher than that of the scouting wolves' replica in the leading group, the scouting wolves copy the multi-UAV task allocation plan of the replica;
[0059] The wolves in the common group and the wolves in the leader group are summoned at different convergence speeds, wherein the summoning is defined as the wolves learning the multi-UAV task allocation plan of the current leader wolf. If the fitness value of the wolves in the common group is higher than that of the replica of the wolves in the leader group, the wolves copy the multi-UAV task allocation plan of the replica;
[0060] The individual wolves in the common group except the current alpha wolf and the individual wolves in the leadership group except the current alpha wolf are made to adopt different thresholds for siege, wherein the siege is defined as the individual wolves except the current alpha wolf mutating or learning the multi-UAV task allocation scheme from the individual wolves with lower fitness values than the individual wolf, and if the fitness value of the individual wolf in the common group is higher than the replica of the individual wolf in the leadership group, the individual wolf copies the multi-UAV task allocation scheme of the replica;
[0061] The L individual wolves in the common group and the L individual wolves in the leader group are reconstructed by using a roulette mechanism. The individual wolf reconstruction is defined as placing the position of the individual wolf near the first X individual wolves in the ascending order of fitness values. If the fitness value of the individual wolf in the common group is higher than that of the replica of the individual wolf in the leader group, the individual wolf copies the multi-UAV task allocation plan of the replica.
[0062] After completing the reconstruction of individual wolves, the two-stage mechanism, dynamic population mechanism, population protection mechanism, population migration mechanism and population communication mechanism in the two-stage multi-population wolf pack algorithm are activated, and the individual wolves ranked in the top n% of the fitness value in ascending order in the current wolf pack are copied to re-form the leadership group
[0063] A computer program product includes a computer program / instruction, which, when executed by a processor, implements the above-mentioned multi-UAV task allocation method based on the two-stage multi-group wolf pack algorithm.
[0064] The beneficial effects of the present invention are:
[0065] 1. The multi-group mechanism proposed in the present invention enables the leading group to guide the ordinary group to search in a better direction during the processes of roaming, summoning, and siege, thereby accelerating the convergence to the global optimal solution and improving the efficiency and accuracy of the solution.
[0066] 2. The significance of the two-stage mechanism proposed in the present invention lies in that the early stage of the algorithm solution focuses on solving the minimum number of drones that can complete all tasks, and the later stage of the algorithm focuses on optimizing the task execution order of each drone based on the number of drones obtained in the early stage. The final result of the algorithm solution is to use the least number of drones and the most reasonable task execution route to complete all the targets to be reconnaissanced, which saves the occupation of drone resources and maintains the excellence of the solution.
[0067] 3. The dynamic population mechanism, population protection mechanism, and population migration mechanism proposed in the present invention realize the dynamic allocation of computing resources by calculating the average contribution of each sub-population to the optimal solution after each round of iteration. At the same time, in order to avoid the situation of "big eating small" among sub-populations (that is, due to the relatively poor performance of the sub-population with relatively low contribution contri pop, all the individual wolves of the sub-population with relatively low contribution contri pop are extracted to the sub-population with relatively high contribution contri pop), a population protection mechanism and a population migration mechanism are proposed. When the population migration mechanism is executed, the "excellent" individual wolves absorbed will play a guiding role in the update of the individual wolves of the sub-population, so as to improve the solution effect of the sub-population and solve the problem of poor performance of the population.
[0068] 4. Under the multi-population mechanism, the number of individuals in each sub-population is small, which will result in a small coverage area of the solution space for each sub-population, making it easy to fall into the local optimum. When a sub-population has undergone a certain number of iterative calculations and the optimal solution has not changed, we believe that the sub-population has fallen into the local optimal solution and the population communication mechanism is triggered. In order to ensure that each population still has the "vitality" to solve the problem in the later stages of iteration, a population communication mechanism is proposed, which greatly avoids the algorithm from falling into the local optimum in the later stages of iteration. BRIEF DESCRIPTION OF THE DRAWINGS
[0069] Figure 1 This is a system block diagram of the present invention.
[0070] Figure 2 Schematic diagram of the task list and drone list of the present invention.
[0071] Figure 3 Schematic diagram of the wandering behavior of the present invention.
[0072] Figure 4 It is a schematic diagram of the summoning behavior of the present invention.
[0073] Figure 5 It is a schematic diagram of the siege behavior of the present invention.
[0074] Figure 6 This is a schematic diagram of the reconstructed behavior of individual wolves in the present invention. DETAILED DESCRIPTION
[0075] In order to make the technical problems, technical solutions and beneficial effects to be solved by the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0076] Example 1
[0077] refer to Figure 1 ,A multi-UAV task allocation system based on a two-stage multi-group wolf pack algorithm, including:
[0078] An initialization module is used to define the position of each individual wolf in the wolf pack in the two-stage multi-population wolf pack algorithm as a multi-UAV task allocation scheme composed of a task list and a UAV list, wherein the task number in the task list corresponds to the UAV number in the UAV list one by one, and divide the wolf pack into a plurality of sub-populations, wherein the sub-populations include a plurality of common groups and a leader group, firstly dividing the wolf pack into a plurality of common groups evenly, and then copying the individual wolves in the wolf pack whose fitness values are ranked top n% in ascending order to form a leader group;
[0079] A wandering module is used to make the scouting wolves in the common group and the scouting wolves in the leading group wander using different wandering times calculation strategies. The wandering is defined as reordering the task numbers in the task number list. If the fitness value of the scouting wolves in the common group is higher than that of the replica of the scouting wolves in the leading group, the scouting wolves will copy the multi-UAV task allocation plan of the replica.
[0080] A summoning module is used to enable the wolves in the common group and the wolves in the leader group to be summoned at different convergence speeds. The summoning is defined as the wolves learning the multi-UAV task allocation plan of the current leader wolf. If the fitness value of the wolves in the common group is higher than that of the replica of the wolves in the leader group, the wolves will copy the multi-UAV task allocation plan of the replica.
[0081] A siege module, used to make individual wolves other than the current alpha wolf in the common group and individual wolves other than the current alpha wolf in the leadership group adopt different thresholds to carry out siege, wherein the siege is defined as individual wolves other than the current alpha wolf mutating or learning a multi-UAV task allocation scheme from an individual wolf with a lower fitness value than the individual wolf, and if the fitness value of an individual wolf in the common group is higher than that of a copy of the individual wolf in the leadership group, the individual wolf copies the multi-UAV task allocation scheme of the copy;
[0082] An individual wolf reconstruction module is used to reconstruct the individual wolves of the L individual wolves in the common group and the L individual wolves in the leader group using a roulette mechanism. The individual wolf reconstruction is defined as placing the position of the individual wolf near the first X individual wolves in the ascending order of fitness values. If the fitness value of the individual wolf in the common group is higher than that of the replica of the individual wolf in the leader group, the individual wolf copies the multi-UAV task allocation plan of the replica.
[0083] The sub-population adjustment module is used to start the two-stage mechanism, dynamic population mechanism, population protection mechanism, population migration mechanism and population communication mechanism in the two-stage multi-population wolf algorithm after completing the reconstruction of individual wolves, and copy the individual wolves ranked in the top n% of the fitness value in ascending order in the current wolf pack to re-form the leadership group.
[0084] The iterative calculation module is used to run the wandering module, summoning module, siege module, individual wolf reconstruction module and sub-population adjustment module in sequence as one round of iteration, set the maximum number of iterations to complete the iterative calculation, output the position of the alpha wolf generated by the last iteration, and use the alpha wolf position as the final multi-UAV task allocation plan.
[0085] (1) In the initialization module, the task numbers and drone numbers are randomly shuffled and stored in the task list Tn and drone list Un respectively. The columns corresponding to the task list Tn and drone list Un are regarded as a whole (that is, the task numbers in the task list correspond to the drone numbers in the drone list one by one), representing the task allocation scheme of assigning a task to a certain drone. For a single drone, the execution order of the tasks depends on the order in which the task numbers appear in the Tn list, such as Figure 2As shown, taking the first and fifth columns as examples, the number in the first column of the Tn list is 1, indicating the first task, and the number in the first column of the Un list is 4, indicating the fourth drone, indicating that the first task is assigned to the fourth drone to complete. Similarly, it can be seen that the fifth column indicates that the fifth task is also assigned to the fourth drone to complete, but because the first task appears before the fifth task in the Tn list, the fourth drone completes the first task first and then completes the fifth task.
[0086] (2) Divide the wolf pack into a plurality of sub-populations, wherein the sub-populations include a plurality of ordinary groups and a leadership group. First, divide the wolf pack evenly into a plurality of ordinary groups, and then copy the top n% of individual wolves in the wolf pack in ascending order of fitness value to form a leadership group. During wandering, summoning, siege and reconstruction of individual wolves, if the fitness value of an individual wolf in the ordinary group is higher than that of its copy in the leadership group, the individual wolf copies the multi-UAV task allocation plan of the copy. At the end of each round of iteration, copy the top n% of individual wolves in the current wolf pack in ascending order of fitness value to re-form the leadership group.
[0087] The above is the multi-population mechanism proposed by the present invention. The leadership group is composed of individual wolves with lower fitness values, which represent excellent solutions in the current population. In the process of wandering, summoning, siege, etc., the leadership group can guide the ordinary group to search in a better direction, thereby accelerating convergence to the global optimal solution. When the fitness value of an individual wolf in the ordinary group exceeds that of its replica in the leadership group, the multi-UAV task allocation plan of the replica will be copied. Multiple mechanisms promote the propagation of excellent solutions while maintaining the diversity of the population, which helps to avoid premature convergence. At the end of each round of iteration, the leadership group will be reorganized according to the fitness values of the individual wolves in the current population. This dynamic update mechanism ensures that the leadership group always contains the best individual wolves, thereby ensuring the robustness and stability of the algorithm.
[0088] (3) The two-stage mechanism is to pre-divide the iteration process into the early iteration and the late iteration according to the number of iterations, as follows:
[0089] In the wandering module, in the early stage of iteration, the scouts in the common group wander with a fixed wandering number strategy, and the scouts in the leading group wander with a dynamic wandering number strategy; in the late stage of iteration, the scouts in the common group wander with a dynamic wandering number strategy, and the scouts in the leading group wander with a fixed wandering number strategy;
[0090] In the summoning module, in the early stage of iteration, the wolves in the leader group have a lower summoning convergence speed than the wolves in the common group; in the late stage of iteration, the convergence speed of summoning the wolves in the common group is the same as the convergence speed of the wolves in the leader group in the early stage of iteration, and the leader group does not summon in the late stage of iteration;
[0091] In the siege module, no matter in the early or late iteration, the individual wolves in the common group adopt the probability threshold strategy for siege, and the individual wolves in the leader group adopt the fixed threshold strategy for siege;
[0092] In the individual wolf reconstruction module, in the early stage of iteration, the L individual wolves in the common group whose fitness values are ranked in ascending order and the L individual wolves in the leadership group whose fitness values are ranked in ascending order both adopt the roulette mechanism to perform individual wolf reconstruction; in the late stage of iteration, the L individual wolves in the common group whose fitness values are ranked in ascending order continue to perform individual wolf reconstruction using the roulette mechanism, and the leadership group does not perform individual wolf reconstruction.
[0093] The significance of the two-stage mechanism is that the early stage of the algorithm focuses on solving the minimum number of drones that can complete all tasks, and the later stage of the algorithm focuses on optimizing the task execution order of each drone based on the number of drones obtained in the early stage. The final result of the algorithm solution is to use the least number of drones and the most reasonable task execution route to complete all the targets to be reconnaissanced.
[0094] (4) The dynamic population mechanism is as follows: at the beginning of each iteration, a group of individual wolves are transferred from the common group with relatively low contribution values to the common group with relatively high contribution values. The number of wolves transferred is the difference between the contribution value of the common group with relatively high contribution values and the contribution value of the common group with relatively low contribution values. The specific formula is as follows:
[0095]
[0096] Among them, cantrpop l Indicates the average contribution of the common group l, np.mean(fitness l ) represents the average of the fitness values of all individual wolves in the common group l, bestfitness represents the lowest fitness value among all individual wolves in the common group l, len(pop l ) represents the total number of individual wolves in the common group l;
[0097] The population protection mechanism is: when the dynamic population mechanism is implemented, the number of individual wolves mobilized by the general group each time is less than or equal to a;
[0098] The population migration mechanism is: after executing the dynamic population mechanism, when the number of individual wolves in the common group is less than b, the common group will randomly absorb several individual wolves in the wolf pack whose fitness values are ranked in the top n% in ascending order except the head wolf.
[0099] By calculating the average contribution of each subpopulation to the optimal solution after each iteration, dynamic allocation of computing resources is achieved. At the same time, in order to avoid the situation of "big eating small" among subpopulations (that is, due to the relatively poor performance of the subpopulation with relatively low contribution contri pop, all the individual wolves of the subpopulation with relatively low contribution contri pop are extracted to the subpopulation with relatively high contribution contri pop, which will cause the subpopulations to differ too much in the early stage of iteration, and the excellent subpopulation will swallow up more than half of the size of other subpopulations, making the swallowed subpopulations poor in the subsequent iterations), a population protection mechanism and a population migration mechanism are proposed. When the population migration mechanism is executed, the absorbed "excellent" individual wolves will guide the update of the individual wolves of the subpopulation, so as to improve the solution effect of the subpopulation and solve the problem of poor performance of the subpopulation.
[0100] (5) The population communication mechanism is as follows: when the result of a sub-population does not change after c iterations, if the sub-population is not the sub-population to which the individual wolf with the lowest fitness value in the wolf pack belongs, the individual with the highest fitness value in the sub-population is replaced by the individual wolf with the lowest fitness value in the wolf pack; if the sub-population is the sub-population to which the individual wolf with the lowest fitness value in the wolf pack belongs, the drone list of the individual wolf with the lowest fitness value is mutated, and the mutation range is limited to the drones assigned with the task, and the mutation is defined as randomly selecting a drone number in a preset range to replace the drone number to be mutated, and the fitness value of the individual wolf with the lowest fitness value is compared with the fitness value before the mutation after each mutation, and if the fitness value after the mutation is lower, the position of the individual wolf is updated, otherwise the position of the individual wolf remains unchanged.
[0101] Under the multi-population mechanism, the number of individuals in each sub-population is small, which will result in a small coverage area of the solution space for each sub-population, making it easy to fall into the local optimum. When a sub-population has undergone a certain number of iterative calculations and the optimal solution has not changed, we believe that the sub-population has fallen into the local optimal solution and the population communication mechanism is triggered. In order to ensure that each population still has the "vitality" to solve the problem in the later stages of the iteration, a population communication mechanism is proposed, which greatly avoids the algorithm from falling into the local optimum in the later stages of the iteration.
[0102] (6) In the walking module, if Figure 3 As shown, the specific method of walking is as follows:
[0103] According to the wolf exploration number formula, an integer is randomly generated as the number of wolf explorations in this round of iteration. The wolf exploration number formula is as follows:
[0104]
[0105] Among them, N is the population size, d is the wolf detection ratio factor;
[0106] The wandering direction of the wandering behavior is defined as the number of drones;
[0107] The fixed walk times strategy is as follows:
[0108] In each walking direction, a fixed number of walking times is used for walking, and walking stops when the number of walking times is reached;
[0109] The dynamic walk times strategy is as follows:
[0110] In each walking direction, according to the number of tasks assigned to each drone, the number of permutations and combinations of the order of execution of tasks of each drone is calculated as the walking number of the drone for the scouting wolf to walk, and the walking will stop after reaching the walking number;
[0111] Calculate the fitness value of the scout wolf after each sub-population wanders. If the fitness value of a scout wolf is lower than before wandering, the position of the scout wolf is updated, otherwise the position of the scout wolf remains unchanged.
[0112] For the general group, the main task in the early stage of the algorithm is to find the optimal drone resource configuration. Therefore, less computing resources are invested in the wandering behavior in this stage (that is, a fixed and small number of wandering times, such as less than 10 times). This helps them to conduct extensive and uniform exploration within a certain range, thereby discovering potential feasible solutions. The main task in the later stage of the algorithm is to adjust the execution order of drone tasks. Different from the early stage, the wandering behavior at this time adopts a dynamic wandering number strategy, which can further refine the search based on the early exploration and find a better solution.
[0113] The wandering behavior of the leader group is opposite to that of the ordinary group at different stages, that is, a dynamic wandering number strategy is adopted in the early stage, and a fixed wandering number strategy is adopted in the later stage. In the early stage of the algorithm, in order to minimize the impact of the order of task execution on the solution of the number of drone configuration, it is necessary to invest more computing resources in the excellent individuals in the ordinary group to guide the iterative calculation of the ordinary group. In other words, the leader group can flexibly adjust the number of wanderings according to the current situation, explore the solution space more deeply, and find higher-quality solutions. In the later stage of the algorithm, since the focus of this stage is to optimize the order of drone task execution, a lot of computing resources have been invested in the ordinary group to solve the problem. In the leader group, there is no need to repeat the calculation. It only needs to perform a fixed and less number of wanderings to perform similar "inspection" work, and it can stably maintain the search near the high-quality solution found in the early stage to avoid algorithm divergence and ensure the stability and reliability of the final solution.
[0114] (7) In the summoning module, if Figure 4 The specific method of summoning is as follows:
[0115] Calculate the number of fierce wolves fnum, the calculation formula is as follows:
[0116] fnum=N–snum–1
[0117] Among them, N is the population size, snum is the number of scouting wolves;
[0118] Keep the task number list of the wolf unchanged, randomly select j drone numbers in the wolf's drone list as the drone numbers to be modified, and modify the drone numbers to be modified to the drone numbers corresponding to the task numbers corresponding to the drone numbers to be modified in the wolf's drone number list, 1≤j≤the total number of numbers in the drone number list, and j is a randomly generated integer;
[0119] Calculate the fitness value of each sub-population after summoning. If the fitness value of a wolf in a sub-population is lower than that of the alpha wolf in the sub-population after summoning, the wolf will replace the alpha wolf as the new alpha wolf in the sub-population, and initiate summoning again according to the new alpha wolf position. If the fitness of the wolf after summoning is lower than that before summoning but higher than that of the alpha wolf, the wolf will update its position. If the fitness of the wolf after summoning is higher than that before summoning, the position of the wolf will remain unchanged.
[0120] Among them, for the ordinary group, in the early stage of iteration, the j drone numbers in the drone number list of the randomly selected wolf are all used as the drone numbers to be modified. The specific method is as follows: the wolf in the ordinary group generates a random first integer in the range of [0, Nt-1] as the number j, and then randomly generates a second integer in the range of [0, Nt-1] as the specific drone number to be modified. In the late stage of iteration, each round of iteration only generates the first integer in the range of [0, 0.2*Nt] as the number j, and also randomly generates a second integer in the range of [0, Nt-1] as the specific drone number to be modified, Nt is the total number of tasks; for the leadership group, the summoning method of the wolf in the leadership group in the early stage of iteration is the same as the summoning method of the wolf in the ordinary group in the late stage of iteration, and the leadership group does not perform summoning behavior in the late stage of iteration.
[0121] The summoning behavior is a key step for the algorithm to achieve convergence. Essentially, the fierce wolves in the wolf pack approach the optimal solution by learning part of the task allocation plan of the leading wolf. The summoning behavior of the leading group is essentially a process in which outstanding individuals in each ordinary group learn from each other. In the early stage of the algorithm, the strategy of the summoning behavior of the leading group is the same as that of the summoning behavior of the ordinary group in the later stage. This is to prevent the individuals in the leading group from converging too much. Because although the computing resources are different among different subpopulations, they all converge towards the same optimal solution, which helps the algorithm search in a wider solution space and avoid falling into the local optimum prematurely. In the later stage of iteration, the convergence speed of the fierce wolves in the ordinary group accelerates and is the same as that of the leading group in the early stage of iteration. This helps to conduct a more in-depth search near the high-quality solutions found in the early stage and accelerate the convergence to the global optimum. The leading group does not perform summoning in the later stage of iteration because the multi-population mechanism actually hopes to have more opportunities to explore more solution spaces. In the later stage, the leading group actually represents the best part of the individuals in the subpopulation, and the best part of these individuals guides the exploration direction of the subpopulation. Therefore, if the individuals in the leading group converge too much, it actually means that the two subpopulations converge in the same direction, which is no different from the single-population mechanism.
[0122] (8) In the siege module, as Figure 5 shown, the specific method of siege is as follows:
[0123] The specific probability threshold strategy is as follows:
[0124] The calculation formula for the distance probability P is as follows:
[0125]
[0126] where, F leader is the fitness corresponding to the leading wolf, F i is the fitness corresponding to the i-th individual wolf, T is the temperature coefficient, and θ is the adjustment coefficient;
[0127] Calculate the distance probability P between the i-th individual wolf and the leading wolf, and at the same time randomly generate a random number r between [0,1]. If P>r, randomly select a drone number from the drone list of this individual wolf for mutation; if P<r, randomly select h pairs of corresponding task numbers and drone numbers of this individual wolf for learning;
[0128] The specific fixed threshold strategy is as follows:
[0129] Randomly generate a random number r between [0,1]. If 0.5>r, randomly select a drone number from the drone list of this individual wolf for mutation; if 0.5<r, randomly select h pairs of corresponding task numbers and drone numbers of this individual wolf for learning;
[0130] The mutation is defined as randomly selecting one drone number from a preset range to replace the drone number to be mutated, and the learning is defined as selecting any h pairs of task numbers and drone numbers with corresponding relationships of an individual wolf from the preset range to replace the h pairs of task numbers and drone numbers with corresponding relationships of the individual wolf to be learned;
[0131] Calculate the fitness value of individual wolves after the siege of each sub-population. If the fitness value of an individual wolf is lower than before the siege, update the position of the individual wolf. Otherwise, the position of the individual wolf remains unchanged.
[0132] Among them, whether it is a normal group or a leadership group, in the early stage of iteration, the mutation range is all drone numbers, and the learning range is a random individual wolf with a smaller fitness value than the individual wolf to be learned. In the later stage of iteration, the mutation range is the drone number that has been assigned a task, and the learning range is the head wolf in the sub-population to which the individual wolf to be learned belongs.
[0133] In the early stage of the algorithm, in order to explore more combinations of drone usage, for a certain task, the scope of mutation is all drones. At the same time, in order to avoid premature algorithm maturation, the replacement scope is no longer just the alpha wolf. On the contrary, as long as it is better than the current individual wolf, it can be used as a replacement example. In the later stage of the algorithm, after multiple rounds of iterative calculations, it is assumed that the optimal drone resource configuration has been found. Therefore, in the later stage, the scope of mutation is only between those drones that have been assigned tasks, and the replacement only uses the current optimal drone resource configuration (alpha wolf) as a sample. The reason why the strategies adopted by the ordinary group and the leader group before and after the iteration are different is to avoid too high similarity of individuals in the population, which helps the algorithm maintain a certain degree of randomness and diversity during the search process, avoid falling into the local optimum, and balance the proportion of mutation and learning in the update.
[0134] (9) In the individual wolf reconstruction module, the roulette mechanism is as follows:
[0135] First, an integer is randomly generated as the number L of individual wolf reconstructions in this iteration according to the update formula. The update formula is as follows:
[0136]
[0137] Among them, N is the population size, e is the update scale factor;
[0138] Then, under the premise of keeping the task list unchanged, the drone lists of the last L individual wolves ranked in ascending order of fitness values are cleared, and at the same time, among the first X individual wolves in the wolf pack ranked in ascending order of fitness values, all the drone numbers corresponding to each task number are counted, and the roulette wheel is defined as the task number. The area of the roulette wheel is divided according to the ratio of the roulette results. The roulette result is defined as the drone number assigned to the task number. Each drone number is matched with each roulette result one by one. The proportion of the number of times each drone number is assigned to the task number is X as the ratio of the corresponding roulette result. Rotating the roulette wheel is defined as solving the drone number that matches the task number corresponding to the roulette wheel.
[0139] Spin the wheel and fill the obtained drone numbers that match each task number one by one into the drone list of L individual wolves ranked in ascending order of fitness value according to the matching relationship.
[0140] Individual reconstruction refers to improving the algorithm's solving ability by reconstructing individuals with poor performance in the wolf pack to be close to excellent solutions.
[0141] like Figure 6 As shown in the figure, the task allocation results of four individuals are displayed, and the "roulette" is constructed based on this. Taking the allocation result of the first task as an example, it can be seen that in the allocation scheme for the first task, the fourth drone accounts for 50%, and the second and third drones account for 25% respectively. If the generated random number is distributed between [0,0.25], the newly generated individual will assign the first task to the second drone to complete; if the random number is distributed between [0.25-0.5], the newly generated individual will assign the first task to the third drone to complete; if the random number is distributed between [0.5-1], the newly generated individual will assign the first task to the fourth drone to complete.
[0142] The roulette mechanism does not restrict reconstruction to the vicinity of the optimal solution. Instead, it allows poor individual wolves to learn the behavior patterns or task allocation strategies of excellent individuals (not only the optimal solution, but also the suboptimal solution) through random selection. This randomness helps the algorithm to jump out of the local optimal solution and explore a wider solution space, thereby improving the algorithm's global search ability. The roulette mechanism uses random selection to make each reconstructed individual have a different task allocation strategy, which helps maintain the diversity of the population and prevent the algorithm from falling into the local optimal solution too early, thereby improving the robustness and adaptability of the algorithm.
[0143] In the early stage of iteration, the individual wolves in both the common group and the leader group use the roulette mechanism to reconstruct the individual wolves, which helps to improve the algorithm's ability to solve problems. In the later stage of iteration, the common group continues to use the roulette mechanism to reconstruct the individual wolves to maintain a certain search ability and diversity. The leader group does not reconstruct the individual wolves, because the leader group itself represents an excellent solution. If the excellent solutions are reconstructed in the later stage of iteration, these excellent solutions will be almost the same, falling into the local optimum, causing the entire population to over-converge.
[0144] (10) The fitness calculation formula is as follows:
[0145] fitness=α×TCT+β×AFT+γ×ATF
[0146] Among them, fitness is the fitness, α is the weight of the time for the drone swarm to perform the reconnaissance process, β is the weight of the average flight time of the drone, γ is the weight of the average threat value of the drone, TCT is the time for the drone swarm to perform the reconnaissance process, AFT is the average flight time of each drone in the drone swarm, ATF is the average threat value faced by each drone in the drone swarm during the reconnaissance process, and the values of α and β vary within the constraint condition of α+β=1{α,β∈(0,1)}. When the multi-drone task allocation scheme does not meet the constraint conditions, the fitness of the scheme is set to infinity. The reconnaissance process is a process from the starting point to the completion of all tasks and then returning to the starting point.
[0147] The time TCT of the drone performing the reconnaissance process is divided into the time required for the drone to fly to the target point, the time required for the drone to perform the reconnaissance process, and the time required for the drone to return to the launch platform. When all drones complete the reconnaissance process, it means that all reconnaissance processes are completed. The time TCT of the drone group performing the reconnaissance process is determined by the drone that takes the longest time. The calculation formula of the time TCT of the drone group performing the reconnaissance process is as follows:
[0148]
[0149] In the formula, represents the time for the mth UAV to perform the reconnaissance process, Nu represents the number of UAVs, The calculation formula is as follows:
[0150]
[0151] In the formula, u m represents the mth drone, t k represents the kth task, Indicates the mth drone to the first mission t 1 The distance to the location, represents the distance between the locations of the kth task and the k+1th task, x k represents the location of the kth task, represents the flight distance of the mth UAV to complete the kth mission, Indicates that the mth drone has the last mission t n The distance from the location to the return starting point, represents the flight speed of the mth UAV;
[0152] The calculation formula for the average flight time AFT of each drone in the drone group is as follows:
[0153]
[0154] Where, T m It represents the time required for the mth UAV to complete the reconnaissance process;
[0155] The calculation formula of the average threat value ATF faced by each drone in the drone group during reconnaissance is as follows:
[0156]
[0157] In the formula, It represents the threat coefficient faced by the m-th UAV when performing the k-th mission.
[0158] Example 2
[0159] A multi-UAV task allocation method based on a two-stage multi-group wolf pack algorithm comprises:
[0160] The scouting wolves in the common group and the scouting wolves in the leading group are made to roam using different roaming times calculation strategies, wherein the roaming is defined as reordering the task numbers in the task number list, and if the fitness value of the scouting wolves in the common group is higher than that of the scouting wolves' replica in the leading group, the scouting wolves copy the multi-UAV task allocation plan of the replica;
[0161] The wolves in the common group and the wolves in the leader group are summoned at different convergence speeds, wherein the summoning is defined as the wolves learning the multi-UAV task allocation plan of the current leader wolf. If the fitness value of the wolves in the common group is higher than that of the replica of the wolves in the leader group, the wolves copy the multi-UAV task allocation plan of the replica;
[0162] The fierce wolves in the common group and the fierce wolves in the leading group are summoned at different convergence speeds, wherein the summoning is defined as the fierce wolves learning the multi-UAV task allocation plan of the current leader wolf, and if the fitness value of an individual wolf in the common group is higher than that of the replica of the individual wolf in the leading group, the individual wolf copies the multi-UAV task allocation plan of the replica;
[0163] The individual wolves in the common group except the current alpha wolf and the individual wolves in the leadership group except the current alpha wolf are made to adopt different thresholds for siege, wherein the siege is defined as the individual wolves except the current alpha wolf mutating or learning the multi-UAV task allocation scheme from the individual wolves with lower fitness values than the individual wolf, and if the fitness value of the individual wolf in the common group is higher than the replica of the individual wolf in the leadership group, the individual wolf copies the multi-UAV task allocation scheme of the replica;
[0164] The L individual wolves in the common group and the L individual wolves in the leader group are reconstructed by using a roulette mechanism. The individual wolf reconstruction is defined as placing the position of the individual wolf near the first X individual wolves in the ascending order of fitness values. If the fitness value of the individual wolf in the common group is higher than that of the replica of the individual wolf in the leader group, the individual wolf copies the multi-UAV task allocation plan of the replica.
[0165] After completing the reconstruction of individual wolves, the two-stage mechanism, dynamic population mechanism, population protection mechanism, population migration mechanism and population communication mechanism in the two-stage multi-population wolf pack algorithm are activated, and the top n% of individual wolves in ascending order of fitness values in the current wolf pack are copied to re-form the leadership group.
[0166] Running the wandering module, summoning module, siege module, individual wolf reconstruction module and sub-population adjustment module in sequence is considered as one round of iteration. The maximum number of iterations is set to complete the iterative calculation, and the position of the alpha wolf generated by the last iteration is output, which is used as the final multi-UAV task allocation plan.
[0167] (1) The task numbers and drone numbers are randomly shuffled and stored in the task list Tn and drone list Un respectively. The corresponding columns of the task list Tn and drone list Un are regarded as a whole (that is, the task numbers in the task list correspond to the drone numbers in the drone list one by one), representing the task allocation scheme of a certain task to a certain drone. For a single drone, the execution order of the tasks depends on the order in which the task numbers appear in the Tn list. Taking the first and fifth columns as an example, the first column number of the Tn list is 1, indicating the first task, and the first column number of the Un list is 4, indicating the fourth drone, indicating that the first task is assigned to the fourth drone to complete. Similarly, it can be seen that the fifth column indicates that the fifth task is also assigned to the fourth drone to complete, but because the first task appears before the fifth task in the Tn list, the fourth drone completes the first task first and then the fifth task.
[0168] (2) Divide the wolf pack into a plurality of sub-populations, wherein the sub-populations include a plurality of ordinary groups and a leadership group. First, divide the wolf pack evenly into a plurality of ordinary groups, and then copy the top n% of individual wolves in the wolf pack in ascending order of fitness value to form a leadership group. During wandering, summoning, siege and reconstruction of individual wolves, if the fitness value of an individual wolf in the ordinary group is higher than that of its copy in the leadership group, the individual wolf copies the multi-UAV task allocation plan of the copy. At the end of each round of iteration, copy the top n% of individual wolves in the current wolf pack in ascending order of fitness value to re-form the leadership group.
[0169] The above is the multi-population mechanism proposed by the present invention. The leadership group is composed of individual wolves with higher fitness values, which represent excellent solutions in the current population. In the process of wandering, summoning, siege, etc., the leadership group can guide the ordinary group to search in a better direction, thereby accelerating convergence to the global optimal solution. When the fitness value of an individual wolf in the ordinary group exceeds that of its replica in the leadership group, the multi-UAV task allocation plan of the replica will be copied. Multiple mechanisms promote the propagation of excellent solutions while maintaining the diversity of the population, which helps to avoid premature convergence. At the end of each round of iteration, the leadership group will be reorganized according to the fitness values of the individual wolves in the current population. This dynamic update mechanism ensures that the leadership group always contains the best individual wolves, thereby ensuring the robustness and stability of the algorithm.
[0170] (3) The two-stage mechanism is to pre-divide the iteration process into the early iteration and the late iteration according to the number of iterations, as follows:
[0171] In the early stage of iteration, the scouts in the common group use a fixed number of roaming strategies, and the scouts in the leading group use a dynamic number of roaming strategies; in the late stage of iteration, the scouts in the common group use a dynamic number of roaming strategies, and the scouts in the leading group use a fixed number of roaming strategies;
[0172] In the early stage of iteration, the wolves in the leader group have a slower convergence speed than the wolves in the common group. In the late stage of iteration, the convergence speed of the wolves in the common group is the same as that of the wolves in the leader group in the early stage of iteration, and the leader group does not summon wolves in the late stage of iteration.
[0173] Whether in the early or late stages of iteration, individual wolves in the common group all adopt a probability threshold strategy for siege, and individual wolves in the leader group all adopt a fixed threshold strategy for siege;
[0174] In the early stage of iteration, the L individual wolves in the common group after the fitness values are ranked in ascending order and the L individual wolves in the leadership group after the fitness values are ranked in ascending order both use the roulette mechanism to reconstruct the individual wolves; in the late stage of iteration, the L individual wolves in the common group after the fitness values are ranked in ascending order continue to use the roulette mechanism to reconstruct the individual wolves, and the leadership group does not reconstruct the individual wolves.
[0175] The significance of the two-stage mechanism is that the early stage of the algorithm focuses on solving the minimum number of drones that can complete all tasks, and the later stage of the algorithm focuses on optimizing the task execution order of each drone based on the number of drones obtained in the early stage. The final result of the algorithm solution is to use the least number of drones and the most reasonable task execution route to complete all the targets to be reconnaissanced.
[0176] (4) The dynamic population mechanism is as follows: at the beginning of each iteration, a group of individual wolves are transferred from the common group with relatively low contribution values to the common group with relatively high contribution values. The number of wolves transferred is the difference between the contribution value of the common group with relatively high contribution values and the contribution value of the common group with relatively low contribution values. The specific formula is as follows:
[0177]
[0178] Among them, contrpop l Indicates the average contribution of the common group l, np.mean(fitness l ) represents the average of the fitness values of all individual wolves in the common group l, bestfitness represents the lowest fitness value among all individual wolves in the common group l, len(pop l ) represents the total number of individual wolves in the common group l;
[0179] The population protection mechanism is: when the dynamic population mechanism is implemented, the number of individual wolves mobilized by the general group each time is less than or equal to a;
[0180] The population migration mechanism is: after executing the dynamic population mechanism, when the number of individual wolves in the common group is less than b, the common group will randomly absorb several individual wolves in the wolf pack whose fitness values are ranked in the top n% in ascending order except the head wolf.
[0181] By calculating the average contribution of each subpopulation to the optimal solution after each iteration, dynamic allocation of computing resources is achieved. At the same time, in order to avoid the situation of "big eating small" among subpopulations (that is, due to the relatively poor performance of the subpopulation with relatively low contribution contri pop, all the individual wolves of the subpopulation with relatively low contribution contri pop are extracted to the subpopulation with relatively high contribution contri pop), which will cause the subpopulations to differ too much in the early stage of iteration, and the excellent subpopulation will swallow up more than half of the size of other subpopulations, making the swallowed subpopulations have poor optimization results in subsequent iterations. Therefore, a population protection mechanism and a population migration mechanism are proposed. When the population migration mechanism is executed, the absorbed "excellent" individual wolves will guide the update of the individual wolves of the subpopulation, so as to improve the solution effect of the subpopulation and solve the problem of poor performance of the subpopulation.
[0182] (5) The population communication mechanism is as follows: when the result of a sub-population does not change after c iterations, if the sub-population is not the sub-population to which the individual wolf with the lowest fitness value in the wolf pack belongs, the individual with the highest fitness value in the sub-population is replaced by the individual wolf with the lowest fitness value in the wolf pack; if the sub-population is the sub-population to which the individual wolf with the lowest fitness value in the wolf pack belongs, the drone list of the individual wolf with the lowest fitness value is mutated, and the mutation range is limited to the drones assigned with the task, and the mutation is defined as randomly selecting a drone number in a preset range to replace the drone number to be mutated, and the fitness value of the individual wolf with the lowest fitness value is compared with the fitness value before the mutation after each mutation, and if the fitness value after the mutation is lower, the position of the individual wolf is updated, otherwise the position of the individual wolf remains unchanged.
[0183] Under the multi-population mechanism, the number of individuals in each sub-population is small, which will result in a small coverage area of the solution space for each sub-population, making it easy to fall into the local optimum. When a sub-population has undergone a certain number of iterative calculations and the optimal solution has not changed, we believe that the sub-population has fallen into the local optimal solution and the population communication mechanism is triggered. In order to ensure that each population still has the "vitality" to solve the problem in the later stages of the iteration, a population communication mechanism is proposed, which greatly avoids the algorithm from falling into the local optimum in the later stages of the iteration.
[0184] (6) Figure 3 As shown, the specific method of walking is as follows:
[0185] According to the wolf exploration number formula, an integer is randomly generated as the number of wolf explorations in this round of iteration. The wolf exploration number formula is as follows:
[0186]
[0187] Among them, N is the population size, d is the wolf detection ratio factor;
[0188] The wandering direction of the wandering behavior is defined as the number of drones;
[0189] The fixed walk times strategy is as follows:
[0190] In each walking direction, a fixed number of walking times is used for walking, and walking stops when the number of walking times is reached;
[0191] The dynamic walk times strategy is as follows:
[0192] In each walking direction, according to the number of tasks assigned to each drone, the number of permutations and combinations of the order of execution of tasks of each drone is calculated as the walking number of the drone for the scouting wolf to walk, and the walking will stop after reaching the walking number;
[0193] Calculate the fitness value of the scout wolf after each sub-population wanders. If the fitness value of a scout wolf is lower than before wandering, the position of the scout wolf is updated, otherwise the position of the scout wolf remains unchanged.
[0194] For the general group, the main task in the early stage of the algorithm is to find the optimal drone resource configuration. Therefore, less computing resources are invested in the wandering behavior in this stage (that is, a fixed and small number of wandering times, such as less than 10 times). This helps them to conduct extensive and uniform exploration within a certain range, thereby discovering potential feasible solutions. The main task in the later stage of the algorithm is to adjust the execution order of drone tasks. Different from the early stage, the wandering behavior at this time adopts a dynamic wandering number strategy, which can further refine the search based on the early exploration and find a better solution.
[0195] The wandering behavior of the leader group is opposite to that of the ordinary group at different stages, that is, a dynamic wandering number strategy is adopted in the early stage, and a fixed wandering number strategy is adopted in the later stage. In the early stage of the algorithm, in order to minimize the impact of the order of task execution on the solution of the number of drone configuration, it is necessary to invest more computing resources in the excellent individuals in the ordinary group to guide the iterative calculation of the ordinary group. In other words, the leader group can flexibly adjust the number of wanderings according to the current situation, explore the solution space more deeply, and find higher-quality solutions. In the later stage of the algorithm, since the focus of this stage is to optimize the order of drone task execution, a lot of computing resources have been invested in the ordinary group to solve the problem. In the leader group, there is no need to repeat the calculation. It only needs to perform a fixed and less number of wanderings to perform similar "inspection" work, and it can stably maintain the search near the high-quality solution found in the early stage to avoid algorithm divergence and ensure the stability and reliability of the final solution.
[0196] (7) Figure 4 The specific method of summoning is as follows:
[0197] Calculate the number of fierce wolves fnum, the calculation formula is as follows:
[0198] fnum=N–snum–1
[0199] Among them, N is the population size, snum is the number of scouting wolves;
[0200] Keep the task number list of the wolf unchanged, randomly select j drone numbers in the wolf's drone list as the drone numbers to be modified, and modify the drone numbers to be modified to the drone numbers corresponding to the task numbers corresponding to the drone numbers to be modified in the wolf's drone number list, 1≤j≤the total number of numbers in the drone number list, and j is a randomly generated integer;
[0201] Calculate the fitness value of each sub-population after summoning. If the fitness value of a wolf in a sub-population is lower than that of the alpha wolf in the sub-population after summoning, the wolf will replace the alpha wolf as the new alpha wolf in the sub-population, and initiate summoning again according to the new alpha wolf position. If the fitness of the wolf after summoning is lower than that before summoning but higher than that of the alpha wolf, the wolf will update its position. If the fitness of the wolf after summoning is higher than that before summoning, the position of the wolf will remain unchanged.
[0202] Among them, for the ordinary group, in the early stage of iteration, the j drone numbers in the drone number list of the randomly selected wolf are all used as the drone numbers to be modified. The specific method is as follows: the wolf in the ordinary group generates a random first integer in the range of [0, Nt-1] as the number j, and then randomly generates a second integer in the range of [0, Nt-1] as the specific drone number to be modified. In the late stage of iteration, each round of iteration only generates the first integer in the range of [0, 0.2*Nt] as the number j, and also randomly generates a second integer in the range of [0, Nt-1] as the specific drone number to be modified, Nt is the total number of tasks; for the leadership group, the summoning method of the wolf in the leadership group in the early stage of iteration is the same as the summoning method of the wolf in the ordinary group in the late stage of iteration, and the leadership group does not perform summoning behavior in the late stage of iteration.
[0203] Summoning behavior is a key step in the algorithm's convergence. In essence, the fierce wolves in the wolf pack learn part of the task allocation plan of the alpha wolf to achieve the approximation of the optimal solution for the individual wolves in the wolf pack. The summoning behavior of the leader group is essentially a process of mutual learning among the excellent individuals in each ordinary group. In the early stage of the algorithm, the strategy of the leader group's summoning behavior is the same as that of the ordinary group in the later stage. This is to avoid excessive convergence of individuals in the leader group, because although the computing resources between different sub-populations are different, they all converge to the same optimal solution, which helps the algorithm to search in a wider solution space and avoid falling into the local optimum too early. In the later stage of the iteration, the convergence speed of the wolf summoning of the ordinary group is faster, which is the same as the convergence speed of the leader group in the early stage of the iteration. This helps to conduct a deeper search near the high-quality solution found in the early stage and accelerate the convergence to the global optimal solution. The leadership group is not summoned in the later stages of iteration. This is because the multi-population mechanism essentially hopes to have more opportunities to explore more solution spaces. The leadership group in the later stages actually represents the best individuals in the sub-population. These best individuals guide the exploration direction of the sub-population. Therefore, if the individuals in the leadership group converge too much, it actually means that the two sub-populations converge in the same direction, and then there is no difference from the single-population mechanism.
[0204] (8) Figure 5 As shown, the specific methods of siege are as follows:
[0205] The probability threshold strategy is as follows:
[0206] The calculation formula for the distance probability P is as follows:
[0207]
[0208] Among them, F leader is the fitness corresponding to the alpha wolf, F i is the fitness corresponding to the i-th individual wolf, T is the temperature coefficient, and θ is the adjustment coefficient;
[0209] Calculate the distance probability P between the i-th individual wolf and the alpha wolf. At the same time, randomly generate a random number r between [0, 1]. If P > r, randomly select a UAV number from the UAV list of this individual wolf for mutation; if P < r, randomly select h pairs of corresponding task numbers and UAV numbers of this individual wolf for learning;
[0210] The specific fixed threshold strategy is as follows:
[0211] Randomly generate a random number r between [0, 1]. If 0.5 > r, randomly select a UAV number from the UAV list of this individual wolf for mutation; if 0.5 < r, randomly select h pairs of corresponding task numbers and UAV numbers of this individual wolf for learning;
[0212] The mutation is defined as randomly selecting one from the UAV numbers within the preset range to replace the UAV number to be mutated. The learning is defined as selecting any h pairs of corresponding task numbers and UAV numbers of an individual wolf within the preset range of individual wolves to replace the h pairs of corresponding task numbers and UAV numbers of the individual wolf to be learned;
[0213] Calculate the fitness value of the individual wolf after the siege of each sub-population. If the fitness value of a certain individual wolf is lower than that before the siege, update the position of this individual wolf. Otherwise, the position of this individual wolf remains unchanged;
[0214] Among them, whether it is the ordinary group or the leadership group, in the early stage of iteration, the mutation range is all UAV numbers, and the learning range is a randomly selected individual wolf with a lower fitness value than the individual wolf to be learned. In the later stage of iteration, the mutation range is the UAV numbers that have been assigned tasks, and the learning range is the alpha wolf of the sub-population to which the individual wolf to be learned belongs.
[0215] In the early stage of the algorithm, in order to explore more combinations of drone usage, for a certain task, the scope of mutation is all drones. At the same time, in order to avoid premature algorithm maturation, the replacement scope is no longer just the alpha wolf. On the contrary, as long as it is better than the current individual wolf, it can be used as a replacement example. In the later stage of the algorithm, after multiple rounds of iterative calculations, it is assumed that the optimal drone resource configuration has been found. Therefore, in the later stage, the scope of mutation is only between those drones that have been assigned tasks, and the replacement only uses the current optimal drone resource configuration (alpha wolf) as a sample. The reason why the strategies adopted by the ordinary group and the leader group before and after the iteration are different is to avoid too high similarity of individuals in the population, which helps the algorithm maintain a certain degree of randomness and diversity during the search process, avoid falling into the local optimum, and balance the proportion of mutation and learning in the update.
[0216] (9) The specific mechanism of roulette is as follows:
[0217] First, an integer is randomly generated as the number L of individual wolf reconstructions in this iteration according to the update formula. The update formula is as follows:
[0218]
[0219] Among them, N is the population size, e is the update scale factor;
[0220] Then, under the premise of keeping the task list unchanged, the drone lists of the last L individual wolves ranked in ascending order of fitness values are cleared, and at the same time, among the first X individual wolves in the wolf pack ranked in ascending order of fitness values, all the drone numbers corresponding to each task number are counted, and the roulette wheel is defined as the task number. The area of the roulette wheel is divided according to the ratio of the roulette results. The roulette result is defined as the drone number assigned to the task number. Each drone number is matched with each roulette result one by one. The proportion of the number of times each drone number is assigned to the task number is X as the ratio of the corresponding roulette result. Rotating the roulette wheel is defined as solving the drone number that matches the task number corresponding to the roulette wheel.
[0221] Spin the wheel and fill the obtained drone numbers that match each task number one by one into the drone list of L individual wolves ranked in ascending order of fitness value according to the matching relationship.
[0222] Individual reconstruction refers to improving the algorithm's solving ability by reconstructing individuals with poor performance in the wolf pack to be close to excellent solutions.
[0223] like Figure 6As shown in the figure, the task allocation results of four individuals are displayed, and the "roulette" is constructed based on this. Taking the allocation result of the first task as an example, it can be seen that in the allocation scheme for the first task, the fourth drone accounts for 50%, and the second and third drones account for 25% respectively. If the generated random number is distributed between [0,0.25], the newly generated individual will assign the first task to the second drone to complete; if the random number is distributed between [0.25-0.5], the newly generated individual will assign the first task to the third drone to complete; if the random number is distributed between [0.5-1], the newly generated individual will assign the first task to the fourth drone to complete.
[0224] The roulette mechanism does not restrict reconstruction to the vicinity of the optimal solution. Instead, it allows poor individual wolves to learn the behavior patterns or task allocation strategies of excellent individuals (not only the optimal solution, but also the suboptimal solution) through random selection. This randomness helps the algorithm to jump out of the local optimal solution and explore a wider solution space, thereby improving the algorithm's global search ability. The roulette mechanism uses random selection to make each reconstructed individual have a different task allocation strategy, which helps maintain the diversity of the population and prevent the algorithm from falling into the local optimal solution too early, thereby improving the robustness and adaptability of the algorithm.
[0225] In the early stage of iteration, the individual wolves in both the common group and the leader group use the roulette mechanism to reconstruct the individual wolves, which helps to improve the algorithm's ability to solve problems. In the later stage of iteration, the common group continues to use the roulette mechanism to reconstruct the individual wolves to maintain a certain search ability and diversity. The leader group does not reconstruct the individual wolves, because the leader group itself represents an excellent solution. If the excellent solutions are reconstructed in the later stage of iteration, these excellent solutions will be almost the same, falling into the local optimum, causing the entire population to over-converge.
[0226] (10) The fitness calculation formula is as follows:
[0227] fitness=α×TCT+β×AFT+γ×ATF
[0228] Among them, fiteness is fitness, α is the weight of the time for the drone swarm to perform the reconnaissance process, β is the weight of the average flight time of the drone, γ is the weight of the average threat value of the drone, TCT is the time for the drone swarm to perform the reconnaissance process, AFT is the average flight time of each drone in the drone swarm, ATF is the average threat value faced by each drone in the drone swarm during the reconnaissance process, and the values of α and β vary within the constraint condition of α+β=1{α,β∈(0,1)}. When the multi-drone task allocation scheme does not meet the constraint conditions, the fitness of the scheme is set to infinity. The reconnaissance process is a process from the starting point to the completion of all tasks and then returning to the starting point.
[0229] The time TCT of the drone performing the reconnaissance process is divided into the time required for the drone to fly to the target point, the time required for the drone to perform the reconnaissance process, and the time required for the drone to return to the launch platform. When all drones complete the reconnaissance process, it means that all reconnaissance processes are completed. The time TCT of the drone group performing the reconnaissance process is determined by the drone that takes the longest time. The calculation formula of the time TCT of the drone group performing the reconnaissance process is as follows:
[0230]
[0231] In the formula, represents the time for the mth UAV to perform the reconnaissance process, Nu represents the number of UAVs, The calculation formula is as follows:
[0232]
[0233] In the formula, u m represents the mth drone, t k represents the kth task, Indicates the mth drone to the first mission t 1 The distance to the location, represents the distance between the locations of the kth task and the k+1th task, x k represents the location of the kth task, represents the flight distance of the mth UAV to complete the kth mission, Indicates that the mth drone has the last mission t n The distance from the location to the return starting point, represents the flight speed of the mth UAV;
[0234] The calculation formula for the average flight time AFT of each drone in the drone group is as follows:
[0235]
[0236] Where, T m It represents the time required for the mth UAV to complete the reconnaissance process;
[0237] The calculation formula of the average threat value ATF faced by each drone in the drone group during reconnaissance is as follows:
[0238]
[0239] In the formula, It represents the threat coefficient faced by the m-th UAV when performing the k-th mission.
[0240] Example 3
[0241] A computer program product includes a computer program / instruction, which, when executed by a processor, implements the multi-UAV task allocation method based on a two-stage multi-group wolf pack algorithm in Example 2.
[0242] The contents not described in detail in this specification belong to the prior art known to those skilled in the art. It should be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0243] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0244] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0245] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0246] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit its protection scope. Although the present invention has been described in detail with reference to the above embodiments, ordinary technicians in the field should understand that after reading the present invention, those skilled in the art can still make various changes, modifications or equivalent substitutions to the specific implementation methods of the invention, but these changes, modifications or equivalent substitutions are all within the protection scope of the pending claims of the invention.
Claims
1. A multi-UAV task allocation system based on a two-stage multi-group wolf pack algorithm, characterized in that: include: an initialization module, for defining the position of each individual wolf in the wolf pack in the two-stage multi-population wolf pack algorithm as a multi-UAV task allocation scheme consisting of a task list and a UAV list, wherein the task number in the task list corresponds to the UAV number in the UAV list, and dividing the wolf pack into a plurality of sub-populations, wherein the sub-populations include a plurality of common groups and a leader group, dividing the wolf pack into a plurality of common groups evenly, and replicating the individual wolves in the wolf pack whose fitness values rank first n% in ascending order to form a leader group; A wandering module is used to make the scouts in the common group and the scouts in the leading group wander using different wandering times calculation strategies. Wandering is defined as reordering the task numbers in the task number list. If the fitness value of the scout in the common group is higher than that of the replica of the scout in the leading group, the scout copies the multi-UAV task allocation plan of the replica. The summoning module is used to make the wolves in the common group and the wolves in the leader group summon with different convergence speeds. The summoning is defined as the wolves learning the multi-UAV task allocation plan of the current leader wolf. If the fitness value of the wolves in the common group is higher than that of the replica of the wolves in the leader group, the wolves will copy the multi-UAV task allocation plan of the replica. A siege module is used to make individual wolves other than the current alpha wolf in the common group and individual wolves other than the current alpha wolf in the leadership group adopt different thresholds to carry out siege. Siege is defined as individual wolves other than the current alpha wolf mutating or learning a multi-UAV task allocation plan from an individual wolf with a lower fitness value than the individual wolf. If the fitness value of an individual wolf in the common group is higher than that of the individual wolf's replica in the leadership group, the individual wolf copies the multi-UAV task allocation plan of the replica. The individual wolf reconstruction module is used to reconstruct the individual wolves of the L wolves in the common group and the L wolves in the leader group using a roulette mechanism. The individual wolf reconstruction is defined as placing the position of the individual wolf near the first X individual wolves in the ascending fitness value ranking. If the fitness value of the individual wolf in the common group is higher than that of the replica of the individual wolf in the leader group, the individual wolf copies the multi-UAV task allocation plan of the replica. The sub-population adjustment module is used to start the two-stage mechanism, dynamic population mechanism, population protection mechanism, population migration mechanism and population communication mechanism in the two-stage multi-population wolf algorithm after completing the reconstruction of individual wolves, and copy the individual wolves ranked in the top n% of the fitness value in ascending order in the current wolf pack to re-form the leadership group.
2. The multi-UAV task allocation system based on the two-stage multi-group wolf pack algorithm according to claim 1 is characterized in that: Also includes: The iterative calculation module is used to run the wandering module, summoning module, siege module, individual wolf reconstruction module and sub-population adjustment module in sequence as one round of iteration, set the maximum number of iterations to complete the iterative calculation, output the position of the alpha wolf generated by the last iteration, and use the alpha wolf position as the final multi-UAV task allocation plan.
3. The multi-UAV task allocation system based on the two-stage multi-group wolf pack algorithm according to claim 2 is characterized by: The two-stage mechanism is to pre-divide the iteration process into the early iteration and the late iteration according to the number of iterations, as follows: In the wandering module, in the early stage of iteration, the scouts in the common group wander with a fixed wandering number strategy, and the scouts in the leading group wander with a dynamic wandering number strategy; in the late stage of iteration, the scouts in the common group wander with a dynamic wandering number strategy, and the scouts in the leading group wander with a fixed wandering number strategy; In the summoning module, in the early stage of iteration, the wolves in the leader group have a lower summoning convergence speed than the wolves in the common group; in the late stage of iteration, the convergence speed of summoning the wolves in the common group is the same as the convergence speed of the wolves in the leader group in the early stage of iteration, and the leader group does not summon in the late stage of iteration; In the siege module, no matter in the early or late iteration, the individual wolves in the common group adopt the probability threshold strategy for siege, and the individual wolves in the leader group adopt the fixed threshold strategy for siege; In the individual wolf reconstruction module, in the early stage of iteration, the L individual wolves in the common group whose fitness values are ranked in ascending order and the L individual wolves in the leadership group whose fitness values are ranked in ascending order both adopt the roulette mechanism to perform individual wolf reconstruction; in the late stage of iteration, the L individual wolves in the common group whose fitness values are ranked in ascending order continue to perform individual wolf reconstruction using the roulette mechanism, and the leadership group does not perform individual wolf reconstruction.
4. The multi-UAV task allocation system based on the two-stage multi-group wolf pack algorithm according to claim 1 is characterized by: The dynamic population mechanism is: at the beginning of each iteration, a group of individual wolves are transferred from the common group with relatively low contribution values to the common group with relatively high contribution values. The number of wolves transferred is the difference between the contribution value of the common group with relatively high contribution values and the contribution value of the common group with relatively low contribution values. The specific formula is as follows: Among them, contrpop l Indicates the contribution of the common group l, np.mean(fitness l ) represents the average of the fitness values of all individual wolves in the common group l, bestfitness represents the lowest fitness value among all individual wolves in the common group l, len(pop l ) represents the total number of individual wolves in the common group l; The population protection mechanism is: when the dynamic population mechanism is implemented, the number of individual wolves mobilized by the general group each time is less than or equal to a; The population migration mechanism is: after executing the dynamic population mechanism, when the number of individual wolves in the common group is less than b, the common group will randomly absorb several individual wolves in the wolf pack whose fitness values are ranked in the top n% in ascending order except the head wolf. The population communication mechanism is as follows: when the result of a sub-population does not change after c iterations, if the sub-population is not the sub-population to which the individual wolf with the lowest fitness value in the wolf pack belongs, the individual with the highest fitness value in the sub-population is replaced by the individual wolf with the lowest fitness value in the wolf pack; if the sub-population is the sub-population to which the individual wolf with the lowest fitness value in the wolf pack belongs, the drone list of the individual wolf with the lowest fitness value is mutated, and the mutation range is limited to the drones assigned tasks, and the mutation is defined as randomly selecting one drone number in a preset range to replace the drone number to be mutated, and the individual wolf with the lowest fitness value is compared with the fitness value before mutation after each mutation, and if the fitness value after mutation is lower, the position of the individual wolf is updated, otherwise the position of the individual wolf remains unchanged.
5. The multi-UAV task allocation system based on the two-stage multi-group wolf pack algorithm according to claim 3 is characterized by: According to the wolf exploration number formula, an integer is randomly generated as the number of wolf explorations in this round of iteration. The wolf exploration number formula is as follows: Among them, N is the population size, d is the wolf detection ratio factor; The wandering direction of the wandering behavior is defined as the number of drones; The fixed walk times strategy is as follows: In each walking direction, a fixed number of walking times is used for walking, and walking stops when the number of walking times is reached; The dynamic walk times strategy is as follows: In each walking direction, according to the number of tasks assigned to each drone, the number of permutations and combinations of the order of execution of tasks of each drone is calculated as the walking number of the drone for the scouting wolf to walk, and the walking will stop after reaching the walking number; Calculate the fitness value of the scout wolf after each sub-population wanders. If the fitness value of a scout wolf is lower than before wandering, the position of the scout wolf is updated, otherwise the position of the scout wolf remains unchanged.
6. The multi-UAV task allocation system based on the two-stage multi-group wolf pack algorithm according to claim 3 is characterized by: Calculate the number of fierce wolves fnum, the calculation formula is as follows: fnum=N–snum–1 Among them, N is the population size, snum is the number of scouting wolves; Keep the task number list of the wolf unchanged, randomly select j drone numbers in the wolf's drone list as the drone numbers to be modified, and modify the drone numbers to be modified to the drone numbers corresponding to the task numbers corresponding to the drone numbers to be modified in the wolf's drone number list, 1≤j≤the total number of numbers in the drone number list, and j is a randomly generated integer; Calculate the fitness value of each sub-population after summoning. If the fitness value of a wolf in a sub-population is lower than that of the alpha wolf in the sub-population after summoning, the wolf will replace the alpha wolf as the new alpha wolf in the sub-population, and initiate summoning again according to the new alpha wolf position. If the fitness of the wolf after summoning is lower than that before summoning but higher than that of the alpha wolf, the wolf will update its position. If the fitness of the wolf after summoning is higher than that before summoning, the position of the wolf will remain unchanged. Among them, for the ordinary group, in the early stage of iteration, the j drone numbers in the drone number list of the randomly selected wolf are all used as the drone numbers to be modified. The specific method is as follows: the wolf in the ordinary group generates a random first integer in the range of [0, Nt-1] as the number j, and then randomly generates a second integer in the range of [0, Nt-1] as the specific drone number to be modified. In the late stage of iteration, each round of iteration only generates the first integer in the range of [0, 0.2*Nt] as the number j, and also randomly generates a second integer in the range of [0, Nt-1] as the specific drone number to be modified, Nt is the total number of tasks; for the leadership group, the summoning method of the wolf in the leadership group in the early stage of iteration is the same as the summoning method of the wolf in the ordinary group in the late stage of iteration, and the leadership group does not perform summoning behavior in the late stage of iteration.
7. The multi-UAV task allocation system based on the two-stage multi-group wolf pack algorithm according to claim 3 is characterized by: The probability threshold strategy is as follows: Among them, F leader is the fitness of the alpha wolf, F i is the fitness corresponding to the ith individual wolf, T is the temperature coefficient, θ is the adjustment coefficient, and P is the distance probability between the individual wolf and the alpha wolf; Calculate the distance probability P between the i-th individual wolf and the leading wolf. Meanwhile, randomly generate a random number r between [0, 1]. If P > r, randomly select a drone number from the drone list of this individual wolf for mutation; if P < r, randomly select h pairs of corresponding task numbers and drone numbers of this individual wolf for learning; The specific fixed threshold strategy is as follows: Randomly generate a random number r between [0, 1]. If 0.5 > r, randomly select a drone number from the drone list of this individual wolf for mutation; if 0.5 < r, randomly select h pairs of corresponding task numbers and drone numbers of this individual wolf for learning; The mutation is defined as randomly selecting one from the drone numbers within a preset range to replace the drone number to be mutated. The learning is defined as selecting any h pairs of corresponding task numbers and drone numbers of an individual wolf within the preset range to replace the h pairs of corresponding task numbers and drone numbers of the individual wolf to be learned; Calculate the fitness value of the individual wolf after the siege of each sub-population. If the fitness value of an individual wolf is lower than that before the siege, update the position of this individual wolf. Otherwise, the position of this individual wolf remains unchanged; Among them, whether it is the ordinary group or the leading group, in the early stage of iteration, the mutation range is all drone numbers, and the learning range is a randomly selected individual wolf with a lower fitness value than the individual wolf to be learned. In the later stage of iteration, the mutation range is the drone numbers that have been assigned tasks, and the learning range is the leading wolf in the sub-population to which the individual wolf to be learned belongs.
8. The multi-UAV task allocation system based on the two-stage multi-population wolf pack algorithm according to claim 3, characterized in that: In the individual wolf reconstruction module, the roulette mechanism is as follows: First, randomly generate an integer as the number L of individual wolf reconstructions in this round of iteration according to the update formula. The update formula is as follows: Where N is the population size and e is the update ratio factor; Then, on the premise of keeping the task list unchanged, clear the drone list of the L individual wolves with ascending fitness value rankings. Meanwhile, among the top X individual wolves with ascending fitness value rankings in the wolf pack, count all the drone numbers corresponding to each task number. Define the roulette as the task number, divide the area of the roulette according to the ratio of the roulette result appearance, define the roulette result as the drone number corresponding to the task number assignment, correspond each drone number to each roulette result one by one, take the ratio of the number of times each drone number is assigned to this task number to X as the ratio of the corresponding roulette result appearance, and define turning the roulette as solving the drone number matching the task number corresponding to this roulette; Turn the roulette and fill in the drone numbers that are matched with each task number one by one into the drone list of the L individual wolves with ascending fitness value rankings according to the matching relationship.
9. The multi-UAV task allocation method based on the two-stage multi-group wolf pack algorithm according to claim 1 is characterized in that: Including the following steps: The position of each individual wolf in the two-stage multi-population wolf pack algorithm is defined as a multi-UAV task allocation scheme consisting of a task list and a UAV list, the task number in the task list corresponds to the UAV number in the UAV list one by one, and the wolf pack is divided into a plurality of sub-populations, the sub-populations include a plurality of common groups and a leader group, firstly the wolf pack is evenly divided into a plurality of common groups, and then the individual wolves in the wolf pack whose fitness values are ranked top n% in ascending order are copied to form a leader group; The scouting wolves in the common group and the scouting wolves in the leading group are made to roam using different roaming times calculation strategies, wherein the roaming is defined as reordering the task numbers in the task number list, and if the fitness value of the scouting wolves in the common group is higher than that of the scouting wolves' replica in the leading group, the scouting wolves copy the multi-UAV task allocation plan of the replica; The wolves in the common group and the wolves in the leader group are summoned at different convergence speeds, wherein the summoning is defined as the wolves learning the multi-UAV task allocation plan of the current leader wolf. If the fitness value of the wolves in the common group is higher than that of the replica of the wolves in the leader group, the wolves copy the multi-UAV task allocation plan of the replica; The individual wolves in the common group except the current alpha wolf and the individual wolves in the leadership group except the current alpha wolf are made to adopt different thresholds for siege, wherein the siege is defined as the individual wolves except the current alpha wolf mutating or learning the multi-UAV task allocation scheme from the individual wolves with lower fitness values than the individual wolf, and if the fitness value of the individual wolf in the common group is higher than the replica of the individual wolf in the leadership group, the individual wolf copies the multi-UAV task allocation scheme of the replica; The L individual wolves in the common group and the L individual wolves in the leadership group are reconstructed by the roulette mechanism. The individual wolf reconstruction is defined as placing the position of the individual wolf near the first X individual wolves in the ascending order of fitness values. If the fitness value of the individual wolf in the common group is higher than that of the replica of the individual wolf in the leadership group, the individual wolf copies the multi-UAV task allocation plan of the replica. After completing the reconstruction of individual wolves, the two-stage mechanism, dynamic population mechanism, population protection mechanism, population migration mechanism and population communication mechanism in the two-stage multi-population wolf pack algorithm are activated, and the individual wolves ranked in the top n% of the fitness values in the current wolf pack are copied to re-form the leadership group.
10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by the processor, the multi-UAV task allocation method based on the two-stage multi-group wolf pack algorithm described in claim 9 is implemented.
Citation Information
Patent Citations
Multi-unmanned aerial vehicle task allocation system and method based on dynamic wolf pack algorithm
CN118778698A
AU2020101065A4