Noisyopt
Noisyopt: A Python library for optimizing noisy functions. - Published in JOSS (2017)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Repository
Python library for optimizing noisy functions.
Basic Info
- Host: GitHub
- Owner: andim
- License: mit
- Language: Python
- Default Branch: master
- Homepage: http://noisyopt.readthedocs.io/
- Size: 129 KB
Statistics
- Stars: 88
- Watchers: 5
- Forks: 15
- Open Issues: 4
- Releases: 5
Topics
Metadata Files
README.md
Noisyopt: A python library for optimizing noisy functions
In some optimization problems a precise evaluation of the function to be optimized is either impossible or exceedingly computationally expensive. This package provides algorithms to optimize a function based on noisy evaluations.
Currently the following algorithms are implemented: - robust pattern search with adaptive sampling - simultaneous perturbation stochastic approximation
Both algorithms support bound constraints and do not require to explicitely calculate the gradient of the function.
We do not attempt to find global optima -- look at scikit-optimize for Bayesian optimization algorithms aimed at finding global optima to noisy optimization problems.
For optimizing functions that are not noisy take a look at scipy.optimize.
Installation
Noisyopt is on PyPI so you can install it using pip install noisyopt.
Alternatively you can install it from source by obtaining the source code from Github and then running python setup.py install in the main directory. If you install from source, you first need to install numpy and scipy if these packages are not already installed.
Getting started
Find the minimum of the noisy function obj(x) with noisyopt:
```python import numpy as np from noisyopt import minimizeCompass
def obj(x): return (x*2).sum() + 0.1np.random.randn()
bounds = [[-3.0, 3.0], [0.5, 5.0]] x0 = np.array([-2.0, 2.0]) res = minimizeCompass(obj, bounds=bounds, x0=x0, deltatol=0.1, paired=False) ```
Documentation
You can access the documentation online at Read the docs. If you install from source you can generate a local version by running make html from the doc directory.
Support and contributing
For bug reports and enhancement requests use the Github issue tool, or (even better!) open a pull request with relevant changes. If you have any questions don't hesitate to contact me by email (andimscience@gmail.com) or Twitter (@andimscience).
You can run the testsuite by running pytest in the top-level directory.
You are cordially invited to contribute to the further development of noisyopt!
Owner
- Name: Andreas Tiffeau-Mayer
- Login: andim
- Kind: user
- Location: London
- Company: University College London
- Website: https://andim.github.io/
- Twitter: andimscience
- Repositories: 26
- Profile: https://github.com/andim
Quantitative Immunology, Biological Physics
JOSS Publication
Noisyopt: A Python library for optimizing noisy functions.
Tags
optimization stochastic approximation spsaCodeMeta (codemeta.json)
{
"@context": "https://raw.githubusercontent.com/mbjones/codemeta/master/codemeta.jsonld",
"@type": "Code",
"author": [],
"identifier": "https://doi.org/10.5281/zenodo.439144",
"codeRepository": "https://github.com/andim/noisyopt",
"datePublished": "2017-03-30",
"dateModified": "2017-03-30",
"dateCreated": "2017-03-30",
"description": "Noisyopt is a Python library for local optimization of functions based on noisy evaluations.",
"keywords": "optimization, stochastic approximation, spsa",
"license": "MIT",
"title": "noisyopt",
"version": "v0.2.0"
}
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Andreas Mayer | a****m@g****m | 139 |
| Svein Aas | s****n@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 21
- Total pull requests: 2
- Average time to close issues: 8 months
- Average time to close pull requests: 4 months
- Total issue authors: 13
- Total pull request authors: 1
- Average comments per issue: 1.52
- Average comments per pull request: 5.5
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- nirum (8)
- microprediction (2)
- tgbrooks (1)
- sclamons (1)
- komosinski (1)
- andim (1)
- zohimchandani (1)
- montus15 (1)
- vishalmhjn (1)
- toumix (1)
- Pundarikm37 (1)
- thomasahle (1)
- dsmic (1)
Pull Request Authors
- Baughn (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 999 last-month
- Total docker downloads: 34
- Total dependent packages: 6
- Total dependent repositories: 25
- Total versions: 6
- Total maintainers: 1
pypi.org: noisyopt
Python library for optimization of noisy functions
- Homepage: http://noisyopt.readthedocs.io/
- Documentation: https://noisyopt.readthedocs.io/
- License: MIT
-
Latest release: 0.2.2
published over 8 years ago
Rankings
Maintainers (1)
Dependencies
- numpy *
- scipy *
