Automatic Generation of Explicit Quadratic Programming Solvers
Abstract
We consider a family of convex quadratic programs in which the coefficients of the linear objective term and the righthand side of the constraints are affine functions of a parameter. It is well known that the solution of such a parametrized quadratic program is a piecewise affine function of the parameter. The number of (polyhedral) regions in the solution map can grow exponentially in problem size, but when the number of regions is moderate, a so-called explicit solver is practical. Such a solver computes the coefficients of the affine functions and the linear inequalities defining the polyhedral regions offline; to solve a problem instance online it simply evaluates this explicit solution map. Potential advantages of an explicit solver over a more general purpose iterative solver can include transparency, interpretability, reliability, and speed. In this paper we describe how code generation can be used to automatically generate an explicit solver from a high level description of a parametrized quadratic program. Our method has been implemented in the open-source software CVXPYgen, which is part of CVXPY, a domain specific language for general convex optimization.
Cite
@article{arxiv.2506.11513,
title = {Automatic Generation of Explicit Quadratic Programming Solvers},
author = {Maximilian Schaller and Daniel Arnström and Alberto Bemporad and Stephen Boyd},
journal= {arXiv preprint arXiv:2506.11513},
year = {2025}
}