1 Introduction

A differential evolution (DE) algorithm was designed by Storn and Price (1996) as a heuristic algorithm for the solution of all types of optimization problems (Joshi and Sanderson 1999; Price et al. 2005; Zhang et al. 2008). The advantage of the algorithm is that the continuity and differentiability of functions are not required, which makes it more applicable in many domains, such as pattern recognition (Liu et al. 2012), power dispatch (Basu 2016), signal processing (Storn 1996; Karaboga 2005), scheduling (Balaji et al. 2016; Onwubolu and Davendra 2006), dynamic systems (Angira and Santosh 2007), nuclear safety (Maio et al. 2014; Zio and Viadana 2011) and others.

The DE algorithm adopts difference mutation, crossover and selection strategies to generate new individuals with each generation to update the population and evolve its solution toward the optimal value. With the development of optimization techniques, many difference operators have been proposed, such as ‘DE/rand/1’, ‘DE/best/1’, ‘DE/rand-best/1’. Different strategies result in different exploration competences and development abilities for various problems in the evolving process. The performance of the DE algorithm for the rate of convergence, searching ability and robustness is also influenced by the scaling factor F and crossover rate CR (Kovačević et al. 2014; Qin et al. 2009). Considering time cost and computational complexity, it is necessary to employ appropriate difference operators and effective parameters when specific optimization problems have to be solved. Several reports have revealed that global search can be achieved effectively with appropriate difference operators and applicable parameter values (Price et al. 2005; Qin et al. 2009; Gong et al. 2011), and some other difference operators can be used for local search. Global search and local fine tuning should both be taken into consideration when the applicable difference operator and associated parameters are adopted.

Therefore, it is important to develop a new DE algorithm with an appropriate difference operator and adaptable parameter values. Different strategies have been proposed to improve the performance of the DE algorithm. An improved differential evolution algorithm based on global search was proposed by Das and Suganthan (2011). This algorithm updates the scaling factor in each generation with random values in a range [0.5,1], which is beneficial to retain the diversity of the whole population. The strategy to adaptively obtain control parameter values was proposed by Brest et al. (2006). The control parameter values encoded into individuals are adjusted by the evolution progress. The strategy has a positive effect on the DE algorithm. To achieve the best performance with evolving progress, Qin et al. (2009) proposed an algorithm with an updated difference operator and parameter values to generate promising solutions based on previous knowledge. Zhang and Sanderson (2009) adopted a new difference operator called “DE/current-to-pbest” to improve the differential evolution algorithm. Optional external archive and updated parameter values are also employed. The algorithm called JADE not only makes full use of the information of progress direction but also varies the population to avoid premature convergence. Deng et al. (2009) improved the differential evolution algorithm by employing an enhanced difference operator to generate a new trial. If the new trial is better than the current individual, the latter is replaced by the former. Previous knowledge is sufficiently utilized by the operator. Pan et al. (2011) proposed a differential evolution algorithm by adopting self-adaptive control parameters and trial vector generation. The algorithm builds a list for a mutation scaling factor F, crossover rate CR and strategy. The difference operator and crossover are used to generate a trial individual. When the trial individual meets the requirement of precision, corresponding parameter values are stored in the winning list for F, CR and strategy. With evolution, F, CR and strategy are replaced with the elements selected from winning lists on the basis of probability or random values, which results in constantly adjusting the control parameters and mutation strategy. Elsayed et al. (2013) improved the differential evolution algorithm by assembling different difference operators and enhancing the exploitation and local search ability with a covariance adaption matrix evolution strategy. Zou et al. (2013) designed a modified differential evolution algorithm named MDE, in which a Gaussian distribution is employed to update the scaling factor, a uniform distribution is used to renew crossover rate and an external archive is designed to offer high-quality alternative solutions for replacing target vectors. Depending on the iteration number, different difference operators are chosen, and a central solution assembling all other candidates’ solution information is calculated to provide search direction.

As described above, the performance of traditional DE has been improved, but shortcomings of existing DE variant algorithms result in an overemphasis on the diversity of populations, and effective measures are not taken to avoid falling into local optima, which can play a negative role in the convergence rate and obtaining an optimal solution. To address these problems, an effective differential evolution algorithm, namely, RPMDE, is introduced in this paper. The intended contribution of this work is to improve searching ability and avoid falling into local optima. To improve searching ability, a new differential mutation strategy called ‘DE/M_pBest-best/1’ is designed. Whether to adopt the designed differential mutation operator is determined by the selected probability. Considering convergence rate, the operator is only employed with high selected probability. A random perturbation called the random search operator is used to generate the trial vector. If the trial vector is better than the target vector, the latter will be replaced by the former. The random search operator exerts a particularly strong influence on local optimum. Furthermore, Levy distribution is used to update the scaling factor.

The paper is organized as follows. Section 2 introduces the original DE algorithm. Section 3 describes the RPMDE algorithm in detail. Section 4 describes benchmark functions. Section 6 presents experimental results and analyses the differences between RPMDE and other algorithms. Conclusions are discussed in Section 5.

2 The original DE algorithm

As an efficient evolutionary algorithm, the DE algorithm has been widely used due to its simple structure. The general procedure of the DE algorithm includes three parts: mutation, crossover and selection. An initial population S with N individuals is randomly generated within the range [\(X_{\mathrm{min}}\), \(X_{\mathrm{max}}\)]. The scaling factor F, crossover rate CR and maximal iteration number \(K_m\) are also initialized at the beginning of the algorithm.

2.1 Mutation

Each mutant vector \(V_i^k \) is generated by a difference operator. Many mutation strategies have been designed. There are five equations that are usually used as difference strategies to calculate trial vectors (Baatar et al. 2013; Chen et al. 2015; Gong and Cai 2013; Lin et al. 2015; Wang et al. 2011):

$$\begin{aligned} V_i^{k+1}= & {} X_{r1}^k +F\times \left( X_{r2}^k -X_{r3}^k\right) \end{aligned}$$
(1)
$$\begin{aligned} V_i^{k+1}= & {} X_{\mathrm{best}}^k +F\times \left( X_{r1}^k -X_{r2}^k\right) \end{aligned}$$
(2)
$$\begin{aligned} V_i^{k+1}= & {} X_i^k +F_1 \times \left( X_{best}^k -X_i^k\right) +F_2 \times \left( X_{r1}^k -X_{r2}^k\right) \nonumber \\ \end{aligned}$$
(3)
$$\begin{aligned} V_i^{k+1}= & {} X_{\mathrm{best}}^k +F_1 \times \left( X_{r1}^k -X_{r2}^k\right) +F_2 \times \left( X_{r3}^k -X_{r4}^k\right) \nonumber \\ \end{aligned}$$
(4)
$$\begin{aligned} V_i^{k+1}= & {} X_{r1}^k +F_1 \times \left( X_{r2}^k -X_{r3}^k\right) +F_2 \times \left( X_{r4}^k -X_{r5}^k\right) \nonumber \\ \end{aligned}$$
(5)

\(F,F_1 ,F_2 ,\) called scale factors, are control parameters, which are positive. \(X_{\mathrm{best}}^k \) represents the optimal solution at the current iteration k;\(r_1 ,r_2 ,r_3 ,r_4 ,r_5 \) are stochastically selected from population size N. These variables are not equal to each other.

2.2 Crossover

The crossover operator is related to the target vector \(X_i^k \) and mutant vector \(V_i^{k+1} \). This operator generates a trial vector \(U_i^k \) by combining \(V_i^{k+1} \) with the corresponding \(X_i^k \) based on the comparison between crossover rate and a random number. Crossover strategies with binomial crossover and exponential crossover are usually used as crossover operators. The binomial crossover is adopted to generate trial vectors in this paper and is defined as Eq. (6):

$$\begin{aligned} u_{i,j}^{k+1} =\left\{ {{\begin{array}{cc} {v_{i,j}^{k+1} }&{}\quad {\mathrm{if}} \quad {\textit{rand}}< CR \;or\; {j=r_{1\sim D} } \\ {x_{i.j}^k }&{}\quad {\mathrm{otherwise}} \\ \end{array} }} \right. \end{aligned}$$
(6)

Here, CR is the crossover rate within the range [0, 1], which is a fixed positive constant. rand is a random number following uniform distribution within the range [0,1]. D is a dimension size. \(r_{1\sim D} \) is stochastically selected from the set {1, 2,...D} to guarantee that the trial vector \(u_{i,j}^{k+1} \) obtains at least one dimension from the mutant vector \(v_{i,j}^{k+1}\).

2.3 Selection

If \(f(U_i^{k+1} )\) outperforms \(f(X_i^k )\), the target vector\(X_i^k \) will be replaced by the trial vector \(U_i^{k+1} \). Otherwise, the target vector \(X_i^k \) will be reserved for the next generation. The selection expression can be defined as follows:

$$\begin{aligned} X_i^{k+1} =\left\{ {\begin{array}{ll} {U_i^{k+1} }&{}\quad {\mathrm{if}}\quad f(U_i^{k+1} )<f(X_i^k ) \\ {X_i^k }&{}\quad {\mathrm{otherwise}} \\ \end{array} } \right. \end{aligned}$$
(7)

3 Description of the RPMDE algorithm

Because the difference mutation operators for generating a trial vector and the parameter values CR and F affect the performance of the DE algorithm, it is important to employ an appropriate difference operator and adaptive parameter values when the DE algorithm is applied to solve a certain problem. Generally, the selection of difference operators and associated parameter values depends on a time-consuming trial-and-error procedure. The combination may be different for different problems and even the same problem at different stages of the search process. To address this problem, a new differential evolution algorithm is proposed.

3.1 An external archive

In each iteration, population S possesses N candidate solutions. This relation can be described as follows:

$$\begin{aligned} S=\left[ {{\begin{array}{llll} {x_{1,1} }&{}\quad {x_{1,2} }&{}\quad \cdots &{}\quad {x_{1,D} } \\ {x_{2,1} }&{}\quad {x_{2,2} }&{}\quad \cdots &{}\quad {x_{2,D} } \\ \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots \\ {x_{N,1} }&{}\quad {x_{N,2} }&{}\quad \cdots &{}\quad {x_{N,D} } \\ \end{array} }} \right] \end{aligned}$$
(8)

where \(x_{i,j} \) denotes the \(j\left( {j=1,2,3,\cdots D} \right) \) dimension of the ith solution. The minimal value \(x_j^L \) and maximal value \(x_j^U \) for the jth dimension in all candidate solutions can be calculated as follows:

$$\begin{aligned} x_j^L= & {} \mathop {\mathrm{min}}\limits _{1\le i\le N} (x_{i,j} ) \end{aligned}$$
(9)
$$\begin{aligned} x_j^U= & {} \mathop {\mathrm{max}}\limits _{1\le i\le N} (x_{i,j} ) \end{aligned}$$
(10)

Derived from Eqs. (9)-(10), a new population \(S^{{\prime }}\)can be obtained through Eqs. (12):

$$\begin{aligned} S^{{\prime }}= & {} \left[ {{\begin{array}{llll} {y_{1,1} }&{}\quad {y_{1,2} }&{} \quad \cdots &{}\quad {y_{1,D} } \\ {y_{2,1} }&{}\quad {y_{2,2} }&{}\quad \cdots &{}\quad {y_{2,D} } \\ \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots \\ {y_{N,1} }&{}\quad {y_{N,2} }&{}\quad \cdots &{}\quad {y_{N,D} } \\ \end{array} }} \right] \end{aligned}$$
(11)
$$\begin{aligned} y_{i,j}= & {} x_j^L +\mathrm{rand}\times (x_j^U -x_j^L ) \end{aligned}$$
(12)

\(y_{i,j} \) stands for the jth dimension of the ith candidate solution in population \(S^{\prime }\). Equation (12) is used to randomly generate \(y_{i,j} \) within the range [\(x_j^L \), \(x_j^U \)].

If the archive operator is finished, the N / 2 best solutions from S and \(S^{{\prime }}\) are chosen to compose the population \(S^{{\prime }{\prime }}\). This process can be denoted as follows:

$$\begin{aligned} S^{{\prime }{\prime }}=\left[ {{\begin{array}{llll} {x_{1,1}^{\mathrm{best}} }&{}\quad {x_{1,2}^{\mathrm{best}} }&{}\quad \cdots &{}\quad {x_{1,D}^{\mathrm{best}} } \\ {x_{2,1}^{\mathrm{best}} }&{} \quad {x_{2,2}^{\mathrm{best}} }&{}\quad \cdots &{} \quad {x_{2,D}^{\mathrm{best}} } \\ \vdots &{}\quad \vdots &{} \quad \vdots &{}\quad \vdots \\ {x_{N/2,1}^{\mathrm{best}} }&{} \quad {x_{N/2,2}^{\mathrm{best}} }&{} \quad \cdots &{} \quad {x_{N/2,D}^{\mathrm{best}} } \\ {y_{1,1}^{\mathrm{best}} }&{} \quad {y_{1,2}^{\mathrm{best}} }&{} \quad \cdots &{} \quad {y_{1,D}^{\mathrm{best}} } \\ {y_{2,1}^{\mathrm{best}} }&{} \quad {y_{2,2}^{\mathrm{best}} }&{} \quad \cdots &{} \quad {y_{1,D}^{b\mathrm{est}} } \\ \vdots &{} \quad \vdots &{} \quad \vdots &{} \quad \vdots \\ {y_{N/2,1}^{\mathrm{best}} }&{} \quad {y_{N/2,2}^{\mathrm{best}} }&{} \quad \cdots &{} \quad {y_{N/2,D}^{\mathrm{best}} } \\ \end{array} }} \right] \end{aligned}$$
(13)

\(x_{i,j}^{\mathrm{best}} \) represents the jth dimension of the ith optimal solution in the population S. Similarly, \(y_{i,j}^{\mathrm{best}} \) stands for the jth dimension of the ith optimal solution in the population \(S^{{\prime }}\). The population \(S^{{\prime }{\prime }}\) that has finished the external archive includes not only the optimal solutions in the original population but also some randomly generated optimal solutions. This procedure is helpful to improving the precision of solutions and maintaining the population diversity.

3.2 Differential mutation strategies

The original DE algorithm employs DE/rand/1/bin as the mutation operation. However, RPMDE adopts two mutation operations. One is called DE/M_pBest-best/1/bin, which is designed by generalizing the classic DE/current-pbest/1/bin; the other is DE/best/1/bin. This mutation operation is chosen on the selection probability that will be changed at each iteration. The mutation operation can be defined as follows:

$$\begin{aligned} V_i^{k+1} =\left\{ {\begin{array}{ll} {X_{\mathrm{best}}^k +F\times (X_{r_1 }^k -X_{r_2 }^k )}&{}\quad {\mathrm{if}} \quad {\textit{r}and}>\alpha \\ {X_{M\_p\mathrm{Best}}^k +F\times (X_{\mathrm{best}}^k -X_{r_3 }^k )}&{}\quad {\mathrm{otherwise}} \\ \end{array} } \right. \nonumber \\ \end{aligned}$$
(14)

\(X_{\mathrm{best}}^k \) is the best solution in generation k; \(r_1 ,r_2 ,r_3 \) are randomly generated from 1 to N and are different integer numbers. The proposed difference operation is composed of the mean value of p best individuals in the current population, the best solution and a randomly selected solution in the population S, which guarantees that better individuals’ information can be fully utilized. \(\alpha \) stands for the selection probability and can be stated as follows:

$$\begin{aligned} \alpha =\left( \frac{k_\mathrm{c} }{K_\mathrm{m} }\right) ^{1/4} \end{aligned}$$
(15)

\(K_{\mathrm{m}}\) is defined as the maximum iterations and \(k_{\mathrm{c}}\) as the current iteration number. The equation indicates that the selection probability can be adjusted at each iteration according to the iteration number. If a random value in the range [0, 1] is less than \(\alpha \), the designed difference operator is employed. Otherwise, ‘DE/best/1’ will be adopted as the differential mutation operator. The selection probability is an increasing function of \(k_{\mathrm{c}}\). At the beginning of iteration, ‘DE/best/1’ is employed because it is beneficial in finding a better solution rapidly. With the increase in iterations, the designed differential mutation operator is adopted to improve searching ability and avoid giving an edge to the algorithm.

3.3 Random search operator

The DE algorithm is prone to falling into the local optimum, which usually has a negative effect on performance. To solve the problem, a random search operator is proposed to avoid the local optimum. The random search operator can be stated as follows:

$$\begin{aligned} T_i^{k+1} =X_i^k +SR \times \beta _i \times X_i^k \end{aligned}$$
(16)

Search factor SR is a constant, \(\beta _i \) is defined as an array randomly generated with elements in the range [− 1, 1]. A trial vector is generated by the random search operator. If the trial vector is superior to the current solution, the trial vector will be used to replace the current solution. RPMDE uses the operator to update solutions to avoid the local optimum, and it also guides population search direction.

3.4 Updating the parameter values

Generally, scaling factor F and crossover rate CR are constant in the standard DE algorithm. Thus, all solutions use the same F and CR in the process of evolution. The scaling factor and crossover rate are adjusted by levy distribution and uniform distribution at each iteration in the RPMDE algorithm, which is useful to guarantee the multiplicity of the population. The scaling factor F and crossover rate CR can be defined as the following expressions:

$$\begin{aligned}&F\sim L(r,\psi ) \end{aligned}$$
(17)
$$\begin{aligned}&{\textit{C}R}\sim Ud(m-\delta ,m+\delta ) \end{aligned}$$
(18)

L denotes a levy distribution, which can be formulized as Eq. (19) (Gong et al. 2010). Scaling factor r is positive. \(\psi \) within the range (0,2) influences the shape of the distribution. \(Ud(m-\delta ,m+\delta )\) is defined as a uniform distribution with mean m and deviation \(\delta \). To ensure performance, both F and CR should fluctuate in a specific range.

$$\begin{aligned} L(r,\psi )=\frac{1}{\pi }\int _0^{+\infty } {e^{-\gamma q^{\psi }}\cos (qy)} \mathrm{d}q \end{aligned}$$
(19)

The RPMDE flowchart and procedure are described in Fig. 1 and Table 1.

Fig. 1
figure 1

The flowchart of the RPMDE

Table 1 Pseudo-code of RPMDE

4 Benchmark function

To test the performance of RPMDE, 15 benchmark functions in IEEE CEC2015 are employed. These 15 benchmark functions defined by Qu et al. (2016) with diversified characters are shown in Table 2. The optimal solution and the domain of variables of \(F_1 \sim F_{15} \) are also presented in Table 2.

Table 2 Benchmark function

5 Experimental results and analyses

To validate the performance of the proposed RPMDE algorithm, the RPMDE algorithm is compared with six other representative DE algorithms: DE (Storn and Price 1996), NDE (Deng et al. 2009), SADE (Brest et al. 2006), JADE (Zhang and Sanderson 2009), SHADE (Tanabe and Fukunaga 2013) and MDE (Zou et al. 2013). The control parameters for the six algorithms are set as follows: the control parameters of DE are set to scale factor \(F=0.6\), \({\textit{C}R}=0.5\); scale factor F is set to 0.6 and CR is set to 0.8 for NDE; for SADE, the minimum value of scale factor \(F_{l}\) is set to 0.1 and the maximum value of scale factor \(F_{u}\) is set to 0.9, while \(\tau _1 \) and \(\tau _2 \) probabilities are both set to 0.1; F and CR are both set to 0.5 for JADE; the memory size H is set to 100, and both F and CR are initially set to 0.5 for SHADE; for MDE, the Gaussian distribution with mean \(\mu _F \)= 0.75 and standard deviation \(\delta _F =0.1\) are set to generate scale factor, while uniform distribution with mean \(\mu _{\mathrm{CR}} =0.9\) and standard deviation \(\delta _{\mathrm{CR}} =1/{10\sqrt{3}}\) are set to produce the crossover rate. For RPMDE, uniform distribution with the same mean and standard deviation as MDE is set for the crossover rate, but the levy distribution with parameters \(r=1\) and \(\psi =0.8\) is set to generate the scale factor. For instances, four dimension sizes of 10, 30, 50, 100 are adopted; population sizes are set as 10*D; 50 independent trials are carried out in each instance. For functions \(F_{1}-F_{15}\), the means and standard deviations of optimal solutions averaged for 50 trials are presented in Tables 3, 4 and 5. The T test, also called Student’s T test, is a statistical method that is used to assess whether the difference between the means of two independent samples is significant. The T test is employed to determine whether the results obtained by RPMDE are significantly different from those obtained by the other variants of the DE algorithm. T tests at the 5% significance level were conducted, and the results are shown in Tables 7, 8, 9 and 10. If the significance level is lower than 5%, it indicates that there are significant differences between the solutions obtained by RPMDE and the other variants of the DE algorithm. Otherwise, there are no significant differences between the solutions obtained by RPMDE and the other variants of the DE algorithm.

Table 3 The comparison of DE, NDE, SADE, MDE, JADE, RPMDE, SHADE for fifteen instances (\(D=10\)) with means and standard deviations
Table 4 Comparison of DE, NDE, SADE, MDE, JADE, RPMDE, SHADE on fifteen instances (\(D=30\)) with means and standard deviations

The results from Table 3 indicate that RPMDE performs better than the other six approaches on two functions (\(F_{3}\), \(F_{6})\) in terms of the values of the criteria ‘mean’ and ‘standard deviation’, and it only has a better ‘mean’ with respect to \(F_{1}\), \(F_{4}\), \(F_{5}\), \(F_{7}\), \(F_{9}\), and \(F_{12}\). Compared with the six other approaches, MDE can achieve better ‘standard deviation’ with respect to functions \( F_{7 }\) and \(F_{11}\). SHADE is similar to MDE; it also achieves an enhanced ‘standard deviation’ on functions \(F_{4}\) and \(F_{5}\). Furthermore, SHADE achieves the best ‘mean’ on function \(F_{11}\). Regarding \(F_{2}\), DE performs better than the other approaches according to the criteria ’mean’ and ’standard deviation’, and it also outperforms the other approaches in terms of the criterion ’mean’ on function \(F_{13}\). SADE has good performance on function \(F_{8}\) and function \(F_{10}\). For the two functions, both ‘mean’ and ‘standard deviation’ are better than in the other six approaches, and SADE outperforms other approaches on function \(F_{1}\) according to the criterion ’standard deviation’. In terms of functions \(F_{12}\) and \(F_{14}\), NDE performs better according to the criterion ’standard deviation’. JADE, as the worst algorithm, outperforms only the other approaches on function \(F_{13}\). It is interesting that the same means and standard deviations on function \(F_{15}\) are found in SADE, MDE, JADE and RPMDE.

In Table 3, the percentage of the best results in both mean and standard deviation by RPMDE among 15 benchmark functions is 20%. The percentage of the optimal mean obtained by RPMDE among 15 benchmark functions is 66.7%. The percentage of the optimal standard deviation obtained by RPMDE among 15 benchmark functions is 20%. The percentage of the best results in both mean and standard deviation by DE among 15 benchmark functions is 6.7%. The percentage of the optimal mean obtained by DE among 15 benchmark functions is 13.3%. The percentage of the optimal standard deviation obtained by DE among 15 benchmark functions is 13.3%. The percentage of the best results in both mean and standard deviation by NDE among 15 benchmark functions is 6.7%. The percentage of the optimal mean obtained by NDE among 15 benchmark functions is 6.7%. The percentage of the optimal standard deviation obtained by NDE among 15 benchmark functions is 13.3%. The percentage of the best results in both mean and standard deviation by SADE among 15 benchmark functions is 20%. The percentage of the optimal mean obtained by SADE among 15 benchmark functions is 20%. The percentage of the optimal standard deviation obtained by SADE among 15 benchmark functions is 33.3%. The percentage of the best results in both mean and standard deviation by MDE among 15 benchmark functions is 6.7%. The percentage of the optimal mean obtained by MDE among 15 benchmark functions is 6.7%. The percentage of the optimal standard deviation obtained by MDE among 15 benchmark functions is 20%. The percentage of the best results in both mean and standard deviation by JADE among 15 benchmark functions is 6.7%. The percentage of the optimal mean obtained by JADE among 15 benchmark functions is 6.7%. The percentage of the optimal standard deviation obtained by JADE among 15 benchmark functions is 13.3%. The percentage of the best results in both mean and standard deviation by SHADE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by SHADE among 15 benchmark functions is 6.7%. The percentage of the optimal standard deviation obtained by SHADE among 15 benchmark functions is 13.3%. Table 7 shows that there are significant differences between the solutions obtained by RPMDE and the other variants of the DE algorithm.

As shown in Table 4, RPMDE performs better than the other six approaches on three functions (\(F_{1}\), \(F_{4}\), and \(F_{15})\) according to the values of the criteria ‘mean’ and ‘standard deviation’ and it only has better ‘means’ with respect to \(F_{3}\), \(F_{5}\), \(F_{6}\), \(F_{7}\), and \(F_{8}\). In terms of functions \(F_{11}\) and \(F_{13}\), a better ‘mean’ is achieved by SHADE, and SADE yields the best ‘standard deviation’. SADE can also achieve a better standard deviation on functions \(F_{5}\), \(F_{6}\), \(F_{7}\) and \(F_{12 }\) and better ‘mean’ on function \(F_{14}\). DE outperforms the other approaches on functions \(F_{2}\) and \(F_{10}\) in terms of the criteria ‘mean’ and ‘standard deviation’ and has a better ‘standard deviation’ on functions \(F_{3}\) and \(F_{8}\). Furthermore, NDE performs better on functions \(F_{9}\) and \(F_{12}\) for the criterion ‘mean’ and has a better ‘standard deviation’ on function \(F_{9}\).

In Table 4, the percentage of the best results in both mean and standard deviation by RPMDE among 15 benchmark functions is 20%. The percentage of the optimal mean obtained by RPMDE among 15 benchmark functions is 53.3%. The percentage of the optimal standard deviation obtained by RPMDE among 15 benchmark functions is 20%. The percentage of the best results in both mean and standard deviation by DE among 15 benchmark functions is 13.3%. The percentage of the optimal mean obtained by DE among 15 benchmark functions is 13.3%. The percentage of the optimal standard deviation obtained by DE among 15 benchmark functions is 26.7%. The percentage of the best results in both mean and standard deviation by NDE among 15 benchmark functions is 6.7%. The percentage of the optimal mean obtained by NDE among 15 benchmark functions is 13.3%. The percentage of the optimal standard deviation obtained by NDE among 15 benchmark functions is 6.7%. The percentage of the best results in both mean and standard deviation by SADE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by SADE among 15 benchmark functions is 6.7%. The percentage of the optimal standard deviation obtained by SADE among 15 benchmark functions is 40%. The percentage of the optimal mean, optimal standard deviation and optimal both obtained by MDE are 0%. The percentage of the best results in both the mean and standard deviation by JADE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by JADE among 15 benchmark functions is 0%. The percentage of the optimal standard deviation obtained by JADE among 15 benchmark functions is 6.7%. The percentage of the best results in both mean and standard deviation by SHADE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by SHADE among 15 benchmark functions is 13.3%. The percentage of the optimal standard deviation obtained by SHADE among 15 benchmark functions is 0%. Table 8 shows that there are significant differences between the solutions obtained by RPMDE and the other variants of the DE algorithm.

Table 5 Comparison of DE, NDE, SADE, MDE, JADE, RPMDE, SHADE on fifteen instances (\(D=50\)) with means and standard deviations

The benchmark optimization results with \(D=50\) obtained by different approaches are shown in Table 5, RPMDE outperforms the other approaches on 4 functions (\(F_{1}\), \(F_{6}\), \(F_{8}\), and \(F_{10})\) for the criteria ‘mean’ and ‘standard deviation’, and it only has a better ‘mean’ with respect to \(F_{3}\), \(F_{5}\), \(F_{7}\), and \(F_{9}\). Regarding functions \(F_{3}\) and \(F_{9}\), NDE yields a better ‘standard deviation’. In terms of functions \(F_{5}\) and \(F_{7}\), the best standard deviations are achieved by JADE and SADE. DE outperforms the other approaches on functions \(F_{2}\) and \(F_{15}\) in terms of the criteria ‘mean’ and ’standard deviation’. SADE performs better than the other approaches on function \(F_{14}\) according to the criteria ’means’ and ‘standard deviation’. It also has a better ‘standard deviation’ on functions \(F_{4}\). With respect to functions \(F_{4}\) and \(F_{12}\), the value of criterion ‘mean’ achieved by NDE is superior to the others. Furthermore, the performance of JADE and SHADE on functions \(F_{11 }\) and \(F_{13}\) is different from that of other approaches.

In Table 5, the percentage of the best results in both mean and standard deviation by RPMDE among 15 benchmark functions is 26.7%. The percentage of the optimal mean obtained by RPMDE among 15 benchmark functions is 53.3%. The percentage of the optimal standard deviation obtained by RPMDE among 15 benchmark functions is 26.7%. The percentage of the best results in both the mean and standard deviation by DE among 15 benchmark functions is 13.3%. The percentage of the optimal mean obtained by DE among 15 benchmark functions is 13.3%. The percentage of the optimal standard deviation obtained by DE among 15 benchmark functions is 13.3%. The percentage of the best results in both mean and standard deviation by NDE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by NDE among 15 benchmark functions is 13.3%. The percentage of the optimal standard deviation obtained by NDE among 15 benchmark functions is 13.3%. The percentage of the best results in both mean and standard deviation by SADE among 15 benchmark functions is 6.7%. The percentage of the optimal mean obtained by SADE among 15 benchmark functions is 6.7%. The percentage of the optimal standard deviation obtained by SADE among 15 benchmark functions is 20%. The percentage of the optimal mean, optimal standard deviation and optimal both obtained by MDE are 0%. The percentage of the best results in both mean and standard deviation by JADE among 15 benchmark functions is 6.7%. The percentage of the optimal mean obtained by JADE among 15 benchmark functions is 6.7%. The percentage of the optimal standard deviation obtained by JADE among 15 benchmark functions is 20%. The percentage of the best results in both mean and standard deviation by SHADE among 15 benchmark functions is 6.7%. The percentage of the optimal mean obtained by SHADE among 15 benchmark functions is 6.7%. The percentage of the optimal standard deviation obtained by SHADE among 15 benchmark functions is 6.7%. Table 9 shows that there are significant differences between the solutions obtained by RPMDE and the other variants of the DE algorithm.

Table 6 The comparison of DE, NDE, SADE, MDE, JADE, RPMDE, SHADE on nine instances (\(D=100\)) with means and standard deviations
Table 7 T tests of the results of RPMDE and other variants of the DE algorithm at a 0.05 significance level with \(D=10\)
Table 8 T tests of the results of RPMDE and other variants of the DE algorithm at a 0.05 significance level with \(D=30\)
Table 9 T tests of the results of RPMDE and other variants of the DE algorithm at a 0.05 significance level with \(D=50\)
Table 10 T tests of the results of RPMDE and other variants of the DE algorithm at a 0.05 significance level with \(D=100\)
Table 11 The CPU time for all functions over 30 trials with \(D=10\)
Table 12 The CPU time for all functions over 30 trials with \(D=30\)
Table 13 The CPU time for all functions over 30 trials with \(D=50\)
Table 14 The CPU time for all functions over 30 trials with \(D=100\)

When dimension is equal to 100, the optimization results with RPMDE are similar to that with \(D=50\) on functions \(F_{1}\) and \(F_{6}\). The values of the criteria ‘mean’ and ‘standard deviation’ on these functions are both better than in other approaches. Regarding functions \(F_{3}\) and \(F_{5}\), RPMDE has the advantage of the criteria ‘mean’ relative to the other approaches. However, the best values of the criterion ‘standard deviation’ are achieved by SHADE. Relative to other approaches, NDE yields better values of the criterion ‘mean’ on functions \(F_{4}\), \(F_{7}\) and \(F_{9}\), whereas the best values of the criterion ‘standard deviation’ are achieved by JADE, SADE and DE. In terms of functions \(F_{12}\) and \(\hbox {F}_{13}\), SADE and RPMDE obtain better mean values, and better standard deviations are achieved by DE and SADE.

In Table 6, the percentage of the best results in both the mean and standard deviation by RPMDE among 15 benchmark functions is 22.2%. The percentage of the optimal mean obtained by RPMDE among 15 benchmark functions is 55.6%. The percentage of the optimal standard deviation obtained by RPMDE among 15 benchmark functions is 22.2%. The percentage of the best results in both the mean and standard deviation by DE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by DE among 15 benchmark functions is 0%. The percentage of the optimal standard deviation obtained by DE among 15 benchmark functions is 22.2%. The percentage of the best results in both the mean and standard deviation by NDE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by NDE among 15 benchmark functions is 33.3%. The percentage of the optimal standard deviation obtained by NDE among 15 benchmark functions is 0%. The percentage of the best results in both the mean and standard deviation by SADE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by SADE among 15 benchmark functions is 11.1%. The percentage of the optimal standard deviation obtained by SADE among 15 benchmark functions is 22.2%. The percentage of the optimal mean, optimal standard deviation and optimal both obtained by MDE are 0%. The percentage of the best results in the both mean and standard deviation by JADE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by JADE among 15 benchmark functions is 0%. The percentage of the optimal standard deviation obtained by JADE among 15 benchmark functions is 11.1%. The percentage of the best results in both the mean and standard deviation by SHADE among 15 benchmark functions is 0%. The percentage of the optimal mean obtained by SHADE among 15 benchmark functions is 0%. The percentage of the optimal standard deviation obtained by SHADE among 15 benchmark functions is 22.2%. Table 10 shows that there are significant differences between the solutions obtained by RPMDE and the other variants of the DE algorithm.

According to Tables 3, 4, 5, 6, 7, 8, 8, 9 and 10 and the corresponding analysis, it is indicated that the percentages of obtaining the optimal mean and standard deviation, obtaining the optimal mean and obtaining the optimal standard deviation by RPMDE are higher than or equal to those of the other five variants of the DE algorithm except SADE. When the dimension is equal to 10 or 30, the percentage of obtaining the optimal standard deviation by RPMDE is lower than that by SADE. The standard deviation is a measure that is used to quantify the amount of variation or dispersion in a set of data values. A low standard deviation indicates that the data points tend to be close to the mean, while a high standard deviation indicates that the data points are spread out over a wider range of values, which means that it cannot reflect the accuracy of the solutions. In reality, many independent trials are carried out so that the mean represents an optimal solution obtained by evolution algorithms to avoid the contingency of algorithms. In other words, the mean can reflect the accuracy of solutions obtained by evolution algorithms to some extent. RPMDE is beneficial to obtaining the optimal mean, as can be concluded from the above. Furthermore, T tests show that there are significant differences between the solutions obtained by RPMDE and the other variants of the DE algorithm. Hence, RPMDE outperforms the other six variants of the DE algorithm in terms of the accuracy of the solutions.

To evaluate the computational efficiency of the proposed algorithm, the CPU times obtained with an Intel i5-4460 dual-core processor and 4G RAM for algorithms with different functions are shown in Tables 11, 12, 13 and 14. Table 11 shows that the CPU cost of RPMDE is higher than those of the other algorithms except for \(F_{1}-F_{6}\), and it can be concluded from Table 12 that the time cost of RPMDE is larger than that of the other algorithms for functions \(F_{10}\), \(F_{11}\) and \(F_{15}\). Furthermore, according to Table 13, the computational overhead of RPMDE is only larger than that of the other algorithms on functions \(F_{11}\) and \(F_{15}\). RPMDE takes more time to calculate all function optima when dimensionality increases. The good performance of RPMDE is bound to increase its execution time. In most cases, due to the random search operator, RPMDE takes longer to execute. However, RPMDE does not always need more execution time, and the execution time can be improved with \(D=30\), \(D=50\) and \(D=100\) compared with other approaches, which indicates that the adaptation to high dimensionality is better for RPMDE.

In conclusion, RPMDE is superior to the other six approaches with respect to accuracy, and the execution time will be improved with high dimensionality when dealing with optimization problems. The results can be classified into three improvements by RPMDE: first, levy distribution and uniform distribution are employed to generate scale factor F and crossover rate CR; second, a designed effective difference operator is adopted by RPMDE; third, a proposed random search operator is used to update solutions. Adaptive and robust operators provide excellent performance of RPMDE.

6 Conclusions

This paper proposes a random perturbation differential evolution algorithm to address unconstrained optimization problems. Three aspects of DE algorithms are improved to design a new RPMDE: First, levy distribution that is applied to every generation is adopted to generate scale factor; the measure can provide each candidate solution the corresponding parameters, which guarantees the multiplicity of population. Then, an effective difference operator is designed to update the candidate solutions for promoting the convergence of the RPMDE algorithm. Last, a proposed random search operation is adopted, which may offer a better solution to replace the current solution; the operator is applied as an effective means to avoid trapping in local optima to improve the quality of solutions. The performance of RPMDE is verified by using 15 benchmark functions. The experimental results show that RPMDE is an adaptive and robust approach that can obtain better solutions than the other six approaches for most unconstrained optimization problems. Because of the random search operator, the computational cost of RPMDE is high. Therefore, determining how to reduce the cost that results from the random search operator is a goal for future research.