29.11.2014 Views

Přednáška 7 - Katedra ekonometrie

Přednáška 7 - Katedra ekonometrie

Přednáška 7 - Katedra ekonometrie

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Základy operačního výzkumu<br />

Přednáška č. 7<br />

Jiří Neubauer<br />

<strong>Katedra</strong> <strong>ekonometrie</strong> FEM UO Brno<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Simplexová metoda<br />

vychází z řešení, které je primárně přípustné<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Simplexová metoda<br />

vychází z řešení, které je primárně přípustné<br />

metoda zachovává primární přípustnost<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Simplexová metoda<br />

vychází z řešení, které je primárně přípustné<br />

metoda zachovává primární přípustnost<br />

pokračujeme tak dlouho, dokud nenajdeme řešení, které je<br />

přípustné i duálně – optimální řešení<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Duálně simplexová metoda<br />

nevyžaduje primární přípustnost (pravé strany mohou být i<br />

záporné)<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Duálně simplexová metoda<br />

nevyžaduje primární přípustnost (pravé strany mohou být i<br />

záporné)<br />

vychází z řešení, které je duálně přípustné<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Duálně simplexová metoda<br />

nevyžaduje primární přípustnost (pravé strany mohou být i<br />

záporné)<br />

vychází z řešení, které je duálně přípustné<br />

metoda zachovává duální přípustnost<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Duálně simplexová metoda<br />

nevyžaduje primární přípustnost (pravé strany mohou být i<br />

záporné)<br />

vychází z řešení, které je duálně přípustné<br />

metoda zachovává duální přípustnost<br />

postupnými úpravami simplexové tabulky nenajdeme řešení,<br />

které je přípustné i primárně – optimální řešení<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Postup DSM – vycházíme z duálně přípustného řešení<br />

1 stanovíme klíčový řádek → určíme min b i = b r<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Postup DSM – vycházíme z duálně přípustného řešení<br />

1 stanovíme klíčový řádek → určíme min b i = b r<br />

je-li b r > 0 ⇒ řešení je primárně přípustné, je tedy optimální<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Postup DSM – vycházíme z duálně přípustného řešení<br />

1 stanovíme klíčový řádek → určíme min b i = b r<br />

je-li b r > 0 ⇒ řešení je primárně přípustné, je tedy optimální<br />

je-li b r = 0 ⇒ máme optimální řešení (degenerované)<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Postup DSM – vycházíme z duálně přípustného řešení<br />

1 stanovíme klíčový řádek → určíme min b i = b r<br />

je-li b r > 0 ⇒ řešení je primárně přípustné, je tedy optimální<br />

je-li b r = 0 ⇒ máme optimální řešení (degenerované)<br />

je-li b r < 0 ⇒ řešení není optimální, r-tý řádek zvolíme za<br />

klíčový<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Postup DSM – vycházíme z duálně přípustného řešení<br />

1 stanovíme klíčový řádek → určíme min b i = b r<br />

je-li b r > 0 ⇒ řešení je primárně přípustné, je tedy optimální<br />

je-li b r = 0 ⇒ máme optimální řešení (degenerované)<br />

je-li b r < 0 ⇒ řešení není optimální, r-tý řádek zvolíme za<br />

klíčový<br />

2 určíme klíčový sloupec<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Postup DSM – vycházíme z duálně přípustného řešení<br />

1 stanovíme klíčový řádek → určíme min b i = b r<br />

je-li b r > 0 ⇒ řešení je primárně přípustné, je tedy optimální<br />

je-li b r = 0 ⇒ máme optimální řešení (degenerované)<br />

je-li b r < 0 ⇒ řešení není optimální, r-tý řádek zvolíme za<br />

klíčový<br />

2 určíme klíčový sloupec<br />

pro záporné koeficienty v klíčovém řádku (a rj < 0) určíme<br />

podíly cj<br />

a rj<br />

Jiří Neubauer Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Postup DSM – vycházíme z duálně přípustného řešení<br />

1 stanovíme klíčový řádek → určíme min b i = b r<br />

je-li b r > 0 ⇒ řešení je primárně přípustné, je tedy optimální<br />

je-li b r = 0 ⇒ máme optimální řešení (degenerované)<br />

je-li b r < 0 ⇒ řešení není optimální, r-tý řádek zvolíme za<br />

klíčový<br />

2 určíme klíčový sloupec<br />

pro záporné koeficienty v klíčovém řádku (a rj < 0) určíme<br />

podíly cj<br />

a rj<br />

najdeme<br />

∣ min<br />

c j ∣∣∣<br />

a rj


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Duálně simplexová metoda<br />

Postup DSM – vycházíme z duálně přípustného řešení<br />

1 stanovíme klíčový řádek → určíme min b i = b r<br />

je-li b r > 0 ⇒ řešení je primárně přípustné, je tedy optimální<br />

je-li b r = 0 ⇒ máme optimální řešení (degenerované)<br />

je-li b r < 0 ⇒ řešení není optimální, r-tý řádek zvolíme za<br />

klíčový<br />

2 určíme klíčový sloupec<br />

pro záporné koeficienty v klíčovém řádku (a rj < 0) určíme<br />

podíly cj<br />

a rj<br />

najdeme<br />

∣ min<br />

c j ∣∣∣<br />

a rj


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

Máme dostatečné množství základních lan o délce 32 m. K dalšímu<br />

použití potřebujeme alespoň 12 kusů 20 m lan, 20 kusů 11 m lan a<br />

26 kusů 6 m lan. Určete optimální skladbu řezných plánů vzhledem<br />

k minimálnímu odpadu.<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

Máme dostatečné množství základních lan o délce 32 m. K dalšímu<br />

použití potřebujeme alespoň 12 kusů 20 m lan, 20 kusů 11 m lan a<br />

26 kusů 6 m lan. Určete optimální skladbu řezných plánů vzhledem<br />

k minimálnímu odpadu.<br />

Řezný plán Požadované<br />

I. II. III. IV. V. množství<br />

20 m 1 1 0 0 0 12<br />

11 m 1 0 2 1 0 20<br />

6 m 0 2 1 3 5 26<br />

odpad [m] 1 0 4 3 2 min<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

Proměnné x 1 , . . . , x 5<br />

Proměnná x j , j = 1, 2, 3, 4, 5 udává počet základních lan<br />

rozřezaných podle řezného plánu j, x j ≥ 0.<br />

x 1 + x 2 ≥ 12<br />

x 1 + 2x 3 + x 4 ≥ 20<br />

2x 2 + x 3 + 3x 4 + 5x 5 ≥ 26<br />

x 1 ≥ 0, . . . , x 5 ≥ 0<br />

Celkový odpad určuje účelová funkce<br />

z = x 1 + 4x 3 + 3x 4 + 2x 5 −→ min<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

x 1 + x 2 − x ′ 1 = 12<br />

x 1 + 2x 3 + x 4 − x ′ 2 = 20<br />

2x 2 + x 3 + 3x 4 + 5x 5 − x ′ 3 = 26<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

x 1 + x 2 − x ′ 1 = 12<br />

x 1 + 2x 3 + x 4 − x ′ 2 = 20<br />

2x 2 + x 3 + 3x 4 + 5x 5 − x ′ 3 = 26<br />

↓<br />

−x 1 − x 2 + x ′ 1 = −12<br />

−x 1 − 2x 3 − x 4 + x ′ 2 = −20<br />

− 2x 2 − x 3 − 3x 4 − 5x 5 + x ′ 3 = −26<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ −1 −1 0 0 0 1 0 0 −12<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

x 3 ′ 0 −2 −1 −3 −5 0 0 1 −26<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ −1 −1 0 0 0 1 0 0 −12<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

x 3 ′ 0 −2 −1 −3 −5 0 0 1 −26<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ −1 −1 0 0 0 1 0 0 −12<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

x 3 ′ 0 −2 −1 −3 −5 0 0 1 −26<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

{∣ ∣ ∣ ∣ }<br />

∣∣∣ 0<br />

∣∣∣<br />

min<br />

−2∣ , −4<br />

∣∣∣ −1∣ , −3<br />

∣∣∣ −3∣ , −2<br />

−5∣<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ −1 −1 0 0 0 1 0 0 −12<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

x 3 ′ 0 −2 −1 −3 −5 0 0 1 −26<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

{∣ ∣ ∣ ∣ }<br />

∣∣∣ 0<br />

∣∣∣<br />

min<br />

−2∣ , −4<br />

∣∣∣ −1∣ , −3<br />

∣∣∣ −3∣ , −2<br />

−5∣<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ −1 −1 0 0 0 1 0 0 −12<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

x 3 ′ 0 −2 −1 −3 −5 0 0 1 −26<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

{∣ ∣ ∣ ∣ }<br />

∣∣∣ 0<br />

∣∣∣<br />

min<br />

−2∣ , −4<br />

∣∣∣ −1∣ , −3<br />

∣∣∣ −3∣ , −2<br />

−5∣<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ 1 3 5<br />

−1 0<br />

2 2 2<br />

1 0 − 1 2<br />

1<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

1 3 5<br />

x 2 0 1<br />

2 2 2<br />

0 0 − 1 2<br />

13<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ 1 3 5<br />

−1 0<br />

2 2 2<br />

1 0 − 1 2<br />

1<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

1 3 5<br />

x 2 0 1<br />

2 2 2<br />

0 0 − 1 2<br />

13<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ 1 3 5<br />

−1 0<br />

2 2 2<br />

1 0 − 1 2<br />

1<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

1 3 5<br />

x 2 0 1<br />

2 2 2<br />

0 0 − 1 2<br />

13<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

{∣ ∣ ∣ }<br />

∣∣∣ −1<br />

∣∣∣<br />

min<br />

−1∣ , −4<br />

∣∣∣ −2∣ , −3<br />

−1∣<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ 1 3 5<br />

−1 0<br />

2 2 2<br />

1 0 − 1 2<br />

1<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

1 3 5<br />

x 2 0 1<br />

2 2 2<br />

0 0 − 1 2<br />

13<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

{∣ ∣ ∣ }<br />

∣∣∣ −1<br />

∣∣∣<br />

min<br />

−1∣ , −4<br />

∣∣∣ −2∣ , −3<br />

−1∣<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ 1 3 5<br />

−1 0<br />

2 2 2<br />

1 0 − 1 2<br />

1<br />

x 2 ′ −1 0 −2 −1 0 0 1 0 −20<br />

1 3 5<br />

x 2 0 1<br />

2 2 2<br />

0 0 − 1 2<br />

13<br />

z −1 0 −4 −3 −2 0 0 0 0<br />

{∣ ∣ ∣ }<br />

∣∣∣ −1<br />

∣∣∣<br />

min<br />

−1∣ , −4<br />

∣∣∣ −2∣ , −3<br />

−1∣<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Rozdělovací úloha<br />

báze x 1 x 2 x 3 x 4 x 5 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ 5 5 5<br />

0 0<br />

2 2 2<br />

1 −1 − 1 2<br />

21<br />

x 1 1 0 2 1 0 0 −1 0 20<br />

1 3 5<br />

x 2 0 1<br />

2 2 2<br />

0 0 − 1 2<br />

13<br />

z 0 0 −2 −2 −2 0 −1 0 20<br />

Optimální řešení je ⃗x = (20, 13, 0, 0, 0, 21, 0, 0). Hodnota účelové<br />

funkce z = 20.<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Obecný tvar simplexové tabulky<br />

Mějme příklad – výroba dvou směsí kávy Mocca a Standard (viz<br />

úvodní přednáška). Dostaneme simplexovou tabulku<br />

báze x 1 x 2 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 ′ 1/2 1/4 1 0 0 40<br />

x 2 ′ 1/2 1/2 0 1 0 60<br />

x 3 ′ 0 1/4 0 0 1 25<br />

z −20 −14 0 0 0 0<br />

A I b<br />

−c T 0 T 0<br />

A je matice strukturních koeficientů, I je jednotková matice,<br />

−c T jsou koeficienty anulované účelové funkce<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Obecný tvar simplexové tabulky<br />

báze x 1 x 2 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 1 0 4 −2 0 40<br />

x 2 0 1 −4 4 0 80<br />

x 3 ′ 0 0 1 −1 1 5<br />

z 0 0 24 16 0 1920<br />

B −1<br />

s A B −1<br />

s<br />

c T B B−1 s A−c T u T s = c T B B−1 s<br />

B −1<br />

s b<br />

c T B B−1 s b<br />

je tzv. inverzní matice báze, je na místě, kde byla původně<br />

jednotková matice<br />

c T B<br />

je vektor cenových koeficientů základních proměnných v s-tém<br />

kroku výpočtu (původní ceny příslušné bázi v s-tém kroku)<br />

B −1<br />

s<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Obecný tvar simplexové tabulky<br />

⎛ ⎞ ⎛ ⎞<br />

1/2 1/4 40<br />

A = ⎝1/2 1/2⎠ , b = ⎝60⎠ , c T = (20, 14)<br />

0 1/4 25<br />

V druhém kroku (s = 2) dostaneme již optimální řešení se<br />

základními proměnnými x 1 , x 2 , x 3 ′ . Odpovídající matice a vektory<br />

mají tvar<br />

⎛ ⎞<br />

4 −2 0<br />

B −1<br />

2<br />

= ⎝−4 4 0⎠ , c T B = (20, 14, 0)<br />

1 −1 1<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Obecný tvar simplexové tabulky<br />

Výpočtem⎛<br />

snadno ověříme ⎞ ⎛ platnost ⎞ uvedených ⎛ ⎞ vztahů<br />

4 −2 0 1/2 1/4 1 0<br />

B −1<br />

2 A = ⎝−4 4 0⎠<br />

⎝1/2 1/2⎠ = ⎝0 1⎠<br />

1 −1 1 0 1/4 0 0<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Obecný tvar simplexové tabulky<br />

Výpočtem⎛<br />

snadno ověříme ⎞ ⎛ platnost ⎞ uvedených ⎛ ⎞ vztahů<br />

4 −2 0 1/2 1/4 1 0<br />

B −1<br />

2 A = ⎝−4 4 0⎠<br />

⎝1/2 1/2⎠ = ⎝0 1⎠<br />

1 −1 1 0 1/4 0 0<br />

⎛ ⎞ ⎛ ⎞ ⎛ ⎞<br />

4 −2 0 40 40<br />

B −1<br />

2 b = ⎝−4 4 0⎠<br />

⎝60⎠ = ⎝80⎠<br />

1 −1 1 25 5<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Obecný tvar simplexové tabulky<br />

Výpočtem⎛<br />

snadno ověříme ⎞ ⎛ platnost ⎞ uvedených ⎛ ⎞ vztahů<br />

4 −2 0 1/2 1/4 1 0<br />

B −1<br />

2 A = ⎝−4 4 0⎠<br />

⎝1/2 1/2⎠ = ⎝0 1⎠<br />

1 −1 1 0 1/4 0 0<br />

⎛ ⎞ ⎛ ⎞ ⎛ ⎞<br />

4 −2 0 40 40<br />

B −1<br />

2 b = ⎝−4 4 0⎠<br />

⎝60⎠ = ⎝80⎠<br />

1 −1 1 25 5<br />

⎛<br />

4<br />

⎞<br />

−2 0<br />

u T 2 = cT B B−1 2<br />

= (20, 14, 0) ⎝−4 4 0⎠ = (24, 16, 0)<br />

1 −1 1<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Obecný tvar simplexové tabulky<br />

⎛ ⎞<br />

1/2 1/4<br />

c T B B−1 2 A − cT = u T 2 A − cT = (24, 16, 0) ⎝1/2 1/2⎠ − (20, 14) =<br />

0 1/4<br />

(0, 0)<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Obecný tvar simplexové tabulky<br />

⎛ ⎞<br />

1/2 1/4<br />

c T B B−1 2 A − cT = u T 2 A − cT = (24, 16, 0) ⎝1/2 1/2⎠ − (20, 14) =<br />

0 1/4<br />

(0, 0)<br />

⎛ ⎞<br />

40<br />

c T B B−1 2 b = uT 2 b = (24, 16, 0) ⎝60⎠ = 1920<br />

25<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Interpretace optimálního řešení<br />

strukturní proměnné doplňkové proměnné<br />

báze<br />

x 1 x 2 · · · x n x 1 ′ x 2 ′ · · · x m<br />

′ b i<br />

základní<br />

hodnoty<br />

strukturní koeficienty strukturní koeficienty<br />

proměnné<br />

zákl. prom.<br />

z c 1 c 2 · · · c n u 1 u 2 · · · u m hodnota z<br />

redukované ceny stínové ceny<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Interpretace optimálního řešení<br />

strukturní proměnné doplňkové proměnné<br />

báze<br />

x 1 x 2 · · · x n x 1 ′ x 2 ′ · · · x m<br />

′ b i<br />

základní<br />

hodnoty<br />

strukturní koeficienty strukturní koeficienty<br />

proměnné<br />

zákl. prom.<br />

z c 1 c 2 · · · c n u 1 u 2 · · · u m hodnota z<br />

redukované ceny stínové ceny<br />

Pro hodnotu účelové funkce z platí<br />

c T B B−1 s b = u T s b,<br />

je tedy rovna součinu vektoru stínových cen a vektoru pravých<br />

stran. Stínové ceny (hodnoty duálních proměnných) můžeme<br />

interpretovat jako ocenění jedné jednotky pravé strany ve vztahu<br />

k hodnotě účelové funkce.<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Interpretace optimálního řešení<br />

Vraťme se k příkladu s kávou.<br />

báze x 1 x 2 x 1 ′ x 2 ′ x 3 ′ b i<br />

x 1 1 0 4 −2 0 40<br />

x 2 0 1 −4 4 0 80<br />

x 3 ′ 0 0 1 −1 1 5<br />

z 0 0 24 16 0 1920<br />

Dostáváme optimální řešení x = (40, 80, 0, 0, 5) s hodnotou účelové<br />

funkce z = 40 · 20 + 80 · 14 = 1920. Optimální řešení duální úlohy<br />

je u = (24, 16, 0, 0, 0) s hodnotou účelové funkce<br />

z = 24 · 40 + 16 · 60 + 0 · 25 = 1920. To znamená, že 1 tuna 1.<br />

komponenty se podílí na celkovém zisku hodnotou 24 tis. Kč, 1<br />

tuna 2. komponenty se podílí na celkovém zisku hodnotou 16 tis.<br />

Kč a 3. komponenta se na zisku nepodílí (je jí k dispozici tolik, že<br />

nemá na výrobu v podstatě žádný vliv)<br />

Jiří Neubauer Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Analýza citlivosti pravých stran<br />

Otázka: Jak se může měnit vybraná složka vektoru pravých stran<br />

tak, aby optimální řešení, určené stávajícími základními<br />

proměnnými zůstalo přípustné?<br />

V s-tém kroku dostáváme vektor pravých stran ve tvaru B −1<br />

s b.<br />

Aby řešení zůstalo přípustné, musí platit B −1<br />

s b ≥ 0.<br />

Uvažujme, že chceme spočítat interval stability pro první složku<br />

vektoru b. Stačí řešit soustavu nerovnic<br />

⎛ ⎞<br />

b 1 + ∆b 1<br />

B −1<br />

s<br />

⎜<br />

⎝<br />

b 2<br />

.<br />

b m<br />

⎟<br />

⎠ ≥ 0.<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Analýza citlivosti pravých stran<br />

Mějme<br />

⎛ ⎞ ⎛ ⎞<br />

4 −2 0 40<br />

B −1<br />

2<br />

= ⎝−4 4 0⎠ , b = ⎝60⎠ ,<br />

1 −1 1 25<br />

pro první složku je třeba řešit soustavu<br />

⎛<br />

4 −2<br />

⎞ ⎛ ⎞<br />

0 40 + ∆b 1<br />

⎝−4 4 0⎠<br />

⎝ 60 ⎠ ≥ 0.<br />

1 −1 1 25<br />

Dostáváme soustavu:<br />

4∆b 1 + 40 ≥ 0<br />

−4∆b 1 + 80 ≥ 0<br />

∆b 1 + 5 ≥ 0<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Analýza citlivosti pravých stran<br />

Řešením této soustavy dostaneme řešení<br />

∆b 1 = 〈−5, 20〉.<br />

Iterval stability pro první složku vektoru b je<br />

b 1 ∈ 〈35, 60〉.<br />

Podobně pro další složky b 2 a b 3 dostáváme<br />

∆b 2 ∈ 〈−20, 5〉 tzn. b 2 ∈ 〈40, 65〉,<br />

∆b 3 ∈ 〈−5, ∞) tzn. b 3 ∈ 〈20, ∞)<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Analýza citlivosti cenových koeficientů<br />

Otázka: Jak se může měnit vybraná složka vektoru cenových<br />

koeficientů tak, aby stávající řešení zůstalo optimální?<br />

V případě maximalizační úlohy musí platit<br />

pro jednotlivé hodnoty<br />

c T B B−1 s A − c T ≥ 0,<br />

z j = c T B B−1 s a j − c j ≥ 0, j = 1, 2, . . . , n<br />

a zároveň<br />

u T = c B B −1<br />

s ≥ 0.<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Analýza citlivosti cenových koeficientů<br />

Mějme c T = (20, 14), základní proměnné jsou x 1 , x 2 , x 3 ′ ,<br />

c T B<br />

= (20, 14, 0). Pro interval stability první složky vektoru c<br />

budeme řešit pro redukované ceny<br />

⎛ ⎞<br />

1 0<br />

(20 + ∆c 1 , 14, 0) ⎝0 1⎠ − (20 + ∆c 1 , 14) ≥ 0<br />

0 0<br />

a pro stínové ceny<br />

⎛<br />

4 −2<br />

⎞<br />

0<br />

(20 + ∆c 1 , 14, 0) ⎝−4 4 0⎠ ≥ 0<br />

1 −1 1<br />

Jiří Neubauer<br />

Základy operačního výzkumu


Duálně simplexová metoda<br />

Obecný tvar simplexové tabulky<br />

Interpretace optimálního řešení<br />

Analýza citlivosti optimálního řešení<br />

Analýza citlivosti cenových koeficientů<br />

Dostaneme řešení<br />

∆c 1 ∈ 〈−6, 8〉 tzn. c 1 ∈ 〈14, 28〉,<br />

∆c 2 ∈ 〈−4, 6〉 tzn. c 2 ∈ 〈10, 20〉.<br />

Jiří Neubauer<br />

Základy operačního výzkumu

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!