Composite Differential Evolution with Modified Oracle Penalty Method for Constrained Optimization Problems

Motivated by recent advancements in differential evolution and constraints handlingmethods, 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 compositeDE. Furthermore, in order to solvemore complexCOPswith 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.


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 [2][3][4].
It should be noted that EAs are unconstrained optimization methods that need additional mechanisms to deal with constraints while solving COPs.Therefore, constrainthandling 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 2 Mathematical Problems in Engineering [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: (1) feasible solution is preferred to infeasible solution, (2) the one with a better objective function value is chosen between two feasible solutions, and (3) 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  + 1 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 [19][20][21][22][23].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 searchbased 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 constrainthandling 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 stateof-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.

Composite Differential Evolution
Algorithm (CoDE) 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].

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: [ = 1.0,   = 0.1], [ = 1.0,   = 0.9], and [ = 0.8,   = 0.2].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].

Oracle Penalty Function Method
Oracle penalty function approach is a new constrainthandling 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  0 ( ⃗ ) = ( ⃗ ) − Ω = 0.The parameter Ω is named oracle.An objective function is redundant in the transformed problem definition and can be declared as a constant zero function f( ⃗ ) ≡ 0. Therefore, the new formulation about COP can be described as follows: 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 res( ⃗ ) < |( ⃗ ) − Ω|/3,  is split into four cases and the value of  is given in (8), and detailed derivation of ( 8) is given in [6]: res( ⃗ ) 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  1 ,  2 , 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 10 9 or 10 6 , 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.

Modified Oracle Penalty Function Method. According to criteria of conference evolutionary computing (CEC) reported about COPs, a solution ⃗
is regarded as feasible if |ℎ  ( ⃗ )| −  ≤ 0,  = 1, 2, . . .,  and   ( ⃗ ) ≤ 0,  = +1, . . ., , 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   ( ⃗ ) ≥ 0 in oracle penalty method while   ( ⃗ ) ≤ 0 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.Since   ( ⃗ ) is introduced, all equality constraints are transformed into inequality.Therefore, all constraints are inequality, and the residual function with  1 ,  2 , 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.[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.

Generalized Discrete Variables Handling Method. According to the work of Liao
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  = { 1 ,  2 , . . .,   }; 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.

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 10 9 [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 10 9 , 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.

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.
(1)  = 0; (2) if there are discrete variables, then the generalized discrete variables handling method is used, (3) generate an initial population  0 { 0 1 , . . .,  0 NP } by uniformly and randomly sampling from the search landspace, (4) measure the constraint violations with the residual function res() for each individual in current population, (5)   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  3 and  5 .Compared with DUVDE + APM, though DUVDE+APM show better performance for  5 , MOCoDE outperforms DUVDE+APM in terms of both worst and mean indexes for  1 ,  2 ,  3 ,  7 ,  10 , and  11 .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  2 ,  7 ,  9 , and  10 .Furthermore, MOCoDE can find the optimum solution of  2 while SAMO-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  3 and  5 , it produces better mean values for  2 ,  7 , and  10 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-ofthe-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.

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.

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 [ [11][12][13].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, ℎ( 1 ), ( 2 ), ( 3 ), and ( 4 ).

Mathematical Problems in Engineering
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.

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 ( 2 ), the wire diameter ( 1 ), and the number of active coils ( 3 ).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.

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  = [1.02,0.93, 0.386, 3.28, 0.084] and  = [16000, 14000, 15000, 10000, 15000].The kinetic equations for the reaction scheme are given as where  1 ,  2 , and  3 are the concentrations of materials A, B, and C, respectively.In this problem, the best isothermal yield of C () is found by maximizing this expression with respect to the contact time () and the temperature () and  =  3 = 0.423084.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.

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 A → B → C takes place.The objective is to maximize the concentration of product B ( 4 = C B2 ) 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 where  1 = 0.09755988,  2 = 0.99 1 ,  3 = 0.0391908, and  4 = 0.9 3 .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].

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: min  ( ⃗ ) = − 0.7 3 + 5( 1 − 0.5) 2 + 0.8 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 4 ,  5 ,  6 ,  7 ∈ {0, 1} .
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.

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   ( 1 ), the thickness of the head  ℎ ( 2 ), the inner radius of the vessel  ( 3 ), and the length of the cylindrical component  ( 4 ).  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: min  ( ⃗ ) = 0.6224 The variables are also limited by 0.0625 ≤  1 ,  2 ≤ 5, in constant steps of 0.0625 and 10 ≤  3 ,  4 ≤ 200.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 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.

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.

2 Figure 1 :
Figure 1: The structure of CoDE.
evaluate the modified oracle penatly function values () for each individual in current population, (6) FES = NP; (7) while FES < Max FES do (8)  +1 = Ø; (9) for  = 1 : NP do (10) use the three strategies, with a control parameter setting randomly selected from the control parameter pool, to generate three trial vectors    1 ,    2 and    3 for the target vector    ; (11) measure the constraint violations with the residual function values res() of the three trial vectors    1 ,    2 and    3 ; (12) evaluate the modified oracle penatly function values () of the three trial vectors    1 ,    2 and    3 ; (13) choose the best trial vector and add it into  +1 ; (14) FES = FES + 3; (15) end for (16)  =  + 1; (17) end while (18) select the individual   with the smallest modified oracle penatly function value in the population Output: the objective function value (  ) Algorithm 1: The framework of MOCoDE algorithm.
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.

Table 1 :
The information of 11 benchmark functions.

Table 2 :
The comparison results of different methods.

Table 3 :
Comparison of the best solutions for welded beam design problem.

Table 4 :
Statistical results of different methods for welded beam design problem.

Table 5 :
Comparison of the best solutions for spring design problem.

Table 6 :
Statistical results of different methods for spring design problem.
P P D d Figure 3: Tension/compression spring design problem.

Table 7 :
Computational results of four DE variants for RND and CSTR.The two numbers are NFE required by the method DETL + NFE required for the local optimization. c

Table 8 :
Statistical results of DE approaches for process flowsheeting problem.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 Table9, MOCoDE get consistent results with very small standard deviation; moreover, even the worst result is better than the mean of the compared approaches.

Table 9 :
Computational results of DE approaches for process flowsheeting problem.

Table 10 :
Statistical results of DE approaches for process synthesis problem.

Table 11 :
Computational results of DE approaches for process synthesis problem.

Table 12 :
Comparison of the best solutions for pressure vessel design problem.

Table 13 :
Statistical results of different methods for pressure vessel design problem.

Table 14 :
-test of the significance of difference of MoCoDE with other algorithms.From Table13, 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-theart 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.BenchmarkFunctions. -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,  0.05 (98) = 1.984. 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  2 ,  7 , and  10 .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,  0.05 (198) = 1.972.The  values are given in the last column of Tables 4, 6, 9, 11, and 13.