Skip to content
CoreSource checked

Differential Evolution

Optimizes continuous parameters by combining differences between population members.

Quick Facts

Compact metadata for implementation and discovery.

Category
Optimization
Difficulty
Intermediate
Family
Evolutionary Optimization
Tier
Core
Status
Verified
Review
Source Checked
Sources
1
Formulas
1
Relationships
5
Code example
Ready
Visualization
Ready

Overview

Differential Evolution mutates candidates with scaled vector differences, crosses them with current candidates, and keeps the better result.

Core Concepts

vector differencepopulation mutationcrossoverselection

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(population)

Average

O(iterations * population * cost)

Worst

O(iterations * population * cost)

Space

O(population)

When to Use

  • Use when tuning model parameters needs vector difference.
  • Use when the input matches the assumptions behind evolutionary Optimization.

When Not to Use

  • Avoid when the objective is cheap and convex enough for a simpler exact solver.
  • Avoid when a simpler algorithm gives the required result with less setup.

What It Does

  • Optimizes continuous parameters by combining differences between population members
  • Uses vector difference and population mutation to guide the work.
  • Produces best candidate.

Use Cases

  • Tuning model parameters
  • Searching design spaces
  • Fitting models to noisy data

Inputs

  • Objective function
  • Initial candidate or population
  • Stopping rule

Outputs

  • Best candidate
  • Objective value
  • Search history

Key Formulas (1)

Mutation vector

v = xa + F · (xb − xc)
v = x_a + F * (x_b - x_c)

Creates a trial direction from differences between existing candidates.

Pseudocode

  1. 1.Prepare the inputs and state needed for Differential Evolution.
  2. 2.Apply the vector difference step while the stopping condition has not been met.
  3. 3.Update intermediate state and discard invalid candidates.
  4. 4.Return best candidate.

Canonical Example

Input
Differential Evolution input with a small representative case
Output
Best candidate
Explanation
Differential Evolution applies vector difference to produce best candidate.

Implementation Notes

  • Track both best-so-far and current candidate state.
  • Keep the vector difference step separate enough to test independently.

Common Pitfalls

  • Stopping too early can make a poor local result look like convergence.
  • Forgetting to check edge cases can make Differential Evolution look correct on only ideal inputs.

Interactive Mechanism Walkthrough

Iterative Convergence & State Trajectory

Plot candidate points, objective values, and improvement steps across iterations.

Differential Evolution mechanism walkthrough step 1 of 4x₀x₁x₂x*
Step 1 of 4: Prepare the inputs and state needed for Differential Evolution.
optimization-mechanism

Notes

Differential Evolution should be used with the assumptions and tradeoffs of evolutionary Optimization in mind.

Sources (1)

What each reference supports for this entry.

Storn and Price 1997

Paper

Foundational paper for differential evolution over continuous spaces.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Conceptual neighborGenetic Algorithm

Differential evolution shares mutation and selection ideas with evolutionary algorithms.

Both are derivative-free population optimizers for continuous spaces.

Tags

OptimizationPopulation BasedEvolution StrategyStochastic