Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

Responsive image


Differential evolution

Differential Evolution optimizing the 2D Ackley function.

In evolutionary computation, differential evolution (DE) is a method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. Such methods are commonly known as metaheuristics as they make few or no assumptions about the optimized problem and can search very large spaces of candidate solutions. However, metaheuristics such as DE do not guarantee an optimal solution is ever found.

DE is used for multidimensional real-valued functions but does not use the gradient of the problem being optimized, which means DE does not require the optimization problem to be differentiable, as is required by classic optimization methods such as gradient descent and quasi-newton methods. DE can therefore also be used on optimization problems that are not even continuous, are noisy, change over time, etc.[1]

DE optimizes a problem by maintaining a population of candidate solutions and creating new candidate solutions by combining existing ones according to its simple formulae, and then keeping whichever candidate solution has the best score or fitness on the optimization problem at hand. In this way, the optimization problem is treated as a black box that merely provides a measure of quality given a candidate solution and the gradient is therefore not needed.

Storn and Price introduced Differential Evolution in 1995.[2][3][4] Books have been published on theoretical and practical aspects of using DE in parallel computing, multiobjective optimization, constrained optimization, and the books also contain surveys of application areas.[5][6][7][8] Surveys on the multi-faceted research aspects of DE can be found in journal articles.[9][10]

  1. ^ Cite error: The named reference elediadereview was invoked but never defined (see the help page).
  2. ^ Storn, Rainer; Price, Kenneth (1995). "Differential evolution—a simple and efficient scheme for global optimization over continuous spaces" (PDF). International Computer Science Institute. TR (95). Berkeley: TR-95-012. Retrieved 3 April 2024.
  3. ^ Cite error: The named reference storn97differential was invoked but never defined (see the help page).
  4. ^ Cite error: The named reference storn96usage was invoked but never defined (see the help page).
  5. ^ Cite error: The named reference price05differential was invoked but never defined (see the help page).
  6. ^ Cite error: The named reference feoktistov06differential was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference onwubolu04techniques was invoked but never defined (see the help page).
  8. ^ Cite error: The named reference chakraborty08advances was invoked but never defined (see the help page).
  9. ^ S. Das; P. N. Suganthan (Feb 2011). "Differential Evolution: A Survey of the State-of-the-art" (PDF). IEEE Trans. on Evolutionary Computation. 15 (1): 4–31. doi:10.1109/TEVC.2010.2059031.
  10. ^ S. Das; S. S. Mullick; P. N. Suganthan (2016). "Recent Advances in Differential Evolution - An Updated Survey" (PDF). Swarm and Evolutionary Computation. doi:10.1016/j.swevo.2016.01.004.

Previous Page Next Page