Differential Evolution (DE) is a powerful method of derivative-free global optimization. The ALGLIB numerical library includes GDEMO - one of the best open source implementations of differential evolution (see the benchmark) available in C++, C#, Java and other languages under both free and commercial licenses. The solver is robust, parallelized and capable of efficiently handling unconstrained and constrained problems with box, linear and nonlinear constraints.
This article discusses the specifics of the DE solver. A high-level overview of other derivative-free optimization functionality is provided on another page.
1 Differential evolution solver
Features
Programming languages supported
2 Benchmark
3 Downloads section
Differential evolution is provided by the mindf subpackage, which includes algorithms for derivative-free and global optimization problems. The DE solver can be activated by calling mindfsetalgogdemo (for an adaptive DE) or mindfsetalgogdemofixed (for a DE with fixed evolution parameters).
All DE implementations share the same properties: an ability to solve 'incorrectly stated' problems (nonsmooth, noisy, discontinuous) and global optimization capabilities. In addition to that, ALGLIB implementation of the differential evolution method has the following attractive features:
Differential evolution successfully competes with other global methods like genetic algorithms (GA) and particle swarm optimization (PSO), producing comparable or better results with no need for tuning and no need to develop a chromosome representation of your optimization problem.
ALGLIB supports many programming languages, including C++, C#, Java, Python, and others:
A distinctive feature of ALGLIB is that it provides exactly the same API in all programming languages. This is achieved with our exclusive technology of automatic code translation and wrapper generation.
In order to evaluate performance and robustness of our differential evolution solver we compared it with several metaheuristic solvers from other well-known open source software packages. We used a small-dimensional subset of the CUTEst set of test problems. See the benchmark page for more information about the benchmark setup.
The chart above clearly shows that ALGLIB is the fastest solver amongst ones compared.
This article is licensed for personal use only.
ALGLIB Project offers you two editions of ALGLIB:
ALGLIB Free Edition:
+delivered for free
+offers full set of numerical functionality
+extensive algorithmic optimizations
-no multithreading
-non-commercial license
ALGLIB Commercial Edition:
+flexible pricing
+offers full set of numerical functionality
+extensive algorithmic optimizations
+high performance (SMP, SIMD)
+commercial license with support plan
Links to download sections for Free and Commercial editions can be found below: