  Small-scale Mixed-Integer Quadratic Programming (MIQP) problems often arise
in embedded control and estimation applications. Driven by the need for
algorithmic simplicity to target computing platforms with limited memory and
computing resources, this paper proposes a few approaches to solving MIQPs,
either to optimality or suboptimally. We specialize an existing Accelerated
Dual Gradient Projection (GPAD) algorithm to effectively solve the Quadratic
Programming (QP) relaxation that arise during Branch and Bound (B&B) and
propose a generic framework to warm-start the binary variables which reduces
the number of QP relaxations. Moreover, in order to find an integer feasible
combination of the binary variables upfront, two heuristic approaches are
presented: ($i$) without using B&B, and ($ii$) using B&B with a significantly
reduced number of QP relaxations. Both heuristic approaches return an integer
feasible solution that may be suboptimal but involve a much reduced computation
effort. Such a feasible solution can be either implemented directly or used to
set an initial upper bound on the optimal cost in B&B. Through different hybrid
control and estimation examples involving binary decision variables, we show
that the performance of the proposed methods, although very simple to code, is
comparable to that of state-of-the-art MIQP solvers.
