Introduction

Differential evolution (DE) algorithm is one of the most efficient evolutionary algorithms, which was firstly proposed by Storn and Price (1997). During the past decade, numerous competitive DE-based algorithms were presented to solve the constrained optimization problems (COPs). Most optimization problems in real world which are subjected to constraints can be categorized into COPs, such as scheduling (Artigues and Lopez 2014; Naber and Kolisch 2014; Brajevic and Tuba 2013), engineering design optimization (Kanagaraj et al. 2014; Flager et al. 2014), optimal control of systems (Ellis and Christofides 2014) and etc. As a significant portion of engineering design optimization problems is under the category of COP, this paper focuses on solving COPs using evolutionary algorithm. A general COPs can be stated as follows:

$$\begin{aligned} \begin{array}{l} \min f\left( {\vec {x}} \right) \\ s.t.\;g_j \left( {\vec {x}} \right) \le 0,\quad j=1,\ldots ,q \\ \quad \quad h_j \left( {\vec {x}}\right) =0,\quad j=q+1,\ldots ,m \\ \end{array} \end{aligned}$$
(1)

where \(\vec {x}=({x_1,\ldots ,x_n})\) is generated within the range\(L_i <x_i <U_i \). \(L_i\) and \(U_i\) denote the lower and upper bound in each dimension. \(g_j ({\vec {x}})\) denotes the jth inequality constraint and \({{\mathbf {h}}}_j ({\vec {x}})\) denotes the \((j-q)\)th equality constraint. Solving COPs is difficult especially when the feasible region is small and there are numerous constraint conditions. So the researches based on COPs will never end.

Many methods have been proposed for COPs. Generally, they can be divided into three main categories (Mezura-Montes and Coello 2011), namely, the method based on transforming the COPs into unconstrained optimization problems, the method based on multi-objective techniques, and the method based on adding extra rules or operator.

  1. (1)

    The method based on transforming COPs into unconstrained optimization problems.

    The representative of this kind of method is penalty function method. Penalty function method is a simple but effective method in dealing with COPs. Although this method is simple to implement, it is difficult to find a good balance between objective and penalty functions. Since the penalty function method proposed, many researchers have proposed several improved versions. Huang et al. (2007) proposed a co-evolutionary DE algorithm, in which a special adaptive penalty function was proposed to deal with the constraints. Although dynamic penalty factor setting method (Puzzi and Carpinteri 2008; Montemurro et al. 2013), adaptive penalty function method (Tessema and Yen 2009) have been proposed, it is still difficult to set the best penalty function factor for all the objectives.

  2. (2)

    The method based on multi-objective technique.

    Wang and Cai (2012) introduced a multi-objective technique with DE algorithm to solve COPs. An infeasible solution replacement mechanism based on multi-objective approach is proposed. The infeasible solution replacement mechanism is a Pareto-dominance-like method to compare the objective and constraints violations between the solutions. The method mainly focuses on guiding the population moving towards to the promising and feasible region more efficiently. Gong and Cai (2008) proposed a multi-objective technique based DE for COPs, in which multi-objective technique based constraint handling technique was proposed. Though the above methods are highly effective in solving COPs, however, it is still difficult to design an effective framework for using multi-objective techniques to tackle COPs.

  3. (3)

    The method by adding extra rules or operator.

    Storn (1999) proposed a constraint adaptive method, which firstly makes all the individuals as feasible ones by relaxing the constraints then decreases the relaxation till reaching the original constraints. Deb’s rule (Deb 2000) is an effective method in dealing with COPs, but it may be over-penalization, since the infeasible solutions are always better than the feasible ones. Domínguez-Isidro et al. (2013) proposed the memetic DE algorithm, which implements the mathematical programming method named Powell’s conjugate direction as a local search operator. Although the method is effective, the time-consuming of the mathematical programming may be huge. Among these researches, \(\varepsilon \)DE method proposed by Takahama and Sakai (2006) is a very effective one, in which \(\varepsilon \) constraint handling technique is used to deal with the constraints. The experimental results showed that the \(\varepsilon \)DE not only could find the feasible solutions rapidly, but also could achieve excellent successful performance.

The \(\varepsilon \)DE algorithm, as a promising representative of the last category, is an effective method in dealing with COPs and many researchers have made improvement on it. Takahama and Sakai (2010a) proposed the improved \(\varepsilon \)DE with an archive and gradient-based mutation, In this method, a local search based on the information of first-order derivative was proposed. However, it is usually difficult to calculate the first-order derivative. Also, the calculation of first-order derivative is time-cost. Based on this, Takahama and Sakai (2013) proposed \(\varepsilon \)DE with rough approximation using kernel regression. However, this method still suffers from the huge time-cost of the approximation process. Rather than improving the constraint handling technique in \(\varepsilon \)DE, another direction to improve the performance of the \(\varepsilon \)DE is to improve the DE algorithm. Takahama and Sakai (2010b) proposed an adaptive DE based \(\varepsilon \)DE algorithm and then the rank-based DE based \(\varepsilon \)DE (Takahama and Sakai 2012). Comparing with the constraint handling technique in \(\varepsilon \)DE, the algorithm engine has a limited influence on the performance of \(\varepsilon \)DE. Hence the motivation of our research is focusing on designing a novel mutation operator that drives the population toward epsilon feasible region.

A variety of DE variants for COPs have been proposed in past years. Mutation operator, as an important component of DE algorithm, has great influence on the efficiency in solving the COPs. The motivation of our method is mainly utilizing the information of the feasible and the infeasible individuals, which focuses on guiding the infeasible individuals to move along the directions of the feasible individuals. In this way can we lead the infeasible individuals moving into the feasible region and then find the optimum effectively. The preliminary idea had been published in Yi et al. (2015). We propose a novel mutation operator that is specially designed for COPs, which serve as the local search engine for the \(\varepsilon \)DE algorithm. Wang et al. (2013) proposed predatory search strategy based on particle swarm optimization (PSO-PSS). In the method, they use the Euclidean distance from each individual to the best individual to define the neighborhood of the search. When the search begins, it starts with the minimum distance neighborhood, if no better solution finds, then search with the second to the minimum distance neighborhood. Once the better solution found, the Euclidean distance should be updated. The proposed algorithm differs from the PSO-PSS algorithm from the following aspect: First, we do not use the Euclidean distance based neighborhood. Instead, the “DE/current-to-feasible/2”operator is proposed, which randomly search the area around the current individual with the multi-direction combined that pointed to the possible less constraint violation area. Second, the proposed algorithm does not need to updated the Euclidean distance once a better solution is find. Instead, when all individuals are evaluated after one iteration ends, we can get the updated feasible individual set without extra computation.

In order to evaluate the performance of the proposed algorithm, 24 famous benchmark test functions collected from the special session on the constrained real-parameter optimization of the 2006 IEEE Congress on Evolutionary Computation (IEEE CEC2006). Four real-world engineering design optimization problems and a case study on car side impact design are adopted in this article and the comparisons among proposed method and state-of-the-art algorithms are also conducted. Experimental results show that the proposed algorithm can achieve good solutions on these engineering design problems.

This article is organized as follows. We firstly give a general introduction of DE algorithm and \(\varepsilon \)DE in “DE and \(\varepsilon \)DE algorithm” section. In “The proposed \(\varepsilon \)DE-LS algorithm” section, the proposed \(\varepsilon \)DE-LS algorithm is introduced in detail, which contains the framework. The experimental results and the comparisons are presented in “Experimental results” section. “Case study: car side impact design” section presents a case study in engineering design optimization. Finally, conclusions and future work are given in “Conclusion and future work” section.

DE and \(\varepsilon \)DE algorithm

DE algorithm

DE algorithm is an efficient but simple evolutionary algorithm (EA), which can be divided into four phases, which are the initialization, mutation, crossover and selection. During the initialization phase, the NP (number of population) n-dimensional individuals \(x_i^g =( {x_{i,1}^g, \ldots ,x_{i,n}^g})\), \(i=1,\ldots ,\textit{NP}\) are generated. g denotes the generation number. Then the mutation phase is adopted to generate the mutation vectors. Several mutation operators have been proposed in past years. The DE/rand/1/exp is the commonly used one, where exp denotes the exponential crossover operator. The mutation vector can be calculated as follows:

$$\begin{aligned} v_i^g =x_{r1}^g +F *\left( x_{r2}^g -x_{r3}^g\right) \end{aligned}$$
(2)

where F denotes the predefined scale parameter, \(r_{1}\), \(r_{2}\), and \(r_{3}\) are three mutually different generated indexes which should be different from index i within the range [1, NP]. Then a check will be made to ensure all the elements in the generated \(v_i^g\) are within the boundaries, which can be described as follows:

$$\begin{aligned} v_{i,j}^g =\left\{ {\begin{array}{ll} \min \left\{ U_j, 2 *L_j -v_{i,j}^g \right\} ,&{} \quad \hbox {if}\;v_{i,j}^g <L_j \\ \max \left\{ L_j, 2 *U_j -v_{i,j}^g \right\} ,&{}\quad \hbox {if}\;v_{i,j}^g >U_j \\ \end{array}} \right. \end{aligned}$$
(3)

where \(L_j\) and \(U_j\) denote the lower and upper bound in jth dimension.

The exponential crossover operator makes the trail vector contains a consecutive sequence of the component taken from the mutation vector. The exponential crossover operator can be given as follow:

$$\begin{aligned} u_{i,j}^g \!=\!\left\{ {\begin{array}{ll} v_{i,j}^g,&{}\quad if\;j\!\in \!\left\{ k,\left\langle {\left. {k+1} \right\rangle } \right. _n, \ldots ,\left\langle {\left. {k+L-1} \right\rangle _n } \right. \right\} \\ x{ }_{i,j}^g,&{} \quad otherwise \\ \end{array}} \right. ,\quad j\!=\!1,\ldots ,{\mathrm{n}} \end{aligned}$$
(4)

where \(L,k\in [1,{\mathrm{n}}]\) are both random indexes. \(\langle j \rangle \) is j if \(j<n\) and \(j=j-n\) if \(j>n\).

During the selection phase, a better individual between the trail vector \(u_i^g\) and target vector \(x_i^g\) will be chosen according to their objective function value:

$$\begin{aligned} x_i^{g+1} =\left\{ {\begin{array}{ll} u_i^g,&{}\quad if\;f\left( u_i^g\right) <f\left( x_i^g\right) \\ x_i^g,&{}\quad else \\ \end{array}} \right. \end{aligned}$$
(5)

\(\varepsilon \)DE algorithm

In the \(\varepsilon \)DE algorithm, the constraint violation \(\Phi (\hbox {x}_i^g)\) is defined as the sum of all constraints:

$$\begin{aligned} \Phi \left( \hbox {x}_i^g\right) =\sum _{j=1}^q {\max \left\{ 0,g_j \left( \hbox {x}_i^g\right) \right\} } +\sum _{j=q+1}^m {h_j \left( \hbox {x}_i^g\right) } \end{aligned}$$
(6)

After generating the new target vector through the DE algorithm. The \(\varepsilon \) level comparison is used in \(\varepsilon \)DE algorithm to help deciding which individual is better. The comparison can be given as follows:

$$\begin{aligned} \left( {\left. {f_1, \Phi _1}\right) } \right. <_\varepsilon \left( {\left. {f_2, \Phi _2 } \right) } \right. \Leftrightarrow \left\{ {\begin{array}{ll} f_1 <f_2,&{} \quad if\;\Phi _1, \Phi _2 \le \varepsilon \\ f_1 <f_2,&{}\quad if\;\Phi _1 =\Phi _2 \\ \Phi _1 <\Phi _2,&{}\quad otherwise \\ \end{array}} \right. \end{aligned}$$
(7)

where \(f_{1}\) and \(f_{2}\) are the objective fitness functions values, and the \(\varepsilon \) level is dynamically decreased along the generation number increases until it reaches to zero. We can see that for comparison between individuals whose constraint violation is small than \(\varepsilon \), we treat them as generalized feasible individuals by just comparing their objective fitness functions values and we can note them by \(\varepsilon \)-feasible individuals for short. The value of the \(\varepsilon \) is set as formula given below:

$$\begin{aligned} \varepsilon (g)=\left\{ \begin{array}{ll} \Phi \left( {x_\theta } \right) ,&{} \quad g=0\\ \varepsilon (0) *\left( 1-g/{T_c}\right) ^{cp},&{} \quad 0<g<T_c \\ 0,&{} \quad g\ge T_c \\ \end{array} \right. \end{aligned}$$
(8)

where \(x_\theta \) is the top \(\theta \)th individual in the initialization population and often set \(\theta =0.2 *N\) in the article. \(T_{c}\) is a predefined generation number. cp is the control parameter in \(\upvarepsilon \) level comparison and is set as 5 in the article.

Fig. 1
figure 1

The “DE/current-to-feasible/2” mutation operator

Fig. 2
figure 2

The pesudocode of \(\varepsilon \)DE-LS algorithm

From the experimental results obtained by Takahama and Sakai (2006), we can concluded the mechanism in \(\varepsilon \)DE algorithm that expanding the feasible region at first and then narrowing the region into the original one along the evolutionary process is highly effective. The core of the mechanism lets the less constraint-violated individuals guide the evolutionary directions. However, the feasible ones are important to achieve the optimum and hence we can take advantage of the guidance of feasible individuals and make improvement on it.

The proposed \(\varepsilon \)DE-LS algorithm

Usually, in the COPs, the surrounding region of feasible individuals could have higher chance to be feasible. So the feasible individuals can guide the infeasible ones moving towards to the feasible region. “DE/rand/1” mutation operator is the most commonly used operator, in which three vectors are mutually different from each other. So the “DE/rand/1” operator shows no bias to any search directions because the direction is randomly chosen. “DE/rand/2” operator adds more perturbation than “DE/rand/1” by adding one more difference vector. “DE/current-to-rand/1”operator starts from the current individual, it can avoid individual not being selected as starting point. “DE/current-to-rand/1” can ensure each individual can serve as the starting point in an iteration. “DE/current-to-rand/2” operator adds one more difference vector, which may search more region than “DE/current-to-rand/1” operator by adding more perturbation. While for operators like “DE/best/1” and “DE/best/2” start their search direction at the best individual every time may lead to the early convergence or may not be effective in solving multimodal problems.

DE/rand/1

$$\begin{aligned} v_i^g =x_{r1}^g +F *\left( x_{r2}^g -x_{r3}^g \right) \end{aligned}$$

DE/rand/2

$$\begin{aligned} v_i^g =x_{r1}^g +F *\left( x_{r2}^g -x_{r3}^g \right) +F *\left( x_{r4}^g -x_{r5}^g\right) \end{aligned}$$

DE/current-to-rand/1

$$\begin{aligned} v_i^g =x_i^g +F *\left( x_{r2}^g -x_{r3}^g \right) \end{aligned}$$

DE/current-to-rand/2

$$\begin{aligned} v_i^g =x_i^g +F *\left( x_{r2}^g -x_{r3}^g \right) +F^*\left( x_{r4}^g -x_{r5}^g \right) \end{aligned}$$

DE/best/1

$$\begin{aligned} v_i^g =x_{best}^g +F *\left( x_{r2}^g -x_{r3}^g \right) \end{aligned}$$

DE/best/2

$$\begin{aligned} v_i^g =x_{best}^g +F *\left( x_{r2}^g -x_{r3}^g \right) +F^*\left( x_{r4}^g -x_{r5}^g \right) \end{aligned}$$

So based on the above analysis on the mutation operators, “DE/current-to-rand/2” operator is served as the prototype of the proposed mutation operator. As researches shown (Gong and Cai 2013; Zhou et al. 2013) that the terminal point of the difference vector with better value can help the DE algorithm gain better results. Motivated by these researches and the interaction between the feasible and infeasible individuals, we set the terminal point of the difference vector as feasible ones in the local search. So we design a novel local search operator “DE/current-to-feasible/2” to improve the performance of \(\upvarepsilon \)DE algorithm. The “DE/current-to-feasible/2” is a transformation version of “DE/current-to-rand/2” mutation operator. It can be presented as follow:

$$\begin{aligned} v_i^g =x_i^g +a *\left( {\left. {x_{feas\_r_1 }^g -x_i^g } \right) } \right. +b *\left( {\left. {x_{feas\_r_2 }^g -x_i^g } \right) } \right. \end{aligned}$$
(9)

where \(feas\_r_1 \) and \(feas\_r_2 \) are two random indexes chosen from the feasible individual set Q. So the number of feasible individuals must be more than 2. One point should be noted is that the feasible individual here we mention actually is \(\varepsilon \)-feasible individual, which is considered as generalized feasible ones in \(\varepsilon \)DE algorithm. The reason that we set \(\varepsilon \)-feasible as feasible ones is for some complex problems it is difficult to find real feasible ones for the whole evolutionary process, Another reason is that in \(\varepsilon \)DE algorithm the \(\varepsilon \)-feasible individuals are less constraint violated individuals and by using the proposed mutation operator it can help guide the individuals moving towards to the feasible region. a and b are two random generated numbers within the range [0, 1], in these way can we have more perturbation on the search direction. If any dimension in \(v_i^g\) exceeds the boundary, then randomly choose a feasible individual and make the specific dimension in \(v_i^g\) be equal to the related dimension in chosen feasible individual. The mutation operator can also be described in the Fig. 1.

So in the proposed \(\varepsilon \)DE-LS, DE algorithm is used to generate offspring and \(\varepsilon \) constrained method is used to choose better individual to survive into next generation, and the proposed “DE/current-to-feasible/2” plays as the local search engine to search the area along to the feasible individual direction. For those infeasible solutions, if the number of feasible individuals is \(<\)2, the local search phase is skipped. If the number of feasible individuals is more than 2, then for each infeasible individual, local search operator is used. Then the \(\varepsilon \) level comparison is adopted to choose a better one between the individual and offspring generated by local search operator. The framework of the proposed \(\varepsilon \)DE-LS algorithm can be given as follows (Fig. 2):

Experimental results

Parameter settings

The 24 famous benchmark test functions collected from CEC 2006 (Liang et al. 2006) are adopted in evaluating the performance of the proposed algorithm. The detailed information about the benchmark can be referred to Liang et al. (2006). The parameter settings of the proposed algorithm are shown in Table 1.

Table 1 Parameter settings of \(\varepsilon \)DE-LS algorithm

Performance of \(\varepsilon \)DE-LS algorithm

Twenty-five independent runs are conducted for the test benchmark functions with \(5\times 10^{3}\), \(5\times 10^{4}\), \(5\times 10^{5}\) FES, respectively. The torlerance value \(\delta \) for the equality constraints is set as 0.0001. The best, median, worst, mean and standard deviation of the error value \((f({\vec {x}})-f({\vec {x}^{*}}))\), where \(f(\vec {x}^{*})\) is the best objective fitness function value for each benchmark test function that ever known. c is the number of the violated constraints at the median solution: the three numbers refers to the constraints bigger than 1, between 0.01 and 1.0 and between 0.0001and 0.01, respectively. v is mean value of the violations of all the constraints at the median solution. The number in parentheses after best, median and worst solutions is the number of violated constraints.

Table 2 Function error values achieved when \(\textit{FES}=5\times 10^{3}\), \(\textit{FES}=5\times 10^{4}\) and \(\textit{FES}=5\times 10^{5}\) for function G01-G06
Table 3 Function error values achieved when \(\textit{FES}=5\times 10^{3}\), \(\textit{FES}=5\times 10^{4}\) and \(\textit{FES}=5\times 10^{5}\) for function G07–G12
Table 4 Function error values achieved when \(\textit{FES}=5\times 10^{3}\), \(\textit{FES}=5\times 10^{4}\) and \(\textit{FES}=5\times 10^{5}\) for function G13–G18
Table 5 Function error values achieved when \(\textit{FES}=5\times 10^{3}\), \(\textit{FES}=5\times 10^{4}\) and \(\textit{FES}=5\times 10^{5}\) for function G19–G24

As shown in Tables 2, 3, 4 and 5, within \(5\times 10^{4}\) FES, the functions G02, G03, G04, G09, G10, G12, G19, and G24 can obtain feasible solutionin at least one run. In spite of the test functions G20, G21, and G22, the proposed algorithm can obtatin feasible solution for other twenty-one test benchmark functions in each run within \(5\times 10^{5}\) FES. Compared with the best known solution, the proposed algorithm can obtain equal to or better than the best known solution for at least one run for functions G01, G03, G04, G05, G06, G07, G09, G10, G11, G12, G13, G15, and G17. In conclusion, the proposed algorithm can effectively solve the test functions (except for G20–G21) within \(5\times 10^{5}\) FES.

In Table 7, we present the number of FES needed in each run for each test benchmark function when satisfying the success condition: \(f({\vec {x}})-f({\vec {x}^{*}})\le 1.0\) E \(-\)04 and \(\vec {x}\) is feasible solution. The best, median, worst, mean and SD denote the least, median, most, mean and standard deviation FES when meets the success condition during the 25 independent runs. The feasible rate is the ratio between the feasible solutions and 25 achieved solutions within \(5\times 10^{5}\) FES. The success rate is the ratio between the number of success runs and 25 runs within \(5\times 10^{5}\) FES. The success performance is the mean number of FES for successful runs multiplied by the total runs and divided by the number of successful runs.

Table 6 The success performance, feasible rate and success rate of the \(\varepsilon \)DE-LS algorithm

From Table 6, we can conclude that 19 out of 24 test benchmark functions can achieve 100 % success rate within \(5\times 10^{5}\) FES. \(\varepsilon \)DE-LS algorithm achieves 100 % feasible solutions for 21 out of 24 test benchmark functions. In terms of success performance, \(\varepsilon \)DE-LS algorithm obtained the least FES in test benchmark function G01, G04, G07, G14, G15, and G18 comparing with other six state-of-the-art algorithms. As success performance indicate that the proposed \(\varepsilon \)DE-LS requires \(<\)\(\times \) 10\(^{4}\) FES for four test benchmark functions, \(<\)\(\times \) 10\(^{4}\) FES for 14 test benchmark functions, \(<\)5.0 \( \times \) \(10^{5}\) FES for 21 test benchmark functions to obtain the require accuracy.

To make a vivid description, we give the convergence curve for test benchmark function G01–G24. The convergence curve of \(f({\vec {x}})-f({x^{*}})\) in Figs. 3, 4, 5, 6 and 7. It is particularly to note that the points with \(f(x)-f({x^{*}})\le 0\) are not plotted in Figs. 3, 4, 5, 6 and 7.

We can see from Figs. 3, 4, 5, 6 and 7 that the proposed algorithm can meet the satisfying condition within \(5\times 10^{5}\) FES for the majority of the test fuctions. The majority of the fucntions can converge to its optimum within \(3\times 10^{5}\) FES. Especially for functions G01, G03, G04, G05, G06, G09, G11, G12, G13 G15, and G17, the algorithm can obtain a better solution than the best known solution within \(3\times 10^{5}\) FES.

In terms of the limitation of the proposed algorithm, we can see from the above tables and figures that it fails to solve the G20, G21, and G22. These three functions are all linear functions with relatively small feasible region and lots of equality constraints. The optimums are achieved on the boundary of the feasible region also indicate that these function are consist of strong constraints and are difficult to solve.The feasible solution is usually difficult to find. The proposed algorithm is not efficient enough for these three algorithms, which mainly due to the fact that it should utilize the feasible solutions to guide the searching process (Fig. 8).

Comparison with other state-of-the-art algorithms

In order to further verify the effectiveness of the proposed algorithm, several state-of-the-art algorithms are chosen to make a fair comparison on CEC2006 with \(5\times 10^{5}\) FES for each test function. \(\varepsilon \) constrained differential evolution (\(\varepsilon \)DE) proposed by Takahama and Sakai (2006), combining multi-objective optimization with differential evolution (CMODE) proposed by Wang and Cai (2012), improved (\(\mu +\lambda \))-constrained differential evolution (ICDE) proposed by Jia et al. (2013), improved electromagnetism-like mechanism algorithm (ICEM) proposed by Zhang et al. (2013), and multi-objective optimization based reverse strategy with differential evolution algorithm (MRS-DE) proposed by Gao et al. (2015) are selected. Due to the fact that none of these mentioned algorithms can achieve feasible solution for G20, so the results of G20 is not included in the following Table 10. The comparison results are presented in Tables 7, 8, 9 and 10, in which the boldface indicates the best results among these algorithms. All the results are adopted from the original article mentioned above.

Only comparing with \(\varepsilon \)DE algorithm, we can find that the \(\varepsilon \)DE-LS obtains eleven better solutions in terms of best, median, worst, mean solution over the 25 independent runs for functions G02–G09, G13–G16, and G24. Three similar solutions for three functions G01, G11, and G12, which are already the global optimum reported by Liang et al. (2006). For functions G07, G18, G21–G23, less competitive are obtained by \(\varepsilon \)DE-LS and the reason may mainly be the relatively the proposed local search are less effective than gradient-based mutation using gradient matrix when facing with small feasible region. Partly better solutions are achieved for functions G10, G14, G17, and G19. We can conclude that the proposed local search is effective for the majority of the functions.

Comparing with all the selected state-of-the-art algorithm, we can conclude from Tables 7, 8, 9 and 10 that the \(\varepsilon \)DE-LS can achieve the best results for functions G01, G02, G04–G06, G08, G11, G12, G14–G16 in terms of best, median, worst, mean solution over the 25 independent runs. For function G17, the \(\varepsilon \)DE-LS can achieve the best results in terms of best and median solutions. From the comparison with other state-of-the-art algorithms, \(\varepsilon \)DE-LS can achieve promising results on the majority of the test functions.

Then the ranking is given on 23 problems based on mean results obtained by each algorithm. The average ranking is given in Fig. 9 for each algorithm. The p value computed by the Friedman test for mean results is 0.126, which indicates there are no significant differences for the compared algorithms in all functions. We can conclude that the \(\varepsilon \)DE-LS algorithm obtains the lowest ranking, which indicates the proposed algorithm has the best overall performance.

In addition, considering the importance of multiple problem statistical analysis introduced by Derrac et al. (2011), we present the results of the Wilcoxon signed ranks test results in Table 11, in which the p value is recorded. “*” means that the proposed method shows an improvement over the compared algorithms with upper diagonal of level significance at \(\alpha =0.1\), and lower diagonal level of \(\alpha =0.05\). It can be concluded from Table 11 that the proposed algorithm shows an improvement over CMODE, with a level of significance \(\alpha =0.05\), over ICEM, with \(\alpha =0.1\).

Comparison of \(\varepsilon \)DE-LS and other state-of-the-art algorithms on engineering optimization problems

To further verify the effectiveness of the \(\varepsilon \)DE-LS, four real-world engineering optimization problems are selected which are the three bar truss design problem, pressure vessel design problem, speed reducer design problem and tension spring design problem. Except that the pressure vessel design problem is a hybrid continuous variable and discrete variable problem, the rest problems are continuous variable problems. For the three bar truss problem, the swarm algorithm introduced by Ray and Saini (2001), the method presented by Tsai (2005), cuckoo search algorithm presented by Gandomi et al. (2013) are selected for the comparison. For the last three engineering optimization problems, PSO-DE (Liu et al. 2010), ABC (Karaboga and Basturk 2007), CMODE (Wang and Cai 2012), and DELC (Wang and Li 2010) are chosen for the comparison. The selected compared algorithms in the last three engineering optimization problems have not been used in solving the three bar truss design problem, and hence we choose other three state-of-the-art algorithm instead. The comparison results of these four engineering optimization problems are presented in Tables 11, 12, 13 and 14.

All the compared results of other state-of-the-art algorithms are adopted from the article mentioned above. Twenty-five independent runs are conducted for each problems, the best, median, worst, mean and standard deviation are given in the following tables. Since the FES is an important index for each compared algorithm, the total FES of each problem for each algorithm is also given in the Tables as below. Due to the small number of FES, the population size for the engineering optimization is set as 40.

Three bar truss design problem

Three bar truss design problem is firstly introduced by Nowcki (1973). Its objective is to optimize the volume of a statistically loaded three bar truss. The three bar truss is subjected to vertical and horizontal forces. The volume of the three bar truss is subjected to stress constraints. The mathematical model and figure of the problem can be given as follows:

$$\begin{aligned}&\hbox {Minimize} \\&f\left( {\vec {x}}\right) =\left( 2\sqrt{2}A_1 +A_2\right) \times l \\&\hbox {Subject to} \\&g_1 \left( {\vec {x}}\right) =\frac{\sqrt{2}A_1 +A_2 }{\sqrt{2}A_1^2 +2A_1 A_2 }P-\sigma \le 0 \\&g_2 \left( {\vec {x}}\right) =\frac{A_2 }{\sqrt{2}A_1^2 +2A_1 A_2 }P-\sigma \le 0 \\&g_3 \left( {\vec {x}}\right) =\frac{1}{A_1 +\sqrt{2}A_2 }P-\sigma \le 0 \\&\hbox {where} \\&0\le A_1 \le 1,\quad 0\le A_2 \le 1,\quad l=100\,\hbox {cm},\\&\quad P=2\,\hbox {KN/cm}^{2},\quad and\quad \sigma =2\,\hbox {KN/cm}^{2} \end{aligned}$$

The best result obtained by \(\varepsilon \)DE-LS is (0.788675135051261, 0.408248289172833) with objective function value 263.8958433764684. The constraints violation are (0, \(-\)1.464101616605413, 0.535898383394587). The constraint violation is equal to or smaller than zero means the solution do not violate the constraint, which is the same for the following three problems. In Table 11, the comparison results are presented. The best results are in boldface.

Pressure vessel design problem

The problem is to design a cylindrical vessel with hemispherical heads as we present in Fig. 10. The problem is firstly proposed by Kannan and Kramer (1994). The objective is to minimize the total cost, which includes the cost of material, forming and welding. Four variables are needed to be optimized, that is \(T_s\) (\(x_1\), Thickness of the shell), \(T_h\) (\(x_2\), thickness of the head), R (\(x_3\), inner radius), and L (\(x_4\), length of the cylindrical section of the vessel, not including the head). It is worth mentioning that \(T_s \)and \(T_h \) should be the integer multiples of 0.0625 in. The mathematical model of this problem can be given as follows:

$$\begin{aligned}&\hbox {Minimize} \\&f\left( {\vec {x}} \right) =0.6224x_1 x_3 x_4 +1.7781x_2 x_3^2 +3.1661x_1^2 x_4\\&\quad \qquad \qquad +\,19.84x_1^2 x_3 \\&\hbox {Subject to} \\&\hbox {g}_1 \left( {\vec {x}} \right) =-x_1 +0.0193x_3 \le 0 \\&g_2 \left( {\vec {x}} \right) =-x_2 +0.00954x_3 \le 0 \\&g_3 \left( {\vec {x}} \right) =-\pi x_3^2 x_4 -\frac{4}{3}\pi x_3^3 +1{,}296{,}000\le 0 \\&g_4 \left( x \right) =x_4 -240\le 0 \\&1 *0.0625\le x_1 \le 99 *0.0625,\quad 1 *0.0625\le x_2\\&\quad \le 99 *0.0625,\quad 10\le x_3 \le 200,\quad 10\le x_4 \le 200 \end{aligned}$$
Fig. 3
figure 3

Convergence curve of \(f( {\vec {x}} )-f({x^{*}})\) for G01–G04

Fig. 4
figure 4

Convergence curve of \(f({\vec {x}})-f({x^{*}})\) for G05–G08

Fig. 5
figure 5

Convergence curve of \(f({\vec {x}})-f ({x^{*}})\) for G09–G12

Fig. 6
figure 6

Convergence curve of \(f({\vec {x}})-f ({x^{*}})\) for G13–G16

Fig. 7
figure 7

Convergence curve of \(f({\vec {x}})-f ({x^{*}})\) for G17–G20

Fig. 8
figure 8

Convergence curve of \(f({\vec {x}})-f ({x^{*}})\) for G21–G24

Table 7 The comparison with other state-of-the-art algorithms on function G01–G06
Table 8 Comparison with other state-of-the-art algorithms for function G07–G12
Table 9 Comparison with other state-of-the-art algorithms for function G13–G18
Table 10 Comparison with other state-of-the-art algorithms for function G19, G21–G24

The best feasible solution obtained by \(\varepsilon \)DE-LS is (0.8125, 0.4375, 42.09844455958549, 176.636598424394). The constraint violation are (0, \(-\)0.035880829015544, 0, \(-\)63.363404157560581) with objective function value 6059.714335048436. Table 12 presents the results obtained by \(\varepsilon \)DE-LS and other state-of-the-art algorithms. The best results are in boldface.

Tension compression spring design problem

The problem is firstly proposed by Arora (1989) as we present in Fig. 11. The objective is to optimize the weight of the tension compression spring. There are three variables that are needed to be optimized: the wire diameter \(d(x_1)\), the mean coil diameter \(D(x_2)\), and the number of active coils \(N(x_3)\). The constraints include the minimum deflection, shear stress, surge frequency, constraint, outside diameter and bounds on variables. The mathematical model of the problem can be summarized as follows (Fig. 12):

$$\begin{aligned}&\hbox {Minimize}\;f\left( {\vec {x}} \right) =\left( {x_3 +2} \right) x_2 x_1^2 \\&\hbox {Subject to} \\&g_1 \left( {\vec {x}} \right) =1-\frac{x_2^3 x_3 }{71785x_1^4 }\le 0 \\&g_2 \left( {\vec {x}} \right) =\frac{4x_2^2 -x_1 x_2 }{12566\left( {x_2 x_1^3 -x_1^4 } \right) }+\frac{1}{5108x_1^2 }-1\le 0 \\&g_3 \left( {\vec {x}} \right) =1-\frac{140.45x_1 }{x_2^2 x_3 }\le 0 \\&g_4 \left( {\vec {x}} \right) =\frac{x_2 +x_1 }{1.5}-1\le 0 \\&0.05\le x_1 \le 2.0,\quad 0.25\le x_2 \le 1.3,\quad 2\le x_3 \le 15 \end{aligned}$$

The best result obtained by \(\varepsilon \)DE-LS is (0.051689060493998, 0.356717725635278, 11.288966582014742) with objective function value 0.012665232788320. The constraints violation are (\(-\)0.000000000000036, \(-\)0.000000000000011, \(-\)4.053785602361403, \(-\)0.727728809247150). Table 13 presents the results obtained by \(\varepsilon \)DE-LS and other state-of-the-art algorithms. The best results are in boldface.

Fig. 9
figure 9

Average ranking of six algorithms

Speed reducer design problem

The problem is to minimize the weight of the speed reducer (Rao 1996). The constraints include the bending stress of the gear teeth, surface stress, and transverse deflections of the shafts. The variables that are need to be optimized are the face width \(b(x_1)\), module of teeth \(m (x_2)\), number of teeth in the pinion \(z(x_3)\), length of the first shaft between bearings \(l_{1} (x_4)\), length of the second shaft between bearings \(l_{2}(x_5)\), the diameter of the first shaft \(d_{1}(x_6)\) and second shaft \(d_{2} (x_7)\). The mathematical model of the problem can be given as follows:

$$\begin{aligned}&f\left( {\vec {x}}\right) =0.7854x_1 x_2^2 \left( {3.3333x_3^2 +14.9334x_3 -43.0934} \right) \\&\quad \quad \qquad -\,1.508x_1 \left( {x_6^2 +x_7^2 } \right) +7.4777\left( {x_6^3 +x_7^3 } \right) \\&g_1 (x)=\frac{27}{x_1 x_2^2 x_3 }-1\le 0 \\&g_2 (x)=\frac{397.5}{x_1 x_2^2 x_3^2 }-1\le 0 \\&g_3 (x)=\frac{1.93x_4^3 }{x_2 x_3 x_6^4 }-1\le 0 \\&g_4 (x)=\frac{1.93x_5^3 }{x_2 x_3 x_7^4 }-1\le 0 \\&g_5 (x)=\frac{\left( {\left( {\frac{745x_4 }{x_2 x_3 }} \right) ^{2}\hbox {+16.9}\times \hbox {10}^{\hbox {6}}} \right) ^{1/2}}{\hbox {110.0}x_6^3 }-1\le 0 \\&g_6 (x)=\frac{\left( {\left( {\frac{745x_4 }{x_2 x_3 }} \right) +157.5\times 10^{6}} \right) ^{1/2}}{85.0x_7^3 }-1\le 0 \\&g_7 (x)=\frac{x_2 x_3 }{40}-1\le 0 \\&g_8 (x)=\frac{5x_2 }{x_1 }-1\le 0 \\&g_9 (x)=\frac{x_1 }{12x_2 }-1\le 0 \\&g_{10} (x)=\frac{1.5x_6 +1.9}{x_4 }-1\le 0 \\&g_{11} (x)=\frac{1.1x_7 +1.9}{x_5 }-1\le 0 \\&2.6\le x_1 \le 3.6,\quad 0.7\le x_2 \le 0.8,\quad 17\le x_3 \le 28,\quad \\&\quad 7.3\le x_4\le 8.3,\quad 7.8\le x_5 \le 8.3,\quad 2.9\le x_6 \le 3.9,\quad \\&\quad 5.0\le x_7 \le 5.5 \end{aligned}$$

The best result obtained by \(\varepsilon \)DE-LS is (3.500000001834946, 0.700000000010531, 17.000000006024688, 7.300000003292110, 7.715319945129747, 3.350214666835395, 5.286654468646312) with objective function value 2994.471071240866. The constraints violation are (\(-\)1.000000000000000, \(-\)1.000000000000000, \(-\)0.499172248051728, \(-\)0.904643903608071, \(-\)0.000000000660707, \(-\)0.000000002074479, \(-\)0.702499999890092, \(-\)0.000000000509226, \(-\)0.583333333121156, \(-\)0.051325753817815, \(-\)0.000000003838960). Table 13 presents the results obtained by \(\varepsilon \)DE-LS and other state-of-the-art algorithms. The best results are in boldface.

Table 11 Wilcoxon signed ranks test results
Table 12 Comparison with other state-of-the-art algorithms on three bar truss design problem
Fig. 10
figure 10

Three bar truss design

Fig. 11
figure 11

Schematic of pressure vessel

Table 13 Comparison with other state-of-the-art algorithms on pressure vessel design problem
Fig. 12
figure 12

Schematic of tension compression spring

Table 14 Comparison with other state-of-the-art algorithms on tension compression spring design problem
Fig. 13
figure 13

Schematic of the speed reducer

Discussion on the four engineering optimization problems

From the experimental results of the previous sections, we can conclude that the proposed algorithm can achieve the best results on three bar truss design problem, pressure vessel design problem, and tension compression spring design problem in terms of best, mean, worst and standard deviation with the relatively small FES. In the last speed reducer design problem the \(\varepsilon \)DE-LS algorithm show less competitive than CMODE and DELC algorithms. The reason is that speed reducer design problem consists of eleven constraints, which may be difficult for \(\varepsilon \)DE-LS algorithm to find feasible solutions in relatively small FES. Based on the above analysis and experimental results, we can see that the \(\varepsilon \)DE-LS algorithm could be competitive in solving COPs with a small number of constraints within a few FES.

The reason that \(\varepsilon \)DE-LS is effective is that the information of the feasible individuals, namely \(\varepsilon \) -feasible individuals, is useful for guide the population search the region along the direction of the feasible region. The proposed local search, namely “DE/current-to-feasible/2”, though simple it is, also effective in finding more precisely solutions for these engineering optimization problems.

Table 15 Comparison with other state-of-the-art algorithms on speed reducer design problem
Table 16 Statistical results of the car side impact design by different algorithms

Case study: car side impact design

The car side impact design is proposed by Gu et al. (2001). It is extracted from real-world problems and belongs to hybrid continuous variable and discrete variable problem. As we can see from the FEM model of the problem from Fig. 13, the car is exposed to a side-impact on the foundation of the European Enhanced Vehicle-Safty Committee (EEVC) procedures. The objective is to minimize the total weight. The decision variables are thickness of the B-Pillar inner, B-Pillar reinforcement, floor side inner, cross members, door beam, door beltline reinforcement, and roof rail \((x_{1}\)\(x_{7})\), materials of B-Pillar inner and floor side inner (\(x_{8}\) and \(x_{9}\)) and barrier height, and hitting position (\(x_{10}\) and \(x_{11}\)). The constraints include load in abdomen \((g_{1})\), dummy upper chest \((g_{2})\), dummy middle chest \((g_{3})\), dummy lower chest \((g_{4})\), upper rib deflection \((g_{5})\), middle rib deflection \((g_{6})\), lower rib deflection \((g_{7})\), pubic force \((\hbox {g}_{8})\), velocity of V-Pillar at middle point \((g_{9})\), and velocity of front door at V-Pillar \((g_{10})\). The mathematical model of the problem can be formulated as follows:

$$\begin{aligned}&\hbox {Min }\, f(X)\!=\!Weight\!=\!1.98\!+\!4.90x_1 \!+\!6.67x_2 +6.98x_3\\&\qquad \quad \qquad \qquad +\,4.01x_4 +1.78x_5 +2.73x_7\\&s.t.\left\{ {\begin{array}{l} g1=\textit{Fa}=1.16-0.3717x_2 x_4 -0.00931x_2 x_{10}\\ \quad \qquad -\,0.484x_3 x_9 +0.01343x_6 x_{10} \le 1 \\ g2=\textit{VC}_{u}=0.261-0.0159x_1 x_2 -0.188x_1 x_8\\ \quad \qquad - 0.019x_2 x_7+\,0.0144x_3 x_5 \\ \quad \qquad +0.0008757x_5 x_{10}+ 0.080405x_6 x_9 \\ \quad \qquad +\,0.00139x_8 x_{11} +0.00001575x_{10} x_{11} \le 0.32 \\ g3=\textit{VC}_{m}=0.214+0.00817x_5 -0.131x_1 x_8 \\ \quad \qquad -0.0704x_1 x_9+\,0.03099x_2 x_6 -0.018x_2 x_7 \\ \quad \qquad + 0.0208x_3 x_8 +0.121x_3 x_9-\,0.00364x_5 x_6 \\ \quad \qquad +0.0007715x_5 x_{10} -0.0005354x_6 x_{10} \\ \quad \qquad +\,0.00121x_8 x_{11} \le 0.32 \\ g4=\textit{VC}_{l}=0.074-0.061x_2 -0.163x_3 x_8 \\ \quad \qquad +0.001232x_3 x_{10}-\,0.166x_7 x_9 +0.227x_2^2 \\ \quad \qquad \le 0.32\\ g5=\Delta \textit{ur}=28.98+3.818x_3 \\ \quad \qquad -4.2x_1 x_2 +0.0207x_5 x_{10}+\,6.63x_6 x_9\\ \quad \qquad -7.7x_7 x_8 +0.32x_9 x_{10} \le 32 \\ g6=\Delta \textit{mr}=33.86+2.95x_3 +0.1792x_{10} \\ \quad \qquad -5.057x_1 x_2-\,11.0x_2 x_8 -0.0215x_5 x_{10} \\ \quad \qquad -\,9.98x_7 x_8 +22.0x_8 x_9 \le 32 \\ g7=\Delta \textit{lr}=46.36-9.9x_2 -12.9x_1 x_8\\ \quad \qquad +0.1107x_3 x_{10} \le 32 \\ g8=\textit{Fp}=4.72-0.5x_4 -0.19x_2 x_3 -0.0122x_4 x_{10}\\ \quad \qquad +\, 0.009325x_6 x_{10}+0.000191x_{11}^2 \le 4 \\ g9=\textit{VMBP}=10.58-0.674x_1 x_2 -1.95x_2 x_8\\ \quad \qquad +\,0.02054x_3 x_{10} -0.0198x_4 x_{10} \\ \quad \qquad +0.028x_6 x_{10} \le 9.9 \\ g10=\textit{VFD}=16.45-0.489x_3 x_7-0.843x_5 x_6\\ \quad \qquad +\,0.0432x_9 x_{10} -0.0556x_9 x_{11} -0.000786x_{11}^2 \\ \quad \qquad \le 15.7 \\ \end{array}} \right. \\&0.5\le x_1\mathrm{-}x_7 \le 1.5;\quad x_8, x_9 \in ({0.192, 0.345} );\quad \\&\quad -30\le x_{10}, x_{11} \le 30; \end{aligned}$$

In this case, the \(\varepsilon \)DE-LS is compared with PSO, DE, GA, firefly algorithm (FA), and cuckoo search algorithm (CS) by Gandomi et al. (2011, 2013). The simulations are conducted with 20,000 FES for all the algorithms. Since the number of independent runs are not reported by Gandomi et al. (2011, 2013), 30 independent runs are conducted for \(\varepsilon \)DE-LS. The experimental results are shown in Table 14 and the best results are in boldface (Tables 1516; Fig. 14).

Fig. 14
figure 14

The FEM model of the car side impact design

The statistical results are shown that the proposed \(\varepsilon \)DE-LS algorithm can achieve the best results in terms of mean, worst and SD indexes. Although the proposed algorithm cannot obtain the best results, the little gap between the best and the worst results indicates that it has the best robustness. It can be concluded that the \(\varepsilon \)DE-LS is competitive and robust compared with PSO, DE GA, FA, and CS algorithm in solving this case.

Conclusion and future work

This article proposed the \(\varepsilon \)DE-LS algorithm, in which a novel local search operator designed for engineering design optimization is introduced. The interaction between feasible and infeasible individuals is enhanced by applying the proposed mutation operator. By utilizing the novel mutation operator as the local search engine, we can guide the population moving towards to the feasible region more effective. The effectiveness of the proposed \(\varepsilon \)DE-LS algorithm is demonstrated by 24 famous benchmark functions collected from IEEE CEC2006 special session on constrained real parameter optimization. The experimental results have suggested that \(\varepsilon \)DE-LS algorithm is highly competitive in terms of accuracy and convergent speed. The performance of \(\varepsilon \)DE-LS algorithm is encouraging and competitive as shown in the comparative studies with other state-of-the-art algorithms. As the effectiveness and efficiency of the proposed algorithm demonstrated above, we further conducted the experiments on engineering design optimization problems. The performance on four real-world engineering design problems and the case study have demonstrated the usefulness of the proposed algorithm in solving engineering design optimization problems.

As a part of the future direction, the performance of \(\varepsilon \)DE-LS may be further improved by discovering a more efficient mutation operator. For another future direction, \(\varepsilon \)DE-LS now only consider the feasible individuals in the mutation operator, we could consider how the infeasible individuals affect the searching process in the future. The future applications can be extended to deal with multi-objective constrained optimization (Mavrotas and Florios 2013), complex engineering optimization problems (Rao and Pawar 2010; Moradi and Abedini 2012; Han et al. 2015) and etc.