This contribution provides functions for finding an optimum parameter set using the evolutionary algorithm of Differential Evolution. Simply speaking: If you have some complicated function of which you are unable to compute a derivative, and you want to find the parameter set minimizing the output of the function, using this package is one possible way to go.
The core of the optimization is the Differential Evolution algorithm. However, this package provides much more than the code available on the Differential Evolution homepage:
Here is a list of some features:
* Optimization can run in parallel on multiple cores/computers.
* Extensive and configurable progress information during optimization.
* Intermediate results are stored for later review of optimization progress.
* Progress information can be sent by E-mail.
* Optimization toolbox is not needed.
* Quick start with demo functions.
* Intermediate results are displayed after the optimization.
* Different end conditions can be chosen (maximum time, value to reach etc.).
* Each parameter value can be constrained to an interval.
* Each parameter value can be quantized (for example for parameters of integer nature).
* Code can easily be extended to use the evolutionary algorithm of your choice.
I have spent many hours to develop this package. If you would like to let me know that you appreciate my work, you can do so by leaving a donation:
Keywords: Optimization, evolutionary algorithm, genetic algorithm, differential evolution, parallel processing, distributed computing, multiple core.