A Survey of Parallel Implementations for Model Predictive Control

Model Predictive Control (MPC) has its reputation since it can handle multiple inputs and outputs with consideration to constraints. However, this comes at the cost of high computational complexity, which limits MPC to slow dynamic systems. This paper provides an overview of the available methods to accelerate the MPC process. Various parallel computing approaches using different technologies were proposed to speed up the execution of MPC, some of these approaches are focused on building dedicated hardware for MPC using field programmable arrays (FPGA), and others are focused on parallelizing MPC computation using multi-core processors (CPUs) and many-core processors (GPUs). The focus of this survey is to review the available methods for accelerating MPC process. A brief introduction to the theory of MPC is provided first followed by a description of each approach. A comparison between the different methods is presented in terms of complexity and performance followed by a valid application for each approach. Finally, this paper discusses the challenges and requirements of MPC for future applications.

[1]  Zhijun Li,et al.  Visual Servoing of Constrained Mobile Robots Based on Model Predictive Control , 2017, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[2]  Eric C. Kerrigan,et al.  Parallel move blocking Model Predictive Control , 2011, IEEE Conference on Decision and Control and European Control Conference.

[3]  John A. Nelder,et al.  A Simplex Method for Function Minimization , 1965, Comput. J..

[4]  Isak Nielsen,et al.  An O (log N) parallel algorithm for newton step computations with applications to moving horizon estimation , 2016, 2016 European Control Conference (ECC).

[5]  Marc-Alexandre Boechat,et al.  Parallel implementations of the fast gradient method for high-speed MPC , 2014 .

[6]  Qin Linlin,et al.  Modeling of greenhouse temperature-humid system and model predictive control based on switching system control , 2008 .

[7]  Stephen J. Wright,et al.  Sequential Quadratic Programming , 1999 .

[8]  Mrdjan J. Jankovic,et al.  Vehicle Powertrain Thermal Management System Using Model Predictive Control , 2016 .

[9]  Alberto Bemporad,et al.  Robust model predictive control: A survey , 1998, Robustness in Identification and Control.

[10]  Alberto Bemporad,et al.  The explicit linear quadratic regulator for constrained systems , 2003, Autom..

[11]  Torkel Glad,et al.  A Method for State and Control Constrained Linear Quadratic Control Problems , 1984 .

[12]  Xun Gong,et al.  Fast Nonlinear Model Predictive Control on FPGA Using Particle Swarm Optimization , 2016, IEEE Transactions on Industrial Electronics.

[13]  Alberto Bemporad,et al.  GPU-Accelerated Stochastic Predictive Control of Drinking Water Networks , 2016, IEEE Transactions on Control Systems Technology.

[14]  Guang Sun,et al.  Adaptive Fuzzy Predictive Control of Satellite Attitude Based on Hierarchical Fuzzy Systems , 2010, 2010 International Conference on Intelligent System Design and Engineering Application.

[15]  Alberto Bemporad,et al.  Fixed-point dual gradient projection for embedded model predictive control , 2013, 2013 European Control Conference (ECC).

[16]  nVIDIA社 CUDA Programming Guide 1.1 , 2007 .

[17]  Ion Necoara,et al.  An adaptive constraint tightening approach to linear model predictive control based on approximation algorithms for optimization , 2015 .

[18]  Sebastian Engell,et al.  Model Predictive Control Using Neural Networks [25 Years Ago] , 1995, IEEE Control Systems.

[19]  Nikolaos Ploskas,et al.  Efficient GPU-based implementations of simplex type algorithms , 2015, Appl. Math. Comput..

[20]  V. Peterka,et al.  Predictor-based self-tuning control , 1982, Autom..

[21]  Pablo Lezana,et al.  Predictive Current Control of a Voltage Source Inverter , 2004, IEEE Transactions on Industrial Electronics.

[22]  H. E. Tseng,et al.  Hybrid model predictive control application towards optimal semi-active suspension , 2006 .

[23]  Yang Gang,et al.  Acceleration of MPC using graphic processing unit , 2012, Proceedings of 2012 2nd International Conference on Computer Science and Network Technology.

[24]  Alberto Bemporad,et al.  An MPC/hybrid system approach to traction control , 2006, IEEE Transactions on Control Systems Technology.

[25]  Dianne P. O'Leary,et al.  Cholesky decomposition and linear programming on a GPU , 2006 .

[26]  Didier El Baz,et al.  Efficient Implementation of the Simplex Method on a CPU-GPU System , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[27]  Stephen P. Boyd,et al.  Fast Model Predictive Control Using Online Optimization , 2010, IEEE Transactions on Control Systems Technology.

[28]  Jaroslaw Smoczek,et al.  Particle Swarm Optimization-Based Multivariable Generalized Predictive Control for an Overhead Crane , 2017, IEEE/ASME Transactions on Mechatronics.

[29]  Daniel E. Quevedo,et al.  Predictive control in power electronics and drives: Basic concepts, theory, and methods , 2014 .

[30]  Yunong Zhang On the LVI-based primal-dual neural network for solving online linear and quadratic programming problems , 2005, Proceedings of the 2005, American Control Conference, 2005..

[31]  James B. Rawlings,et al.  Postface to “ Model Predictive Control : Theory and Design ” , 2012 .

[32]  Brett Ninness,et al.  FPGA Implementation of an Interior-Point Solution for Linear Model Predictive Control , 2011 .

[33]  Frank J. Christophersen,et al.  Controller complexity reduction for piecewise affine systems through safe region elimination , 2007, 2007 46th IEEE Conference on Decision and Control.

[34]  Tamás Keviczky,et al.  A parallel dual fast gradient method for MPC applications , 2015, 2015 54th IEEE Conference on Decision and Control (CDC).

[35]  Chih-Hung Wu,et al.  FPGA Implementation of the Interior-Point Algorithm with Applications to Collision Detection , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

[36]  Manfred Morari,et al.  Embedded Online Optimization for Model Predictive Control at Megahertz Rates , 2013, IEEE Transactions on Automatic Control.

[37]  J. Rawlings,et al.  Linear model predictive control of unstable processes , 1993 .

[38]  Manfred Morari,et al.  Optimal complexity reduction of polyhedral piecewise affine systems , 2008, Autom..

[39]  Tom Bellemans,et al.  Model predictive control for ramp metering of motorway traffic: A case study , 2006 .

[40]  Francesco Borrelli,et al.  Robust Predictive Control for semi-autonomous vehicles with an uncertain driver model , 2013, 2013 IEEE Intelligent Vehicles Symposium (IV).

[41]  S. Joe Qin,et al.  A survey of industrial model predictive control technology , 2003 .

[42]  Daniel Axehill,et al.  A dual gradient projection quadratic programming algorithm tailored for model predictive control , 2008, 2008 47th IEEE Conference on Decision and Control.

[43]  Eric C. Kerrigan,et al.  Parallel MPC for Real-Time FPGA-based Implementation , 2011 .

[44]  M. Brand,et al.  A Parallel Quadratic Programming Algorithm for Model Predictive Control , 2011 .

[45]  K. Konarczak,et al.  Hierarchical predictive control of integrated wastewater treatment systems , 2008 .

[46]  Chun-Yi Su,et al.  Vision-Based Model Predictive Control for Steering of a Nonholonomic Mobile Robot , 2016, IEEE Transactions on Control Systems Technology.

[47]  Brett Ninness,et al.  ASIC and FPGA implementation strategies for Model Predictive Control , 2009, 2009 European Control Conference (ECC).

[48]  Walter Fichter,et al.  Parallel Implementation of Constrained Nonlinear Model Predictive Controller for an FPGA-Based Onboard Flight Computer , 2011 .

[49]  Leonidas G. Bleris,et al.  A System-on-a-Chip Implementation for Embedded Real-Time Model Predictive Control , 2009, IEEE Transactions on Control Systems Technology.

[50]  Renquan Lu,et al.  Trajectory-Tracking Control of Mobile Robot Systems Incorporating Neural-Dynamic Optimized Model Predictive Approach , 2016, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[51]  Bruno Hérissé,et al.  Model Predictive Control for Autonomous Navigation Using Embedded Graphics Processing Unit , 2017 .

[52]  Peter Martini,et al.  An efficient GPU implementation of the revised simplex method , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[53]  Gary Macindoe,et al.  Hybrid Algorithms for Efficient Cholesky Decomposition and Matrix Inverse using Multicore CPUs with GPU Accelerators , 2013 .

[54]  M. G. Arnold,et al.  A synthesis preprocessor that converts implicit style Verilog into one-hot designs , 1997, Proceedings of Meeting on Verilog HDL (IVC/VIUF'97).

[55]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[56]  Knut Graichen,et al.  A synthesis strategy for nonlinear model predictive controller on FPGA , 2014, 2014 UKACC International Conference on Control (CONTROL).

[57]  John Bagterp Jørgensen,et al.  MPC Toolbox with GPU Accelerated Optimization Algorithms , 2012 .

[58]  Parisa A. Bahri,et al.  Application of Graphic Processing Unit in Model Predictive Control , 2011 .

[59]  Manfred Morari,et al.  Real-time input-constrained MPC using fast gradient methods , 2009, Proceedings of the 48h IEEE Conference on Decision and Control (CDC) held jointly with 2009 28th Chinese Control Conference.

[60]  C. R. Cutler,et al.  Dynamic matrix control¿A computer control algorithm , 1979 .

[61]  P. Wheeler,et al.  Predictive control strategies for ZCS direct converter HV power supply , 2005, 2005 European Conference on Power Electronics and Applications.

[62]  Jacek Gondzio,et al.  GPU Acceleration of the Matrix-Free Interior Point Method , 2011, PPAM.

[63]  S. Joe Qin,et al.  An Overview of Nonlinear Model Predictive Control Applications , 2000 .

[64]  Alberto Bemporad,et al.  Fixed-point constrained Model Predictive Control of spacecraft attitude , 2015, 2015 American Control Conference (ACC).

[65]  Xiaoli Chu,et al.  Neural-Dynamic Optimization-Based Model Predictive Control for Tracking and Formation of Nonholonomic Multirobot Systems , 2018, IEEE Transactions on Neural Networks and Learning Systems.

[66]  John E. Stone,et al.  OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems , 2010, Computing in Science & Engineering.

[67]  Anuradha M. Annaswamy,et al.  Parallelized model predictive control , 2013, 2013 American Control Conference.

[68]  P. Skworcow,et al.  DEVELOPMENT AND IMPLEMENTATION OF REAL-TIME MODEL PREDICTIVE CONTROL FOR A THREE-TANK CONTROL PROBLEM USING A DSPACE MULTI-PROCESSOR SYSTEM , 2012 .

[69]  L.G. Bleris,et al.  A co-processor FPGA platform for the implementation of real-time model predictive control , 2006, 2006 American Control Conference.

[70]  Walter Fichter,et al.  Method for Parallel FPGA Implementation of Nonlinear Model Predictive Control , 2012 .

[71]  Dianne P. O'Leary,et al.  IMPLEMENTING AN INTERIOR POINT METHOD FOR LINEAR PROGRAMS ON A CPU-GPU SYSTEM , 2010 .

[72]  Eduardo Camponogara,et al.  Distributed model predictive control , 2002 .

[73]  Anne C. Elster,et al.  Linear optimization on modern GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[74]  Stefano Di Cairano,et al.  Efficient Convex Optimization on GPUs for Embedded Model Predictive Control , 2017, GPGPU@PPoPP.

[75]  Jan M. Maciejowski,et al.  Embedded Model Predictive Control (MPC) using a FPGA , 2008 .