A novel hybrid genetic differential evolution algorithm for constrained optimization problems

Most of the real-life applications have many constraints and they are considered as constrained optimization problems (COPs). In this paper, we present a new hybrid genetic differential evolution algorithm to solve constrained optimization problems. The proposed algorithm is called hybrid genetic differential evolution algorithm for solving constrained optimization problems (HGDESCOP). The main purpose of the proposed algorithm is to improve the global search ability of the DE algorithm by combining the genetic linear crossover with a DE algorithm to explore more solutions in the search space and to avoid trapping in local minima. In order to verify the general performance of the HGDESCOP algorithm, it has been compared with 4 evolutionary based algorithms on 13 benchmark functions. The experimental results show that the HGDESCOP algorithm is a promising algorithm and it outperforms other algorithms. Keywords—Constrained optimization problems, Genetic algorithms, Differential evolution algorithm, Linear crossover.


I. INTRODUCTION
Evolutionary algorithms (EAs) have been widely used to solve many unconstrained optimization problems [1], [3], [10], [15].EAs are unconstrained search algorithms and lake a technique to handel the constraints in the constrained optimization problems (COPs).There are different techniques to handle constraints in EAs, these techniques have been classified by Michalewicz [13] as follows.Methods based on penalty functions, methods based on the rejection of infeasible solutions, methods based on repair algorithms, methods based on specialized operators and methods based on behavioral memory.
Differential evolutionary algorithm (DE) is one of the most widely used evolutionary algorithms (EAs) introduced by Stron and Price [17].Because of the success of DE in solving unconstrained optimization problems, it attracts many researchers to apply it with their works to solve constrained optimization problems (COPs) [2], [18], [19].In this paper, we proposed a new hybrid algorithm in order to solve constrained optimization problems.The proposed algorithm is called hybrid genetic differential evolution algorithm for solving constrained optimization problems (HGDESCOP).The HGDESCOP algorithm starts with an initial population consists of NP individuals, the initial population is evaluated using the objective function.At each generations, the new offspring is created by applying the DE mutation.In order to increase the global search behavior of the proposed algorithm and explore wide area of the search space, a genetic algorithm linear crossover operator is applied.In the last stage of the algorithm, the greedy selection is applied in order to accept or reject the trail solutions.These operations are repeated until the termination criteria satisfied.
The main objective of this paper is to construct an efficient algorithm which seeks optimal or near-optimal solutions of a given objective function for constrained problems by combining the genetic linear crossover with a DE algorithm to explore more solutions in the search space and to avoid trapping in local minima.
The reminder of this paper is organized as fellow.The problem definition and an overview of genetic algorithm and differential evolution are given in Section II.In Section III, we explain the proposed algorithm in detail.The numerical experimental results are presented in Section IV.Finally, The conclusion of the paper is presented in Section V.

II. PROBLEM DEFINITION AND OVERVIEW OF GENETIC ALGORITHM AND DIFFERENTIAL EVOLUTION ALGORITHM
In the following section and subsections, we give an overview of the constraint optimization problem and we highlight the penalty function technique, which are used to convert the constrained optimization problems to unconstrained optimization problems.Finally, we present the standard genetic algorithm and deferential evolutionary algorithm.

A. Constrained optimization problems
A general form of a constrained optimization is defined as follows: Where f (x) is the objective function, x is the vector of n variables, g i (x) ≤ 0 are inequality constraints, h j (x) = 0 are equality constraints, x l , x u are variables bounds.In this paper, we used the penalty function technique to solve constrained optimization problems [11].The following subsection gives more details about the penalty function technique.www.ijacsa.thesai.org

1) The Penalty function technique:
The penalty function technique is used to transform the constrained optimization problems to unconstrained optimization problem by penalizing the constraints and forming a new objective function as follow: Where, penalty(x) = 0 if no constraint is violated 1 otherwise.
There are two kind of points in the search space of the constrained optimization problems (COP), feasible points which satisfy all constraints and unfeasible points which violate at least one of the constraints.At the feasible points, the penalty function value is equal the value of objective function, but at the infeasible points the penalty function value is equal to a high value as shown in Equation 2. In this paper, a non stationary penalty function has been used, which the values of the penalty function are dynamically changed during the search process.A general form of the penalty function as defined in [21] as follows: Where f (x) is the objective function, h(k) is a non stationary (dynamically modified) penalty function, k is the current iteration number and H(x) is a penalty factor, which is calculated as follows: Where q i (x) = max(0, g i (x)), i = 1, . . ., m, g i are the constrains of the problem, q i is a relative violated function of the constraints, θ(q i (x)) is the power of the penalty function, the values of the functions h(.), θ(.)andγ(.) are problem dependant.We applied the same values, which are reported in [21].
The following values are used for the penalty function: Where the assignment function was and the penalty value h(t) = t * √ t.

B. An overview of genetic algorithm
Genetic algorithm (GA) was introduced by Holland [8].The basic principles of GA are inspired from the principles of life which were first described by Darwin [4].GA starts with a number of individuals (chromosomes) which form a population.After randomly creating of the population, the initial population is evaluated using fitness function.The selection operator is start to select highly fit individuals with high fitness function score to create new generation.Many type of selection have been developed like roulette wheel selection, tournament selection and rank selection [12].The selected individuals are going to matting pool to generate offspring by applying crossover and mutation.Crossover operator is applied to the individuals in the mating pool to produces two new offspring from two parents by exchanging substrings.The most common crossover operators are one point crossover [8], two point crossover [12], uniform crossover [12].The parents are selected randomly in crossover operators by assign a random number to each parent, the parent with random number lower than or equal the probability of crossover ration P c is always selected.Mutation operators are important for local search and to avoid premature convergence.The probability of mutation p m must be selected to be at a low level otherwise mutation would randomly change too many alleles and the new individual would have nothing in common with its parents.The new offspring is evaluated using fitness function, these operations are repeated until termination criteria stratified, for example number of iterations.The main structure of genetic algorithm is presented in Algorithm 1 Algorithm 1 The structure of genetic algorithm 1: Set the generation counter t := 0. 2: Generate an initial population P 0 randomly.3: Evaluate the fitness function of all individuals in P 0 .4: repeat 5: Set t = t + 1. { Generation counter increasing}.

6:
Select an intermediate population P t from P t−1 .{Selection operator}.

7:
Associate a random number r from (0, 1) with each row in P t .

8:
if r < p c then 9: Apply crossover operator to all selected pairs of P t .Evaluate the fitness function of all individuals in P t .18: until Termination criteria satisfied.
1) Liner crossover operator: HGDESCOP uses a linear crossover [20] in order to generate a new offspring to substitute their parents in the population.The main steps of the linear crossover is shown in Procedure 1.
Choose the two most promising offspring of the three to substitute their parents in the population.3. Return.

C. An overview of differential evolution algorithm
Differential evolution algorithm (DE) proposed by Stron and Price in 1997 [17].In DE, the initial population consists of number of individuals, which is called a population size N P .Each individual in the population size is a vector consists of D dimensional variables and can be defined as follows: Where G is a generation number, D is a problem dimensional number and NP is a population size.DE employs mutation and crossover operators in order to generate a trail vectors, then the selection operator starts to select the individuals in new generation G+1.The overall process is presented in details as follows: 1) Mutation operator: Each vector x i in the population size create a trail mutant vector v i as follows.
DE applied different strategies to generate a mutant vector as fellows: best is the best vector in the population in the current generation G.
2) Crossover operator: A crossover operator starts after mutation in order to generate a trail vector according to target vector x i and mutant vector v i as follows: Where CR is a crossover factor, CR ∈ [0, 1], j rand is a random integer and j rand ∈ [0, 1] 3) Selection operator: The DE algorithm applied greedy selection, selects between the trails and targets vectors.The selected individual (solution) is the best vector with the better fitness value.The description of the selection operator is presented as fellows: The main steps of DE algorithm are presented in Algorithm 2 Algorithm 2 The structure of differential evolution algorithm Set G = G + 1. {Generation counter increasing}. 7: Select random indexes r 1 , r 2 , r 3 , where ). {Mutation oper-ator}.end for end for 24: until Termination criteria satisfied.

III. THE PROPOSED HGDESCOP ALGORITHM
HGDESCOP algorithm starts by setting the parameter values.In HGDESCOP, the initial population is generated randomly, which consists of NP individuals as shown in Equation 5.Each individual in the population is evaluated by using the objective function.At each generation (G), each individual in the population is updated by applying the DE mutation operator by selecting a random three indexes r 1 , r 2 , r 3 , where r 1 = r 2 = r 3 = i as shown in Equations 6, 7.After updating the individual in the population, a random number r from (0, 1) is associated with each individual in the population by applying the genetic algorithm linear crossover operator as shown in Procedure 1.The greedy selection operator is starting to select the new individuals to form the new population in next generation as shown in Equation 13.These operations www.ijacsa.thesai.orgare repeated until termination criterion satisfied, which is the number of iterations in our algorithm.Set G = G + 1. {Generation counter increasing}.

13:
if r < P c then 14: Apply Procedure 1 to all selected pairs of v (G) i in P (G) .{GA linear crossover operator}.for (k = 0; k < NP; k++) do

IV. NUMERICAL EXPERIMENTS
The general performance of the proposed HGDESCOP algorithm is tested using 13 benchmark function G 1 − G 13 , which are reported in details in [5], [7], [13].These functions are listed in Table I as follows.

A. Parameter settings
The parameters used by HGDESCOP and their values are summarized in Table II.These values are either based on the common setting in the literature or determined through our preliminary numerical experiments.

B. Performance analysis
In order to test the general performance of the proposed HGDESCOP algorithm, we applied it with 13 benchmark functions G 1 − G 13 and the results are reported in Table III.Also, six functions have been plotted as shown in Figure 1.

1) The general performance of the HGDESCOP algorithm:
The best, mean, worst and standard deviation values are averaged over 30 runs and reported in Table III.We can observe from the results in Table III, that HGDESCOP could obtain the optimal solution or very near to optimal solution for all functions G 1 − G 12 for all 30 runs, However HGDESCOP could obtain the optimal solution with function G 13 for 9 out of 30 runs.Also in Figure 1, we can observe that the function values are rapidly decrease as the number of function generations increases.
We can conclude from Table III and Figure 1, that HGDE-SCOP is an efficient algorithm and it can obtain the optimal or near optimal solution with only few number of iterations.

C. HGDESCOP and other algorithms
In order to evaluate the performance of HGDESCOP algorithm, we compare it with four evolutionary based algorithms, All results are reported in Table IV, and the results of the other algorithms are taken from their original papers.The four algorithms are listed as follows.
• Homomorphous Mappings (HM) [9] This algorithm, incorporates a homomorphous mapping between n-dimensional cube and a feasible search space.
• Stochastic Ranking (SR) [16] This algorithm introduces a new method to balance objective and penalty functions stochastically, (stochastic ranking), and presents a new view on penalty function methods in terms of the dominance of penalty and objective functions.
• Adaptive Segregational Constraint Handling EA (AS-CHEA) [6] This algorithm is called ASCHEA and it is used after extending the penalty function and introducing a niching techniques with adaptive radius to handel multimodel functions.The main idea of the algorithm is to start for each equality with a large feasible

Algorithm 3
The proposed HGDESCOP algorithm 1: Set the generation counter G := 0. 2: Set the initial value of F , p c and NP.3: Generate an initial population P 0 randomly.4: Evaluate the fitness function of all individuals in P 0 .5: repeat 6: 26: until Itr no ≤ M axitr {Termination criteria satisfied}.
Associate a random number r 1 from (0, 1) with each gene in each individual in P t . 12:17:

TABLE I :
Constrained benchmark functions.