LCQPow -- A Solver for Linear Complementarity Quadratic Programs
Jonas Hall, Armin Nurkanovic, Florian Messerer, Moritz Diehl
TL;DR
LCQPow addresses the challenging class of linear complementarity quadratic programs (LCQPs) by delivering an open-source, C++ solver that combines a penalty reformulation with a penalty homotopy outer loop and a sequential convex programming inner loop. The method includes an analytical globalization step, dynamic penalty updates, initialization strategies, and gradient perturbation to enhance convergence to strongly stationary points, while supporting multiple QP backends such as qpOASES and OSQP. Convergence analysis provides local guarantees, including a one-step convergence result when active sets align with a strongly stationary point and a suitably large penalty parameter. Numerical experiments on benchmarks like MacMPEC LCQP, an initial-value OCP, and moving-masses problems demonstrate competitive performance in speed and robustness, highlighting practical impact for engineering, hybrid systems, and real-time optimization tasks. The work also contributes an accessible, extensible software package that enables researchers to tailor QP solving strategies and benchmarks for LCQP contexts.
Abstract
In this paper we introduce an open-source software package written in C++ for efficiently finding solutions to quadratic programming problems with linear complementarity constraints. These problems arise in a wide range of applications in engineering and economics, and they are challenging to solve due to their structural violation of standard constraint qualifications, and highly nonconvex, nonsmooth feasible sets. This work extends a previously presented algorithm based on a sequential convex programming approach applied to a standard penalty reformulation. We examine the behavior of local convergence and introduce new algorithmic features. Competitive performance profiles are presented in comparison to state-of-the-art solvers and solution variants in both existing and new benchmarks.
