Skip to content
Dario Izzo edited this page Mar 22, 2017 · 25 revisions

Welcome to the pagmo2 wiki!

Code formatting

While developing use this line to format your code before committing. (use it from the pagmo2 dir)

git ls-files | grep -E "\.(in|h|hpp|cpp)$" | grep -vE "external" | xargs clang-format -i

Adding a meta-problem/algorithm (to pygmo)

Why should I use PaGMO 2.0?

  • The old pagmo 1.0 will no longer be supported / maintained
  • PaGMO 2.0 installation process is less painful (pip install pygmo in python or just use the headers, no library in c++)
  • PaGMO algorithms now all have a get_log() allowing to look what happens during evolves
  • pygmo 2.0 multiprocessing works in windows, linux and osx
  • slowly all features in PaGMO 1.0 will also be available in PaGMO 2.0 (help to implement/transfer them is always wanted)
  • You can implement problems and algorithms in python and be sure not to create nasty crashes with meta-problems / meta-algorithms
  • pagmo 2.0 uses a superior continuous integration chain ensuring compilation and unit tests pass in all platforms (64-32 bits) win linux osx
  • You can now implement gradients and hessians for your problem and have pagmo pass the information to the algorithm that care.
  • Thanks to dill you can define problems in one machine and send them around in a cluster.
  • Documentation is kept up to date and is more complete.
Clone this wiki locally