$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Proposal for a Differential Evolution C++ library
From: Adrian Michel (adrian_at_[hidden])
Date: 2011-12-26 15:43:52
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