Hide menu

Avancerade optimeringansatser i MPC

Projektledare: Johan Löfberg Reglerteknik ISY
Resultat och aktuell information: MPC@LIU

Ursprunglig projektansökan

1. Bakgrund och industriell relevans

Modellbaserad prediktionsreglering (MPC) är en av få avancerade moderna reglermetoder som fått ett genomslag i praktiken. Metoden utvecklades i petroleumindustrin på sjuttiotalet, och tog sig sedan snabbt in i den akademiska världen, där den utvecklats vidare och fått ett teoretiskt ramverk. Idag, mer än trettio år senare, är det fortfarande ett mycket aktivt forskningsområde, och metoden sprider sig till nya praktiska tillämpningar, bortom de klassiska processindustriella där den har starkast fäste.

Den centrala idén är man använder sig av en matematisk modell över hur ett dynamiskt system reagerar på insignaler. Baserat på denna modell ställer man upp ett optimeringsproblem som optimerar systemets prestanda genom att välja en insignalsprofil över en framtida, av beräkningsskäl finit, tidshorisont. Den första delen av insignalsprofilen används på systemet, och man räknar sedan ut en ny insignalsprofil över en förskjuten horisont, så snart man hinner. På detta sätt hanterar man problemet att man bara optimerar över en finit horisont, och man får automatiskt en återkopplingseffekt. Nackdelen är att man måste genomföra alla beräkningar on-line hela tiden.

Då man formulerat reglerproblemet som ett optimeringsproblem så öppnar sig enorma möjligheter. Det insågs tidigt att om man har en linjär modell och lägger till enkla linjära bivillkor på in- och utsignaler, så kan problemet formuleras som ett kvadratiskt problem (QP), för vilka effektiva optimeringsmetoder funnits sedan länge. Det är detta faktum som gör metoden populär i industrin; den tillåter oss att hantera begränsade signaler såsom insignalseffekter och säkerhetsnivåer. Genom åren har allt mer avancerade optimeringsproblem, bortom QP, formulerats och använts i MPC-sammanhang. De viktigaste framstegen kommer från robust, heltals- samt parametrisk optimering

Robust optimering

Sedan nittiotalet har robusta ansatser inom MPC varit ett populärt forskningsområde. Här studeras fallet att modellen inte är fullständigt känd (vilket den aldrig är i praktiken), och hur detta kan hanteras på ett systematiskt sätt genom robust optimering.

Heltalsoptimering

En annan viktig utvidgning av MPC skedde för cirka tio år sedan, då det insågs att stora klasser av hybrida system, dvs system som innehåller logik, kunde hanteras naturligt i ett MPC-ramverk. Genom att modellera de logiska sammanhangen med binära beslutsvariabler, kan många modeller och problem reduceras till optimeringsproblem med heltal, en klassisk gren inom optimeringslära.

Parametrisk optimering

En parallel utveckling skedde samtidigt som robusta och heltalsmetoder utvidgade MPCs generalitet och styrka. MPC hade klassiskt mest tillämpats i industrier och tillämpningar där samplingstiden var lång och stora datorer kunde användas för att lösa de krävande optimeringsproblemen on-line i varje tidssteg. Nya tillämpningar på små snabba processer, inom t.ex flyg- och fordonsindustrin, skapade dock ett behov av effektivare metoder att implementera en MPC-regulator. Genom att utnyttja att det endast är systemets tillstånd som skiljer sig mellan två lösningar av optimeringsproblmet, kunde man tillämpa så kallad parametrisk optimering för att göra stora delar av beräkningarna off-line innan regulatorn sätts i bruk, och on-line förenklas optimeringsproblemet till, förenklat uttryckt, tabellslagning.

2. Projektbeskrivning

I bakgrundstexten ser vi ett genomgående tema, nya metoder inom MPC handlar ofta om att tillämpa relativt klassiska ramverk från optimeringslära. Vi ser nu intressanta möjligheter för ytterliggare ett spår, bileveloptimering.

Bileveloptimering

Det senaste året har ett flertal forskare inom MPC börjat intressera sig för en optimeringsansats kallad bilevel optimization. Bileveloptimering är optimeringsproblem där det finns bivillkor som säger att en viss variabel uppfyller optimalitet i ett annat optimeringsproblem, dvs korskopplade optimeringsproblem. Som ett klassiskt exempel kan nämnas design av vägtullar. Vägföretaget försöker maximera sina vinster under bivillkoret att varje bilist försöker minimera sin kostnad.

En spännande egenskap med bileveloptimering är dess starka koppling till alla tre områden beskrivna i inledningen. Robust optimering, med dess grenar spelteori och minimax problem, kan ses som bilevelproblem. Heltalsprogrammering kan formuleras som bilevelproblem, och de mest intressanta klasserna av bilevelproblem kan lösas med heltalsprogrammering och parametrisk optimering. Det är delvis denna insikt som gör att vi tror det finns mycket outforskad mark i tillämpningar av biveloptimering inom MPC, både i teori och praktik.

Det insågs t.ex nyligen (H. Manum, C. Jones, J. Löfberg, M. Morari, och S. Skogestad. Bilevel Programming for Analysis of Low-Complexity Control of Linear Systems with Constraints, Proceedings of the 48th IEEE Conference on Decision and Control, 2009) att bileveloptimering är ett kraftfullt verktyg för att analysera MPC-regulatorer och de slutna system som genereras då de används. Tanken är att man karaktäriserar regulatorn via dess optimalitet, dvs en MPC-regulator uppfyller villkoret att den genererar optimala styrsignaler. Med hjälp av denna karakterisering, som görs med hjälp av så kallade KKT-villkor, kan man formulera en rad analysproblem.

Analys av optimala regulatorer med bileveloptimering

Ett första steg är att gå vidare i detta spår. Det handlar då främst om att studera vilka analysproblem som kan hanteras, och sekundärt hur man löser de optimeringsproblem som uppkommer. Det kan t.ex. handla om att analysera hur en (av praktiska skäl) approximerad optimal MPC-regulator beter sig. Optimerings- och modelleringsprogramvaran YALMIP har redan utvidgats för att kunna hantera vissa av dessa problem, men mycket kvarstår för att kunna lösa stora problem effektivt.

Ett annat exempel är analys och syntes av decentraliserade och distribuerade MPC-system. Här handlar det om olika formuleringar där system är upp\-delade i separata enheter, med varierande grader av kommunikation och samarbete. En gemensam egenskap är att varje enhet agerar optimalt ur något hänseende, dvs än en gång en karakterisering per optimalitet.

Modellering i MPC med bilevelansatser

Ett andra steg är att använda koncept och tankar från bileveloptimering för modellering. Heltalsoptimering används idag för att tillämpa MPC på system med hybrid karaktär, exempelvis styckvist affina system. Ett forskningsuppslag är att använda sig av att en stor klass av parametriska optimeringsproblem implicit definierar en styckvist affin avbildning, d.v.s. om man ändrar en parameter i optimeringsproblemet så ändrar sig den optimala lösningen styckvist affint. Detta betyder att vi kan karaktärisera vissa styckvist affina system via ett optimalitetsvillkor för något optimeringsproblem. Forskningsproblemet är att reda ut när man kan karaktärisera styckvist affina funktioner på så vis, hur man hittar dessa optimeringsproblem, samt studera användbarhet av detta i MPC. På lång sikt handlar det om att göra hybrid MPC mer beräkningseffektiv och tillämpbar i praktiken.

Spridning av metoder och algoritmer

En viktig del i all forskning är att den skall komma till användning. Projektledaren är sedan sin tid på ETH Zurich fortlöpande inblandad i vidareutveckling av mjukvarustöd (baserad på YALMIP) för att kunna tillämpa avancerad MPC i praktiken. Finansiering av de kollegor på ETH Zurich och Slovak University of Tehnology som är inblandade sker främst av ABB Corporate Research Switzerland, som redan idag använder mjukvaran i praktiken. Detta samarbete kommer att fortsätta även kring det detta projektet.

Page responsible: Johan Löfberg
Last updated: 2013-04-03