如何在cvxpy中写几个约束?

Cre*_*tor 1 python mathematical-optimization cvxpy

我想在cvxpy下的优化问题中添加许多约束.在matlab中我可以通过添加一行主语然后使用for循环来生成约束.我怎么能在cvxpy中做同样的工作,因为cvxpy中没有'subject'概念.有什么建议吗?

dav*_*-cz 7

在Python中constraints是一个列表.您可以使用for循环来像这样追加/扩展它(而CVXPY函数使它更容易).

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
Run Code Online (Sandbox Code Playgroud)