我仍然是朱莉娅的新手,但我想知道是否有办法在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]
但目前朱莉娅只是告诉我D不知道
UndefVarError: D not defined
提前感谢您的帮助!
答案 0 :(得分:1)
欢迎来到朱莉娅,你可以去乘车。不,那是不受支持的。您可以改为编写for
循环:
D = []
n = 3
for i in 1:9
push!(D, @expression(model_opt, i>n ? D[i-n] : i))
end