^{1}

^{1}

^{*}

Differential evolution algorithm based on the covariance matrix learning can adjust the coordinate system according to the characteristics of the population, which make s the search move in a more favorable direction. In order to obtain more accurate information about the function shape, this paper propose s covariance matrix learning differential evolution algorithm based on correlation (denoted as RCLDE) to improve the search efficiency of the algorithm. First, a hybrid mutation strategy is designed to balance the diversity and convergence of the population; secondly, the covariance learning matrix is constructed by selecting the individual with the less correlation; then, a comprehensive learning mechanism is comprehensively designed by two covariance matrix learning mechanisms based on the principle of probability. Finally, the algorithm is tested on the CEC2005, and the experimental results are compared with other effective differential evolution algorithms. The experimental results show that the algorithm proposed in this paper is an effective algorithm.

Optimization problems are everywhere, and how to better solve optimization problems has become a current research hotspot. Differential evolution algorithm performs well in solving optimization problems, so it is very popular. Differential Evolution (DE) is a random search method proposed by Storn and Price et al. [

Covariance matrix learning helps to improve the optimization performance of differential evolution algorithm. Wang Yong et al. [

In order to solve the problem of information duplication between individuals and reduce algorithm efficiency, this paper proposes a differential evolution algorithm for covariance matrix learning based on correlation research. The algorithm calculates the correlation coefficient between all individuals in the population, eliminates the individuals with strong correlation, uses the remaining individuals to construct a covariance matrix, realizes coordinate rotation, and improves the search efficiency of the algorithm.

The rest of this paper is organized as follows: Section 2 introduces the preparatory work, Section 3 introduces the algorithm proposed in this paper, Section 4 analyzes the numerical experiment results, and Section 5 summarizes this paper.

This section mainly introduces the preliminary preparations, mainly including the definition of optimization problems and the basic process of differential evolution algorithm, so as to facilitate the understanding of the algorithm proposed in this paper.

Without loss of generality, many scientific and engineering optimization problems can be reduced to the following mathematical models. The optimization problem (minimization problem) can be defined as:

min f ( X ) X ∈ Ω (1)

where Ω represents the decision space, X = [ x 1 , x 2 , ⋯ , x D ] is the decision variable, D is the size of the dimension, and the upper and lower boundaries of the j-th dimension x j of the decision variable are L j and U j respectively:

L j ≤ x j ≤ U j , j = 1 , 2 , ⋯ , D . (2)

Differential evolution algorithm is a swarm intelligence optimization algorithm inspired by natural evolution. Its basic idea is to use a heuristic random search algorithm based on population individual differences. It mainly includes four component: initialization, mutation operator, crossover operator, and selection operator.

1) Initialization: The population size is expressed as NP, and each vector X i represents a potential solution, that is, an individual. When g = 0, the initial population is P 0 = { X 1 0 , X 2 0 , ⋯ , X N P 0 } is generated as follows:

X i , j = L j + r a n d ( 0 , 1 ) ∗ ( U j − L j ) j = 1 , 2 , ⋯ , D (3)

where rand(0, 1) represents a random number that obeys [0, 1] uniform distribution.

2) Mutation: Mutation operator determines the degree of convergence and diversity of the algorithm. A mutation vector is created for each target individual by using paired difference information, where “rand” means that the base vector is selected randomly, and “1” means mutation. The number of random difference vectors in the equation. LetV denote the mutation vector, and the commonly used mutation strategies are as follows:

DE\rand\1:

V = X r 1 + F ∗ ( X r 2 − X r 3 ) (4)

DE\rand-to-pbest\1:

V = X r 1 + F ∗ ( X p b e s t − X r 1 ) + F ∗ ( X r 2 − X r 3 ) . (5)

The scaling factor F ∈ [ 0 , 1 ] , r 1 , r 2 , r 3 are randomly selected in [ 1 , N P ] and are not equal to each other in the same mutation strategy. “Best” means the best fitness individual in the current population, and “pbest” means an individual randomly selected from the best p% individuals in the current population.

3) Crossover: There are two commonly used crossover methods: exponential crossover and binomial crossover. The crossover strategy used in this paper is binomial crossover. In the binomial crossover, the variation vector and the target vector generate the trail individual U i , d through formula (6):

U i , d = { V i , d , if r a n d ( 0 , 1 ) < C r or j = j r a n d ; X i , d , otherwise . (6)

where j r a n d ∈ { 1 , 2 , 3 , ⋯ , D } represents a random integer on [1, D], j r a n d can ensure that at least one dimension of the D-dimensional variables of U i , d is contributed by V i , and Cr is the crossover control parameter.

4) Selection: The selection operator compares the trail individual U i , d and the parent individual X i , d one to one, and selects the better individual as the t + 1 generation individual X i t + 1 .

This section mainly introduces the algorithm designed in this paper, the differential evolution algorithm based on the covariance matrix learning of correlation, denoted as RCLDE. This section mainly introduces: the correlation-based covariance matrix learning mechanism, the double mutation strategy coordination mechanism, the adaptive parameter control strategy and the general framework of the algorithm RCLDE. The details will be described below.

In the covariance matrix learning mechanism, the differences in the construction of the covariance matrix directly affect the performance of the mechanism. The correlation coefficient between variables can reflect the correlation between two indicators. The larger the correlation coefficient, the higher the correlation of the information reflected by the two individuals, and part of the information carried by the two individuals will overlap. The majority of scholars construct the covariance learning matrix mainly based on the optimality of individual fitness values, which is beneficial to speed up the optimization performance of the algorithm, but this method does not consider the correlation between individuals, which may affect the learning efficiency of the learning mechanism. Therefore, in order to improve the performance of the covariance matrix learning mechanism, this paper considers the correlation between individuals when constructing the covariance matrix, removes some individuals with strong correlation, and then constructs the covariance matrix, performs Eigen decomposition, and obtains the eigenvector The original coordinate system is rotated.

The covariance matrix learning mechanism includes two steps: Eigen decomposition and coordinate transformation of the covariance matrix. First, perform eigendecomposition on the covariance matrix to obtain the eigenvectors, and use the Eigen vectors as the Eigen coordinate system, which is the axial direction of the new coordinate system. Then, according to the distribution information of the population, the original coordinate system is rotated through the Eigen coordinate system to adjust the search direction of the population and improve the search efficiency of the global optimal solution. The specific steps of the correlation-based covariance matrix learning mechanism used in this paper are as follows:

Step 1 Find the correlation coefficients of all individuals in the current population, remove one of the two individuals with a correlation coefficient greater than α, use the remaining individuals with weak correlations to construct the covariance matrix C, and perform Eigen-decomposition on C:

C = B D 2 B T (7)

where is the orthogonal matrix B, each column of B is the eigenvector of the covariance matrix C, and D is a diagonal matrix composed of eigenvalues.

Step 2 Use the orthogonal matrix B^{T} to map the target vector and mutation vector to the Eigen coordinate system:

X ′ i = B − 1 X i = B T X i (8)

V ′ i = B − 1 V i = B T V i . (9)

Step 3 Cross operation of target vector X ′ i and mutation vector V ′ i in the Eigen coordinate system to generate trail vector U ′ i :

U ′ i , j = { V ′ i , j , if r a n d j ( 0 , 1 ) ≤ C R or j = j r a n d X ′ i , j , otherwise . (10)

Step 4 Use the orthogonal matrix B to convert the trail vector U ′ i back to the original coordinate system:

U i = B U ′ i (11)

here U i is the trail vector in the original coordinate system.

In order to reduce the influence of mutation strategy on differential evolution algorithm, this paper draws on the probability calculation method of [

In the early stage of evolution, in order to maintain the diversity and search ability of the population, the probability of executing the mutation strategy DE/rand/1 is greater. In the later stage of evolution, in order to improve the convergence speed of the algorithm and adjust the diversity of the population, the probability of executing the mutation strategy DE/rand-to-pbest/1is greater, and the information of the optimal individual is fully utilized. The mutation strategy can not only maintain the diversity of the population, but also adjust the diversity of the population according to the iterative process, and improve the convergence speed of the algorithm.

The setting of the parameter size directly affects the solution effect of the algorithm. In this paper, the scaling factor F and crossover control parameter CR

refer to Wang et al. [

F i = { r a n d c i ( 0.65 , 0.1 ) , if r a n d ( 0 , 1 ) < 0.5 r a n d c i ( 1.0 , 0.1 ) , otherwise (12)

C R i = { r a n d c i ( 0.1 , 0.1 ) , if r a n d ( 0 , 1 ) < 0.5 r a n d c i ( 0.95 , 0.1 ) , otherwise . (13)

Among them, r a n d ( 0 , 1 ) is a uniformly distributed random number between 0 and 1, and r a n d c i ( a , b ) is a Cauchy distributed random number with a location parameter of a and a scale parameter of b .

This section will specifically introduce the algorithm RCLDE proposed in this paper. The algorithm is mainly composed of the above mentioned double mutation cooperative strategy, adaptive parameter control, and covariance matrix learning mechanism based on correlation. First, based on the probability formula, the two mutation strategies DE\rand\1 and DE\rand-to-pbest\1 with different functions are combined to generate mutant individuals. DE\rand\1 has strong randomness, which can improve population diversity and search ability. In the early stage of evolution, extensive searches are required, so the probability of setting DE\rand\1 is greater. DE\rand-to-pbest\1 contains the information of excellent individuals in the current population, which provides a favorable direction for search and speeds up the convergence speed. Therefore, the probability of setting DE\rand-to-pbest\1 in the later stage of evolution is greater. Secondly, in order to eliminate the collinearity between individuals and cause the problem of repetitive information transmission, according to the correlation coefficient between individuals in the population, the individuals with strong correlation are eliminated, and the remaining individuals are used to construct the covariance matrix for coordinate rotation, which improves the search efficiency of algorithm. Finally, the crossover process is based on probability selection under the covariance matrix learning based on correlation. The algorithm pseudocode is shown in

Lines 1 - 4 in the RCLDE pseudocode are the process of initializing the population and parameters, and lines 5 - 42 are the process of the algorithm looping to search for the optimal solution. Lines 6 - 10 are mutation operations on each target vector. Lines 11 - 29 are crossover operations. First, calculate the correlation coefficient matrix of all individuals in the current population. If it is less than the random number generated between 0.5 and 1 and the elements in the correlation coefficient matrix are not all 1, then all two individuals are correlated One individual with a coefficient greater than α is eliminated, and the remaining linearly independent individuals are used to construct a covariance matrix to perform coordinate rotation. If the random number generated between 0 and 1 is less than 0.5, all individuals are sorted according to the function value from small to large, and the top 50% of the individuals in the current population are taken to construct a covariance matrix, and then coordinate rotation and crossover operations are performed, otherwise in the original coordinates perform crossover operations under the department to generate trail vectors. 30 - 39 compares the target vector and the trail vector according to the function value, and selects the smaller function value between the two vector to enter the next generation, and the successful F and CR will also enter the next generation. Lines 40 - 42 represent repeated cycles until the optimal solution is found.

In order to verify the effectiveness of the algorithm RCLDE, this paper will test RCLDE on the CEC2005 standard test function [

In this experiment, the population size NP of the RCLDE algorithm is set to 60, and the dimension D is 30. The algorithm runs 25 times independently, and the mean (Mean) and variance (STD) of the results of the 25 runs are used as indicators for evaluating performance. According to the numerical results obtained from the experiment, the Mann-Whitney rank sum test [

In order to verify the validity of the parameter setting in the learning of the correlation covariance matrix, an experiment in this section is set up. Generally, the correlation coefficient is greater than or equal to 0.6, indicating that the two variables are correlated. In order to test what the correlation threshold is set to, the algorithm works best. In this section, four correlation coefficient thresholds of 0.6, 0.7, 0.8, and 0.9 are selected for experiments. The experiment in this section is run 25 times independently on the 30D CEC2005, and the population size is set to 60. The numerical results obtained by the algorithm under different thresholds are shown in

Relevance threshold | 0.6 | 0.7 | 0.8 | 0.9 | ||||
---|---|---|---|---|---|---|---|---|

Mean | STD | Mean | STD | Mean | STD | Mean | STD | |

g01 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 |

g02 | 2.11E−22 | 5.01E−22 | 7.61E−23 | 1.40E−22 | 9.25E−23 | 2.10E−22 | 3.35E−23 | 3.53E−23 |

g03 | 4.86E+04 | 2.75E+04 | 4.25E+04 | 2.70E+04 | 3.98E+04 | 3.17E+04 | 4.71E+04 | 2.63E+04 |

g04 | 3.06E−07 | 4.74E−07 | 1.90E−06 | 7.13E−06 | 2.62E−07 | 3.81E−07 | 3.46E−07 | 6.48E−07 |

g05 | 1.04E+02 | 1.59E+02 | 1.15E+02 | 1.53E+02 | 6.35E+01 | 1.30E+02 | 8.52E+01 | 1.54E+02 |

g06 | 2.01E−19 | 6.89E−19 | 4.29E−18 | 2.13E−17 | 6.38E−01 | 1.49E+00 | 4.78E−01 | 1.32E+00 |

g07 | 9.06E−03 | 9.37E−03 | 1.30E−02 | 1.19E−02 | 6.40E−03 | 7.71E−03 | 5.62E−03 | 7.34E−03 |

g08 | 2.00E+01 | 7.09E−03 | 2.00E+01 | 1.19E−02 | 2.00E+01 | 1.26E−05 | 2.00E+01 | 3.28E−05 |

g09 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 3.58E−01 | 6.96E−01 |

g10 | 4.45E+01 | 1.38E+01 | 4.19E+01 | 1.30E+01 | 4.58E+01 | 1.23E+01 | 4.68E+01 | 1.23E+01 |

g11 | 1.03E+01 | 3.29E+00 | 1.04E+01 | 3.20E+00 | 9.33E+00 | 2.11E+00 | 8.70E+00 | 3.02E+00 |

g12 | 2.58E+03 | 3.06E+03 | 4.23E+03 | 5.10E+03 | 5.06E+03 | 9.40E+03 | 5.52E+03 | 7.74E+03 |

g13 | 1.95E+00 | 3.55E−01 | 2.09E+00 | 4.34E−01 | 2.63E+00 | 7.62E−01 | 2.39E+00 | 6.80E−01 |

g14 | 1.25E+01 | 5.27E−01 | 1.27E+01 | 3.01E−01 | 1.24E+01 | 3.66E−01 | 1.26E+01 | 3.72E−01 |

g15 | 4.28E+02 | 4.58E+01 | 4.24E+02 | 4.36E+01 | 4.20E+02 | 4.08E+01 | 4.12E+02 | 6.00E+01 |

g16 | 6.91E+01 | 1.42E+01 | 6.69E+01 | 1.30E+01 | 7.22E+01 | 1.95E+01 | 8.59E+01 | 6.89E+01 |

g17 | 7.85E+01 | 3.42E+01 | 7.14E+01 | 2.07E+01 | 6.63E+01 | 1.58E+01 | 8.70E+01 | 7.21E+01 |

g18 | 9.04E+02 | 9.46E−01 | 9.04E+02 | 4.08E−01 | 9.04E+02 | 1.07E+00 | 9.00E+02 | 2.09E+01 |

g19 | 9.04E+02 | 8.90E−01 | 9.04E+02 | 9.04E−01 | 9.04E+02 | 5.90E−01 | 9.04E+02 | 1.05E+00 |

g20 | 9.04E+02 | 7.37E−01 | 9.04E+02 | 6.43E−01 | 9.04E+02 | 7.89E−01 | 9.00E+02 | 2.09E+01 |

Relevance threshold | 0.6 | 0.7 | 0.8 | 0.9 |
---|---|---|---|---|

Rank sum | 2.63 | 2.58 | 2.28 | 2.53 |

It can be seen from

In order to prove the effectiveness of this algorithm RCLDE, the algorithm was tested 25 times on the 20 standard tests of 30D CEC2005, and compared with algorithms such as jDE, SaDE, COBiDE, etc. The experimental results of jDE, SaDE and COBiDE are directly taken from the literature [

The experimental numerical results of the RCLDE algorithm and the three evolutionary algorithms are shown in

The Mann-Whitney rank sum test is used in

IEEE CEC 2005 | jDE | SaDE | CoBiDE | RCLDE | ||||
---|---|---|---|---|---|---|---|---|

Mean | STD | Mean | STD | Mean | STD | Mean | STD | |

g01 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 |

g02 | 1.11E−06 | 1.96E−06 | 8.26E−06 | 1.65E−05 | 1.60E−12 | 2.90E−12 | 9.25E−23 | 2.10E−22 |

g03 | 1.98E+05 | 1.10E+05 | 4.27E+05 | 2.08E+05 | 7.26E+04 | 5.64E+04 | 3.98E+04 | 3.17E+04 |

g04 | 4.40E−02 | 1.26E−01 | 1.77E+02 | 2.67E+02 | 1.16E−03 | 2.74E−03 | 2.62E−07 | 3.81E−07 |

g05 | 5.11E+02 | 4.40E+02 | 3.25E+03 | 5.90E+02 | 8.03E+01 | 1.51E+02 | 6.35E+01 | 1.30E+02 |

g06 | 2.35E+01 | 2.50E+01 | 5.31E+01 | 3.25E+01 | 4.13E−02 | 9.21E−02 | 6.38E−01 | 1.49E+00 |

g07 | 1.18E−02 | 7.78E−03 | 1.57E−02 | 1.38E−02 | 1.77E−03 | 3.73E−03 | 6.40E−03 | 7.71E−03 |

g08 | 2.09E+01 | 4.86E−02 | 2.09E+01 | 4.95E−02 | 2.07E+01 | 3.75E−01 | 2.00E+01 | 1.26E−05 |

g09 | 0.00E+00 | 0.00E+00 | 2.39E−01 | 4.33E−01 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 |

g10 | 5.54E+01 | 8.46E+00 | 4.72E+01 | 1.01E+01 | 4.41E+01 | 1.29E+01 | 4.58E+01 | 1.23E+01 |

g11 | 2.79E+01 | 1.61E+00 | 1.65E+01 | 2.42E+00 | 5.62E+00 | 2.19E+00 | 9.33E+00 | 2.11E+00 |

g12 | 8.63E+03 | 8.31E+03 | 3.02E+03 | 2.33E+03 | 2.94E+03 | 3.93E+03 | 5.06E+03 | 9.40E+03 |

g13 | 3.94E+00 | 1.35E−01 | 3.94E+00 | 2.81E−01 | 2.64E+00 | 1.13E+00 | 2.63E+00 | 7.62E−01 |

g14 | 1.26E+01 | 2.00E−01 | 1.26E+01 | 2.83E−01 | 1.23E+01 | 4.90E−01 | 1.24E+01 | 3.66E−01 |

g15 | 3.77E+02 | 8.02E+01 | 3.76E+02 | 7.83E+01 | 4.04E+02 | 5.03E+01 | 4.20E+02 | 4.08E+01 |

g16 | 7.94E+01 | 2.96E+01 | 8.57E+01 | 6.94E+01 | 7.38E+01 | 3.66E+01 | 7.22E+01 | 1.95E+01 |

g17 | 1.37E+02 | 3.80E+01 | 7.83E+01 | 3.76E+01 | 7.25E+01 | 2.02E+01 | 6.63E+01 | 1.58E+01 |

g18 | 9.04E+02 | 1.08E+01 | 8.68E+02 | 6.23E+01 | 9.03E+02 | 1.05E+01 | 9.04E+02 | 1.07E+00 |

g19 | 9.04E+02 | 1.11E+00 | 8.74E+02 | 6.22E+01 | 9.03E+02 | 1.04E+01 | 9.04E+02 | 5.90E−01 |

g20 | 9.04E+02 | 1.10E+00 | 8.78E+02 | 6.03E+01 | 9.04E+02 | 5.95E−01 | 9.04E+02 | 7.89E−01 |

RCLDE vs | jDE | SaDE | CoBiDE |
---|---|---|---|

+ | 14 | 13 | 9 |

≈ | 5 | 1 | 3 |

− | 1 | 6 | 8 |

Judging from the numerical results in

It can be seen from

This paper first selects two mutation strategies with different performances to form a double mutation strategy cooperative coevolution mechanism. The probability of the two mutation strategies being used changes correspondingly with the evolution of the population, which improves the search efficiency of the population; secondly, this paper proposes based on correlation. The learning of the covariance matrix takes into account the correlation between individuals in the population, eliminates the individuals with collinearity based on the strength of the correlation, and uses the individuals with weak correlation to construct the covariance matrix, which avoids information duplication and other problems, and improve the search efficiency of the algorithm. Finally, based on the principle of probability, the covariance matrix learning mechanism of constructing the covariance matrix according to the fitness value is combined with the correlation-based covariance matrix learning mechanism proposed in this paper to generate test individuals.

The analysis of the experimental results shows that the algorithm performs best when the correlation coefficient threshold in the algorithm RCLDE proposed in this paper is set to 0.8. The algorithm RCLDE is compared with other advanced differential evolution algorithms on the CEC2005 standard test function. The experimental results show that the algorithm proposed in this paper performs well and has certain competitiveness.

The authors would like to thank anonymous reviewers for their valuable comments and suggestions for this paper. This work is proudly supported in part by National Natural Science Foundation of China (No. 61763008, 11661030, 11401357, 11861027), Natural Science Foundation of Guangxi (No. 2018GXNSFAA138095), Fangchenggang Scientific research and technology development plan 2014 No. 42, and Project supported by Program to Sponsor Teams for Innovation in the Construction of Talent Highlands in Guangxi Institutions of Higher Learning ([

The authors declare no conflicts of interest regarding the publication of this paper.

Yuan, S.N. and Feng, Q.X. (2021) Covariance Matrix Learning Differential Evolution Algorithm Based on Correlation. International Journal of Intelligence Science, 11, 17-30. https://doi.org/10.4236/ijis.2021.111002