-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
POWELL implementation #1697
Comments
Thanks you for the feedback, it is interesting because other test cases we have were as fast as IDL ! We will see. I also realize that some tests we have are not OK in IDL. |
Hi, |
Dear Gillies and Alain thank you for the prompt response. It looks like currently AMOEBA is the only functioning method for nonlinear optimization without explicit derivatives. Nonlinear solvers BROYDEN and NEWTON are not available, so minpack HYBRD would be a welcome solution! |
Why do you say BROYDEN and NEWTON are not available, I just used them too & working fine on my tests. |
Sorry, my fault. Have not y used them. |
Please note that amoeba in written in C in GDL, not as a procedure as IDL does. It should be quicker than its IDL equivalent, which is deemed slow. |
gdl 1.0.0-rc.3 MAC-OS 13.6.1 Ventura
POWELL is definitely misbehaving!
ITER and ITMAX are not updated or have any effect. Xi initial/final set of directions is not updated.
Optimization quality is very low compared to native idl or python "scipy.optimize.minimize(powell)".
Used a simple program to test:
;test function for gdl powell optimization
;12.18.2023
FUNCTION t1,X
COMMON TT1, x0, ind0
ind0++
RETURN,total(abs(x-x0))
END
;main program
COMMON TT1, x0, ind0
TIC
ind0=0L
N=512
x0=findgen(N)
ftol=1e-4
xi=fltarr(N,N)
xi(indgen(N),indgen(N))=1.0
P=fltarr(N)+10.0
POWELL,P,xi,ftol,fmin,"t1",ITER=niter
TOC
END
resulting fmin=13793 compared to 3.3E-4 for idl and 1.3E-9 python. Would be great if someone has a fix! Thank you.
The text was updated successfully, but these errors were encountered: