Using the best optimizer for a simulation

조회 수: 13 (최근 30일)
Cpan
Cpan 2018년 6월 27일
편집: Walter Roberson 2018년 6월 28일
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?

채택된 답변

Walter Roberson
Walter Roberson 2018년 6월 27일
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
Cpan
Cpan 2018년 6월 28일
Thank you for the information, I think I'll be able to make a decision from here!
Walter Roberson
Walter Roberson 2018년 6월 28일
편집: Walter Roberson 2018년 6월 28일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by