【发布时间】:2020-11-26 19:45:40
【问题描述】:
我正在尝试解决一个优化问题,该问题涉及在其中一个约束条件下矩阵的逆。简化版如下:
a = [1 1e-3;1e-3 1]
n = 2
f(Q...) = inv(reshape(collect(Q), (n, n)))
g(x...) = reshape(collect(x), (n,n))
NSD = Model(with_optimizer(Ipopt.Optimizer))
@variable(NSD, Q[1:n, 1:n])
@variable(NSD, aux[1:n, 1:n])
register(NSD, :f, n*n, f, autodiff=true)
register(NSD, :g, n*n, g, autodiff=true)
@constraint(NSD, aux .== a)
@NLconstraint(NSD, invconst[i=1:n, j=1:n], f(Q...)[i,j] >= g(aux...)[i,j])
@objective(NSD, Max, 0)
optimize!(NSD)
但是,此代码不断向我显示以下我无法解决的错误消息:
LoadError: Cannot divide a quadratic expression by an aff. expression
有人可以帮我解决这里的问题吗?
【问题讨论】:
标签: julia julia-jump