Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dschmitz89/ampgo
Adaptive memory programming for Global Optimization
https://github.com/dschmitz89/ampgo
global-optimization heuristic-search-algorithms nlopt nonlinear-optimization scipy tabu-search
Last synced: 3 months ago
JSON representation
Adaptive memory programming for Global Optimization
- Host: GitHub
- URL: https://github.com/dschmitz89/ampgo
- Owner: dschmitz89
- Fork: true (andyfaff/ampgo)
- Created: 2021-08-08T10:12:40.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-09-01T19:57:48.000Z (over 3 years ago)
- Last Synced: 2024-09-27T09:37:39.127Z (3 months ago)
- Topics: global-optimization, heuristic-search-algorithms, nlopt, nonlinear-optimization, scipy, tabu-search
- Language: Python
- Homepage: https://ampgo.readthedocs.io/en/latest/index.html
- Size: 55.7 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ampgo
Global optimization via adaptive memory programming with a scipy.optimize like API.## Installation
```bash
pip install ampgo
```## Example: Minimizing the six-hump camelback function in ampgo
```python
import ampgodef obj(x):
"""Six-hump camelback function"""
x1 = x[0]
x2 = x[1]
f = (4 - 2.1*(x1*x1) + (x1*x1*x1*x1)/3.0)*(x1*x1) + x1*x2 + (-4 + 4*(x2*x2))*(x2*x2)
return fbounds = [(-5, 5), (-5, 5)]
res = ampgo.ampgo(obj, bounds)
print(res.x)
print(res.fun)
```
## DocumentationFor the full API reference check out the [online documentation](https://ampgo.readthedocs.io/en/latest/index.html).
## History
Coded by Andrea Gavana, [email protected]. Original hosted at https://code.google.com/p/ampgo/. Made available under the MIT licence. Usage and installation modified by Daniel Schmitz.Differences compared to original version:
* Support all of SciPy's local minimizers
* Return a OptimizeResult class like SciPy's global optimizers
* Require bounds instead of starting point
* Jacobian and Hessian support
* Support all of NLopt's local minimizers (requires [simplenlopt](https://simplenlopt.readthedocs.io/en/latest/index.html))
* Drop support for OpenOpt solvers as OpenOpt has been stale for several years