NLopt

From AbInitio

(Difference between revisions)
Jump to: navigation, search
Revision as of 21:21, 6 July 2010 (edit)
Stevenj (Talk | contribs)
(Download and installation - 2.1)
← Previous diff
Revision as of 15:29, 7 July 2010 (edit)
Stevenj (Talk | contribs)
(Download and installation)
Next diff →
Line 17: Line 17:
==Download and installation== ==Download and installation==
{{NLopt}} {{NLopt}}
-Version 2.1 of NLopt is the latest version available from our web site:+Version 2.1.1 of NLopt is the latest version available from our web site:
-* [http://ab-initio.mit.edu/nlopt/nlopt-2.0.2.tar.gz nlopt-2.1.tar.gz]+* [http://ab-initio.mit.edu/nlopt/nlopt-2.1.1.tar.gz nlopt-2.1.1.tar.gz]
See the [[NLopt release notes]] for the release history. NLopt is designed to be installed on any Unix-like system (GNU/Linux is fine) with a C compiler, using the standard See the [[NLopt release notes]] for the release history. NLopt is designed to be installed on any Unix-like system (GNU/Linux is fine) with a C compiler, using the standard
Line 29: Line 29:
A precompiled 32-bit Windows [[w:Dynamic-link library|DLL]], built with [[w:MinGW|MinGW]] (using [http://ab-initio.mit.edu/nlopt/BUILD-MINGW.sh this script]), is also available: A precompiled 32-bit Windows [[w:Dynamic-link library|DLL]], built with [[w:MinGW|MinGW]] (using [http://ab-initio.mit.edu/nlopt/BUILD-MINGW.sh this script]), is also available:
-* [http://ab-initio.mit.edu/nlopt/nlopt-2.0.2-dll.zip nlopt-2.1-dll.zip]+* [http://ab-initio.mit.edu/nlopt/nlopt-2.1.1-dll.zip nlopt-2.1.1-dll.zip]
Be sure to read the <code>README-WINDOWS</code> file included in this [[w:ZIP (file format)|zip]] archive for how to build an [http://msdn.microsoft.com/en-us/library/0b9xe492.aspx import library] for the DLL before using, by running the <code>lib /def:libnlopt-0.def</code> command. (For source code, download the <code>.tar.gz</code> package above.) Be sure to read the <code>README-WINDOWS</code> file included in this [[w:ZIP (file format)|zip]] archive for how to build an [http://msdn.microsoft.com/en-us/library/0b9xe492.aspx import library] for the DLL before using, by running the <code>lib /def:libnlopt-0.def</code> command. (For source code, download the <code>.tar.gz</code> package above.)

Revision as of 15:29, 7 July 2010

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, GNU Octave, Matlab, Python, and GNU Guile.
  • 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).

See the NLopt Introduction for a further overview of the types of problems it addresses.

Download and installation

NLopt
Download
Release notes
FAQ
NLopt manual
Introduction
Installation
Tutorial
Reference
Algorithms
License and Copyright

Version 2.1.1 of NLopt is the latest version available from our web site:

See the NLopt release notes for the release history. NLopt is designed to be installed on any Unix-like system (GNU/Linux is fine) with a C compiler, using the standard

./configure && make && sudo make install

procedure. See the NLopt Installation instructions for more information.

A precompiled 32-bit Windows DLL, built with MinGW (using this script), is also available:

Be sure to read the README-WINDOWS file included in this zip archive for how to build an import library for the DLL before using, by running the lib /def:libnlopt-0.def command. (For source code, download the .tar.gz package above.)

Documentation and Mailing Lists

See the NLopt manual for information on how to use NLopt and what optimization algorithms it includes.

Please cite NLopt and the authors of the algorithm(s) you use in any publication that stems from your use of NLopt.

Mailing Lists

The NLopt mailing lists (and their archives) are another source of information about NLopt.

Subscribe to the (read-only) nlopt-announce mailing list to receive an email when NLopt is updated in the future. Subscribe to the (unmoderated) nlopt-discuss mailing list for discussion of questions and ideas about using NLopt.

Acknowledgements

We are grateful to the many authors who have published useful optimization algorithms implemented in NLopt, especially those who have provided free/open-source implementations of their algorithms.

Please cite these authors if you use their code or the implementation of their algorithm in NLopt. See the documentation for the appropriate citation for each of the algorithms in NLopt — please see the Citing NLopt information.

Contact and Feedback

If you have questions or problems regarding NLopt, you are encouraged query the nlopt-discuss mailing list (see above). As your first resort, please look at the nlopt-discuss archives.

Alternatively, you may directly contact Steven G. Johnson at stevenj@alum.mit.edu.—Steven G. Johnson 18:13, 1 September 2008 (EDT)

Personal tools