simulannealbnd for curve fitting
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi everyone,
I am trying to use simulated annealing for a 10 parameter optimization problem I am trying to solve. I am trying to fit a 10 parameter function to multiple data points spread over time. I have tried using non-linear squares fitting (with multistart) but kept being stuck at local minima. Simulated annealing can be a good alternative.
The problem is the objective function simulannealbnd requires seems to be different that what lsqcurvefit requires. simulannealbnd needs the objective function to give a scalar ouput, which I am not sure what it means for my function over time.
I hope I was clear,
Thanks
Hasan
댓글 수: 0
답변 (1개)
Alan Weiss
2014년 5월 27일
Take a look at this example. It shows doing the same optimization using lsqcurvefit and fminunc. Both simulannealbnd and fminunc use the same scalar objective function.
But if you will allow me to make a suggestion, you will probably be happier running MultiStart and lsqcurvefit for longer rather than using simulannealbnd. This is because the efficiency of simulannealbnd is very low. If you want, you can try running patternsearch from a large number of random start points. That might not be better than MultiStart and lsqcurvefit, but it would almost certainly beat simulannealbnd.
Alan Weiss
MATLAB mathematical toolbox documentation
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Simulated Annealing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!