Dynamic Programming Approach to Unit Commitment | Synapse