chiark / gitweb /
Merge pull request #46 from jschueller/travis
[nlopt.git] / README.md
1 [![Build Status](https://travis-ci.org/stevengj/nlopt.svg?branch=master)](https://travis-ci.org/stevengj/nlopt)
2
3 NLopt is a library for nonlinear local and global optimization, for
4 functions with and without gradient information.  It is designed as
5 as simple, unified interface and packaging of several free/open-source
6 nonlinear optimization libraries.
7
8 The latest release and a complete manual may be found at the NLopt
9 home page: http://ab-initio.mit.edu/nlopt
10
11 It is compiled and installed with the standard GNU autoconf/automake
12 commands:
13
14     ./configure
15     make
16     make install
17
18 See `./configure --help` or the `INSTALL` file for other options.  To
19 build the latest development sources:
20
21     git clone git://github.com/stevengj/nlopt
22     cd nlopt
23     sh autogen.sh
24     make
25
26 (To build from git, you will need GNU autoconf, automake, and libtool
27 installed, along with SWIG and Unix tools such as m4, perl, and sed.)
28
29 Once it is installed, `#include <nlopt.h>` in your C/C++ programs and
30 link it with `-lnlopt -lm`.  You may need to use the C++ compiler to link
31 in order to include the C++ libraries (which are used internally by NLopt,
32 even though it has a C API).
33
34 The minimization function, `nlopt_minimize`, is described in the [man
35 page](http://en.wikipedia.org/wiki/Man_page) (`api/nlopt_minimize.3`,
36 which is installed by `make install`.  See also the manual on our
37 web page.
38
39 There are also interfaces for Fortran, Python, Matlab, Octave, OCaml,
40 GNU Guile, GNU R, Lua, and Julia.  Interfaces for other languages may
41 be added in the future.