Abstract

Motivated by recent advancements in differential evolution and constraints handling methods, this paper presents a novel modified oracle penalty function-based composite differential evolution (MOCoDE) for constrained optimization problems (COPs). More specifically, the original oracle penalty function approach is modified so as to satisfy the optimization criterion of COPs; then the modified oracle penalty function is incorporated in composite DE. Furthermore, in order to solve more complex COPs with discrete, integer, or binary variables, a discrete variable handling technique is introduced into MOCoDE to solve complex COPs with mix variables. This method is assessed on eleven constrained optimization benchmark functions and seven well-studied engineering problems in real life. Experimental results demonstrate that MOCoDE achieves competitive performance with respect to some other state-of-the-art approaches in constrained optimization evolutionary algorithms. Moreover, the strengths of the proposed method include few parameters and its ease of implementation, rendering it applicable to real life. Therefore, MOCoDE can be an efficient alternative to solving constrained optimization problems.

1. Introduction

Most of optimization problems in the real life involve finding a solution that not only is optimum, but also satisfies one or more constraints; these problems are known as constrained optimization problems (COPs). In general, constrained optimization problems are intractable; solving COPs has been known as a challenging research area in computer science, operations research, and optimization domains [1]. In the minimization sense, the general constrained optimization problem can be formulated as follows: where , , and are objective function, equality constraint, and inequality constraint, respectively. is the number of equality constraints, is the number of all constraints, and denotes the number of variables. , represent the low bounder and up bounder of , respectively.

Evolutionary algorithms (EAs) have a long history of successfully solving COPs. Compared with traditional gradient based optimization methods, EAs have many merits, including being population-based, derivative-free, and easy to implement. Therefore, research of constrained optimization evolutionary algorithms (COEAs) has become a hot area and attracted a lot of research interests. Extensive surveys of COEAs can be found in recent literature [24].

It should be noted that EAs are unconstrained optimization methods that need additional mechanisms to deal with constraints while solving COPs. Therefore, constraint-handling techniques for EAs attract many researchers, and different constraint-handling techniques that are proposed to cope with constraints can be found in the recent survey paper [4]. According to recent advancement on constraint-handling techniques for EAs, like the work of Wang et al. [5], we divide them into three major categories: penalty function methods, feasibility rules methods, and multiobjective optimization methods.

Penalty function is the most widely used technique to handle constraints due to its simple principle and easy implementation, especially for continuous constrained problems. By adding penalty functions into the objective function, a constrained problem is transformed into an unconstrained one. In general, there are three main penalty methods: death penalty, static penalty, and adaptive penalty [6].

Feasibility rules methods are based on the rules of biasing feasible over infeasible solutions [7]. There are three rules when comparing pairwise individuals: feasible solution is preferred to infeasible solution, the one with a better objective function value is chosen between two feasible solutions, and the one with smaller constraint violation is chosen between two infeasible solutions.

In recent years, multiobjective concepts have been increasingly used in evolutionary algorithm to handle constraints. The common idea of these algorithms is to convert constraints into one or more objectives. According to the different principles of handling constraints, there are two multiobjective methods; one has two objectives: the original objective function and degree of all constraints violation. And the other treats each constraint as an objective; therefore, it has objectives, where is the number of constraints [5].

DE, which is a new efficient stochastic population-based heuristic for global optimization in continuous spaces, is presented by Storn and Price [18]. Due to its simple concept, easy implementation, and quick convergence, DE has been successfully applied to a variety of unconstrained continuous optimization problems [1923]. However, like other nature inspired techniques, there is no provision for constraint handling in its original formulation: relatively fewer works based on DE can be found than those based on other EAs for constrained optimization. A brief review of DE approaches for COPs is provided below.

The first known extension of DE, a multimember DE, for COPs, was proposed by Storn [24]. Kukkonen and Lampinen [25] presented a generalised DE-based approach to solve constrained multiobjective optimization problems. Zielinski and Laur [26] employed feasibility rules with DE to solve COPs. A DE algorithm based on dynamic control of the allowable constraint violation specified by the -level was developed by Takahama and Sakai [27]. Multipopulated DE was also proposed by Tasgetiren and Suganthan [28]. And a cooperative-coevolutionary-based DE algorithm was presented by Huang et al. [13] and Yang et al. [29]. Recently, DE was demonstrated as the most competitive algorithm among genetic algorithms (GA), evolution strategies (ES), and particle swarm optimizations (PSO) with the feasibility rules [30]. Combining dynamic stochastic ranking with multimember DE, Zhang et al. [31] presented a hybrid DE for constrained optimization. And DE with a pattern search-based local exploration method is proposed for constrained global optimization [32]. Santana-Quintero et al. [33] proposed a DE with rough set approach to handle constrained multiobjective problems. Mallipeddi and Suganthan [34] proposed an ensemble of four constraint-handling techniques with DE to solve COPs. Mezura-Montes and Miranda-Varela [1] evaluated the performance of DE in constrained numerical optimization. Zou et al. [14] proposed an adaptive DE with a common penalty function method for COPs. da Silva et al. [9] presented an adaptive penalty technique within DE for constrained engineering optimization. Elsayed et al. [10] implement a self-adaptive multioperator differential evolution (SAMO-DE) for solving COPs. Sardar et al. [35] proposed a novel constrained optimizer based on DE by incorporating the idea of gradient-based repair with a DE/rand/1/bin scheme. Compared with two best-known constrained optimizers published, it is very competitive. Combining two-objective method with differential evolution is proposed by Wang and Cai and shows good performance for COPs [36].

In essence, COEAs can be considered as constraint-handling techniques plus EAs [5]. Therefore, to design a new approach to solve COPs, an effective constraint-handling technique needs to be in conjunction with an efficient EA to obtain competitive performance. Recently, a new effective adaptive constraint-handling technique named oracle penalty function was proposed by Schlüter and Gerdts [6], and it was employed in ant colony optimization for solving complex COPs [37, 38]; the results illustrated that oracle penalty function was a new way to handle constrained optimization problems within stochastic metaheuristics. It is robust and easy to implement and handle, and it keeps a high potential in finding global optimum solutions where other methods fail [6, 37, 38]. In addition, more recently, CoDE, which was a DE with composite trial vector generation strategies and control parameters [22], showed better performance in unconstrained continuous optimization problems.

Although the performance of ACO with oracle penalty function has been studied for MINLPs [37, 38], to our best knowledge, there are no reports about DE in conjunction with oracle penalty function. Considering the excellent performances of CoDE in continuous optimization, we try to extend its application domain to practical COPs in engineering. As a result, a new method, called modified oracle penalty function-based CoDE (MOCoDE), is proposed for numerical and engineering constrained optimization problems. To achieve this purpose, the original oracle penalty function approach is modified so as to satisfy the optimization criterion of COPs, and then the modified oracle penalty function is combined with CoDE. Furthermore, in order to solve more complex COPs with discrete, integer, or binary variables, discrete variables handling approach is also introduced into MOCoDE.

To verify the performances of MOCoDE, eleven benchmark functions and seven well-known engineering constrained optimization problems are chosen. The experimental results show that CoDE with the modified oracle penalty function is beneficial, and the proposed method achieves competitive performances with respect to some other state-of-the-art approaches in the community of constrained optimization evolutionary algorithms.

This paper is organized as follows. After the introduction, in Section 2, CoDE is briefly summarized. Oracle penalty function approach is described in Section 3. In Section 4, the MOCoDE is proposed and explained in detail. Extensive simulation results and comparisons are presented in Section 5. Finally, we end this paper with some conclusions and comments for further research in Section 6.

2. Composite Differential Evolution Algorithm (CoDE)

2.1. Brief Introduction of DE

DE is a new alternative metaheuristic algorithm, and the main idea behind DE is searching for the global optimum solutions with the differences between contemporary individuals. This algorithm has three main stages: mutation, crossover, and selection. In the mutation stage, by adding a weighted difference of two random members to a third member, a trial individual is generated. In the crossover stage, an operator applies between generated trial individual and a predetermined one to generate an offspring. After the generation of a new member, in the selection stage based on a greedy criterion, the offspring will be evaluated using cost function and if the fitness of a new member was better than the fitness of the current member, this candidate replaces the current member.

There are several versions of DE that were reported in the literature [39]. The main difference of these versions is their applied schemes for mutation stage. Des’ merits include simple operator to generate new member, easy implementation, and fast convergence; therefore, DE has been utilized in solving a variety of benchmark problems as well as many real world applications [23, 40]. More information can be found in the recent surveys of DE [41, 42].

2.2. CoDE

Considering that trial vector generation strategies and control parameters have a significant influence on the performance of DE, Wang et al. [22] proposed a novel DE method, CoDE, which combines several trial vector generation strategies with a number of control parameter settings to generate new trial vectors. There are three trial vector generation strategies and three control parameters in CoDE. The selected trial vector generation strategies are“rand/1/bin”, “rand/2/bin”, “current-to-rand/1” And the three control parameter settings are where is the scaling factor and is the crossover control parameter.

The above strategies and parameter settings are usually used in many DE variants and their properties have been well studied. This method can be illustrated in Figure 1. In CoDE, its strategy candidate pool includes three generation strategies: “rand/1/bin,” “rand/2/bin,” and “current-to-rand/1,” and its parameter candidate pool includes three control parameter settings: , , and . At each generation, three generation strategies with randomly chosen control parameter settings are used to create three new trial vectors. For each target vector, three trial vectors are generated. Then, the best one enters the next generation if it is better than its target vector. More information can be found in [22].

3. Oracle Penalty Function Method

Oracle penalty function approach is a new constraint-handling technique proposed by Schlüter and Gerdts [6]; it belongs to an adaptive penalty method. The key idea of the oracle penalty method is a transformation of the objective function of COPs into an additional equality constraint where . The parameter is named oracle. An objective function is redundant in the transformed problem definition and can be declared as a constant zero function . Therefore, the new formulation about COP can be described as follows: Based on the new formulation form, the rate of objective function and residual function in penalty function can be adaptively adjusted. The description about penalty function is given in the following: where is objective function and is oracle parameter. As for (7), it can be seen that the first case affects any iterate with an objective function value greater than or any infeasible iterate, while the second case concerns only feasible iterates with an objective function value lower than . And any feasible iterate with will be penalized with a negative value. Considering infeasible iterates corresponding to objective function value slower than the oracle parameter and a highly undesired effect when and , is split into four cases and the value of is given in (8), and detailed derivation of (8) is given in [6]: is the residual function, which measures the constraint violations by applying a norm over all constraint violations of COPs. Following residual functions based on the , , and norm functions are commonly used: Equations (9) are 1-norm, 2-norm, and infinite-norm for residual functions of COPs, respectively. is the only parameter, and the recommend initial values are 109 or 106, and thanks to subtle design, this approach is robust to . Furthermore, a simple but effective update rule for the oracle parameter is presented in [6]:

More information about oracle penalty method can be found in [6]. From the work of Schlüter and Gerdts, oracle penalty method has the following merits. Firstly, it has only one parameter , which needs to be tuned. Secondly, this approach is robust regarding oracle parameter selection. Thirdly, it has shown better performance compared to traditional methods. Since it is universal, it can be easily applied in stochastic metaheuristic approaches.

4. The Proposed MOCoDE Algorithm

4.1. Modified Oracle Penalty Function Method

According to criteria of conference evolutionary computing (CEC) reported about COPs, a solution is regarded as feasible if , and , , where is violation tolerance and 0.0001 is recommended [43]. Although the oracle penalty method shows better performance than other penalty methods, it cannot be employed for COPs directly due to the different constraints violation tolerance criterion and model formulations. More specifically, in oracle penalty method, constraint violation tolerance is applied to all constraints including equality and inequality constraints; however, violation tolerance is only for equality constraint according to the CEC standard [43]. Furthermore, the inequality constraints require in oracle penalty method while is used in usual COPs formulation. Therefore, oracle penalty method must be modified if it is employed for constraint handling of COPs.

Here, we define new constraint function as follows: Based on the definition of , we can get the following theorem.

Theorem 1. If is a feasible solution of COPs, then , .

Proof. If is feasible, it means that for and for . Therefore, is no less than 0 for all equality constraints and is also no less than 0 for all inequality constraints. Then, according to the definition of , we can obtain that for .
Since is introduced, all equality constraints are transformed into inequality. Therefore, all constraints are inequality, and the residual function with , , and norm can be reduced as follows: According to the standard of feasible solution, the violation tolerance is 0.
In brief, the procedure of modified oracle penalty can be described as follows:(1)using (11) to transform all original constraints (including equality and inequality constraints) into inequality constraint, which is great than 0;(2)using (14) to calculate the residual function value;(3)evaluation of the candidate solution with (7) and (8).
It can be seen that, like oracle penalty function method, modified oracle penalty function is universal as it is applicable to any kind of optimization algorithm, and it is easy to be employed in stochastic metaheuristics, for instance, CoDE.

4.2. Generalized Discrete Variables Handling Method

According to the work of Liao [17], discrete variables can be divided into four categories: (i) binary variables, (ii) integer variables with uniformly spaced values, (iii) real variables with uniformly spaced values, and (iv) discrete integer or real variables bounded within a range.

To handle different types of discrete variables, here, we adopted the generalized discrete variables handling method proposed in [17]; all discrete variables are also represented as continuous variables. However, for evaluating the fitness function and constraints, they will be converted into corresponding discrete values. In summary, the generalized method for handling discrete variables can be reformulated as follows.

Suppose the possible values of a discrete variable belong to a discrete set ; then we can define a position variable with the following equation (15): where is the size of , is a continuous variable between 1 and , and round operation is employed to transform into an integer value. Then, we can get the value of the discrete variable with the following equation (16): where is the position variable described above.

4.3. MOCoDE Algorithm

Since CoDE is a very competitive metaheuristic algorithm for continuous unconstrained problems, modified oracle penalty function is an effective method for constraint handling, and generalized discrete variables handling method can transform discrete variables into continuous ones easily; they are general and complementary; therefore, it is natural to incorporate them to solve more complex COPs. Therefore, a hybrid algorithm named MOCoDE is presented. The main steps of MOCoDE can be described as follows: set the input parameters; if there are discrete variables, then the generalized discrete variables handling method is used to transform discrete variables into continuous variables; generate the initial population and evaluate the initial individuals with modified oracle penalty function; use CoDE to generate three new trial vectors; according to the value of modified oracle penalty function, select the best one from the three trial vectors; continue steps and until the termination criterion is met. Algorithm 1 gives a detailed description of MOCoDE algorithm.

Input:
NP: the population size.
Max_FES: maximum number of function evaluation.
Ω: the oracle pamameter.
the generation strategies pool: “rand/1/bin”, “rand/2/bin”, and “current-to-rand/1”.
the control parameters pool: [, = 0.1], [], and [].
(1);
(2)if there are discrete variables, then the generalized discrete variables handling method is used,
(3)generate an initial population by uniformly and randomly sampling from the search landspace,
(4)measure the constraint violations with the residual function for each individual in current population,
(5)evaluate the modified oracle penatly function values for each individual in current population,
(6)FES = NP;
(7)while FES < Max_FES do
(8);
(9)for   : NP do
(10) use the three strategies, with a control parameter setting randomly selected from the control parameter pool, to generate three
trial vectors and for the target vector ;
(11) measure the constraint violations with the residual function values of the three trial vectors and ;
(12) evaluate the modified oracle penatly function values of the three trial vectors and ;
(13) choose the best trial vector and add it into ;
(14) FES = FES + 3;
(15) end for
(16) ;
(17) end while
(18) select the individual with the smallest modified oracle penatly function value in the population
Output: the objective function value

It should be noted that most parameters of CoDE and modified oracle penalty function approach are adaptive, and MOCoDE has only three parameters: population size NP, the maximum number of function evaluation Max_FES, and oracle parameters . Furthermore, they are very easy to handle.

5. Experimental Results and Discussions

In this section, numerical experiments are carried out with 11 well-known benchmark functions and 7 classical constrained engineering problems in real life. MOCoDE is coded in Matlab 7.5 and all experiments are executed on a Pentium Dual-Core 2.7 GHz CPU with 2 GB memory PC. According to the relative literature, for benchmark functions suite, three parameters, NP, MAX_FES, and are set to 30 [22], 240000 [13], and 109 [6], respectively. And 50 independent runs were made. For constrained engineering problems, to fairly compare, NP, MAX_FES, and are set to 30, 90000, and 109, respectively. And 100 independent runs were made for 7 constrained engineering problems. The best, the mean, and the worst and standard deviation of objective values are recorded and selected for comparisons. In all cases, the results compared refer to the feasible final solutions found, and a “—” indicates that the value is not available.

5.1. Benchmark Functions Suite

The first experiment concerns a popular suite of problems presented in [43]. These problems have been well studied before as benchmarks by various approaches. All the testing problems can be found in [43] in detail. The summary of the 11 problems of the suite is given in Table 1, where “”, “LI”, “NI”, “LE”, and “NE” denote the number of decide variables, line inequality, no-line inequality, line equality, and no-line inequality, respectively. And “” is the known optimum value. The results of recent different approaches for the G-Suite are summarized in Table 2, which presents statistical results “best,” “worst,” “mean,” and “std” (standard deviation) for each problem. Implementation of each algorithm is indicated by its reference.

From Table 2, it can be seen that MOCoDE can obtain the optimum solutions for all benchmark functions and shows good statistical performances for all test functions except for and . Compared with DUVDE + APM, though DUVDE + APM show better performance for , MOCoDE outperforms DUVDE + APM in terms of both worst and mean indexes for , , , , , and . Moreover, it needs to be mentioned that the number of function evaluation for DUVDE + APM is 350000 while it is 240000 for MOCoDE. Compared with the state-of-the-art approach SAMO-GA, MOCoDE obtains better mean values for , , , and . Furthermore, MOCoDE can find the optimum solution of while S`AMO-GA fails. Compared with SAMO-DE, both of them can find the optimum solutions for all testing functions. Although MOCoDE gets worse mean values for and , it produces better mean values for , , and than SAMO-DE. It is evident that the standard deviation of MOCoDE is also very small; this may mean that the proposed method is robust for these problems.

The comparisons illustrate that the performance of MOCoDE is very competitive with that of several state-of-the-art approaches in constrained evolutionary optimization. This motivates us to study the performance of MOCoDE for more complex COPs in real life and it will be discussed in the following sections.

5.2. Constrained Engineering Problems

To investigate the performances of MOCoDE on engineering constrained optimization problems in real life, 7 well-studied engineering examples are selected. These problems include three difficult nonconvex optimization problems and four constrained optimization problems with continuous and discrete variables.

5.2.1. Welded Beam Design Problem

The welded beam design problem is a practical design problem that is often employed as a benchmark for testing different optimization methods [1113]. The objective is to minimize fabricating cost of the welded beam subject to constraints on shear stress (), bending stress in the beam (), buckling load on the bar (), end deflection of the beam (), and side constraints. There are four design variables as shown in Figure 2,  , , , and .

The problem can be mathematically formulated as follows:

The best solutions obtained by different approaches are listed in Table 3, and their statistical results are shown in Table 4.

From the results described in Table 3, it can be seen that the best feasible solution found by MOCoDE is better than those found by other approaches. From Table 4, it can be found that the average searching quality of MOCoDE is also better than those of other methods in terms of best, mean, worst, and standard deviation. It should be noted that even the worst solution found by MOCoDE is better than all the best solutions found by the compared methods. Furthermore, the standard deviation of the results by MOCoDE is the smallest among all considered approaches.

5.2.2. Experimental Results for a Tension/Compression Spring Design Problem

This problem consists of minimizing the weight of a tension/compression spring subject to constraints on shear stress, surge frequency, and minimum deflection as shown in Figure 3. The design variables are the mean coil diameter , the wire diameter , and the number of active coils . The mathematical formulation of this problem can be described as follows:

This problem is also recently studied by Huang et al. [13], Zou et al. [14], and Gandomi et al. [8]. The best solutions obtained by different approaches are listed in Table 5, and their statistical results are shown in Table 6.

From Tables 5 and 6, it can be seen that MOCoDE, NMDE, and ES-DE perform better than others and they can find the optimum solution for each time. However, for CDE and CPSO, they only find the approximate optimum solution. MOCoDE, NMDE, and ES-DE obtain the very same statistic performances for this case. However, it should be noted that numbers of parameters of NMDE and ES-DE are 6 and 4, respectively, while MOCoDE has only 3 parameters.

5.2.3. Optimization of an Isothermal Continuous Stirred Tank Reactor (CSTR)

For the reaction scheme shown below, a problem of finding the best isothermal yield of a product C in a CSTR was chosen. In this reaction scheme, A is the feed material; B is a transient intermediate; C is the required product; D is an unwanted side product. The reaction scheme is depicted in Figure 4.

The rate constants are given by the equation where is the frequency factor, is activation energy (cal/mol), is the gas constant (1.9872 cal/mol/K), and is absolute temperature in . The values of and for five rate constants are and . The kinetic equations for the reaction scheme are given as where , , and are the concentrations of materials A, B, and C, respectively. In this problem, the best isothermal yield of    is found by maximizing this expression with respect to the contact time and the temperature and . More information can be found in [15]. A run is declared as successful if the global optimum solution was found within 10−5 error. The percentage of successful rates (SR) and average numbers of function evaluation (NFE) are listed in Table 7.

As for CSTR problem, DE, MDE, and MOCoDE can find the optimum solution for each time, while MOCoDE can reduce NFE drastically. It is interesting that though DETL has larger NFE, it obtains lower successful rate than the proposed method.

5.2.4. Reactor Network Design (RND)

This example is a reactor network design problem with four discrete variables, describing the system shown in Figure 5. It involves the design of a sequence of two CSTR reactors where the consecutive reaction takes place. The objective is to maximize the concentration of product in the exit stream. This example constitutes a very difficult test problem, as it possesses a local minimum with an objective function value that is very close to that of the global solution . The local solutions are with and : where , , , and . The computational results of recent DE variants are listed in Table 7. From the results of Table 7, as for RND problem, though the NFE for MOCoDE is larger than those provided by DE [15], MDE, [15] and DETL [16], it is totally acceptable and the successful rate of MOCoDE approach is 100% for 100 times run. Although SR of DETL is also high, it should be noted that the high successful rate of DETL depends on a local SQP optimization technique [16].

5.2.5. Process Flowsheeting Problem

This case is a process flowsheeting problem, and it is first studied by Floudas [44]. It is nonconvex because of the first constraint and has two continuous variables and one binary variable. More recently, two hybrid differential evolution algorithms were used to solve this problem [17]. This problem is formulated as follows: The computational results are listed in Tables 8 and 9.

The comparison of solutions turned very clearly to the advantage of MOCoDE. It can be seen from Table 8 that MOCoDE can find the optimum solution for each time, and it is superior to MDE′, MA-MDE′, and MDE′-HIS in terms of SR and NFE. From the statistical results of Table 9, MOCoDE get consistent results with very small standard deviation; moreover, even the worst result is better than the mean of the compared approaches.

5.2.6. Process Synthesis Problem

To further demonstrate the performance of MOCoDE, we select a classical process synthesis problem which features nonlinearities in both continuous and binary variables. This problem has seven variables with nine constraints. Recently, this problem was studied by Angira and Babu [15], Liao [17], and Zou et al. [14]. This problem is formulated as follows: The global optimum solution is and with . It has several local minima.

To demonstrate the performance of MOCoDE, the results of different methods are given in Tables 10 and 11. From the reported results in Table 10, it can be seen that MOCoDE obtain the best SR while the NFE is not increasing greatly. Furthermore, from the computational results given in Table 11, MOCoDE provide the best results in terms of mean, worst, and standard deviation indicators. In particular, MOCoDE can almost reach the same result and the standard deviation is extremely small.

Results given in Table 10 indicate that MOCoDE algorithm can locate the optimum solution for each time without increasing NFE a lot. As described in Table 11, in terms of the selected performance measures, it can be seen that MOCoDE show the best performance among these methods.

5.2.7. Pressure Vessel Design Problem

A cylindrical vessel is capped at both ends by hemispherical heads as shown in Figure 6. The objective is to minimize the total cost, including the cost of material, forming, and welding. It is a mixed discrete-continuous constrained optimization problem. There are four design variables: the thickness of the pressure vessel , the thickness of the head , the inner radius of the vessel , and the length of the cylindrical component . and are the available thicknesses of rolled steel plates, which are integer multiples of 0.0625 inch, and and are continuous variables. The problem can be mathematically formulated as follows: The variables are also limited by , in constant steps of 0.0625 and . The reported optimum solution is 6059.7143. This is a constrained optimization problem with discrete-continuous variables. The results are shown in Tables 12 and 13. Table 12 presents the values of the design variables corresponding to the best solution found by each implementation.

From the results listed in Table 12, it is evident that MOCoDE obtain the best solution among these compared approaches. From Table 13, the statistical results of different methods also demonstrate that the proposed method can solve this COP with discrete-continuous variables effectively and provide competitive statistical results with state-of-the-art algorithms. It should be noted the results of ES-DE do not denote that it can find better solutions due to the accuracy.

5.3. Significance Tests and Discussions

To investigate the statistically significant MoCoDE, independent-samples -tests have been conducted for benchmark functions and engineering problems based on the above computational results.

5.3.1. Benchmark Functions

-tests were conducted based on the statistical results of algorithms from Table 2. Significance level is 0.05, sample size is 50, and degree of freedom is 98, . values are listed in Table 14, and the number of significance of difference is given in the last row of Table 14. It can be seen that MoCoDE has more significance of difference than HEA-ACT, ES-DE, and DUVDE + APM. As for SAMO-GA and SAMO-DE, MoCoDE can obtain competitive results and better performances for , , and .

5.3.2. Engineering Problems

Exception problem 3 and problem 4, -tests were conducted based on the statistical results for the rest of engineering problems. Significance level is 0.05, sample size is 100, and degree of freedom is 198, . The values are given in the last column of Tables 4, 6, 9, 11, and 13.

It can be seen that MoCoDE has more significance of difference than CPSO and CDE for Problems 1, 2, and 7. As for Problem 2, MoCoDE shows more significance of difference than Coello and Montes approach, while it gets competitive result with ES-DE. For Problems 5 and 6, MoCoDE also show better statistical results than MDE′, MA-MDE′, and MDE′-HIS proposed in [43]. As for Problem 7, MoCoDE obtains better performance than DUVDE + APM and gets the same statistical performance with ES-DE.

Compared with recently constrained optimization evolutionary algorithms, these -test results of significance of difference demonstrate that the proposed algorithm is very competitive. Based on the above simulation results and comparisons, it can be concluded that MOCoDE is of superior searching quality and robustness for constrained problems. Particularly, MOCoDE can almost reach the same results for each run, and the standard deviations are extremely small. In particular, for the constrained engineering optimization problems, including more complex problems with mix discrete-continuous variables, the proposed algorithm has found the global optimum solutions in all runs, which is really interesting.

The effectiveness of MOCoDE lies in that it combines the merits of CoDE and modified penalty method. More specifically, on one hand, with the help of modified oracle penalty to handle constraints, MOCoDE can approach or land in the feasible region of the search space rapidly. On the other hand, thanks to the effective search ability of CoDE, MOCoDE can explore the feasible space sufficiently. Furthermore, since most of the parameters are adaptive, MOCoDE require very few user-defined parameters, rendering it more suitable to real life. Therefore, it can be pointed out that MOCoDE is an alternative approach for constrained optimization problems.

6. Conclusions

A novel constrained differential evolution algorithm is proposed to solve constrained optimization problems in this paper. In order to handle constraints effectively, a modified oracle penalty function method is presented. In addition, a modified oracle method is embedded into CoDE. Furthermore, to solve COPs with mix variables, a generalized discrete variables handling method is introduced to MOCoDE to achieve this purpose.

The numerical results and real world constraint engineering applications reveal the strength of MOCoDE in terms of robustness and global optimality. From the experimental results, it is evident that the proposed approach has substantial potential in handling various COPs, and its performance remarkably outperforms other algorithms presented in recent literature. Meanwhile, it should be noted that there are fewer parameters to be tuned by user. These characters are extremely important merits for potential implementation and application in real life. Therefore, MOCoDE is a new alternative effective algorithm for COPs. In the future, how to extend MOCoDE to more complex mix integer COPs in real life should be investigated.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

The authors would like to thank the editor and three anonymous reviewers for their constructive and valuable suggestions and comments. This paper has been supported by the National Natural Science Foundations of China under Grants no. 61203109, 61262075, 61262076, and 60874072, Guangxi Natural Science Foundation under Grant no. 2014GXNSFAA118371, and foundations of Guilin University of Technology.