Parameter setting

Another option is:

julia> using JuMP

julia> C = ["C1", "C2"]
2-element Vector{String}:
 "C1"
 "C2"

julia> s = Dict(
           "W1" => Containers.DenseAxisArray([0 1; 2 0], ["P11", "P12"], C),
           "W2" => Containers.DenseAxisArray([3 0; 1 1], ["P21", "P22"], C),
           "W3" => Containers.DenseAxisArray([4 0; 2 1; 0 2; 2 1], ["P31", "P32", "P33", "P34"], C),
       )
Dict{String, JuMP.Containers.DenseAxisArray{Int64, 2, Tuple{Vector{String}, Vector{String}}, Tuple{JuMP.Containers._AxisLookup{Dict{String, Int64}}, JuMP.Containers._AxisLookup{Dict{String, Int64}}}}} with 3 entries:
  "W2" => 2-dimensional DenseAxisArray{Int64,2,...} with index sets:…
  "W3" => 2-dimensional DenseAxisArray{Int64,2,...} with index sets:…
  "W1" => 2-dimensional DenseAxisArray{Int64,2,...} with index sets:…

julia> s["W1"]
2-dimensional DenseAxisArray{Int64,2,...} with index sets:
    Dimension 1, ["P11", "P12"]
    Dimension 2, ["C1", "C2"]
And data, a 2×2 Matrix{Int64}:
 0  1
 2  0

julia> s["W1"]["P11", "C1"]
0

julia> s["W1"]["P12", "C1"]
2

julia> s["W3"]["P34", "C1"]
2
3 Likes