-
Notifications
You must be signed in to change notification settings - Fork 162
Home
Dario Izzo edited this page Mar 22, 2017
·
25 revisions
Welcome to the pagmo2 wiki!
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
- add your meta prob/algo to the list of metas here: https://github.com/esa/pagmo2/blob/master/pygmo/pygmo_classes.hpp (just add a new element at the end of the tuple)
- implement a specialisation of the make_meta_problem_init structure to tell pygmo how to construct your meta prob/algo from a UDP/UDA. Example for translate: https://github.com/esa/pagmo2/blob/master/pygmo/problem_exposition_suite.hpp#L99
- use the expose_meta_problem helper function in core.cpp to expose your meta, example for translate: https://github.com/esa/pagmo2/blob/master/pygmo/core.cpp#L618
- add the relative patch lines here: https://github.com/esa/pagmo2/blob/master/pygmo/_patch_problem.py
- 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.