Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Model predictive control
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Advanced method of process control}} '''Model predictive control''' ('''MPC''') is an advanced method of [[process control]] that is used to control a process while satisfying a set of constraints. It has been in use in the [[industrial process|process]] industries in [[chemical plant]]s and [[oil refineries]] since the 1980s. In recent years it has also been used in [[power system]] balancing models<ref>Arnold, Michèle; Andersson, Göran; "Model Predictive Control of energy storage including uncertain forecasts" https://www.pscc-central.org/uploads/tx_ethpublications/fp292.pdf</ref> and in [[power electronics]].<ref>Geyer, Tobias; ''Model predictive control of high power converters and industrial drives'', Wiley, London, {{ISBN|978-1-119-01090-6}}, Nov. 2016.</ref> Model predictive controllers rely on dynamic models of the process, most often linear [[empirical]] models obtained by [[system identification]]. The main advantage of MPC is the fact that it allows the current timeslot to be optimized, while keeping future timeslots in account. This is achieved by optimizing a finite time-horizon, but only implementing the current timeslot and then optimizing again, repeatedly, thus differing from a linear–quadratic regulator ([[Linear–quadratic regulator|LQR]]). Also MPC has the ability to anticipate future events and can take control actions accordingly. [[PID controller|PID]] controllers do not have this predictive ability. MPC is nearly universally implemented as a digital control, although there is research into achieving faster response times with specially designed analog circuitry.<ref>{{cite journal |last=Vichik |first=Sergey |last2=Borrelli |first2=Francesco |title=Solving linear and quadratic programs with an analog circuit |journal=Computers & Chemical Engineering |year=2014 |volume=70 |pages=160–171 |doi=10.1016/j.compchemeng.2014.01.011 |url=https://zenodo.org/record/896768}}</ref> [[Generalized predictive control]] (GPC) and [[dynamic matrix control]] (DMC) are classical examples of MPC.<ref name=wang /> == Overview == [[File:MPC 3x3.gif|thumb|3 state and 3 actuator multi-input multi-output MPC simulation]] The models used in MPC are generally intended to represent the behavior of complex and simple [[dynamical system]]s. The additional complexity of the MPC control algorithm is not generally needed to provide adequate control of simple systems, which are often controlled well by generic [[PID controller]]s. Common dynamic characteristics that are difficult for PID controllers include large time delays and high-order dynamics. MPC models predict the change in the [[dependent variable]]s of the modeled system that will be caused by changes in the [[independent variable]]s. In a chemical process, independent variables that can be adjusted by the controller are often either the setpoints of regulatory PID controllers (pressure, flow, temperature, etc.) or the final control element (valves, dampers, etc.). Independent variables that cannot be adjusted by the controller are used as disturbances. Dependent variables in these processes are other measurements that represent either control objectives or process constraints. MPC uses the current plant measurements, the current dynamic state of the process, the MPC models, and the process variable targets and limits to calculate future changes in the dependent variables. These changes are calculated to hold the dependent variables close to target while honoring constraints on both independent and dependent variables. The MPC typically sends out only the first change in each independent variable to be implemented, and repeats the calculation when the next change is required. While many real processes are not linear, they can often be considered to be approximately linear over a small operating range. Linear MPC approaches are used in the majority of applications with the feedback mechanism of the MPC compensating for prediction errors due to structural mismatch between the model and the process. In model predictive controllers that consist only of linear models, the [[superposition principle]] of [[linear algebra]] enables the effect of changes in multiple independent variables to be added together to predict the response of the dependent variables. This simplifies the control problem to a series of direct matrix algebra calculations that are fast and robust. When linear models are not sufficiently accurate to represent the real process nonlinearities, several approaches can be used. In some cases, the process variables can be transformed before and/or after the linear MPC model to reduce the nonlinearity. The process can be controlled with nonlinear MPC that uses a nonlinear model directly in the control application. The nonlinear model may be in the form of an empirical data fit (e.g. artificial neural networks) or a high-fidelity dynamic model based on fundamental mass and energy balances. The nonlinear model may be linearized to derive a [[Kalman filter]] or specify a model for linear MPC. An algorithmic study by El-Gherwi, Budman, and El Kamel shows that utilizing a dual-mode approach can provide significant reduction in online computations while maintaining comparative performance to a non-altered implementation. The proposed algorithm solves N [[convex optimization]] problems in parallel based on exchange of information among controllers.<ref>{{cite journal |last1=Al-Gherwi |first1=Walid |last2=Budman |first2=Hector |last3=Elkamel |first3=Ali |title=A robust distributed model predictive control based on a dual-mode approach |journal=Computers and Chemical Engineering |date=3 July 2012 |volume=50 |issue=2013 |pages=130–138 |doi=10.1016/j.compchemeng.2012.11.002 }}</ref> ===Theory behind MPC=== [[Image:MPC scheme basic.svg|thumb|A discrete MPC scheme.]] MPC is based on iterative, finite-horizon optimization of a plant model. At time <math>t</math> the current plant state is sampled and a cost minimizing control strategy is computed (via a numerical minimization algorithm) for a relatively short time horizon in the future: <math>[t,t+T]</math>. Specifically, an online or on-the-fly calculation is used to explore state trajectories that emanate from the current state and find (via the solution of [[Euler–Lagrange equation]]s) a cost-minimizing control strategy until time <math>t+T</math>. Only the first step of the control strategy is implemented, then the plant state is sampled again and the calculations are repeated starting from the new current state, yielding a new control and new predicted state path. The prediction horizon keeps being shifted forward and for this reason MPC is also called '''receding horizon control'''. Although this approach is not optimal, in practice it has given very good results. Much academic research has been done to find fast methods of solution of Euler–Lagrange type equations, to understand the global stability properties of MPC's local optimization, and in general to improve the MPC method.<ref>Nikolaou, Michael; "Model predictive controllers: A critical synthesis of theory and industrial needs", ''Advances in Chemical Engineering'', volume 26, Academic Press, 2001, pages 131-204</ref><ref>{{Cite journal |last1=Berberich |first1=Julian |last2=Kohler |first2=Johannes |last3=Muller |first3=Matthias A. |last4=Allgöwer |first4=Frank |date=2022 |title=Linear Tracking MPC for Nonlinear Systems—Part I: The Model-Based Case |url=https://ieeexplore.ieee.org/document/9756294 |journal=IEEE Transactions on Automatic Control |volume=67 |issue=9 |pages=4390–4405 |doi=10.1109/TAC.2022.3166872 |arxiv=2105.08560 |s2cid=234763155 |issn=0018-9286}}</ref> === Principles of MPC === Model predictive control is a multivariable control algorithm that uses: * an internal dynamic model of the process * a cost function ''J'' over the receding horizon * an optimization algorithm minimizing the cost function ''J'' using the control input ''u'' An example of a quadratic cost function for optimization is given by: :<math>J=\sum_{i=1}^N w_{x_i} (r_i-x_i)^2 + \sum_{i=1}^M w_{u_i} {\Delta u_i}^2</math> <!-- previous version -- J = weightCV1*(rv1 – cv1) 2 + weightCV2*(rv2 – cv2) 2 +… + weightMV1*(Δmv1) 2 + weightMV2*(Δmv2) 2 +… --> without violating constraints (low/high limits) with :<math>x_i</math>: <math>i</math><sup>th</sup> controlled variable (e.g. measured temperature) :<math>r_i</math>: <math>i</math><sup>th</sup> reference variable (e.g. required temperature) :<math>u_i</math>: <math>i</math><sup>th</sup> manipulated variable (e.g. control valve) :<math>w_{x_i}</math>: weighting coefficient reflecting the relative importance of <math>x_i</math> :<math>w_{u_i}</math>: weighting coefficient penalizing relative big changes in <math>u_i</math> etc. ==Nonlinear MPC== Nonlinear model predictive control, or NMPC, is a variant of model predictive control that is characterized by the use of nonlinear system models in the prediction. As in linear MPC, NMPC requires the iterative solution of optimal control problems on a finite prediction horizon. While these problems are convex in linear MPC, in nonlinear MPC they are not necessarily convex anymore. This poses challenges for both NMPC stability theory and numerical solution.<ref>An excellent overview of the state of the art (in 2008) is given in the proceedings of the two large international workshops on NMPC, by Zheng and Allgöwer (2000) and by Findeisen, Allgöwer, and Biegler (2006).</ref> The numerical solution of the NMPC optimal control problems is typically based on direct optimal control methods using Newton-type optimization schemes, in one of the variants: [[Shooting method|direct single shooting]], [[direct multiple shooting method]]s, or [[Collocation method|direct collocation]].<ref>{{cite journal|first=John D. |last=Hedengren |first2=Reza |last2=Asgharzadeh Shishavan |first3=Kody M. |last3=Powell |first4=Thomas F. |last4=Edgar |title=Nonlinear modeling, estimation and predictive control in APMonitor |journal=Computers & Chemical Engineering |year=2014 |volume=70 |issue=5 |pages=133–148 |doi=10.1016/j.compchemeng.2014.04.013 |s2cid=5793446 |url=https://scholarsarchive.byu.edu/facpub/1667 |url-access=subscription }}</ref> NMPC algorithms typically exploit the fact that consecutive optimal control problems are similar to each other. This allows to initialize the Newton-type solution procedure efficiently by a suitably shifted guess from the previously computed optimal solution, saving considerable amounts of computation time. The similarity of subsequent problems is even further exploited by path following algorithms (or "real-time iterations") that never attempt to iterate any optimization problem to convergence, but instead only take a few iterations towards the solution of the most current NMPC problem, before proceeding to the next one, which is suitably initialized; see, e.g.,..<ref>{{cite journal |last=Ohtsuka |first=Toshiyuki |title=A continuation/GMRES method for fast computation of nonlinear receding horizon control |journal=Automatica |year=2004 |volume=40 |issue=4 |pages=563–574 |doi=10.1016/j.automatica.2003.11.005 }}</ref> Another promising candidate for the nonlinear optimization problem is to use a randomized optimization method. Optimum solutions are found by generating random samples that satisfy the constraints in the solution space and finding the optimum one based on cost function.<ref>{{cite journal |last1=Muraleedharan |first1=Arun |title=Real-Time Implementation of Randomized Model Predictive Control for Autonomous Driving |journal=IEEE Transactions on Intelligent Vehicles |year=2022 |volume=7 |issue=1 |pages=11–20 |doi=10.1109/TIV.2021.3062730 |s2cid=233804176 |doi-access=free }}</ref> While NMPC applications have in the past been mostly used in the process and chemical industries with comparatively slow sampling rates, NMPC is being increasingly applied, with advancements in controller hardware and computational algorithms, e.g., [[preconditioning]],<ref>{{cite book |doi=10.1109/ACC.2016.7526060 |arxiv=1512.00375 |isbn=978-1-4673-8682-1 |chapter=Sparse preconditioning for model predictive control |title=2016 American Control Conference (ACC) |pages=4494–4499 |year=2016 |last1=Knyazev |first1=Andrew |last2=Malyshev |first2=Alexander |s2cid=2077492 }}</ref> to applications with high sampling rates, e.g., in the automotive industry, or even when the states are distributed in space ([[Distributed parameter system]]s).<ref>{{cite journal |first=Míriam R. |last=García |first2=Carlos |last2=Vilas |first3=Lino O. |last3=Santos |first4=Antonio A. |last4=Alonso |title=A Robust Multi-Model Predictive Controller for Distributed Parameter Systems |journal=Journal of Process Control |year=2012 |volume=22 |issue=1 |pages=60–71 |doi=10.1016/j.jprocont.2011.10.008 |url=http://www.hamilton.ie/miriam/publications/(2011)_Garcia_Vilas_Santos_Alonso_JJPC_bw.pdf }}</ref> As an application in aerospace, recently, NMPC has been used to track optimal terrain-following/avoidance trajectories in real-time.<ref>{{cite journal |first=Reza |last=Kamyar |first2=Ehsan |last2=Taheri |title=Aircraft Optimal Terrain/Threat-Based Trajectory Planning and Control |journal=Journal of Guidance, Control, and Dynamics |year=2014 |volume=37 |issue=2 |pages=466–483 |doi=10.2514/1.61339 |bibcode=2014JGCD...37..466K }}</ref> == Explicit MPC == Explicit MPC (eMPC) allows fast evaluation of the control law for some systems, in stark contrast to the online MPC. Explicit MPC is based on the [[parametric programming]] technique, where the solution to the MPC control problem formulated as optimization problem is pre-computed offline.<ref>{{Cite journal |last1=Bemporad |first1=Alberto |last2=Morari |first2=Manfred |last3=Dua |first3=Vivek |last4=Pistikopoulos |first4=Efstratios N. |title=The explicit linear quadratic regulator for constrained systems |journal=Automatica |volume=38 |issue=1 |pages=3–20 |doi=10.1016/s0005-1098(01)00174-1 |year=2002 }}</ref> This offline solution, i.e., the control law, is often in the form of a [[Piecewise linear function|piecewise affine function]] (PWA), hence the eMPC controller stores the coefficients of the PWA for each a subset (control region) of the state space, where the PWA is constant, as well as coefficients of some parametric representations of all the regions. Every region turns out to geometrically be a [[convex polytope]] for linear MPC, commonly parameterized by coefficients for its faces, requiring [[Quantization (signal processing)|quantization]] [[accuracy]] analysis.<ref>{{Cite book |doi=10.1109/CDC.2015.7402565 |arxiv=1509.02840 |isbn=978-1-4799-7886-1 |bibcode=2015arXiv150902840K |chapter=Explicit model predictive control accuracy analysis |title=2015 54th IEEE Conference on Decision and Control (CDC) |pages=2389–2394 |year=2015 |last1=Knyazev |first1=Andrew |last2=Zhu |first2=Peizhen |last3=Di Cairano |first3=Stefano |s2cid=6850073 }}</ref> Obtaining the optimal control action is then reduced to first determining the region containing the current state and second a mere evaluation of PWA using the PWA coefficients stored for all regions. If the total number of the regions is small, the implementation of the eMPC does not require significant computational resources (compared to the online MPC) and is uniquely suited to control systems with fast dynamics.<ref>{{Cite journal |last1=Klaučo |first1=Martin |last2=Kalúz |first2=Martin |last3=Kvasnica |first3=Michal |title=Real-time implementation of an explicit MPC-based reference governor for control of a magnetic levitation system |journal=Control Engineering Practice |volume=60 |pages=99–105 |doi=10.1016/j.conengprac.2017.01.001 |year=2017 }}</ref> A serious drawback of eMPC is [[exponential growth]] of the total number of the control regions with respect to some key parameters of the controlled system, e.g., the number of states, thus dramatically increasing controller memory requirements and making the first step of PWA evaluation, i.e. searching for the current control region, computationally expensive. == Robust MPC == Robust variants of model predictive control are able to account for set bounded disturbance while still ensuring state constraints are met. Some of the main approaches to robust MPC are given below. * ''Min-max MPC''. In this formulation, the optimization is performed with respect to all possible evolutions of the disturbance.<ref>{{cite journal |doi=10.1109/9.704989 |title=Min-max feedback model predictive control for constrained linear systems |journal=IEEE Transactions on Automatic Control |volume=43 |issue=8 |pages=1136–1142 |year=1998 |last1=Scokaert |first1=Pierre O. M. |last2=Mayne |first2=David Q. }}</ref> This is the optimal solution to linear robust control problems, however it carries a high computational cost. The basic idea behind the min/max MPC approach is to modify the on-line "min" optimization to a "min-max" problem, minimizing the worst case of the objective function, maximized over all possible plants from the uncertainty set.<ref>{{Cite journal |date=1996-06-01 |title=Robustness of MPC-Based Schemes for Constrained Control of Nonlinear Systems |url=https://www.sciencedirect.com/science/article/pii/S1474667017586127 |journal=IFAC Proceedings Volumes |language=en |volume=29 |issue=1 |pages=5823–5828 |doi=10.1016/S1474-6670(17)58612-7 |issn=1474-6670 |last1=Nevistić |first1=Vesna |last2=Morari |first2=Manfred |url-access=subscription }}</ref> * ''Constraint Tightening MPC''. Here the state constraints are enlarged by a given margin so that a trajectory can be guaranteed to be found under any evolution of disturbance.<ref>{{cite journal |last=Richards |first=Arthur G. |last2=How |first2=Jonathan P. |title=Robust stable model predictive control with constraint tightening |journal=Proceedings of the American Control Conference |year=2006 }}</ref> * ''Tube MPC''. This uses an independent nominal model of the system, and uses a feedback controller to ensure the actual state converges to the nominal state.<ref>{{cite journal |last=Langson |first=Wilbur |first2=Ioannis |last2=Chryssochoos |first3=Saša V. |last3=Raković |first4=David Q. |last4=Mayne |title=Robust model predictive control using tubes |journal=Automatica |year=2004 |volume=40 |issue=1 |pages=125–133 |doi=10.1016/j.automatica.2003.08.009 }}</ref> The amount of separation required from the state constraints is determined by the robust positively invariant (RPI) set, which is the set of all possible state deviations that may be introduced by disturbance with the feedback controller. * ''Multi-stage MPC''. This uses a scenario-tree formulation by approximating the uncertainty space with a set of samples and the approach is non-conservative because it takes into account that the measurement information is available at every time stage in the prediction and the decisions at every stage can be different and can act as recourse to counteract the effects of uncertainties. The drawback of the approach however is that the size of the problem grows exponentially with the number of uncertainties and the prediction horizon.<ref>{{cite journal |last1=Lucia |first1=Sergio |last2=Finkler |first2=Tiago |last3=Engell |first3=Sebastian |title=Multi-stage nonlinear model predictive control applied to a semi-batch polymerization reactor under uncertainty |journal=Journal of Process Control |date=2013 |volume=23 |issue=9 |pages=1306–1319 |doi=10.1016/j.jprocont.2013.08.008 }}</ref><ref>{{cite journal |last1=Lucia |first1=Sergio |last2=Subramanian |first2=Sankaranarayanan |last3=Limon|first3=Daniel |last4=Engell |first4=Sebastian |title=Stability properties of multi-stage nonlinear model predictive control|journal=Systems & Control Letters |date=2020 |volume=143 |issue=9 |pages=104743 |doi=10.1016/j.sysconle.2020.104743 |s2cid=225341650 }}</ref> * ''Tube-enhanced multi-stage MPC''. This approach synergizes multi-stage MPC and tube-based MPC. It provides high degrees of freedom to choose the desired trade-off between optimality and simplicity by the classification of uncertainties and the choice of control laws in the predictions.<ref>{{cite journal |last1=Subramanian |first1=Sankaranarayanan |last2=Lucia |first2=Sergio |last3=Paulen |first3=Radoslav |last4=Engell |first4=Sebastian |title=Tube-enhanced multi-stage model predictive control for flexible robust control of constrained linear systems |journal=International Journal of Robust and Nonlinear Control |date=2021 |volume=31 |issue=9 |pages=4458–4487 |doi=10.1002/rnc.5486 |arxiv=2012.14848 |s2cid=234354708 }}</ref><ref>{{cite journal |last1=Subramanian |first1=Sankaranarayanan |last2=Abdelsalam |first2=Yehia |last3=Lucia |first3=Sergio |last4=Engell |first4=Sebastian |title=Robust Tube-Enhanced Multi-Stage NMPC With Stability Guarantees |journal=IEEE Control Systems Letters |date=2022 |volume=6 |pages=1112–1117 |doi=10.1109/LCSYS.2021.3089502 |s2cid=235799791 }}</ref> ==MPC software== Commercial MPC packages are available and typically contain tools for [[model identification]] and analysis, controller design and tuning, as well as controller performance evaluation. [https://www.scribd.com/doc/16955545/MPC-CEP-Qin-Badgwell A survey of commercially available packages] has been provided by S.J. Qin and T.A. Badgwell in ''Control Engineering Practice'' 11 (2003) 733–764. Freely available open-source software packages for (nonlinear) model predictive control include among others: * [https://gitlab.kuleuven.be/meco-software/rockit Rockit] (Rapid Optimal Control kit) — a software framework to quickly prototype optimal control problems. * [https://docs.acados.org/index.html acados] — a software framework providing fast and embedded solvers for nonlinear optimal control. * [https://sourceforge.net/projects/grampc/ GRAMPC] — a nonlinear MPC framework that is suitable for dynamical systems with sampling times in the (sub)millisecond range and that allows for an efficient implementation on embedded hardware. * [https://github.com/DanielMartensson/CControl CControl] - a controll engineering linear algebra library with MPC and kalman filtering for embedded and low cost microcontrollers == MPC vs. LQR == Model predictive control and linear-quadratic regulators are both expressions of optimal control, with different schemes of setting up optimisation costs. While a model predictive controller often looks at fixed length, often graduatingly weighted sets of error functions, the linear-quadratic regulator looks at all linear system inputs and provides the transfer function that will reduce the total error across the frequency spectrum, trading off state error against input frequency. Due to these fundamental differences, LQR has better global stability properties, but MPC often has more locally optimal[?] and complex performance. The main differences between MPC and [[Linear–quadratic regulator|LQR]] are that LQR optimizes across the entire time window (horizon) whereas MPC optimizes in a receding time window,<ref name="wang">{{cite book|pages=xii|title=Model Predictive Control System Design and Implementation Using MATLAB®|last=Wang|first=Liuping|publisher=Springer Science & Business Media|year=2009}}</ref> and that with MPC a new solution is computed often whereas LQR uses the same single (optimal) solution for the whole time horizon. Therefore, MPC typically solves the optimization problem in a smaller time window than the whole horizon and hence may obtain a suboptimal solution. However, because MPC makes no assumptions about linearity, it can handle hard constraints as well as migration of a nonlinear system away from its linearized operating point, both of which are major drawbacks to LQR. This means that LQR can become weak when operating away from stable fixed points. MPC can chart a path between these fixed points, but convergence of a solution is not guaranteed, especially if thought as to the convexity and complexity of the problem space has been neglected. ==See also== * [[Control engineering]] * [[Control theory]] * [[Feed forward (control)|Feed-forward]] * [[System identification]] ==References== {{reflist}} == Further reading == * {{cite journal |last1=Kwon |first1=Wook Hyun |last2=Bruckstein |first2=Alfred M. |last3=Kailath |first3=Thomas |title=Stabilizing state feedback design via the moving horizon method |journal=International Journal of Control |volume=37 |year=1983 |pages=631–643 |doi=10.1080/00207178308932998 |issue=3 }} * {{cite journal |last1=Garcia |first1=Carlos E. |first2=David M. |last2=Prett |first3=Manfred |last3=Morari |title=Model predictive control: theory and practice |journal=Automatica |volume=25 |year= 1989 |pages=335–348 |doi=10.1016/0005-1098(89)90002-2 |issue=3 }} * {{cite journal|last=Findeisen |first=Rolf |last2=Allgöwer |first2=Frank |title=An introduction to nonlinear model predictive control |journal=Summerschool on "The Impact of Optimization in Control", Dutch Institute of Systems and Control, C. W. Scherer and J. M. Schumacher, Editors |year= 2001 |pages=3.1–3.45 }} * {{cite journal |doi=10.1109/9.57020 |title=Receding horizon control of nonlinear systems |journal=IEEE Transactions on Automatic Control |volume=35 |issue=7 |pages=814–824 |year=1990 |last1=Mayne |first1=David Q. |last2=Michalska |first2=Hannah }} * {{cite journal |last1=Mayne |first1=David Q. |last2=Rawlings |first2=James B. |last3=Rao |first3=Christopher V. |last4=Scokaert |first4=Pierre O. M. |title=Constrained model predictive control: stability and optimality |journal=Automatica |volume=36 |year=2000 |pages=789–814 |doi=10.1016/S0005-1098(99)00214-9 |issue=6 }} * {{cite book |editor1=Allgöwer, Frank |editor2=Zheng, Alex |title=Nonlinear model predictive control |series=Progress in Systems Theory |publisher=Birkhauser |volume=26 |year=2000 }} * {{cite book |last= Camacho|author2=Bordons|title= Model predictive control|publisher=Springer Verlag|year=2004}} * {{cite book |last=Findeisen |first=Rolf |last2=Allgöwer |first2=Frank |last3=Biegler |first3=Lorenz T. |title=Assessment and Future Directions of Nonlinear Model Predictive Control |series=Lecture Notes in Control and Information Sciences |publisher=Springer |volume=26 |year=2006 }} * {{cite journal |last1=Diehl |first1=Moritz M. |last2=Bock |first2=H. Georg |last3=Schlöder |first3=Johannes P. |last4=Findeisen |first4=Rolf |last5=Nagy |first5=Zoltan |last6=Allgöwer |first6=Frank |title=Real-time optimization and Nonlinear Model Predictive Control of Processes governed by differential-algebraic equations |journal=Journal of Process Control |volume=12 |year=2002 |pages=577–585 |doi=10.1016/S0959-1524(01)00023-3 |issue=4 |url=https://lirias.kuleuven.be/handle/123456789/71722 |url-access=subscription }} * Rawlings, James B.; Mayne, David Q.; and Diehl, Moritz M.; ''Model Predictive Control: Theory, Computation, and Design'' (2nd Ed.), Nob Hill Publishing, LLC, {{ISBN|978-0975937730}} (Oct. 2017) * Geyer, Tobias; ''Model predictive control of high power converters and industrial drives'', Wiley, London, {{ISBN|978-1-119-01090-6}}, Nov. 2016 ==External links== * <!-- * [http://www.ist.uni-stuttgart.de/reports/pdf/2002-1.pdf An Introduction to Nonlinear Model Predictive Control] - In this note the basic principle of NMPC is reviewed, the key advantages/disadvantages of NMPC are outlined and some of the theoretical, computational, and implementational aspects of NMPC are discussed. -->[https://web.archive.org/web/20111008140805/http://viewer.zmags.co.uk/publication/c87cd4eb?page=48#/c87cd4eb/48/ Case Study]. Lancaster Waste Water Treatment Works, optimisation by means of Model Predictive Control from Perceptive Engineering * [https://docs.acados.org/index.html acados] - Open-source framework for (nonlinear) model predictive control providing fast and embedded solvers for nonlinear optimization. (C, MATLAB and Python interface available) * [http://ifatwww.et.uni-magdeburg.de/syst/muAO-MPC/ μAO-MPC] - Open Source Software package that generates tailored code for model predictive controllers on embedded systems in highly portable C code. * [http://sourceforge.net/projects/grampc GRAMPC] - Open source software framework for embedded nonlinear model predictive control using a gradient-based augmented Lagrangian method. (Plain C code, no code generation, MATLAB interface) * [http://www.i2c2.aut.ac.nz/Resources/Software/jMPCToolbox.html jMPC Toolbox] - Open Source MATLAB Toolbox for Linear MPC. * [http://predictive-control.com/ Study on application of NMPC to superfluid cryogenics (PhD Project).] * Nonlinear Model Predictive Control Toolbox for [http://www.mathworks.com/matlabcentral/fileexchange/35825-model-predictive-control MATLAB] and [http://apmonitor.com/wiki/index.php/Main/PythonApp Python] * [http://www.mathworks.com/products/mpc/ Model Predictive Control Toolbox] from [[MathWorks]] for design and simulation of model predictive controllers in [[MATLAB]] and [[Simulink]] * [http://www.pidlab.com/en/psmpc-demo Pulse step model predictive controller - virtual simulator] * [http://apmonitor.com/wiki/index.php/Main/Control Tutorial on MPC with Excel and MATLAB Examples] * [https://gekko.readthedocs.io/en/latest/ GEKKO: Model Predictive Control in Python] [[Category:Control theory]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:ISBN
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)