Objective and constraint function evolution count in fmincon
Show older comments
How to find number of objective and constraint function , gradient, hessian count in fmincon using interior point method?
Answers (1)
Matt J
on 14 Sep 2017
0 votes
The number of function evaluations and number of iterations is returned in fmincon's 4th output argument. The number of Hessian and gradient evaluations should equal the number of iterations.
4 Comments
Md Abu Talhamainuddin Ansary
on 15 Sep 2017
I see. Well, you can always use persistent variables to count the calls to the constraints (or whatever function). The following, for example, will allow your nonlcon function to return the number of calls when only 1 output argument is requested, but operate normally the rest of the time.
function varargout=nonlcon(...)
persistent count
if isempty(count), count=0; end
count=count+1;
if nargin==1
varargout={count}; return
else
ceq=...
c=...
varargout={c,ceq};
end
end
Md Abu Talhamainuddin Ansary
on 18 Sep 2017
Matt J
on 18 Sep 2017
function varargout=nonlcon(x)
persistent count
if isempty(count), count=0; end
count=count+1;
if nargin==1
varargout={count}; return
else
ceq=[];
c=norm(x)^2-225;
varargout={c,ceq};
end
end
Categories
Find more on Write Constraints in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!