微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cvxpy 的约束:X 的最小值和它的上界之和大于一个 const

如何解决cvxpy 的约束:X 的最小值和它的上界之和大于一个 const

我想为十个不同的行业分配权重以构建投资组合。但是有一个限制,至少 80% 的行业应该来自一个指数,称为 ZZ800 指数。 ZZ800指数的ind权重是已知的,例如A行业占ZZ800指数的15%,这意味着如果我将我投资组合的50%分配给A行业,A行业的ZZ800的最大权重只会是15%。

如何编写此约束?

ind_weights_800 = [0.1,0.4,0.2,0.05,0.25]
x_weight = cp.Variable(5)

constraints = []
constraints.append(cp.sum(x_weight) == 1)

# this is the constraint I don't kNow how to write
ind_sum = 0
for i in range(10):
    ind_sum  = ind_sum  + min(x_weight[i],ind_weights_800[i])
constraints.append(ind_sum >= 0.8)
NotImplementedError: Strict inequalities are not allowed.

解决方法

我发现:

mvn clean

cp.minimum 是关键。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。