Optimization is one of the pillars of statistical learning. It plays a crucial role in the design of “intelligent” systems, such as search engines, recommender systems, and speech and image recognition software. These systems, which embody the latest advances in machine learning, have made our lives easier. Their success has created a demand for new optimization algorithms that, in addition to bei