Differential evolution is an evolutionary algorithm that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality, a method commonly classed among metaheuristics since it makes few or no assumptions about the problem being optimized and can search very large spaces of candidate solutions, without any guarantee that an optimal solution will ever be found. It is used for multidimensional real-valued functions and does not use the gradient of the problem being optimized, so it does not require the optimization problem to be differentiable, unlike classic methods such as gradient descent and quasi-Newton methods, and it can therefore be applied to problems that are not even continuous or that are noisy or change over time. It works by maintaining a population of candidate solutions, creating new candidates by combining existing ones according to simple formulae, and keeping whichever candidate has the best score on the optimization problem at hand, treating the problem as a black box that merely provides a measure of quality for a given candidate.
Facts
Classification
Design TechniqueHeuristic or Approximation 1 Sources
1. Differential Evolution (Wikipedia)
https://en.wikipedia.org/wiki/Differential_evolutionQuote, https://en.wikipedia.org/wiki/Differential_evolution
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.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.