# Ereduzko kontrol prediktibo

Ereduzko kontrol prediktiboa edo EKP (ingelesezko siglez MPC) prozesuen kontrolerako metodo aurreratu bat da, eta 1980ko hamarkadaz geroztik erabili du prozesuen industriak instalazio kimikoetan eta petrolio-findegietan. Azken urteetan, potentzia-sistemetarakoegonkortasun-ereduetan ere erabili izan da. Kontrol-mota horretako kontrolatzaileak prozesu horren eredu dinamikoen mende daude, eta askotan, sistemak identifikatuz lortutako eredu lineal enpirikoen mende. EKParen abantaila nagusia da berehalako denboraren zirrikitua optimizatzeko aukera ematen duela, etorkizuneko denbora-artekak ere kontuan hartzen dituen bitartean. Horretarako, denbora-tarte mugatua optimizatzen da, baina uneko denbora-zirrikitua bakarrik ezartzen da. EKPak etorkizuneko gertaerei aurrea hartzeko eta horren ondorioz kontrol-ekintzak egiteko gaitasuna du. PID eta LQR kontrolatzaileek ez dute iragarpen-ezaugarri hori. EKPak ia unibertsalki ezartzen du kontrol-sistema digital bat, nahiz eta gaur egun bereziki diseinatutako antzeko zirkuituekin erantzun-denbora azkarragoak nola lortu ikertzen ari diren.

## Oinarrizko kontzeptuak

EKPan erabiltzen diren ereduak sistema dinamiko konplexuen portaera irudikatzeko erabiltzen dira. Horren kontrol-algoritmoaren konplexutasun gehigarria ez da ohikoa, eta ez da gomendatzen erabiltzea kontrol egokiko sistema sinpleak hornitzeko: sistema horiek PID kontrolatzaile generikoen bidez kontrola daitezke. Zenbait berezitasun dinamiko, hala nola PIDekin kontrolatzeko zailak direnak, tamaina handiko atzerapenak eta goi-mailako portaera dinamikoak dira.
EKPan erabiltzen diren ereduek sistemaren mendeko aldagaien aldaketak aurresaten dituzte, eta aldagai independenteetan (edo honen mende daude) gertatutako aldaketek eragiten dituzte. Prozesu kimiko batean, adibidez, kontrolatzaileak doi ditzakeen aldagai askeak PID kontrolen [setpoints] egonkortasun-puntuak dira maiz (presioa, fluxua, tenperatura, etab.). edo azken kontroleko elementua (balbulak, motelgailuak, etab.). Gainera, kontrolatzaileak doitu ezin dituen aldagai askeak perturbaziotzat hartzen dira.
EKPak berehalako oin-neurriak, prozesuaren uneko egoera dinamikoa, eredua, mugak eta helburu-aldagaiak erabiltzen ditu mendeko aldagaien etorkizuneko aldaketak kalkulatzeko. Aldagai independenteen nahiz mendekoen murrizketak betetzen diren bitartean, mendeko aldagaiak objektibotik hurbil mantentzeko kalkulatzen dira aldaketa horiek. EKP kontrolak, eskuarki, ezarri beharreko aldagai independente bakoitzeko lehen aldaketa bakarrik bidaltzen du, eta hurrengo aldaketa noiz eskatzen den errepikatzen du kalkulua.
Nahiz eta prozesu erreal asko ez izan linealak, sarritan halakotzat har daitezke eragiketa tarte txiki baterako. Askotan, EKP ikuspegi linealak erabiltzen dira EKP konpentsatzailearen berrelikadura-mekanismoak iragarpen-erroreak dituenean, ereduaren eta prozesuaren arteko desoreka baten ondorioz. Eredu linealez soilik osatuta dauden EKP kontrolatzaileetan, aljebra linealaren gainjartze-printzipioari esker, aldagai independenteetan egindako aldaketa indibidualen efektua bata bestearekin gehi daiteke mendeko aldagaien erantzuna aurresateko. Horrek erraztu egiten du kontrol-problema zuzeneko aljebra matrizialaren kalkulu azkar eta sendoen bidez.
Eredu linealak prozesu errealaren ez-linealtasunak irudikatzeko bezain zehatzak ez direnean, beste hurbilketa batzuk erabil daitezke. Kasu batzuetan, prozesu-aldagaiak eredua bera baino lehen eta/edo ondoren eralda daitezke, ez-linealtasunak murrizteko. Gainera, prozesua EKP ez-linealaren bidez kontrola daiteke, eta haren eredu ez-linealak kontrolaren aplikazio gisa jarduten du zuzenean. Eredu ez-lineala datu enpirikoen doikuntza baten moduan egon daiteke (adibidez, neurona-sare artifizialak) edo fideltasun handiko eredu dinamikoa, energia- eta masa-balantzeari dagokionez. Eredu ez-lineala linealizatu egin daiteke Kalman iragazki batera deribatzeko edo EKP lineala kontrolatzeko eredu bat zehazteko.

### Ereduzko Kontrol Prediktiboaren teoria

EKPak planta-eredu baten optimizazio iteratiboa eta horizonte finitua ditu oinarri. t denboran, instalazioaren uneko egoera lagindu egiten da, eta kostua minimizatzen duen kontrol-estrategia bat konputatzen da (zenbakizko minimizazio-algoritmo baten bidez) etorkizuneko horizonte labur samar baterako: $[t,t+T]$. Zehazki, lineako edo martxako kalkulu bat erabiltzen da uneko egoeratik sortzen diren egoera-ibilbideak aztertzeko eta (Euler-Lagrangeren ekuazioen soluzioaren bidez) kontrol-estrategia bat aurkitzeko, kostuak denborara ($t+T$) arte minimizatuz. Kontrol-estrategiaren lehen urratsa baino ez da ezartzen; orduan, instalazioaren egoera berriz ere lagindu egiten da, eta kalkulu guztiak errepikatzen dira egungo egoera berrian oinarrituta, kontrol berri bat eta egoera-ibilbideko aurreikuspen berriak sortuz. Aurresateko horizontea beti eguneratzen da aurrerantz, eta, horregatik, EKPari horizontearen kontrol alderraia ere esaten zaio. Ikuspegi hori ezin hobea denez, oso emaitza onak eman ditu. Ikerketa akademiko asko egin dira Euler-Lagrange motako ekuazioak ebazteko metodo azkarrak aurkitzeko, EKPko tokiko optimizazioaren egonkortasun globalaren propietateak ulertzeko. Neurri handi batean, teorialariak kontrol-ingeniarien berri izaten saiatu dira EKPez hitz egiten denean.

### EKPren printzipioak

Eredu bidezko kontrol prediktiboa aldagai anitzeko kontrol-algoritmo bat da, eta hau erabiltzen du:
* Prozesuaren barne-eredu dinamikoa
* Iraganeko kontrol-mugimenduen historia.
* J kostuen optimizazio-funtzio bat aurresan-horizonte aldakorrean,
Kontrol-mugimendu optimoak kalkulatzeko.
Optimizaziorako erabiltzen den kostu-funtzio ez-lineal baten adibidea da:
$J=\sum _{i=1}^{N}w_{x_{i}}(r_{i}-x_{i})^{2}+\sum _{i=1}^{N}w_{u_{i}}{\Delta u_{i}}^{2}$Non aldagaiak hurrengoak diren:
$x_{i}$ = i -garren aldagai kontrolatua (adb. neurturiko tenperatura)
$r_{i}$ = i -garren erreferentzia aldagaia (adb. beharrezko tenperatura)
$u_{i}$ = i -garren aldagai maneiatua (adb. kontrol balbula)
$w_{x_{i}}$ = Ponderazio koefizientea, zeinak $x_{i}$ -ren garrantzia eraltiboa adierazten duen.
$w_{u_{i}}$ = Ponderazio koefizientea, zeinak $u_{i}$-ren aladaketa erlatibo handia adierazten duen

## EKP ez-lineala

Eredu ez-linealeko kontrol prediktiboa (EEKP), edo ingelesezko siglak dituen NMPC, eredu bidezko kontrol prediktiboaren aldaera bat da, eta aurresanean sistema-eredu ez-linealak erabiltzea du ezaugarri. EKP linealean bezala, EEKPak kontrol-problemen iterazio-ebazpena behar du, optimizazio gisa iragarpen finituko horizontean. Problema horiek ganbilak dira EKP linealean, baina EEKPn ez dira konbexuak. Horrek erronkak dakartza, bai EEKParen egonkortasunaren teoriarako, bai zenbakizko soluziorako.
EEKPko kontrol optimoko problemen zenbakizko ebazpena kontrol optimoko metodoetan zimendatuta egon ohi da, eta Newton motako optimizazio-eskemak erabiltzen dituzte: zuzeneko tiroketa isolatuaren metodoak, zuzeneko tiroketa anizkoitza edo zuzeneko ezarpena. Era berean, EEKP algoritmoek, eskuarki, ondoz ondoko kontrol optimoko problemak elkarren antzekoak direla baliatzen dute.
Horri esker, Newton motako ebazpen-prozedura abiaraz daiteke, aurrez zenbatutako emaitza hoberenetik datorren zenbatespen egoki desplazatu batekin, eta hala, konputazio-denbora asko aurrezten da. Problema subsekuenteen antzekotasuna are gehiago aprobetxatzen da ibilbideko algoritmo arakatzaileen bidez («denbora errealeko iterazioak» ere bai). Algoritmo horiek ez dira inoiz saiatzen konbergentziarantz optimizazio-problema bat iteratzen, baizik eta EEKP problema berriago bat ebazteko iterazio bat soilik egiten, hurrenarekin jarraitu baino lehen, zeina behar bezala hasieratuko baita.
Iraganean, EEKP aplikazioak batez ere industria kimikoetan eta konparaziozko laginketa-tasa geldoak dituzten prozesuetan erabili dira; aldiz, gero eta ohikoagoa da EEKP ikustea laginketa-tasa azkarragoak dituzten aplikazioetan, hala nola bere indarrez dabilen industrian, edo baita egoerak espazioan banatzen direnean ere (banatutako parametroen sistemak). Ingeniaritza aeroespazialeko aplikazio gisa, EEKP berriki erabili da denbora errealean aztarnariak, lurra/ibilbideak lortzeko.

## EKP sendoak

Ereduzko Kontrol Prediktiboaren aldaera sendoak gai dira perturbazio akotatuak eta finkatuak kontuan hartzeko, egoera-murrizketak oraindik betetzen direla ziurtatzen den bitartean. Hiru ikuspegi nagusi daude EKP sendo baten bilaketan:
* EKP min-max-ekin: Formulazio horretan, perturbazioak izan ditzakeen eboluzio guztiekiko egiten da optimizazioa.
* EKP murrizketen estutze-doiketarekin: Kasu horretan, egoera-murrizketak tarte jakin batean sartzen dira, perturbazioaren edozein eboluzioren pean egoera-ibilbidea bermatu ahal izateko.
* Hodiaren EKPa: Sistema horrek sistema nominalaren eta independentearen eredu baterabiltzen du, eta birelikatze-kontrolatzaile bat erabiltzen du egoera erreala konbergitzen dela ziurtatzeko. Egoera-murrizketetan eskatzen den banantze-kantitatea multzo inbariante positiboak zehazten du (RPI, ingelesezko siglengatik), hau da, berrelikadura-kontrolatzailearekin nahasteak eragin ditzakeen desbiderapen guztien multzoa.
* Etapa anitzeko EKPa. Eredu horrek agertoki-zuhaitz bat sustatzen du, ziurgabetasun-espazioa lagin-multzo batekin hurbilduz. Ikuspegi ez-kontserbadorea da, kontuan hartzen baitu neurketei buruzko informazioa edozein etapatan eskura dagoela eta informazio hori iragarpenak egiteko erabil daitekeela. Horrez gain, kontuan hartzen du edozein etapatako erabakiak desberdinak izan daitezkeela eta ziurgabetasunen ondorioei aurre egiteko baliabide gisa jardun daitekeela.

## Aplikazioak

Ereduzko kontrol prediktiboa gas eta petrolio-biltegietako proiektuak ahalik eta hobekien garatzeko aplikatu da.

## EKPri erlazionatutako softwarea

EKPko zenbait software-pakete komertzial eskuragarri daude, eta, normalean, ereduak identifikatzen eta aztertzen, kontrolatzaileak diseinatzen eta afinatzen eta errendimendua ebaluatzen laguntzen duten tresnak dituzte.
ekpn eskuragarri dauden teknologien zerrenda bat SJk eman du. Qin eta T.A. Badgwell, «Control Engineering Practice 11» (2003) 733–764.

## Erreferentziak

* ↑ Ulbig, Andreas; Arnold, Michèle; Chatzivasileiadis, Spyros; Andersson, Göran. (2011-01). «Framework for Multiple Time-Scale Cascaded MPC Application in Power Systems» IFAC Proceedings Volumes 44 (1): 10472–10480. doi:10.3182/20110828-6-it-1002.01859. ISSN 1474-6670. (Noiz kontsultatua: 2023-11-30).
* ↑ Vichik, Sergey; Borrelli, Francesco. (2014-11). «Solving linear and quadratic programs with an analog circuit» Computers & Chemical Engineering 70: 160–171. doi:10.1016/j.compchemeng.2014.01.011. ISSN 0098-1354. (Noiz kontsultatua: 2023-11-30).
* ↑ Al-Gherwi, Walid; Budman, Hector; Elkamel, Ali. (2013-03). «A robust distributed model predictive control based on a dual-mode approach» Computers & Chemical Engineering 50: 130–138. doi:10.1016/j.compchemeng.2012.11.002. ISSN 0098-1354. (Noiz kontsultatua: 2023-11-30).
* ↑ Nikolaou, Michael. (2001). «Model predictive controllers: A critical synthesis of theory and industrial needs» Advances in Chemical Engineering (Elsevier): 131–204. (Noiz kontsultatua: 2023-11-30).
* ↑ Bohm, Christoph; Raff, Tobias; Findeisen, Rolf; Allgower, Frank. (2008-06). «Calculating the terminal region of NMPC for Lure systems via LMIs» 2008 American Control Conference (IEEE) doi:10.1109/acc.2008.4586644. (Noiz kontsultatua: 2023-11-30).
* 1 2 Kamyar, Reza; Taheri, Ehsan. (2014-03). «Aircraft Optimal Terrain/Threat-Based Trajectory Planning and Control» Journal of Guidance, Control, and Dynamics 37 (2): 466–483. doi:10.2514/1.61339. ISSN 0731-5090. (Noiz kontsultatua: 2023-11-30).
* ↑ García, Míriam R.; Vilas, Carlos; Santos, Lino O.; Alonso, Antonio A.. (2012-01). «A robust multi-model predictive controller for distributed parameter systems» Journal of Process Control 22 (1): 60–71. doi:10.1016/j.jprocont.2011.10.008. ISSN 0959-1524. (Noiz kontsultatua: 2023-11-30).
* ↑ Scokaert, P.O.M.; Mayne, D.Q.. (1998). «Min-max feedback model predictive control for constrained linear systems» IEEE Transactions on Automatic Control 43 (8): 1136–1142. doi:10.1109/9.704989. ISSN 0018-9286. (Noiz kontsultatua: 2023-11-30).
* ↑ Mayne, D.Q.; Rawlings, J.B.; Rao, C.V.; Scokaert, P.O.M.. (2000-06). «Constrained model predictive control: Stability and optimality» Automatica 36 (6): 789–814. doi:10.1016/s0005-1098(99)00214-9. ISSN 0005-1098. (Noiz kontsultatua: 2023-11-30).
* ↑ Findeisen, Rolf, ed. (2007). «Assessment and Future Directions of Nonlinear Model Predictive Control» Lecture Notes in Control and Information Sciences doi:10.1007/978-3-540-72699-9. ISSN 0170-8643. (Noiz kontsultatua: 2023-11-30).
* ↑ Lucia, Sergio; Finkler, Tiago; Engell, Sebastian. (2013-10). «Multi-stage nonlinear model predictive control applied to a semi-batch polymerization reactor under uncertainty» Journal of Process Control 23 (9): 1306–1319. doi:10.1016/j.jprocont.2013.08.008. ISSN 0959-1524. (Noiz kontsultatua: 2023-11-30).
* ↑ (Ingelesez) Shirangi, Mehrdad G.; Durlofsky, Louis J.. (2015-10-20). «Closed-Loop Field Development Under Uncertainty by Use of Optimization With Sample Validation» SPE Journal 20 (05): 908–922. doi:10.2118/173219-PA. ISSN 1086-055X. (Noiz kontsultatua: 2023-11-30).

## Ikus, gainera

* Kontrol ingenieritza
* Kontrolaren teoria

## Kanpo estekak

* Case Study. Lancaster Waste Water Treatment Works, optimisation by means of Model Predictive Control from Perceptive Engineering
* ACADO Toolkit - Open Source Toolkit for Automatic Control and Dynamic Optimization providing linear and non-linear MPC tools. (C++, MATLAB interface available)
* μAO-MPC - Open Source Software package that generates tailored code for model predictive controllers on embedded systems in highly portable C code.
* Model Predictive Control Free book edited by Tao Zheng, Publisher: Sciyo, 2010.
* Study on application of NMPC to superfluid cryogenics (PhD Project).
* Nonlinear Model Predictive Control Toolbox for MATLAB and Python
* Model Predictive Control Toolbox from MathWorks for design and simulation of model predictive controllers in MATLAB and Simulink
* Pulse step model predictive controller - virtual simulator
* Tutorial on MPC with Excel and MATLAB Examples
* Datuak: Q1782962