Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stevengj/nlopt
library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization
https://github.com/stevengj/nlopt
Last synced: about 2 months ago
JSON representation
library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization
- Host: GitHub
- URL: https://github.com/stevengj/nlopt
- Owner: stevengj
- License: other
- Created: 2013-08-27T16:59:11.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-03-15T09:41:54.000Z (3 months ago)
- Last Synced: 2024-04-19T07:51:14.923Z (2 months ago)
- Language: C
- Size: 4.11 MB
- Stars: 1,735
- Watchers: 74
- Forks: 532
- Open Issues: 127
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog
- License: COPYING
- Citation: CITATION.bib
- Authors: AUTHORS
Lists
- awesome-python-data-science - nlopt - Library for nonlinear optimization (global and local, constrained or unconstrained). (Optimization / Others)
- awesome-stars - stevengj/nlopt - library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization (C)
- awesome-python-data-science - nlopt - Library for nonlinear optimization (global and local, constrained or unconstrained). (Optimization / NLP)
README
[![Latest Docs](https://readthedocs.org/projects/nlopt/badge/?version=latest)](http://nlopt.readthedocs.io/en/latest/)
[![Build Status](https://github.com/stevengj/nlopt/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/stevengj/nlopt/actions/workflows/build.yml)NLopt is a library for nonlinear local and global optimization, for
functions with and without gradient information. It is designed as
a simple, unified interface and packaging of several free/open-source
nonlinear optimization libraries.The latest release can be downloaded from the [NLopt releases](https://github.com/stevengj/nlopt/releases) page on Github, and the
[NLopt manual](
https://nlopt.readthedocs.io/en/latest/) is hosted on readthedocs.NLopt is compiled and installed with the [CMake](https://cmake.org/) build system
(see `CMakeLists.txt` file for available options):git clone https://github.com/stevengj/nlopt.git
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install(To build the latest development sources from git, you will need [SWIG](http://www.swig.org/)
to generate the Python and Guile bindings.)Once it is installed, `#include ` in your C/C++ programs and
link it with `-lnlopt -lm`. You may need to use a C++ compiler to link
in order to include the C++ libraries (which are used internally by NLopt,
even though it exports a C API). See the [C reference manual](https://nlopt.readthedocs.io/en/latest/NLopt_Reference/).There are also interfaces for [C++](https://nlopt.readthedocs.io/en/latest/NLopt_C-plus-plus_Reference/), [Fortran](https://nlopt.readthedocs.io/en/latest/NLopt_Fortran_Reference/), [Python](https://nlopt.readthedocs.io/en/latest/NLopt_Python_Reference/), [Matlab or GNU Octave](https://nlopt.readthedocs.io/en/latest/NLopt_Matlab_Reference/), [OCaml](https://bitbucket.org/mkur/nlopt-ocaml),
[GNU Guile](https://nlopt.readthedocs.io/en/latest/NLopt_Guile_Reference/), [GNU R](https://www.ucl.ac.uk/~uctpjyy/nloptr.html), [Lua](https://github.com/rochus-keller/LuaNLopt), [Rust](https://github.com/jesskfullwood/rust-nlopt), and [Julia](https://github.com/JuliaOpt/NLopt.jl). Interfaces for other languages may
be added in the future.