goa
helps visualise the execution of some global optimisation algorithms on a given problem.
goa
has been developed to fulfill an assignment of Optimization Methods, a Computer Engineering course taught at the University of Florence.
As of now, goa
provides implementations of the following algorithms:
- Memetic Differential Evolution (MDE) [1]
- Differential Evolution (DE) [2]
- Coordinate Method with Simple Descent Direction (CM) [3]
To install goa
, run this command in your terminal:
$ pip install goa
A command-line interface is available for quick (though limited) usage, just run this in your terminal:
$ python -m goa
For full-fledged usage, the following is an application of the Memetic Differential Evolution algorithm to the Ackley function that provide also a .gif of the algorithm exectution:
from goa import problems, algorithms
problem = problem.Ackley(bounds=(-2.5, 2.5))
algorithms.memetic_differential_evolution(
problem=problem,
local_search_algorithm=algorithms.coordinate_method,
animation_filepath='MDE-animation.gif'
)
- python = ">=3.8,<3.11"
- matplotlib = "^3.4.3"
- numpy = "^1.21.2"
- imageio = "^2.9.0"
- imageio-ffmpeg = "^0.4.5"
The implementation of this package has had self-educational purpose and it has borrowed heavily from yabox [4].