Non-convex constrained optimization