Global optimization solver

The ALGLIB numerical library offers a powerful global optimization solver, capable of efficiently handling unconstrained and constrained problems with box, linear and nonlinear constraints.

It is one of the fastest open-source global solvers (see the benchmark), available in C++, C#, Java and several other programming languages, under both free and commercial editions.

Contents

    1 Global optimization solver overview
           Key features
           Benchmark
           Programming languages supported
           Algorithms
    2 Downloads section

Global optimization solver overview

Key features

The key features of the ALGLIB global optimization solver include:

Benchmark

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.

Programming languages supported

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.

Algorithms

Global optimization (GO) is closely related to derivative-free optimization because GO problems are often nonsmooth and noisy. The most popular GO algorithms (differential evolution, genetic algorithms, particle swarm optimization) are inherently derivative-free. That's why global and derivative-free optimization functionality in ALGLIB is provided by the same subpackage, mindf.

As of the most recent ALGLIB release, the global optimization solver uses constrained differential evolution as its underlying algorithm. Our implementation of the DE algorithm uses an award-winning adaptive parameter tuning strategy EPSDE (proposed by R.Mallipeddi and P.N.Suganthan), which is completely free from tunable parameters, automatically choosing crossover rate and mutation probability.

EPSDE successfully competes with other global methods like genetic algorithms (GA) and particle swarm optimization (PSO), producing comparable or better results with no tuning. It also efficiently handles nonsmooth and even discontinuous problems.

ALGLIB Reference Manual entry for the mindf subpackage includes API description and several examples.

Download ALGLIB for C++ / C# / Java / Python / ...

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:

ALGLIB 4.01.0 for C++

C++ library.
Delivered with sources.
Monolithic design.
Extreme portability.
Editions:   FREE   COMMERCIAL

ALGLIB 4.01.0 for C#

C# library with native kernels.
Delivered with sources.
VB.NET and IronPython wrappers.
Extreme portability.
Editions:   FREE   COMMERCIAL

ALGLIB 4.01.0 for Java

Java wrapper around HPC core.
Delivered with sources.
Seamless integration with Java.
Editions:   FREE   COMMERCIAL

ALGLIB 4.01.0 for Delphi

Delphi wrapper around C core.
Delivered as precompiled binary.
Compatible with FreePascal.
Editions:   FREE   COMMERCIAL

ALGLIB 4.01.0 for CPython

CPython wrapper around C core.
Delivered as precompiled binary.
Editions:   FREE   COMMERCIAL