-
Notifications
You must be signed in to change notification settings - Fork 162
Home
Dario Izzo edited this page Mar 22, 2017
·
25 revisions
We decided a few years back that pagmo code was growing out of control and was unmanageable. In June 2016 we finally found time and strength to redesign from scratch the whole code taking care from the beginning of seemingly unimportant issues such as a) continuous integration (osx, linux and win, 32/64), b) unit testing and c) code format. During the redesign we changed everything to change nothing: pagmo is still the coolest optimization framework around and deals with the efficient coarse grained parallelization of your optimization tasks. Its main vocation is to provide a unified interface to optimization algorithms, derivative free and not, while offering the easy parallelization of your efforts.
- 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