  In this paper we provide an introduction to the Frank-Wolfe algorithm, a
method for smooth convex optimization in the presence of (relatively)
complicated constraints. We will present the algorithm, introduce key concepts,
and establish important baseline results, such as e.g., primal and dual
convergence. We will also discuss some of its properties, present a new
adaptive step-size strategy as well as applications.
