Text this: A cutting plane algorithm for problems containing convex and reverse convex constraints /