Realtids-MPC – MPC för snabba och kritiska system

Projektledare: Daniel Axehill, Reglerteknik, ISY

1 Bakgrund och industriell relevans

Modellprediktiv reglering (MPC) är en av få moderna avancerade reglermetoder som har fått ett genomslag i industrin. Metoden utvecklades under sjuttiotalet inom petroliumindustrin. Från att till en början ha varit en intuitivt tilltalande metod som på ett strukturerat sätt kunde lösa avancerade reglertekniska problem på ett för användaren relativt enkelt sätt, har MPC nu utvecklats till en metod som vilar på ett stabilt teoretiskt ramverk innefattande fundamentala egenskaper som stabilitet och robusthet.

Precis som namnet antyder bygger MPC på att en matematisk modell används för att prediktera ett systems beteende i framtiden. Systemets beteende kan påverkas genom en eller flera insignaler och prediktionen av det framtida beteendet gör det möjligt att välja det ”bästa beteendet” hos systemet, där det ”bästa beteendet” exempelvis kan innebära att få systemet att utföra en uppgift på det snabbaste eller mest energieffektiva sättet. Mer konkret sker valet av det bästa beteendet genom att upprepat lösa optimeringsproblem i realtid. Denna formulering gör det inte bara möjligt att minimera relevanta kriterier såsom tid och energi, utan ger också möjlighet att göra det under förutsättning att vissa bivillkor hos styrsignaler och variabler i systemet är uppfyllda. Det blir möjligt att formulera och lösa problem som ”värm upp inomhusluften i en byggnad med hjälp av en värmepump på det mest energieffektiva sättet givet att temperaturen ligger i ett komfortband mellan 19-21 grader, samtidigt som varmvattentemperaturen aldrig får understiga 50 grader”. Ett snarlikt problem har nyligen framgångsrikt studerats av en av projektledarens examensarbetare på Bosch Thermoteknik AB (f.d. IVT) i Tranås. Priset användaren får betala för att kunna använda detta kraftfulla ramverk är att ett nytt optimeringsproblem måste lösas i varje tidssteg. Längden på ett tidssteg är beroende på process och kan löst formulerat innebära att allt från 10000 optimeringsproblem i sekunden till 1 optimeringsproblem i månaden måste lösas. I takt med att allt fler har insett fördelarna med MPC har ett behov uppstått att kunna applicera metoden på allt snabbare processer vilket innebär att man snabbt börjar närma sig gränsen för vad som är beräkningsmässigt görbart idag, även för mycket enkla problem. Man börjar också närma sig applikationer där konsekvenserna kan bli fatala om man inte lyckas lösa optimeringsproblemet inom den föreskrivna tiden. Exempel på sådana krävande applikationer är t.ex. reglering av kraftelektronik, motorstyrning och obemannade farkoster. Tillförlitlighetsaspekten finns även hos långsammare processer som reglering av insulinpumpar och narkosutrustning.

MPC-ramverket kan användas för system av olika typer och komplexitetsnivåer. Praktiskt sett blir skillnaden vilket optimeringsproblem som måste lösas on-line i varje tidssteg. I det här projektet är tanken att i första hand linjära system ska betraktas. Optimeringsproblemen som då måste lösas blir av typen linjärprogrammering (LP) eller kvadratisk programmering (QP).

Idag har flera olika angreppssätt använts för att minska beräkningsbördan on-line för MPC och/eller för att göra beteendet on-line förutsägbart. De mest kända och använda är:

1.
Utnyttjande av struktur: Stora beräkningsmässiga vinster kan göras genom att utnyttja den speciella struktur som optimeringsproblem från MPC får. Detta har framgångsrikt utnyttjats i många olika algoritmer för MPC och har varit en viktig ingrediens i projektledarens forskning hittills.
2.
Parametrisk optimering: För små MPC-problem kan (principiellt sett) alla optimeringsproblem av intresse lösas off-line, vilket eliminerar behovet av att upprepat lösa optimeringsproblem on-line. Detta kallas för ”explicit MPC”. Dessvärre är denna metod enbart möjlig för små problem, men när den är möjlig, erbjuder den både mycket korta beräkningtider såväl som hög tillförlitlighet och förutsägbarhet.
3.
Suboptimala lösningar är tillräckligt: Ett viktigt resultat för realtids-MPC är att den optimala lösningen inte behöver beräknas för att kunna garantera stabilitet hos det slutna systemet och att bivillkoren är uppfyllda i framtiden (”recursive feasibility”). Däremot krävs att lösningen som används är tillåten, vilket i sig inte alltid är enkelt att åstadkomma i mer praktiska uppställningar. Genom att använda dessa resultat kan beräkningsbördan minskas on-line med bibehållna stabilitetsgarantier om man är beredd att offra prestanda (t.ex. referensföljning) hos det slutna systemet. Dock följer fortfarande i princip inga realtidsgarantier, även om det förekommer förslag på varianter som i vissa fall kan ge realtidsgarantier baserat på dessa resultat.
4.
Kodgenerering: Ett relativt nytt spår för att vinna prestanda såväl som tillförlitlighet är att använda kodgenerering. Detta innebär att högspecialicerad källkod genereras automatiskt för det specifika problem som ska lösas. Den genererade koden kan sedan kompileras för den tilltänkta plattformen. Detta tillvägagångssätt kan ge en stor prestandavinst, men också mer tillförlitlig kod eftersom den är så gott som specialskriven (automatiskt) för problemet som ska lösas. Detta tillvägagångssätt ger ofta bra prestanda i praktiken, men den är inte formellt garanterad.

Förutom dessa mer kända angreppssätt har ytterligare ett spännande angreppssätt använts.

5.
Använda optimeringsmetoder där lösningens kvalitet kan garanteras a priori: Genom att använda en optimeringsmetod där det är möjligt att beräkna en undre gräns på framsteget (descent) i varje iteration kan garantier ges på graden av optimaliteten när lösaren termineras. Två typer av lösare där sådana garantier kan ges, i princip, är Interior-Point (IP) metoder och Fast Gradient (FG) metoder. Praktiskt sett är dock garantierna för IP-metoder oanvändbara eftersom de är för konservativa. Garantierna för FG metoder är däremot användbara i praktiken, men enbart i enkla specialfall.

Avslutningsvis kan man säga att olika varianter av MPC skulle troligtvis idag kunna ersätta de flesta andra typer av reglermetoder, om det inte hade varit för att beräkningskomplexiteten snabbt blir för hög för den hårdvara som typiskt finns tillgänglig i de relevanta tillämpningarna och att det fortfarande finns frågetecken kring MPCs tillförlitlighet i praktiken. Den här forskningen strävar efter att minska dessa båda brister som finns hos MPC idag. Målet med forskningen är att utveckla, och vidareutveckla, optimeringsalgoritmer som inte bara är snabbare än dagens algoritmer, utan också har ett beteende som i större utsträckning än idag är möjligt att analysera innan systemet tas i drift.

2 Projektbeskrivning

Befintliga metoder som används för optimering inom MPC härstammar så gott som uteslutande från klassisk numerisk optimering. Detta är ett naturligt angreppssätt, men det har en viktig nackdel: metoderna är inte från grunden byggda för att vara en del av ett inbyggt system med de krav på prestanda och tillförlitlighet som ställs där. Istället är de ofta utvecklade för ett scenario i stil med att en användare tillbringar en arbetsdag för att formulera ett optimeringsproblem och sedan skickar detta till optimeringsrutinen som inom några minuter, eller timmar, returnerar ett resultat tillsammans med en flagga som beskriver om allt gick som det ska. Detta är något helt annat än när en maskin formulerar 1 miljon optimeringsproblem i sekunden och kräver ett tillräckligt bra resultat från lika många problem på samma tid. Detta krav på realtidsprestanda ställer andra krav på algoritmerna, samtidigt som egenskapen att snarlika optimeringsproblem löses hela tiden erbjuder en möjlighet till bättre prestanda. I det här projektet vill vi försöka sluta se optimeringen som en separat del av regleringen. Optimeringen är regulatorn. De optimeringsalgoritmer som idag standardmässigt används för MPC är inte byggda för att fungera som regulatorer, utan snarare för att lösa t.ex. ekonomiska eller ingenjörsmässiga problem på en kontorsdator övervakade av en ekonom eller ingenjör. D.v.s., extrem prestanda eller möjligheter att a priori analysera dessa algoritmers beteende då de upprepat löser snarlika problem har egentligen aldrig varit av intresse för de som utvecklade dessa algoritmer. Detta är luckor i MPC-forskningen som det här projektet ämnar att täppa till.

3 Spridning av metoder och algoritmer

Det är projektledarens avsikt att tillgängliggöra resultaten av forskningen genom att tillhandahålla högpresterande implementationer av de resulterande algoritmerna. Både industri och akademi har visat ett stort intresse för implementationer av de algoritmer som projektledaren redan har utvecklat i dagsläget. Att tillhandahålla användbara implementationer av dessa, och kommande, resultat ses som en viktig effekt av forskningsmedel från CENIIT för denna forskning.

4 Forskningsmiljö och vision

Forskningen utförs vid Avdelningen för Reglerteknik på ISY i en del av gruppen som arbetar med optimering för tillämpningar inom reglerteknik och signalbehandling. Denna del av reglerteknikgruppen består av både seniora forskare såväl som doktorander och sysselsätter för närvarande ca 10 personer. Resultat från tidigare forskning i gruppen omfattar högpresterande optimeringsalgoritmer som är skräddarsydda för olika typer av reglerproblem, såväl som det internationellt välkända optimeringsverktyget YALMIP.

Ett av projektledarens tidigare huvudresultat är en skräddarsydd QP-algoritm som står sig mycket bra i den internationella konkurrensen, både jämfört med akademiska alternativ såväl som kommersiella alternativ. De fyra huvudsakliga målen för de närmaste åren inom detta område sammanfattas som följande fyra punkter:

1.
Vidareutveckla befintliga algoritmerna från vår forskning för att ytterligare öka effektiviteten och användbarheten för applikationen MPC.
2.
Utveckla en högpresterande implementation baserat på dessa resultat med målet att sprida dessa både till akademi och industri.
3.
Applicera denna implementation på praktiska problem för att verifiera dess prestanda i praktiken samt lära sig vilka problem som kvarstår att lösa.
4.
Fortsätta att undersöka möjligheterna att bygga optimeringsalgoritmer som kan analyseras med avseende på garanterad prestanda i en realtidsmiljö.

Projektledarens vision för det här projektet på längre sikt är att leda en grupp bestående av två till tre personer som besitter kompetens för att kunna kalla sig ledande inom QP-optimering för realtids-MPC. Utöver det här specifika projektet är målet för den sökandes kommande forskning att bredda sig mot forskning inom optimeringsbaserade algoritmer för autonoma system. Projektledaren arbetar i dagsläget i projekt både mot SAAB och Scania inom autonomiområdet. Tanken är att de högpresterande realtidsoptimeringsalgoritmerna som är målet med det sökta CENIIT-projektet ska utgöra ryggraden för fortsatt forskning inom beslutsfattande system inom autonomi och därmed utgöra grunden i uppbyggnaden av en grupp med fokus mot forskning inom realtidsoptimering och autonoma system.

5 Nuvarande status och uppnådda resultat

Doktoranden Isak Nielsen har tillsammans med projektledaren producerat fem accepterade konferensbidrag till de främsta konferenserna inom området, [1], [2] [5], [10], [12]. Tre av dessa inkluderade Isak under 2015 i en licentiatavhandling, [4]. Utöver detta har två konferensbidrag presenterats på nationella konferenser, [3], [9]. I [12] visas det hur den mest beräkningskrävande operationen i en MPC-regulator, d.v.s. faktoriseringen av KKT-koefficientmatrisen, kan utföras signifikant mer effektivt i en strukturutnyttjande aktiv-mängd-metod genom att uppdatera faktoriseringen istället för att beräkna den på nytt helt från början, samtidigt som problemstrukturen utnyttjas. Resultatets betydelse i praktiken illustreras i figur 1. För att ytterligare sänka beräkningstiden vid faktorisering inför och beräkning av Newtonsteget har nya skräddarsydda algoritmer utvecklats som förutom att utnyttja problemstruktur, också utnyttjar modern parallell hårdvara. Dessa resultat är presenterade i [5] och [10] och betydelsen i praktiken illustreras i figur 2.


PIC

Figur 1: Beräkningstid för total omfaktorisering (röd) jämfört med den nyutvecklade uppdateringen av faktoriseringen (blå), där N är prediktionshorisonten, nu antalet styrsignaler och n antalet tillstånd.



PIC

Figur 2: Beräkningstid för seriell beräkning (inkl. faktorisering) av ett Newtonsteg (streckprickad) jämfört med den nyutvecklade parallella algoritmen från [10] för beräkning (inkl. faktorisering) av Newtonsteget (heldragen), där N är prediktionshorisonten.


Utvecklingen av den grundläggande teorin inom projektet har fortsatt både tillsammans med Isak, men också av Daniel Axehill på egen hand. Förutom de gemensamma konferensbidragen har Daniels egen verksamhet inom projektet resulterat i tre tidskriftsartiklar och ett bokkapitel, [6], [7], [8], [11].

Annan verksamhet i projektet har varit att studera realtids-MPC-problem i praktiken för att lära sig från dessa vilka problem och begränsningar som finns i praktiken. Detta har skett dels genom examensarbeten och dels genom projekt i Reglerteknisk projektkurs. Det har både skett internt såväl som externt med industrin. 2012 års interna examensarbeten med detta syfte genererade två konferensbidrag, [15], [16].

Utöver renodlad MPC-forskning deltar den sökande i fyra forskningsprojekt med fokus på realtidsoptimering inom området autonoma system. Det första projektet heter iQMatic och är ett samarbete som involverar förutom tre avdelningar vid LiU parterna Scania, Autoliv, SAAB och KTH. I ett annat projekt relaterat till iQMatic undersöks möjligheterna för autonom backning med lastbil och släp, vilket vi lyckades utföra i praktiken i juni 2016. De två övriga projekten inom autonomiområdet sker inom Wallenberg Autonomous Systems Program (WASP) och innefattar handledning av industridoktorander från SAAB inom beslutsfattande autonoma system respektive inom sensorstyrning. Autonomiprojekten har den gemensamma nämnaren att de alla handlar om olika typer av realtidsoptimering. D.v.s. det finns en stark koppling mellan autonomiprojekten och CENIIT-projektet och målet är att kunna använda resultaten från CENIIT-projektet inom autonoma system för att där öka prestandan.

6 Industriella kopplingar

Det industriella intresset för MPC och i synnerhet realtids-MPC är generellt sett mycket stort. Både i Sverige, och i övriga världen, finns det många intressanta företag som arbetar med snabba och kritiska system där MPC skulle kunna vara användbart, om bara prestandan och möjligheten att analysera algoritmerna fanns. Två viktiga sådana företag är ABB och SAAB AB. Forskningen i detta projekt stöds av båda dessa företag. Konkret kan dessa företag ge oss återkoppling för att kvalitetssäkra vårt kommande arbete samt tillhandahålla exempel på relevanta applikationer och frågeställningar inom dessa områden. Detta bestyrks med bifogade Letter of Intent. Formella kontakter på ABB är Christopher Ganz och Alf Isaksson. Formell kontakt på SAAB är Daniel Simon.

Under 2012 inleddes ett samarbete med IEI på Linköpings universitet och SAAB Dynamics (kontaktperson Micael Derelöv) för att använda realtids-MPC för att styra en ROV (fjärrstyrd undervattensfarkost). Samarbetet inleddes i form av ett exjobb och har fortsatt med fem projekt i kursen Reglerteknisk projektkurs under åren 2012-2016. 2016 är även företaget Combine (Rikard Bengtsson) involverat i projektet och hårdvaruplattformen har bytts ut. Syftet med projektet, sett ur CENIIT-projektets perspektiv, är att få praktiskt kunskap om realtids-MPC i en industriellt relevant applikation. Målet är att kunna använda denna farkost även senare i projektet för att testa utvecklade algoritmer.

Ytterligare ett projekt med stor industriell relevans med anknytning till CENIIT-projektet är lastbilar som kör med kort avstånd i en kolonn för att spara bränsle, så kallad ”platooning”. Daniel har varit inblandad i att bygga grunden för ett sådant system på LiU tillsammans med Avdelningen för Fordonssystem (Lars Nielsen och Erik Frisk), Scania (Magnus Adolfsson) och KTH (Jonas Mårtensson). Denna applikation, och fortsättningen med helt autonoma fordon inom iQMatic, kan potentiellt sett vara mycket intressanta applikationer för de resultat som väntas från CENIIT-projektet. Utöver detta har Daniel under det senaste året inlett två nya projekt inom WASP i form av industridoktorandprojekt mot SAAB, där kontaktpersonerna är Torbjörn Crona respektive Per-Johan Nordlund. Det ena projektet leds av Daniel och i det andra medverkar han som bihandledare.

7 Relaterade projekt

Projektledaren fick 2011 ett projektbidrag för unga forskare från VR för ett projekt som syftar till att använda parallella beräkningar för MPC applicerat på hybrida system. Det finns goda möjligheter för samordningsvinster mellan VR-projektet och CENIIT-projektet. Mer specifikt har båda projekten nytta av skräddarsydd effektiv parallell numerisk linjär algebra, samt en bra implementation av en effektiv QP-algoritm. Det finns även tydliga kopplingar mellan CENIIT-projektet och de fyra autonomiprojekten där fokus just är olika former av realtidsoptimering för reglering och beslutsfattande.

8 Kopplingar till andra CENIIT-projekt

Vi tror att vi i den framtida forskningen kommer att ha stor nytta av resultat från CENIIT-projektet ”Avancerade optimeringansatser i MPC”. Speciellt kan dessa resultat vara av intresse då regulatorns beräkningsmässiga prestanda ska analyseras a priori.

9 Publikationer

Följande publikationer har producerats med projektledaren, eller doktoranden som arbetar i projektet, som huvud- eller medförfattare och är helt eller delvis resultat från CENIIT-projektet:

[1]
Isak Nielsen och Daniel Axehill. Reduced memory footprint in multiparametric quadratic programming by exploiting low rank structure. Accepted for publication at the 55th IEEE Conference on Decision and Control, juli 2016
[2]
Isak Nielsen och Daniel Axehill. An O(log N) parallel algorithm for Newton step computations with applications to moving horizon estimation. I: Proceedings of the 15th European Control Conference, ss 1630–1636, Aalborg, Denmark, juni 2016
[3]
Isak Nielsen och Daniel Axehill. On parallel numerical algorithms with applications to MPC and MHE. I: Proceedings of Reglermöte 2016, Gothenburg, Sweden, juni 2016
[4]
Isak Nielsen. On Structure Exploiting Numerical Algorithms for Model Predictive Control. Licentiate’s thesis, Linköping University, 2015
[5]
Isak Nielsen och Daniel Axehill. A parallel structure exploiting factorization algorithm with applications to model predictive control. I: Proceedings of the 54th IEEE Conference on Decision and Control, ss 3932–3938, Osaka, Japan, december 2015
[6]
Daniel Axehill. Controlling the level of sparsity in MPC. Systems & Control Letters, 76:1–7, 2015.
[7]
Alexander Fuchs, Daniel Axehill och Manfred Morari. Lifted evaluation of mp-MIQP solutions. IEEE Transactions on Automatic Control, 60(12):3328–3331, december 2015.
[8]
Daniel Axehill, Thomas Besselmann, Davide Martino Raimondo och Manfred Morari. A parametric branch and bound approach to suboptimal explicit hybrid MPC. Automatica, 50(1):240–246, januari 2014.
[9]
Isak Nielsen och Daniel Axehill. Parallel Riccati factorizations with applications to model predictive control. I: Proceedings of Reglermöte 2014, Linköping, Sweden, juni 2014.
[10]
Isak Nielsen och Daniel Axehill. An O(log N) parallel algorithm for Newton step computation in model predictive control. I: Proceedings of the 19th IFAC World Congress, ss 10505–10511, Cape Town, South Africa, augusti 2014.
[11]
Daniel Axehill och Anders Hansson. Parallel implementation of hybrid MPC. I: José M. Maestre och Rudy R. Negenborn, redaktörer, Distributed Model Predictive Control Made Easy, band 69 av Intelligent Systems, Control and Automation: Science and Engineering, ss 375–392. Springer Verlag, 2014.
[12]
Isak Nielsen, Daniel Ankelhed och Daniel Axehill. Low-rank modifications of Riccati factorizations with applications to model predictive control. I: Proceedings of the 52nd IEEE Conference on Decision and Control, ss 3684–3690, Palazzo dei Congressi, Florence, Italy, december 2013.
[13]
Daniel Axehill och Manfred Morari. An alternative use of the Riccati recursion for efficient optimization. Systems & Control Letters, 61(1):37–40, 2012.
[14]
Daniel Axehill, Thomas Besselmann, Davide Martino Raimondo och Manfred Morari. An efficient approach to suboptimal explicit hybrid MPC. I: Proceedings of Reglermöte 2012, Uppsala, Sweden, juni 2012.
[15]
Karl-Johan Barsk, Niklas Wahlström och Daniel Axehill. Model predictive control of a tricopter. I: Proceedings of Reglermöte 2012, Uppsala, Sweden, juni 2012.
[16]
Jacob Bernhard, Patrik Johansson, Magnus Carlsson, Tohid Ardeshiri och Daniel Axehill. Advanced control of a remotely operated underwater vehicle. I: Proceedings of Reglermöte 2012, Uppsala, Sweden, juni 2012.

För en full lista av projektledarens accepterade publikationer, vänligen se hans publikationslista.