forum.alglib.net http://forum.alglib.net/ |
|
minlmoptimise http://forum.alglib.net/viewtopic.php?f=2&t=466 |
Page 1 of 1 |
Author: | pj_1 [ Mon Oct 31, 2011 11:03 am ] |
Post subject: | minlmoptimise |
I have been using an old version of alglib and thought I would upgrade to latest version 3.4 as I wanted to make use of the minlmsetbc call allowing boundary conditions to be set, however I seem to be running into a problem using the Levenberg-Marquardt algorithms. I am using the createfgh routines which should call back asking for either function,gradient or hessian functions. The latest version is much slower as it never seems to call back to the gradient function it always uses the hessian callback, which for my problem is a much more expensive operation to perform. I have tried running the example file and it also never calls the gradient function_grad. Is this a problem with version 3.4 that a callback is never made to the grad function? I think the old version I was using was v2.6.0 where I was calling minlm.minlmiteration(ref state) in a while loop this returned a call for func_grad. In latest version you need to call minlmoptimize as the while loop I was using in v2.6.0 no longer works. Any help appreciated as I would like to use new version but it is going to be too slow for my problem and I really would like to use the boundary condition setting function of new version. Thanks |
Author: | Sergey.Bochkanov [ Wed Nov 02, 2011 11:18 am ] |
Post subject: | Re: minlmoptimise |
The problem is that old ALGLIB 2.6 uses acceleration strategy which can't be used in the bound constrained setting. It was able to interleave iterations of Levenberg-Marquardt with iterations of preconditioned L-BFGS, but this trick does not work with bound constraints. At least with algorithm ALGLIB uses. I still think on it, and have no satisfactory solution so far. Either we have support for bound constraints - OR - we have preconditioned inner L-BFGS. But we can't have both, and we can't have two versions of the algorithm, because it will make it too hard to debug and support. |
Author: | pj_1 [ Wed Nov 02, 2011 11:40 am ] |
Post subject: | Re: minlmoptimise |
Thanks for your reply. It is a shame that in my implementation, calculating the Hessian so often is very expensive as the new version seems to provide a nice neat solution. I will just need to continue using the old version for the moment where I apply a penalty to the function if it goes outside of my boundary conditions. It seems I will need to use both versions of the library in my code! Old version for part where Hessian is an expensive calculation and new library for most of my other calculations. I live in hope that you may find a solution. Thanks |
Page 1 of 1 | All times are UTC |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |