Error occurred when calling NLP solver "fmincon".
6 次查看(过去 30 天)
显示 更早的评论
Unexpected Standard exception from MEX file.
What() is:bad allocation
..
Error in sqpInterface
Error in fmincon (line 870)
[X,FVAL,EXITFLAG,OUTPUT,LAMBDA,GRAD,HESSIAN] = sqpInterface(funfcn,X,full(A),full(B),full(Aeq),full(Beq), ...
Error in nlmpc/nlmpcmove (line 157)
[z, cost, ExitFlag, Out] = fmincon(CostFcn, z0, A, B, [], [], zLB, zUB, ConFcn, fminconOpt);
Error in nmpcblock_interface (line 159)
[mv, ~, Info] = nlmpcmove(nlobj, x, lastmv, ref, md, Options);
3 个评论
回答(1 个)
R
2024-1-23
Hello Subhasritam,
Usually, the first part of the error i.e.:
Unexpected Standard exception from MEX file.
What() is:bad allocation
This error occurs when MATLAB is running out of system memory while doing the computations for 'fmincon' using dense matrices. This typically occurs if you have many constraints. In general, the more constraints that are added, the more work an algorithm like 'fmincon' has to do to solve the problem. The best way to solve this is to try to reduce the number of constraints.
If the issue still perists, verify that both the minimum and maximum output value constraints are specified. If your upper bound is infinity, try specifying a constraint which is a large finite value (e.g. 1e30), rather than leaving it unspecified or set to "inf", as this could be causing the error you are encountering.
Hope this solves the error!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Nonlinear Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!