nonlinear problem with 300 varibales
显示 更早的评论
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 个评论
Bjorn Gustavsson
2022-6-6
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
2022-6-6
编辑:Ahmet Dogan
2022-6-6
Bjorn Gustavsson
2022-6-6
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
2022-6-6
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);
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!