如何在 julia 中初始化求解器变量
How to initialize solver variable in julia
我正在尝试使用 JuMP 在 Julia 中初始化一个库存变量。在下面的代码中,您可以看到我的尝试,但不幸的是它无法正常工作。执行代码时我没有收到错误,但在我的解决方案中我发现初始库存与我的输入数据不同。
inventory_0
是一个字典:Dict{String,Dict{String,Int64}}
我做错了什么?
我创建并尝试像这样初始化变量:
@variable(m, inventory[p = periods, i = origin_stations, k = container_types] >= 0, Int)
for i in origin_stations
for k in container_types
inventory["P1",i,k] == inventory_0[i][k]
end
end
根据评论,问题似乎是使用 == 进行比较,而使用 = 用于赋值。尝试将 inventory["P1",i,k] == inventory_0[i][k]
切换为
inventory["P1",i,k] = inventory_0[i][k]
。
我能够通过将初始库存合并到约束中来解决问题。所以代码看起来像这样:
for i in origin_stations
for k in container_types
@constraint(m, inventory["P1",i,k] == inventory_0[i][k])
end
end
我正在尝试使用 JuMP 在 Julia 中初始化一个库存变量。在下面的代码中,您可以看到我的尝试,但不幸的是它无法正常工作。执行代码时我没有收到错误,但在我的解决方案中我发现初始库存与我的输入数据不同。
inventory_0
是一个字典:Dict{String,Dict{String,Int64}}
我做错了什么?
我创建并尝试像这样初始化变量:
@variable(m, inventory[p = periods, i = origin_stations, k = container_types] >= 0, Int)
for i in origin_stations
for k in container_types
inventory["P1",i,k] == inventory_0[i][k]
end
end
根据评论,问题似乎是使用 == 进行比较,而使用 = 用于赋值。尝试将 inventory["P1",i,k] == inventory_0[i][k]
切换为
inventory["P1",i,k] = inventory_0[i][k]
。
我能够通过将初始库存合并到约束中来解决问题。所以代码看起来像这样:
for i in origin_stations
for k in container_types
@constraint(m, inventory["P1",i,k] == inventory_0[i][k])
end
end