【发布时间】:2018-06-11 01:42:30
【问题描述】:
以下代码运行正常。但是,当我调用结果时,其中一个变量(utilizado)返回了不正确的值,只有零。我知道我做错了什么,但我不知道在哪里。
using JuMP, Clp
m = Model(solver = ClpSolver())
@variable(m, utilizado[i=1:3] >= 0)
@variable(m, resultado[j=1:2] >= 0)
custo = [90, 120]
disponivel = [8, 6, 5]
matriz= [0.20 0.30;
0.20 0.25;
0.15 0.10]
@objective(m, Min, dot(custo, resultado))
@constraint(m, [i=1:3], sum(matriz[i,j] * resultado[j] for j=1:2) >=
disponivel[i])
print(m)
status = solve(m)
println("Objective value: ", getobjectivevalue(m))
println("Resultado: ", getvalue(resultado))
println("Resultado: ", getvalue(utilizado))
【问题讨论】:
-
utilizado既没有出现在目标中,也没有出现在约束中。这是正确的吗? -
@matb 你是对的。我没有将
utilizado分配给约束,我分配它并添加一个disponivel 作为变量的下限,它可以工作。最后的约束是:@constraint(m, [i=1:3], sum(matriz[i,j] * resultado[j] for j=1:2) == utilizado[i])和变量:@variable(m, utilizado[i=1:3] >= disponivel[i])。
标签: julia getvalue julia-jump