Methoden: Quadratic programming und SOCP

Definition

Qua­dra­tic pro­gramming (QP), qua­dra­ti­cal­ly cons­trai­ned qua­dra­tic pro­gramming (QCQP) u, und second order cone pro­gramming (SOCP) sind Gene­ra­li­sie­run­gen des line­ar Pro­gramming (LP).  SIe beinhal­ten vie­le Pra­xis­re­le­van­te Pro­ble­me inlu­si­ve Ver­all­ge­mei­ne­run­gen des Least Squares.

Die linea­re Ziel­funk­ti­on und die linea­ren Neben­be­din­gun­gen des LP wer­den erwei­tert zu qua­dra­ti­schen Ziel­funk­tio­nen und qua­dra­ti­schen Neben­be­din­gun­gen. Qua­dra­ti­sche Pro­gram­me haben die Form

$$ \begin{align} (QP)~~~~ & ~~~~~~~~~~& (QCQP)~~~~ &\\ \min_x ~~~& \frac{1}{2} x^TP_0x+\langle c_0,x\rangle& \min_x ~~~& \frac{1}{2} x^TP_0x+\langle c_0,x\rangle \\ \text{s.t.} ~~~&Ax=b & ~~~&Ax=b \\ ~~~& Gx\ge h & ~~~& \frac{1}{2} x^TP_kx+\langle p_k,x\rangle\le h_k ~~~ k=1, …, m_2\end{align}$$

wobei \(x, c_0, c_1, …, c_{m_2}, b, h\) Vek­to­ren und \(P_0, P_1, …, P_{m_2}, A, G\) Matri­zen sind. QP ist eine direk­te Erwei­te­rung von LP um den qua­dra­ti­schen Term \((1/2) x^TP_0x\) in der Ziel­funk­ti­on und QCQP erwei­tert QP um qua­dra­ti­sche Ter­me \((1/2)x^TP_kx\) in den Neben­be­din­gun­gen. Sie beinhal­ten Kreis- und Ellip­so­id­glei­chun­gen. SOCP unter­sucht das noch all­ge­mei­ne­re Optimierungsproblem

$$ \begin{align} \min_x ~~~& \langle c, x\rangle \\ \text{s.t.}
~~~&Ax =b \\ ~~~& \|G_k x +h_k\|_2 \le \langle f_k,x\rangle + d_k ~~~ k=1, …, m_2 \end{align}$$

in der Opti­mie­rungs­va­ria­blen x. Dabei sind \(x, c, b, f_1, …, f_{m_2}, h_1, …, h_{m_2}\) Vek­to­ren, \(A, G_1, …, G_{m_2}\) Matri­zen, und \(d_1, …, d_{m_2}\) Skalare.

Beispiel

SOCP erlaubt die Lösung linea­rer Pro­gram­me, deren Bedin­gun­gen sto­chas­ti­scher Natur sind. Sei­en zwei Pro­duk­te in sol­chen Men­gen \(x_1, x_2\) her­zu­stel­len, dass der Bedarf \(b\) unter Auf­wen­dung mini­ma­ler Pro­duk­ti­ons­kos­ten \(c_1x_1 +c_2x_2\) gedeckt wer­de. Sei nun wei­ter­hin der Pro­duk­ti­ons­pro­zess mit Unsi­cher­hei­ten behaf­tet, sodass nur Tei­le \(a_1x_1, a_2x_2\) des Her­stel­lungs­out­puts nutz­bar sind. Sind nun \([a_1,a_2]\) zufäl­lig, so macht es Sinn, die Ein­hal­tung der Bedarfs­de­ckung nicht mehr abso­lut aber mit hoher Wahr­schein­lich­keit \(\eta\) zu for­dern. Ist \(a=[a_1,a_2]\) nor­mal­ver­teilt mit Erwar­tungs­wert \(\bar{a}=[\bar{a}_1, \bar{a}_2]\) und Kova­ri­anz­ma­trix \(\Sigma\), so gilt

$$ \begin{align} P(a^Tx \ge b)\ge \eta & \Leftrightarrow \phi^{-1}(\eta) \|\Sigma^{1/2} x \|_2 \le \bar{a}^Tx — b \end{align} $$

wobei \(P(\cdot)\) für die Wahr­schein­lich­keit des umklam­mer­ten Aus­dru­ckes steht und \(\phi^{-1}\) die inver­se der kumu­la­ti­ven Nor­mal­ver­tei­lungs­funk­ti­on ist. Das zuge­hö­ri­ge SOCP

$$ \begin{align} \min_x ~~~& c_1x_1 + c_2x_2 \\ \text{s.t.}
~~~&x_1 \ge 0 ~~~ x_2 \ge 0 \\ ~~~& \phi^{-1}(\eta)\|\Sigma^{1/2}x\|_2 \le \bar{a}^Tx‑b \end{align}$$

for­mu­liert eine Kos­ten­mi­ni­mie­rung bei gleich­zei­ti­ger Bedarfs­de­ckungs­wahr­schein­lich­keit von \(\eta\) % [1, p.158]. Die nach­fol­gen­de Abbil­dung illus­triert dies für den Fall \(\bar{a}=[0.7, 0.7], \Sigma=0.1 I \) und \(\eta=90\%\); die rest­li­chen Para­me­ter sind wie im Bei­spiel zum LP.

Abbil­dung 1: Die zuläs­si­ge Men­ge ist eine gekrümm­te kon­ve­xe Men­ge. Ihr Schnitt­punkt mit der Iso­kos­ten­ge­ra­de reprä­sen­tie­rend die gerings­ten Kos­ten ergibt das Opti­mum — in die­sem Fall \([4.5,1]\) und damit erheb­lich ent­fernt von der ursprüng­li­chen Bedarfs­ge­ra­de \(x_1+x_2=2\).

Geometrisches

Die Kegel­be­din­gung \( \|\Sigma^{1/2} x\|_2 \le [\phi^{-1}(\eta]^{-1}(\bar{a}^Tx‑b)\) ist eine mul­ti­va­ria­te Gene­ra­li­sie­rung der klas­si­schen Kon­fi­denz­in­ter­val­le. Wäh­rend die­se im ein­di­men­sio­na­len fall tat­säch­li­che Inter­val­le sind, han­delt es sich im zwei­di­men­sio­nen Fall um ellip­sen­ar­ti­ge For­men. Der Term \(\| \Sigma^{1/2} x\|_2\) ist die Stan­dard­ab­wei­chung der zufäl­li­gen Line­ar­kom­bi­na­ti­on \(a^Tx\) und damit ein Mass für die Streu­ung um den Erwar­tungs­wert \(\bar{a}^Tx\).

Bei­de Grös­sen wer­den zur Abschät­zung der Wahr­schein­lich­keit benö­tigt, dass der Anteil \(a^Tx\) feh­ler­frei­er Pro­duk­te durch zufäl­li­ge Schwan­kun­gen gerin­ger aus­fällt als der zu decken­de Bedarf. Da \(\|\Sigma^{1/2} x\|_2\) und $\(a^Tx\) auf bei­den Sei­ten der Glei­chung vor­kom­men, ist eine For­mu­lie­rung nur als SOCP und nicht als QCQP möglich.

Abbil­dung 2: Das 1D 95% Kon­fi­denz­in­ter­vall ist das­je­ni­ge Inter­vall, sodass 95% aller zufalls­ge­ne­rier­ten Wer­te in ihr lie­gen (a). Die 2D 95 % Kon­fi­den­z­el­lip­sen errei­chen das­sel­be für 2D Daten (b). Die Kegel­for­mu­lie­rung der sto­chas­ti­schen Neben­be­din­gun­gen greift auf Ellip­so­ide und linea­re Glei­chun­gen zurück ©.

Anwendungen

Alle Bei­spie­le für Anwen­dun­gen von LP sind auch Bei­spie­le für Anwen­dun­gen von SOCP. Ins­be­son­de­re las­sen sich Pro­ble­me for­mu­lie­ren, die Vek­tor­län­gen und Ellip­so­ide beinhal­ten, wor­un­ter of die sto­chas­ti­schen Gene­ra­li­sie­run­gen von LP und die Mini­mie­rung phy­si­ka­lisch moti­vier­ter qua­dra­ti­scher Ener­gien fal­len. Kon­kret sind das Port­fo­lio Opti­mie­run­gen, robus­tes LP, LP mit sto­chas­ti­schen Neben­be­din­gun­gen, opti­ma­le line­ar-qua­dra­ti­sche Rege­lung kine­ma­ti­scher Sys­te­me, phy­si­ka­li­sche Simu­la­ti­on, Para­me­ter­schät­zung in Gaus­schen Model­len, robus­tes Least-Squa­res, Kal­man Fil­te­rung, iso­to­ni­sche Regres­si­on, Anten­ne­de­sign, Robo­ter­t­ra­jek­to­ri­en­op­ti­mie­rung, und Bild­ver­ar­bei­tung. Details sind hier zu finden.

Die Bei­spie­le schei­nen weni­ger pra­xis­re­le­vant und intui­tiv ver­ständ­lich als bei LP. Das liegt jedoch dar­an, dass QP, QCQP, und SOCP das klas­si­sche LP um die Anwe­sen­heit von Unsi­cher­heit erwei­tern und neue Mög­lich­kei­ten für ande­re eta­blier­te Tech­ni­ken wie etwa das Least-Squa­res bereitstellen.

Lösungsverfahren

Da die zuläs­si­gen Men­gen gekrümmt sind, ist eine Suche des Opti­mums durch Enu­me­ra­ti­on und Eva­lua­ti­on aller Eck­punk­te nicht prak­ti­ka­bel. Lösungs­an­sät­ze mit beson­de­rem Geschwin­dig­keits­an­spruch sind oft gra­di­en­ten­ba­siert, da die Gra­di­en­ten von qua­dra­ti­schen und linea­ren Ter­men ein­fach zu bestim­men sind. Es zäh­len dazu die Ver­fah­ren der kon­ju­gier­ten Gra­di­en­ten, aug­men­tier­ten Lagran­gi­an und pro­ji­zier­ten Gra­di­en­ten [2, pp. 73, 116, 173]. Auf­grund der uni­ver­sel­len Nutz­bar­keit und zuneh­men­der nume­ri­scher Per­for­mance fin­den sich ver­mehrt auch inte­ri­or-point Metho­den, wel­che Neben­be­din­gun­gen durch zusätz­li­che Straf­ter­me ersetzen.

Praktisches

SOCP mit vie­len zehn­tau­send Varia­blen kön­nen heut­zu­ta­ge zuver­läs­sig gelöst wer­den. Lösungs­al­go­rith­men sind in Form von open source soft­ware ver­füg­bar, z.B. der Split­ting Conic Sol­ver [3]. Es gibt durch die Nähe von QP und Fini­te Ele­men­te Metho­den auch Soft­ware spe­zi­fisch für Anwen­dun­gen in Bau­sta­tik und Maschi­nen­bau [4]. Auf­grund der in Phy­sik, Mecha­nik, und Sta­tis­tik oft vor­kom­men­den qua­dra­ti­schen Ener­gie­ter­me ist QP ein natür­li­ches Instru­ment in die­sen Dis­zi­pli­nen. Die rich­ti­ge Form von QPs und QCQPs ist unter Umstän­den direkt aus einer Pro­blem­for­mu­lie­rung abzu­le­sen; SOCPs sind typi­scher­wei­se schwie­ri­ger zu inter­pre­tie­ren. Waren schon im LP nicht alle Ein­bet­tun­gen offen­sicht­lich, so gilt dies hier in noch höhe­rem Masse.

Code & Quellen

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

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

[2] Dostál, Zde­nek. (2009) Opti­mal Qua­dra­tic Pro­gramming Algo­rith­ms: With Appli­ca­ti­ons to Varia­tio­nal Ine­qua­li­ties. Ber­lin Hei­del­berg: Sprin­ger Sci­ence & Busi­ness Media.

[3] O’do­noghue, B., Chu, E., Parikh, N., & Boyd, S. (2016). Conic Optimi­zation via Ope­ra­tor Split­ting and Homo­ge­neous Self-Dual Embed­ding. Jour­nal of Optimi­zation Theo­ry and Appli­ca­ti­ons, 169(3), 1042–1068.

[4] Szabo, B. A., & Tsai C. (1973). The qua­dra­tic pro­gramming approach to the fini­te ele­ment method. Inter­na­tio­nal Jour­nal for Nume­ri­cal Methods in Engi­nee­ring, 5(3), 375–381.