Theorie: Dualität

Definition

Zu jedem belie­bi­gen Mini­mie­rungs­pro­blem exis­tiert ein auf bestimm­te Art gespie­gel­tes Maxi­mie­rungs­pro­blem. Die­ses wird dua­les Pro­blem genannt und zielt dar­auf ab, eine unte­re Schran­ke für den Mini­mal­wert des ursprüng­li­chen (pri­ma­len) Pro­b­le­mes zu finden.

Die Lösung des dua­len Pro­b­le­mes gibt Aus­künf­te über den Ein­fluss der Neben­be­din­gun­gen auf die Lage des Opti­mums. Damit kön­nen Sen­si­ti­vi­täts­un­ter­su­chun­gen durch­ge­führt wer­den, womit Fra­gen nach einem der Robust­heit des Opti­mums zuträg­li­chen Sys­tem­de­sign beant­wor­tet wer­den kön­nen. Oft sehen dua­le Pro­ble­me ähn­lich aus dem zugrun­de­lie­gen­den (pri­ma­len) Pro­blem. Ist etwa $$ \begin{align} P~~~~~~\min_x ~~~&f(x) \\ \text{s.t.} ~~~&A(x) =b \\ & G(x)\le h \end{align}$$ ein belie­bi­ges Mini­mie­rungs­pro­blem, so lau­tet das dazu dua­le Problem

$$ \begin{align}D~~~~~~ \max_{\nu,\lambda} ~~~&\underbrace{\inf_x \left(f(x)+\nu^T(A(x)-b)+\lambda^T(G(x)-h)\right)}_{g(\nu,\lambda)} \\ \text{s.t.} ~~~&\lambda \ge 0 \end{align}$$

wobei \(\nu, \lambda\) die vek­tor­wer­ti­gen dua­len Opti­mie­rug­nsva­ria­blen sind und \(\inf_x\) ein gegen­über Grenz­wert­bil­dung robus­tes Mini­mum über \(x\) ist. Detail­lier­te­re Infor­ma­tio­nen sind z.B. in [1, pp.215–230] zu finden.

Relevanz

Für jedes zuläs­si­ge x des pri­ma­len Pro­b­le­mes ist der Term \(f(x)+\nu^T(A(x)-b)+\lambda^T(G(x)-h)\) klei­ner als \(f(x)\), da für \(\lambda \ge 0\) gilt, dass \( \nu^T(A(x)-b)=0\) und \(\lambda^T(G(x)-h)\le 0\). Folg­lich ist

$ g(\nu,\lambda) \le \min_{x\in D} f(x) ~~~D=\{x \in \mathbb{R}^n: A(x)=b \text{ und } G(x)\le h\}$

für alle \(\lambda \ge 0\) und \(\nu \in \mathbb{R}^{m_1}\). Ist \( g(\nu,\lambda)\) bekannt, kann der Mini­mal­wert von \(P\) ein­fach abge­schätzt wer­den. Eine Maxi­mie­rung über die­se unte­re Schran­ke führt zum dua­len Pro­blem \(D\), des­sen Lösung \(d^*\) die bes­te so ableit­ba­re unte­re Schran­ke ist für die Lösung \(p^*\) des pri­ma­len Pro­blems. Der Vor­teil die­ses For­ma­lis­mus ist dreifach:

  • Unter Umstän­den ist \(P\) schi­we­rig aber \(D\) ist einfach
  • Lösun­gen \( \lambda^*, \nu^*\) von \(D\) erlau­ben Aus­sa­gen über \(P\)
  • Der dua­li­ty gap \(p^*-d^*\ge 0\) zeigt an, ob \(P\) und \(D\) kor­rekt gelöst sind

Beispiel

Dies lässt sich am arche­ty­pi­schen Pro­duk­ti­ons­bei­spiel zei­gen, wel­ches auch zur Illus­tra­ti­on linea­rer Pro­gram­mie­rung her­an­ge­zo­gen wur­de. Es sol­len Pro­dukt­men­gen \(x=[x_1,x_2]\ge 0\) pro­du­ziert wer­den, sodass der bedarf von \(x_1+x_2=2\) gedeckt ist und die Kos­ten \(c^Tx = c_1x_1+c_2x_2\) mit \(c=[1,5]\) mini­mal sind. Das ent­spre­chen­de linea­re Programm

$$ \begin{align} P~~~~~~\min_x ~~~&c^Tx ~~~~~~~&c=[1,5] \\ \text{s.t.} ~~~&Ax =b &b=2 ~~~A=[1,1] \\ & x\ge 0 & \end{align}$$

wird von Algo­rith­men gelöst zu \(x^*=[,0]\) mit den Mini­mal­kos­ten \(c^Tx^*=2\). Das dua­le Programm

$$ \begin{align} D~~~~~~\max_{\nu,\lambda} ~~~&-b^T\nu  \\ \text{s.t.} ~~~& A^T\nu +c -\lambda =0 \\ & \lambda \ge 0 \end{align}$$

ergibt sich \(g(\nu,\lambda)=\inf_x c^Tx+\nu^T(Ax‑b)-\lambda^Tx = \inf_x -\nu^Tb +(c^T+\nu^TA-\lambda^T)x\), wobei letz­te­re For­mu­lie­rung ent­wer­der den Wert \(-\nu^Tb\) hat (falls \(c+A^T\nu — \lambda =0\)) oder \(-\infty\) (alle ande­ren Konstellationen).

Abbil­dung 1: Das pri­ma­le Pro­blem besteht aus zwei Opti­mie­rungs­va­ria­blen und drei Neben­be­din­gun­gen, das dua­le Pro­blem aus drei Opti­mie­rungs­va­ria­blen und vier Neben­be­din­gun­gen. Dabei tau­schen die Ter­me vor­kom­mend in Neben­be­din­gun­gen und Ziel­funk­ti­on ihre Rollen.

Interpretation

Das dua­le Pro­blem ist eben­falls ein LP und kann gelöst wer­den zu \(\nu^*=-1, \lambda^*=[0,4]\) mit maxi­ma­lem Wert \(d^*=-b\nu^*=2\) dar­aus las­sen sich zwei Schluss­fol­ge­run­gen ableiten.

  1. Der dua­li­ty gap \(p^*-d^*\) ist \(0\). \(P\) kann kei­ne Lösung \(p^*\) mit Wer­ten klei­ner als 2 haben, da \(d^*=2\) eine unte­re Schran­ke ist. Da \(p^*=d^*\) und es nur ein Opti­mum gibt, ist es ein­deu­tig iden­ti­fi­ziert wor­den und bei­de Opti­mie­rungs­pro­ble­me sind zer­ti­fi­zier­bar kor­rekt gelöst worden.
  2. Die opti­ma­len Para­me­ter \(\nu^*, \lambda^*\) des dua­len Pro­b­le­mes sind \([\nu^*]=-1 \) und \([\lambda_1^*,\lambda^*_2]=[0,4]\). Sie ste­hen in direk­tem Zusam­men­hang mit den Gewin­nen, die aus einer Miss­ach­tung der Neben­be­din­gun­gen erwach­sen wür­den [1, p.252].
    • Die Lösung von \(P\) mit ver­än­der­ter Neben­be­din­gung \(x_1\ge 1 \) statt \(x_1 \ge 0\) ist \(x^*=[2,0]\) mit \(c^Tx^*=2\) — eine Ver­än­de­rung von \(\lambda_1^*=0\) von \(p^*\).
    • Die Lösung von \(P\) mit ver­än­der­ter Neben­be­din­gung \(x_2\ge 1 \) statt \(x_2 \ge 0\) ist \(x^*=[1,1]\) mit \(c^Tx^*=6\) — eine Ver­än­de­rung von \(\lambda_2^*=4\) von \(p^*\).
    • Die Lösung von \(P\) mit ver­än­der­ter Neben­be­din­gung \(x_1+x_2=1 \) statt \(x_1+x_2=2\) ist \(x^*=[1,0]\) mit \(c^Tx^*=1\) — eine Ver­än­de­rung von \(\nu^*=-1\) von \(p^*\).

Somit sind \(\nu^*, \lambda^*\) Quan­ti­fi­zie­run­gen, wel­cher wirt­schaft­li­che Ver­lust durch die Neben­be­din­gun­gen ent­steht und zu wel­chem Preis ihre Ver­mei­dung ange­mes­sen zu erkau­fen wäre.

Anwendung

Ist das pri­ma­le Pro­gramm ein opti­ma­les Pro­duk­ti­ons­ma­nage­ment Pro­blem, so ist das dua­le Pro­gramm ein Pro­blem der opti­ma­len Pre­si­fin­dung sei­tes der Roh­stoff­lie­fe­ran­ten [2, pp. 77–80]. Dua­le Pro­gram­me erlau­ben eine Sen­si­tiv­täts­ana­ly­se des ursprüng­li­chen Pro­b­le­mes und eine bes­se­re Beur­tei­lung der Neben­be­din­gun­gen. Damit refo­kus­sie­ren sie Auf­merk­sam­keit weg von den opti­ma­len Ent­schei­dun­gen im Sys­tem und hin zum opti­ma­len Sys­tem­de­sign. Sie reprä­sen­tie­ren inter­es­san­te Pro­ble­me unab­hän­gig ihres Ver­hält­nis­ses zum pri­ma­len Programm.

Wenn für das Paar \((P,D)\) von Pro­ble­men \(p^*=d^*\) gilt, spricht man von star­ker Dua­li­tät. Star­ke Dua­li­tät ist an die Efül­lung der Sla­ter-Bedin­gun­gen betref­fen der zuläs­si­gen Men­ge von \(P\) geknüpft und stellt den Regel­fall dar für LP, QP, QCQP, SOCP, und SDP. Die Zusam­men­hän­ge zwi­schen \(P\) und \(D\) wer­den von pri­mal-dua­len Lösungs­al­go­rith­men aus­ge­nutzt, wel­che Opti­mie­rungs­schrit­te für \(P\) und \(D\) syn­chron und gekop­pelt durch­füh­ren. Die­se Metho­den sind dank der Zer­ti­fi­zier­bar­keit der Lösung und der schnel­len Kon­ver­genz durch Nut­zung der pri­ma­len und dua­len Gra­di­en­ten enorm beliebt [3, p. 115].

Quellen

[1] Boyd, S., & Van­den­berg­he, L. (2004). Con­vex Optimi­zation. Cam­bridge: Cam­bridge Uni­ver­si­ty Press.

[2] Van­der­bei, Robert J. (2013). Line­ar Pro­gramming: Foun­da­ti­ons and Exten­si­ons. USA: Sprin­ger US.

[3] De Klerk, E. (2006). Aspects of Semi­de­fi­ni­te Pro­gramming: Inte­ri­or Point Algo­rith­ms and Sel­ec­ted Appli­ca­ti­ons. Ber­lin Hei­del­berg: Sprin­ger Sci­ence & Busi­ness Media.