How to add a multi-dimensional state variable
Just like normal JuMP variables, it is possible to create containers of state variables.
julia> model = SDDP.LinearPolicyGraph( stages=1, lower_bound = 0, optimizer = HiGHS.Optimizer ) do subproblem, t # A scalar state variable. @variable(subproblem, x >= 0, SDDP.State, initial_value = 0) println("Lower bound of outgoing x is: ", lower_bound(x.out)) # A vector of state variables. @variable(subproblem, y[i = 1:2] >= i, SDDP.State, initial_value = i) println("Lower bound of outgoing y[1] is: ", lower_bound(y[1].out)) # A JuMP.Containers.DenseAxisArray of state variables. @variable(subproblem, z[i = 3:4, j = [:A, :B]] >= i, SDDP.State, initial_value = i) println("Lower bound of outgoing z[3, :B] is: ", lower_bound(z[3, :B].out)) end;Lower bound of outgoing x is: 0.0Lower bound of outgoing y[1] is: 1.0Lower bound of outgoing z[3, :B] is: 3.0