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 个评论
Subhasritam Behera
No its not about running out of RAM, as in task manager i am able to see 71% of memory is consumed while running this program.

请先登录,再进行评论。

回答(1 个)

R
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!

类别

Help CenterFile Exchange 中查找有关 Nonlinear Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by