DAQP is a dual active-set solver designed for convex quadratic programs (QPs), including mixed-integer QPs (MIQPs) and hierarchical QPs (HQPs). Written in C and library-free, it provides high-performance interfaces for Python, Julia, and MATLAB. It excels at solving small to medium-scale, dense QP and LP problems, particularly those arising in real-time Model Predictive Control (MPC) applications. The current version is 0.8.5, with frequent releases addressing improvements and bug fixes.
pip install daqpVerified import paths — ran on the pinned version, not inferred.
This example demonstrates how to define and solve a basic quadratic programming problem using the `daqp.solve` function. It minimizes `0.5*x'*H*x + f'*x` subject to `bl <= A*x <= bu` and optional box constraints on `x`. The solution `x` and objective value `fval` are extracted from the result object.
Review your code for any direct C API calls from Python or explicit binary constraint definitions and update to use the new Cython-based API and 'sense' flags for binary constraints if applicable.
Assess the scale and sparsity of your QP problems. For large-scale or sparse problems, evaluate alternative QP solvers designed to exploit sparsity.
Ensure that your input Hessian `H` is already symmetric, or that the symmetrization `0.5 * (H + H.T)` is acceptable for your problem formulation. If not, consider explicitly symmetrizing `H` before passing it to DAQP to maintain control over the matrix used by the solver.
Upgrade to DAQP v0.8.1 or later to utilize warm-starting capabilities (by providing initial primal/dual iterates) and to enforce a wall-clock time limit for the solver.
No dependency data recorded yet.