我正在将julia 0.6的代码转换为1.2。 这是旧版本:
@variable(model,use[i=eachindex(n),j=1:m],Bin)
Used = [indmax(getvalue(use[i,j])
for j=1:m) for i=eachindex(n)]
我转换为以下内容,
@variable(model,Bin)
JuMP.optimize!(model)
Used = [argmax(JuMP.value(use[i,j])
for j=1:m) for i=eachindex(n)]
但有错误:
MethodError: no method matching keys(::Base.Generator{UnitRange{Int64},getfield(Main,Symbol("##261#266")){Int64,JuMP.Containers.SparseAxisArray{VariableRef,2,Tuple{Any,Any}}}})
Closest candidates are:
keys(!Matched::Core.SimpleVector) at essentials.jl:606
keys(!Matched::Cmd) at process.jl:963
keys(!Matched::BenchmarkTools.BenchmarkGroup) at /Users/shuaiwang/.julia/packages/BenchmarkTools/7aqwe/src/groups.jl:31
...
pairs(::Base.Generator{UnitRange{Int64},Any}}}}) at abstractdict.jl:132
_findmax(::Base.Generator{UnitRange{Int64},Any}}}},::Colon) at array.jl:2068
findmax(::Base.Generator{UnitRange{Int64},Any}}}}) at array.jl:2065
argmax(::Base.Generator{UnitRange{Int64},Any}}}}) at array.jl:2153
(::getfield(Main,Symbol("##260#265")){ScenarioGraph,Any}}})(::Int64) at none:0
iterate at generator.jl:47 [inlined]
collect at array.jl:606 [inlined]