convex optimization python