Differential Evolution — Global Stochastic Optimiser
Differential Evolution (DE) · Also known as: DE algorithm, Diferansiyel Evrim (DE), DE optimization
Differential Evolution (DE), introduced by Rainer Storn and Kenneth Price in 1997, is a population-based stochastic optimisation algorithm designed for continuous parameter spaces. It generates candidate solutions by combining vector differences between existing population members, making it a powerful and parameter-lean alternative to Genetic Algorithms and Particle Swarm Optimisation when the search landscape is non-convex, multimodal, or poorly suited to gradient-based methods.
Read the full method
Sign in with a free account to read this section.
Method map
The neighbourhood of related methods — select a node to explore.
+3 more
When to use it
Differential Evolution is appropriate when the objective function is continuous, possibly non-differentiable or multimodal, and the search bounds for all parameters are known in advance. It requires no gradient information and no normality assumption, so it suits engineering design, hyperparameter tuning, calibration of simulation models, and any black-box optimisation task. A population size of roughly 10 times the number of parameters is a common starting point. DE should not be applied to purely discrete or combinatorial problems; it also needs at least 1 000 iterations to converge reliably — if the function evaluation budget is very tight, Bayesian optimisation is a more sample-efficient alternative.
Strengths & limitations
- Requires no gradient information — works with any black-box objective function, including non-differentiable and noisy ones.
- Very few control parameters (F, CR, NP) relative to its search power, making it comparatively easy to configure.
- Naturally handles multimodal landscapes where gradient-based optimisers converge to local optima.
- Population evaluations are independent and can be parallelised straightforwardly, reducing wall-clock time on multi-core systems.
- Competitive with Genetic Algorithms and Particle Swarm Optimisation on many benchmarks while using a simpler update rule.
- Convergence can be slow if the number of iterations is insufficient; fewer than 1 000 generations often yields a suboptimal result.
- Performance is sensitive to the choice of F and CR — poorly tuned parameters can lead to premature convergence or excessively slow progress.
- Not designed for purely discrete or combinatorial search spaces; discrete extensions exist but are less standard.
- Each iteration requires evaluating the objective function NP times, which can be costly when each evaluation is computationally expensive.
Frequently asked
How do I choose the scale factor F and crossover rate CR?
The most widely cited defaults are F = 0.8 and CR = 0.9 for the DE/best/1/bin strategy. In practice, F controls step size — values around 0.4–1.0 are typical — and CR controls how much the mutant replaces the target. If the population converges too quickly, raise F or lower CR. Adaptive DE variants (jDE, JADE) adjust these parameters automatically during the run, which is a reasonable choice when manual tuning is impractical.
How many generations are needed?
As a rule of thumb, at least 1 000 generations are recommended. For high-dimensional problems (many parameters) or complex landscapes, more iterations may be necessary. Watch the objective value of the best solution across generations: if it has not changed for hundreds of iterations, DE has likely converged — or stagnated, in which case re-running with a fresh random seed is advisable.
How does DE compare with Genetic Algorithms and Particle Swarm Optimisation?
All three are population-based metaheuristics for continuous optimisation. DE typically uses fewer control parameters than GAs and has a simpler, deterministic update rule compared to PSO. On many standard benchmarks DE is competitive with or outperforms both, but performance is problem-dependent. The choice often comes down to familiarity and available implementations rather than a universal ranking.
Can DE handle integer or categorical parameters?
DE is designed for continuous spaces. Integer parameters can be accommodated by rounding the continuous solution to the nearest integer after each update, but this is an approximation. Purely categorical or combinatorial problems — such as scheduling or routing — are better served by methods designed for discrete spaces, such as Ant Colony Optimisation or Tabu Search.
Sources
- Storn, R. & Price, K. (1997). Differential Evolution – A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces. Journal of Global Optimization, 11(4), 341–359. DOI: 10.1023/A:1008202821328 ↗
- Das, S., Mullick, S. S., & Suganthan, P. N. (2016). Recent advances in differential evolution – An updated survey. Swarm and Evolutionary Computation, 27, 1–30. DOI: 10.1016/j.swevo.2016.01.004 ↗
How to cite this page
ScholarGate. (2026, June 1). Differential Evolution (DE). ScholarGate. https://scholargate.app/en/optimization/differential-evolution
Which method?
Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.
- Bayesian RegressionBayesian↔ compare
- Deep Reinforcement LearningDeep learning↔ compare
- Genetic AlgorithmOptimization↔ compare
- Neural Architecture SearchDeep learning↔ compare
- Principal Component AnalysisMachine learning↔ compare