**3. Turning-Based Mutation**

The opposition-based DE (ODE) algorithm was proposed by Shahryar et al. [48]. The oppositionbased learning (OBL) was used for generation jumping and population initialization, and the opposite numbers was used to improve the convergence rate of DE. Shahryar et al. let all vectors of the initial population take the opposite number in the initialization and allowed the trail vectors to take the opposite number in the selection operation. They then compared their fitness values and selected the vector with the better fitness to accelerate the convergence of the DE algorithm. We refer to the idea of "opposition" in the above algorithm, but the purpose of this paper is to change the direction of mutation under certain conditions to maintain population diversity and enable a longer exploration phase.

Suppose that the search space is two-dimensional (2D). There is a ring-shaped region, the center of which is the global suboptimal individual *xpbest*,*G*. The outer radius of the ring is *OR* and the inner radius is *IR*. If the Euclidean distance *Distance* between the given individual and the global suboptimal individual is smaller than the outer radius *OR* and larger than the inner radius *IR*, the differential vector *dei* from the mutation Formulas (1) and (4) takes the opposite number, and some dimensions are

randomly selected to assign random values within the search range. Experiments have verified that better outer radius *OR* and inner radius *IR* can be calculated as:

$$OR\_{init} = \sum\_{j=1}^{D} \sqrt[2]{\left(\frac{\chi\_{\max} - \chi\_{\min}}{2}\right)^2} \tag{18}$$

$$IR = \sum\_{j=1}^{D} \sqrt[2]{\left(\frac{\chi\_{\text{max}} - \chi\_{\text{min}}}{40}\right)^2} \tag{19}$$

$$OR = OR\_{init} + \frac{IR - OR\_{init}}{MaxFES} \times FES \tag{20}$$

where *ORinit* is the initial value of the outer radius and *IR* is the inner radius, which is also the minimum value of the outer radius. The outer radius *OR* decreases with an increase in the number of fitness evaluations. *MaxFES* and *FES* are the maximum and current number of the calculation of the fitness function, respectively, and *xmax* and *xmin* are the upper and lower bounds of the search range, respectively.

The Euclidean distance *Distance* between the given individual and the global suboptimal individual is calculated as:

$$Distance = \sqrt[2]{\sum\_{j=1}^{D} \left(\mathbf{x}\_{j, pbest, G} - \mathbf{x}\_{j, i, G}\right)^2} \tag{21}$$

The di fferential vector *dei* from the mutation Equations (1) and (4) is calculated as:

$$dc\_i = (F\_{i\text{"}} \text{ or } F\_{i\text{"}}) \times \left(\mathbf{x}\_{\text{pbest,G}} - \mathbf{x}\_{i,G}\right) + F\_i \times \left(\mathbf{x}\_{r1,G} - \mathbf{x}\_{r2,G}\right) \tag{22}$$

The pseudo-code of the operation on the di fferential vector *dei* in turning-based mutation is shown as Operation 1:


where *R* is the randomly disordered dimension index array, *M* is the number of randomly selected dimensions, and *xmax* and *xmin* are the upper and lower bounds of the search range, respectively.

Finally, the mutation operation is performed as shown in Equation (23):

$$
\omega\_{i,G} = \mathfrak{x}\_{i,G} + d e\_i \tag{23}
$$

If the Euclidean distance *Distance* between the given individual and the global suboptimal individual is smaller than the outer radius *OR* and larger than the inner radius *IR*, the improved method changes the direction of mutation of the given individual to maintain the population diversity and a longer exploration phase, thus enhancing the global search ability and the ability to escape the local optimum. Then, with an increase in number of fitness evaluations, the performance of the algorithm can be improved. If the Euclidean distance *Distance* between the given individual and the global suboptimal individual is smaller than or equal to the inner radius *IR*, the former is

allowed to mutate in the original direction. This enables the given individual to quickly converge to the global optimal or suboptimal position to avoid the problem of non-convergence caused by turning-based mutation.

Since Equation (21) and Operation 1 need to be executed in the mutation process of each individual, the overall time complexity [42] of the improved algorithms is slightly higher than that of the original algorithms, as shown in Tables 1–3.


**Table 1.** Time complexity specified by CEC2020 technical document-SHADE vs. Tb-SHADE.




The pseudo-code of the Tb-SHADE algorithm (SHADE algorithm using turning-based mutation) is shown as Algorithm 3, that of the TbL-SHADE algorithm (L-SHADE algorithm using turning-based mutation) is shown as Algorithm 4, and that of the Tb-jSO algorithm (jSO algorithm using turning-based mutation) is shown as Algorithm 5. The improved parts of these algorithm are underlined.
