  We survey optimization problems that involve the cardinality of variable
vectors in constraints or the objective function. We provide a unified
viewpoint on the general problem classes and models, and give concrete examples
from diverse application fields such as signal and image processing, portfolio
selection, or machine learning. The paper discusses general-purpose modeling
techniques and broadly applicable as well as problem-specific exact and
heuristic solution approaches. While our perspective is that of mathematical
optimization, a main goal of this work is to reach out to and build bridges
between the different communities in which cardinality optimization problems
are frequently encountered. In particular, we highlight that modern
mixed-integer programming, which is often regarded as impractical due to
commonly unsatisfactory behavior of black-box solvers applied to generic
problem formulations, can in fact produce provably high-quality or even optimal
solutions for cardinality optimization problems, even in large-scale real-world
settings. Achieving such performance typically draws on the merits of
problem-specific knowledge that may stem from different fields of application
and, e.g., shed light on structural properties of a model or its solutions, or
lead to the development of efficient heuristics; we also provide some
illustrative examples.
