【发布时间】:2021-01-24 17:56:49
【问题描述】:
我正在尝试使用 Julia (JUMP) 解决敏感性分析。我遇到了以下问题:
我正在尝试声明一个同时具有上限和下限的变量,以将其提供给 lp_objective_perturbation_range 函数。该函数需要一个数组的引用作为输入。
我尝试了以下语法:
# Lösung Aufgabe 1
println("Lösung Aufgabe 1")
# Produktionsplan auf Grundlage der Ausgangswerte
println("Produktionsplan auf Grundlage der Ausgangswerte")
produktionsplanModell = Model(with_optimizer(GLPK.Optimizer))
# Bereits angefallene Fixkosten
# Modenschau - 8.100.000 USD
# Designer - 860.000 USD
fixkosten = 8100000 + 860000
c = [33.75; 66.25; 26.625; 210; 22; 136; 60.5; 53.5; 143.25; 110; 155.25]
A = [ 0 0 0 0 0 2 0 0 1.5 2 1.5;
0.5 1.5 0 0 0 0 0 0 0 0 0;
0 0 0 1.5 0 0 0 0 0 0 0;
0 0 0 0 1.5 3 0 0 0 0 0;
0 0 0 0 0 0 1.5 0.5 0 0 0;
0 0 1.5 0 0 0 0 0 2 0 0;
0 0 0 0 0 0 0 0 0 3 2.5;]
b = [28000.0; 30000; 9000; 20000; 18000; 30000; 45000]
w = [60000.0;15000;20000; 4000; 6000; 5500; 9000;15000;15000; 7000; 5000]
y = [0.0; 0; 0; 0; 0; 0; 0; 0; 2800; 4200; 3000]
# Definition der Variablen
@variable(produktionsplanModell, w[i] >= x[i] >= y[i] for i=1:11)
很遗憾,这不起作用。所以我需要一个具有以下定义并且可以分配给模型的数组:
@variable(produktionsplanModell, 60000 >= x1 >= 0)
@variable(produktionsplanModell, 15000 >= x2 >= 0)
@variable(produktionsplanModell, 20000 >= x3 >= 0)
@variable(produktionsplanModell, 4000 >= x4 >= 0)
@variable(produktionsplanModell, 6000 >= x5 >= 0)
@variable(produktionsplanModell, 5500 >= x6 >= 0)
@variable(produktionsplanModell, 9000 >= x7 >= 0)
@variable(produktionsplanModell, 15000 >= x8 >= 0)
@variable(produktionsplanModell, 15000 >= x9 >= 2800)
@variable(produktionsplanModell, 7000 >= x10 >= 4200)
@variable(produktionsplanModell, 5000 >= x11 >= 3000)
可以这样做吗?程序的其余部分工作正常。提前致谢!
【问题讨论】:
-
请不要添加“已解决”。相反,如果您愿意,您可以通过单击左侧的复选标记来接受答案。
标签: julia julia-jump ijulia-notebook