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.
AutoDiff.NET is a pure .NET library that allows a developer to easily compose functions symbolically and then automatically calculates the function's value and gradient at any given point. It can be very useful in conjunction with a gradients-based optimization library. It has been tested to work on Mono 2.10 on Linux and on .NET4 on Windows.
HOPSPACK solves derivative-free optimization problems in a C++ software framework. The framework enables parallel operation using MPI (for distributed machine architectures) and multithreading (for single machines with multiple processors or cores). Optimization problems can be very general: functions can be noisy, nonsmooth, and nonconvex, linear and nonlinear constraints are supported, and variables may be continuous or integer-valued.
EO is a template-based, ANSI-C++ evolutionary computation library that helps you to write your own stochastic optimization algorithms quickly. Evolutionary algorithms form a family of algorithms inspired by the theory of evolution, and solve various problems. They evolve a set of solutions to a given problem in order to produce the best results. These are stochastic algorithms because they iteratively use random processes. The vast majority of these methods are used to solve optimization problems, and may be also called "metaheuristics". They are also ranked among computational intelligence methods, a domain close to artificial intelligence. With the help of EO, you can easily design evolutionary algorithms that will find solutions to virtually all kind of hard optimization problems, from continuous to combinatorial ones.
The MOEA Framework is a Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other general-purpose optimization algorithms and metaheuristics. A number of algorithms are provided out-of-the-box, including NSGA-II, ε-MOEA, GDE3, and MOEA/D.