Pith. sign in

REVIEW 3 major objections 4 minor 70 references

Automatic Generation of Explicit Quadratic Programming Solvers

T0 review · 3 major / 4 minor · reviewed 2026-08-07 · deepseek-v4-flash

Pith's one-line read Parametric convex QPs written in a high-level modeling language can be compiled into explicit lookup-table solvers that evaluate the piecewise affine solution map in constant time, with sub-microsecond solve times.

desk verdict A genuine integration of CVXPYgen and PDAQP that fills a real gap, but the paper needs to validate correctness on its own application examples before the microsecond speed claims carry full weight. read the letter →

arxiv 2506.11513 v2 pith:X6N7BID7 submitted 2025-06-13 math.OC

classification math.OC MSC 90C2090C31
keywords explicitquadraticprogrammingmultiparametricpiecewiseaffinesolutionmapcodegenerationparametricconvexoptimizationembeddedlookup-tablesolvermodelpredictivecontrol
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

The paper claims that a user who writes a parametric convex optimization problem once in a high-level modeling language can compile it into an explicit solver that evaluates the solution map directly, instead of running an iterative algorithm at each query. The paper adapts the open-source code generator CVXPYgen to work with the multiparametric quadratic programming solver PDAQP, producing C and C++ code that stores the piecewise affine solution map computed offline and evaluates it online by region lookup. On four representative problems, the generated explicit solvers report solve times at or below one microsecond, roughly three orders of magnitude faster than calling the modeling language with its default iterative solver. The practical payoff is that small parametric QPs can be solved with predictable, division-free, constant-time evaluations suitable for embedded or real-time use.

What carries the argument

The central object is the explicit piecewise affine solution map of the parametric QP, derived from the KKT system $\begin{pmatrix}P & \tilde A^T\\ \tilde A & 0\end{pmatrix}\begin{pmatrix}x\\ \tilde\lambda\end{pmatrix}=\begin{pmatrix}-q\\ \tilde b\end{pmatrix}$. Inverting this system shows that a fixed active set determines an affine solution, and the inequality defining the critical region gives the polyhedron of parameter values where that affine function is optimal. The paper couples this classical map with two machinery pieces: PDAQP, which enumerates nonempty regions offline with a binary search tree for online region lookup, and CVXPYgen's DPP-based canonicalization, whose parameter canonicalization and solution retrieval are asserted to be affine mappings $\theta=C\theta_{\mathrm{user}}+c$ and $x_{\mathrm{user}}=Rx+r$. The identity that carries the argument is the transfer of the piecewise affine map from canonical variables back to user variables through these affine mappings.

What would settle it

Generate an explicit solver for a DPP-compliant parametric QP, sample hundreds of random parameter values, and compare the returned primal-dual solution and objective against an independent high-accuracy iterative solver; any mismatch beyond numerical tolerance, or any parameter value where region lookup fails, would falsify the claim. More directly, extract the canonicalization maps $C$, $c$, $R$, $r$ for a suite of DPP problems and check algebraically that they are affine and parameter-free for every expression; a single counterexample would break the transfer step.

Watch

Extended reading notes

Core claim

For a strictly convex QP whose linear objective term and constraint right-hand side are affine functions of a parameter, the KKT conditions imply that whenever the active set is fixed the primal-dual solution is an affine function of the parameter, and the parameter values for which that active set is valid form a polyhedron. The solution map is therefore piecewise affine: $(x,\lambda)=F_k\theta+g_k$ when $H_k\theta\le j_k$, over regions $k=1,\dots,K$. The paper's contribution is to make this classical result automatic: DPP-compliant models are canonicalized through affine mappings, the multiparametric solver enumerates nonempty critical regions offline, and the generated code evaluates the map online with no division and no iterative refinement. Numerical experiments show sub-microsecond solve times on small problems, with up to three orders of magnitude speedup over iterative solving.

Load-bearing premise

The pipeline works only if canonicalization of every DPP-compliant model is an affine function of the user parameters; the paper relies on the DPP framework for this and gives no standalone proof, so if any compliant model canonicalized non-affinely the generated explicit map would not match the user's problem.

Editorial extensions

If this is right

  • A single high-level prototype can be turned into a deployable explicit solver by changing one option in code generation, without hand-coding the multiparametric solution.
  • Online evaluations involve no division and a fixed number of operations per lookup, so worst-case execution time is bounded and overflow or divide-by-zero exceptions are avoided.
  • For small problems the explicit solver is faster in practice than a cached-factorization iterative solver: measured C solve times in the four examples ranged from 0.1 to 1.0 microseconds, versus tens to hundreds of microseconds for iterative solving.
  • Generated binaries for the explicit solvers were 10 to 234 KB, comparable to or smaller than iterative code-generated binaries for the tested examples.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • I infer that this pipeline is most attractive when the number of regions is moderate but the QP is solved many times, since offline generation and compilation took 5 to 21 seconds in these examples and is amortized over many queries.
  • I infer that region count, not problem dimension, is the right complexity measure to expose to users: the 7-asset portfolio example had 127 regions and still solved in half a microsecond, while the offline enumeration is the real bottleneck.
  • I infer that the affine-canonicalization premise suggests a testable extension: instrument the canonicalizer to verify symbolically that $C$, $c$, $R$, and $r$ are parameter-free for every DPP expression, which would close the gap left by relying on the DPP framework.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

3 major / 4 minor

Summary. The paper considers convex quadratic programs whose linear objective coefficient q and constraint right-hand side b are affine functions of a parameter θ, and recalls the standard derivation of the piecewise affine (PWA) solution map from the KKT conditions. It then integrates the multiparametric QP solver PDAQP into the CVXPYgen code generator so that a user can specify a parametric QP in CVXPY, generate C/C++ code for an explicit lookup-table solver, and evaluate the PWA map (7) online. Four small application examples are presented (monotone regression, power management, model predictive control, portfolio optimization), with reported solve times, generation/compile times, and binary sizes. The central claim is that the generated explicit solvers solve in about one microsecond or less and give up to three orders of magnitude speedup over a generic iterative solver.

Significance. If the advertised behavior holds, the paper is a useful engineering contribution: it lowers the barrier to using multiparametric QP technology by combining a high-level DSL with automatic generation of deployable C code. The KKT-based derivation in Section 2 is standard and clean, the implementation is open source, and the hello-world example shows agreement with OSQP to the printed precision. The parameter-free nature of the explicit map is a genuine strength, as is the transparent reporting of region counts K and code sizes. The main reservations are experimental: correctness is validated in only one example and for one parameter value, so the speed comparisons in Section 5 are not yet backed by evidence that the generated solvers return optimal solutions for the advertised problems.

major comments (3)
  1. [§4.3, §5.1–5.4] The paper's speed claim is only meaningful if the generated explicit solver returns optimal solutions for the instances being timed, but accuracy is checked in exactly one place: the hello-world example in §4.3, and only for the single parameter value y = [0.6, 0.8, 0.2]. The application sections report only average solve times and binary sizes; Tables 1, 2, 3, and 5 contain no primal/dual residuals, objective comparisons against OSQP, or constraint-violation checks for the 100–250 generated instances. I request per-application accuracy validation over the sampled parameter sets, such as maximum objective difference relative to OSQP, maximum constraint violation, and a dual-feasibility measure, reported alongside the timing tables. Without this, the claim of 'up to three orders of magnitude speedup over an iterative solver' is not established for the problems whose speed is advertised.
  2. [§3.2] The transfer of the explicit solution map (7) from canonical coordinates back to the user's variables rests on the assertion in §3.2 that 'parameter canonicalization and solution retrieval are affine mappings,' θ = Cθuser + c and xuser = Rx + r. This property is load-bearing: if canonicalization were not affine in the user parameters, the PWA map computed in canonical coordinates could not be composed with an affine map to give the correct solution in the user's variables. The paper cites the DPP framework [AAB+19] and a web page but gives no formal statement or proof of the affine property, and the applications involve auxiliary variables, equality constraints, and parameter constraints beyond the simple hello-world case. I ask for a precise statement of the conditions under which DPP canonicalization is affine, or an empirical validation that the generated explicit solver matches OSQP over a dense or swept set of parameter values for each application.
  3. [§2.3, §5] The offline phase in §2.3 is presented as an enumeration of active sets, while the implementation section states that PDAQP finds nonempty regions one by one; the paper does not state whether the union of found regions is guaranteed to cover the feasible parameter set. The sentence in §2.3 that a θ satisfying none of the inequalities Hkθ ≤ jk means the QP is infeasible is only valid if the region search is complete. If the search is incomplete, a feasible parameter value could fall outside all stored regions and the generated solver would silently fail to produce a solution. I request an explicit statement of the completeness guarantee of the region enumeration, or a coverage check for the parameter boxes in §5.1–5.4 confirming that all sampled parameters lie in the union of the regions and that any infeasible sample is correctly identified.
minor comments (4)
  1. [§2.2] The symbol A is used both for the constraint matrix and for the set of active constraints, which makes the notation in the KKT derivation harder to follow; using a script or calligraphic letter for the active set would remove the ambiguity.
  2. [§5] All timing comparisons in Tables 1–5 are reported as single averages without standard deviations, min/max values, or numbers of repetitions; on a laptop-class machine this makes microsecond-level comparisons difficult to interpret, and I recommend reporting spread statistics and repeated-measurement details.
  3. [§4.2] The statement that cpg_update_y maps values outside the parameter limits back onto Θ is not documented in terms of whether this is projection, clipping, or an error signal; this behavior should be stated explicitly if it is part of the public interface.
  4. [§2.3] The sentence 'This shows that knowledge of the active set determines the primal and dual solutions' is true only when LICQ holds; the subsequent implementation section says LICQ is not required in practice, so the relationship between the derivation and the implemented behavior could be clarified.

Circularity Check

0 steps flagged · score 0.0 of 10

No significant circularity: the piecewise-affine solution map is derived from KKT conditions, and the cited software components are independent.

full rationale

The derivation chain in Section 2 is self-contained: starting from the KKT system (4)-(5), the paper derives that for a fixed active set the primal-dual pair is affine in the parameter theta, that the region of validity is the polyhedron (6), and hence the global solution map has the piecewise-affine form (7). These are direct linear-algebra consequences with no fitted parameters and no quantity that is defined in terms of the result being predicted. The offline region enumeration and tree search are delegated to PDAQP [AA24], and the DSL translation to CVXPYgen [SBD+22]; both are external, open-source components with independent descriptions, and the paper does not invoke them to prove the PWA law. The Section 3.2 statement that DPP gives affine parameter canonicalization and solution retrieval is the paper's stated interface premise; it is a property of the DPP framework established in prior work, not a conclusion derived from the present solver, so a failure would be a correctness bug rather than circular reasoning. The application sections measure timing and binary sizes on independently specified problem data; the speedups are empirical reports, not predictions forced by the construction. The main weakness, namely that solution accuracy is verified only on the Section 4.3 hello-world instance while Sections 5.1-5.4 report no residuals or constraint violations, is a validation gap in the central claim, not a circular step. No circularity found.

Assumptions & free parameters 0 free parameters · 5 assumptions · 0 invented entities

The method introduces no fitted free parameters; example hyperparameters (alpha, beta, gamma, weights) are problem data, not tuned to make the method work. No new physical or mathematical entities are postulated.

assumptions (5)
  • standard math The KKT conditions are necessary and sufficient for the convex QP (2).
    Used in Section 2.2 to characterize optimality; standard result for convex QP under a constraint qualification.
  • domain assumption The Hessian P is positive definite, giving a unique solution.
    Assumed in Section 2.1; implementation later relaxes to semidefinite with 'a solution'.
  • domain assumption LICQ holds for each active set considered.
    Assumed in Section 2.2 for invertibility of the KKT matrix; implementation notes say LICQ is not required in practice.
  • domain assumption DPP guarantees affine parameter canonicalization and solution retrieval.
    Invoked in Section 3.2 as the bridge between user formulation and canonical QP; the paper does not prove it.
  • domain assumption The number of nonempty regions K is small enough for the explicit representation.
    Stated in the abstract and Section 2.3: explicit solvers are practical only when K is moderate; the paper limits claims to this regime.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Automatic Generation of Explicit Quadratic Programming Solvers." pith.science (2026). https://pith.science/paper/X6N7BID7

@misc{pith2026250611513,
  author       = {Pith},
  title        = {Pith review of: Automatic Generation of Explicit Quadratic Programming Solvers},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/X6N7BID7}},
  note         = {Machine review of arXiv:2506.11513}
}
read the original 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.

Figures

Figures reproduced from arXiv: 2506.11513 by the authors.

Figure 1
Figure 1. Code generation for explicitly solving a parametric QP. and a canonical form (that of PDAQP in this case) for explicitly solving QPs. Open source code and full documentation for CVXPYgen and its explicit solve feature is available at https://github.com/cvxgrp/cvxpygen. Disciplined parametrized programming. We require the QP to be modeled in CVXPY using disciplined parametrized programming (DPP) [AAB+19]. The DPP rul… view at source ↗
Figure 2
Figure 2. Generating an explicit solver with CVXPYgen. 4 Hello world Here we present a simple example to illustrate how explicit solver code generation works. Consider the parametric QP minimize ∥Xβ + v1 − y∥ 2 2 subject to β ≥ 0, (8) where β ∈ R d and v ∈ R are the variables, θ user = y ∈ R p is the parameter with Θuser = {y | l ≤ y ≤ u}, and 1 denotes the vector with all entries one. The bounds l ∈ R p and u ∈ R p and the m… view at source ↗
Figure 3
Figure 3. Using the explicit solver [PITH_FULL_IMAGE:figures/full_fig_p012_3.png] view at source ↗
Figures from the paper (2 more)
Figure 4
Figure 4. Figure 4: Data structure of explicit solver result. 13 [PITH_FULL_IMAGE:figures/full_fig_p013_4.png]
Figure 5
Figure 5. Figure 5: Using the explicit solver in CVXPY. 14 [PITH_FULL_IMAGE:figures/full_fig_p014_5.png]

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

70 extracted references · 59 canonical work pages

  1. [1]

    Arnström and D

    D. Arnström and D. Axehill. A high-performant multi-parametric quadratic programming solver. In 2024 IEEE 63rd Conference on Decision and Control (CDC) , pages 303--308, 2024

  2. [2]

    Agrawal, B

    A. Agrawal, B. Amos, S. Barratt, S. Boyd, S. Diamond, and Z. Kolter. Differentiable convex optimization layers. In Advances in Neural Information Processing Systems (NeurIPS) , volume 32, 2019

  3. [3]

    Arnstr \"o m, D

    D. Arnstr \"o m, D. Broman, and D. Axehill. Exact worst-case execution-time analysis for implicit model predictive control. IEEE Transactions on Automatic Control , 69(10):7190--7196, 2024

  4. [4]

    Agrawal, R

    A. Agrawal, R. Verschueren, S. Diamond, and S. Boyd. A rewriting system for convex optimization problems. Journal of Control and Decision , 5(1):42--60, 2018

  5. [5]

    Boyd and C

    S. Boyd and C. Barratt. Linear controller design: L imits of performance , volume 78. Citeseer, 1991

  6. [6]

    S. Boyd, E. Busseti, S. Diamond, R. Kahn, K. Koh, P. Nystrup, and J. Speth. Multi-period trading via convex optimization. Foundations and Trends in Optimization , 3(1):1--76, 2017

  7. [7]

    Bemporad, F

    A. Bemporad, F. Borrelli, M. Morari, et al. Model predictive control based on linear programming -- the explicit solution. IEEE transactions on automatic control , 47(12):1974--1985, 2002

  8. [8]

    Borrelli, A

    F. Borrelli, A. Bemporad, and M. Morari. Geometric algorithm for multiparametric linear programming. Journal of optimization theory and applications , 118:515--540, 2003

Show all 70 references
  1. [9]

    Borrelli, A

    F. Borrelli, A. Bemporad, and M. Morari. Predictive control for linear and hybrid systems . Cambridge University Press, 2017

  2. [10]

    Bemporad

    A. Bemporad. Hybrid Toolbox - User's Guide , 2004. http://cse.lab.imtlucca.it/ bemporad/hybrid/toolbox

  3. [11]

    Bemporad

    A. Bemporad. A multiparametric quadratic programming algorithm with polyhedral computations based on nonnegative least squares. IEEE Transactions on Automatic Control , 60(11):2892--2903, 2015

  4. [12]

    Bertsekas

    D. Bertsekas. Nonlinear Programming . Athena Scientific, 2nd edition, 1999

  5. [13]

    Bemporad and C

    A. Bemporad and C. Filippi. Suboptimal explicit receding horizon control via approximate multiparametric quadratic programming. Journal of optimization theory and applications , 117:9--38, 2003

  6. [14]

    Bemporad and C

    A. Bemporad and C. Filippi. An algorithm for approximate multiparametric convex programming. Computational optimization and applications , 35:87--108, 2006

  7. [15]

    S. Boyd, K. Johansson, R. Kahn, P. Schiele, and T. Schmelzer. Markowitz portfolio construction at seventy. Journal of Portfolio Management , 50(8):117--160, 2024. Also available at https://arxiv.org/pdf/2401.05080

  8. [16]

    Blackmore

    L. Blackmore. Autonomous precision landing of space rockets. In Frontiers of Engineering: R eports on Leading-Edge Engineering from the 2016 Symposium , volume 46, pages 15--20. The Bridge Washington, DC, 2016

  9. [17]

    Bemporad and M

    A. Bemporad and M. Morari. Robust model predictive control: A survey. In Robustness in identification and control , pages 207--226. Springer, 2007

  10. [18]

    Bemporad, M

    A. Bemporad, M. Morari, V. Dua, and E. Pistikopoulos. The explicit linear quadratic regulator for constrained systems. Automatica , 38(1):3--20, 2002

  11. [19]

    Byrne, T

    R. Byrne, T. Nguyen, D. Copp, B. Chalamala, and I. Gyuk. Energy management and optimization methods for grid energy storage systems. IEEE Access , 6:13231--13260, 2017

  12. [20]

    Bemporad, A

    A. Bemporad, A. Oliveri, T. Poggi, and M. Storace. Ultra-fast stabilizing model predictive control via canonical piecewise affine approximations. IEEE Transactions on Automatic Control , 56(12):2883--2897, 2011

  13. [21]

    Banjac, B

    G. Banjac, B. Stellato, N. Moehle, P. Goulart, A. Bemporad, and S. Boyd. Embedded code generation using the OSQP solver. In IEEE Conference on Decision and Control , pages 1906--1911. IEEE, 2017

  14. [22]

    Boyd and L

    S. Boyd and L. Vandenberghe. Convex Optimization . Cambridge University Press, 2004

  15. [23]

    Boyd and L

    S. Boyd and L. Vandenberghe. Introduction to Applied Linear Algebra: Vectors, Matrices, and Least Squares . Cambridge University Press, 2018

  16. [24]

    Chari and B

    G. Chari and B. A c kme s e. QOCO : A quadratic objective conic optimizer with custom solver generation. arXiv preprint arXiv:2503.12658 , 2025

  17. [25]

    Cimini and A

    G. Cimini and A. Bemporad. Exact complexity certification of active-set methods for quadratic programming. IEEE Transactions on Automatic Control , 62(12):6094--6109, 2017

  18. [26]

    Combettes and J

    P. Combettes and J. Pesquet. Proximal splitting methods in signal processing. Fixed-point algorithms for inverse problems in science and engineering , pages 185--212, 2011

  19. [27]

    Chambolle and T

    A. Chambolle and T. Pock. An introduction to continuous optimization for imaging. Acta Numerica , 25:161--319, 2016

  20. [28]

    Diamond and S

    S. Diamond and S. Boyd. CVXPY : A P ython-embedded modeling language for convex optimization. Journal of Machine Learning Research , 17(83):1--5, 2016

  21. [29]

    Domahidi, E

    A. Domahidi, E. Chu, and S. Boyd. ECOS : A n SOCP solver for embedded systems. In European Control Conference (ECC) , pages 3071--3076. IEEE, 2013

  22. [30]

    Dunning, J

    I. Dunning, J. Huchette, and M. Lubin. JuMP : A modeling language for mathematical optimization. SIAM Review , 59(2):295--320, 2017

  23. [31]

    Domahidi and J

    A. Domahidi and J. Jerez. FORCES P rofessional. E mbotech G mb H , 2014

  24. [32]

    A. Fiacco. Introduction to Sensitivity and Stability Analysis in Nonlinear Programming . Academic Press, London, U.K., 1983

  25. [33]

    A. Fu, B. Narasimhan, and S. Boyd. CVXR : A n R package for disciplined convex optimization. Journal of Statistical Software , 94(14):1--34, 2020

  26. [34]

    Grant and S

    M. Grant and S. Boyd. CVX : M atlab software for disciplined convex programming, version 2.1, 2014

  27. [35]

    Gupta, S

    A. Gupta, S. Bhartiya, and P. Nataraj. A novel approach to multiparametric quadratic programming. Automatica , 47(9):2112--2117, 2011

  28. [36]

    Goulart and Y

    P. Goulart and Y. Chen. Clarabel: An interior-point solver for conic programs with quadratic objectives. arXiv preprint arXiv:2405.12762 , 2024

  29. [37]

    Grinold and R

    R. Grinold and R. Kahn. Active portfolio management . McGraw Hill New York, 2000

  30. [38]

    P. Gill, W. Murray, and M. Wright. Practical optimization . SIAM, 2019

  31. [39]

    Gal and J

    T. Gal and J. Nedoma. Multiparametric linear programming. Management Science , 18(7):406--422, 1972

  32. [40]

    Garcia, D

    C. Garcia, D. Prett, and M. Morari. Model predictive control: T heory and practice -- a survey. Automatica , 25(3):335--348, 1989

  33. [41]

    Herceg, M

    M. Herceg, M. Kvasnica, C. N. Jones, and M. Morari. Multi-parametric toolbox 3.0. European Control Conference (ECC) , pages 502--510, 2013

  34. [42]

    Holzmann

    G. Holzmann. The power of 10: R ules for developing safety-critical code. Computer , 39(6):95--99, 2006

  35. [43]

    Johansen and A

    T. Johansen and A. Grancharova. Approximate explicit constrained linear model predictive control via orthogonal search tree. IEEE Transactions on Automatic Control , 58(5):810--815, 2003

  36. [44]

    Johansen, W

    T. Johansen, W. Jackson, R. Schreiber, and P. Tondel. Hardware synthesis of explicit model predictive controllers. IEEE Transactions on control systems technology , 15(1):191--197, 2006

  37. [45]

    Jones and M

    C. Jones and M. Morrari. Multiparametric linear complementarity problems. In Proceedings of the 45th IEEE Conference on Decision and Control , pages 5687--5692. IEEE, 2006

  38. [46]

    Keshavarz and S

    A. Keshavarz and S. Boyd. Quadratic approximate dynamic programming for input-affine systems. International Journal of Robust and Nonlinear Control , 24(3):432--449, 2014

  39. [47]

    Kouvaritakis and M

    B. Kouvaritakis and M. Cannon. Model Predictive Control . Springer, 2016

  40. [48]

    Kwakernaak and R

    H. Kwakernaak and R. Sivan. Linear optimal control systems . Wiley-InterScience New York, 1972

  41. [49]

    L\"ofberg

    J. L\"ofberg. YALMIP : A toolbox for modeling and optimization in Matlab . In IEEE International Conference on Robotics and Automation (ICRA) , pages 284--289. IEEE, 2004

  42. [50]

    Markowitz

    H. Markowitz. Portfolio selection. Journal of Finance , 7(1):77--91, 1952

  43. [51]

    Mattingley and S

    J. Mattingley and S. Boyd. Real-time convex optimization in signal processing. IEEE Signal Processing Magazine , 27(3):50--61, 2010

  44. [52]

    Mattingley and S

    J. Mattingley and S. Boyd. CVXGEN : A code generator for embedded convex optimization. Optimization and Engineering , 13:1--27, 2012

  45. [53]

    Mangasarian and J

    O. Mangasarian and J. Rosen. Inequalities for stochastic nonlinear programming problems. Operations Research , 12:143--154, 1964

  46. [54]

    R. Narang. Inside the Black Box: A Simple Guide to Quantitative and High-frequency Trading . John Wiley & Sons, 2013

  47. [55]

    Nnorom, G

    O. Nnorom, G. Ogut, S. Boyd, and P. Levis. Aging-aware battery control via convex optimization. arXiv preprint arXiv:2505.09030 , 2025

  48. [56]

    Nocedal and S

    J. Nocedal and S. Wright. Numerical Optimization . Springer, 2nd edition, 2006

  49. [57]

    O'Donoghue, E

    B. O'Donoghue, E. Chu, N. Parikh, and S. Boyd. Conic optimization via operator splitting and homogeneous self-dual embedding. Journal of Optimization Theory and Applications , 169(3):1042--1068, 2016

  50. [58]

    Oberdieck, N

    R. Oberdieck, N. Diangelakis, M. Papathanasiou, I. Nascu, and E. Pistikopoulos. POP -- P arametric optimization toolbox. Industrial & Engineering Chemistry Research , 55(33):8979--8991, 2016

  51. [59]

    D. Palomar. Portfolio Optimization: T heory and Application . Cambridge University Press, 2025

  52. [60]

    Patrinos and H

    P. Patrinos and H. Sarimveis. A new algorithm for solving convex parametric quadratic programs based on graphical derivatives of solution mappings. Automatica , 46(9):1405--1418, 2010

  53. [61]

    Rawlings, D

    J. Rawlings, D. Mayne, M. Diehl, et al. Model Predictive Control: Theory, Computation, and Design . Nob Hill Publishing Madison, WI, 2017

  54. [62]

    Ravera, A

    A. Ravera, A. Oliveri, M. Lodi, A. Bemporad, W. Heemels, E. Kerrigan, and M. Storace. Co-design of a controller and its digital implementation: T he MOBY-DIC2 toolbox for embedded model predictive control. IEEE Transactions on Control Systems Technology , 31(6):2871--2878, 2023

  55. [63]

    Schaller, G

    M. Schaller, G. Banjac, S. Diamond, A. Agrawal, B. Stellato, and S. Boyd. Embedded code generation with CVXPY . IEEE Control Systems Letters , 6:2653--2658, 2022

  56. [64]

    Stellato, G

    B. Stellato, G. Banjac, P. Goulart, A. Bemporad, and S. Boyd. OSQP : A n operator splitting solver for quadratic programs. Mathematical Programming Computation , 12(4):637--672, 2020

  57. [65]

    T ndel, T

    P. T ndel, T. Johansen, and A. Bemporad. An algorithm for multi-parametric quadratic programming and explicit MPC solutions. Automatica , 39(3):489--497, 2003

  58. [66]

    T ndel, T

    P. T ndel, T. Johansen, and A. Bemporad. Evaluation of piecewise affine control via binary search tree. Automatica , 39(5):945--950, 2003

  59. [67]

    Udell, K

    M. Udell, K. Mohan, D. Zeng, J. Hong, S. Diamond, and S. Boyd. Convex optimization in J ulia. In 2014 first workshop for high performance technical computing in dynamic languages , pages 18--28. IEEE, 2014

  60. [68]

    Verschueren, G

    R. Verschueren, G. Frison, D. Kouzoupis, J. Frey, N. van Duijkeren, A. Zanelli, B. Novoselnik, T. Albin, R. Quirynen, and M. Diehl. acados -- a modular open-source framework for fast embedded optimal control. Mathematical Programming Computation , pages 1--37, 2021

  61. [69]

    Wang and S

    Y. Wang and S. Boyd. Fast model predictive control using online optimization. IEEE Transactions on Control Systems Technology , 18(2):267--278, 2009

  62. [70]

    Zibulevsky and M

    M. Zibulevsky and M. Elad. L_1 - L_2 optimization in signal and image processing. IEEE Signal Processing Magazine , 27(3):76--88, 2010

Pith tools

Reviewed August 7, 2026 · model on record in the stance chip above.