簡體   English   中英

CVXPY 向量約束

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM