fmincon ignoring lower function value during convergence
1 回表示 (過去 30 日間)
古いコメントを表示
I am trying to optimize (minimize) a non-linear function using fmincon using 2 variables with bounds and non-linear constraints. I noticed in the iterative display of results that fmincon ignored a clearly lower function value, continued iterations and converged to higher function value.
First-order Norm of
Iter F-count f(x) Feasibility optimality step
0 3 1.812411e+03 0.000e+00 9.241e+00
1 6 1.736525e+03 0.000e+00 8.528e+00 8.473e+00
2 9 1.676578e+03 0.000e+00 8.056e+00 7.125e+00
3 13 1.676428e+03 0.000e+00 5.824e+00 1.868e-02
4 16 1.675054e+03 0.000e+00 3.055e+00 1.116e+00
5 19 1.665816e+03 0.000e+00 1.189e+00 8.565e+00
6 22 1.628995e+03 4.332e-05 1.123e+00 3.430e+01
7 25 1.439375e+03 2.384e-03 9.349e-01 1.936e+02
8 28 1.373926e+03 2.591e-03 7.666e-01 7.575e+01
9 32 1.373768e+03 2.586e-03 3.914e-01 2.064e-01
10 35 1.374922e+03 1.155e-03 1.239e-01 4.145e+00
11 38 1.376012e+03 1.310e-07 1.374e-03 3.172e+00
12 41 1.376011e+03 0.000e+00 2.000e-04 1.435e-02
13 44 1.376011e+03 0.000e+00 2.000e-06 1.316e-03 ---------> final function value taken as minimum
I haven't come across such behaviour. I assumed it had something to do with the variables I was using (I was initially using 4 to 5 variables), and so I reduced it down to 2 simple variables but the problem persists.
Could somebody explain what is going on? because I am clueless.
0 件のコメント
採用された回答
Alan Weiss
2019 年 1 月 29 日
Notice that the feasibility of the iteration you like is about 2e-3, meaning the constraints are not met at that point. fmincon went on to reduce the infeasibility to zero while not increasing the objective very much.
Alan Weiss
MATLAB mathematical toolbox documentation
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!