[英]CVXPY vector constraints
我希望對我的優化變量實施約束:
X=變量(2)
如何指定對 X 組件的約束,例如“X[i] <= 1”,我嘗試過但似乎不起作用”?我在 cvxpy 文檔中沒有找到關於這個特定案例的任何內容,盡管它看起來很基本...
我試過這個簡單的例子:
import cvxpy
X=variable(2)
constraints = [x[0] <= 5,
x[1] <= 5]
obj=Maximize(x[0]+x[1])
Pb=Problem(obj, constraints)
但 cvxpy 沒有找到任何解決方案
謝謝 !
該文檔在主頁上顯示了一個示例。 您在創建Problem
時指定約束。 這是一個簡單的例子:
import cvxpy
x = cvxpy.Variable(5)
constraints = [x[3] >= 3, x >= 0]
problem = cvxpy.Problem(cvxpy.Minimize(cvxpy.sum_squares(x)), constraints)
problem.solve()
x.value
哪些輸出:
array([-0., -0., -0., 3., -0.])
您描述的確切問題產生了預期的解決方案:
import cvxpy as cvx
x = cvx.Variable(2)
constraints = [x[0] <= 5, x[1] <= 5]
obj = cvx.Maximize(x[0] + x[1])
prob = cvx.Problem(obj, constraints)
prob.solve()
10.0
x.value
array([5., 5.])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.