How to store nonlcon value at solution using fmincon?

1 view (last 30 days)
Hi everyone,
Pretty much the question on the title. I am using fmincon to solve an optmization problem with several non linear constraints. I would like to know which constraint was active at the solution point, and its value if possible.
I know it's possible to use OutputFcn to call a function in each iteration, but I would prefer not to, as I only want the value at the solution point.
Many thanks,
Vinicius Almeida.

Accepted Answer

Walter Roberson
Walter Roberson on 4 Aug 2021
Edited: Walter Roberson on 4 Aug 2021
fmincon() is permitted to evaluate at locations without passing that exact location through the nonlinear constraints before or after the evaluation. Therefore recording the results of the nonlinear constraint is not certain to give you the correct answer.
Instead, after you are given the location at the end, pass the location into the nonlinear constraint function yourself, and look at the results.
  1 Comment
Vinicius Belarmino Almeida
That makes sense, hadn't thought of that, thanks!
Still, I think a display of the active restrictions would be helpful in some situations 😂

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!