Lecture 10, Constrained Optimization: Sequential Quadratic Programming