An improved asymmetric multi-objective task allocation algorithm based on particle swarm algorithm
By improving the particle swarm optimization algorithm to encode and update the aircraft and mission objectives, the problem of large-scale asymmetric mission allocation is solved, and a fast and efficient mission allocation scheme is generated, which is suitable for multi-target aircraft formation missions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING INST OF TECH
- Filing Date
- 2025-07-30
- Publication Date
- 2026-07-14
AI Technical Summary
Existing multi-objective task allocation algorithms for aircraft struggle to find suitable solutions within a finite time under large-scale asymmetric conditions, and the computational load is too high to meet real-time allocation requirements.
An improved asymmetric multi-objective task allocation algorithm based on particle swarm optimization is adopted. By encoding the spacecraft number and the task objective separately, two sets of particle swarm optimization algorithms are used for updating. Combined with random initial target order and diversity evolution, the rationality and efficiency of the allocation scheme are ensured.
It can quickly find feasible or suboptimal solutions that meet the task allocation requirements within a limited time, with good optimization effect and fast convergence speed, and is suitable for portable devices with low computing power.
Smart Images

Figure CN121143465B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a fast and efficient task allocation method for aircraft formations dealing with multiple targets, specifically to an asymmetric multi-target task allocation algorithm based on an improved particle swarm optimization algorithm. Background Technology
[0002] When there are a large number of aircraft and numerous mission targets, how can we quickly and efficiently find the optimal mission allocation scheme to ensure that aircraft pass over mission targets at the fastest speed, guarantee that an aircraft passes over each mission target, and minimize the total flight path of the aircraft? The mission targets and specific tasks can be set according to the actual situation. They can be ground station information to be reconnaissance and photographed, enemy targets to be destroyed by bombing, or key fire prevention points or key flood prevention points as mission targets. The aircraft can be manually controlled aircraft such as drones.
[0003] Most current asymmetric task assignment algorithms employ multiple constraints to establish and solve an optimal assignment problem to obtain a unique optimal solution. However, large-scale task assignment problems are non-NP-hard and cannot be solved in finite time. For large-scale task assignment problems, swarm intelligence algorithms are widely applicable and can find suboptimal solutions in finite time. Existing algorithms are primarily designed for solving relatively simple models such as the Traveling Salesman Problem. For asymmetric task assignment processes, there is no readily available and convenient algorithmic model.
[0004] Existing swarm intelligence algorithms are primarily designed for task allocation under symmetric conditions, and can only solve simple models. For task allocation under asymmetric conditions, most methods involve optimization to model and solve the problem, often using a globally optimal approach. This is time-consuming and computationally intensive, making it difficult to quickly find suitable solutions for large-scale problems.
[0005] Based on the above problems, the inventors have conducted in-depth research on multi-objective task allocation methods for multiple aircraft, so as to design an allocation method with low computational load and real-time output of results, so as to provide a task allocation scheme for aircraft in real time on portable devices with low computing power. Summary of the Invention
[0006] To overcome the aforementioned problems, the inventors conducted intensive research and designed an asymmetric multi-objective task allocation algorithm based on an improved particle swarm optimization algorithm. This method models and solves the task allocation process under asymmetric conditions, encodes the aircraft number and task objectives separately, and uses two sets of particle swarm optimization algorithms to update the aircraft number and task objectives respectively. It constrains each aircraft to fly to at least one target and ensures that at least one aircraft arrives at each target location. Constraints are achieved by fixing multiple target group codes, ensuring diversity through random initial target order, and ensuring the rationality of the final allocation scheme through sufficient population diversity evolution, thus completing this invention.
[0007] Specifically, the purpose of this invention is to provide an asymmetric multi-objective task allocation algorithm based on an improved particle swarm optimization algorithm, which includes the following steps:
[0008] Step 1: Number the n aircraft capable of performing the mission sequentially from 1 to n, and number the m mission targets to be assigned sequentially from 1 to m;
[0009] Step 2: Randomly generate and record an m-row, P-column matrix Order(m,P), where each element in the matrix is the number of the mission target; preferably, each column of the matrix contains any integer from 1 to m without repetition, and each column of the matrix represents the order in which an aircraft arrives at multiple mission targets.
[0010] Step 3: Generate and record a matrix Group(m,P) with m rows and P columns, where each element is the number of the aircraft. Preferably, in each column of the matrix, the first n elements are any integers from 1 to n without repetition; the (n+1)th to mth elements are random integers from 1 to n.
[0011] Step 4: Combine the two matrices from Step 2 and Step 3 to obtain an initial population of size P. Then, obtain the cost of each individual in the population and select the individual with the minimum cost.
[0012] Step 5: Control each individual in the initial population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation, thereby obtaining a new population. Further obtain the cost of each individual in the new population and then select the one with the minimum cost.
[0013] Step 6: Control each individual in the new population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation. Then, obtain the new population again, further obtain the cost of each individual in the new population, and select the one with the minimum cost.
[0014] Step 7: Repeat step 6 until the number of iterations reaches the maximum value, or the minimum cost obtained by repeating step 6 R times consecutively is close to each other, then end the iteration. The final population obtained is the task allocation scheme.
[0015] Wherein, the number n of aircraft capable of performing the mission is less than the number m of mission targets to be assigned.
[0016] In step 4, the i-th individual in the initial population contains the i-th column of the matrix Order(m,P) and the i-th column of the matrix Group(m,P), where i is any integer from 1 to P. In the two columns of information contained in the individual, those in the same row are combined to form a combination of the aircraft and the mission target, which means that the mission target is reached by the aircraft.
[0017] In step 4, the aircraft in the individual reach the mission objective in the combination in sequence, and the total distance traveled by each aircraft in the individual is the cost of that individual.
[0018] In step 5, the random evolution includes the following sub-steps:
[0019] Sub-step 1: Generate an m x 1 matrix as a random target group, which serves as the random evolutionary direction of the population, denoted as Velocity;
[0020] Sub-step 2: Using random mutation inertia w as the mutation probability, let p individuals in the population evolve in turn.
[0021] In step 5, the evolution toward the individual's optimal direction includes the following sub-steps:
[0022] Sub-step a: retrieve the individual corresponding to the minimum cost, and use it as the individual's optimal direction, IndividualBest;
[0023] Sub-step b: The probability of an individual evolving in the optimal direction is c1, which is the mutation probability. Then, the p individuals in the population are allowed to evolve in turn.
[0024] In step 5, the evolution towards the global optimum includes the following sub-steps:
[0025] Sub-step A: Select the individual with the minimum cost as the global optimal direction, GlobalBest;
[0026] Sub-step B involves allowing p individuals in the population to evolve sequentially, with c2 being the probability of evolution in the globally optimal direction.
[0027] In step 6, the random evolution includes the following sub-steps:
[0028] Sub-step 1: Generate an m x 1 matrix as a random target group, which serves as the random evolutionary direction of the population, denoted as Velocity;
[0029] Sub-step 2: Using random mutation inertia w as the mutation probability, let p individuals in the population evolve in turn.
[0030] In step 6, the evolution toward the individual's optimal direction includes the following sub-steps:
[0031] Sub-step a: retrieve the individual corresponding to the minimum cost obtained most recently, and use it as the individual's optimal direction IndividualBest;
[0032] Sub-step b: The probability of an individual evolving in the optimal direction is c1, which is the mutation probability. Then, the p individuals in the population are allowed to evolve in turn.
[0033] In step 6, the evolution towards the global optimum includes the following sub-steps:
[0034] Sub-step A: retrieve the individual corresponding to the historical minimum cost obtained from all executed operations, and use it as the global optimal direction, GlobalBest;
[0035] Sub-step B involves allowing p individuals in the population to evolve sequentially, with c2 being the probability of evolution in the globally optimal direction.
[0036] The beneficial effects of this invention include:
[0037] (1) According to the asymmetric multi-objective task allocation algorithm based on particle swarm algorithm provided by the present invention, the method encodes all targets in sequence and the aircraft in group sequence, and performs two sets of particle swarm algorithms to ensure the diversity of the population.
[0038] (2) According to the asymmetric multi-objective task allocation algorithm based on particle swarm optimization provided by the present invention, the asymmetric task allocation solution can be obtained in a finite time, and a feasible solution or suboptimal solution that meets the task allocation requirements can be obtained.
[0039] (3) The asymmetric multi-objective task allocation algorithm based on particle swarm optimization provided by the present invention has better optimization effect and faster convergence speed than the traditional particle swarm algorithm. Attached Figure Description
[0040] Figure 1 This paper presents a schematic diagram of the overall logic of the asymmetric multi-objective task allocation algorithm based on the particle swarm optimization algorithm improved in this application.
[0041] Figure 2This diagram illustrates the optimal flight path of the aircraft obtained in Example 1.
[0042] Figure 3 This diagram illustrates the change curve of the minimum cost obtained by repeating step 6 in Example 1.
[0043] Figure 4 This diagram illustrates the optimal flight path of the aircraft obtained in Example 2.
[0044] Figure 5 The diagram shows a change curve of the minimum cost obtained by repeating step 6 in Example 2. Detailed Implementation
[0045] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Through these descriptions, the features and advantages of the present invention will become clearer and more apparent.
[0046] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments. Although various aspects of embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless specifically indicated otherwise.
[0047] This invention provides an improved asymmetric multi-objective task allocation algorithm based on particle swarm optimization, such as... Figure 1 As shown, the method includes the following steps:
[0048] Step 1: Number the n aircraft capable of performing the mission sequentially from 1 to n, and number the m mission targets to be assigned sequentially from 1 to m; n and m are both positive integers; preferably, the number of aircraft capable of performing the mission n is less than the number of mission targets to be assigned m.
[0049] Step 2: Randomly generate and record an m-row, P-column matrix Order(m,P), where each element in the matrix is the number of the mission target; preferably, each column of the matrix contains any integer from 1 to m without repetition, and each column of the matrix represents the order in which an aircraft arrives at multiple mission targets.
[0050] The value of P in this application is set according to the specific computing power, generally between 1000 and 100, in order to ensure the accuracy of the final result and minimize the computation time to achieve real-time output.
[0051] Step 3: Generate and record a matrix Group(m,P) with m rows and P columns, where each element is the number of the aircraft. Preferably, in each column of the matrix, the first n elements are any integers from 1 to n without repetition; the (n+1)th to mth elements are random integers from 1 to n.
[0052] Step 4: Combine the two matrices from Step 2 and Step 3 to obtain an initial population of size P. Then, obtain the cost of each individual in the population and select the individual with the minimum cost.
[0053] In step 4, the i-th individual in the initial population contains the i-th column of the matrix Order(m,P) and the i-th column of the matrix Group(m,P), where i is any integer from 1 to P. The information in the two columns of this individual is combined with those in the same row to form a combination of the aircraft and the mission target. This combination represents reaching the mission target via the aircraft. Since the columns in the matrix Group(m,P) contain duplicate elements, which are the UAV numbers, and each individual corresponds to a different target element, this indicates that a UAV needs to reach different target locations sequentially.
[0054] In step 4, the aircraft in the individual reach the mission objective in the group in sequence, and the total distance traveled by each aircraft in the individual is the cost of that individual.
[0055] Step 5: Control each individual in the initial population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation, thereby obtaining a new population. Further obtain the cost of each individual in the new population and then select the one with the minimum cost.
[0056] Preferably, in step 5, the random evolution includes the following sub-steps:
[0057] Sub-step 1: Generate an m x 1 matrix as a random target group, which serves as the random evolutionary direction of the population, denoted as Velocity;
[0058] Sub-step 2 involves allowing p individuals in the population to evolve sequentially, with a random mutation inertia w as the mutation probability. The value of w ranges from 0 to 1, preferably from 0.96 to 0.99, and more preferably from 0.96.
[0059] In sub-step 2, the order of task objectives contained in the i-th individual in the initial population is compared with the order of task objectives in Velocity. When the k-th element is different, a random number between 0 and 1 is generated. When the random number is greater than the random mutation inertia w, the i-th individual in the initial population evolves in the direction of Velocity, that is, the k-th task objective is replaced with the k-th task objective in the random objective group.
[0060] Preferably, in step 5, the evolution toward the individual's optimal direction includes the following sub-steps:
[0061] Sub-step a: retrieve the individual corresponding to the minimum cost, and use it as the individual's optimal direction, IndividualBest;
[0062] Sub-step b involves using the probability c1 of an individual evolving in the optimal direction as the mutation probability, and then sequentially allowing p individuals in the population to evolve. c1 takes a value between 0 and 1, preferably 0.5.
[0063] In sub-step b, the order of task objectives contained in the i-th individual in the population obtained by random evolution in step 5 is compared with the order of task objectives in IndividualBest. When the k-th element is different, a random number between 0 and 1 is generated. When the random number is greater than c1, the i-th individual in the population obtained by random evolution evolves towards the direction of IndividualBest, that is, the k-th task objective in the i-th individual is replaced with the k-th task objective in the individual corresponding to the minimum cost.
[0064] Preferably, in step 5, the evolution towards the global optimum includes the following sub-steps:
[0065] Sub-step A: Select the individual with the minimum cost as the global optimal direction, GlobalBest;
[0066] Sub-step B involves allowing p individuals in the population to evolve sequentially, with c2 as the mutation probability and the probability of evolution in the globally optimal direction. c2 takes a value between 0 and 1, preferably between 0.7 and 0.9.
[0067] In sub-step B, the order of task objectives contained in the i-th individual in the population obtained by evolving towards the individual optimal direction in step 5 is compared with the order of task objectives in GlobalBest. When the k-th element is different, a random number between 0 and 1 is generated. When the random number is greater than c2, the i-th individual in the population obtained by evolving towards the individual optimal direction evolves towards the direction of GlobalBest, that is, the k-th task objective in the i-th individual is replaced with the k-th task objective in the individual corresponding to the minimum cost.
[0068] Step 6: Control each individual in the new population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation. Then, obtain the new population again, further obtain the cost of each individual in the new population, and select the one with the minimum cost.
[0069] The new population is the population that was finally obtained through evolution in step 5. When step 6 is repeated, the new population is the population that was finally obtained through evolution in the previous execution of step 6.
[0070] Preferably, in step 6, the random evolution includes the following sub-steps:
[0071] Sub-step 1: Generate an m x 1 matrix as a random target group, which serves as the random evolutionary direction of the population, denoted as Velocity;
[0072] Sub-step 2: Using random mutation inertia w as the mutation probability, let p individuals in the population evolve in turn.
[0073] The value of w decreases as the number of iterations increases. For example, the initial value is 0.99, and the value decreases by 0.005 with each iteration; or, assuming the initial value is 0.96, the random mutation inertia w = 0.96 - current iteration number / maximum iteration number. The minimum value of w can be set to a fixed value, such as 0.1, and the specific value can be selected and set according to the actual situation. In this application, by setting the value of this random mutation inertia w, the result can be prevented from getting trapped in a local optimum.
[0074] In sub-step 2, the order of task objectives contained in the i-th individual in the new population is compared with the order of task objectives in Velocity. When the k-th element is different, a random number between 0 and 1 is generated. When the random number is greater than the random mutation inertia w, the i-th individual in the new population evolves in the direction of Velocity, that is, the k-th task objective is replaced with the k-th task objective in the random objective group.
[0075] Preferably, in step 6, the evolution toward the individual's optimal direction includes the following sub-steps:
[0076] Sub-step a: retrieve the individual corresponding to the minimum cost obtained most recently, and use it as the individual's optimal direction IndividualBest;
[0077] Sub-step b involves using the probability c1 of an individual evolving in the optimal direction as the mutation probability, and then sequentially allowing p individuals in the population to evolve. c1 takes a value between 0 and 1, preferably 0.5.
[0078] In sub-step b, the order of task objectives contained in the i-th individual in the population obtained by random evolution in step 6 is compared with the order of task objectives in IndividualBest. When the k-th element is different, a random number between 0 and 1 is generated. When the random number is greater than c1, the i-th individual in the population obtained by random evolution evolves towards the direction of IndividualBest, that is, the k-th task objective in the i-th individual is replaced with the k-th task objective in the individual corresponding to the minimum cost obtained in the most recent time.
[0079] Preferably, in step 6, the evolution towards the global optimum includes the following sub-steps:
[0080] Sub-step A retrieves the individual corresponding to the historical minimum cost obtained from all executed operations, and uses it as the global optimal direction, GlobalBest. In this application, each repetition of step 6 will obtain a minimum cost, which is recorded and saved. Then, all the historical minimum costs are compared in real time, and the smallest one is output as the historical minimum cost.
[0081] Sub-step B involves using the probability c2 of evolving in the globally optimal direction as the mutation probability, and then allowing p individuals in the population to evolve sequentially. The value of c2 ranges from 0 to 1, preferably from 0.7 to 0.9.
[0082] In sub-step B, the order of task objectives contained in the i-th individual in the population obtained by evolving towards the individual optimal direction in step 6 is compared with the order of task objectives in GlobalBest. When the k-th element is different, a random number between 0 and 1 is generated. When the random number is greater than c2, the i-th individual in the population obtained by evolving towards the individual optimal direction evolves towards GlobalBest, that is, the k-th task objective in the i-th individual is replaced with the k-th task objective in the individual corresponding to the historical minimum cost.
[0083] Step 7: Repeat step 6 until the number of iterations reaches the maximum value, or the minimum cost obtained by repeating step 6 R times consecutively is close to each other, then end the iteration. The final population obtained is the task allocation scheme.
[0084] Preferably, R is one-tenth of the number of iterations; "close to each other" means that the difference between any two minimum costs is less than two percent of the smaller cost. The applicant has discovered that when the above conditions are met, the obtained allocation scheme has a very small difference from the theoretically optimal scheme, and can at least be called a suboptimal solution, which can be used to control the aircraft to perform its mission.
[0085] Example 1
[0086] Three aircraft {Uav1, Uav2, Uav3} are set up with their initial positions as shown below:
[0087] drones drone location <![CDATA[Uav1]]> [16,90] <![CDATA[Uav2]]> [20,90] <![CDATA[Uav3]]> [24,90]
[0088] Set 14 task objectives to be assigned, {T1,T2,…,T…} 14 Its initial position is shown below:
[0089] Target number Target location Target number Target location <![CDATA[T1]]> [16.47,96.10] <![CDATA[T8]]> [17.20,96.29] <![CDATA[T2]]> [16.47,94.44] <![CDATA[T9]]> [16.30,97.38] <![CDATA[T3]]> [20.09,92.54] <![CDATA[T 10 ]]> [14.05,98.12] <![CDATA[T4]]> [22.39,93.37] <![CDATA[T 11 ]]> [15.13,97.38] <![CDATA[T5]]> [25.23,97.24] <![CDATA[T 12 ]]> [21.52,95.59] <![CDATA[T6]]> [22.00,96.05] <![CDATA[T 13 ]]> [19.41,97.13] <![CDATA[T7]]> [20.47,97.02] <![CDATA[T 14 ]]> [20.09,94.55]
[0090] The requirement is that at least one drone passes through each mission objective, and the total flight path of the drones should be minimized. The following method is used to allocate aircraft and targets:
[0091] Step 1: Number the three aircraft capable of performing the mission from 1 to 3, and number the 14 mission targets to be assigned from 1 to 14.
[0092] Step 2: Randomly generate and record a matrix Order(14,500) with 14 rows and 500 columns. Each element in this matrix is the number of the mission target. Preferably, each column of this matrix contains any integer from 1 to 14 without repetition. Each column of this matrix represents the order in which an aircraft arrives at multiple mission targets.
[0093] Step 3: Generate and record a matrix Group(14,500) with 14 rows and 500 columns. Each element in this matrix is the number of the aircraft. Preferably, in each column of this matrix, the first 3 elements are any integers from 1 to 3 without repetition; the 4th to 14th elements are random integers from 1 to 3.
[0094] Step 4: Combining the two matrices from Step 2 and Step 3, we obtain an initial population of 500. We then obtain the cost of each individual in the population and select the individual with the minimum cost.
[0095] Step 5: Control each individual in the initial population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation, thereby obtaining a new population. Further obtain the cost of each individual in the new population and then select the one with the minimum cost.
[0096] Step 6: Control each individual in the new population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation. Then, obtain the new population again, further obtain the cost of each individual in the new population, and select the one with the minimum cost.
[0097] Step 7: Repeat Step 6 until the minimum costs obtained from repeating Step 6 200 times are similar. End the iteration. The final population obtained is the task allocation scheme.
[0098] The value of the random variation inertia w is w = 0.96 - current iteration number / maximum iteration number, where the maximum iteration number is 2000;
[0099] The probability c1 of an individual evolving in the optimal direction is 0.5;
[0100] The probability c2 of evolving in the globally optimal direction is 0.9.
[0101] The final task allocation scheme is as follows: Figure 2 As shown in the diagram, the lines of different colors represent the flight paths of different aircraft; all the circles in the diagram represent the target positions.
[0102] During the execution of the above steps, the curve showing the change in minimum cost obtained by repeating step 6 is as follows: Figure 3 As shown, the execution process took 1.2 seconds.
[0103] Example 2
[0104] Three aircraft {Uav1, Uav2, Uav3} are set up with their initial positions as shown below:
[0105] drones drone location <![CDATA[Uav1]]> [16,90] <![CDATA[Uav2]]> [20,90] <![CDATA[Uav3]]> [24,90]
[0106] Set 12 task objectives to be assigned, {T1,T2,…,T…} 12 Its initial position is shown below:
[0107] Target number Target location Target number Target location <![CDATA[T1]]> [16.47,96.10] <![CDATA[T7]]> [20.47,97.02] <![CDATA[T2]]> [16.47,94.44] <![CDATA[T8]]> [17.20,96.29] <![CDATA[T3]]> [20.09,92.54] <![CDATA[T9]]> [16.30,97.38] <![CDATA[T4]]> [22.39,93.37] <![CDATA[T 10 ]]> [14.05,98.12] <![CDATA[T5]]> [25.23,97.24] <![CDATA[T 11 ]]> [15.13,97.38] <![CDATA[T6]]> [22.00,96.05] <![CDATA[T 12 ]]> [21.52,95.59]
[0108] The requirement is that at least one drone passes through each mission objective, and the total flight path of the drones should be minimized. The following method is used to allocate aircraft and targets:
[0109] Step 1: Number the three aircraft capable of performing the mission from 1 to 3, and number the 12 mission targets to be assigned from 1 to 12.
[0110] Step 2: Randomly generate and record a 12-row, 400-column matrix Order(12,400), where each element in the matrix is the number of the mission target; preferably, each column of the matrix contains any integer from 1 to 12 without repetition, and each column of the matrix represents the order in which an aircraft arrives at multiple mission targets.
[0111] Step 3: Generate and record a 12-row, 400-column matrix Group(12,400), where each element is the aircraft's number; preferably, in each column of the matrix, the first 3 elements are any integers from 1 to 3 without repetition; the 4th to 12th elements are random integers from 1 to 3.
[0112] Step 4: Combining the two matrices from Step 2 and Step 3, we obtain an initial population of 400. We then obtain the cost of each individual in the population and select the individual with the minimum cost.
[0113] Step 5: Control each individual in the initial population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation, thereby obtaining a new population. Further obtain the cost of each individual in the new population and then select the one with the minimum cost.
[0114] Step 6: Control each individual in the new population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation. Then, obtain the new population again, further obtain the cost of each individual in the new population, and select the one with the minimum cost.
[0115] Step 7: Repeat Step 6 until the minimum costs obtained from repeating Step 6 200 times are similar. End the iteration. The final population obtained is the task allocation scheme.
[0116] The value of the random variation inertia w is w = 0.96 - current iteration number / maximum iteration number, where the maximum iteration number is 2000;
[0117] The probability c1 of an individual evolving in the optimal direction is 0.5;
[0118] The probability c2 of evolving in the globally optimal direction is 0.97.
[0119] The final task allocation scheme is as follows: Figure 4 As shown in the diagram, the lines of different colors represent the flight paths of different aircraft; all the circles in the diagram represent the target positions.
[0120] During the execution of the above steps, the curve showing the change in minimum cost obtained by repeating step 6 is as follows: Figure 5 As shown, the execution process took 1.3 seconds.
[0121] Comparative Example 1
[0122] Three aircraft {Uav1, Uav2, Uav3} are set up with their initial positions as shown below:
[0123] drones drone location <![CDATA[Uav1]]> [16,90] <![CDATA[Uav2]]> [20,90] <![CDATA[Uav3]]> [24,90]
[0124] Set 14 task objectives to be assigned, {T1,T2,…,T…} 14 Its initial position is shown below:
[0125]
[0126]
[0127] The requirement is that at least one UAV passes through each mission objective, and the total flight path of the UAV is minimized. On the same transport chip as in Example 1, all possibilities of the aircraft flying through each mission objective are traversed and calculated, and the total flight path corresponding to each possibility is obtained. From this, the shortest flight path is obtained, and the length of the shortest flight path obtained is basically consistent with the result in Example 1, taking 90 seconds.
[0128] Comparative Example 2
[0129] Three aircraft {Uav1, Uav2, Uav3} are set up with their initial positions as shown below:
[0130] drones drone location <![CDATA[Uav1]]> [16,90] <![CDATA[Uav2]]> [20,90] <![CDATA[Uav3]]> [24,90]
[0131] Set 12 task objectives to be assigned, {T1,T2,…,T…} 12 Its initial position is shown below:
[0132] Target number Target location Target number Target location <![CDATA[T1]]> [16.47,96.10] <![CDATA[T7]]> [20.47,97.02] <![CDATA[T2]]> [16.47,94.44] <![CDATA[T8]]> [17.20,96.29] <![CDATA[T3]]> [20.09,92.54] <![CDATA[T9]]> [16.30,97.38] <![CDATA[T4]]> [22.39,93.37] <![CDATA[T 10 ]]> [14.05,98.12] <![CDATA[T5]]> [25.23,97.24] <![CDATA[T 11 ]]> [15.13,97.38] <![CDATA[T6]]> [22.00,96.05] <![CDATA[T 12 ]]> [21.52,95.59]
[0133] The requirement is that at least one drone passes through each mission objective, and the total flight path of the drones should be minimized. On the same transport chip as in Example 2, all possibilities of the aircraft flying through each mission objective are traversed and calculated, and the total flight path corresponding to each possibility is obtained. From this, the shortest flight path is obtained, and the length of the shortest flight path obtained is basically consistent with the result in Example 2, taking 85 seconds.
[0134] As can be seen from Examples 1 and 2, and Comparative Examples 1 and 2, the asymmetric multi-objective task allocation algorithm based on the particle swarm optimization algorithm can obtain the task allocation scheme of the aircraft in a timely and accurate manner.
[0135] The present invention has been described above with reference to preferred embodiments; however, these embodiments are merely exemplary and illustrative. Various substitutions and modifications can be made to the present invention based on these embodiments, all of which fall within the scope of protection of the present invention.
Claims
1. An asymmetric multi-objective task allocation algorithm based on an improved particle swarm optimization algorithm, characterized in that, The method includes the following steps: Step 1: Number the n aircraft capable of performing the mission sequentially from 1 to n, and number the m mission targets to be assigned sequentially from 1 to m; Step 2: Randomly generate and record an m-row, P-column matrix Order(m,P). Each element in this matrix is the number of the mission target. Each column of this matrix contains any integer from 1 to m without repetition. Each column of this matrix represents the order in which a spacecraft arrives at multiple mission targets. Step 3: Generate and record an m-row, P-column matrix Group(m,P), where each element is the aircraft's number; in each column of this matrix, the first n elements are any integers from 1 to n, and they are not repeated. Its (n+1)th to (m)th elements are random integers from 1 to n; Step 4: Combine the two matrices from Step 2 and Step 3 to obtain an initial population of size P. Then, obtain the cost of each individual in the population and select the individual with the minimum cost. Step 5: Control each individual in the initial population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation, thereby obtaining a new population. Further obtain the cost of each individual in the new population and then select the one with the minimum cost. Step 6: Control each individual in the new population and sequentially perform random evolution, evolution towards the individual's optimal direction, and evolution towards the global optimal direction to obtain the task allocation results Group and Order for the next generation. Then, obtain the new population again, further obtain the cost of each individual in the new population, and select the one with the minimum cost. Step 7: Repeat step 6 until the number of iterations reaches the maximum value, or the minimum cost obtained by repeating step 6 for R consecutive times is close to each other. Then end the iteration. The final population obtained is the task allocation scheme.
2. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 1, characterized in that, The number of aircraft capable of performing the mission, n, is less than the number of mission targets that need to be assigned, m.
3. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 1, characterized in that, In step 4, the i-th individual in the initial population contains the i-th column of the matrix Order(m,P) and the i-th column of the matrix Group(m,P), where i is any integer from 1 to P; in the two columns of information contained in the individual, those in the same row are combined to form a combination of the aircraft and the mission target, which means that the mission target is reached by the aircraft.
4. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 3, characterized in that, In step 4, the aircraft in the individual reach the mission objective in the group in sequence, and the total distance traveled by each aircraft in the individual is the cost of that individual.
5. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 1, characterized in that, In step 5, the random evolution includes the following sub-steps: Sub-step 1: Generate an m x 1 matrix as a random target group, which serves as the random evolutionary direction of the population, denoted as Velocity; Sub-step 2: Using random mutation inertia w as the mutation probability, let p individuals in the population evolve in turn.
6. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 1, characterized in that, In step 5, the evolution toward the individual's optimal direction includes the following sub-steps: Sub-step a: retrieve the individual corresponding to the minimum cost, and use it as the individual's optimal direction, IndividualBest; Sub-step b: the probability of evolving in the individual's optimal direction. Let p be the mutation probability, and let p individuals in the population evolve in turn.
7. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 1, characterized in that, In step 5, the evolution towards the global optimum includes the following sub-steps: Sub-step A: Select the individual with the minimum cost as the global optimal direction, GlobalBest; Sub-step B, the probability of evolving in the globally optimal direction Let p be the mutation probability, and let p individuals in the population evolve in turn.
8. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 1, characterized in that, In step 6, the random evolution includes the following sub-steps: Sub-step 1: Generate an m x 1 matrix as a random target group, which serves as the random evolutionary direction of the population, denoted as Velocity; Sub-step 2: Using random mutation inertia w as the mutation probability, let p individuals in the population evolve in turn.
9. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 1, characterized in that, In step 6, the evolution toward the individual's optimal direction includes the following sub-steps: Sub-step a: retrieve the individual corresponding to the minimum cost obtained most recently, and use it as the individual's optimal direction IndividualBest; Sub-step b: the probability of evolving in the individual's optimal direction. Let p be the mutation probability, and let p individuals in the population evolve in turn.
10. The asymmetric multi-objective task allocation algorithm based on particle swarm optimization as described in claim 1, characterized in that, In step 6, the evolution toward the global optimum includes the following sub-steps: Sub-step a: retrieve the individual corresponding to the historical minimum cost obtained from all executed operations, and use it as the individual's optimal direction, GlobalBest; Sub-step b: the probability of evolving in the individual's optimal direction. Let p be the mutation probability, and let p individuals in the population evolve in turn.