How to solve the following error : "Maximum number of function evaluations exceeded; increase OPTIONS.MaxFunEvals".

9 views (last 30 days)
I need to maximize the objective function y = exp(x) using 'fmincon' and a -ve sign in the objective function.I have used upper & lower bounds of x as 300 and 400. When I run with y=exp(x), I get the error: Maximum number of function evaluations exceeded;
increase OPTIONS.MaxFunEvals.
When I run for y = exp(-x), I get the error:
Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less
than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
1
The code is :
function xout = s1
%---------------------------optimization-------------------
x0 = [300]; % Just some Initial Condition
ub = [400]; % Upper bounds
lb = [300]; % Lower bounds
F = @(x) obj(x);
xout = fmincon(F,x0,[],[],[],[],lb,ub); %optimization operator
function obj = obj(x)
y = exp(x)
obj = -y
end
end
Please help me as to how I can remove this error. Thanks.

Accepted Answer

Walter Roberson
Walter Roberson on 17 Dec 2012
options = struct('MaxFunEvals', 2000);
xout = fmincon(F, x0, [], [], [], [], lb, ub, options);
  4 Comments
Nitin Samuel
Nitin Samuel on 17 Dec 2012
Thanks Mr.Roberson. I tried and it shows following error:
Maximum number of iterations exceeded; increase OPTIONS.MaxIter.
I have added "options = struct('MaxIter',2000);"
Still it shows the same...

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!