  Convex optimization problems arising in applications often have favorable
objective functions and complicated constraints, thereby precluding first-order
methods from being immediately applicable. We describe an approach that
exchanges the roles of the objective and constraint functions, and instead
approximately solves a sequence of parametric level-set problems. A
zero-finding procedure, based on inexact function evaluations and possibly
inexact derivative information, leads to an efficient solution scheme for the
original problem. We describe the theoretical and practical properties of this
approach for a broad range of problems, including low-rank semidefinite
optimization, sparse optimization, and generalized linear models for inference.
