Optimizacijske metode

Linearno programiranje


Standardna oblika

</span>


Primer

Zapišimo prejšnji primer v standardni obliki.

\[\begin{aligned} \max \ -2x_1 + 3x^+_2 - 3x^-_2 + 2x'_3 \\[1ex] \text{p.p.} \quad x_1 + 2x^+_2 - 2x^-_2 + x'_3 &\le 4 \\ -x_1 - 5x^+_2 + 5x^-_2 + 2x'_3 &\le -2 \\ 2x_1 - 3x^+_2 + 3x^-_2 + 4x'_3 &\le 1 \\ -2x_1 + 3x^+_2 - 3x^-_2 - 4x'_3 &\le -1 \\ x_1, x^+_2, x^-_2, x'_3 &\ge 0 \end{aligned}\]

Splošni zapis LP v standardni obliki

V splošnem lahko zapišemo linearni program v standardni obliki kot

\[\begin{aligned} \max \ c_1 x_1 + c_2 x_2 + \dots + c_n x_n \\[1ex] \text{p.p.} \quad a_{11} x_1 + a_{12} x_2 + \dots + a_{1n} x_n &\le b_1 \\ a_{21} x_1 + a_{22} x_2 + \dots + a_{2n} x_n &\le b_2 \\ &\ \ \vdots \\ a_{m1} x_1 + a_{m2} x_2 + \dots + a_{mn} x_n &\le b_m \\ x_1, x_2, \dots, x_n &\ge 0 \end{aligned}\]

Matrična oblika


Konveksnost


Primeri konveksnih množic


Lastnosti konveksnih množic


Konveksnost pri linearnih programih

</span>


Grafično reševanje LP z dvema spremenljivkama

</span>

</span>

</span>


Politop dopustnih rešitev


Simpleksna metoda

Denimo, da imamo linearni program v standardni obliki

\[\begin{aligned} \max \ c^\top x \\[1ex] \text{p.p.} \quad A x &\le b \\ x &\ge 0 \end{aligned}\]

kjer velja


Primer - kmetija

</span>


Prvi slovar

</span>


Slovarji


Vstopne in izstopne spremenljivke


Pivotiranje


Naslednji slovar


Nadaljevanje metode


Kaj se lahko še zgodi?


Kaj se lahko še zgodi? (2)


Vse optimalne rešitve

Kako iz zadnjega slovarja za optimalni problem dobimo vse optimalne rešitve?


Primer

</span>

</span>

</span>

</span>


Končnost simpleksne metode


Časovna zahtevnost simpleksne metode


Klee-Mintyjeva kocka


Dvofazna simpleksna metoda

Uporabljamo jo za linearne programe v standardni obliki, za katere ne velja $b \ge 0$.

  1. faza: ugotovi, ali je linearni program dopusten - če je, nam prva faza da dopusten začetni slovar za drugo fazo.
  2. faza: identična simpleksni metodi.

Primer

Imamo dve vitaminski tableti, Polivit in Oligovit, ki vsebujejo različne količine vitaminov A, B in C.

  A B C cena za tableto
Polivit 1 4 1 12
Oligovit 1 1 2 10
dnevne potrebe 7 13 8  

Kako najceneje zadostiti dnevnim potrebam?


Linearni program

</span>


Pomožni problem prve faze


Začetni slovar za prvo fazo


Nadaljevanje prve faze


Začetni slovar za drugo fazo


Nadaljevanje druge faze

$x_1$ vstopi, $x_3$ izstopi:

\[\begin{aligned} x_1 &= 2 - {1 \over 3} x_3 + {1 \over 3} x_4 \\[-1ex] x_2 &= 13 - 4 \left(2 - {1 \over 3} x_3 + {1 \over 3} x_4\right) + x_4 \\[-1ex] &= 5 + {4 \over 3} x_3 - {1 \over 3} x_4 \\[-1ex] x_5 &= 18 - 7 \left(2 - {1 \over 3} x_3 + {1 \over 3} x_4\right) + 2 x_4 \\[-1ex] &= 4 + {7 \over 3} x_3 - {1 \over 3} x_4 \\ \hline z &= -130 + 28 \left(2 - {1 \over 3} x_3 + {1 \over 3} x_4\right) - 10 x_4 \\[-1ex] &= -74 - {28 \over 3} x_3 - {2 \over 3} x_4 \end{aligned}\]

</span>


Optimalna rešitev

Imamo zadnji slovar druge faze, preberemo optimalno rešitev:


Kaj se lahko zgodi ob koncu prve faze?

Prva faza se vedno konča, ko ne moremo več izbrati vstopne spremenljivke (ker je problem omejen).


Povzetek

h:500px


Osnovni izrek linearnega programiranja


Dualnost pri linearnem programiranju


Zgornja meja za ciljno funkcijo


Dualni linearni program

Prvotnemu linearnemu programu $\Pi$ dodelimo dualni linearni program $\Pi’$:

\[\begin{aligned} \min &\ & 50 y_4 + 250 y_5 + 300 y_6 \\[1ex] \text{p.p.} && y_4 + 3 y_5 + 3 y_6 &\ge 10 \\ && y_4 + 4 y_5 + 5 y_6 &\ge 15 \\ && y_4 + 5 y_5 + 4 y_6 &\ge 12 \\ && y_4, y_5, y_6 &\ge 0 \end{aligned}\]

Definicija

Definicija. Za prvotni linearni program $\Pi$ je njegov dualni linearni program $\Pi’$, kjer je

\[\begin{aligned} \max \ c^\top x \\[1ex] \text{p.p.} \quad A x &\le b \\ x &\ge 0 \end{aligned}\]

</span>

\[\begin{aligned} \min \ b^\top y \\[1ex] \text{p.p.} \quad A^\top y &\ge c \\ y &\ge 0 \end{aligned}\]

</span> </span>

\[\begin{aligned} \max \ \sum_{j=1}^n c_j x_j \\[1ex] \text{p.p.} \quad \sum_{j=1}^n a_{ij} x_j &\le b_i & (1 &\le i \le m) \\ x_j &\ge 0 & (1 &\le j \le n) \end{aligned}\]

</span>

\[\begin{aligned} \min \ \sum_{i=1}^m b_i y_{n+i} \\[1ex] \text{p.p.} \quad \sum_{i=1}^m a_{ij} y_{n+i} &\ge c_j & (1 &\le j \le n) \\ y_{n+i} &\ge 0 & (1 &\le i \le m) \end{aligned}\]

</span> </span>

</span>


Dualnost


Šibki izrek o dualnosti (ŠID)


Še en dokaz

\[\begin{aligned} \sum_{j=1}^n c_j x_j &\le \sum_{j=1}^n \left(\sum_{i=1}^m a_{ij} y_{n+i}\right) x_j & \Big(\forall j: \sum_{i=1}^m a_{ij} y_{n+i} &\ge c_j, x_j \ge 0\Big) \\ &= \sum_{i=1}^m \left(\sum_{j=1}^n a_{ij} x_j\right) y_{n+i} \\ &\le \sum_{i=1}^m b_i y_{n+i} & \Big(\forall i: \sum_{j=1}^n a_{ij} x_j &\le b_i, y_{n+i} \ge 0\Big) \\ \end{aligned}\]

Posledici


Krepki izrek o dualnosti (KID)


Problem kmetije

</span>


Dokaz KID


Dokaz KID (2)

Velja

\[\begin{aligned} z &= \sum_{j=1}^n c_j x^\ast_j + \sum_{j=1}^n c^\ast_j x_j + \sum_{i=1}^m (-y^\ast_{n+i}) \left(b_i - \sum_{j=1}^n a_{ij} x_j\right) \\ &= \left(\sum_{j=1}^n c_j x^\ast_j - \sum_{i=1}^m b_i y^\ast_{n+i}\right) + \sum_{j=1}^n c^\ast_j x_j + \sum_{j=1}^n \left(\sum_{i=1}^m a_{ij} y^\ast_{n+i}\right) x_j \\ &= \left(\sum_{j=1}^n c_j x^\ast_j - \sum_{i=1}^m b_i y^\ast_{n+i}\right) + \sum_{j=1}^n \left(c^\ast_j + \sum_{i=1}^m a_{ij} y^\ast_{n+i}\right) x_j \\ \end{aligned}\]

Dokaz KID (3)


Povzetek


Primer: nedopustni LP in dual

\[\begin{aligned} \Pi: \\[1ex] \max &\ & 2x_1 - x_2 \\ \text{p.p.} && -x_1 + x_2 &\le -2 \\ && x_1 - x_2 &\le 1 \\ && x_1, x_2 &\ge 0 \end{aligned}\]

</span>

\[\begin{aligned} \Pi': \\[1ex] \min &\ & -2y_3 + y_4 \\ \text{p.p.} && -y_3 + y_4 &\ge 2 \\ && y_3 - y_4 &\ge -1 \\ && y_3, y_4 &\ge 0 \end{aligned}\]

</span>

</span>


Izrek o dualnem dopolnjevanju (IDD)


IDD - ekvivalentna oblika

Ekvivalentno: potem sta $x$ in $y$ optimalni rešitvi za $\Pi$ oziroma $\Pi’$ natanko tedaj, ko velja

\[\begin{aligned} \forall i &\in \lbrace 1, \dots, m \rbrace: & \Big(\sum_{j=1}^n a_{ij} x_j &< b_i &&\Rightarrow& y_{n+i} &= 0\Big) \quad \text{in} \\ \forall j &\in \lbrace 1, \dots, n \rbrace: & \Big(x_j &> 0 &&\Rightarrow& \sum_{i=1}^m a_{ij} y_{n+i} &= c_j\Big). \end{aligned}\]

Dokaz IDD

\[L = \sum_{j=1}^n c_j x_j \le \sum_{j=1}^n \left(\sum_{i=1}^m a_{ij} y_{n+i}\right) x_j = \sum_{i=1}^m \left(\sum_{j=1}^n a_{ij} x_j\right) y_{n+i} \le \sum_{i=1}^m b_i y_{n+i} = D\]

Primer

Pokaži, da je $x = (0, 50, 0)$ optimalna rešitev problema kmetije.


Primer (2)


Ekonomski pomen dualnih spremenljivk


Ekonomski pomen dualnih spremenljivk (2)

</span>


Dual splošnega linearnega programa

Izrek. Naj bo $\Pi$ linearni program v spodnji obliki. Potem je njegov dual $\Pi’$:

\[\begin{aligned} \max \ \sum_{j=1}^n c_j x_j \\[1ex] \text{p.p.} \quad \sum_{j=1}^n a_{ij} x_j &\le b_i & (1 &\le i \le m') \\ \sum_{j=1}^n a_{ij} x_j &= b_i & (m'+1 &\le i \le m) \\ x_j &\ge 0 & (1 &\le j \le n') \end{aligned}\]

</span>

\[\begin{aligned} \min \ \sum_{i=1}^m b_i y_{n+i} \\[1ex] \text{p.p.} \quad \sum_{i=1}^m a_{ij} y_{n+i} &\ge c_j & (1 &\le j \le n') \\ \sum_{i=1}^m a_{ij} y_{n+i} &= c_j & (n'+1 &\le j \le n) \\ y_{n+i} &\ge 0 & (1 &\le i \le m') \end{aligned}\]

</span>

</span>


IDD za splošni linearni program


Primer

\[\begin{aligned} \Pi: \\[1ex] \max \ 3 x_1 - 2 x_2 \\[1ex] \text{p.p.} \quad x_1 + 4 x_2 &\le 5 \\ 3 x_1 + x_2 &= 4 \\ x_1 &\ge 0 \end{aligned}\]

</span>

\[\begin{aligned} \Pi': \\[1ex] \min \ 5 y_3 + 4 y_4 \\[1ex] \text{p.p.} \quad y_3 + 3 y_4 &\ge 3 \\ 4 y_3 + y_4 &= -2 \\ y_3 &\ge 0 \end{aligned}\]

</span>

</span>


Splošni LP v standardni obliki

\[\begin{aligned} \max \ \sum_{j=1}^{n'} c_j x_j + \sum_{j=n'+1}^n c_j x^+_j - \sum_{j=n'+1}^n c_j x^-_j \\ \text{p.p.} \quad \sum_{j=1}^{n'} a_{ij} x_j + \sum_{j=n'+1}^n a_{ij} x^+_j - \sum_{j=n'+1}^n a_{ij} x^-_j &\le b_i & (1 &\le i \le m') \\[-2ex] \sum_{j=1}^{n'} a_{ij} x_j + \sum_{j=n'+1}^n a_{ij} x^+_j - \sum_{j=n'+1}^n a_{ij} x^-_j &\le b_i & (m'+1 &\le i \le m) \\[-2ex] -\sum_{j=1}^{n'} a_{ij} x_j - \sum_{j=n'+1}^n a_{ij} x^+_j + \sum_{j=n'+1}^n a_{ij} x^-_j &\le -b_i & (m'+1 &\le i \le m) \\[-2ex] x_j &\ge 0 & (1 &\le j \le n') \\[-1ex] x^+_j, x^-_j &\ge 0 & (n'+1 &\le j \le n) \end{aligned}\]

Dual splošnega linearnega programa - dokaz

Zapišimo še dual - ta je enakovreden našemu zapisu $\Pi’$:

\[\begin{aligned} \min \ \sum_{i=1}^{m'} b_i y_{n+i} + \sum_{i=m'+1}^m b_i y^+_{n+i} - \sum_{i=m'+1}^m b_i y^-_{n+i} \\ \text{p.p.} \quad \sum_{i=1}^{m'} a_{ij} y_{n+i} + \sum_{i=m'+1}^m a_{ij} y^+_{n+i} - \sum_{i=m'+1}^m a_{ij} y^-_{n+i} &\ge c_j & (1 &\le j \le n') \\[-2ex] \sum_{i=1}^{m'} a_{ij} y_{n+i} + \sum_{i=m'+1}^m a_{ij} y^+_{n+i} - \sum_{i=m'+1}^m a_{ij} y^-_{n+i} &\ge c_j & (n'+1 &\le j \le n) \\[-2ex] -\sum_{i=1}^{m'} a_{ij} y_{n+i} - \sum_{i=m'+1}^m a_{ij} y^+_{n+i} + \sum_{i=m'+1}^m a_{ij} y^-_{n+i} &\ge -c_j & (n'+1 &\le j \le n) \\[-2ex] y_{n+i} &\ge 0 & (1 &\le i \le m') \\[-2ex] y^+_{n+i}, y^-_{n+i} &\ge 0 & (m'+1 &\le i \le m) \end{aligned}\]