fmincon stuck at an intermidiate value

2 views (last 30 days)
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 Comment
Walter Roberson
Walter Roberson on 6 Feb 2013
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.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 6 Feb 2013
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 Comments
xueqi
xueqi on 18 Feb 2013
No I can't. I know the optimum should be 159 because I am using the simulated data in this case. But when I am analyzing the experimental data, I cant know the optimum... For an different question. I have 8 independent variables for my function beta. How do I plot it with respect to each of the 8 variables?
Matt J
Matt J on 18 Feb 2013
You evaluate your objective function over a range of one of your 8 unknowns while holding the other 7 fixed.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!