SDDP.jl is well suited to this problem ![]()
We’re currently working on https://www.epoc.org.nz/papers/HolePhilpottDowson.pdf
You can do something like:
@variable(sp, x_cap >= 0, SDDP.State, initial_value = 0)
@variable(sp, u_gen >= 0)
@constraint(sp, c_rand, 1.0 * x_cap.in >= u_gen)
SDDP.parameterize(sp, Omega) do omega
set_normalized_coefficient(c_rand, x_cap.in, omega)
end