[SciPy-Dev] Consideration of differential evolution minimizer being added to scipy.optimize.

Andrea Gavana andrea.gavana at gmail.com
Tue Mar 4 17:01:26 EST 2014


Hi Ralf & All,

On Tuesday, March 4, 2014, Ralf Gommers wrote:

>
>
>
> On Tue, Mar 4, 2014 at 3:21 AM, Andrew Nelson <andyfaff at gmail.com<javascript:_e(%7B%7D,'cvml','andyfaff at gmail.com');>
> > wrote:
>
>> I have written some code implementing the differential evolution
>> minimization algorithm, as invented by Storn and Price.  It's a
>> stochastic technique, not gradient based, but it's quite good at
>> finding global minima of functions.
>>
>> (see http://www1.icsi.berkeley.edu/~storn/code.html,
>> http://en.wikipedia.org/wiki/Differential_evolution)
>>
>> I'd like it to be considered for inclusion in scipy.optimize, and have
>> tried to write it as such. Can anyone give advice of how to go about
>> polishing the code, such that it's suitable for inclusion in
>> scipy.optimize?
>>
>
> Hi Andrew. What I'd like to see is some benchmarking to show that your
> algorithm has at least comparable performance to optimize.basinhopping. DE
> uses similar principles as simulated annealing (if with better performance
> from what I can tell from a quick literature search), and we just
> deprecated optimize.anneal because of its hopelessly poor performance. In
> light in that experience I think that for any new optimization algorithm we
> add we should first benchmark it.
>
> Andrea Gavana has posted a nice set of benchmarks before:
> http://article.gmane.org/gmane.comp.python.scientific.devel/18383, you
> could contact him to add your algorithm (or do a similar comparison
> yourself). Seeing your code in a comparison like
> http://infinity77.net/global_optimization/multidimensional.html would be
> useful.
>

I haven't been able yet to adapt AMPGO to scipy standards, even though I
got a couple of very interesting replies to my question "how do I implement
the gradient of the Tunnelling Function?" the last time I posted on the
scipy mailing list. The 'minimize' interface in scipy is very cumbersome in
my humble opinion, so I struggle to find the willpower to adapt AMPGO to
scipy.

That said, I'll be very happy to add Andrew's code to my set of benchmarks.
I can actually take a shot at it tomorrow and I'll post the updated
benchmark results on the web page you mentioned.



> Another question is if we think this is in scope for scipy.optimize, given
> that PyGMO has this same algorithm and a number of similar ones.
>

I really, *really* wanted to try the algorithms in the PyGMO distribution,
but unfortunately there is no support (not even compilation guidelines) for
64 bit Windows. Basically it appears it cannot be done, and I don't have
any other platform but Windows 64bit. That put PyGMO into the "Great
Excluded" category in the AMPGO home page you linked above, and it is
disheartening to see such lack of interest from PyGMO for a very much
mainstream platform as Windows 64bit is. Maybe that will change over time...

Thank you for the heads up, I'll post again when I get the results ready.

Andrea.



> Cheers,
> Ralf
>
>
>
>>
>> https://github.com/andyfaff/DEsolver
>>
>> cheers,
>> Andrew.
>>
>>
>> --
>> _____________________________________
>> Dr. Andrew Nelson
>>
>>
>> _____________________________________
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at scipy.org <javascript:_e(%7B%7D,'cvml','SciPy-Dev at scipy.org');>
>> http://mail.scipy.org/mailman/listinfo/scipy-dev
>>
>
>

--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20140304/1f8e1821/attachment.html>


More information about the SciPy-Dev mailing list