Using the best optimizer for a simulation
6 views (last 30 days)
Show older comments
Hi, I need help deciding on which optimizer may be best for my purposes. I'm running a simulation that depends on 30 variables (I've been optimizing to 9 just in the interest of time) and is being fit to a data set from a paper. There are no constraints and I've been using patternsearch in order to find the most suitable variables, am I on the right track?
0 Comments
Accepted Answer
Walter Roberson
on 27 Jun 2018
Probably not. You are doing nonlinear least squares. The algorithms used for fit() from the curvefitting toolbox are pretty efficient if you can happen to get within the basin of attraction. Sometimes the most efficient approach is to run fit() multiple times with different InitialPoint values in the options structure.
5 Comments
Walter Roberson
on 28 Jun 2018
Edited: Walter Roberson
on 28 Jun 2018
simulannealbnd is sometimes said to be the only global minimizer that is guaranteed to find the global minimum... that if you let it run long enough, that statistically it will explore the entire space. I have to wonder, though, whether the people who say that have ever looked at the analysis of random walk probability of returning to the origin; http://mathworld.wolfram.com/PolyasRandomWalkConstants.html
... Anyhow.
In my experience you pretty much need a hybrid strategy, with a gross level optimization to (hopefully) get you into the right area, and then a more detailed optimization to get to rock bottom in that area.
Nonlinear least squared fits are pretty lumpy in the fine details, and it is common for the determination of the exact minima position to end up coming down to accidents of round-off due to the order of evaluation.
More Answers (0)
See Also
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!