Středa 16:15 – 17:45 hod. učebna 240 SB © Lagová, Kalčevová 4EK213 – LINEÁRNÍ MODELY Středa 16:15 – 17:45 hod. učebna 240 SB © Lagová, Kalčevová
7. přednáška Věty o dualitě Duálně simplexová metoda © Lagová, Kalčevová
OSNOVA PŘEDNÁŠKY Věta o dualitě Věta o rovnováze Duálně simplexová metoda Zakončení výpočtu duálně sdružených úloh Postoptimalizační změny b Postoptimalizační změny c Změny rozměrů modelu © L&K
Věta o dualitě Věta: Jeli x = (x1, x2, …, xn)T libovolné přípustné řešení primární úlohy I. a uT = (u1, u2, …, um) libovolné přípustné řešení duální úlohy II., potom z(x) ≤ f (uT) (7.1) © L&K
Hodnota účelové funkce f (uT) duálního problému II. je horní hranicí hodnoty účelové funkce z(x) primárního problému Hodnota účelové funkce z(x) primárního problému je dolní hranicí hodnoty účelové funkce duálního problé-mu © L&K
Důkaz Vlastní omezení úlohy I. násobíme zleva vektorem uT: I. uT A x ≤ uT b Vlastní omezení úlohy II. násobíme zprava vektorem x: II. uTA x ≥ cT x • Odtud je cTx ≤ uTA x ≤ uT b tj. z(x)=cTx ≤ uTb=f (uT) © L&K
x = (x1, x2, …, xn)T uT= (u1, u2, …, um) Důsledek 1: Jeli x = (x1, x2, …, xn)T libovolné přípustné řešení primární úlo- hy a uT= (u1, u2, …, um) libovolné přípustné řešení duální úlo- hy a platíli z (x) = f (uT), je x OŘ primární úlohy I. a uT je OŘ duální úlohy II. © L&K
Důsledek 2 dokážeme sporem Předpokládejme, že duální úloha má ne- Má-li primární úloha neomezenou účelo-vou funkci, duální úloha nemá přípustné řešení Má-li duální úloha neomezenou účelovou funkci, primární úloha nemá přípustné řešení Důsledek 2 dokážeme sporem Předpokládejme, že duální úloha má ne- omezenou účelovou funkci © L&K
Přípustné řešení primární úlohy x tedy nemůže existovat Předpokládejme dále, že existuje přípust-né řešení primární úlohy x Potom je podle (7.1) z(x) ≤ f (uT) To ale není možné, protože podle předpo-kladu je účelová funkce duální úlohy ne-omezená Přípustné řešení primární úlohy x tedy nemůže existovat © L&K
Důkaz těchto důsledků rovněž plyne ze vztahu z(x) ≤ f (uT) Důsledek 3: Má-li jedna ze sdružených úloh optimální řešení, má i druhá sdružená úloha opti-mální řešení Důsledek 4: Mají-li obě sdružené úlohy přípustné řešení, mají obě také optimální řešení Důkaz těchto důsledků rovněž plyne ze vztahu z(x) ≤ f (uT) © L&K
Příklad 7.1 Úloha I. Je dána dvojice sdružených úloh a jejich řešení: x1 + 2x2 ≤ 120 x1 + 4x2 ≤ 180 x1 ≤ 110 (7.2) x1 ≥ 0 x2 ≥ 0 z = 40x1 + 60x2 ... max. x=(110, 5, 0, 50, 0)T Úloha II. u1 ≥ 0 u2 ≥ 0 u3 ≥ 0 u1 + u2 + u3 ≥ 40 (7.3) 2u1+ 4u2 ≥ 60 f = 120u1+180u2+110u3 ... min. uT=(30, 0, 10, 0, 0) © L&K
x a uT optimálním řešením sdružených úloh • Otestujte podle věty o dualitě, zda jsou vektory x a uT optimálním řešením sdružených úloh Zjistíme, zda jsou splněny předpoklady věty (tj. přípustnost řešení): 110 + 2·5 = 120 110 + 4·5 < 180 110 = 110 110 > 0 5 > 0 z = 40.110 + 60·5 = 4700 30 > 0 0 = 0 10 > 0 1·30 + 1· 0 + 1·10 = 40 2·30 + 4·0 = 60 f =120·30 + 10·10 = 4700 © L&K
Vektor x je nezáporný a splňuje všechna vlastní omezení úlohy (7.2) Je tedy přípustným řešením primární úlohy Vektor uT je nezáporný a splňuje všechna vlastní omezení úlohy (7.3) Je tedy přípustným řešením duální úlohy 2. Srovnáme hodnoty účelových funkcí: z = f = 4700 Podle prvního důsledku věty o dualitě je x OŘ primární úlohy a uT je OŘ duální úlohy © L&K
Věta o rovnováze Věta o rovnováze definuje vztahy mezi dvojicemi sdružených omezení v op-timálním řešení sdružených problémů Dvojice sdružených omezení je vlastní omezení jednoho ze sdružených prob-lémů a podmínka nezápornosti druhého sdruženého problému (viz 6. přednáška) © L&K
libovolné přípustné řešení primární úlo- hy a uT = (u1, u2, …, um) (2) Věta: Jeli x = (x1, x2, …, xn)T libovolné přípustné řešení primární úlo- hy a uT = (u1, u2, …, um) libovolné přípustné řešení duální úlo- hy a platíli následující podmínky: © L&K
1. jeli xj > 0, pak aij ui = cj i=1 m pak xj = 0 2. jeli aij ui > cj , j=1 3. jeli ui > 0, n 4. jeli aij xj < bi , m pak aij ui = cj i=1 pak xj = 0 (7.4) n pak aij xj = bi j=1 pak ui = 0 © L&K
uT je optimálním řešením duální úlohy potom x je optimálním řešením primár-ní úlohy a uT je optimálním řešením duální úlohy © L&K
splněno jako ostrá nerovnost, Z věty o rovnováze platí pro dvojici sdružených omezení: - je-li v optimálním řešení jedno z dvojice duálně sdružených omezení splněno jako ostrá nerovnost, je druhé omezení splněno jako rovnost Pozor ! Vztah neplatí obráceně, takže rovnost ve splnění duálního omezení neimplikuje vždy ostrou nerovnost * viz degeneraci v úlohách LP © L&K
Příklad 7.2 Otestujte podle věty o rovnováze, zda jsou vektory x=(110, 5, 0, 50, 0)T a uT=(30, 0, 10, 0, 0) optimálním řešením sdružených úloh (7.2) a (7.3) V příkladu 7.1 jsme zjistili, že oba vektory splňují podmínky přípustnosti řešení Dosadíme tedy do čtyř podmínek věty o rovnováze © L&K
Příklad 7.2 Úloha I. Úloha II. x1 + 2x2 ≤ 120 u1 ≥ 0 110 + 2.5 = 120 110 + 2.5 = 120 x1 + 4x2 ≤ 180 110 + 20 < 180 x1 ≤ 110 110 = 110 x1 ≥ 0 110 > 0 x2 ≥ 0 5 > 0 Úloha II. u1 ≥ 0 30 > 0 u2 ≥ 0 0 = 0 u3 ≥ 0 10 > 0 u1 + u2 + u3 ≥ 40 30 + 10 = 40 2u1+ 4u2 ≥ 60 2.30 = 60 © L&K
Zkontrolujeme, zda vektory x a uT jsou přípustným řeše-ním zadaných úloh: ? 2. Zkontrolujeme splnění omezení podle čtyř podmínek (7.2) věty o rovnováze: 1. x1=110 > 0 1. x2 = 5 > 0 3. x1 + 2x2 = 120 4. x1 + 4x2 < 180 3. x1= 110 = 0 u1+u2+u3 = 30+10 = 40 2u1+4u2 =2.30 +0 = 60 u1= 30 > 0 u2 = 0 u3= 10 > 0 © L&K
splněny podmínky věty o rovnováze Vidíme, že ve všech dvojicích sdružených omezení jsou splněny podmínky věty o rovnováze Podle věty o rovnováze je tedy vektor x OŘ Úlohy I. a vektor uT OŘ Úlohy II. © L&K
DUÁLNĚ SIMPLEXOVÁ METODA Dosud jsme řešili úlohu LP simplexovou metodou Podmínkou byla primární přípustnost řešení, tj. nezápornost pravých stran Podle věty o dualitě jsme hledali přípustné řešení duálního problému Primární přípustnost byla po celou dobu výpočtu zachována, jak ? takže v okamžiku, kdy nalezené řešení bylo i duálně přípustné, bylo optimální ? proč – důsledek 1 © L&K
Podmínkou je, aby byla duálně přípust-ná: Můžeme ale řešit i úlohu LP, která je primárně nepřípustná, tj. má alespoň jednu pravou stranu zápornou Podmínkou je, aby byla duálně přípust-ná: - v maximalizační úloze jsou všechny koeficienty v řádce z nezáporné - v minimalizační úloze jsou všechny koeficienty v řádce z nekladné • V iteračním postupu hledáme primárně přípustné řešení při zachování duální přípustnosti © L&K
ALGORITMUS DSM Úlohu LP řešíme duálně simplexovou me-todou (DSM) v tabulce primárního problé-mu: − proměnné jsou xj − alespoň jedna pravá strana je záporná Koeficienty účelové funkce zj jsou: − v maximalizační úloze nezáporné, − v minimalizační úloze nekladné © L&K
• „Transponujeme” postup řešení simplexo- vou metodou: 1. nejdříve určíme klíčový řádek a vystu- pující proměnnou 2. potom určíme klíčový sloupec a vstu- 3. transformujeme simplexovou tabulku metodou úplné eliminace stejně jako v simplexové metodě Klíčový prvek je vždy záporný © L&K
1. Určení vystupující proměnné 1. Najdeme nejmenší pravou stranu g = mini (βi ) = βq, (7.5) i = 1, 2, …, m: - je-li g ≥ 0, je řešení primárně přípustné - je i duálně přípustné, je tedy optimální → výpočet končí - je-li g < 0 → výpočet pokračuje Základní proměnná v q-tém řádku je vystupující Klíčovým řádkem je q-tý řádek © L&K
2. Určení vstupující proměnné Vypočteme podíly koeficientů zj a zápor-ných koeficientů klíčového řádku Najdeme podíl v absolutní hodnotě mini-mální: t = minj |zj /αqj | (7.6) j = 1, 2, …, n+m, αqj < 0 © L&K
a. je-li αqj ≥ 0 proj = 1, 2, ..., m+n: Testujeme: a. je-li αqj ≥ 0 proj = 1, 2, ..., m+n: - duální úloha má neomezenou účelo- vou funkci - OŘ neexistuje → výpočet končí b. je-li t = |zk /αqk |, - je proměnná xk vstupující a k-tý slou- pec je klíčový © L&K
3. Transformace řešení Postupujeme podle transformačních vzorců (4.3) až (4.8) stejně jako v algo-ritmu jednofázové simplexové metody Rozdíl je v tom, že klíčový prvek je vždy záporný. Proč? Vracíme se k bodu 1 © L&K
Zakončení výpočtu v DSM 1. Všechny pravé strany jsou nezáporné: - řešení je optimální 2. Všechny koeficienty v klíčovém řádku jsou nezáporné: - duální úloha má neomezenou účelovou funkci - primární úloha nemá přípustné řešení - OŘ neexistuje © L&K
Příklad 7.3 Je dána úloha LP: x1 + 2x2 ≥ 390 x1 + x2 ≥ 250 (7.7) z = 50x1 + 60x2 … min. Vypočtěte optimální řešení duálně simple-xovou metodou © L&K
Koeficienty v anulované účelové funkci jsou nekladné Úlohu upravíme: -x1 - 2x2 - 390 -x1 - x2 - 250 x1 ≥ 0 x2 ≥ 0 z - 50x1 - 60x2 = 0 Koeficienty v anulované účelové funkci jsou nekladné Úloha je duálně přípustná Je možno ji řešit duálně simplexovou metodou © L&K
Výchozí řešení • Vystupující proměnná je x3 • Klíčový sloupec je druhý Tab. 7.1 • Klíčový řádek je první • Vystupující proměnná je x3 • Klíčový sloupec je druhý • Vstupující proměnná je x2 © L&K
2. iterace • Vystupující proměnná je x4 • Klíčový sloupec je první Tab. 7.2 • Klíčový řádek je druhý • Vystupující proměnná je x4 • Klíčový sloupec je první • Vstupující proměnná je x1 © L&K
Optimální řešení x=(110, 140, 0, 0)T, z =13900 je optimální Tab. 7.3 kde se tam vzala ta čárka? • Z tabulky je řešení duálního problému: uT=(10, 40, 0, 0), f =13900 © L&K
ZAKONČENÍ VÝPOČTU SDRUŽENÝCH ÚLOH Obě úlohy mají jedno optimální řešení: Pravé strany: - jsou kladné Koeficienty v řádce z: - v maximalizační úloze jsou všechny nezáporné - v minimalizační úloze jsou všechny nekladné - všechny koeficienty u nezákladních proměnných jsou nenulové © L&K
PROČ ? Primární úloha má nekonečně mnoho optimálních řešení: - v optimálním řešení primární úlohy je v řádce z u některé nezákladní pro- měnné nulový koeficient - jaké je řešení duální úlohy ? PROČ ? © L&K
PROČ ? 3. Primární úloha je je degenerovaná: - alespoň jedna z pravých stran v opti- málním řešení je rovna nule - jaké je řešení duální úlohy ? PROČ ? © L&K
4. Neexistuje OŘ obou sdružených úloh: a. primární úloha má neomezenou úče- lovou funkci .................................. ? - duální úloha nemá PŘ b. duální úloha má neomezenou úče- - primární úloha nemá PŘ © L&K
Použití DSM DSM použijeme s výhodou všude tam, kde je úloha LP: - primárně nepřípustná - duálně přípustná Tato situace nastane ve dvou případech: 1. vhodně upravíme úlohu LP 2. zkoumáme vliv změn v modelu úlohu LP na jeho optimální řešení (postoptimalizač- ní změny) © L&K
Příklad 7.4 Je dána úloha LP: x1 + 2x2 ≤ 120 x1 + 4x2 ≤ 180 x1 ≤ 110 xj ≥ 0, j = 1, 2 z = 40x1 + 60x2 ... max. V tabulce 7.5 je OŘ této úlohy © L&K
Tab. 7.5 • Odtud je x = ( 110, 5, 0, 50, 0)T, z = 4700, uT= (30, 0, 10, 0, 0), f = 4700 © L&K
Optimalita řešení bude porušena Proč ? 3. Zvolme nyní b1**= 90 Optimalita řešení bude porušena Proč ? Nový vektor pravých stran vynásobíme maticí B−1: · = Řešení není přípustné a tedy není optimální Nové OŘ budeme počítat DSM Proč ?* © L&K
Výpočet DSM Tab.7.7 © L&K
Z tabulky 7.7 vidíme, že se změnila báze: x = ( 110, 5, 0, 50, 0)T, z = 4700, uT= (30, 0, 10, 0, 0), f = 4700 Proměnnou x3 nahradila proměnná x5: x*=(90, 0, 0, 90, 20), z*=3600 Změnily se i hodnoty duálních proměn-ných: uT*= (40, 0, 0, 20, 0), f = 3600 © L&K
KONEC © L&K