MATLAB fmincon内点警告:Matrix的工作精度是单数

时间:2013-05-08 13:33:00

标签: matlab optimization

我试图以下列形式运行MATLAB优化工具箱的fmincon函数:

   fmincon(@fun,A,b,Aeq,beq,lb,ub)

我无法找到解决方案,

  

找不到可行的解决方案。

我通过使用以下代码测试边界来进行故障排除:

   f = zeros(size(x0));
   xnew = linprog(f,A,b,Aeq,beq,lb,ub)

这不行,但当我Aeq=sparse(Aeq);A=sparse(A);神奇地做到了!但稀疏对fmincon不起作用!

除此之外,我收到了这个警告:

  

Matrix的工作精度是单数

当我运行fmincon时。我认为这个矩阵是fmincon函数中的矩阵。但我仍然认为问题与我的矩阵有关,因为上面的经验稀少。这是我的矩阵的一个例子:

   A =0.3333   -0.3333     Aeq = 1     1
      0.6667    0.3333
      0.3333    0.6667

所以你知道问题是什么以及我如何解决它?

顺便说一下,我的线性问题只能通过{active}中的四个可能算法中的'active-set'算法来解决。fmincon。但是这个并没有严格遵守约束条件,有时会给出约束违反的结果。

任何建议都将不胜感激。

0 个答案:

没有答案