矢量约束mathematica

时间:2014-11-11 21:55:10

标签: wolfram-mathematica mathematical-optimization

我正在进行优化,而且我在指定矢量约束方面遇到了问题:

FindMinimum[{PortfolioVariance, {Total[WeightsVector] == 1}}, WeightsVector];

但是当我向向量添加约束时:

MV = FindMinimum[{PortfolioVariance, {Total[WeightsVector] == 1, 
And@@WeightsVector[Subscript[w, {#}] > 0 & /@ Range[9]]}}, WeightsVector];

我无法让它发挥作用。我只是将输入作为输出。

我的目标是用不等式限制向量中的每个项目。

谢谢!

1 个答案:

答案 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