在 JuMP 中获取不正确的值

Getting incorrect values in JuMP

以下代码 运行 正确。但是,当我要求结果时,其中一个变量 (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))   

最终代码为:

using JuMP, Clp
m = Model(solver = ClpSolver())

custo = [90, 120]
disponivel = [8, 6, 5]
matriz= [0.20 0.30;
     0.20 0.25;
     0.15 0.10]

@variable(m, utilizado[i=1:3] >= disponivel[i])
@variable(m, resultado[j=1:2] >= 0)

@objective(m, Min, dot(custo, resultado))
@constraint(m,  [i=1:3], sum(matriz[i,j] * resultado[j] for j=1:2) == utilizado[i])
print(m)
status = solve(m)
println("Objective value: ", getobjectivevalue(m))
println("Resultado: ", getvalue(resultado))
println("Utilizado: ", getvalue(utilizado))