Boost logo

Boost :

Subject: Re: [boost] Proposal for a Differential Evolution C++ library
From: Adrian Michel (adrian_at_[hidden])
Date: 2012-01-17 19:55:32

On 1/11/2012 11:29 AM, Simonson, Lucanus J wrote:

>The DE library description needs to be
> very clear that it is for non-linear numerical optimization. I'm also
> curious about how it compares industrial solvers like CPLEX. That is what I
> had in mind when I said "good". It may be DE is one of the best ways to
> solve a class of problems for which we don't know of a good way. There is
> no point arguing about it in subjective terms, however. Instead,
> quantifying how big of a problem it can handle in how many compute hours and
> then providing a reference comparison to other solvers for other classes of
> problem will put it into context and people will understand easily that it
> is what it is and be able to tell if it is right for their problem or not.
> There are people who may need it and not know it. There are people who may
> need something else and not know it. The documentation should help both types of people.

Noted. In general I prefer to link to other sources that deal with the
subject in much greater detail, but I can certainly add more information
to help first time readers get a sense of why this library may be useful
to them.

> As far as design goes I would say that you want to split it into generic
> genetic algorithm engine and a module for performing DE mutations. The GA
> and DE-mutation modules would be configured separately and then composed to
> produce the solution. That means you need to define an interface between
> the GA and DE modules, but once you do that then you are able to easily swap
> out GA engines or apply different mutation modules to achieve different GA
> algorithms. I don't think that the mutation module needs to couple to
> anything to do with the objective function at all. If someone wants to plug
> in their HADOOP powered genetic algorithm instead of using the library
> provided one then they would just use the DE mutations module. Alternately
> they could use ASIO to build their own distributed GA module based on the
> one provided by the library.

There are already several policy components to allow user customization
of DE, one of them being the "Mutation Policy" component. Does this
address your suggestion, or are you referring to something even more
general than that?



Boost list run by bdawes at, gregod at, cpdaniel at, john at