fmincon stuck at an intermidiate value
2 次查看(过去 30 天)
显示 更早的评论
Hi,fellows I am using fmincon to maximize the sum of likelihood(sumllh), which is part of a simulation. So I know the optimized value should be around 172. But it seems fmincon have worked from around more than 700 to 523 and then can't go on. It has been working more than 10 hours now. So I think there must be some problem here. Could you offer some advice I will show you the result in command window.
if true
%sumllh =
523.2640
sumllh =
523.2640
sumllh =
523.2640
sumllh =
523.2640
sumllh =
539.0686
sumllh =
523.2640
sumllh =
523.2640
sumllh =
523.2640
sumllh =
523.2640
First-order Norm of
Iter F-count f(x) Feasibility optimality step
0 9 5.232640e+002 0.000e+000 2.100e+005
sumllh =
658.7498
sumllh =
705.4196
sumllh =
606.7836
sumllh =
598.1732
sumllh =
678.4877
sumllh =
713.2264
sumllh =
609.5137
sumllh =
599.1704
sumllh =
543.3757
sumllh =
545.6598
sumllh =
534.0842
sumllh =
528.5852
sumllh =
525.9029
sumllh =
524.5781
sumllh =
523.9197
sumllh =
523.5915
sumllh =
523.4276
sumllh =
523.3458
sumllh =
523.3048
sumllh =
523.2844
sumllh =
523.2742
sumllh =
523.2691
sumllh =
523.2665
sumllh =
523.2652
sumllh =
523.2646
sumllh =
523.2643
sumllh =
523.2641
sumllh =
523.2640
sumllh =
523.2640
sumllh =
523.2640
sumllh =
523.2639
sumllh =
523.2639
sumllh =
523.2640
sumllh =
523.2640
sumllh =
523.2629
sumllh =
523.2639
sumllh =
523.2639
sumllh =
523.2639
sumllh =
523.2639
1 48 5.232639e+002 0.000e+000 6.802e+004 1.468e-010
sumllh =
523.2639
sumllh =
523.2639 end
1 个评论
Walter Roberson
2013-2-6
Those numbers do not help us much at all. It would be easier if you were to show your code.
It seems likely that you are stuck in a local minima.
采纳的回答
Matt J
2013-2-6
Your function beta looks highly non-differentiable and therefore out of the scope of what fmincon can handle. You'll probably need to use ga() instead. It's also not clear how you came up with your initial guess and why you think that's close to the optimum. If you simply have no idea, all the more reason to use ga().
10 个评论
Matt J
2013-2-18
You evaluate your objective function over a range of one of your 8 unknowns while holding the other 7 fixed.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surrogate Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!