/jDE

A sequential implementation of a self-adaptive differential evolution namely jDE in C++

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Self-Adaptive Differential Evolution (jDE)

Sequential implementation of a self-adaptive differential evolution namely jDE [1]. Differential Evolution is one of the most used algorithm for optimization in the continuous domain, but is highly sensitive to parameters. The self-adaptive aims to remove the responsability of the designer to define the parameters values, given more robustness to the algorithm. The jDE algorithm uses a self-adapting mechanism on the control parameters F (mutation scale factor) and CR (crossover probability), changing his values during the run. This implementation uses DE/rand/1/bin strategy to create mutant vectors.

Compile
$ cd repo
$ make
Execute
$ cd repo
$ ./jDE-demo or make run

Clean up

$ make clean

To-do List

- Empty list for a while

[1] J. Brest, V. Zumer and M. S. Maucec, "Self-Adaptive Differential Evolution Algorithm in Constrained Real-Parameter Optimization," 2006 IEEE International Conference on Evolutionary Computation, Vancouver, BC, 2006, pp. 215-222. doi: 10.1109/CEC.2006.1688311, URL