Re: [boost] Proposal for a Differential Evolution C++ library

Hi everybody, I released a new version of the DE library based on feedback I received on the initial release - see the doc at http://www.amichel.com/de/doc/html. First of all, I updated the documentation to describe in more detail what DE is, its use in one specific case, and links to descriptions of several other use cases - see the Overview page at the link above. I hope this will help make the case why a DE library would be worth being included in boost. BTW, there are already implementations in several languages and for several free or commercial products: Java, C, Matlab, Scilab, Fortran90, Python, Labview, Pascal, C#, etc. As far as the library itself, Thomas Heller noted that requiring the objective functions to be derived from the de::objective_function abstract class limited the user options by not allowing arbitrary unnamed or plain functions to be passed as objective functions. I followed his suggestion and reimplemented parts of the library as template classes, in particular the de::processor class. It is now possible to pass objective functions as: named functions, unnamed functions, functors (all with the right prototype) or objective function factories which create local copies of the objective function. All of these can be passed as either references, plain pointers or boost::shared_ptr. This change should make it easier to integrate the library within existing code. Your comments will be appreciated. Adrian
participants (1)
-
Adrian Michel