Understanding output of fmincon optimization using 'sqp' algorithm

13 views (last 30 days)
All,
I have difficulty understanding the output of a fmincon optimization using a sqp algorithm in relation with my optimization options:
options = optimset('Algorithm','sqp','Display','Iter','TolCon',5e-3,'TolFun',3e-2,'DiffMinChange',0.02,'MaxIter',30)
This is my output:
Norm of First-order
Iter F-count f(x) Feasibility Steplength step optimality
0 46 9.999941e-01 8.379e-02 6.157e-01
1 92 9.711733e-01 2.460e-02 1.000e+00 1.790e-01 4.004e-01
2 138 9.612754e-01 8.941e-02 1.000e+00 1.422e-01 1.415e-01
3 184 9.587545e-01 6.901e-02 1.000e+00 1.101e-01 1.064e-01
4 230 9.844396e-01 2.151e-02 1.000e+00 9.309e-02 6.751e-01
5 313 9.784854e-01 4.579e-02 3.430e-01 4.663e-02 1.011e-01
6 359 9.770382e-01 3.249e-02 1.000e+00 1.174e-01 1.477e-01
7 405 9.810448e-01 1.086e-02 1.000e+00 1.049e-01 2.461e-01
8 453 9.681814e-01 2.331e-02 7.000e-01 6.497e-01 3.990e-01
9 499 9.646897e-01 1.103e-02 1.000e+00 7.355e-02 1.212e-01
10 545 9.494203e-01 3.705e-02 1.000e+00 2.301e-01 2.335e-01
11 591 9.375651e-01 2.780e-02 1.000e+00 2.964e-01 3.342e-01
12 637 9.241642e-01 2.714e-02 1.000e+00 2.015e-01 4.565e-01
13 687 9.202633e-01 3.259e-02 3.430e-01 1.561e-01 3.296e-01
14 733 9.041621e-01 5.144e-02 1.000e+00 2.001e-01 3.302e-01
15 780 9.277166e-01 1.496e-02 7.000e-01 7.724e-02 2.465e-01
16 830 9.278971e-01 1.142e-02 3.430e-01 8.309e-02 7.720e-02
17 879 9.294901e-01 7.435e-03 4.900e-01 1.065e-01 6.746e-02
18 933 9.290804e-01 6.752e-03 8.235e-02 2.407e-02 1.600e-01
19 979 9.274652e-01 1.258e-02 1.000e+00 1.624e-01 1.122e-01
20 1029 9.282536e-01 8.785e-03 3.430e-01 4.559e-02 2.938e-01
21 1075 9.283087e-01 7.863e-03 1.000e+00 7.305e-02 1.867e-01
22 1124 9.291922e-01 5.108e-03 4.900e-01 6.765e-02 1.315e-01
23 1172 9.294913e-01 4.504e-03 4.900e-01 2.586e-02 1.122e-01
24 1218 9.229507e-01 1.586e-02 1.000e+00 1.486e-01 1.453e-01
25 1268 9.174597e-01 3.731e-02 3.430e-01 3.172e-01 2.888e-01
26 1351 9.194210e-01 3.361e-02 1.176e-01 1.635e-02 1.436e-01
27 1399 9.246186e-01 1.902e-02 4.900e-01 1.790e-01 1.188e-01
28 1447 9.282432e-01 1.243e-02 4.900e-01 4.659e-02 1.218e-01
29 1504 9.269571e-01 1.659e-02 2.825e-02 2.655e-02 1.415e-01
30 1551 9.319542e-01 9.556e-03 7.000e-01 6.073e-02 9.891e-02
So my question actually is: Which two columns represent my TolCon and TolFun? I need to know this so I can understand when the optimization should stop. I thought Feasibility _ was TolCon and _First-order optimality was TolFun, but I seem to be wrong.
Please advise!
Thanks!

Accepted Answer

Matt J
Matt J on 3 Jun 2013
According to here
the column "Feasibility" represents the maximum constraint violation. So, that column would let you track convergence to TolCon.
TolFun would be accounted for in the f(x) column. It measures the difference between two successive entries in this column.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!