ALGLIB, a free and commercial open-source numerical library, includes a rich suite of large-scale nonlinear programming algorithms. These algorithms have undergone extensive testing across a wide range of industrial optimization problems.
It is one of the fastest open-source solver suites (see the benchmark), featuring parallel algorithms for smooth, nonsmooth and stochastic problems. It is available in C++, C#, Java and several other programming languages, in both free and commercial editions.
1 Nonlinear programming suite overview
Design goals
Algorithms
Comparison with other open-source solvers
Programming languages supported
2 Performance
SIMD support
Multithreading
3 Downloads section
ALGLIB NLP suite design goals include:
ALGLIB includes solvers for all kinds of constrained nonlinear optimization problems:
The solvers mentioned above support all types of constraint: box, linear and nonlinear ones. Smooth solvers support parallel numerical differentiation which greatly accelerates optimization without analytic derivatives. Metaheuristics are also inherently parallelizable.
In order to evaluate the performance and robustness of our NLP solvers we compared them with several open-source nonlinear programming solvers using a subset of the CUTEst test problem set (see the smooth NLP and metaheuristic NLP benchmark pages for a more detailed discussion).
ALGLIB is consistently faster and more robust than other open-source solvers!
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.
SIMD presence greatly increases speed of the linear algebra utilized by all ALGLIB optimizers. It provides a nearly uniform speed-up for problems of any size, from tens to tens of thousands of variables. SIMD support is available in both backends (C/C++ and NET), with roughly similar performance results.
ALGLIB can parallelize the following parts of the optimization process:
If you are numerically differentiating an expensive target or one with many variables, or if you use a metaheuristic solver with its immense computational demands, then you can greatly benefit from the parallelism support.
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: