Methoden: Dynamic programming

Definition

Dyna­mic pro­gramming (DP) behan­delt Opti­mie­rungs­pro­ble­me, in  denen die Opti­mie­rungs­va­ria­blen Abfol­gen von Ent­schie­dun­gen  reprä­sen­tie­ren. Die Sequen­tia­li­tät wird zur Her­stel­lung rekur­si­ver Zusam­men­hän­ge verwendet. 

Die­se Rekur­si­vi­tät zer­legt das Gesamt­pro­blem in eine effi­zi­ent zu lösen­de Abfol­ge von auf­ein­an­der auf­bau­en­den Sub­pro­ble­men. Damit ist DP gleich­sam ein Lösungs­an­satz als auch eine Pro­blem­klas­se. Wir inter­pre­tie­ren DP zwecks Ver­ständ­lich­keit enger als zwin­gend nötig als das Optimierungsproblem

$$ \begin{align} \min_{\pi} ~~~& f(\pi) \\f(\pi)
~~~&= \sum_{k=1}^{end} E\left[ r(s_k, s_{k+1}, \pi(s_k))\right]  \end{align}$$

in der Opti­mie­rungs­va­ria­ble \(\pi\) [1, p. 23]. Die Beson­der­heit besteht in der Inter­pre­ta­ti­on von \(f(\pi)\) als erwar­te­ter Beloh­nung \(E[r]\) in Reak­ti­on auf von Sys­tem­zu­stän­den \(s_k\) abhän­gi­gen Aktio­nen \(\pi(s_k)\). Ziel ist das Fin­den einer Poli­cy \(\pi\), wel­che Sys­tem­zu­stän­de auf die­je­ni­gen Steue­rungs­in­puts abbil­det, die das Sys­tem im Mit­tel opti­mal steu­ern. Dabei wird die Güte einer Lösung durch die kumu­la­ti­ve Men­ge gesam­mel­ter Beloh­nung \(r\) gemessen.

Beispiel

Man stel­le sich etwa eine lau­fen­de Bestands­pla­nung vor, für wel­che  auf Basis der aktu­el­len Bestän­de und der im Lau­fe der Zeit bekannt­wer­den­den Absatz­mög­lich­kei­ten kos­ten­mi­ni­mie­ren­de Ent­schei­dun­gen getrof­fen wer­den müs­sen. Bestands­de­fi­zi­te sor­gen für Gewinn­aus­fall und Bestands­über­schüs­se rufen Lager­kos­ten hervor.

Abbil­dung 1: Illus­tra­ti­on eines simp­len dyna­mi­schen Bestands­pla­nungs­pro­b­le­mes. Eine Lager­hal­le ver­fügt über Bestän­de, die gemäss Nach­fra­ge pro­fi­ta­bel ver­kauft wer­den kön­nen. Ende jeder Woche wird Bilanz gezo­gen und eine Ent­schei­dung über zu ordern­de Pro­dukt­men­gen getrof­fen. Zudem ändert sich die Nach­fra­ge stochastisch.

In dem obi­gen Bei­spiel ist klar, dass eine kon­stan­te Nach­or­der­ra­te sub­op­ti­mal ist und Ent­schei­dun­gen über die Bestell­men­gen von den jet­zi­gen Bestän­den, der Nach­fra­ge, und erwar­te­ten Ver­än­de­run­gen bei­der Para­me­ter abhän­gen. Eine For­mu­lie­rung des gesam­ten Sach­ver­hal­tes als ein­zel­ne Funk­ti­on \(f\) scheint schwie­rig und tat­säch­lich wird das Gesche­hen am bes­ten als Mar­kov-Decis­i­on-Pro­cess (MDP) dargestellt.

MDP

Ein Mar­kov-Decis­i­on-Pro­cess (MDP) ist ein steu­er­ba­rer sto­chas­ti­scher Pro­zess. Er besteht aus einem 4‑Tupel \(\{S,A,P,R\}\), wel­ches die Dyna­mik des Pro­zes­ses festlegt.

  • \(S\) Eine Men­ge von Zustän­den \(s\)
  • \(A\) Eine Men­ge von Aktio­nen \(a\)
  • \(P(s’| s, a)\) Tran­si­ti­ons­wahr­schein­lich­kei­ten von \(s\) nach \(s’\) wenn Akti­on \(a\) gewählt wird.
  • \(R(s’| s, a)\) Die Beloh­nung bei einer Tran­si­ti­on von \(s\) nach \(s’\) via Akti­on \(a\).

Es han­delt sich dem­nach um eine Men­ge von Zustän­den \(s\) eines Sys­tems, das sich unter Ein­fluss von Aktio­nen \(a\) wei­ter­ent­wi­ckelt. Dabei ist der Fol­ge­zu­stand \(s’\) abhän­gig von \(s, a \) , und dem Zufall, die Beloh­nung von \(s’, s, a\). Ziel ist die Maxi­mie­rung kumu­la­ti­ver Beloh­nung. Dazu muss für jeden Zustand die opti­ma­le Akti­on ermit­telt wer­den. Die Funk­ti­on \(\pi:s\mapsto a\) heisst auch policy.

Anwendung Beispiel

Im Kon­text des Bestands­pla­nungs­bei­spie­les ist \(S=\mathbb{R}^2\) da der Zustand durch die zwei Zah­len Bestand und Nach­fra­ge cha­rak­te­ri­siert ist. Wei­ter­hin gilt \(A=\mathbb{R}, R(s’, s, a)\) ist die Bilanz aus Ver­kaufs­ge­winn und Lager­hal­tungs­kos­ten, und die Tran­si­ti­ons­wahr­schein­lich­kei­ten reflek­tie­ren \(\text{Bestand}’=\text{Bestand}-\text{Nachfrage}+a\) sowie einen zufäl­li­gen Shift der Nachfrage.

Abbil­dung 2: Illus­tra­ti­on des MDP, wel­ches das Bestands­pla­nungs­bei­spiel for­ma­li­siert. Bemer­ke, dass von \(B=2, N=1\) aus bei \(a=0\) der Nach­fol­ge­zu­stand \(B=1, N\in \{0,1,2,3\}\) ist. Die Beloh­nung ist $$ und -$ für 1 ver­kauf­tes respek­ti­ve gela­ger­tes Produkt.

Das Resul­tat vo DP ist die Poli­cy \(\pi:s\mapsto a\), wel­che Zustän­de \(s=(B, N)\) auf die Pro­dukt­nach­be­stel­lun­gen \(a\) abbil­det. Es han­delt sich in die­sem Fall um eine ska­la­res feld mit Input­di­men­si­on 2 (die Zustän­de) und Out­put­di­men­si­on 1 (die Aktionen).

Abbil­dung 3: Die opti­ma­le Poli­cy für das Bestands­pla­nungs­bei­spiel (a). Die opti­ma­len Pro­dukt­nach­be­stell­men­gen hän­gen pri­mär ab von der Dif­fe­renz \(B‑N\). Dies ändert sich jedoch in kom­pli­zier­te­ren Model­len mit nicht­tri­via­len Tran­si­ti­ons­wahr­schein­lich­kei­ten (b).

Eine so gene­rier­te Poli­cy kann nun in der Pra­xis benutzt wer­den, um für jede Kon­fi­gu­ra­ti­on von Bestand und Nach­fra­ge die erfolg­ver­spre­chends­tend Aktio­nen zu ermit­teln. Damit ist eine Poli­cy mehr als nur ein star­rer Plan — sie ist ein adap­ti­ver Massnahmenkatalog.

Anwendungen

DP ins­be­son­de­re im Zusam­men­hang mit MDP wird vor allem für die opti­ma­le Sys­tem­steue­rung ver­wen­det. Selbst in sei­ner sim­pels­ten Form ist der For­ma­lis­mus in der Lage, nicht­li­nea­re Beloh­nun­gen, dis­kre­te Steue­rungs­si­gna­le, und kom­pli­zier­te Tran­si­ti­ons­wahr­schein­lich­kei­ten zu hand­ha­ben und in opti­ma­le Poli­ci­es umzu­wan­deln. Die Beson­der­heit and Poli­ci­es besteht dar­in, dass sie fle­xi­ble Akti­ons­plä­ne sind, die für alle mög­li­chen Zustän­de Akti­ons­ket­ten vor­schla­gen und somit auch auf unvor­her­ge­se­he­ne Ereig­nis­se ange­mes­sen und ohne zusätz­li­chen Auf­wand reagie­ren können.

Pla­nun­gen mit ande­ren Metho­den wie die Pro­duk­ti­ons­pla­nung mit LP lie­fern nur eine ein­zel­ne Abfol­ge opti­ma­ler Ent­schei­dun­gen aus­ge­hend von einem Anfangs­zu­stand und bie­ten weni­ger Fle­xi­bi­li­tät und Adap­ti­vi­tät. Daher wird DP oft im ope­ra­ti­ven Bereich ein­ge­setzt, wo Ent­schei­dun­gen schnell getrof­fen wer­den müs­sen und Daten zur pro­ba­bi­lis­ti­schen Model­lie­rung vor­han­den sind. Dies ist der Fall z.B. bei der dyna­mi­schen Steue­rung von Ampeln, Ambu­lanz­ein­sät­zen, Kom­mu­ni­ka­ti­ons­netz­wer­ken, sup­p­ly chains, und Was­ser­haus­halts­pro­zes­sen, und reicht wei­ter­hin von der prä­dik­ti­ven Ter­min­pla­nung in der Medi­zin, der Bele­gungs­pla­nung in Call­cen­tern, bis hin zur Ent­wick­lung von Fische­rei­richt­li­ni­en. Details sind hier zu finden.

Lösungsverfahren

In ein­fa­chen Fäl­len, cha­rak­te­ri­siert durch end­lich vie­le Zustän­de und über­schau­bar vie­le dis­kre­te Aktio­nen, kön­nen MDP durch inte­r­ati­ve Ver­fah­ren gelöst wer­den. Um den Term

$$E_{\pi}\left[ \sum_{k=1}^{\text{end}} r(s_{k+1}, s_k, \pi(s_k))\right] $$

reprä­sen­tie­rend die erwar­te­te Gesamt­be­loh­nung zu maxi­mie­ren, wird typi­scher­wei­se eine Funk­ti­on \(V_{\pi}(s)\) ein­ge­führt. Die­se soge­nann­te Value­func­tion misst die erwar­te­te Gesamt­be­loh­nung, wenn star­tend von Zustand \(s\) aus die Poli­cy \(\pi\) ver­folgt wird. Für belie­bi­ge Zustän­de \(s\) und \(s’\) ste­hen \(V_{\pi}(s)\) und \(V_{\pi}(s’)\) funk­tio­nal mit­ein­an­der in Bezie­hung. Alter­nie­ren­de Ite­ra­ti­on zur Bestim­mung von \(V_{\pi}\) und zur Opti­mie­rung von \(\pi\) wird Valu­ei­te­ra­ti­on genannt [1, p. 37] und führt zur opti­ma­len Poli­cy \(\pi^*\).

Abbil­dung 4: Die Ite­ra­ti­on ver­bes­sert Schritt­wei­se die Schät­zun­gen für die Value­func­tion und die Poli­cy, um die Value­func­tion \(V_{\pi^*}\) der opti­ma­len Poli­cy \(\pi^*\) abzu­lei­ten (a). In (b) und © ist der funk­tio­na­le Zusam­men­hang zwi­schen \(V_{\pi}(s)\) und \(V_{\pi}(s’)\) sym­bo­li­siert. Wird im Zustand \(s\) Poli­cy \(\pi\) ver­folgt, so zieht dies Zustän­de \(s_1’, s_2’, …\) und ent­spre­chen­de Beloh­nun­gen \(r_1, r_2, …\) mit Wahr­schein­lich­kei­ten \(p_1, p_2, …\) nach sich. Dies impli­ziert funk­tio­na­le Zusam­men­hän­ge auf der Value­func­tion. Abbil­dun­gen ange­lehnt an [3, p. 87].

DP für MDP’s in unend­lich­di­men­sio­na­len Räu­men ist eben­falls mög­lich und wird benö­tigt, sobald mehr als end­lich vie­le poten­ti­el­le Zustän­de oder Aktio­nen berück­sich­tigt wer­den müs­sen. Dazu wer­den Fol­gen linea­rer Pro­gram­me gelöst [1, p. 377]. Sind Zustän­de nur teil­wei­se beob­acht­bar oder ist das Modell der Zustands­än­de­run­gen in Gän­ze unbe­kannt, dann sind For­mu­lie­run­gen als Par­ti­al­ly obser­va­ble Mar­kov-decis­i­on-pro­cess (POMDP) oder als Rein­force­ment lear­ning Pro­blem möglich.

Praktisches

DP und MDP sind effek­tiv lös­bar mit open source Algo­rith­men wie z.B. bereit­ge­stellt in der pymdp Tool­box für Python. Die Algo­rith­men sind jedoch weni­ger inten­siv getes­tet und gewar­tet ver­gli­chen mit den Algo­rith­men ver­füg­bar für LP, QP, etc. Die Lösung opti­ma­ler Steue­rungs­pro­ble­me via DP und MDP hat eher expe­ri­men­tel­len Cha­rak­ter. Trotz­dem ist es oft der ein­zi­ge Lösungs­an­satz, wel­cher der Kom­ple­xi­tät von Echt­welt­pro­ble­men gerecht wird [2, p. x]. Sowohl die Model­lie­rung des Pro­b­le­mes via For­ma­li­sie­rung der Zustands­räu­me und Tran­si­ti­ons­ma­tri­zen als auch die effek­ti­ve Lösung von MDP’s sind herausfordernd.

Code & Quellen

Bei­spiel­code: Methods_mdp.py in unse­rem Tuto­ri­al­fol­der

[1] Fein­berg, E. A., and Shwartz, A. (2012). Hand­book of Mar­kov Decis­i­on Pro­ces­ses: Methods and Appli­ca­ti­ons. Ber­lin Hei­del­berg: Sprin­ger Sci­ence & Busi­ness Media.

[2] Bou­cherie, R. J., & Dijk, N. M. (2017). Mar­kov Decis­i­on Pro­ces­ses in Prac­ti­ce. Hei­del­berg, New York, Dor­d­recht, Lon­don: Sprin­ger Inter­na­tio­nal Publishing.

[3] Sut­ton, R. S., & Bar­to, A. G. (2018). Rein­force­ment Lear­ning: An Intro­duc­tion. Cam­bridge: MIT Press.