  This is a computational study of bottlenecks on algebraic varieties. The
bottlenecks of a smooth variety $X \subseteq \mathbb{C}^n$ are the lines in
$\mathbb{C}^n$ which are normal to $X$ at two distinct points. The main result
is a numerical homotopy that can be used to approximate all isolated
bottlenecks. This homotopy has the optimal number of paths under certain
genericity assumptions. In the process we prove bounds on the number of
bottlenecks in terms of the Euclidean distance degree. Applications include the
optimization problem of computing the distance between two real varieties.
Also, computing bottlenecks may be seen as part of the problem of computing the
reach of a smooth real variety and efficient methods to compute the reach are
still to be developed. Relations to triangulation of real varieties and meshing
algorithms used in computer graphics are discussed in the paper. The resulting
algorithms have been implemented with Bertini and Macaulay2.
