Optimal control: Übersicht

Definition

Unter dem Begriff opti­mal con­trol sind Theo­rie und Metho­den zur opti­ma­len Steue­rung von Sys­te­men zusam­men­ge­fasst; deut­sche Namen  für das feld sind unter ande­rem opti­ma­le Steue­rung und Rege­lungs­theo­rie. Steue­rungs­si­gna­le sind so zu wäh­len, dass ein bestimm­ter Sys­tem­zu­stand mit mini­ma­lem Kos­ten­auf­wand erreicht wird.

Die Sys­te­me sind zwar auf ent­wick­lungs­ge­schicht­li­chen Grün­den oft phy­si­ka­lisch tech­ni­scher Natur, kön­nen aber auch betriebs­wirt­schaft­li­che, öko­no­mi­sche, oder infor­ma­ti­ons­tech­ni­sche Pro­zes­se abbil­den,. Die Steue­rungs­si­gna­le sind dann z.B. dyna­mi­sche Res­sour­cen­flüs­se, finanz­po­li­ti­sche Mass­nah­men, oder Spei­cher­al­lo­ka­ti­ons­re­geln. Gemein­sam ist allen Pro­blem­kon­stel­la­tio­nen das Ziel, opti­ma­le Ent­schei­dun­gen unter Unsi­cher­heit zu treffen.

Opti­mal con­trol unter­schei­det sich von opti­mal esti­ma­ti­on und opti­mal design durch die Anwe­sen­heit einer Mög­lich­keit zur akti­ven Steue­rung des unter­such­ten Sys­tems. Opti­mal con­trol Pro­ble­me haben daher oft einen zeit­li­chen oder zumin­dest sequen­ti­el­len Aspekt, sodass Fra­ge­stel­lun­gen zur Dyna­mik des Sys­tems und des­sen Steu­er­bar­keit auftauchen.

Beispiel

 Ein fern­ge­steu­er­tes Auto soll in der Zeit \(T\) von Posi­ti­on \(x=0\) zu Posi­ti­on \(x=1\) gefah­ren wer­den. Die Beschleu­ni­gung \(\ddot{x}\) kann inner­halb bestimm­ter Gren­zen durch das Steu­er­si­gnal \(u\) beein­flusst wer­den. Es soll über die gesam­te Zeit­dau­er \(T\) so gewählt wer­den, dass der Gesamt­ener­gie­ver­brauch \(\sum_{t=0}^T \ddot{x}_t^2\) mini­mal wird. 

Abbil­dung 1 : Illus­tra­ti­on eines opti­mal con­trol Pro­b­le­mes, be dem eine zeit­lich varia­ble Beschleu­ni­gung so ange­passt wer­den muss, dass ein Vehi­kel die zum Errei­chen einer Ziel­po­si­ti­on ver­wen­de­te Gesamt­ener­gie minimiert.
Das Opti­mie­rungs­pro­blem hat die Form
 $$ \begin{align} \min_{x_0, …, x_T, u_0, …, u_T} ~~~& \sum_{t=0}^T\ddot{x}_t \\ \text{s.t.} ~~~& x_{t+1}=Ax_t+Bu_t\\~~~&x_0=[0,0,0]^T ~~~~~~~~~ x_T=[1,0,0]^T \\  ~~~& A=\begin{bmatrix} 1 & \Delta t & 0 \\ 0 & 1 & \Delta t \\ 0 & 0 & 1\end{bmatrix} ~~~~ B=\begin{bmatrix} 0 \\ 0 \\ \Delta t \end{bmatrix} \end{align}$$

Problemklassen

Das obi­ge Bei­spiel zeich­net sich durch einen hohen Grad an Plan­bar­keit aus und erfor­dert genaue Kennt­nis über die dyna­mi­schen Zusam­men­hän­ge sowie eine Abwe­sen­heit zufäl­li­ger Effek­te. In der Pra­xis ist dies icht immer der fall, wes­we­gen For­mu­lie­run­gen des opti­mal con­trol Pro­b­le­mes auch für kom­ple­xe­re Situa­tio­nen ent­wi­ckelt wurden.

Statt eines vor­de­fi­nier­ten Pla­nes \(u_0, …, u_T\) müs­sen dann aktu­el­le Beob­ach­tun­gen des tat­säch­li­chen Zustan­des in die Steue­rung mit­ein­ge­bun­den wer­den und es ent­steht ein Feed­back­loop [2, p. 102]

Abbil­dung 2 : Illus­tra­ti­on eines Feed­back­loops zur Sys­tem­steue­rung. Der beob­ach­te­te Zustand \(x_{t+1}\) wird ver­wen­det, um das Steu­er­si­gnal \(u_{t+1}\) zu ermitteln.

Es ist dann die Funk­ti­on \(K(x_t)\) so zu fin­den, dass \(J\) als Mass für die Unzu­läng­lich­keit der Abfol­ge \(f(x_0,u_0), …, f(x_T,u_T)\) mini­mal wird.

Klasse: Robustes optimal control

Robus­tes opti­mal con­trol erwei­tert die Opti­mie­rung von Steu­er­si­gna­len auf Situa­tio­nen, in denen der Zusam­men­hang zwi­schen Szstem­zu­stän­den \(x_t\), Steu­er­grös­sen \(u_t\) und dem zeit­lich nach­fol­gen­den Sys­tem­zu­stand \(x_{t+1}\) nicht voll­stän­dig bekannt ist.

Im obi­gen Bei­spiel ent­sprä­che das dem Fall, dass z.B. auf­grund von Schlupf oder Kraft­über­tra­gungs­pro­ble­men die Matri­zen \(A\) und \(B\) teil­wei­se unbe­kann­te Ele­men­te ent­hal­ten [1, p. 428].

Es muss dann ein Steue­rungs­in­put \(K(x_t)=u_t \) gefun­den wer­den, wel­cher das Sys­tem $$ x_{t+1}=Ax_t+Bu_t ~~~~~A\in \mathcal{A}, B\in \mathcal{B} $$

zufrie­den­stel­lend steu­ert unab­hän­gig von den kon­kre­ten Matri­zen \(A\in \mathcal{A}\) und \(B\in \mathcal{B}\). Dies läuft auf die simul­ta­ne Erfül­lung meh­re­rer linea­rer Matrixun­glei­chun­gen hin­aus und mün­det in einem semi­de­fi­ni­ten Programm.

Klasse: Stochastisches optimal control

Beim sto­chas­ti­schen opti­mal con­trol wird die Sys­te­me­vo­lu­ti­on als zufalls­be­haf­tet akzep­tiert und statt direkt ver­füg­ba­ren Sys­tem­zu­stän­den \(x_t\) sind nur ver­rausch­te Beob­ach­tun­gen zugänglich.

Wären z.B. im obi­gen Bei­spiel mit dem fern­ge­steu­er­ten Vehi­kel zufäl­li­ge unkon­trol­lier­ba­re Effek­te wie etwa Wind oder Unge­nau­ig­kei­ten in der Signal­über­tra­gung vor­han­den, dann könn­ten die Sys­tem­zu­sam­men­hän­ge wie folgt beschrie­ben werden.

$$ \begin{align} x_{t+1}&=Ax_t+Bu_t+w\\ y_t&=Cx_t+v  \end{align}$$

Dabei sind \(x_t, A, B, u_t\) wie gehabt, \(y_t=Cx_t\) sind die Beob­ach­tun­gen der Zustän­de und \(w\) und \(v\) sind zufäl­li­ge Grös­sen [1, p. 428], [3]. Sind über­haupt nur Zustands­än­de­rungs­wahr­schein­lich­kei­ten bekannt und womög­lich Nicht­li­nea­ri­tä­ten vor­han­den, dann kön­nen Mar­kov-Ent­schei­dungs­pro­zes­se zur Pro­blem­for­mu­lie­rung ver­wen­det werden.

Klasse: Reinforcement learning

Sind weder dyna­mi­sche Zusam­men­hän­ge noch Zustands­über­gangs­wahr­schein­lich­kei­ten bekannt, das zu steu­ern­de Sys­tem aber prin­zi­pi­ell mit­tels eines Com­pu­ter­mo­del­les simu­lier­bar, dann kann Rein­force­ment lear­ning ein­ge­setzt werden.

Die­se Situa­ti­on ent­sprä­che im Zusam­men­hang des obi­gen Bei­spie­les mit dem fern­ge­steu­er­ten Auto die Situa­ti­on, dass kei­ner­lei aprio­ri Infor­ma­tio­nen über das Ver­hal­ten von Sys­tem­zu­stand und Steue­rungs­in­put vor­han­den wäre. 

Beim Rein­force­ment lear­ning wird das Sys­tem­ver­hal­ten statt­des­sen empi­risch unter­sucht, indem auf tri­al-and-error Basis Steue­rungs­vor­schlä­ge aus­ge­führt wer­den und deren Aus­wir­kun­gen beob­ach­tet. Dies führt zu einer Men­ge von Daten, die zum Trai­ning neu­ro­na­ler Net­ze ein­ge­setzt wer­den. Deren Auf­ga­be ist die nach­bil­dung einer opti­ma­len Funk­ti­on \(u_t=K(x_t)\), die für jeden Zustand \(x_t\) die bes­te Akti­on \(u_t\) vorschlägt.

Auf­grund des Ein­sat­zes neu­ro­na­ler Net­ze sind die Steue­rungs­in­puts nicht­li­nea­rer natur und das Vor­ge­hen ist sehr daten­hung­rig ohne dass Opti­ma­li­tät gewähr­leis­tet wer­den kann. Mit­tels die­ses vor­ge­hens sind jedoch Pro­ble­me lös­bar, für die mit kon­ven­tio­nel­len Metho­den kei­ner­lei Hoff­nung besteht. Bei­spie­le dafür sind etwa das auto­no­me Fah­ren oder die Ent­wick­lung selbst­ler­nen­der Algo­rith­men zur Bewe­gung von Robo­tern oder zur Steue­rung von Com­pu­ter­geg­nern in Spie­len [4].

Lösungen und Lösungsverfahren

Je nach Klas­se der zu lösen­den opti­mal con­trol Pro­b­le­mes ist es tri­vi­al bis unmög­lich zu lösen. Rein deter­mi­nis­ti­sche Pla­nungs­pro­ble­me kön­nen oft durch Such­al­go­rith­men oder LP gelöst wer­den. Die Anwe­sen­heit klar defi­nier­ter zufäl­li­ger Effek­te oder Modell­un­si­cher­hei­ten erfor­dert die Gene­rie­rung sta­bi­li­sie­ren­der Feed­back­loops und die Mini­mie­rung von Feh­ler­va­ri­an­zen, wes­halb auf SDP zurück­ge­grif­fen wer­den muss. Sind über­haupt kei­ne guten Pro­zess­mo­del­le vor­han­den, so kön­nen zur sto­chas­ti­schen Model­lie­rung Mar­kov-Ent­schei­dungs­pro­zes­se ein­ge­setzt wer­den oder es wird direkt Rein­force­ment lear­ning verwendet.

Ite­ra­ti­ve Lösungs­heu­ris­ti­ken und indi­vi­du­el­le Unter­su­chun­gen der Lösungs­vor­schlä­ge sind dann unver­meid­bar. Die Metho­den sind teil­wei­se expe­ri­men­tell und defi­nie­ren die Gren­ze des wis­sen­schaft­lich aktu­ell mach­ba­ren. Eine Lösung für ein opti­mal con­trol Pro­blem ist dann eine soge­nann­te Poli­cy — eine Vor­schrift für jede mög­li­che Situa­ti­on, wel­ches Ver­hal­ten opti­mal ist.

Abbil­dung 3 : 2‑dimensional Vari­an­te des Pro­b­le­mes zur Bewe­gungs­pla­nung eines fern­ge­steu­er­ten Vehi­kels. Dar­ge­stellt sind die \(x,y\) Koor­di­na­ten­wer­te (a) und Geschwin­dig­kei­ten (b) benö­tigt zur ener­gie­ef­fi­zi­en­tes­ten Über­füh­rung eines beweg­li­chen Objek­tes zum Mit­tel­punkt \(\otimes\). Die ver­schie­de­nen Kur­ven kor­re­spon­die­ren mit ver­schie­de­nen Aus­gangs­po­si­tio­nen; die Initi­al­be­schleu­ni­gung beträgt \([0.2, 0.2]\).

Anwendungen und praktisches

Für das opti­mal con­trol gibt es unzäh­li­ge Anwen­dungs­mög­lich­kei­ten. Sie umfas­sen tech­ni­sche Anwen­dun­gen wie die Regu­lie­rung che­mi­scher Reak­tio­nen, Robo­ter­arm­steue­rung oder die Koor­di­na­ti­on von Hafen­kran­ar­men. Logis­ti­sche Pro­ble­me wie etwa die adap­ti­ve Ampel­steue­rung, adap­ti­ve Ter­min­pla­nung von Über­zei­ten, Pati­en­ten­ter­mi­nen, Ambu­lanz­ein­sät­zen, das Fahr­zeug­rou­ting und vie­le Pro­ble­me aus Pro­duk­ti­ons­pla­nung und Sup­p­ly-chain management. 

Der Über­gang zuu finan­zi­el­len oder makro­öko­no­mi­schen Anwen­dun­gen wie etwa der Preis­fest­le­gung von Finanz­de­ri­va­ten, dem akti­en Port­fo­lio­ma­nage­ment und der Steue­rung wirt­schaft­li­cher Akti­vi­täts­ni­veaus ist flies­send. Rein­force­ment lear­ning gilt als prak­tisch anwend­ba­re Metho­de der künst­li­chen Intel­li­genz. Mehr Bei­spie­le sind hier zu finden.

In prak­ti­scher Hin­sicht gibt es bei opti­mal con­trol Pro­ble­men vie­le mög­li­che Fall­stri­cke. Abseits von der Schwie­rig­keit, ein bestimm­tes Ziel als kon­ve­xes Opti­ma­li­täts­kri­te­ri­um zu for­mu­lie­ren, müs­sen z.B. Ana­ly­sen durch­ge­führt wer­den, wie sta­bil die ent­wi­ckel­ten Steue­run­gen sind gegen­über zufäl­li­gen Abwei­chun­gen. Eben­falls ist nicht garan­tiert, dass ein ange­streb­ter Zustand ver­mit­tels der zur Ver­fü­gung ste­hen­den Steu­er­op­tio­nen über­haupt erreicht wer­den kann.

Code & Quellen

Bei­spiel­code: OC_vehicle_control_1.py , OC_vehicle_control_2.py  in unse­rem Tuto­ri­al­fol­der.

[1] Wol­ko­wicz, H., Sai­gal, R., & Van­den­berg­he, L. (2012). Hand­book of Semi­de­fi­ni­te Pro­gramming: Theo­ry, Algo­rith­ms, and Appli­ca­ti­ons. Ber­lin Hei­del­berg: Sprin­ger Sci­ence & Busi­ness Media.

[2] Ander­son, B. D. O., & Moo­re, J. B. (2007). Opti­mal Con­trol: Line­ar Qua­dra­tic Methods. New York: Cou­rier Corporation.

[3] Bal­a­krish­n­an, V.,  & Van­den­berg­he, L. (2003). Semi­de­fi­ni­te pro­gramming dua­li­ty and line­ar time-inva­ri­ant sys­tems. IEEE Tran­sac­tions on Auto­ma­tic Con­trol, 48,(1),  30–41.

[4] Vin­yals, O., Babusch­kin, I., Czarne­cki, W.M. et al. (2019). Grand­mas­ter level in Star­Craft II using mul­ti-agent rein­force­ment lear­ning. Natu­re, 575, 350–254.