Constrained Optimal Control