  A mixed-integer convex (MI-convex) optimization problem is one that becomes
convex when all integrality constraints are relaxed. We present a
branch-and-bound LP outer approximation algorithm for an MI-convex problem
transformed to MI-conic form. The polyhedral relaxations are refined with
$\mathcal{K}^*$ cuts derived from conic certificates for continuous primal-dual
conic subproblems. Under the assumption that all subproblems are well-posed,
the algorithm detects infeasibility or unboundedness or returns an optimal
solution in finite time. Using properties of the conic certificates, we show
that the $\mathcal{K}^*$ cuts imply certain practically-relevant guarantees
about the quality of the polyhedral relaxations, and demonstrate how to
maintain helpful guarantees when the LP solver uses a positive feasibility
tolerance. We discuss how to disaggregate $\mathcal{K}^*$ cuts in order to
tighten the polyhedral relaxations and thereby improve the speed of
convergence, and propose fast heuristic methods of obtaining useful
$\mathcal{K}^*$ cuts. Our new open source MI-conic solver Pajarito
(http://github.com/JuliaOpt/Pajarito.jl) uses an external mixed-integer linear
(MILP) solver to manage the search tree and an external continuous conic solver
for subproblems. Benchmarking on a library of mixed-integer second-order cone
(MISOCP) problems, we find that Pajarito greatly outperforms Bonmin (the
leading open source alternative) and is competitive with CPLEX's specialized
MISOCP algorithm. We demonstrate the robustness of Pajarito by solving diverse
MI-conic problems involving mixtures of positive semidefinite, second-order,
and exponential cones, and provide evidence for the practical value of our
analyses and enhancements of $\mathcal{K}^*$ cuts.
