NLopt is a library for nonlinear optimization that allows one to select from a wide variety of optimization algorithms by changing a single parameter. Its features include both local and global optimization, unconstrained, bound-constrained, or nonlinear-inequality constrained problems, and optimization using function values only or using derivatives if they are available. It was initially begun as a wrapper around several existing optimization packages, but it now also includes original implementations of several algorithms for which no free code was available. It provides interfaces callable from C/C++, Fortran, Matlab, GNU Octave, Python, and GNU Guile.
| Tags | optimisation Optimization Numerics |
|---|---|
| Licenses | LGPL MIT/X |
| Operating Systems | Unix Linux Mac OS X |
| Implementation | C |
Recent releases


Release Notes: This release adds minor bugfixes and adds a new optimization algorithm (a preconditioned CCSA variant).


Release Notes: Various minor bugfixes.


Release Notes: Various fixes to compile under Microsoft Visual Studio, as well a bugfix to absolute tolerance settings.


Release Notes: The SLSQP algorithm was added for gradient-based nonlinearly constrained optimization. Implicit per-dimension scaling is done in BOBYQA and COBYLA. Various bugs were fixed.


Release Notes: Minor bugfixes and a slightly more natural Python API for vector-valued constraints.