Optimization gives only small changes in each step, Why and how to solve it?
显示 更早的评论
I am using Optimization toolbox optimset to solve for a vector (x1 x2 x3). In each step, the minimization yields a small change around the initial input. After the algorithm is finished running, the final output is still very close to the initial guess and far from the real solution whatever the initial guess is. Why does this happen? How can I resolve this problem?
采纳的回答
更多回答(1 个)
Michael
2011-11-28
0 个投票
Which MATLAB function are you using? Certain ones allow you to input parameters that relate to how far you anticipate the minimum may be from the starting point, (eg. lsqcurvefit using a LMF algorithm) and the default may be set too small for your particular parameter space.
2 个评论
Walter Roberson
2011-11-28
Kun, Michael meant "Which MATLAB minimization function are you using?"
Walter Roberson
2011-11-30
Kun, the question is: are you using fzero(), fsolve(), fminbnd(), fgoalattain(), bintprog() or so on? Which minimizer routine are you calling to find the minimum of your function?
Please do not repeat that "it is a very complicated function" comment from above. We read that already, and it is not important at the moment. We want to know which routine in the Optimization Toolbox you are calling. You mentioned optimset earlier, but that is the name of the routine to construct an "options" structure to be used by the minimizer; we need to know which routine you are passing the optimset to.
类别
在 帮助中心 和 File Exchange 中查找有关 Linear Programming and Mixed-Integer Linear Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!