nlopt

library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization

https://github.com/stevengj/nlopt

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    4 of 61 committers (6.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.3%) to scientific vocabulary

Keywords from Contributors

closember gtk
Last synced: 6 months ago · JSON representation ·

Repository

library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization

Basic Info
  • Host: GitHub
  • Owner: stevengj
  • License: other
  • Language: C
  • Default Branch: master
  • Size: 4.24 MB
Statistics
  • Stars: 2,084
  • Watchers: 77
  • Forks: 642
  • Open Issues: 94
  • Releases: 11
Created over 12 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog License Citation Authors

README.md

Latest Docs Build Status

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 page on Github, and the NLopt manual is hosted on readthedocs.

To build it refer to the installation instructions.

To use in your C/C++ programs see the C reference manual.

There are also interfaces for C++, Fortran, Python, Matlab or GNU Octave, OCaml, GNU Guile, GNU R, Lua, Perl, Rust, Ruby, Julia, and Java. Interfaces for other languages may be added in the future.

Owner

  • Name: Steven G. Johnson
  • Login: stevengj
  • Kind: user
  • Company: Massachusetts Institute of Technology

Citation (CITATION.bib)

% the software:

@misc{NLopt,
  title = {The {NLopt} nonlinear-optimization package},
  author = {Steven G. Johnson},
  year = {2007},
  howpublished = {\url{https://github.com/stevengj/nlopt}}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% optimization algorithms (cite as needed):

@article{DIRECT,
  title = {{L}ipschitzian optimization without the {L}ipschitz constant},
  author = {D. R. Jones and C. D. Perttunen and B. E. Stuckman},
  doi = {10.1007/bf00941892},
  year = {1993},
  volume = {79},
  pages = {157--181},
  journal = {Journal of Optimization Theory and Applications}
}
@article{DIRECT_L,
  title = {A locally-biased form of the {DIRECT} algorithm},
  author = {J. M. Gablonsky and C. T. Kelley},
  doi = {10.1023/a:1017930332101},
  year = {2001},
  volume = {21},
  pages = {27--37},
  journal = {Journal of Global Optimization}
}

@article{CRS2,
  title = {Some variants of the controlled random search algorithm for global optimization},
  author = {P. Kaelo and M. M. Ali},
  doi = {10.1007/s10957-006-9101-0},
  year = {2006},
  volume = {130},
  pages = {253--264},
  journal = {Journal of Optimization Theory and Applications}
}

@article{MLSL,
  title = {Stochastic global optimization methods part {II}: Multi level methods},
  author = {A. H. G. Rinnooy Kan and G. T. Timmer},
  doi = {10.1007/bf02592071},
  year = {1987},
  volume = {39},
  pages = {57--78},
  journal = {Mathematical Programming}
}

@misc{StoGO,
  title = {{StoGO}: A program for global optimization},
  author = {K. Madsen and S. Zertchaninov and A. Zilinskas},
  year = {1998},
  howpublished = {\url{http://www.imm.dtu.dk/projects/scicomp/GlobOpt/opt.html}}
}

@book{AGS,
  title = {Global Optimization with Non-Convex Constraints},
  author = {Roman G. Strongin and Yaroslav D. Sergeyev},
  doi = {10.1007/978-1-4615-4677-1},
  year = {2000},
  publisher = {Springer}
}

@article{ISRES,
  title = {Search biases in constrained evolutionary optimization},
  author = {T. P. Runarsson and X. Yao},
  doi = {10.1109/tsmcc.2004.841906},
  year = {2005},
  volume = {35},
  pages = {233--243},
  journal = {{IEEE} Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews)}
}

@article{ESCH,
  title = {Designing novel photonic devices by bio-inspired computing},
  author = {da Silva Santos, Carlos Henrique and Marcos Sergio Gon{\c{c}}alves and Hugo Enrique Hern{\'{a}}ndez-Figueroa},
  doi = {10.1109/lpt.2010.2051222},
  year = {2010},
  volume = {22},
  pages = {1177--1179},
  journal = {{IEEE} Photonics Technology Letters}
}

@incollection{COBYLA,
  title = {A direct search optimization method that models the objective and constraint functions by linear interpolation},
  author = {M. J. D. Powell},
  doi = {10.1007/978-94-015-8330-5_4},
  year = {1994},
  publisher = {Springer},
  pages = {51--67},
  editor = {S. Gomez and J.-P. Hennart},
  series = {Mathematics and Its Applications},
  volume = {275},
  booktitle = {Advances in Optimization and Numerical Analysis}
}

@techreport{BOBYQA,
  author      = {M. J. D. Powell},
  title       = {The {BOBYQA} algorithm for bound constrained optimization without derivatives},
  institution = {Department of Applied Mathematics and Theoretical Physics, Cambridge University},
  year        = {2009},
  number      = {NA2009/06},
  address     = {Cambridge, UK}
}

@incollection{NEWUOA,
  author = {M. J. D. Powell},
  title = {The {NEWUOA} software for unconstrained optimization without derivatives},
  doi = {10.1007/0-387-30065-1_16},
  year = {2006},
  publisher = {Springer},
  pages = {255--297},
  editor = {G. Di Pillo and M. Roma}
  series = {Nonconvex Optimization and Its Applications},
  volume = {83},
  booktitle = {Large-Scale Nonlinear Optimization}
}

@Book{PRAXIS,
  author    = {Richard Brent},
  title     = {Algorithms for Minimization without Derivatives},
  publisher = {Prentice-Hall},
  year      = {1972},
}

@article{NELDERMEAD,
  author = {J. A. Nelder and R. Mead},
  title = {A simplex method for function minimization},
  doi = {10.1093/comjnl/7.4.308},
  year = {1965},
  volume = {7},
  pages = {308--313},
  journal = {The Computer Journal}
}

@phdthesis{SUBPLEX,
  author  = {Thomas Harvey Rowan},
  title   = {Functional stability analysis of numerical algorithms},
  school  = {Department of Computer Science, University of Texas at Austin},
  year    = {1990},
  address = {Austin, TX}
}

% CCSA: MMA and CCSAQ
@article{CCSA,
  author = {Krister Svanberg},
  title = {A class of globally convergent optimization methods based on conservative convex separable approximations},
  doi = {10.1137/s1052623499362822},
  year = {2002},
  volume = {12},
  pages = {555--573},
  journal = {{SIAM} Journal on Optimization}
}

@article{SLSQP,
  author = {Dieter Kraft},
  title = {Algorithm 733: {TOMP}--Fortran modules for optimal control calculations},
  doi = {10.1145/192115.192124},
  year = {1994},
  volume = {20},
  pages = {262--281},
  journal = {{ACM} Transactions on Mathematical Software}
}

@article{LBFGS,
  author = {Dong C. Liu and Jorge Nocedal},
  title = {On the limited memory {BFGS} method for large scale optimization},
  doi = {10.1007/bf01589116},
  year = {1989},
  volume = {45},
  pages = {503--528},
  journal = {Mathematical Programming}
}

@article{TNEWTON,
  author = {Ron S. Dembo and Trond Steihaug},
  title = {Truncated-{N}ewton algorithms for large-scale unconstrained optimization},
  doi = {10.1007/bf02592055},
  year = {1983},
  volume = {26},
  pages = {190--212},
  journal = {Mathematical Programming}
}

@article{VAR,
  author = {Jan Vl{\v{c}}ek and Ladislav Luk{\v{s}}an},
  title = {Shifted limited-memory variable metric methods for large-scale unconstrained optimization},
  doi = {10.1016/j.cam.2005.02.010},
  year = {2006},
  volume = {186},
  pages = {365--390},
  journal = {Journal of Computational and Applied Mathematics}
}

@article{AUGLAG,
  author = {Andrew R. Conn and Nicholas I. M. Gould and Philippe Toint},
  title = {A globally convergent augmented {Lagrangian} algorithm for optimization with general constraints and simple bounds},
  doi = {10.1137/0728030},
  year = {1991},
  volume = {28},
  pages = {545--572},
  journal = {{SIAM} Journal on Numerical Analysis}
}
@article{AUGLAG2,
  author = {E.G. Birgin and J.M. Mart{\'{\i}}nez},
  title = {Improving ultimate convergence of an augmented {Lagrangian} method},
  doi = {10.1080/10556780701577730},
  year = {2008},
  volume = {23},
  pages = {177--195},
  journal = {Optimization Methods and Software}
}

GitHub Events

Total
  • Create event: 5
  • Release event: 3
  • Issues event: 76
  • Watch event: 206
  • Delete event: 1
  • Issue comment event: 160
  • Push event: 57
  • Pull request review event: 62
  • Pull request review comment event: 55
  • Pull request event: 47
  • Fork event: 61
Last Year
  • Create event: 5
  • Release event: 3
  • Issues event: 76
  • Watch event: 206
  • Delete event: 1
  • Issue comment event: 160
  • Push event: 57
  • Pull request review event: 62
  • Pull request review comment event: 55
  • Pull request event: 47
  • Fork event: 61

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 876
  • Total Committers: 61
  • Avg Commits per committer: 14.361
  • Development Distribution Score (DDS): 0.371
Past Year
  • Commits: 88
  • Committers: 12
  • Avg Commits per committer: 7.333
  • Development Distribution Score (DDS): 0.216
Top Committers
Name Email Commits
stevenj s****j@a****u 551
Julien Schueller s****r@p****m 203
xantares x****9@h****m 19
Amro a****o@g****m 11
Markus Rickert r****m 6
Jérémie Dumas j****s 6
jschueller j****r@g****m 4
Alex Riegler 5****r 4
Joshua Nathaniel Pritikin j****n@p****m 4
Kevin Kofler k****r@d****m 3
Rafael Laboissière r****l@l****t 3
Vladislav Sovrasov s****d@g****m 3
aitap k****t@g****m 3
Aaron Webster A****r 2
Olivier Commowick o****k@i****r 2
Nicola Piccinelli n****i@g****m 2
Jeremy Nimmer j****r@t****l 2
Avraham Adler a****r 2
Atri Bhattacharya b****0@g****m 2
Ardavan Oskooi a****i@g****m 2
Guillaume Horel g****l@s****m 2
Mmanu Chaturvedi m****i@k****m 1
Homer Reid h****d@m****u 1
Alex Ling h****g@g****m 1
Alex St a****t 1
Alex Whitney a****t@f****m 1
Benjamin Sparks b****0@g****m 1
Benoit-F-Q 1****Q 1
Brad King b****g@k****m 1
Dave Trussel d****l@g****m 1
and 31 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 162
  • Total pull requests: 97
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 4 months
  • Total issue authors: 145
  • Total pull request authors: 50
  • Average comments per issue: 2.52
  • Average comments per pull request: 1.78
  • Merged pull requests: 59
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 27
  • Pull requests: 46
  • Average time to close issues: 20 days
  • Average time to close pull requests: 7 days
  • Issue authors: 24
  • Pull request authors: 16
  • Average comments per issue: 1.15
  • Average comments per pull request: 1.72
  • Merged pull requests: 24
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pirlite2 (5)
  • astamm (4)
  • jschueller (3)
  • sgherrero (2)
  • badshah400 (2)
  • rolffank (2)
  • samuellhong (2)
  • selting (2)
  • jonas-eschle (2)
  • dschmitz89 (2)
  • bspoe (2)
  • dujinpeng0249 (1)
  • echoGee (1)
  • teigl (1)
  • mangelett (1)
Pull Request Authors
  • jschueller (24)
  • stevengj (13)
  • alexriegler (7)
  • kkofler (5)
  • astamm (4)
  • jwnimmer-tri (3)
  • besser82 (3)
  • TiborGY (2)
  • fbiemueller (2)
  • pavanakumar (2)
  • abram (2)
  • madosqr (2)
  • edwintorok (2)
  • aadler (2)
  • Vaibhavdixit02 (2)
Top Labels
Issue Labels
bug (12) enhancement (4) invalid (1) question (1)
Pull Request Labels
enhancement (2) bug (1)

Packages

  • Total packages: 8
  • Total downloads: unknown
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 35
  • Total maintainers: 1
alpine-edge: nlopt

Library for nonlinear optimization

  • Versions: 5
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 4.6%
Average: 4.7%
Dependent packages count: 6.0%
Stargazers count: 8.0%
Maintainers (1)
Last synced: 7 months ago
alpine-edge: nlopt-doc

Library for nonlinear optimization (documentation)

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 4.6%
Average: 6.8%
Stargazers count: 8.0%
Dependent packages count: 14.6%
Maintainers (1)
Last synced: 7 months ago
alpine-edge: nlopt-dev

Library for nonlinear optimization (development files)

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 4.6%
Average: 6.8%
Stargazers count: 8.1%
Dependent packages count: 14.6%
Maintainers (1)
Last synced: 7 months ago
alpine-edge: nlopt-guile

Library for nonlinear optimization (Guile bindings)

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 7.3%
Dependent packages count: 14.6%
Maintainers (1)
Last synced: 7 months ago
alpine-edge: nlopt-octave

Library for nonlinear optimization (Octave bindings)

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 7.3%
Dependent packages count: 14.6%
Maintainers (1)
Last synced: 7 months ago
proxy.golang.org: github.com/stevengj/nlopt
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 7 months ago
nuget.org: nlopt

The NLopt nonlinear-optimization package

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 12.7%
Average: 16.1%
Dependent packages count: 19.5%
Last synced: 7 months ago
anaconda.org: 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.

  • Homepage: https://nlopt.readthedocs.io
  • License: LGPL-2.1-or-later AND MIT AND BSD-3-Clause
  • Latest release: 2.7.1
    published almost 2 years ago
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 50.3%
Average: 54.7%
Dependent repos count: 59.1%
Last synced: 7 months ago

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v2 composite
doc/requirements.txt pypi
  • python-markdown-math *