The nash program: Non-convex bargaining problems