Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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 ampgo

def 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 f

bounds = [(-5, 5), (-5, 5)]
res = ampgo.ampgo(obj, bounds)
print(res.x)
print(res.fun)
```
## Documentation

For 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