1

我还是 Julia 的新手,但我想知道是否有办法在 JuMP 的 @expression 语句中进行自我引用。

例如,我希望能够做出这样的声明:

n = 3 @expression(model_opt, D[i=1:9], i>n ? D[i-n] : i)

这将定义一个向量 D 如下

D = [1 2 3 1 2 3 1 2 3]

但目前 Julia 只是告诉我 D 未知

UndefVarError: D not defined

预先感谢您的帮助!

4

1 回答 1

1

欢迎来到朱莉娅,你正在兜风。不,不支持。您可以改为编写一个for循环:

D = []
n = 3
for i in 1:9
    push!(D, @expression(model_opt, i>n ? D[i-n] : i))
end
于 2017-12-15T01:54:53.817 回答