[SciPy-Dev] adding FIRE algorithm to scipy.optimize

Andrea Gavana andrea.gavana at gmail.com
Sat Mar 23 11:39:01 EDT 2013


Hi Ralf & All,

On 23 March 2013 13:30, Ralf Gommers wrote:
>
>
>
> On Sat, Mar 16, 2013 at 10:55 AM, Daniel Asenjo <daniel.asenjo at gmail.com>
> wrote:
>>
>> I have an implementation of the FIRE minimization algorithm that I would
>> like add to scipy.optimize.
>>
>> The algorithm is described here:
>>
>> http://link.aps.org/doi/10.1103/PhysRevLett.97.170201
>>
>> FIRE is relatively fast although not as efficient as L-BFGS but it is much
>> more stable as shown in our recently submitted paper:
>>
>> http://people.ds.cam.ac.uk/daa32/compareminmeth.pdf
>>
>> I think that FIRE would be a good addition to the existing algorithms in
>> scipy.optimize as it is becoming popular within the community.
>>
>> What do you think?
>
> Guess I could figure this out from the papers, but it's easier to ask: is
> FIRE in any way related to Firefly that Andrea Gavana recently proposed for
> inclusion in scipy.optimize:
> http://article.gmane.org/gmane.comp.python.scientific.user/33701/match=firefly
> ?

I don't have access to the second paper (or at least I couldn't find
it freely downloadable on the web), but it seems to me that FIRE
stands for "Fast Inertial Relaxation Engine", so I guess it's a
different algorithm from the FIrefly one.

>
> Andrea has a quite extensive benchmark of global optimizers, if you could
> work with him to include your algorithm then that would help a lot in
> determining the added value for scipy. Certainly we need a few more good
> global optimizers, but we need to be confident that they're an improvement
> on what's already available.

The main page describing the benchmark, the rules, the algorithms and
motivation is here:

http://infinity77.net/global_optimization/index.html

Algorithms comparisons:

http://infinity77.net/global_optimization/multidimensional.html
http://infinity77.net/global_optimization/univariate.html

Test functions:

http://infinity77.net/global_optimization/test_functions.html

I would be more than happy to test the FIRE algorithm against the
benchmark test suite, to see how it compares with the algorithms I
have tried up to now. At the moment, my implementation of AMPGO is
superior to all the other algorithms I have tried. However, to stress
it again, it is an algorithm designed for low-dimensional optimization
problems (i.e., 1-10 variables).

Daniel, if you have an implementation of the FIRE algorithm somewhere
I can access it, please do send me a link and I will re-run the
benchmark including it. It doesn't need to be perfectly documented or
up to Scipy standards (yet), but I am very curious to give it a try.

Andrea.

"Imagination Is The Only Weapon In The War Against Reality."
http://www.infinity77.net

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

    if mention_platform_and_version() and include_sample_app():
        send_message(email)
    else:
        install_malware()
        erase_hard_drives()
# ------------------------------------------------------------- #



More information about the SciPy-Dev mailing list