RMSEARCH
Some optimization problems have very simple surfaces to optimize. The optimizer simply proceeds downhill to the unique minimizer and returns happily - all is good in the world. Sadly, more often the objective function has multiple local minimizers, you as the user provide poor starting values, and the optimization returns what is essentially junk for a solution. My response would typically be that you needed to provide better starting values. At that time, I'd also try to explain the idea of a basin of attraction for any minimum. Its the set of points that when used as starting values, will allow a given optimizer to converge to a given local minimum.
Starting values that lie in the basin of attraction of the global minimizer are not always that easy to choose for all problems. One solution is to use a randomly multiply started optimizer. Thus, generate lots of starting values, then start the optimizer from each such point. Or start from only the very best of those sampled points.
RMSEARCH puts a simple framework around this task, automatically generating random samples for you, testing which result in the best initial points, then starting your chosen optimizer at that set of points, finally compiling the results.
RMSEARCH can be used with 7 different optimizers:
fminbnd, fmincon, fminsearch, fminsearchbnd, fminsearchcon, fzero, lsqnonlin.
Fmincon requires the optimization toolbox, while fminsearchbnd and fminsearchcon can be found right here on the file exchange:
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=8277&objectType=file
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=13469&objectType=FILE#
Citation pour cette source
John D'Errico (2024). RMSEARCH (https://www.mathworks.com/matlabcentral/fileexchange/13733-rmsearch), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- Mathematics and Optimization > Optimization Toolbox > Linear Programming and Mixed-Integer Linear Programming >
Tags
Remerciements
Inspiré par : Optimization Tips and Tricks
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
RandomlyMultiStartedOptimizations/
RandomlyMultiStartedOptimizations/demo/html/
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0.0 | Fixed a bug that sometimes did not search diligently enough for a root near the top of the domain for fzero. |