English

Automatic Generation of Explicit Quadratic Programming Solvers

Optimization and Control 2025-06-24 v2

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.

Keywords

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}
}
R2 v1 2026-07-01T03:15:16.778Z