To pass information between stages, you must add the information as a state variable.
See Access variables from a previous stage · SDDP.jl
You could do something like:
SDDP.LinearPolicyGraph() do sp, t
l = 3
@variable(sp, y_state[1:l], SDDP.State, Bin, initial_value = 0)
@constraint(sp, [i in 2:l], y_state[i].out == y_state[i-1].in)
@constraint(sp, sum(y_state[i].out for i in 1:l) <= 1)
y_t = y_state[1].out
end
is there some “library” of common (I assume) modeling motifs like this that are used across SDDP (or these sequential decision problems in general)?
Nope. I’ve put some effort into the documentation at https://sddp.dev, but it leaves a lot to be desired.