Dierential Evolution for Constrained Optimization Problems
Rosario Rascunà · 2006
This work on constrained optimization problems presents preliminary results using Differential Evolution (DE) (Storn and Rice, 1997) as a tool to search in complex fitness landscape. Penalty functions were not used and a simple feasibility rule was implemented to choose between feasible and infeasible solutions. Equality constraints are dealt with a fixed tolerance and no extra diversity mechanism was used. To prove the effectiveness of the approach a set of well known functions (Runarsson and Yao, 2000) was used and the comparison was made against the SMES algorithm (Mezura Montes and Coello Coello, 2005), which represents a state-of-the-art evolutionary algorithm in constrained optimization problems. The aims of this work is to maintain a simple approach and verify whether simplicity could also be an effective way in constrained optimization problems. Differential Evolution is a search method that uses vectors of real numbers to represent its individuals. The idea of DE is to generate new vectors as a weighted sum of the difference between two or more vectors taken from the population. Since there is no mutation the number of parameters required by DE is minimal compared to other algorithms. In order to choose between feasible and infeasible solutions the same operator implemented in SMES was used. As stated in (Mezura Montes and Coello Coello, 2005) this operator works as follow: 1) between two feasible solutions, the one with the highest fitness value wins; 2) if one solution is feasible and the other one is infeasible, the feasible solution wins; 3) if both solutions are infeasible, the one with the lowest sum of constraint violation is preferred. The strategy used for DE is named rand/1/exp. The population is represented by vectors of fixed length N . The initial population is created randomly respecting the boundaries of each variable. The parameters used are: F as a weighting constant, and CR as crossover probability. The following algorithm is repeated until the maximum number of function evaluations is reached: