MATLAB Answers

How can I change the 'MaxIterations' option in matlab 'createOpt​imProblem(​'fmincon',​..........​)'

14 views (last 30 days)
Md. Hasan Rahman
Md. Hasan Rahman on 5 Feb 2020
Commented: Matt J on 6 Feb 2020
I am trying to solve a problem using the follwing code:
rng default
gs = GlobalSearch;
problem = createOptimProblem('fmincon','x0',x0,...
'objective',objective,'lb',lb,'ub',ub,'nonlcon',constfunc);
[res] = run(gs,problem);
But when I run this, this massage i get in command window:
'''''''''GlobalSearch stopped with one or more of the local solver runs stopping prematurely.
9 out of 9 local solver runs exceeded the iteration limit (problem.options.MaxIterations) or
the function evaluation limit (problem.options.MaxFunctionEvaluations).
None of the 9 local solver runs converged with a positive local solver exit flag"""""
I like to change the default option ""MaxIterations"". And ''MaxFunctionEvaluations''. I tried using the follwoing way but its not working,
rng default
gs = GlobalSearch;
problem = createOptimProblem('fmincon','x0',x0,...
'objective',objective,'lb',lb,'ub',ub,'nonlcon',constfunc,'MaxFunctionEvaluations',3000);
[res] = run(gs,problem);
It gives the following error:
"""""No field MaxFunctionEvaluations exists for PROBLEM structure."""""
How can I solve this problem? Thank you for your comment in advance.

  0 Comments

Sign in to comment.

Accepted Answer

Matt J
Matt J on 5 Feb 2020
Edited: Matt J on 5 Feb 2020
You need to do this,
opts=optimoptions('fmincon', 'MaxFunctionEvaluations',3000);
problem = createOptimProblem('fmincon','x0',x0,...
'objective',objective,'lb',lb,'ub',ub,'nonlcon',constfunc,'options',opts);

More Answers (0)

Sign in to answer this question.