NLopt is a library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms. Its features include: * Callable from variety of languages (C, C++, Fortran, Python, Octave) * A common interface for many different algorithms—try a different algorithm just by changing one parameter. * Both global and local optimization algorithms. * Both derivative-free and gradient-based optimization algorithms. * Algorithms for unconstrained optimization, bound-constrained optimization, and general nonlinear inequality constraints.