我想使用cvxpy
. 假设我想使用log_sum_exp
函数来构建这样的约束:
m >= log(1 + exp(m+z))
的语法cvxpy
允许我创建一个x = [z,m]
维度的向量变量2
并应用矩阵乘法来创建一个表达式向量0, z+m
:
import cvxpy
x = cvxpy.Variable(2)
coeff = np.array([
[0,0],
[1,1]
])
constraints = [ x[1] >= cvxpy.log_sum_exp(coeff * x)]
像这样编码时,我会丢失一些逻辑,因为我希望变量数组的不同部分有不同的名称。有没有办法log_sum_exp
更明确地使用转换,比如
z = cvxpy.Variable()
m = cvxpy.Variable()
constraints = [ m >= cvxpy.log_sum_exp([0, m+z]) ]
?
我在官方文档中找不到任何提示。谢谢!