python-3.x 如何用DQCP和cvxPy求解一个产品总和优化问题?

7lrncoxx  于 2023-02-26  发布在  Python
关注(0)|答案(1)|浏览(210)

DQCP explainer页面上的cvxPy示例中,以下示例显示了可使用DQCP解决的一类问题:

import cvxpy as cp

x = cp.Variable(pos=True)
y = cp.Variable(pos=True)

product = cp.multiply(x, y)

assert product.is_dqcp()

有谁能给我一个解决向量变量问题的方法吗?我的问题有约束条件,但下面的示例代码显示了主要问题所在:

import cvxpy as cp

x = cp.Variable(2, pos=True)
y = cp.Variable(2, pos=True)

product = cp.sum(cp.multiply(x, y))

assert product.is_dqcp() #this fails since sum of products isn't DQCP

也尝试了DGP和DCCP,但找不到正确的方法来重新表述问题。
谢谢大家!

hjzp0vay

hjzp0vay1#

您定义的目标函数是双线性的。解决此问题的传统方法是通过McCormick envelopes线性化目标函数。我个人没有使用过this package,但它看起来很有前途

相关问题