Friday, January 20, 2012

Optimization Algorithms

There are many situations in which one needs reliable optimization algorithms to solve econometric and statistical problems. I use them mostly for Maximum Likelihood and Generalized Method of Moments estimations. I find the following algorithms useful, flexible, and very powerful:

NLopt:

NLopt is a free/open-source 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 C, C++, Fortran, Matlab or GNU Octave, Python, GNU Guile, and GNU R.
  • A common interface for many different algorithms—try a different algorithm just by changing one parameter.
  • Support for large-scale optimization (some algorithms scalable to millions of parameters and thousands of constraints).
  • Both global and local optimization algorithms.
  • Algorithms using function values only (derivative-free) and also algorithms exploiting user-supplied gradients.
  • Algorithms for unconstrained optimization, bound-constrained optimization, and general nonlinear inequality/equality constraints.
  • Free/open-source software under the GNU LGPL (and looser licenses for some portions of NLopt).

No comments:

Post a Comment