What is Differential Evolution?

Differential evolution is a black-box optimization algorithm that tries to iteratively improve a solution without using gradients. It only needs an initial solution and a fitness function to work.

While the algorithm does not guarantee that an optimal solution will be found, it tends to find good enough solutions in most cases.

Implementations

As differential evolution is a simple and well-known algorithm, a lot of implementations of it exist in the wild. Below are some examples.

Python

C#

  • https://github.com/mbalchanowski/Differential-Evolution

Related links and references