constraints, and dynamic optimization