A Revised Mehrotra Predictor-Corrector algorithm for Model Predictive Control
Saman Cyrus, Ali Khaki Sedigh

TL;DR
This paper introduces a revised Mehrotra predictor-corrector interior-point algorithm tailored for quadratic programming in input-constrained model predictive control, significantly reducing computational time compared to standard solvers.
Contribution
A novel extension of Mehrotra's algorithm specifically designed for quadratic programming in MPC, enhancing computational efficiency for real-time applications.
Findings
The new algorithm is faster than MATLAB's solver.
It effectively handles input constraints in MPC.
Demonstrated improved computational performance in case studies.
Abstract
Input constrained Model predictive control (MPC) includes an optimization problem which should iteratively be solved at each time-instance. The well-known drawback of model predictive control is the computational cost of the optimization problem. This results in restriction of the application of MPC to systems with slow dynamics, e.g., process control systems and small-scale problems. Therefore, implementing fast numerical optimization algorithms has been a point of interest. Interior-point methods are proved to be appropriate algorithms, from computational cost point-of-vie, to solve input-constrained MPC. In this paper first a modified version of Mehrotra's predictor-corrector algorithm, a famous interior-point algorithm, is extended for quadratic programming problems and then is applied to the constrained model predictive control problems. Results show that as expected, the new…
| Mehrotra’s Predictor-Corrector Algorithm |
| for Quadratic Programming |
| Starting from an appropriate initial point |
| for |
| Set and solve the following |
| linear system for |
| Calculate |
| Calculate |
| Calculate |
| set centering parameter to |
| solve the following linear system for |
| Choose and set |
| Set |
| end for |
| Revised Predictor-Corrector Algorithm for |
| Quadratic Programming |
| Input: parameters , and the |
| safeguard parameter ; |
| Starting from an appropriate initial point |
| begin |
| while do |
| begin |
| Predictor Step |
| Solve the following linear system and compute |
| the allowable step size () |
| such that ; |
| IF then |
| Let and Stop. |
| end |
| end |
| begin |
| Corrector Step |
| IF , then let |
| end |
| IF , then solve the following linear system |
| with and compute the maximum |
| allowable such that |
| end |
| IF , then solve the following linear system |
| with as defined before and compute the maximum |
| allowable step such that |
| end |
| IF , then solve the following linear system |
| with and compute the maximum |
| allowable step size |
| such that |
| end |
| Set |
| end |
| end |
| Alg. | |||||
|---|---|---|---|---|---|
| 1 | 0.5472 | 0.6684 | 0.9543 | ||
| 2 | 0.9242 | 0.963545 | 1.0217 | ||
| 1 | 0.5358 | 0.6684 | 0.8579 | ||
| 2 | 0.9425 | 0.9635 | 0.9785 | ||
| 1 | 0.5358 | 0.7886 | 0.8051 | ||
| 2 | 0.8961 | 0.9234 | 0.8456 | ||
| 1 | 0.7489 | 0.8845 | 0.8152 | ||
| 2 | 0.9124 | 0.9232 | 0.9490 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Control Systems Optimization · Fault Detection and Control Systems · Control Systems and Identification
thm]Theorem
\note
A Revised Mehrotra Predictor-Corrector algorithm for Model Predictive Control
Saman Cyrus111S. Cyrus is with the Department of Electrical and Computer Engineering, University of Wisconsin–Madison and the Optimization Group at the Wisconsin Institute for Discovery, Madison, WI 53706, USA. Email: [email protected]
Ali Khaki Sedigh222A. Khaki Sedigh is with the Department of Electrical and Computer Engineering, K. N. Toosi University of Technology, Tehran, Iran. Email: [email protected]
Abstract
Input constrained Model predictive control (MPC) includes an optimization problem which should iteratively be solved at each time-instance. The well-known drawback of model predictive control is the computational cost of the optimization problem. This results in restriction of the application of MPC to systems with slow dynamics, e.g., process control systems and small-scale problems. Therefore, implementing fast numerical optimization algorithms has been a point of interest. Interior-point methods are proved to be appropriate algorithms, from computational cost point-of-vie, to solve input-constrained MPC. In this paper first a modified version of Mehrotra’s predictor-corrector algorithm, a famous interior-point algorithm, is extended for quadratic programming problems and then is applied to the constrained model predictive control problems. Results show that as expected, the new algorithm is faster than Matlab solver’s algorithm.
1 Introduction
Model predictive control (MPC) is a technique where prediction of the future behavior of a dynamical system and the resulting optimal control action are determined by iteratively solving an online optimization problem at each time-step. At each time interval, model predictive control computes a sequence of future variable adjustments by solving a finite horizon open-loop optimal control problem and using the first element of the input sequence as the control action for the system. Then in the next iteration, all calculations are repeated. Nowadays MPC is applied to wide range of applications from aerospace to automotive and control of chemical processes [26].
MPC has many advantages, including its ability to be applied to multivariable systems and plants where offline computations are not feasible. Another desired property of MPC is its capability to include explicit expression of state and input constraints.
In absence of constraints, the infinite-horizon optimization problem of MPC is the LQR problem. A well-known drawback of MPC is its computational cost which restricts application of MPC to systems with slow dynamics [28, 22, 36] and makes MPC inappropriate for large-scale systems [27, 20, 3]. Even for such systems, computer technology required to perform the computations is sometimes costly and also causes software certification concerns [1]. For such systems, often the optimal control problem in MPC is a convex quadratic programming [28]. Different approaches have been proposed to solve the optimization problem of MPC numerically, based on linearity or nonlinearity of the system and constraints. For example, one of the simplest cases, linear-MPC, is when constraints and the dynamical system are all linear and the optimization problem’s objective function is a quadratic function [2]. Another simple expression of MPC that makes it solvable is to use a hybrid prediction model, and as a result categorizing the optimization problem as a mixed integer quadratic program (MIQP) or a mixed-integer linear program (MILP) [1].
While in general in solving the optimization problem of MPC feedback is computed online using iterative optimization algorithms, in special cases, e.g. explicit MPC [4, 5], feedback can be computed offline. In explicit MPC, a small but dense Hessian is resulted from removing states from the constraints and the objective function. If the horizon length is shown by , number of constrained variables are described by , and number of inputs is shown with , the computational complexity for explicit MPC is , while the computational complexity of implicit MPC is shown in [28] to be where is the number of states [32]. Due to memory demand, explicit MPC cannot be used for large-scale applications [4, 1, 20, 16]. Even for small problems, solving the problem online is not always slower [36].
Increasing the speed of solving the optimization problem that we are facing with in MPC, has been a point of interest for many years. One approach is to increase the speed by parallel hardware implementation [17, 21, 35, 37]. Another approach is to increase the speed through improving numerical optimization algorithms to solve the system of equations. In the case of linear MPC, Gradient Method [14, 29, 25], interior-point methods, and active-set methods [15, 34, 6, 11, 10] are examples of numerical algorithms that are implemented to solve MPC.
Interior-point methods (IPM) [19] have been proved as an efficient way to solve large-scale quadratic programming (QP) problems which arise in MPC [34, 32]. The reason is that interior-point algorithms can be characterized by polynomial complexity and are believed to be effective in large-scale problems, and hence MPC. Many IPMs solve Karush-Kahn-Tucker (KKT) use Newton’s method [38] while inexact-IPMs do not need to solve KKT conditions [34].
From implementation point of view, interior-point methods and active-set methods are different. In contrast to active-set methods, interior-point methods cannot easily use warm-start strategies, although there are efforts to yield warm-start IPMs [9, 39, 13, 18]. See [33, 31, 32] for implementation of warm-start interior point methods in model predictive control context. Different interior-point methods are discussed in [38] and it has been resulted that the most practical IPM is Mehrotra’s Predictor-Corrector Primal-Dual interior point method [23, 38, 24].
2 Model Predictive Control
Although the methodology of all model predictive controllers share common strategy but they may be different in system’s model, objective function, and the procedure to obtain the control law. In Generalized Predictive Control (GPC) [7], the objective function is:
[TABLE]
where is the minimum costing horizon, is maximum costing horizon, is future reference trajectory, is prediction of system’s output step ahead, and are weighting sequences, is the control horizon and is the control sequence. Our goal is to make and as close as possible by defining the appropriate value for sequence.
By CARIMA (Auto-Regressive Integrated Moving Average) model, system can be defined as:
[TABLE]
where , and ,, and are
[TABLE]
By Diophantine equation, we have
[TABLE]
where is the number of steps ahead. The polynomials and can be obtained by dividing by until the remainder can be described as . Having the definitions above, GPC results the following quadratic program
[TABLE]
where
[TABLE]
and
[TABLE]
[TABLE]
Here , , and are defined as
[TABLE]
3 Modified Predictor Corrector Algorithm
In [30] it is shown that Mehrotra’s algorithm [23] has drawbacks. By a numerical example it is shown that there are cases where, in practice, Mehrotra’s algorithm performs very small steps in order to simultaneously keep the resulting points in a specific neighborhood of the central path while also maintaining the computational complexity of the algorithm polynomial. In [30] a new algorithm with safeguard on step lengths is proposed for linear programming and it is shown that the computational complexity of the resulting algorithm is polynomial-time.
If we define the problem as
[TABLE]
where is symmetric and positive semidefinite, and matrix is -by-, then KKT conditions could be written as
[TABLE]
where is the vector of slack variables and is the vector of Lagrange multipliers associated with inequality constraints. Complementarity measure is defined by
[TABLE]
The Mehrotra’s algorithm for quadratic programming problems [24] is given in Table 1.
In Table 1,
[TABLE]
and . Matrices and are defined as
[TABLE]
where and
[TABLE]
The algorithm proposed by Salahi and Terlaki[30] can be extended into the quadratic programming case and the algorithm in Table 2 is resulted. Here
[TABLE]
[TABLE]
[TABLE]
[TABLE]
and
[TABLE]
[TABLE]
[TABLE]
[TABLE]
[TABLE]
and
[TABLE]
4 Simulation
The algorithm in Table 2 is applied to the GPC problem. Different systems all including the inequality constraint ( ) are taken into account and comparison is made between the proposed algorithm and MATLAB’s optimization toolbox version 5.0 embedded algorithm for solving quadratic programming problems using ”quadprog” command which uses a reflective Newton method [8, 12].
The simulation is implemented on a computer with 3.5 GB of RAM and Intel Core2 Due Processor E7300 with clock speed 2.66 GHz. MATLAB software version 7.10.0 was used for the simulation.
Results can be seen in Table 3. Four dynamical systems with different number of poles and zeros are taken into acount. In Figure 1, the output, control sequence, and for of one of the dynamical systems is given.
5 Conclusion
In this paper we have proposed a revised version of Mehrotra’s predictor-corrector algorithm for the optimization problem of constrained-linear model predictive control. The algorithm has been developed for quadratic programming since most model predictive control algorithms solve a quadratic program to obtain the control sequence. Numerical examples show that, at least for small problems, the proposed algorithm is faster than Matlab’s algorithm for solving model predictive control problems.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] A. Alessio and A. Bemporad. A survey on explicit model predictive control. In Nonlinear model predictive control , pages 345–369. Springer, 2009.
- 2[2] A. Aswani, P. Bouffard, X. Zhang, and C. Tomlin. Practical comparison of optimization algorithms for learning-based mpc with linear models. ar Xiv preprint ar Xiv:1404.2843 , 2014.
- 3[3] A. Bemporad, M. Morari, V. Dua, and E. N. Pistikopoulos. The explicit linear quadratic regulator for constrained systems. Automatica , 38(1):3–20, 2002.
- 4[4] A. Bemporad, M. Morari, V. Dua, and E. N. Pistikopoulos. The explicit linear quadratic regulator for constrained systems. Automatica , 38(1):3–20, 2002.
- 5[5] F. Borrelli, M. Baotić, J. Pekar, and G. Stewart. On the computation of linear model predictive control laws. Automatica , 46(6):1035–1041, 2010.
- 6[6] X. Cai, M. J. Tippett, L. Xie, and J. Bao. Fast distributed mpc based on active set method. Computers & Chemical Engineering , 71:158–170, 2014.
- 7[7] D. W. Clarke, C. Mohtadi, and P. Tuffs. Generalized predictive control—part i. the basic algorithm. Automatica , 23(2):137–148, 1987.
- 8[8] T. F. Coleman and Y. Li. A reflective newton method for minimizing a quadratic function subject to bounds on some of the variables. SIAM Journal on Optimization , 6(4):1040–1058, 1996.
