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