Julia 中@expression 语句中的自引用

Self reference in @expression statement in Julia

我对 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

提前感谢您的帮助!

欢迎来到 Julia,您正在兜风。不,不支持。您可以改为编写 for 循环:

D = []
n = 3
for i in 1:9
    push!(D, @expression(model_opt, i>n ? D[i-n] : i))
end