필터 지우기
필터 지우기

Is there a way to plot the output of my function for fmincon evaluations?

조회 수: 5 (최근 30일)
Cy
Cy 2015년 11월 5일
댓글: Cy 2015년 11월 5일
I want to plot the progression of my objective as it is being optimized by fmincon. I was hoping the output would be in a regular pattern (for my three variable function, something like: 1. del_x_step, 2. del_y_step, 3. del_z_step, [evaluate gradient, etc], 4. new position) so I could just plot every 4th step. However upon viewing the outputs, I see that the function seems to bounce around a bit between successive iterations.
Norm of First-order
Iter F-count f(x) Feasibility Steplength step optimality
0 4 -1.848033e+04 3.097e+01 8.456e+01
1 9 -2.084884e+04 0.000e+00 7.000e-01 6.711e+01 3.159e+02
2 22 -2.086112e+04 0.000e+00 4.035e-02 2.496e+00 3.015e+02
3 26 -2.227361e+04 0.000e+00 1.000e+00 1.393e+01 1.816e+02
4 37 -2.228014e+04 0.000e+00 8.235e-02 2.194e+00 7.227e+01
5 41 -2.243568e+04 0.000e+00 1.000e+00 1.467e+00 2.271e+02
6 47 -2.270094e+04 0.000e+00 4.900e-01 9.539e+00 8.021e+01
7 51 -2.271830e+04 0.000e+00 1.000e+00 3.290e+00 1.466e+02
8 60 -2.272500e+04 0.000e+00 1.681e-01 1.128e+00 1.370e+02
9 91 -2.273291e+04 0.000e+00 6.571e-05 1.702e+00 7.642e+01
10 95 -2.276594e+04 0.000e+00 1.000e+00 2.046e+00 1.681e+02
11 120 -2.276670e+04 0.000e+00 5.585e-04 6.198e-04 1.664e+02
12 126 -2.276754e+04 0.000e+00 4.900e-01 3.616e-02 1.656e+02
13 148 -2.276926e+04 0.000e+00 1.628e-03 3.320e-04 1.684e+02
14 175 -2.276926e+04 0.000e+00 6.571e-05 3.230e-05 1.684e+02
Optimization stopped because the relative changes in all elements of x are
less than options.TolX = 1.000000e-06, and the relative maximum constraint
violation, 0.000000e+00, is less than options.TolCon = 1.000000e-06.
Optimization Metric Options
max(abs(delta_x./x)) = 7.75e-07 TolX = 1e-06 (default)
relative max(constraint violation) = 0.00e+00 TolCon = 1e-06 (default)
My questions are:
1. Is there a straightforward explanation for the additional function evaluations adding to the f-count? 2. Is it reasonable to just plot the output at each iteration (e.g. at 4, 9, 22, etc shown above)?

채택된 답변

Alan Weiss
Alan Weiss 2015년 11월 5일
It is not clear that you are obtaining a true minimum. See the documented suggestions on what to do to ensure that you have a real minimum.
As for plotting, have you tried to use one of the built-in plot functions? Perhaps @optimplotfval would give you what you seek.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 1
Cy
Cy 2015년 11월 5일
Yes, I was also going to ask about that first-order optimality condition. Thanks for the help. The built-in functions work just fine. Somehow I missed that.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Problem-Based Optimization Setup에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by