esa / pygmo2

A Python platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
https://esa.github.io/pygmo2/
Mozilla Public License 2.0
450 stars 56 forks source link
artificial-intelligence evolutionary-algorithms evolutionary-computation evolutionary-strategy island-model meta-heuristic meta-heuristics multiobjective-optimization optimization optimization-algorithms optimization-methods optimization-problem parallel-computing parallel-processing stochastic-optimization

pygmo

Build Status Build Status

Anaconda-Server Badge PyPI

Join the chat at https://gitter.im/pagmo2/Lobby

DOI DOI

pygmo is a scientific Python library for massively parallel optimization. It is built around the idea of providing a unified interface to optimization algorithms and to optimization problems and to make their deployment in massively parallel environments easy.

If you are using pygmo as part of your research, teaching, or other activities, we would be grateful if you could star the repository and/or cite our work. For citation purposes, you can use the following BibTex entry, which refers to the pygmo paper in the Journal of Open Source Software:

@article{Biscani2020,
  doi = {10.21105/joss.02338},
  url = {https://doi.org/10.21105/joss.02338},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {53},
  pages = {2338},
  author = {Francesco Biscani and Dario Izzo},
  title = {A parallel global multiobjective framework for optimization: pagmo},
  journal = {Journal of Open Source Software}
}

The DOI of the latest version of the software is available at this link.

The full documentation can be found here.

Upgrading from pygmo 1.x.x

If you were using the old pygmo, have a look here on some technical data on what and why a completely new API and code was developed: https://github.com/esa/pagmo2/wiki/From-1.x-to-2.x

You will find many tutorials in the documentation, we suggest to skim through them to realize the differences. The new pygmo (version 2) should be considered (and is) as an entirely different code.