Differential Evolution
Differential evolution is a population-based optimization algorithm introduced by Rainer Storn and Kenneth Price in 1997. It belongs to the broader family of evolutionary computation methods but differs from classical genetic algorithms in its representation and variation operators. Candidate solutions are encoded as real-valued vectors, and new candidates are generated by adding the weighted difference between two population members to a third — a mutation strategy that uses the population's own distribution as a search heuristic.
The algorithm's simplicity is deceptive. Differential evolution requires few control parameters (population size, crossover rate, and differential weight) and has demonstrated competitive performance on benchmark functions where gradient-based methods fail. Its mutation operator implicitly adapts to the local geometry of the fitness landscape: in regions where the population is spread out, differences are large and exploration is aggressive; in regions where the population has converged, differences are small and search becomes fine-grained.
The method has been particularly successful in engineering optimization, chemical process design, and multi-objective problems. Its relationship to particle swarm optimization is an active area of research: both algorithms use population information to guide search, but differential evolution's difference-vector mutation lacks the explicit velocity metaphor of PSO.