Table of Contents
Fetching ...

EIQP: Execution-time-certified and Infeasibility-detecting QP Solver

Liang Wu, Wei Xiao, Richard D. Braatz

TL;DR

EIQP introduces an execution-time-certified solver for convex QP (including LP) by recasting KKT/LCP conditions into a homogeneous LCP (HLCP). An infeasible full Newton interior-point method is developed, achieving the best $O(\sqrt{n})$ iteration complexity with an exact, data-independent bound $\mathcal{N}=\left\lceil\frac{\log\frac{n+1}{\epsilon}}{-\log\left(1-\frac{0.414213}{\sqrt{n+1}}\right)}\right\rceil$, and it can detect infeasibility within the certificate time. The approach uses a scaling strategy and a simple initialization to ensure the initial gap and residual are problem-dimension dependent, enabling a deterministic execution time when solved with direct Newton steps. Numerical experiments demonstrate robust infeasibility detection and substantial speedups in real-time MPC and CLF-HOCBF-QP applications, underscoring its practical impact for safety-critical real-time control. The method is implemented as a standalone C file with MATLAB/Julia/Python interfaces and is publicly available on GitHub.

Abstract

Solving real-time quadratic programming (QP) is a ubiquitous task in control engineering, such as in model predictive control and control barrier function-based QP. In such real-time scenarios, certifying that the employed QP algorithm can either return a solution within a predefined level of optimality or detect QP infeasibility before the predefined sampling time is a pressing requirement. This article considers convex QP (including linear programming) and adopts its homogeneous formulation to achieve infeasibility detection. Exploiting this homogeneous formulation, this article proposes a novel infeasible interior-point method (IPM) algorithm with the best theoretical $O(\sqrt{n})$ iteration complexity that feasible IPM algorithms enjoy. The iteration complexity is proved to be \textit{exact} (rather than an upper bound), \textit{simple to calculate}, and \textit{data independent}, with the value $\left\lceil\frac{\log(\frac{n+1}ε)}{-\log(1-\frac{0.414213}{\sqrt{n+1}})}\right\rceil$ (where $n$ and $ε$ denote the number of constraints and the predefined optimality level, respectively), making it appealing to certify the execution time of online time-varying convex QPs. The proposed algorithm is simple to implement without requiring a line search procedure (uses the full Newton step), and its C-code implementation (offering MATLAB, Julia, and Python interfaces) and numerical examples are publicly available at https://github.com/liangwu2019/EIQP.

EIQP: Execution-time-certified and Infeasibility-detecting QP Solver

TL;DR

EIQP introduces an execution-time-certified solver for convex QP (including LP) by recasting KKT/LCP conditions into a homogeneous LCP (HLCP). An infeasible full Newton interior-point method is developed, achieving the best iteration complexity with an exact, data-independent bound , and it can detect infeasibility within the certificate time. The approach uses a scaling strategy and a simple initialization to ensure the initial gap and residual are problem-dimension dependent, enabling a deterministic execution time when solved with direct Newton steps. Numerical experiments demonstrate robust infeasibility detection and substantial speedups in real-time MPC and CLF-HOCBF-QP applications, underscoring its practical impact for safety-critical real-time control. The method is implemented as a standalone C file with MATLAB/Julia/Python interfaces and is publicly available on GitHub.

Abstract

Solving real-time quadratic programming (QP) is a ubiquitous task in control engineering, such as in model predictive control and control barrier function-based QP. In such real-time scenarios, certifying that the employed QP algorithm can either return a solution within a predefined level of optimality or detect QP infeasibility before the predefined sampling time is a pressing requirement. This article considers convex QP (including linear programming) and adopts its homogeneous formulation to achieve infeasibility detection. Exploiting this homogeneous formulation, this article proposes a novel infeasible interior-point method (IPM) algorithm with the best theoretical iteration complexity that feasible IPM algorithms enjoy. The iteration complexity is proved to be \textit{exact} (rather than an upper bound), \textit{simple to calculate}, and \textit{data independent}, with the value (where and denote the number of constraints and the predefined optimality level, respectively), making it appealing to certify the execution time of online time-varying convex QPs. The proposed algorithm is simple to implement without requiring a line search procedure (uses the full Newton step), and its C-code implementation (offering MATLAB, Julia, and Python interfaces) and numerical examples are publicly available at https://github.com/liangwu2019/EIQP.

Paper Structure

This paper contains 22 sections, 14 theorems, 90 equations, 3 figures, 3 tables, 2 algorithms.

Key Result

Lemma 1

Let $\Bar{z}=\mathrm{col}(z^+,z^-)$ be the minimizer of eqn_transformed_QP, then it always satisfies $z^+_i z^-_i=0, i=1,\cdots{},n_z$.

Figures (3)

  • Figure 1: Comparison of quadprog, OSQP-default, OSQP-5e5, and EIQP solvers in detecting infeasibility of random infeasible QP problems as a function of condition number of the Hessian matrix $Q$.
  • Figure 2: Closed-loop performance of AFTI-16 under the MPC prediction horizon $N_p=10$ setting and EIQP ($\epsilon=10^{-8}$).
  • Figure 3: State profiles and HOCBFs for QuadProg and EIQP. $b(\bm x(t))\geq 0$ denotes safety guarantees.

Theorems & Definitions (30)

  • Remark 1
  • Lemma 1
  • proof
  • Remark 2
  • Lemma 2
  • proof
  • Lemma 3
  • proof
  • Lemma 4
  • proof
  • ...and 20 more