我正在进行优化,而且我在指定矢量约束方面遇到了问题:
FindMinimum[{PortfolioVariance, {Total[WeightsVector] == 1}}, WeightsVector];
但是当我向向量添加约束时:
MV = FindMinimum[{PortfolioVariance, {Total[WeightsVector] == 1,
And@@WeightsVector[Subscript[w, {#}] > 0 & /@ Range[9]]}}, WeightsVector];
我无法让它发挥作用。我只是将输入作为输出。
我的目标是用不等式限制向量中的每个项目。
谢谢!
答案 0 :(得分:0)
用户法案在评论中提出了一个很好的解决方案:
可以使用它吗? WeightsVector = Table [ToExpression [“w”<> ToString [n]],{n,1,5}]; FindMinimum [{PortfolioVariance,{Total [WeightsVector] == 1&&和@@地图[#> 0&,WeightsVector]}},WeightsVector] - Bill昨天
WeightsVector = Table[ToExpression["w" <> ToString[n]], {n, 1, 5}]; FindMinimum[{PortfolioVariance, {Total[WeightsVector] == 1 && And @@ Map[# > 0 &, WeightsVector]}}, WeightsVector]
感谢Bill