我想在 cvxpy 下的优化问题中添加许多约束。在 matlab 中,我可以通过添加一行 subject to ,然后使用 for 循环来生成约束。我怎样才能在 cvxpy 中做同样的工作,因为 cvxpy 中没有“服从”概念。有什么建议吗?
在Python中constraints
是一个列表。您可以使用 for 循环来附加/扩展它,如下所示(并且CVXPY 函数 https://www.cvxpy.org/tutorial/functions/index.html让它变得更容易)。
import cvxpy as cvx
samples = 10
x = cvx.Variable(samples)
y = range(1, samples+1)
constraints = []
for i in xrange(samples):
constraints += [
y[i] * x[i] <= 1000,
x[i] >= i
]
objective = cvx.Maximize(cvx.sum_entries(x))
prob = cvx.Problem(objective, constraints)
prob.solve()
print x.value
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)