[SciPy-User] (Possible) new optimization routines - scipy.optimize
Andrea Gavana
andrea.gavana at gmail.com
Mon Feb 18 11:41:31 EST 2013
On 14 February 2013 22:53, <josef.pktd at gmail.com> wrote:
> On Thu, Feb 14, 2013 at 4:01 PM, Andrea Gavana <andrea.gavana at gmail.com> wrote:
>> Hi All,
>>
>> as my team and I are constantly facing very hard/complex numerical
>> optimization problems, I have taken a look at the various *global*
>> optimization routines available in Python and I thought I could throw
>> in a couple of algorithms I implemented, mostly drawing from my
>> previous thesis work.
>>
>> I have implemented two routines (based on numpy and scipy), namely:
>>
>> - AMPGO: Adaptive Memory Programming for Global Optimization: this is my Python
>> implementation of the algorithm described here:
>>
>> http://leeds-faculty.colorado.edu/glover/fred%20pubs/416%20-%20AMP%20(TS)%20for%20Constrained%20Global%20Opt%20w%20Lasdon%20et%20al%20.pdf
>>
>> I have added a few improvements here and there based on my Master Thesis work
>> on the standard Tunnelling Algorithm of Levy, Montalvo and Gomez.
>
> This could also be a good addition. similar to basinhopping.
> >From my perspective, this kind of global optimizers are the most
> promising, (compared to the evolutionary, ...)
>
> >From a quick browse: Is the local optimizer fixed to a specific one,
> or can it be any available solver as in basinhopping?
>
> The only thing I might worry about that it only has 6 citations in
> Google Scholar (which might not mean much if the optimizer is not
> widely available).
> Given that there seem to be many variations of this kind of
> optimizers, it might be good to have some background on comparison
> with similar optimizers.
>
> If you have other comparisons of similar optimizers, it would be
> useful to see them. Also given that you have a large benchmark suite,
> you could compare it with the new basinhopping in scipy.optimize.
OK, I have run the test suite with basinhopping as well, even though I
had to modify it a bit to support the maximum number of functions
evaluations and the tolerance on achieving the global optimum.
Results are here:
- N-D : http://infinity77.net/global_optimization/multidimensional.html
- 1-D : http://infinity77.net/global_optimization/univariate.html
Overall it appears to have average performances, even though I must
stress again that, while my test suite is relatively large, it only
encompasses low-dimensional problem (1-10 variables) and my
stopping/convergence criteria may not be applicable to everyone else's
needs.
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-User
mailing list