  This paper studies mean-risk portfolio optimization models using the
conditional value-at-risk (CVaR) as a risk measure. We also employ a
cardinality constraint for limiting the number of invested assets. Solving such
a cardinality-constrained mean-CVaR model is computationally challenging for
two main reasons. First, this model is formulated as a mixed-integer
optimization (MIO) problem because of the cardinality constraint, so solving it
exactly is very hard when the number of investable assets is large. Second, the
problem size depends on the number of asset return scenarios, and the
computational efficiency decreases when the number of scenarios is large. To
overcome these challenges, we propose a high-performance algorithm named the
\emph{bilevel cutting-plane algorithm} for exactly solving the
cardinality-constrained mean-CVaR portfolio optimization problem. We begin by
reformulating the problem as a bilevel optimization problem and then develop a
cutting-plane algorithm for solving the upper-level problem. To speed up
computations for cut generation, we apply to the lower-level problem another
cutting-plane algorithm for efficiently minimizing CVaR with a large number of
scenarios. Moreover, we prove the convergence properties of our bilevel
cutting-plane algorithm. Numerical experiments demonstrate that, compared with
other MIO approaches, our algorithm can provide optimal solutions to large
problem instances faster.
