  We present a proximal augmented Lagrangian based solver for general convex
quadratic programs (QPs), relying on semismooth Newton iterations with exact
line search to solve the inner subproblems. The exact line search reduces in
this case to finding the zero of a one-dimensional monotone, piecewise affine
function and can be carried out very efficiently. Our algorithm requires the
solution of a linear system at every iteration, but as the matrix to be
factorized depends on the active constraints, efficient sparse factorization
updates can be employed like in active-set methods. Both primal and dual
residuals can be enforced down to strict tolerances and otherwise infeasibility
can be detected from intermediate iterates. A C implementation of the proposed
algorithm is tested and benchmarked against other state-of-the-art QP solvers
for a large variety of problem data and shown to compare favorably against
these solvers.
