An exact dynamic programming algorithm for the precedence-constrained class sequencing problem. (December 2020)