Inspired by the three-three tactics, this section proposes three mechanisms to solve the problems of BCA. First, we introduce the three-three allocation mechanism of battlefield and roles, dividing the battlefield into the front and the area behind enemy lines and classifying soldiers into assault role, cover role, and support role to achieve clear division among soldiers. Second, we propose the three-three position deployment mechanism of soldiers, centering on the current optimal solution, forming a three-layer encirclement structure. The soldiers in each layer of the enclosure are deployed according to this mechanism to enhance the local search capability. Third, we propose a collision mechanism, bouncing the soldiers beyond the boundary back into the search space to maintain the continuity of the search process. Finally, by integrating these mechanisms, TTBCA+ is proposed.
3.1. Three-Three Allocation Mechanism of Battlefield and Roles
In order to improve the diversity of soldiers, the ideas of regional control as well as soldiers cooperate with each other in three-three tactics were introduced, which is the three-three allocation mechanism of battlefield and roles. It consists of the battlefield division mechanism and the distribution of soldier roles mechanism. Firstly, the battlefield is divided into the front and the area behind enemy lines. To implement the distribution principle of concentrating superior forces in three-three tactics, soldiers are allocated in a ratio of 2:1. Specifically, two-thirds of the soldiers are allocated to the front to besiege and conquer the enemy, and the other soldiers are allocated to the area behind enemy lines to interfere with the enemy. To achieve this distribution principle and balance the front and the rear behind enemy lines, BCB is set to an approximate value of two-thirds, that is, 0.6.
Secondly, we allocate the soldiers on the battlefield. Like three-three tactics, soldiers have three roles, including assault role, cover role, and support role. Assault role is responsible for besieging the enemy, the cover role is responsible for covering the assault role with firepower, and the support role is responsible for supporting the assault role and the cover role as well as causing disturbances on the area behind enemy lines. In order to ensure that the front has the strongest firepower to annihilate the enemy, all assault soldiers, cover soldiers, and a few of support soldiers are allocated to the front.
Through this clear division, different soldiers have different missions, which solves the deficiency of the besiege strategy lacks diversity in BCA. Soldiers can encircle and annihilate the enemy more purposefully, making local search more regular and efficient. This mechanism is shown in
Figure 1.
3.2. Three-Three Position Deployment Mechanism of Soldiers
Three-three position deployment mechanism of soldiers is a mechanism for deploying the positions of assault role and cover role.
The first step, as shown in
Figure 2, is to take the current optimal solution (
) as the center and generate a reference point
A with a random angle and a random Euclidean Distance from the optimal solution through Equations (8) and (11). Then, we use Equations (9) and (11) to generate a reference point
B, which forms a 120-degree with the reference point
A and has a random Euclidean Distance from the optimal solution. Finally, we use Equations (10) and (11) to generate a reference point
C, which forms a 240-degree with the reference point
A and has a random Euclidean Distance from the optimal solution. We generate the first layer of reference points based on the above step to cover the potential optimal areas on a large scale.
where
is the angle of the first reference point of each layer, such as
A,
,
of
dimension with
iteration,
is the angle of the second reference point of each layer, such as
B,
,
of
dimension with
iteration,
is the angle of the third reference point of each layer such as
C,
,
of
dimension with
iteration, and
is the Euclidean Distance between the first layer reference points, such as
A,
B,
C, and the enemy of
dimension with
iteration,
= 0.1.
The second step, as shown in
Figure 3, takes reference point
A as the center and generates a reference point
with a random angle and a random Euclidean Distance from the reference point
A through Equations (8) and (12). Then, we use Equations (9) and (12) to generate a reference point
, which forms a 120-degree with the reference point
and has a random Euclidean Distance from the reference point
A. Finally, we use Equations (10) and (12) to generate a reference point
, which forms a 240-degree with the reference point
and has a random Euclidean Distance from the
A. Similarly, we take other reference points
B and
C as the center respectively and generate six second layer reference points
,
,
,
,
,
form the second layer of reference points to refine the search range.
where
is the Euclidean Distance between the second layer reference points, such as
,
,
, and the enemy of
dimension with
iteration.
The third step, as shown in
Figure 4, takes reference point
as the center and generate a reference point
with a random angle and a random Euclidean Distance from the reference point
through Equations (8) and (13). Then, we use Equations (9) and (13) to generate a reference point
, which forms a 120-degree with the reference point
and has a random Euclidean Distance from the reference point
. Finally, we use Equations (10) and (13) to generate a reference point
, which forms a 240-degree with the reference point
and has a random Euclidean Distance from the reference point
. Similarly, we take other reference points
,
,
,
,
,
,
,
as the center, respectively, and generate twenty-four third-layer reference points
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, forming the third layer of reference points to refine the search range.
where
is the Euclidean Distance between the third layer reference points, such as
,
,
, and the enemy of
dimension with
iteration.
The last step, as shown in
Figure 5, the positions of nine assault soldiers are selected through Equation (
14), and the positions of nine cover soldiers are selected through Equation (
15). Eventually, a three-layer encirclement structure is formed. This regular and flexible deployment method not only enhances the ability to cover the solution space, but also strengthens the ability to encircle and conquer the enemy through layer-by-layer advancement. Soldiers search for the optimal solution according to this deployment mode, which makes up for the shortcomings of wasted soldier resources and random distribution of soldier positions in BCA, enhances the local search capability of the algorithm, accelerates the convergence speed of the algorithm, and enables it to approach the global optimal solution more quickly.
where
is the position of assault soldier of
dimension with
iteration, and
is the position of cover soldier of
dimension with
iteration.
3.3. Collision Mechanism
Inspired by the collision theory of classical mechanics, this paper introduces a collision mechanism to simulate the physical interaction behavior between soldiers and the boundary of the search space. This mechanism resolves the problem existing in traditional method, such as Equation (
7), that is, the way of regenerating soldiers disrupts the continuity of the search space.
This mechanism strictly adheres to the geometric rule that the incident angle is equal to the reflection angle, bouncing the soldiers that are beyond the boundary back into the search space. The details are shown in
Figure 6. Specifically,
is the upper bound of the search space, and
is the lower bound of the search space. Both
and
are the incident angle and the reflection angle. We can see that, if the soldier beyond the upper bound of the search space, this solider will be bounced back to the search space. Similarly, if the soldier is beyond the lower bound of the search space, this solider will be bounced back to the search space too.
where
is the
soldier of the
dimension with
iteration,
and
are the lower and upper bounds of the search space, and
is the
soldier of the
dimension with
iteration.
3.4. TTBCA+: An Enhanced Besiege and Conquer Algorithm with
Three-Three Tactics and Collision Theory
During the iterative process, the core is to generate the approach of soldiers. However, in BCA, the way soldiers surround the enemy is simple and irregular. This wastes a lot of soldiers and search time, which may cause the algorithm to deviate from the optimal solution.
Therefore, this paper proposes three formulas to generate soldiers. Equation (
17) is used to generate the assault role on the front. Equation (
18) is used to generate the cover role on the front. Equation (
19) is used to generate the support role on the battlefield.
where
R is in the rand of (0,1).
After the above methods, we finally propose TTBCA
+. The working diagram of TTBCA
+ can be summarized as
Figure 7. The flow chart of TTBCA
+ is shown in
Figure 8. The pseudo-code of TTBCA
+ is shown in Algorithm 1.
Figure 7.
Working diagram of TTBCA+.
Figure 7.
Working diagram of TTBCA+.
Figure 8.
The flow chart of TTBCA+.
Figure 8.
The flow chart of TTBCA+.
Algorithm 1. TTBCA+: an enhanced besiege and conquer algorithm with three-three tactics and collision theory |
- 1:
Initialize the population N; - 2:
Initialize the dimension of the problem D; - 3:
Initialize the balance factor ; - 4:
Initialize the number of armies ; - 5:
Initialize the number of soldiers ; - 6:
Initialize the upper and lower bound , ; - 7:
Configure the stopping criteria ; - 8:
Initialize the army position through Equation ( 1); - 9:
Evaluate all the soldiers; - 10:
while
do - 11:
for do - 12:
Randomly select an army as the neighbor; - 13:
for do - 14:
for do - 15:
if then - 16:
Select the position of the assault soldiers by Equation ( 14); - 17:
Select the position of the cover soldiers by Equation ( 15); - 18:
if then - 19:
Update the position of the soldier by Equation ( 17); - 20:
if then - 21:
Update the position of the soldier by Equation ( 6); - 22:
end if - 23:
else - 24:
Update the position of the soldier by Equation ( 18); - 25:
if then - 26:
Update the position of the soldier by Equation ( 6); - 27:
end if - 28:
end if - 29:
else - 30:
Update the position of the soldier by Equation ( 19); - 31:
if then - 32:
Update the position of the soldier by Equation ( 16); - 33:
end if - 34:
end if - 35:
end for - 36:
end for - 37:
end for - 38:
Evaluate all the soldiers; - 39:
end while - 40:
Determine the best army location obtained so far; - 41:
Judge whether the army optimal value is updated; - 42:
if army optimal value is not updated then - 43:
; - 44:
else - 45:
; - 46:
end if - 47:
Update the best army.
|
3.6. Computational Complexity Analysis
This section analyzes the computational complexity of the proposed algorithm from two aspects: time complexity analysis and space complexity analysis. During the analysis process, the maximum number of iterations T, population size N, problem dimension D, and fitness function f are defined.
3.6.1. Time Complexity Analysis
The initialization stage and fitness evaluation stage of the TTBCA+ are the same as BCA. Their time complexity analysis are and , respectively. Therefore, the iterative stages that generate differences are mainly analyzed.
For TTBCA+, firstly, to generate a three-layer encirclement structure through three-three position deployment mechanism of soldiers, the search space needs to be traversed for each layer of reference points, with the time complexity being . Secondly, the division of roles among soldiers needs to be updated, with the time complexity being . Thirdly, we adjust based on the update status of the optimal solution, with the time complexity being . Thus, the time complexity of the iteration stage is . Finally, the time complexity of updating the global optimal solution in each iteration is . To sum up, the time complexity of TTBCA+ is .
It can be seen that these mechanisms increase the complexity of operations to a linear order and does not change the overall order of magnitude. Therefore, the time complexity of TTBCA+ is as same as BCA, and the execution efficiency of TTBCA+ will not significantly decrease due to the addition of these mechanisms.
3.6.2. Space Complexity Analysis
Space complexity refers to the measure of the amount of storage space temporarily occupied during the operation of an algorithm. The space complexity of TTBCA+ is mainly occupied by the following data structures:
Firstly, when initializing the population, the position information of N dimensional soldiers is generated, and the space complexity is required for storage. Secondly, the space complexity is required for recording the soldier roles and BCB. Finally, we store the space complexity required for three-three position deployment mechanism of soldiers. To sum up, the space complexity of TTBCA is .
Therefore, the space complexity of all mechanisms introduced by TTBCA+ is of linear order, which is consistent with the order of magnitude of the space complexity of BCA, and there is no significant increase in the demand for storage resources.