Matlab信赖域反射算法

Matlab信赖域反射算法,matlab,Matlab,我对matlab非常陌生,尝试使用quadprog解决投资组合优化问题(最小化方差): minW = quadprog(t_covar, v0, [], [], e, ub, lb, [], []); 其中t_covar是协方差矩阵,v0是零向量,e是单位向量,ub=1,lb是零向量 它似乎工作正常,但我得到了以下警告: 警告:信赖域反射算法无法解决此类问题,请使用活动集算法。您还可以尝试“内点凸”算法:将“算法”选项设置为“内点凸”,然后重新运行 我做错什么了吗?我应该担心这个警告吗 希望我

我对matlab非常陌生,尝试使用quadprog解决投资组合优化问题(最小化方差):

minW = quadprog(t_covar, v0, [], [], e, ub, lb, [], []);
其中t_covar是协方差矩阵,v0是零向量,e是单位向量,ub=1,lb是零向量

它似乎工作正常,但我得到了以下警告:

警告:信赖域反射算法无法解决此类问题,请使用活动集算法。您还可以尝试“内点凸”算法:将“算法”选项设置为“内点凸”,然后重新运行

我做错什么了吗?我应该担心这个警告吗


希望我说的很清楚谢谢你似乎在使用这种形式的quadprog

x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
因为您指定了9个输入参数。但是,您的电话有几个问题:

  • lb和ub的顺序应颠倒
  • 您没有不等式约束:A=[],b=[](这很好)。但接下来,就有了无效的等式约束,这里基本上有Aeq=e,beq=ub
您的呼叫应该与

minW = quadprog(t_covar, v0, [], [], e, ?, lb, ub);
其中“?”表示等式约束的右侧