https://github.com/bjodah/noisyopt
Python library for optimizing noisy functions.
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.7%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Python library for optimizing noisy functions.
Basic Info
- Host: GitHub
- Owner: bjodah
- License: mit
- Language: Python
- Default Branch: master
- Homepage: http://noisyopt.readthedocs.io/
- Size: 108 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of andim/noisyopt
Created over 8 years ago
· Last pushed almost 9 years ago
https://github.com/bjodah/noisyopt/blob/master/
[](https://github.com/andim/noisyopt/blob/master/LICENSE)
[](https://pypi.python.org/pypi/noisyopt)
[](https://pypi.python.org/pypi/noisyopt)

[](https://travis-ci.org/andim/noisyopt)
[](https://noisyopt.readthedocs.io/en/latest/?badge=latest)
[](https://coveralls.io/github/andim/noisyopt?branch=master)
[](http://joss.theoj.org/papers/4d17c8d6e2cfe6505ca5ccdace5e123b)
[](https://zenodo.org/badge/latestdoi/54976198)
# Noisyopt: A python library for optimizing noisy functions
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`](https://github.com/scikit-optimize/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`](http://docs.scipy.org/doc/scipy/reference/optimize.html).
## Installation
Noisyopt is on [PyPI](https://pypi.python.org/pypi/noisyopt/) so you can install it using `pip install noisyopt`.
Alternatively you can install it from source by obtaining the source code from [Github](https://github.com/andim/noisyopt) 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.1*np.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](http://noisyopt.readthedocs.io/en/latest/). 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](http://github.com/andim/noisyopt/issues/new), or (even better!) open a [pull request](http://github.com/andim/noisyopt/pulls) with relevant changes. If you have any questions don't hesitate to contact me by email (andimscience@gmail.com) or Twitter ([@andimscience](http://twitter.com/andimscience)).
You can run the testsuite by running `pytest` in the top-level directory.
You are cordially invited to [contribute](https://github.com/andim/noisyopt/blob/master/CONTRIBUTING.md) to the further development of noisyopt!
Owner
- Name: Bjorn
- Login: bjodah
- Kind: user
- Repositories: 48
- Profile: https://github.com/bjodah