Skip to content
This repository was archived by the owner on Jul 5, 2023. It is now read-only.

Differential Evolution

pilarcaamano edited this page Mar 8, 2013 · 28 revisions

Rainer Storn and Kenneth Price introduced the Differential Evolution algorithm (DE) in 1995 as a very simple population based, stochastic function minimizer [1] . The authors designed this algorithm with the aim of fulfilling four requirements:

  • It should have the ability to deal with non-differentiable, non-linear and multimodal functions. Thus the algorithm was designed to be a stochastic direct search method.
  • A parallelizable algorithm was desired. Consequently, they developed a population based algorithm where the perturbation of each chromosome could be applied independently.
  • They wanted it to be easy to use and with few control parameters. Therefore, they designed a self-organizing algorithm that employs information from the population to alter the search space.
  • An algorithm with good convergence properties was necessary. This requirement has been fulfilled as is demonstrated by the large number of publications that use the DE with successful results.

The DE algorithm begins the search process by creating a random population of N chromosomes. The basic strategy employed consists in the generation of new chromosome vectors according to the following steps:

  • Mutation: for each target vector of the population, a new chromosome named trial vector is generated by adding the weighted difference of two randomly chosen chromosome vectors to a third one, hereafter the base vector. The parameter F is a real and constant factor which scale the influence of the set of pairs of solutions selected to calculate the mutation value.
  • Crossover: a recombination or crossover operator could be applied to the trial vector in order to increase the diversity of the population. The behavior of this operator consists in choosing some genes from the target vector and some from the trial vector. Parameter CR regulates the execution of this operator, controlling the influence of the target over the generation of the offspring. Higher values for CR imply less influence of the target.
  • Selection: after the application of the mutation and crossover operator, the trial vector is compared to the target vector using a greedy criterion. If the trial vector yields a better objective function value than the target vector, then the trial vector replaces the target one in the population. Otherwise, the target vector remains in the population.

The DE algorithm bases its behavior on the self-adaptation of the mutation operator, which uses information about the distribution of the population in the search space in order to obtain a new population. There is no control on the step sizes, because they depend on the location of the selected individuals.

The DE version commented above is the original one and it is also known as DE/rand/1/bin, where rand indicates that the base vector is randomly chosen from the population, the number 1 indicates that one difference vector is used and bin is the crossover strategy, in this case, binomial strategy. Many other variants of the DE algorithm may be found in the literature with different mutation and crossover strategies and with more than one difference vector. For example, some mutation strategies are best, current-to-best, current-to-rand, etc. [2] . In terms of crossover, the exponential crossover operator has provided successful results and in [3] the authors present two more variants.

In the JEAF framework the mutation and crossover strategies implemented are the ones indicated in this class diagram.

Differential Evolution Class Diagram

The simple schema of the Differential Evolution allows the development of different versions. In JEAF, the following differential evolution variants are implemented:

  • JADE, a self adaptive differential evolution [4] .
  • A multimodal differential evolution variant [5] .

References

[1] R. Storn and K. V. Price, _Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continous Spaces_, Journal of Global Optimization, 11: 341 - 359, November 1997. [ [DOI](http://link.springer.com/article/10.1023%2FA%3A1008202821328) ] [2] E. Mezura-Montes, J. Velázquez-Reyes and C. A. Coello Coello, _A comparative study of differential evolution variants for global optimization_, in GECCO'06: Proceedings of the 8th annual Conference on Genetic and Evolutionary Computation, New York, NY, USA: ACM, 2006, pp. 485 - 492. [ [DOI](http://dx.doi.org/10.1145/1143997.1144086) ] [3] D. Zaharie, _Influence of Crossover on the behavior of Differential Evolution Algorithm_, Applied Soft Computing, 9: 1126 - 1138, March 2009. [ [DOI](http://dx.doi.org/10.1016/j.asoc.2009.02.012) ] [4] J. Zhang and A. C. Sanderson, _JADE: Adaptive Differential Evolution with Optional External Archive_, Evolutionary Computation, IEEE Transactions on, 13(5): 945 - 958, October 2009. [ [DOI](http://dx.doi.org/10.1109/TEVC.2009.2014613) ] [5] Epitropakis, M.G.; Plagianakos, V.P.; Vrahatis, M.N., "Finding multiple global optima exploiting differential evolution's niching capability," Differential Evolution (SDE), 2011 IEEE Symposium on , vol., no., pp.1,8, 11-15 April 2011 [ [DOI](http://dx.doi.org/10.1109/SDE.2011.5952058) ]

Configuration

Here, there is several configuration examples files for the different variants of the DE algorithm implemented in JEAF:

See also