From: Ian Scott <ian.scott@st...>  20090131 13:18:31

David Doria wrote: Unless you are trying to debug the optimiser, it isn't likely to help you. We a fairly sure that the optimisers are working correctly. The simplest optimiser in the list is the amoeba. I would always recommend trying your cost function with amoeba first, and only trying the others after understanding the behaviour of your coded cost function. All though amoeba doesn't have a theoretical guarantee of convergence, it is usually the most robust to difficult cost functions. The amoeba is also the only one implemented in simple C++ (unlike all the others which are in opaque f2c'ed Fortran,) and so you can debug your way through it. If you are trying to debug your cost function, it is usually much more useful to evaluate the cost function on a line or grid of sensible values. I often evaluate the CF in a line between a typical initial value and a known ideal result. I also pick a point on that line and evaluate the function in an exponential pattern around the point, down to very fine numerical differences. You can get to see if your function is smooth, etc. Regards, Ian. > Is there a "steepest descent" type optimizer? This would be helpful > for debugging sometimes, because you could actually follow the path > and see what is going on, rather than getting all kinds of weird > jumps/steps with something like BFGS. > 