<分区>
我需要一个可以将两个非常数相乘的 LP。这是我尝试执行的以下代码:
import cvxpy as cvx
a = cvx.Variable()
b = cvx.Variable()
c = cvx.Variable()
obj = cvx.Maximize(((0.4270437386 * a) + (0.1737677971 * b) + (0.21763175116 * c) - 0.03) / (((((2 * a * 0.424718270) * b) * (0.195770376 ** 0.5)) * (0.022090814 ** 0.5)) * ((2 * c * -0.041137487) * b * (0.194241184 ** 0.5) * (0.022090814 ** 0.5)) * (2 * a * 0.363033596 * c * (0.195770376** 0.5) * (0.194241184 ** 0.5))))
不幸的是,这引发了一个错误:
cvxpy.error.DCPError: Cannot multiply two non-constants.
这源于obj
的分母中的几个区域,例如(2 * a * 0.424718270) * b)
。
我想知道是否有人知道我们可以做这种事情的任何 LP 程序?有没有可能。