FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Podobné dokumenty
Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Základy matematické analýzy

Úvod do teorie her

10 Přednáška ze

Lineární programování

1 Lineární prostory a podprostory

1 Determinanty a inverzní matice

1 Linearní prostory nad komplexními čísly

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

1 Polynomiální interpolace

Riemannův určitý integrál

FREDHOLMOVA ALTERNATIVA

Lineární algebra : Metrická geometrie

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

PŘEDNÁŠKA 2 POSLOUPNOSTI

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Těleso racionálních funkcí

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady.

Matematika pro informatiky

Lineární algebra : Změna báze

Lineární algebra : Lineární zobrazení

Lineární algebra : Lineární prostor

Matematická logika. Rostislav Horčík. horcik

PŘEDNÁŠKA 7 Kongruence svazů

1. července 2010

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Problém lineární komplementarity a kvadratické programování

5. Lokální, vázané a globální extrémy

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n.

Lineární algebra Kapitola 1 - Základní matematické pojmy

Obecná úloha lineárního programování

12. Lineární programování

Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Vrcholová barevnost grafu

4EK213 LINEÁRNÍ MODELY

3. ANTAGONISTICKÉ HRY

13. Lineární programování

Výroková logika dokazatelnost

Lineární algebra : Skalární součin a ortogonalita

4EK212 Kvantitativní management. 2. Lineární programování

1 Kardinální čísla. množin. Tvrzení: Necht X Cn. Pak: 1. X Cn a je to nejmenší prvek třídy X v uspořádání (Cn, ),

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Lineární algebra : Násobení matic a inverzní matice

Věta o dělení polynomů se zbytkem

Teorie her a ekonomické rozhodování. 2. Maticové hry

Lineární algebra : Skalární součin a ortogonalita

4EK213 LINEÁRNÍ MODELY

(ne)závislost. α 1 x 1 + α 2 x α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

Soustavy linea rnı ch rovnic

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}

1 Soustavy lineárních rovnic

Vlastní číslo, vektor

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

Přednáška 11, 12. prosince Část 5: derivace funkce

6 Lineární geometrie. 6.1 Lineární variety

ANTAGONISTICKE HRY 172

11. Skalární součin a ortogonalita p. 1/16

2. přednáška 8. října 2007

Aplikovaná numerická matematika - ANM

Ekonomická formulace. Matematický model

Aplikovaná numerická matematika

P 1 = P 1 1 = P 1, P 1 2 =

8 Přednáška z

Matematika I, část I Vzájemná poloha lineárních útvarů v E 3

Dnešní látka: Literatura: Kapitoly 3 a 4 ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

Matematika 2 Úvod ZS09. KMA, PřF UP Olomouc. Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25

2. kapitola: Euklidovské prostory

Principy indukce a rekurentní rovnice

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 3. PREDNÁŠKA - KOMPAKTNÍ PROSTORY.

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Základy elementární teorie čísel

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

Báze a dimenze vektorových prostorů

6 Simplexová metoda: Principy

[1] Vzhledem ke zvolené bázi určujeme souřadnice vektorů...

Symetrické a kvadratické formy

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

IB112 Základy matematiky

Základy maticového počtu Matice, determinant, definitnost

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

0.1 Úvod do lineární algebry

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Interpolace, ortogonální polynomy, Gaussova kvadratura

Lineární algebra : Násobení matic a inverzní matice

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.

Transkript:

FIT ČVUT MI-LOM Lineární optimalizace a metody Dualita Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Michal Černý, 2011

FIT ČVUT, MI-LOM, M. Černý, 2011: Dualita 2/5 Dualita Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Z konvergence simplexového algoritmu Blandova věta plyne tato věta. Věta 1. Nechť polyedr F := x : Ax b} je neprázdný, má vrchol a platí supc T x : x F} <. Pak existuje base B taková, že a bod x definovaný jako řešení systému nezávislých rovnic A B x = b B splňuje, že i je vrcholem polyedru F a ii platí c T x = maxc T x : x F} to speciálně znamená: optima úlohy maxc T x : x F} se nabývá [také] ve vrcholu, a b existuje vektor y takový, že y B 0, y B = 0 a A T y = c. Této věty podstatně využijeme v důkazu věty 4. Nyní přistupme k formulaci ústředního výsledku teorie lineárního programování. Definice 2. Nechť jsou dány A, b, c. a Polyedr F := x : Ax b} se nazývá primární polyedr a polyedr G := y : A T y = c, y 0} se nazývá duální polyedr. b Úloha maxc T x : x F} se nazývá primární úloha a úloha minb T y : y G} se nazývá duální úloha. c Pro libovolné x F a y G definujeme Γx, y := b T y c T x. Číslo Γx, y se nazývá duality gap. Ze slabé věty o dualitě víme: pro libovolné x F a libovolné y G platí Γx, y 0. Odtud plyne zřejmý důsledek: Důsledek 3. Jestliže x F a y G splňují Γx, y = 0, pak x je optimum primární úlohy a y je optimum duální úlohy. Není ale jasné, zdali antecedent implikace lze vůbec naplnit jestli to možné není, důsledek neříká nic. Ukážeme, že tomu tak jest. Věta 4 von Neumann, silná věta o dualitě. Nechť primární polyedr je neprázdný. Jestliže existuje optimum x primární úlohy, pak také existuje optimum y duální úlohy a platí c T x = b T y. Tedy: Γx, y = 0. Důkaz. Nechť F =. Označme ξ := maxc T x : x F} a υ := minb T y : x G}. Předpokládejme, že F má vrchol; pak na lineární program max x F c T x můžeme spustit simplexový algoritmus. Jestliže ξ existuje, algoritmus skončí v kroku [3] s y splňujícím y 0 a A T y = c viz větu 1. Odtud y G, pročež G =. Podle slabé věty o dualitě víme ξ υ ; stačí tedy ukázat ξ υ. Řekněme bez újmy na obecnosti, že v poslední iteraci simplexového

FIT ČVUT, MI-LOM, M. Černý, 2011: Dualita 3/5 algoritmu jest B = 1,..., n}; pak y = y B 0 a víme, že A B x = b B, kde x je algoritmem nalezený optimální vrchol. Pak ξ = c T x = A T y T x = y T Ax = y T B 0 T AB x = y T BA B x = y T Bb B = y T B 0 T bb = y T b = b T y y G minb T ỹ : ỹ G} = υ. Tím je dokončen důkaz případu, kdy F má vrchol. Nechť F je obecný polyedr který vrchol mít nemusí. Z první fáze simplexového algoritmu víme, že polyedr F x := : A B I 0 A A 0 I x b 0 0 má vrchol zde 0 značí nulovou matici či vektor příslušného rozměru. Užijme již prokázaný případ na lineární program } max c T c T x x : F. Obdržíme max } c T c T x x : F = min b T 0 T 0 T y1 y1 y 2 : y 2 G }, b B kde G := y 1 y 2 : y 3 A T I 0 A T 0 I y 1 y 2 = y 3 c c, y 1 0, y 2 0, y 3 0. Je jasné, že platí } maxc T x : x F} = max c T c T x x : F ; zbývá ukázat, že platí také minb T y : y G} = min To je snadné: min b T 0 T 0 T y1 y1 y 2 : y 2 G } b T 0 T 0 T y1 y1 y 2 : y 2 G }. = minb T y 1 : A T y 1 y 2 = c, A T y 1 y 3 = c, y 1 0, y 2 0, y 3 0} = minb T y 1 : A T y 1 c, A T y 1 c, y 1 0} = minb T y 1 : A T y 1 c, A T y 1 c, y 1 0} = minb T y 1 : A T y 1 = c, y 1 0} = minb T y 1 : y 1 G}. Věta o dualitě má velký význam pro návrh algoritmů pro lineární programování. Připomeňme, že na začátku přednášky jsme zformulovali tři verse úlohy lineárního programování:

FIT ČVUT, MI-LOM, M. Černý, 2011: Dualita 4/5 A je dána racionální matice A a racionální vektor b; úkolem je rozhodnout, zdali existuje reálný vektor x splňující Ax b tzv. rozhodovací verse, B je dána racionální matice A a racionální vektor b; úkolem je rozhodnout, zdali existuje reálný vektor x splňující Ax b, a je-li tomu tak, je úkolem nějaké takové x najít tzv. konstruktivní rozhodovací verse, C je dána racionální matice A a racionální vektory b a c. Úkolem je rozhodnout, zdali existuje reálný vektor x splňující c T x = maxx : Ax b}, a je-li tomu tak, je úkolem nějaké takové x najít; a jestliže x neexistuje, úkolem je rozhodnout, zdali je tomu z důvodu x : Ax b} =, anebo z důvodu supc T x : Ax b} = tzv. optimalsační verse. Věta 5. Libovolný algoritmus pro B dokáže řešit C. To speciálně znamená: Důsledek 6. Jestliže problém B je řešitelný v polynomiálním čase, pak také problém C je řešitelný v polynomiálním čase. Důkaz věty 5. Dokažme větu v tomto znění: Systém Ax b, A T y = c, y 0, b T y c T x = 0 1 má řešení, právě když existuje maxc T x : Ax b}; a existuje-li, pak libovolné řešení x, y systému 1 splňuje c T x = maxc T x : Ax b}. 2 Dokažme implikaci jestliže max x F c T x neexistuje, pak systém 1 nemá řešení. Jestliže číslo max x F c T x neexistuje, může to být ze dvou důvodů: buďto i F = anebo ii F = a funkce c T x roste na F přes všechny meze. Jestliže max x F c T x neexistuje z důvodu i, systém 1 nemá řešení, protože obsahuje nesplnitelnou nerovnost Ax b. Jestliže max x F c T x neexistuje z důvodu ii, pak musí být G =. Kdyby totiž bylo G =, pak existuje y 0 G, a pak ze slabé věty o dualitě plyne x F[c T x b T y 0 ], a tedy funkce c T x je na F shora omezená; to je ovšem spor s tím, že c T x roste na F přes všechny meze. Systém 1 nemůže mít řešení: obsahuje totiž systém A T y = c, y 0, a ten je díky G = nesplnitelný. Opačná implikace. Jestliže max x F c T x existuje, pak z věty o dualitě plyne x 0 F y 0 G[c T x 0 = b T y 0 ], pročež x 0, y 0 je řešením systému 1. Tedy, systém 1 je řešitelný. Zbývá ukázat, že každé řešení x, y systému 1 splňuje 2. Vzhledem k tvaru systému 1 jest x F a y G. Protože c T x = b T y, jest Γx, y = 0 a tvrzení plyne z důsledku 3. Algoritmu pro problém B stačí předhodit systém 1. Algoritmus pro B dokáže rozhodnout, zdali má systém 1 nějaké řešení. Jestliže řešení nemá, pak F = anebo c T x roste na F přes všechny meze a snadno dokážeme tyto dva případy rozlišit; jestliže řešení má, najděme jej. Tím získáme řešení problému C. Je zajímavé, že platí i tato věta:

FIT ČVUT, MI-LOM, M. Černý, 2011: Dualita 5/5 Věta 7. Libovolný algoritmus pro A dokáže řešit B. To speciálně znamená: Důsledek 8. Jestliže problém A je řešitelný v polynomiálním čase, pak také problém B je řešitelný v polynomiálním čase. Důkaz věty 7 a důsledku 8. Nejprve algoritmem pro A otestujeme, zdali F := x : Ax b}. Je-li F =, uvážíme obecnější problém. Budiž dán systém α T 1 x b 1, α T 2 x b 2,..., α T p x b p, α T p1x = b p1, α T p2x = b p2,..., α T mx = b m ; 3 popíšeme algoritmus k nalezení x, jež jej splňuje. Systém Ax b je speciální případ s p = m. Postupujme rekursivně v počtu nerovností p. Je-li p = 0, máme systém rovností, který lze vyřešit Gaussovou eliminací. Víme, že Gaussova eliminace pracuje v polynomiálním čase. Je-li p 1, modifikujeme systém 3 tak, že v nerovnici α T p x b p nahradíme znak rovností; dostaneme tak nový systém X, který má o jednu nerovnici méně. Algoritmem pro A otestujme, zdali systém X má řešení. Kruciální pozorování. Jestliže systém X nemá řešení, pak nerovnice α T p x b p je v systému 3 zbytečná. To znamená, že množina x : x je řešením 3} se vypuštěním nerovnice α T p x b p nezmění. Pozorování je zřejmé; pro intuici je dobré si jej představit alespoň v rovině. Jestliže X nemá řešení, podle pozorování můžeme volat rekursivně proceduru na nalezení řešení systému α T 1 x b 1, α T 2 x b 2,..., α T p 1x b p 1, α T p1x = b p1, α T p2x = b p2,..., α T mx = b m, který má o jednu nerovnost méně. Jestliže X má řešení, volejme rekursivně proceduru na systém X; ten má o jednu nerovnost méně než 3 a řešení X je i řešením 3. Je zřejmé, že právě popsaná procedura volá algoritmus pro A nanejvýš polynomiálněkrát, a pracuje proto v polynomiálním čase pracuje-li v polynomiálním čase algoritmus pro A. Z důsledků 6 a 8 plyne: chceme-li ukázat, že úlohu C lze řešit v polynomiálním čase, stačí ukázat, že problém A je v P. Tak učiníme v další přednášce.