Skip to main content
 首页 » 编程设计

python之如何在cvxpy中写几个约束

2025年05月04日14cyq1162

我想在 cvxpy 下的优化问题中添加许多约束。在 matlab 中,我可以通过添加一行 subject to 然后使用 for 循环来生成约束来做到这一点。我怎样才能在 cvxpy 中做同样的工作,因为在 cvxpy 中没有“受制于”的概念。有什么建议吗?

请您参考如下方法:

在 Python 中,constraints 是一个列表。您可以使用 for 循环像这样附加/扩展它(和 CVXPY functions 使它更容易)。

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