SMS dit: Nonlinear and mixed-integer optimization: fundamentals and applications