【问题标题】:Matlab Trust-region-reflective algorithm warningMatlab 信任区域反射算法警告
【发布时间】:2012-02-21 00:49:39
【问题描述】:

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

minW = quadprog(t_covar, v0, [], [], e, ub, lb, [], []);

其中 t_covar 是协方差矩阵,v0 是零向量,e 是单位向量,ub = 1,lb 是零向量。

它似乎工作正常,但我收到此警告:

警告:Trust-region-reflective 算法不能解决这类问题,使用的是 active-set 算法。您也可以尝试内点凸算法:将算法选项设置为内点凸并重新运行。

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

希望我说清楚了谢谢

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您似乎正在使用这种形式的 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);
    

    在哪里“?”代表等式约束的右侧。

    【讨论】:

      猜你喜欢
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 2019-10-18
      相关资源
      最近更新 更多