Skip to main content
Log in

A novel parallel combinatorial algorithm for multiparametric programming

  • Research Article
  • Published:
Optimization and Engineering Aims and scope Submit manuscript

Abstract

Multiparametric programming and control has received a lot of attention in the past twenty years with significant advances reported in the open literature. Most existing algorithms for multiparametric programming typically suffer from a computational slowdown with respect to the number of parameters, constraints and variables resulting from the large expansion of active set combinations that must be considered. In this work, we present a novel parallel combinatorial algorithm for the solution of multiparametric Quadratic programs (mpQP) and multiparametric Linear Programs (mpLP) (i), generating better exploration rules that greatly reduces the number of active set combinations that must be considered and (ii) a high-performance parallelization scheme for this algorithm that scales well with the number of cores. The proposed algorithm is validated on numerous computational examples, including scaling analysis of the parallel algorithm up to 48 CPU cores and generating optimal Pareto fronts for the Markowitz Portfolio Selection Problem. In large problem instances, speedups of over a factor of 500 are observed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Algorithm 1
Algorithm 2
Algorithm 3
Algorithm 4
Algorithm 5
Algorithm 6
Algorithm 7
Algorithm 8
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  • Akbari A, Barton PI (2018) An improved multi-parametric programming algorithm for flux balance analysis of metabolic networks. J Optim Theory Appl 178(2):502–537

    Article  MathSciNet  MATH  Google Scholar 

  • Avraamidou S, Pistikopoulos EN (2019) B-pop: Bi-level parametric optimization toolbox. Comput Chem Eng 122:193–202. https://doi.org/10.1016/j.compchemeng.2018.07.007

    Article  Google Scholar 

  • Avraamidou S, Pistikopoulos E (2022) Multi-level Mixed-Integer Optimization: Parametric Programming Approach. De Gruyter, Berlin, Boston. https://doi.org/10.1515/9783110760316

  • Bemporad A, Morari M, Dua V, Pistikopoulos EN (2002) The explicit linear quadratic regulator for constrained systems. Automatica 38(1):3–20. https://doi.org/10.1016/S0005-1098(01)00174-1

    Article  MathSciNet  MATH  Google Scholar 

  • Bemporad A, Morari M, Dua V, Pistikopoulos EN (2000) The explicit solution of model predictive control via multiparametric quadratic programming. In: Proceedings of the 2000 American control conference. ACC (IEEE Cat. No.00CH36334), vol. 2, pp. 872–8762. https://doi.org/10.1109/ACC.2000.876624

  • Borrelli F, Bemporad A, Morari M (2003) Geometric algorithm for multiparametric linear programming. J Optim Theory Appl 118(3):515–540

    Article  MathSciNet  MATH  Google Scholar 

  • Burnak B, Diangelakis NA, Katz J, Pistikopoulos EN (2019) Integrated process design, scheduling, and control using multiparametric programming. Comput Chem Eng 125:164–184. https://doi.org/10.1016/j.compchemeng.2019.03.004

    Article  Google Scholar 

  • Burnak B, Katz J, Pistikopoulos EN (2021) A space exploration algorithm for multiparametric programming via delaunay triangulation. Optim Eng 22(1):555–579

    Article  MathSciNet  MATH  Google Scholar 

  • Charitopoulos VM, Papageorgiou LG, Dua V (2019) Closed-loop integration of planning, scheduling and multi-parametric nonlinear control. Comput Chem Eng 122:172–192. https://doi.org/10.1016/j.compchemeng.2018.06.021

    Article  Google Scholar 

  • Diangelakis NA, Burnak B, Katz J, Pistikopoulos EN (2017) Process design and control optimization: a simultaneous approach by multi-parametric programming. AIChE J 63(11):4827–4846. https://doi.org/10.1002/aic.15825

    Article  Google Scholar 

  • Dua P, Doyle FJ, Pistikopoulos EN (2006) Model-based blood glucose control for type 1 diabetes via parametric programming. IEEE Trans Biomed Eng 53(8):1478–1491. https://doi.org/10.1109/TBME.2006.878075

    Article  Google Scholar 

  • Fang J, Huang C, Tang T, Wang Z (2020) Parallel programming models for heterogeneous many-cores: a comprehensive survey. CCF Trans High Perform Comput 2(4):382–400

    Article  Google Scholar 

  • Gal T, Nedoma J (1972) Multiparametric linear programming. Manage Sci 18(7):406–422

    Article  MathSciNet  MATH  Google Scholar 

  • Grancharova A, Johansen TA, Kocijan J (2004) Explicit model predictive control of gas-liquid separation plant via orthogonal search tree partitioning. Comput Chem Eng 28(12):2481–2491. https://doi.org/10.1016/j.compchemeng.2004.06.010

    Article  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  • Karmarkar N (1984) A new polynomial-time algorithm for linear programming. In: Proceedings of the sixteenth annual ACM symposium on theory of computing, pp 302–311

  • Kenefake D, Pistikopoulos EN (2022) Ppopt - multiparametric solver for explicit mpc. In: Montastruc, L., Negny, S. (eds.) 32nd European Symposium on Computer Aided Process Engineering. Computer Aided Chemical Engineering, vol. 51, pp. 1273–1278. Elsevier, Amsterdam, Netherlands. https://doi.org/10.1016/B978-0-323-95879-0.50213-7

  • Kuhn HW, Tucker AW (2014) Nonlinear programming. In: Traces and emergence of nonlinear programming, pp. 247–258. Springer, Basel

  • Markowitz H (1952) Portfolio selection. J Financ 7(1):77–91

    Google Scholar 

  • Murty KG (1980) Computational complexity of parametric linear programming. Math Program 19(1):213–219. https://doi.org/10.1007/BF01581642

    Article  MathSciNet  MATH  Google Scholar 

  • Oberdieck R, Diangelakis NA, Papathanasiou MM, Nascu I, Pistikopoulos EN (2016) Pop - parametric optimization toolbox. Ind Eng Chem Res 55:103–112

    Article  Google Scholar 

  • Oberdieck R, Diangelakis NA, Pistikopoulos EN (2017) Explicit model predictive control: a connected-graph approach. Automatica 76:103–112

    Article  MathSciNet  MATH  Google Scholar 

  • Onel M, Burnak B, Pistikopoulos EN (2020) Integrated data-driven process monitoring and explicit fault-tolerant multiparametric control. Indus Eng Chem Res 59(6):2291–2306. https://doi.org/10.1021/acs.iecr.9b04226

    Article  Google Scholar 

  • Pappas I, Avraamidou S, Katz J, Burnak B, Beykal B, Türkay M, Pistikopoulos EN (2021) Multiobjective optimization of mixed-integer linear programming problems A multiparametric optimization approach. Indus Eng Chem Res 60(23):8493–503

    Article  Google Scholar 

  • Pappas I, Diangelakis NA, Pistikopoulos EN (2021) The exact solution of multiparametric quadratically constrained quadratic programming problems. J Global Optim 79(1):59–85

    Article  MathSciNet  MATH  Google Scholar 

  • Pappas I, Diangelakis NA, Pistikopoulos EN (2021) Multiparametric/explicit nonlinear model predictive control for quadratically constrained problems. J Process Control 103:55–66

    Article  Google Scholar 

  • Pistikopoulos EN, Diangelakis NA, Oberdieck R (2020) Multi-parametric Optimization and Control. Wiley, Hoboken, New Jersey

    Book  MATH  Google Scholar 

  • Romanko O, Ghaffari-Hadigheh A, Terlaky T (2012) Multiobjective optimization via parametric optimization: Models, algorithms, and applications. In: Terlaky T, Curtis FE (eds) Modeling and optimization: theory and applications. Springer, New York, pp 77–119

    Chapter  MATH  Google Scholar 

  • Sakizlis V, Kakalis MPN, Dua V, Perkins DJ, Pistikopoulos EN (2004) Design of robust model-based controllers via parametric programming. Automatica 40(2):189–201. https://doi.org/10.1016/j.automatica.2003.08.011

    Article  MathSciNet  MATH  Google Scholar 

  • Spjøtvold J, Kerrigan EC, Jones CN, Tøndel P, Johansen TA (2006) On the facet-to-facet property of solutions to convex parametric quadratic programs. Automatica 42(12):2209–2214

    Article  MathSciNet  MATH  Google Scholar 

  • Tian Y, Pappas I, Burnak B, Katz J, Pistikopoulos EN (2021) Simultaneous design & control of a reactive distillation system-a parametric optimization & control approach. Chem Eng Sci 230:116232

    Article  Google Scholar 

  • Tso WW, Burnak B, Pistikopoulos EN (2020) Hy-pop: hyperparameter optimization of machine learning models through parametric programming. Comput Chem Eng 139:106902. https://doi.org/10.1016/j.compchemeng.2020.106902

    Article  Google Scholar 

  • Wang K, Biegler L (2022) Mpcc strategies for nonsmooth nonlinear programs. Optim Eng, 1–47

  • Xia W, Vera JC, Zuluaga LF (2020) Globally solving nonconvex quadratic programs via linear integer programming techniques. INFORMS J Comput 32(1):40–56

    Article  MathSciNet  MATH  Google Scholar 

  • Zhou Y, Spanos CJ (2016) On a class of multi-parametric quadratic programming and its applications to machine learning. In: 2016 IEEE 55th conference on decision and control (CDC), pp. 2826–2833. https://doi.org/10.1109/CDC.2016.7798690

Download references

Acknowledgements

Financial support from the DOE-CESMII Energy Efficient Operation of Air Separation Processes Project (DE-EE0007613, 4550 G WA324), and the Texas A &M Energy Institute is gratefully acknowledged. Portions of this research were conducted with the advanced computing resources provided by Texas A &M High Performance Research Computing.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Efstratios N. Pistikopolous.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Bounds on slack variables

The upper bound of a slack variable, \(s_i\), can be calculated via the LP in Eq. A1. This bound can directly be used in as the value of the big-M constraint relating to this variable \(M^{s_i}\). The lower bound can be calculated by minimizing instead.

$$\begin{aligned} \max _{x,\theta ,s}\quad \quad s_i \end{aligned}$$
(A1a)
$$\begin{aligned} \text {s.t. }\quad A_Ex&= b_E + F_E\theta \end{aligned}$$
(A1b)
$$\begin{aligned} Ax +s&= b_i + F_i\theta \end{aligned}$$
(A1c)
$$\begin{aligned} s&\ge 0 \end{aligned}$$
(A1d)
$$\begin{aligned} A_\theta \theta&\le b_\theta \end{aligned}$$
(A1e)
$$\begin{aligned} x\in \mathbb {R}^m,&\theta \in \mathbb {R}^k, s\in \mathbb {R}^t \end{aligned}$$
(A1f)

Appendix B: Feasibility of an active set

To check the feasibility of an active set combination, \(\mathcal {I}\), the LP described in Eq. B1 is solved. If this LP is feasible then the active set combination, \(\mathcal {I}\), is feasible otherwise this is infeasible. The set \(\mathcal {J}\) is the set of inactive constraints, denoting the compliment of the active set, \(\mathcal {I}^C\). This is in essence checking if the polytope generated by the active set is nonempty.

$$\begin{aligned} \min _{x,\theta }\quad \quad 0 \end{aligned}$$
(B1a)
$$\begin{aligned} \text {s.t. }\quad A_Ex&= b_E + F_E\theta \end{aligned}$$
(B1b)
$$\begin{aligned} A_ix&= b_i + F_i\theta , \quad \forall i \in \mathcal {I} \end{aligned}$$
(B1c)
$$\begin{aligned} A_jx&\le b_j + F_j\theta , \quad \forall j \in \mathcal {J} \end{aligned}$$
(B1d)
$$\begin{aligned} A_\theta \theta&\le b_\theta \end{aligned}$$
(B1e)
$$\begin{aligned} x\in \mathbb {R}^m,&\theta \in \mathbb {R}^k, \end{aligned}$$
(B1f)

Appendix C: Optimality of an active set

To check the optimality of an active set, \(\mathcal {I}\), the set \(\mathcal {J} = \mathcal {I}^C\) as in appendix section B. Then, the KKT conditions of the multiparametric program are manipulated. Firstly, given a known active set set then the slack variables associated with every constraint in the active set are by definition zero, and in addition all multipliers associated with inactive constraints must also be zero as depicted in Eq. C1. This insight removes to need to explicitly include the complimentary conditions of the pKKT conditions when evaluating the optimality any specific active set combination.

$$\begin{aligned} i \in \mathcal {I} \implies s_i = 0 \end{aligned}$$
(C1a)
$$\begin{aligned} i \notin \mathcal {I} \implies \lambda _i = 0 \end{aligned}$$
(C1b)

Variables with hats, simply refer to the rows relating the values of the active set.

$$\begin{aligned} \min _{x,\theta , \lambda ,\mu , s} \quad \quad&0 \end{aligned}$$
(C2a)
$$\begin{aligned} \text {s.t. }\quad Qx + H\theta +&c + A_E^T\mu + \hat{A}^T\lambda = 0 \end{aligned}$$
(C2b)
$$\begin{aligned} A_Ex&= b_E+F_E\theta \end{aligned}$$
(C2c)
$$\begin{aligned} \hat{A}x&= \hat{b}+\hat{F}\theta \end{aligned}$$
(C2d)
$$\begin{aligned} A_jx +s_j&= b_j + F_j\theta , \quad \forall j \in \mathcal {J} \end{aligned}$$
(C2e)
$$\begin{aligned} s_j&\ge 0, \quad \forall j \in \mathcal {J} \end{aligned}$$
(C2f)
$$\begin{aligned} \lambda _i&\ge 0, \quad \forall i \in \mathcal {I} \end{aligned}$$
(C2g)
$$\begin{aligned} A_\theta \theta&\le b_\theta \end{aligned}$$
(C2h)
$$\begin{aligned} x\in \mathbb {R}^m, \theta \in \mathbb {R}^k,&s\in \mathbb {R}^{|\mathcal {J}|}, \lambda \in \mathbb {R}^{|\mathcal {I}|}, \mu \in \mathbb {R}^t \end{aligned}$$
(C2i)

Appendix D: Constructing a critical region from an active set

Once an active set combination is checked to be both feasible and optimal, then the critical region can be constructed. Given the statonary condition and the active set, this system can be inverted and the parametric solutions can be found for mpQPs. The matrix inverse in Eq. D1b can be effectively computed by taking the block matrix inverse.

$$\begin{aligned} \begin{bmatrix} Q &{} A^T_E &{} \hat{A}^T\\ A_E &{} 0&{} 0\\ \hat{A} &{}0 &{}0\\ \end{bmatrix}\begin{bmatrix} x \\ \mu \\ \lambda \end{bmatrix}&= -\begin{bmatrix} H\\ F_E\\ \hat{F} \end{bmatrix}\theta -\begin{bmatrix} c\\ b_E\\ \hat{b} \end{bmatrix} \end{aligned}$$
(D1a)
$$\begin{aligned} \begin{bmatrix} x(\theta ) \\ \mu (\theta ) \\ \lambda (\theta ) \end{bmatrix}&= -\begin{bmatrix} Q &{} A^T_E &{} \hat{A}^T\\ A_E &{} 0&{} 0\\ \hat{A} &{}0 &{}0\\ \end{bmatrix}^{-1}\left( \begin{bmatrix} H\\ F_E\\ \hat{F} \end{bmatrix}\theta +\begin{bmatrix} c\\ b_E\\ \hat{b} \end{bmatrix}\right) \end{aligned}$$
(D1b)

In the case of mpLPs a more direct solution strategy can by used. As the number of active constraints is equal to the number of deterministic variables, and that the constraints are linearly independent, implies that a direct inversion of the gradients of the active set can be done to calculate \(x(\theta )\) and \(\lambda (\theta )\).

$$\begin{aligned} \begin{bmatrix}A_E\\ \hat{A}\end{bmatrix}x&= \begin{bmatrix}b_E \\ \hat{b}\end{bmatrix} + \begin{bmatrix}F_E\\ \hat{F}\end{bmatrix}\theta \end{aligned}$$
(D2)
$$\begin{aligned} x(\theta )&= \begin{bmatrix} A_E\\ \hat{A}\end{bmatrix}^{-1}\left( \begin{bmatrix} b_E \\ \hat{b}\end{bmatrix} + \begin{bmatrix}F_E\\ \hat{F} \end{bmatrix}\theta \right) \end{aligned}$$
(D3)
$$\begin{aligned} \begin{bmatrix}A_E\\ \hat{A}\end{bmatrix}^T\lambda&= -H\theta -c \end{aligned}$$
(D4)
$$\begin{aligned} \lambda (\theta )&= -\begin{bmatrix}A_E\\ \hat{A}\end{bmatrix}^{-T}\left( H\theta + c\right) \end{aligned}$$
(D5)

The extent of a particular critical region is based on remaining primal, dual, and parameter feasibility. This is shown in Eq. D6.

$$\begin{aligned} \text {CR} := \left\{ \theta \in \mathbb {R}^k:\quad \begin{matrix}Ax(\theta ) \le b + F\theta \\ \\ \lambda (\theta ) \ge 0 \\ \\ A_\theta \theta \le b_\theta \end{matrix}\right\} \end{aligned}$$
(D6)

Due to the affine nature of \(x(\theta )\) and \(\lambda (\theta )\) for mpQP and mpLP, the extent of a critical region is a polytope. As a post-processing step the redundant constraints of CR are removed via constraint elimination techniques.

Appendix E: Largest largest optimal active set detection

The objective of the optimization problem described in Eq. E1 gives an upper bound on the number of active constraints that can occur simultaneously at any optimal active set in the parametric space.

$$\begin{aligned} \max _{x,\theta , \lambda ,\mu , s, y} \quad \quad&\sum _i y_i \end{aligned}$$
(E1a)
$$\begin{aligned} \text {s.t. }\quad Qx + H\theta +&c + A_E^T\mu + A^T\lambda = 0 \end{aligned}$$
(E1b)
$$\begin{aligned} A_Ex&= b_E+F_E\theta \end{aligned}$$
(E1c)
$$\begin{aligned} Ax +s&= b+ F\theta \end{aligned}$$
(E1d)
$$\begin{aligned} 0\le&\lambda _i \le M^{\lambda _i}y_i \end{aligned}$$
(E1e)
$$\begin{aligned} 0\le&s_i \le M^{s_i}(1-y_i) \end{aligned}$$
(E1f)
$$\begin{aligned} A_\theta \theta&\le b_\theta \end{aligned}$$
(E1g)
$$\begin{aligned} x\in \mathbb {R}^m, \theta \in \mathbb {R}^k,&s\in \mathbb {R}^{t}, \lambda \in \mathbb {R}^{t}, \mu \in \mathbb {R}^t, y\in \{0,1\}^t \end{aligned}$$
(E1h)

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kenefake, D., Pistikopolous, E.N. A novel parallel combinatorial algorithm for multiparametric programming. Optim Eng (2023). https://doi.org/10.1007/s11081-023-09845-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11081-023-09845-5

Keywords

Navigation