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

Hi Beman On 12/11/2011 6:31 PM, Beman Dawes wrote:
Would there be interest in a C++ Differential Evolution optimization (DE) library as part of boost?
Seems interesting, and you've clearly put in a lot of work, and the documentation makes a good initial impressions. But see below...
Thanks!
The full documentation is at http://www.amichel.com/de/doc/html but I'd suggest these pages for a first read http://www.amichel.com/de/doc/html/dd/d53/overview.html and http://www.amichel.com/de/doc/html/db/d4e/tutorial.html .
After skim reading the overview and the beginning of the tutorial, I was left with several unanswered questions:
* What are some practical scientific or engineering problems that DE is good for?
I personally got interested in DE while doing some research in the area of algorithmic trading system optimization. But DE is generic - it can be used to optimize any function that would otherwise be very hard or impossible to optimize using more traditional methods. DE is used in many areas, some of which are listed here: http://www.icsi.berkeley.edu/~storn/code.html#appl and here: http://www.icsi.berkeley.edu/~storn/code.html#comm or to summarize: chemistry, electronics, physics, agriculture, telecommunications etc.
I'm having trouble calibrating - is your library primarily aimed at research and academic problems or is it an everyday tool for use in a broad spectrum of organizations?
I believe the answer is "both".
* Who is the library aimed at? Is the library most likely to be used by optimization specialists who already know about DE or is it something that can be used by a wide range of programmers?
I tried to design the library so that it can be easily used "out of the box" by all programmers, who can choose any of the predefined policy classes for default behavior. The de_test application illustrates this usage mode: the user can implement a de::objective_function derived class with their own function to optimize, and then build and run the application to get the best output. However, those interested in tweaking its behavior, can create their own policy classes and override the defaults. One of the obvious advantage of a standardized DE library is that these customized components could then be shared with the community at large. BTW, DE has the added benefit of not having been patented by its authors, for the very purpose of making it widely available. Thanks, Adrian Michel
participants (1)
-
Adrian Michel