Methoden: Linear programming

Definition

Unter line­ar pro­gramming (LP) sind sämt­li­che Opti­mie­rungs­pro­ble­me zusam­men­ge­fasst, deren Ziel­funk­ti­on und Neben­be­di­nun­gen linea­rer Natur sind. Es han­delt sich um die ein­fachs­te Klas­se von Opti­mie­rungs­pro­ble­men, die nume­ri­sche Lösungs­an­sät­ze erfor­dern. Sie las­sen sich alle­samt schrei­ben in der Form

$$ \begin{align} \min_x ~~~& \langle c,x\rangle \\ \text{s.t.} ~~~&Ax=b \\ ~~~& Gx\ge h \end{align}$$

in der Opti­mie­rungs­va­ria­blen \(x\). Hier­bei sind \(x, c, b, h\) Vek­to­ren und \(A, G\) sind Matri­zen. Das obi­ge Pro­blem in detail­lier­ter Schreib­wei­se lau­tet dem­nach wie folgt.

  • Fin­de die Varia­blen \(x_1, …, x_n\) sodass \(\langle c,x\rangle = c_1x_1 +, … , +c_nx_n\) mini­mal wird
  • Dabei soll gelten:
    1. \(a_{k1} x_1 + , …, + a_{kn}x_n =b_k ~~~~k=1, …, m_1\)
    2. \(g_{k1} x_1 + , …, + g_{kn}x_n \ge h_k ~~~~k=1, …, m_2\)

Das Pro­blem besteht aus einer zu mini­mie­ren­den Sum­me \(\langle c,x\rangle\), \(m_1\) Glei­chun­gen, und \(m_2\) Unglei­chun­gen. Alle Ter­me sind line­ar in der Opti­mie­rungs­va­ria­blen \(x\), daher der Name “line­ar programming”.

Beispiel

LP beinhal­tet arche­ty­pi­sche wirt­schaft­li­che Pro­duk­ti­ons­pro­ble­me wie etwa die Pro­duk­ti­ons­plan­er­stel­lung [1, pp. 14–16]. Sind etwa \(x_1, x_2\) die Men­gen zwei­er Pro­duk­te mit Pro­duk­ti­ons­kos­ten \(c_1, c_2\), so lässt sich das Optimierungsproblem

$$ \begin{align} \min_x ~~~& c_1 x_1 + c_2 x_2 \\ \text{s.t.} ~~~&x_1 + x_2 =2 \\ ~~~& x_1 \ge 0 ~~~ x_2 \ge 0 \end{align}$$

inter­pre­tie­ren als die Anwei­sung, Pro­duk­ti­ons­kos­ten zu mini­mie­ren und einen Gesamt­be­darf von 2 zu decken. Dabei sei­en nega­ti­ve Pro­duk­ti­ons­men­gen nicht erlaubt. Erwei­te­run­gen die­ses bei­spie­les auf meh­re­re Pro­duk­te, Min­dest­be­dar­fe, und Res­sour­cen­ver­brauchs­be­schrän­kun­gen sind pro­blem­los möglich.

Abbil­dung 1: Geo­me­tri­sche Illus­tra­ti­on des bei­spiel­haf­ten Pro­duk­ti­ons­pla­nungs­pro­b­le­mes. Jede Glei­chung und Unglei­chung schränkt die zuläs­si­ge Men­ge auf eine Gera­de oder einen Halb­raum ein.

Geometrisches

Das obi­ge Bei­spiel hat eine kla­re geo­me­tri­sche Inter­pre­ta­ti­on als Bestim­mung eines zwei­di­men­sio­na­len Punk­tes \(x = [x_1,x_2]\), der hin­sicht­lich sei­ner Lage durch eini­ge Gera­den beschränkt ist.

Das Opti­mum wird an dem Eck­punkt der zuläs­si­gen Men­ge erreicht, durch den die mini­ma­le Kos­ten­äqui­va­lenz­ge­ra­de ver­läuft. Bei hoch­di­men­sio­na­len Pro­ble­men wer­den aus 2‑dimensionalen Vek­to­ren n‑dimensionale Vek­to­ren, Gera­den­glei­chun­gen wer­den zu Hyper­ebe­nen­glei­chun­gen, und die Unglei­chun­gen defi­nie­ren Halb­räu­me. Die grund­le­gen­den geo­me­tri­schen Eigen­schaf­ten und Inter­pre­ta­tio­nen blei­ben erhalten.

Anwendungen

Die Anwen­dungs­mög­lich­kei­ten linea­rer Pro­gram­mie­rung erstre­cken sich weit über die Pro­duk­ti­ons­pla­nung hin­aus. Sie beinhal­ten Pro­ble­me aus den berei­chen Logis­tik, Trans­port- und Rou­ten­pla­nung, Maschi­nen­be­le­gungs­pla­nung, Inven­tar­kon­trol­le, Diä­ten­de­sign, Mate­ri­al­fluss, Fabrik­lay­out, Sto­chas­ti­sche Unglei­chun­gen, Bild­qua­li­täts­op­ti­mie­rung, Daten­kom­pres­si­on, Robus­te Appro­xi­ma­ti­on, Spiel­theo­rie, und Logik. Details sind hier zu fin­den. Je nach Anwen­dung reprä­sen­tiert \(\langle c,x\rangle\) mone­tä­re Kos­ten, nega­ti­ven Gewinn, Zeit­dau­ern, Maxi­mal­ab­wei­chun­gen, Wahr­schein­lich­kei­ten, oder schwer inter­pre­tier­ba­re Hilfs­grös­sen. Die Reprä­sen­ta­tio­nen die­ser Pro­ble­me als LP sind oft nicht offensichtlich.

Lösungsverfahren

Linea­re Pro­gram­me sind his­to­risch gese­hen die ers­ten pra­xis­re­le­van­ten hoch­di­men­sio­na­len Opti­mie­rungs­pro­ble­me, die sich zuver­läs­sig lösen lies­sen. Im Zusam­men­hang mit Pla­nungs­pro­ble­men der US Air Force nach dem 2. Welt­krieg wur­de von Dant­zig die soge­nann­te Sim­plex-Metho­de ent­wi­ckelt, deren Wei­ter­ent­wick­lung und Nut­zung für Res­sour­cen­al­lo­ka­ti­ons­pro­ble­me Koop­mans und Kan­to­ro­vic zu einem Wirt­schafts­no­bel­preis ver­half [2, p. 10].

Wie bereits in Abbil­dung 1 bemerkt und gene­rell beweis­bar, befin­det sich der opti­ma­le Punkt \(x\) eines LP an einem der Eck­punk­te der zulös­si­gen dirch Schnit­te von Hyper­ebe­nen defi­nier­ten Men­ge. Enu­me­ra­ti­on und sub­se­quen­ti­el­les Tes­ten jedes Eck­punk­tes führt zur zuver­läs­si­gen Iden­ti­fi­ka­ti­on des Opti­mums [3, p. 72]. Da die Anzahl der Eck­punk­te mit der Anzahl der Dimen­sio­nen über­pro­por­tio­nal wach­sen kann, ist die­se voll­stän­di­ge Enu­me­ra­ti­on oft teu­er und mitt­ler­wei­le exis­tie­ren bes­se­re Mög­lich­kei­ten; die inte­ri­or-point methods. Die­se Ver­fah­ren beru­hen dar­auf, die Unglei­chun­gen durch Bar­rie­re­funk­tio­nen zu erset­zen, deren Gewicht inkre­men­tell redu­ziert wird. Dadurch wird eine Fol­ge von Punk­ten — der zen­tra­le Pfad — gene­riert, wel­che zum Opti­mum konvergiert.

Abbil­dung 2: Illus­tra­ti­on der Sim­plex Metho­de, bei der alle Eck­punk­te der zuläs­si­gen Men­ge enu­me­riert und getes­tet wer­den (a). Bei den inte­ri­or-point methods über­nimmt eine inkre­men­tell redu­zier­te Bar­rie­re­funk­ti­on die Rol­le der Unglei­chun­gen (b).

Praktisches

LP mit hun­dert­tau­sen­den Opti­mie­rungs­va­ria­blen sind heut­zu­ta­ge auch auf han­dels­üb­li­chen Heim­rech­nern gut lös­bar. Dazu exis­tie­ren open source Algo­rith­men wie etwa imple­men­tiert im Gnu line­ar pro­gramming kit (GLPK) oder im Goog­le GLOP sol­ver. Dass selbst Excel mitt­ler­wei­le in der Lage ist, LP zu lösen mag als wei­te­res Zeug­nis gese­hen wer­den, dass LP tech­ni­sche Matu­ri­tät erreicht hat. Die Her­aus­for­de­rung besteht vor allem in der For­mu­lie­rung des Opti­mie­rungs­pro­b­le­mes selber.

Quellen

[1] Hu, T. C., & Kahng, Andrew B. (2016). Line­ar and Inte­ger Pro­gramming Made Easy. Ber­lin, Hei­del­berg: Springer.

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

[3] Gass, Saul I. (2003). Line­ar Pro­gramming: Methods and Appli­ca­ti­ons. New York: Cou­rier Corporation.