Dynamic multi-weapon target distribution method based on discrete particle swarm
By introducing a discrete particle swarm method in which adaptive targets can be constrained by the number of weapons allocated in weapon target allocation, the problems of excessive damage and resource waste in traditional methods are solved, and the battlefield benefits are maximized under different combat situations are achieved.
Patent Information
- Application Number
- CN202510184376.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-19
- Publication Date
- 2025-05-30
AI Technical Summary
Traditional weapon target allocation models are prone to excessive damage and resource waste. At the same time, traditional particle swarm algorithms fail to fully consider the discrete characteristics of weapon target allocation, making it difficult to achieve the best balance between damage effect and cost.
A discrete particle swarm method based on adaptive targets that can be constrained by the number of weapons allocated at most. By dynamically adjusting the weapon allocation scheme, combining the situation evaluation model and particle swarm algorithm, we can achieve optimization of weapon target allocation.
By dynamically adjusting the weapon allocation plan, excessive damage and resource waste are avoided, battlefield benefits are maximized under different combat situations, and the efficiency and effectiveness of weapon target allocation are significantly improved.
Smart Images

Figure CN120068638A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of weapon target allocation, and particularly to a dynamic multi - weapon target allocation method based on discrete particle swarm optimization. Background Art
[0002] In terms of models, traditional Weapon - Target Allocation (WTA) models usually aim to maximize the damage probability or minimize the cost. However, the enemy's counter - measures and the finiteness of resources require us to find the best balance between the damage effect and the cost. Considering only one factor cannot balance the comprehensive combat effectiveness. The former may result in excessive damage and waste of resources, while the latter may weaken the combat effect. How to achieve a balance between these two opposing goals to maximize the battlefield benefit is a key problem that we must overcome.
[0003] In terms of algorithms, the weapon - target allocation problem is a discrete combinatorial optimization problem, and its solution space grows exponentially with the increase in the number and types of weapons and targets, which is a typical NP - complete problem. As the problem scale expands, traditional exact algorithms will cause huge time and space consumption. The particle swarm algorithm has good robustness and strong adaptability to the uncertainty of data in calculations, and shows good performance in solving the WTA problem. However, the traditional particle swarm algorithm performs optimization based on a continuous space. For solving problems such as weapon - target allocation based on a discrete solution space, we need to make adaptive improvements to the algorithm according to the discrete characteristics of the problem.
[0004] In terms of combat scenarios, the modern battlefield environment changes rapidly. The real - time change of the battlefield situation makes the allocation decision between weapons and targets more complex and challenging, and the research on the dynamic weapon - target allocation (DWTA) problem becomes more important. Existing research mostly focuses on static combat scenarios, only considering the optimal effect of a single strike. Starting from the entire combat process and considering the weapon resource constraints of the targets in a single strike to achieve the highest overall combat effectiveness throughout the process is a problem that we urgently need to solve. Summary of the Invention
[0005] Aiming at the problems that the maximum damage model is prone to excessive damage and the traditional particle swarm algorithm does not fully consider its discrete characteristics when solving the weapon - target allocation scheme, the present invention proposes a discrete particle swarm method based on the constraint of the maximum number of weapons that a target can be allocated adaptively to solve the weapon - target allocation problem.
[0006] The present invention discloses a dynamic multi - weapon target allocation method based on discrete particle swarm optimization. The dynamic multi - weapon target allocation method based on discrete particle swarm optimization includes the following steps:
[0007] Step S1, determine the initial number of UAVs on both sides, and randomly initialize the positions of UAVs on both sides in the combat areas of both sides of the battle.
[0008] The initial position coordinates of our UAVs are represented by the set {(x 1 , y 1 , z 1 ) | x 1 ∈ [0, 10]; y 1 ∈ [0, 50]; z 1 ∈ [0, 70]}, and the initial position coordinates of the enemy UAVs are represented by the set {(x 2 , y 2 , z 2 ) | x 2 ∈ [40, 50]; y 2 ∈ [0, 50]; z 2 ∈ [0, 70]};
[0009] Step S2, determine the battlefield situation in the current allocation stage k, and conduct the k-th weapon target allocation;
[0010] The battlefield situation information includes the positions of our UAVs, the total number of available missiles Z of our UAVs, and the positions of the remaining incoming targets; where the initial value of k is 1, and k = 1 indicates the first weapon target allocation;
[0011] Step S3, determine the threat matrix of the incoming targets in the current stage k and the advantage matrix of our strike targets
[0012] Step S4, determine the maximum number of weapons that can be allocated to each target according to the threat value of each target
[0013] Step S5, establish an objective function with the maximum damage as the goal;
[0014] Step S6, use the discrete particle swarm optimization algorithm based on adaptive constraints to optimize and solve the objective function, and obtain the optimal allocation plan for the current stage;
[0015] Step S7, execute the optimal allocation plan for the current allocation stage k;
[0016] Step S8: Judge whether all the targets have been destroyed or whether our weapons have been exhausted.
[0017] Furthermore, in step S3, the following steps are also included:
[0018] Use the angle threat factor, speed threat factor, height threat factor, and Threat matrix for the threat factor evaluation target and the advantage matrix for our strike target;
[0019] Angle threat factor is:
[0020]
[0021] where q ji represents the angle between the line connecting the two UAVs and the velocity direction of our UAV, and θ represents half of the detection range of the enemy's airborne radar;
[0022] Velocity threat factor is:
[0023]
[0024] v i represents the velocity of our UAV i, and v j represents the velocity of the enemy UAV j;
[0025] Altitude threat factor is:
[0026]
[0027] where h jo represents the flight altitude of our UAV i minus the flight altitude of the enemy UAV j;
[0028] Distance threat factor is:
[0029]
[0030] where d ji represents the distance between the two UAVs; [0, d Bm and [0, d Rm represent the attack ranges of our UAV and the enemy UAV respectively, and [0, d Br and [0, d Rr represent the radar detection ranges of our UAV and the enemy UAV respectively;
[0031] Finally, the threat index of target j to weapon i at stage k is:
[0032]
[0033] w 1 、w 2 、w 3 and w 4 are the corresponding coefficients of the angle threat factor, velocity threat factor, altitude threat factor, and distance threat factor respectively;
[0034] Similarly, according to the threat index evaluation function, the threat index of our UAV to the enemy UAV is used as the weapon strike target advantage index, and represents the threat index of weapon i to target j, represents the strike advantage index of weapon i to target j, to obtain the advantage matrix S of our strike targets k .
[0035] Furthermore, in step S4, the following steps are also included:
[0036] Step S41: Calculate the sum of the threat values of all incoming targets to our UAV i when the initial k = 1 to obtain the threat vector where I 1 and J 1 respectively represent the number of our UAVs and the number of enemy UAVs at the initial time;
[0037] Step S42: Sort in ascending order according to the threat value to obtain the ascending threat vector T';
[0038] Step S43: For the sorted threat vector T', calculate the difference between the threat values of two adjacent targets in T' to obtain the threat difference vector sub_T;
[0039] Step S44: Select the three nodes with the largest values in sub_T, and use the position of the minuend in T' as the jump node;
[0040] Step S45: Set T' 1 The maximum number of weapons that can be allocated is 1. Determine the maximum number of weapons that can be allocated to each target in turn according to the order of T'. At the jump node, the maximum number of weapons that can be allocated is increased by 1, otherwise the maximum number of weapons that can be allocated is the same as the previous node;
[0041] Step S46: Obtain the maximum number of weapons that can be allocated to each target in the initial allocation stage through sorting inverse mapping, and use the vector max_num 1 to represent;
[0042] Use max_num k to represent the maximum number of weapons that can be allocated to each target at stage k, and use to represent the total number of weapons allocated to each target at stage k. Prenum k can be obtained by counting the weapon target allocation situation at stage k; According to the allocation result at stage k, the maximum number of weapons that can be allocated to the targets at stage k + 1, maxnum k+1 = maxnum k - pre_numk 。
[0043] Furthermore, in step S6, the following steps are further included:
[0044] Step S61: Determine the population size popsize, the particle dimension n, randomly generate popsize feasible solutions, and set the current particle to be represented by X i (t), where the initial value i = 1 represents the i-th particle in the population, t represents the current iteration number, and maxiter represents the maximum iteration number;
[0045] Step S62: Judge whether t ≤ maxiter. If so, proceed downward, set i = 1, and perform the next iteration. Otherwise, end the optimization, output the optimal allocation plan, and go to step S7;
[0046] Step S63: If i ≤ popsize, determine the positions pos1 and pos2 of the particle X i partition segments such that pos1, pos2 ∈ [0, n] and pos1 < pos2, and thus obtain the lengths l = [l 1 , l 2 , l 3 = [pos1, pos2 - pos1, n - pos2]; otherwise, all particle updates are completed, and go to step S62;
[0047] Step S64: According to the lengths of the partitioned segments, select a segment using the roulette wheel method. The probability of a segment being selected is related to the segment length, and the longer the segment, the greater the probability of being selected; denote L = l 1 + l 2 + l 3 , and set the probabilities of each segment being selected as
[0048] Step S65: Perform a social learning operation on the selected segment, that is, replace the current segment with the segment at the corresponding position of the global optimal solution, and delete the current segment from the selectable segments;
[0049] Step S66: Continue to use the roulette wheel method for the remaining two segments to select a segment;
[0050] Step S67: Perform an individual learning operation on the selected segment, that is, replace the current segment with the segment at the corresponding position of the individual optimal solution, and delete the current segment from the selectable segments;
[0051] Step S68: Perform a self-inertia operation on the last segment, that is, randomly select a target within the attack range of the weapon;
[0052] Step S69: Perform constraint processing on the obtained particles, that is, adjust the particles to satisfy various constraints in the model; if there is a target j for which the number of assigned weapons is greater than its limit value then retain the top weapons with the highest damage probability, and reassign the other weapons, that is, randomly select from the targets that it can attack and satisfy the constraint of the maximum number of assignable weapons; thus obtain a new particle X i (t + 1), and update the global optimal and individual optimal solutions;
[0053] Step S610: i = i + 1, go to step S63, and continue to update the next particle.
[0054] Furthermore, in step S65, the social learning operation is as follows:
[0055]
[0056] X i (t + 1) = X(t) + X g (t + 1)
[0057] where X gbest represents the global optimal solution, rand represents a random number in the range [0, 1], c 2 is the global acceleration constant, X(t) represents the current solution after t iterations, X g (t + 1) represents the step size for the current solution to move towards the global optimal solution, X i (t + 1) represents the newly generated solution after one social learning.
[0058] Furthermore, in step S67, the individual learning operation is as follows:
[0059]
[0060] X i (t + 1) = X(t) + X p (t + 1)
[0061] where X pbest represents the individual optimal solution, rand represents a random number in the range [0, 1], c 1 is the individual acceleration constant, X(t) represents the current solution after t iterations, X p (t + 1) represents the step size for the current solution to move towards the individual optimal solution, X i (t + 1) represents the newly generated solution after one individual learning.
[0062] Furthermore, in step S68, the self-inertia operation is as follows:
[0063] Xi (t + 1)= randi(J k , 1, I k )
[0064] randi means to generate I k integers within the range of [0, J k , where I k represents the number of remaining weapons of our side at stage k, and J k represents the number of remaining enemy forces at stage k.
[0065] Furthermore, in step S5, the objective function is as follows:
[0066]
[0067] Find the optimal allocation plan under the ammunition resource constraint, and the mathematical representation of the constraint is as follows:
[0068]
[0069] represents the threat value of target j to weapon i at stage k, represents the strike advantage value of weapon i to target j at stage k, is 0 or 1. When the value is 1, it means weapon i strikes target j, and when the value is 0, it's the opposite.
[0070] The beneficial effects achieved by the present invention include:
[0071] According to the dynamically changing battlefield situation, establish a target threat matrix and a matrix of the advantages of weapons in striking targets; to avoid waste of weapon resources in multi-aircraft cooperative air combat, set the maximum number of weapons that can be allocated to each target according to the urgency of the target to ensure the maximization of resource utilization; based on the battlefield situation information and the constraint of the maximum number of weapons that can be allocated to the target, starting from the discretization characteristics of the weapon-target allocation problem, the algorithm uses the method of replicating the optimal allocation segment to find the optimal solution and obtain the optimal allocation plan. Through the technical solution of the present invention, in the three situations of our side's advantage, parity between the two sides, and our side's disadvantage, the Adaptive Maximum Assignable Weapons Count DPSO (AMAWC-DPSO) algorithm based on adaptive constraints shows obvious advantages in terms of target damage degree, allocation times, and ammunition consumption. Brief Description of the Drawings
[0072] Figure 1 is a schematic diagram of dynamic weapon-target allocation;
[0073] Figure 2 is a schematic diagram of three-dimensional air combat of unmanned aerial vehicles;
[0074] Figure 3 It is a schematic diagram of the three-dimensional air combat situation;
[0075] Figure 4 It is an example of the maximum number of weapons that can be allocated to a target;
[0076] Figure 5 It is a flowchart of the adaptive maximum number of weapons that can be allocated;
[0077] Figure 6 It is a schematic diagram of particle coding;
[0078] Figure 7 It is a schematic diagram of particle update;
[0079] Figure 8 It is a flowchart of the particle swarm update;
[0080] Figure 9 It is a flowchart of the entire allocation process;
[0081] Figure 10 It is the experimental result of a fixed number of iterations under our advantage;
[0082] Figure 11 It is the experimental result of a fixed number of iterations under the balance of both sides;
[0083] Figure 12 It is the experimental result of a fixed number of iterations under our disadvantage. Specific implementation manner
[0084] The present invention will be further described below in conjunction with specific embodiments, and the advantages and features of the present invention will become clearer as the description progresses. However, these embodiments are exemplary only and do not constitute any limitation to the scope of the present invention. Those skilled in the art should understand that modifications or substitutions can be made to the details and forms of the technical solutions of the present invention without departing from the spirit and scope of the present invention, but these modifications and substitutions all fall within the protection scope of the present invention.
[0085] The present invention describes the dynamics of weapon-target allocation by dividing the entire combat process into several stages. The weapon-target allocation in the current stage will be affected by the strike results of the previous stage. Before target allocation in each stage, the battlefield situation is re-evaluated according to the strike results of the previous stage, and then weapon-target allocation is re-performed according to the situation assessment results. The allocation in each stage is regarded as static weapon-target allocation. This cycle continues until all targets are destroyed or the weapons are used up, and then the allocation ends. Let i represent the number of weapon i, j represent the number of target j, and k represent the allocation stage k. The staged dynamic allocation model is as Figure 1 shown.
[0086] Based on the staged dynamic allocation model, the weapon-target allocation steps in the entire combat process are as follows:
[0087] Step S1: Determine the initial number of UAVs on both sides, and randomly initialize the positions of UAVs on both sides in their respective combat areas. Set up a three-dimensional combat scenario as follows Figure 2 As shown in the figure, the red area is our combat area, and the blue area is the enemy's combat area.
[0088] The initial position coordinates of our UAVs are represented by the set {(x 1 , y 1 , z 1 ) | x 1 ∈ [0, 10]; y 1 ∈ [0, 50]; z 1 ∈ [0, 70]}, and the initial position coordinates of the enemy's UAVs are represented by the set {(x 2 , y 2 , z 2 ) | x 2 ∈ [40, 50]; y 2 ∈ [0, 50]; z 2 ∈ [0, 70]}.
[0089] Step S2: Determine the battlefield situation in the current allocation stage k, and conduct the k-th weapon target allocation. The battlefield situation information to be determined includes the positions of our UAVs, the total number Z of available missiles of our UAVs, and the positions of the remaining incoming targets. The initial value of k is 1, and k = 1 means conducting the first weapon target allocation.
[0090] Step S3: Determine the threat matrix of the incoming targets in the current stage k according to the situation assessment model and the advantage matrix of our strike targets The advantage value of the strike target of our UAVs in the advantage matrix S k represents the damage probability of our UAVs to the target.
[0091] Step S4: Determine the maximum number of weapons that can be allocated to each target according to the threat value of each target
[0092] Step S5: Establish the objective function with the maximum damage as the goal as follows:
[0093]
[0094] Find the optimal allocation plan under the ammunition resource constraint, and the mathematical representation of the constraint is as follows:
[0095]
[0096] Step S6: Use the Adaptive Maximum Assignable Weapons Count DPSO (AMAWC-DPSO) algorithm to optimize and solve the above model to obtain the optimal allocation plan for the current stage.
[0097] Step S7: Execute the optimal allocation plan for the current allocation stage k, where represents the cumulative survival probability of enemy UAV j, and a represents the survival probability threshold of the enemy UAV. When it is determined that the UAV has been destroyed by our side. Among them, among them, The initial value of is The calculation formula of is
[0098] Step S8: Determine whether all the targets have been destroyed or whether our weapons have been exhausted. If so, the allocation ends; otherwise, update the positions of the UAVs on both sides, k = k + 1, continue the allocation for the next stage, and go to Step 2.
[0099] Regarding the position update of the UAVs on both sides, our UAVs translate in the positive x-axis direction, and the enemy UAVs translate in the negative x-axis direction. Let t represent the time required for the weapon to switch fire, v i represent the speed of our UAV i, and v j represent the speed of enemy UAV j. The distances they move are v i t and v j t.
[0100] Among them, Step S3 specifically includes:
[0101] Figure 3 is the three-dimensional situation schematic diagram of enemy UAV j and our UAV i.
[0102] Use respectively to represent the angle threat factor, speed threat factor, altitude threat factor, and distance threat factor of target j to our UAV i; only the calculation of the threat factor is given here, and the superiority matrix of our weapons can also be calculated corresponding to the following mathematical model, that is, taking the threat value of our weapons to the incoming target as the superiority value of our weapons to strike the incoming target.
[0103] The mathematical formula for the calculation is as follows.
[0104] (1) Angle threat factor:
[0105]
[0106] Among them, q jirepresents the angle between the connection line of the two UAVs and the velocity direction of our UAV, and θ represents half of the detection range of the enemy airborne radar.
[0107] (2) Velocity threat factor:
[0108]
[0109] (3) Altitude threat factor:
[0110]
[0111] Among them, h i and h j respectively represent the flight altitude of our UAV i and the flight altitude of the enemy UAV j.
[0112] (4) Distance threat factor:
[0113]
[0114] Among them, d ji represents the distance between the two UAVs. [0, d Bm and [0, d Rm respectively represent the attack ranges of our UAV and the enemy UAV, [0, d Br and [0, d Rr respectively represent the radar detection ranges of our UAV and the enemy UAV.
[0115] The roles of each threat factor in the comprehensive threat assessment and decision-making of air combat are not the same. Below, by collecting expert opinions, analyzing the importance of each threat index, constructing a judgment matrix for the threat assessment index of the air cluster target against the air, and using the analytic hierarchy process to calculate the weights corresponding to each threat index. The threat index of target j of stage k against weapon i finally obtained is:
[0116]
[0117] w 1 、w 2 、w 3 and w 4 are the corresponding coefficients of the angle threat factor, velocity threat factor, altitude threat factor, and distance threat factor respectively.
[0118] Similarly, according to the above threat assessment function, taking the threat index of our UAV against the enemy UAV as the weapon strike target advantage index, using to represent the threat index of weapon i against target j, to represent the strike advantage index of weapon i against target j, Thus, the advantage matrix S of our strike target can be obtainedk 。
[0119] Among them, step S4 specifically includes:
[0120] Step S41: Calculate the sum of the threat values of all incoming targets to our UAV i when the initial k = 1 Obtain the threat vector where I 1 and J 1 respectively represent the number of our UAVs and the number of enemy UAVs at the initial time.
[0121] Step S42: Sort in ascending order according to the threat value to obtain the ascending threat vector T′;
[0122] Step S43: For the sorted threat vector T′, calculate the difference between the threat values of two adjacent targets in T′ to obtain the threat difference vector sub_T;
[0123] Step S44: Select the three nodes with the largest values in sub_T, and use the positions of their minuends in T′ as the jump nodes;
[0124] Step S45: Set T′ 1 The maximum number of weapons that can be allocated is 1. Determine the maximum number of weapons that can be allocated to each target in turn according to the order of T′. At the jump nodes, the maximum number of weapons that can be allocated is increased by 1, otherwise the maximum number of weapons that can be allocated is the same as the previous node;
[0125] Step S46: The targets corresponding to the vector of the maximum number of weapons that can be allocated to each target obtained in the previous step are arranged in ascending order of threat value, while what we need is the unsorted target sequence. Obtain the maximum number of weapons that can be allocated to each target in the initial allocation stage through the sorting inverse mapping, and use the vector max num 1 to represent.
[0126] Use max num k to represent the maximum number of weapons that can be allocated to each target at stage k, and use to represent the total number of weapons allocated to each target at stage k. pre num k can be obtained by counting the weapon target allocation situation at stage k. According to the allocation result at stage k, the maximum number of weapons that can be allocated to the targets at stage k + 1, max num k+1 = max num k - pre num k 。
[0127] Figure 4 It is an example for determining the maximum number of weapons that can be allocated to each target.
[0128] Figure 5Flow chart for adjusting the allocation plan according to the maximum number of weapons that can be allocated to a target.
[0129] In the figure, pre_num j represents the number of weapons currently allocated to target j. As Figure 5 shown, when the number of allocated weapons exceeds the maximum number of weapons that can be allocated to target j, the weapons attacking j are sorted in ascending order according to their attack advantages, and the first sub_num j weapons cease fire, that is, no target is allocated. Ensure that the number of weapons allocated to all targets is within the limit range, and reallocate the weapons that have not been allocated to a target. Randomly allocate a target within the attack range of the weapon and that can still be allocated a weapon.
[0130] Among them, step S6 specifically includes:
[0131] (1) Particle coding method
[0132] Considering I k weapons and J k targets, the vector coding method X = [x 1 , x 2 ,...., x I^k can be adopted, where X i ∈ {0, 1,..., J k}, and X 1,I^k in the vector X i = j means that weapon i attacks target j. Figure 6 It is a schematic diagram of particle coding. The represented particle is X i = (1, 3, 5, 4, 2, 1, 3, 5). The subscript of the particle represents the weapon number, and the value of the particle represents the target number.
[0133] (2) Discrete optimization method
[0134] The update formula of the traditional particle swarm algorithm is as follows:
[0135] V ij (k + 1) = w·V ij (k) + c 1 r 1 [p ij (k) - x ij (k)]
[0136] + c 2 r 2 [p gj (k) - x ij (k)]
[0137] X uj (k + 1) = X ij (k) + V ij(k)
[0138] The speed update formula consists of three parts: self-inertia learning, individual learning, and social learning. Among them, ω is the self-inertia weight, and are the acceleration constants respectively, and c 1 and c 2 are used to control the maximum step sizes of individual learning and social learning respectively. It can be seen that the search space of the traditional PSO algorithm is continuous and more suitable for solving continuous optimization problems, while the DWTA problem is a typical discrete combinatorial optimization problem. In view of the excellent optimization search performance of the PSO algorithm, the present invention discretizes the PSO algorithm according to the characteristics of the DWTA problem. Drawing on the idea of gene fragment replication in the GA algorithm, the particles are randomly divided into three segments for processing. According to the roulette method for segment selection, self-inertia learning, individual learning, and social learning operations are performed respectively. The mathematical expression of the method of the present invention is as follows, where t represents the number of algorithm iterations:
[0139] Social learning operation:
[0140]
[0141] X i (t + 1) = X(t) + X g (t + 1)
[0142] where, X gbest represents the global optimal solution, rand represents a random number within the range of [0, 1], and c 2 is the global acceleration constant.
[0143] Individual learning operation:
[0144]
[0145] X i (t + 1) = X(t) + X p (t + 1)
[0146] where X pbest represents the individual optimal solution, rand represents a random number within the range of [0, 1], and c 1 is the individual acceleration constant.
[0147] Self-inertia operation:
[0148] X i (t + 1) = randi(J k , 1, I k )
[0149] randi represents generating I k integers within the range of [0, J k .
[0150] Assume the current particle is X i =(1, 3, 5, 4, 2, 1, 3, 5), and the individual optimal particle is X pbest =(3, 1, 4, 5, 2, 3, 1, 5), and the global optimal particle is X gbest =(5, 1, 2, 5, 4, 3, 1, 3). The update of the particle can be shown by Figure 7 as follows
[0151] Compared with the traditional numerical calculation method, the method of the present invention performs optimization by retaining part of the structure of the global optimal solution and the individual optimal solution, effectively improving the rationality and scientificity of the optimization search. In addition, the roulette wheel method is also used to select fragments, and the longest fragment is preferentially selected with the highest probability for social learning operations. This method can quickly approach the global optimal solution and accelerate the convergence process of the algorithm. At the same time, a certain probability is retained to enable the longest fragment to participate in the individual learning operation, and it still has the ability to jump out of the local optimal solution in the later stage of the algorithm iteration, improving the global search performance of the algorithm
[0152] Figure 8 is the flowchart of particle update. Denote the lengths of the three randomly generated fragments as l = [l 1 , l 2 , l 3 . The calculation method of prob in the figure is as follows
[0153]
[0154] The optimization steps of the Adaptive Constraint-based Discrete Particle Swarm Optimization Algorithm (AMAWC-DPSO algorithm) are as follows
[0155] Step S61: Determine the population size popsize, the particle dimension n, randomly generate popsize feasible solutions, and set the current particle to be represented by X i (t), the initial value i = 1 represents the i-th particle in the population, t represents the current iteration number, and maxiter represents the maximum iteration number
[0156] Step S62: Judge whether t ≤ maxiter. If so, execute downward. Let i = 1 and perform the next iteration. Otherwise, end the optimization, output the optimal allocation plan, and go to step S7
[0157] Step S63: If i ≤ popsize, perform the following operations: Determine the particle X i Divide the fragment positions pos1, pos2 ∈ [0, n] and pos1 < pos2, and thus obtain the lengths of the three fragments l = [l 1 , l 2 , l 3= [pos1, pos2 - pos1, n - pos2]. Otherwise, when all particle updates are completed, go to step S62;
[0158] Step S64: According to the divided segment lengths, select a segment using the roulette wheel method. The probability of a segment being selected is related to its length, and the longer the segment, the greater the probability of being selected. Let L = l 1 + l 2 + l 3 , and set the probabilities of each segment being selected as
[0159] Step S65: Perform a social learning operation on the selected segment, that is, replace the current segment with the segment at the corresponding position of the global optimal solution, and delete the current segment from the selectable segments;
[0160] Step S66: Continue to use the roulette wheel method for the remaining two segments to select a segment;
[0161] Step S67: Perform an individual learning operation on the selected segment, that is, replace the current segment with the segment at the corresponding position of the individual optimal solution, and delete the current segment from the selectable segments;
[0162] Step S68: Perform a self-inertia operation on the last segment, that is, randomly select a target within the weapon's attack range;
[0163] Step S69: Perform constraint processing on the obtained particles, that is, adjust the particles to satisfy the various constraints in the model. If there is a target j for which the number of allocated weapons is greater than its limit then retain the top weapons with the highest damage probability, and reallocate the other weapons, that is, randomly select from the targets that it can attack and satisfy the constraint of the maximum number of allocable weapons. Thus, a new particle X i (t + 1) is obtained, and the global optimal and individual optimal solutions are updated;
[0164] Step S610: i = i + 1, go to step S63, and continue to update the next particle.
[0165] In summary, based on the phased dynamic allocation model, the flowchart of weapon-target allocation for the entire combat process is as Figure 9 shown.
[0166] To facilitate understanding of the above technical solution of the present invention, the above technical solution of the present invention will be described in detail below through specific embodiments.
[0167] According to different battlefield situations, three combat scenarios are set: our side has an advantage, both sides are evenly matched, and our side is at a disadvantage. It is assumed that both sides use the same type of fighter jets, and the performance parameters of the fighter jets and missiles of both sides are shown in Table 1 below. Table 2 shows the number of fighter jets of both sides and the number of missiles carried by the defending side in these three situations.
[0168] Table 1 Performance parameters of fighter jets and missiles
[0169]
[0170] Table 2 Performance parameters of fighter jets and missiles
[0171]
[0172] To verify the superiority of the present invention, the allocation performance of the traditional GA, traditional PSO, and AMAWC-DPSO algorithms under different battlefield situations was compared. The performance of the algorithms was systematically analyzed through 50 independent repeated simulation experiments, and the performance of the algorithms was compared from three aspects: algorithm fitness value, allocation quantity, and number of missiles used.
[0173] Example 1
[0174] In the case where our side has an advantage, Figure 10 Figure 5 is the optimal fitness graph of each algorithm for 50 repeated independent trials, and Table 3 is the statistical result of the simulation. According to the simulation results in Table 3, under the condition that our side has an advantage, all three algorithms can achieve the result of destroying all enemy targets. The following is a comparative analysis of the three algorithms.
[0175] In terms of the number of allocations, in the case of an 86% probability, the AMAWC-DPSO algorithm only needs one allocation to destroy all enemy weapons, while the PSO algorithm has only a 56% probability of achieving the combat goal with one allocation, and the GA algorithm must definitely perform two allocations to achieve the combat goal. In terms of ammunition consumption, the AMAWC-DPSO algorithm reduces the number of missile consumptions by at least 28%. In terms of algorithm fitness, the fitness value of the AMAWC-DPSO algorithm is reduced by at least 11%.
[0176] From the above analysis, the proposed AMAWC-DPSO algorithm has a smaller allocation quantity in most cases, can achieve better combat effects in a shorter time, and uses fewer missiles. It is more inclined to reserve a certain number of missiles for backup or to deal with unknown situations, thus ensuring the reliability and stability of combat and better meeting the needs of the dynamic weapon target allocation problem.
[0177] Table 3 Details of weapon target allocation results when our side has an advantage
[0178]
[0179] Example 2
[0180] In the case of a balance of power between the two sides, Figure 11 Fig. 5 is the optimal fitness graph of each algorithm for 50 repeated independent trials, and Table 4 is the statistical result of the simulation. According to the simulation results in Table 4, in our advantage situation, all three algorithms can achieve the result of destroying all enemy targets. The following is a comparative analysis of the three algorithms.
[0181] In terms of the number of allocations, when using the AMAWC-DPSO algorithm, there is a 72% probability that all enemy weapons can be destroyed with only 2 allocations, while using the PSO algorithm and the GA algorithm both require 3 allocations to achieve the combat goal. In terms of ammunition consumption, the average remaining ammunition number of the AMAWC-DPSO algorithm is 6, while there are no remaining missiles for the other two algorithms, and the AMAWC-DPSO algorithm reduces the ammunition consumption by 14%. In terms of the fitness of the algorithm, the fitness value of the AMAWC-DPSO algorithm is reduced by at least 10%.
[0182] From the above analysis, it can be seen that the proposed AMAWC-DPSO algorithm in this paper also shows obvious advantages in the case of a balance of power between the two sides, and it is more in line with the needs of the dynamic weapon target assignment problem.
[0183] Table 4 Details of weapon target assignment results in the case of a balance of power between the two sides
[0184]
[0185]
[0186] Example 3
[0187] In the case of our disadvantage, Figure 12 Fig. 6 is the optimal fitness graph of each algorithm for 50 repeated independent trials, and Table 5 is the statistical result of the simulation. According to the simulation results in Table 4, in our advantage situation, all three algorithms cannot achieve the result of destroying all enemy targets. The following is a comparative analysis of the three algorithms.
[0188] All three algorithms need to make four allocations and the remaining missile numbers are all zero. However, it can be seen that after four strikes using the AMAWC-DPSO algorithm, the fitness value is 0.3826, while the fitness values of the PSO algorithm and the GA algorithm are 0.3828 and 0.3968 respectively. At the end of the allocation, the number of remaining undestroyed targets obtained using the AMAWC-DPSO algorithm is less than that of the PSO algorithm in 64% of the cases. This shows that in our disadvantage situation, although all targets cannot be destroyed, the allocation scheme of the DWTA problem obtained using the AMAWC-DPSO algorithm can destroy more targets. Therefore, the proposed algorithm also better meets the needs of the DWTA problem in our disadvantage situation.
[0189] Details of Weapon Target Allocation Results When We Are at a Disadvantage in Table 5
[0190]
[0191] The above are only the specific steps of the present invention and do not constitute any limitation to the protection scope of the present invention; all technical solutions formed by equivalent transformation or equivalent substitution fall within the scope of the rights protection of the present invention; the parts not elaborated in detail in the present invention belong to the well-known technologies of those skilled in the art.
Claims
1. A dynamic multi-weapon target allocation method based on discrete particle swarm, characterized in that: The dynamic multi-weapon target allocation method based on discrete particle swarm comprises the following steps: Step S1, determining the initial number of drones of both sides, and randomly initializing the positions of the drones of both sides in the combat areas of the combating sides; The initial position coordinates of our drone are represented by the set {(x1, y1, z1)|x1∈[0,10]; y1∈[0,50]; z1∈[0,70]}, and the initial position coordinates of the enemy drone are represented by the set {(x2, y2, z2)|x2∈[40,50]; y2∈[0,50]; z2∈[0,70]}; Step S2, determining the battlefield situation at the current allocation stage k, and performing the kth weapon target allocation; The battlefield situation information includes the position of our drone, the total number of missiles available to our drone Z, and the position of the remaining incoming targets; the initial value of k is 1, and k = 1 indicates the first weapon target allocation; Step S3: Determine the threat matrix of the incoming target k at the current stage according to the situation assessment model And our advantage matrix for attacking targets Step S4: Determine the maximum number of weapons that can be allocated to each target based on its threat value. Step S5, establishing an objective function with maximum damage as the goal; Step S6, using a discrete particle swarm algorithm based on adaptive constraints to optimize and solve the objective function to obtain the optimal allocation plan for the current stage; Step S7, executing the optimal allocation plan for the current allocation stage k; Step S8: Determine whether the target has been completely destroyed or whether our weapons have been exhausted.
2. The dynamic multi-weapon target allocation method based on discrete particle swarm according to claim 1 is characterized in that: In step S3, the following steps are also included: Use target j to attack our drone i Angle threat factor, Speed Threat Factors, High threat factors and The distance threat factor evaluates the target's threat matrix and our advantage matrix in attacking the target; Angle Threat Factor for: Among them, q ji represents the angle between the UAV line of both parties and the speed direction of our UAV, and θ represents half of the enemy’s airborne radar detection range; Speed Threat Factor for: v i represents the speed of our drone i, v j represents the speed of the enemy drone j; High threat factor for: Among them, h ji It represents the flight altitude of our drone i minus the flight altitude of the enemy drone j; Distance Threat Factor for: Among them, d ji represents the distance between two drones; [0,d Bm ] and [0,d Rm ] represent the attack range of our drone and enemy drone respectively, [0,d Br ] and [0,d Rr ] represent the radar detection ranges of our UAV and enemy UAV respectively; Finally, we get the threat index of target j to weapon i in stage k: for: w1, w2, w3 and w4 are the corresponding coefficients of angle threat factor, speed threat factor, height threat factor and distance threat factor respectively; Similarly, according to the threat index The evaluation function uses the threat index of our UAV to the enemy UAV as the weapon attack target advantage index, and uses represents the threat index of weapon i to target j, represents the strike advantage index of weapon i against target j, Get our advantage matrix S for attacking the target k .
3. The dynamic multi-weapon target allocation method based on discrete particle swarm according to claim 1 is characterized in that: In step S4, the following steps are also included: Step S41: Calculate the sum of the threat values of all incoming targets to our drone i when the initial k=1 Get the threat vector Among them I 1 and J 1 Respectively represent the number of our drones and the number of enemy drones at the initial time; Step S42: Sort threat vectors T′ in ascending order according to threat value; Step S43: for the sorted threat vectors T′, calculate the difference between the threat values of two adjacent targets in T′ to obtain a threat difference vector sub_T; Step S44: select the three nodes with the largest values in sub_T and use the positions of their minuends in T′ as the jumping nodes; Step S45: Set the maximum number of weapons that can be allocated in T′1 to 1, determine the maximum number of weapons that can be allocated to each target in the order of T′, and add 1 to the maximum number of weapons that can be allocated at the jump node, otherwise the maximum number of weapons that can be allocated is the same as the previous node; Step S46: Obtain the maximum number of weapons that can be allocated to each target in the initial allocation phase by sorting inverse mapping, using vector maxnum 1 express; Use max num k Indicates the maximum number of weapons that can be assigned to each target at stage k, using represents the total number of weapons assigned to each target at stage k, pre num k It can be obtained by counting the weapon target allocation in stage k; according to the allocation result of stage k, the maximum number of weapons that can be allocated to the target in stage k+1 can be obtained. k+1 =max num k -pre num k .
4. The dynamic multi-weapon target allocation method based on discrete particle swarm according to claim 1 is characterized in that: In step S6, the following steps are also included: Step S61: Determine the population size popsize, particle dimension n, randomly generate popsize feasible solutions, set the current particle to use X i (t) indicates that the initial value i=1 indicates the i-th particle in the population, t indicates the current iteration number, and maxiter indicates the maximum iteration number; Step S62: Determine whether t≤maxiter. If so, proceed to the next step, set i=1, and perform the next iteration. Otherwise, terminate the optimization, output the optimal allocation plan, and go to step S7. Step S63: If i ≤ popsize, determine particle X i Divide the fragment positions pos1, pos2 ∈ [0, n] and pos1 < pos2, and thus obtain the lengths of the three fragments l = [l1, l2, l3] = [pos1, pos2 - pos1, n - pos2]; otherwise, all particle updates are completed, and go to step S62; Step S64: According to the length of the divided segments, a segment is selected according to the roulette method. The probability of a segment being selected is related to the segment length. The longer the segment, the greater the probability of being selected. Let L = l1 + l2 + l3, and set the probability of each segment being selected to Step S65: performing a social learning operation on the selected segment, that is, replacing the current segment with the segment at the corresponding position of the global optimal solution, and deleting the current segment from the selectable segments; Step S66: continue to perform the roulette method on the remaining two segments to select one segment; Step S67: performing an individual learning operation on the selected segment, that is, replacing the current segment with the segment at the corresponding position of the individual optimal solution, and deleting the current segment from the selectable segments; Step S68: performing self-inertia operation on the last segment, i.e. randomly selecting a target within the attackable range of the weapon; Step S69: Constrain the obtained particles, that is, adjust the particles to satisfy the constraints in the model; if there is a target j with a number of weapons assigned that is greater than its limit value Then keep the first Weapons, redistribute other weapons, that is, randomly select targets that can be attacked and meet the maximum number of weapons that can be allocated; thus, a new particle X is obtained i (t+1), and update the global optimal and individual optimal solutions; Step S610: i=i+1, go to step S63 and continue to update the next particle.
5. The dynamic multi-weapon target allocation method based on discrete particle swarm according to claim 4 is characterized in that: In step S65, the social learning operation is: X i (t+1)=X(t)+X g (t+1) Among them, X gbest represents the global optimal solution, rand represents a random number in the range [0,1], c2 is the global acceleration constant, X(t) represents the current solution after t iterations, and X g (t+1) represents the step length of the current solution moving toward the global optimal solution, X i (t+1) represents the newly generated solution after one round of social learning.
6. The dynamic multi-weapon target allocation method based on discrete particle swarm according to claim 4 is characterized in that: In step S67, the individual learning operation is: X i (t+1)=X(t)+X p (t+1) Where X pbest represents the individual optimal solution, rand represents a random number in the range [0,1], c1 is the individual acceleration constant, X(t) represents the current solution after t iterations, and X p (t+1) represents the step length of the current solution moving toward the individual optimal solution, X i (t+1) represents the newly generated solution after one individual learning.
7. The dynamic multi-weapon target allocation method based on discrete particle swarm according to claim 4 is characterized in that: In step S68, the self-inertia operation is: X i (t+1)=randi(J k ,1,I k ) randi means generating I k [0, J k ] range, I k represents the number of our remaining weapons at stage k, J k Represents the number of enemies remaining in stage k.
8. The dynamic multi-weapon target allocation method based on discrete particle swarm according to claim 1 is characterized in that: In step S5, the objective function is: Find the optimal allocation solution under the constraints of ammunition resources. The mathematical expression of the constraints is as follows: represents the threat value of target j to weapon i at stage k, represents the strike advantage value of weapon i against target j at stage k, It is 0 or 1. When the value is 1, it means weapon i hits target j, and when the value is 0, it means the opposite.