# Model Predictive Control

Die modellprädiktive Regelung, zumeist Model Predictive Control (MPC) oder auch Receding Horizon Control (RHC) genannt, ist eine moderne Methode zur prädiktiven Regelung von komplexen, i. d. R. multi-variablen Prozessen.

## Funktionsweise

Bei der MPC wird ein zeitdiskretes dynamisches Modell des zu regelnden Prozesses verwendet, um das zukünftige Verhalten des Prozesses in Abhängigkeit von den Eingangssignalen zu berechnen. Dies ermöglicht die Berechnung des – im Sinne einer Gütefunktion – optimalen Eingangssignales, die zu optimalen Ausgangssignalen führen. Dabei können gleichzeitig Eingangs-, Ausgangs- und Zustandsbeschränkungen berücksichtigt werden. Während das Modellverhalten bis zu einem bestimmten Zeithorizont N prädiziert wird, wird in der Regel nur das Eingangssignal $u$ für den nächsten Zeitschritt verwendet und danach die Optimierung wiederholt. Dabei wird die Optimierung im nächsten Zeitschritt mit dem dann aktuellen (gemessenen) Zustand durchgeführt, was als eine Rückkopplung aufgefasst werden kann und die MPC im Gegensatz zu Optimalsteuerungen zu einer Regelung macht. Dies erlaubt die Berücksichtigung von Störungen, erfordert aber auch eine erhebliche Rechenleistung.
${\text{Bestimme}}\;u=\arg \min _{u}J(x(0),u)$
$\mathrm {u.d.N.} \;J(x(0),u)=\sum _{k=0}^{N}(\|x(k)\|_{Q}+\|u(k)\|_{R}),\quad x(k)\in {\mathcal {X}},\;u(k)\in {\mathcal {U}}$
Die Prozessmodelle können von verschiedener Form sein, z. B. Übertragungsfunktion oder Zustandsraumdarstellung. Neben den zumeist linearen Prozessmodellen werden gelegentlich künstliche neuronale Netze verwendet, um ein Prozessmodell zu erstellen. Diese Regler gehören dann zur Klasse der NMPC (Nonlinear Model Predictive Control), wie auch Formen von adaptiven Reglern.

## Anwendungsgebiete

Im Gegensatz zu vielen anderen modernen Regelungsverfahren wurde MPC aufgrund seiner Fähigkeit, Beschränkungen explizit zu berücksichtigen, bereits vielfach in der Industrie angewendet. MPC-Regler werden bevorzugt in verfahrenstechnischen Prozessen (auch Verbrennungsprozesse in Kraftwerken, Müllverbrennungsanlagen, Papiermaschinen, Walzwerken und Zementwerken) genutzt, in welchen klassische Regler (P-, D-, PID-Regler) und Fuzzy-Regler eine nicht ausreichende Regelgüte erlangen, und die relevanten Systemdynamiken langsam genug sind, um eine Optimierung in jedem Abtastschritt durchführen zu können. Oft dienen MPC auch als übergeordnete Regelungen für eine Basisautomatisierung, z. B. in Form einer Kaskade als Stellgröße eines PID-Reglers.
Verfahrenstechnische Prozesse werden häufig durch Prozessleitsysteme automatisiert. Der Optimierungsalgorithmus einer modellprädiktiven Regelung wird dabei i. d. R. nicht innerhalb der prozessnahen Komponenten/Controller ausgeführt, sondern in einen externen Prozessrechner implementiert, der z. B. über OPC mit dem Leitsystem kommuniziert. Dies ist mit der benötigten Rechenleistung für die Berechnung des Algorithmus und der eher geringen Rechenkapazität der prozessnahen Controller zu begründen. Die benötigte Rechenleistung ist dabei auch abhängig von der Anzahl der Ein- und Ausgänge des Prozesses. Ein Ziel ist es, MPC in die prozessnahen Komponenten zu integrieren und so Kosten für die Integration spezieller Hardware zu vermeiden. Dies ist besonders für Prozesse mit geringer Anzahl von Ein- und Ausgängen vielversprechend und sinnvoll. Neben der 'Online'-Berechnung des Algorithmus im Controller, ist ein weiterer Ansatz die Berechnung aller Lösungen eines Optimierungsproblems im Voraus eine Möglichkeit. Diese vorberechneten Ergebnisse werden dann im Controller hinterlegt und während des Betriebs durchsucht.

## Varianten

* Move Blocking
* Explicit MPC
* Minimum-Time MPC
* Infinite Horizon MPC
* Nonlinear MPC
* Robust MPC
* Economic MPC
* Multiplexed MPC