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

2 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Walter Roberson
Walter Roberson il 17 Dic 2012
options = struct('MaxFunEvals', 2000);
xout = fmincon(F, x0, [], [], [], [], lb, ub, options);
  4 Commenti
Nitin Samuel
Nitin Samuel il 17 Dic 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...

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by