Author
Keywords
Differential Evolution
Review Status
Reviewed; revised 2009-02-02.
The algorithm
A more recent contribution to population-based methods is Differential Evolution (DE) [1] which was developed for the optimisation of continuous objective functions. The pseudocode below describes the algorithm. Initially, the procedure randomly generates and evaluates $n_P$ solutions, stored in real-valued vectors of length $d$. In each generation, the algorithm creates a candidate solution for each existing solution $P^{(k)}_{\cdot ,i}$ (ie, for each current element of the population) through differential mutation (Line 7) and uniform crossover (Lines 8-10). Differential mutation generates a new solution by multiplying the difference between two randomly selected solution vectors by a scale factor $\mathtt{F}$, and adding the result to a third vector. Then an element-wise crossover takes place with probability $\mathtt{CR}$ between this ‘auxiliary’ solution $P^{(v)}_{\cdot , i}$ and the existing solution $P^{(k)}_{\cdot ,i}$. The resulting new candidate solution is denoted $P^{(u)}_{\cdot ,i}$: if it is better than $P^{(k)}_{\cdot ,i}$, it replaces it; if not, the old solution is kept. The algorithm terminates after a predefined number of generations.
Internal Links
Concepts |
… |
Tutorials |
… |
Tips |
… |
Related Articles |
… |
External links
References |
1. Storn, R. and K. Price (1997). Differential evolution - A simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization 11, 341-359.
|
Weblinks |
Differential Evolution homepage by R. Storn and K. Price
The R-package NMOF contains an implementation of Differential Evolution (the function DEopt). The package is available from R-Forge . |