SMS dit: Nonlinear programming: theory and algorithms