nonlinear problem with 300 varibales
Ältere Kommentare anzeigen
Can matlab solve nonlinear problem with nonlinear constraints and 300 variables to decide?
When I try to solve with fmincon following message is released.
Solver stopped prematurely.
fmincon stopped because it exceeded the function evaluation limit,
options.MaxFunctionEvaluations = 3000 (the default value).
6 Kommentare
Bjorn Gustavsson
am 6 Jun. 2022
Does fmincon return a different value than the initial guess? (that is does it even start moving?) You can always increase the number of steps and the other options to increase the defaults:
ops_fmnicon = optimset('fmincon')
and then set larger MaxFunctionEvaluations and other parameters, (smaller tolerances and step-lengths and whatnot). I've never run into other problems than time when looking for many parameters, also never ventured into the 100-s of them either, but there ought not to be no such limits
Ahmet Dogan
am 6 Jun. 2022
Bearbeitet: Ahmet Dogan
am 6 Jun. 2022
Bjorn Gustavsson
am 6 Jun. 2022
Does your starting-point have some peculiarities (in the gradient, jacobian etc), is it in a corner of the constraints? It is not a viable solution to your problem, but does fminsearch get rolling (check by setting the Display option to iter)? Sorry not to be more helpful, but there's not too much more to suggest with the information available.
Steven Lord
am 6 Jun. 2022
Did you just create the options structure or did you pass it into fmincon as part of your call? Merely making the struct does not "change the global settings for fmincon" or anything like that. You have to tell fmincon to use those new options.
Ahmet Dogan's comment moved here
Thank you for your help. I added options and updated MaxFunctionEvaluations .
[x,fval] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,@confuneq,options);
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Optimization finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!