CVXPY矢量约束

2024-04-25 09:17:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望在优化变量上实现约束:

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没有找到任何解决方案

谢谢!在


Tags: 文档importltobj组件解决方案variable案例
2条回答

documentation在主页上显示了一个例子。您可以在创建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

哪些输出:

^{pr2}$

您所描述的确切问题会产生预期的解决方案:

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.])

相关问题 更多 >