[SciPy-User] Minimizing Monte Carlo simulation function

Andrea Gavana andrea.gavana at gmail.com
Wed Sep 24 10:22:56 EDT 2014


Hi,

On 24 September 2014 16:07, Matt Newville <newville at cars.uchicago.edu>
wrote:

>
>
> On Tue, Sep 23, 2014 at 7:58 AM, Sturla Molden <sturla.molden at gmail.com>
> wrote:
>
>> Jeremy Sanders <jeremy at jeremysanders.net> wrote:
>>
>> > Is there are real replacement for annealing in this scenario?
>> basinhopping
>> > doesn't seem to work very well when I tried it. It seems that it is
>> wrong to
>> > deprecate simulated annealing, as it is a widely understood algorithm.
>>
>> I also don't understand why SA was deprecated. scipy.optimize needs more
>> minimizers, not less.
>>
>> Sturla
>>
>
> I think the record (issues on github, internet searches, the very nice
> comparison by Andrea Gavana at thttp://infinity77.net/global_optimization/)
> shows that scipy.optimize.anneal() simply didn't work in very many cases,
> and was not being well cared for.
>
> I think no one would disagree that scipy.optimize needs more (and better)
> optimizers, but deprecating those that work poorly (anneal) when others
> that work better (basinhopping) are available seems sensible to me.
>
> That said, the comparison above implies that the differential evolution
> algorithm is not better (in either success rate or number of evaluations)
> than basinhopping, but it certainly seems better than anneal was.   I don't
> know if the code is available, but the AMPGO method would seem like a very
> valuable addition.
>
>

I never got around taking the AMPGO code up to SciPy standards (in terms of
code style and docstrings), and I will have to find the time to do it at
some point - or maybe I'll just put it on the public domain and some nice
soul may take up the task. However, not long ago I have been asked to
include in my benchmark the "Shuffled Complex Evolution" algorithm. From my
tests, it works very well (it comes second after AMPGO, with a success rate
of 68% against 79% for AMPGO and 58% for ASA, the third best).

I'll upload the results of my tests in these days, and I'll send an update
to the list if it is not considered rude.

Andrea.


# ------------------------------------------------------------- #
def ask_mailing_list_support(email):

    if mention_platform_and_version() and include_sample_app():
        send_message(email)
    else:
        install_malware()
        erase_hard_drives()
# ------------------------------------------------------------- #
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20140924/300d1191/attachment.html>


More information about the SciPy-User mailing list