필터 지우기
필터 지우기

How can the Global minimum be got using optimization toolbox?

조회 수: 3 (최근 30일)
Nitin Samuel
Nitin Samuel 2013년 1월 15일
댓글: yongjun wang 2018년 6월 1일
I have a function(sum of least squares) which I need to minimize(using fmincon).However, I get different optimized parameters for different initial values. My guess is it is finding the local minimum. Is there a way I can find the global minimum?

채택된 답변

Shashank Prasanna
Shashank Prasanna 2013년 1월 15일
Global Optimization Toolbox offers GlobalSearch and multistart so that you can start at several starting points and hope to arrive at the global minimum.
In theory one can ever know if the minimum is global or local unless and until every point on the objective surface has been evaluated.
If you don't have the global optim toolbox, I would recommend creating several start points using rand and running fmincon in a loop or parallely using Parallel computing toolbox if you have the license to speed things up.
  댓글 수: 2
Nitin Samuel
Nitin Samuel 2013년 1월 15일
oh...using rand and a loop seems to be a good idea for different initial points..Ill try and get back....thank you..
yongjun wang
yongjun wang 2018년 6월 1일
Hello,I also meet the same question and I don't want to use global optimization toolbox,have you finished it,can you paste your code for reference? Thank you very much.

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

추가 답변 (1개)

Walter Roberson
Walter Roberson 2013년 1월 15일
No, not using the Optimization Toolbox. If you use the Global Optimization Toolbox then you can automate the process of trying with different initial values, but even then the global minimum is not certain to be found.
To be sure of finding a global minimum, you need to do analysis on the function being minimized. For example if you can find bounds for the ranges where there are minima, and you can find upper bounds on the number of minima, then you have a basis to search for the global minima. Or possibly you can use calculus to help locate the minima and then search those for the global minima.
  댓글 수: 5
Walter Roberson
Walter Roberson 2013년 1월 15일
No there isn't, not without you analyzing the function being minimized to find bounds (etc) as I described above. Otherwise the fitting process is not going to know that any particular iteration is as good as you are going to get. And if you try to write in any fixed tolerance without doing a numeric analysis of the fitting function, then you risk the possibility of endless search.
However, if you use the Global Optimization tools Benji mentioned, you could set both a tolerance and an iteration limit, I believe. Or you can program much the same functionality yourself if you do not have that toolbox.
Nitin Samuel
Nitin Samuel 2013년 1월 15일
편집: Nitin Samuel 2013년 1월 15일
oh..Your explanation can't get any better...Thanks a lot Mr.Roberson...

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

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by