Mixed-integer nonlinear programming