# Model de control predictiu

El control predictiu del model (MPC) és un mètode avançat de control de processos que s'utilitza per controlar un procés alhora que satisfà un conjunt de restriccions. S'utilitza a les indústries de procés en plantes químiques i refineries de petroli des dels anys vuitanta. En els últims anys també s'ha utilitzat en models d'equilibri de sistemes de potència i en electrònica de potència. Els controladors predictius de models es basen en models dinàmics del procés, sovint models empírics lineals obtinguts per la identificació del sistema. El principal avantatge de MPC és el fet que permet optimitzar la franja horària actual, alhora que es té en compte els intervals de temps futurs. Això s'aconsegueix optimitzant un horitzó de temps finit, però només implementant la franja horària actual i després optimitzant-lo de nou, repetidament, diferenciant així d'un regulador lineal-quadratic (LQR). També MPC té la capacitat d'anticipar esdeveniments futurs i pot prendre accions de control en conseqüència. Els controladors PID no tenen aquesta capacitat predictiva. MPC s'implementa gairebé universalment com a control digital, tot i que hi ha investigacions per aconseguir temps de resposta més ràpids amb circuits analògics especialment dissenyats.
El control predictiu generalitzat (GPC) i el control de matriu dinàmic (DMC) són exemples clàssics de MPC.

## Visió general

Els models utilitzats en MPC generalment estan pensats per representar el comportament de sistemes dinàmics complexos i simples. La complexitat addicional de l'algoritme de control MPC no és generalment necessària per proporcionar un control adequat de sistemes simples, que sovint estan ben controlats per controladors PID genèrics. Les característiques dinàmiques comunes que són difícils per als controladors PID inclouen grans retards de temps i dinàmiques d'ordre elevat.
Els models MPC prediuen el canvi en les variables dependents del sistema modelat que serà causat pels canvis en les variables independents. En un procés químic, les variables independents que poden ser ajustades pel controlador són sovint els punts de consigna dels controladors PID reguladors (pressió, cabal, temperatura, etc.) o l'element de control final (vàlvules, amortidors, etc.). Les variables independents que no es poden ajustar pel controlador s'utilitzen com a pertorbacions. Les variables dependents d'aquests processos són altres mesures que representen objectius de control o limitacions del procés.
MPC utilitza les mesures actuals de la planta, l'estat dinàmic actual del procés, els models MPC i els objectius i límits de la variable de procés per calcular els canvis futurs en les variables dependents. Aquests canvis es calculen per mantenir les variables dependents a prop de l'objectiu alhora que respecta les restriccions tant de variables independents com de dependents. El MPC sol enviar només el primer canvi de cada variable independent que s'ha d'implementar i repeteix el càlcul quan cal el següent canvi.
Tot i que molts processos reals no són lineals, sovint es poden considerar aproximadament lineals en un rang de funcionament petit. Els enfocaments MPC lineals s'utilitzen en la majoria d'aplicacions amb el mecanisme de retroalimentació de l'MPC que compensa els errors de predicció a causa del desajust estructural entre el model i el procés. En els controladors predictius de models que consisteixen només en models lineals, el principi de superposició de l'àlgebra lineal permet sumar l'efecte dels canvis en múltiples variables independents per predir la resposta de les variables dependents. Això simplifica el problema de control a una sèrie de càlculs directes d'àlgebra matricial que són ràpids i robusts.
Quan els models lineals no són prou precisos per representar les no linealitats del procés real, es poden utilitzar diversos enfocaments. En alguns casos, les variables del procés es poden transformar abans i/o després del model MPC lineal per reduir la no linealitat. El procés es pot controlar amb MPC no lineal que utilitza un model no lineal directament a l'aplicació de control. El model no lineal pot tenir la forma d'un ajust de dades empíriques (per exemple, xarxes neuronals artificials) o un model dinàmic d'alta fidelitat basat en balanços fonamentals de massa i energia. El model no lineal es pot linealitzar per derivar un filtre de Kalman o especificar un model per a MPC lineal.
Un estudi algorítmic d'El-Gherwi, Budman i El Kamel mostra que l'ús d'un enfocament de mode dual pot proporcionar una reducció significativa dels càlculs en línia alhora que es manté el rendiment comparatiu amb una implementació no alterada. L'algorisme proposat resol N problemes d'optimització convexs en paral·lel a partir de l'intercanvi d'informació entre controladors.

### Teoria darrere de MPC

MPC es basa en l'optimització iterativa d'horitzó finit d'un model de planta. A l'hora $t$ es mostra l'estat actual de la planta i es calcula una estratègia de control de minimització de costos (mitjançant un algorisme de minimització numèrica) per a un horitzó de temps relativament curt en el futur: $[t,t+T]$. Concretament, s'utilitza un càlcul en línia o sobre la marxa per explorar trajectòries d'estat que emanen de l'estat actual i trobar (mitjançant la solució d'equacions d'Euler-Lagrange) una estratègia de control que minimitzi els costos fins al moment. $t+T$. Només s'implementa el primer pas de l'estratègia de control, després es torna a mostrejar l'estat de la planta i es repeteixen els càlculs a partir del nou estat actual, donant lloc a un nou control i un nou camí d'estat previst. L'horitzó de predicció es continua desplaçant cap endavant i per aquest motiu MPC també s'anomena control de l'horitzó en retrocés. Tot i que aquest enfocament no és òptim, a la pràctica ha donat molt bons resultats. S'ha fet molta investigació acadèmica per trobar mètodes ràpids de solució d'equacions de tipus Euler-Lagrange, per entendre les propietats d'estabilitat global de l'optimització local de MPC i, en general, per millorar el mètode MPC.

### Principis de MPC

El control predictiu del model és un algorisme de control multivariable que utilitza:
* un model dinàmic intern del procés
* una funció de cost J sobre l'horitzó en retrocés
* un algorisme d'optimització que minimitza la funció de cost J utilitzant l'entrada de control u
Un exemple de funció de cost quadràtica per a l'optimització ve donat per:
$J=\sum _{i=1}^{N}w_{x_{i}}(r_{i}-x_{i})^{2}+\sum _{i=1}^{M}w_{u_{i}}{\Delta u_{i}}^{2}$
sense violar les restriccions (límits baixos/alts) amb
    $x_{i}$ : $i$ $^ª$ variable controlada (per exemple, temperatura mesurada)
    $r_{i}$ : $i$ $^{variable}$ de referència (per exemple, temperatura requerida)
    $u_{i}$ : $i$ $^ª$ variable manipulada (p. ex. vàlvula de control)
    $w_{x_{i}}$ : coeficient de ponderació que reflecteix la importància relativa de $x_{i}$
    $w_{u_{i}}$ : coeficient de ponderació que penalitza els grans canvis relatius $u_{i}$

## Referències

* ↑ Vichik, Sergey; Borrelli, Francesco Computers & Chemical Engineering, 70, 2014, pàg. 160–171. DOI: 10.1016/j.compchemeng.2014.01.011.
* ↑ Wang, Liuping. Model Predictive Control System Design and Implementation Using MATLAB® (en anglès). Springer Science & Business Media, 2009, p. xii.
* ↑ Al-Gherwi, Walid; Budman, Hector; Elkamel, Ali Computers and Chemical Engineering, 50, 2013, 03-07-2012, pàg. 130–138. DOI: 10.1016/j.compchemeng.2012.11.002.
* ↑ Berberich, Julian; Kohler, Johannes; Muller, Matthias A.; Allgöwer, Frank IEEE Transactions on Automatic Control, 67, 9, 2022, pàg. 4390–4405. arXiv: 2105.08560. DOI: 10.1109/TAC.2022.3166872. ISSN: 0018-9286.