Matlab - debugging Fmincon

8 views (last 30 days)
NAFTALI HERSCOVICI
NAFTALI HERSCOVICI on 15 Feb 2022
Edited: John D'Errico on 16 Feb 2022
Hello,
I am trying to use fmincon. For some reason the variables provided to the routine that calculates the goal function are the same as the inititial values in all iterations.
I check to see if the initial values are different forn the lb and ub vectors and they are.
I understand the without seeing the coede would be difficult to advise but the code is very complex and I don't want to impose, still, any ideas?
Spent like a full day trying to debug this. I could really use a 'step back' debugging option, but I understand that's not possible in Matlab.
Thank you
  3 Comments
NAFTALI HERSCOVICI
NAFTALI HERSCOVICI on 15 Feb 2022
i understand. I need to simplify it and get rid of chunks that require additional apps

Sign in to comment.

Accepted Answer

NAFTALI HERSCOVICI
NAFTALI HERSCOVICI on 16 Feb 2022
I already set a breakpoint in the objective function. I already checked and saw that the variables provifded by Fmincon to the objective function are the same for all iterations
  7 Comments
NAFTALI HERSCOVICI
NAFTALI HERSCOVICI on 16 Feb 2022
not yet, will try

Sign in to comment.

More Answers (2)

Steven Lord
Steven Lord on 15 Feb 2022
Are the points provided to your function exactly the same as the initial guess or do they differ by a very small amount, small enough that the difference doesn't change how the points are displayed?

NAFTALI HERSCOVICI
NAFTALI HERSCOVICI on 16 Feb 2022
can anyone point me to the location in Fmincon where the gol function is called?
I figure if I set a break point I can at least check what is the variabke set sent to the goal function.
This way I can find out if the problem is in the setup of the run or in the goal function
Thank you
  2 Comments
John D'Errico
John D'Errico on 16 Feb 2022
Edited: John D'Errico on 16 Feb 2022
Please don't ask a question by using an answer.
As Torsten says though, there is nothing stopping you from setting a breakpoint in your objective function itself. Then you know exactly what got passed in.
There will be multiple lines in fmincon where the objective function is called, so looking for ONE line in fmincon is wrong. Anyway, you can find each of those lines yourself with a search.

Sign in to comment.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by