Constrained Optimization: Kuhn-Tucker conditions