Best global optimization technique
Mostrar comentarios más antiguos
The performance of an optimization algorithm varies greatly depending on the problem at hand. Often performance may vary with strategy and algorithm parameter settings as well. hence the question "which is the best algorithm" is inherently tricky, if possible at all, to answer. Especially in a thread like this.
Instead I was wondering if anyone had any suggestions based on my current progress. I have a fairly simple 4 parameter problem which should be optimized within constraints. It seems that many local minima exist so I have been playing around with a combination of local solvers such as fminsearchbnd and patternsearch, and global solvers such as GlobalSearch, genetic algorithms, Multistart and Differential evolution. Currently the best compromise between speed and accuracy seems to be a combination of fminsearchbnd for quick improvement of a rough initial guess and the application of Differential Evolution to determine the global solution.
The latter is a bit slow though and in my mind a 4 parameter problem should not be this tricky. Well, at least not this problem anyway. So I was wondering if anyone had any suggestions for alternative algorithms or methods that I may think of, or any recommendations as to improve my current method in general?
As suggested above this is meant merely as a "thoughts and suggestions" thread, as specific recommendations are tricky with this particular topic.
Cheers
Jakob
3 comentarios
José-Luis
el 22 de Abr. de 2014
How about brute force? It sounds doable with 4 parameters...
What's the priority: efficiency or accuracy? Your question is impossible to answer. You could use prior experience to guess at what's best.
What's best will depend on the response surface and there is no algorithm that can absolutely guarantee that you will find the global optimum.
You could try a package like OSTRICH (C++) or DREAM that essentially either allow you to test a bunch of algorithms or optimize using a combination of methods.
If you have an idea of what the response surface looks like, you could use the Gaussian/Jacobian to accelerate your optimization. But then you are introducing assumptions...
Jakob Sievers
el 22 de Abr. de 2014
José-Luis
el 22 de Abr. de 2014
My pleasure.
Respuestas (0)
Categorías
Más información sobre Solver Outputs and Iterative Display en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!