等权重约束

时间:2014-06-13 08:59:54

标签: r mathematical-optimization

我有以下非线性约束优化问题,我正在使用solnp在R中求解:

max  F(w)
 w
   s.t.
 w_i >= 0 for all i
 sum(w) = 1

但是,我想添加一个额外的约束,但我不确定它是否可能。我希望{0}大于0的所有w都具有相同的权重。类似的东西:

max  F(w)
 w
   s.t.
 w_i >= 0 for all i
 sum(w) = 1
 w_i=w_j for all i,j where w_i,w_j>0

是否有人可以,如果有可能,该怎么办?

1 个答案:

答案 0 :(得分:2)

鉴于您的搜索空间已完全确定,我不确定这是否是必然的硬优化问题。基本上,给定w_i的有限维数,您要在R^w空间中搜索有限数量的点。这些是:

c(1, 0, 0, ..., 0)
c(0, 1, 0, ..., 0)
...
c(0, 0, ..., 1)
c(1/2, 1/2, 0, ..., 0)
c(1/2, 0, 1/2, ..., 0)
...
c(1/3, 1/3, 1/3, 0, ..., 0)
...
c(1/n, 1/n, ..., 1/n)
等等。你明白了。 这意味着您可以在这些点上评估您的功能,并选择最大化F的组合。

这听起来是对的还是我错过了一些关键的东西?