Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1
Metódy riešenia úloh nelineárneho programovania využívajúce Lagrangeovu funkciu 2
Veta: Bod ˆx je optimálne riešenie úlohy (U3) Min {f 0 (x) f i (x) 0, i = 1,..., m} a û 0 je vektor Lagrangeových multiplikátorov prináležiaci k ˆx bod (ˆx, û) je sedlový bod Lagrangeovej funkcie t. j. platí L : R n R m + R, x R n u R m + : L(x, u) = f 0 (x) + m u if i (x) i=1 L(ˆx, u) L(ˆx, û) L(x, û). 3
Ako prvý využil Hugh Everett III - Generalized Lagrange Multiplier Method for Solving Problems of Optimum Allocation of Resources, Operations Research, Vol. 11, No. 3, May-June 1963, pp. 399-417. Hugh Everett III - americký fyzik známy viac pre prácu The Many Worlds Interpretation of Quantum Mechanics 4
Myšlienka algoritmu 1. Nastavíme k = 0, zvolí sa fixné u 0 R m +. 2. Hľadá sa voľné minimum funkcie L(x, u k ), označíme x k. 3. Rieši sa lineárna úloha jej riešenie označíme u k+1. max L(x k, u) u 0 4. Nastavíme k = k + 1; ideme na krok 2. Problém: Voľné minimum L(x, u k ) nemusí vždy existovať. 5
Rozšírené Lagrangeove funkcie Po Everettovom článku - záujem o jednoduchšie úlohy: Min{f 0 (x) h i (x) = 0, i = 1, 2,..., m} (U2) Klasická Lagrangeova funkcia: L : R n R m R, L(x, u) = f(x) + m i=1 u i h i (x) 1969 - Hestenes a Powell - rozšírená Lagrangeova funkcia : H(x, y) = L(x, y) + α 2 m i=1 h i(x) 2, α > 0 6
Nech ˆx K 2 = {x h i (x) = 0, i = 1,..., m} je optimálnym riešením úlohy (U2). Vektor ŷ R m nazveme vektorom Hestenesovych multiplikátorov prináležiacich optimálnemu riešeniu ˆx ak pre Hestenesovu funkciu platí: x : f 0 (ˆx) H(x, ŷ). Tiež platí: Bod ˆx je optimálne riešenie úlohy (U2) a ŷ R m je vektor Hestenesovych multiplikátorov prináležiaci k ˆx práve vtedy, keď bod (ˆx, ŷ) je sedlový bod Hestenesovej funkcie H(x, y). 7
V čom je Hestenesova rozšírená funkcia lepšia ako klasická Lagrangeova funkcia? Za istých predpokladov: - Pre dostatočne veľké α má funkcia minimum ȳ H(x, ȳ) = L(x, ȳ) + α 2 m h i(x) 2 i=1 - Ak x je stacionárnym bodom H(x, ȳ), tak x je stacionárnym bodom L(x, z) pre z : z i = ȳ i + αh i ( x). - Pre optimálne ˆx platí û = ŷ 8
Algoritmus Hestenesovej metódy: V k-tej iterácii: Daný je vektor multiplikátorov y k a penalizačný parameter α k Nájde sa voľné minimum x k Hestenesovej funkcie H(x, y k ) so štartovacím bodom x k 1, t.j. x k := arg min H(x, y k ). Multiplikátor sa vylepšuje podľa pravidla: y k+1 i = y k i + α k h i (x k ). Zvolí sa nový penalizačný parameter α k+1 α k a proces sa opakuje. 9
1973 - T. Rockafellar adaptoval Hestenesovu funkciu na úlohu Min{f 0 (x) f i (x) 0, i = 1, 2,..., m} (U3) Pomocou doplnkových premenných upravil ohraničenia f i (x) 0 na h i (x, z i ) = f i (x) + z 2 i = 0. Úlohu (U3) previedol na klasickú úlohu na voľný extrém (U2), definoval príslušnú Hestenesovu funkciu H(x, y, z). Eliminoval doplnkové premenné z i a definoval tzv. Rockafellarovu funkciu R(x, y) = min H(x, y, z) z Rm 10
Rockafellarova funkcia má tvar: R(x, y) = f 0 (x) + m y i max f i (x), y i + α m i=1 α 2 i=1 max2 f i (x), y i α Podobne ako v prípade Hestenesovej funkcie sa definuje pojem Rockafellarovych multiplikátorov. Veta: Bod ˆx je optimálne riešenie úlohy (U3) a ŷ R m je vektor Rockafellarovych multiplikátorov prináležiaci k ˆx práve vtedy, keď bod (ˆx, ŷ) je sedlový bod Rockafellarovej funkcie R(x, y). 11
Podobne ako v prípade Hestenesovej funkcie sa odvodí iteračné pravidlo pre ich aproximáciu. Algoritmus Rockafellarovej metódy: V k-tej iterácii: Daný je vektor multiplikátorov y k 0 a penalizačný parameter α k Nájde sa voľné minimum x k Rockafellarovej funkcie R(x, y k ) so štartovacím bodom x k 1. Multiplikátor sa vylepšuje podľa pravidla: y k+1 i = max[0, y k i + α k f i (x k )]. Zvolí sa nový penalizačný parameter α k+1 α k a proces sa opakuje. 12
Magnus R. Hestenes, Michael J. D. Powell, R. T. Rockafellar 13
Zovšeobecnenie konceptu Lagrangeovej funkcie 14
1968 - J. D. Roode: Generalized Lagrangian functions in mathematical programming Definícia: daná je všeobecná úloha Min{f(x) x M}, (U0) kde M X R n, f : X R. Nech Y R m a funkcia F : X Y R spĺňa tzv. Roodeho axiómy: (R1) y Y, x M : F(x, y) 0; (R2) ȳ Y, x M : F(x, ȳ) = 0; (R3) x / M : sup y Y F(x, y) = +. Potom funkcia L(x, y) = f(x) + F(x, y) sa nazýva zovšeobecnenou Lagrangeovou funkciou úlohy (U0). 15
Príklad: Klasická Lagrangeova funkcia pre (U3). Nech f i : R n R, i = 0, 1,..., m. Min{f 0 f i (x) 0, i = 1,..., m} (U3) X = R n, M = K 3 = {x f i (x) 0, i = 1,.., m}, Y = R m + F : R n R m + R, F(x, y) = m y if i (x) i=1 Funkcia L(x, y) = f 0 (x) + F(x, y) - spĺňa Roodeho axiómy. Domáca úloha (Cvičenie): Hestenesova funkcia, Rockafellarova funkcia spĺňajú Roodeho axiómy. 16
Definícia: Nech ˆx M je optimálnym riešením úlohy (U0). Vektor ŷ Y nazveme zovšeobecneným vektorom Lagrangeových multiplikátorov prináležiacich optimálnemu riešeniu ˆx ak pre zovšoubecnený Lagrangeovu funkciu platí: x X : f(ˆx) L(x, ŷ). 17
Lema: Nech ˆx M je optimálnym riešením úlohy (U0) a ŷ Y je príslušný (zovšeobecnený) vektor Lagrangeových multiplikátorov. Potom platia nasledujúce vzťahy: 1. f(ˆx) = L(ˆx, ŷ), 2. F(ˆx, ŷ) = 0. Dôkaz: [tabuľa] 18
Veta (Roode): Bod ˆx je optimálne riešenie úlohy (U0) Min {f(x) x M} a ŷ 0 je zovšeobecnený vektor Lagrangeových multiplikátorov prináležiaci k ˆx bod (ˆx, ŷ) je sedlový bod zovšeobecnenej Lagrangeovej funkcie t. j. platí L(x, y) : X Y R, L(x, y) = f(x) + F(x, y) x X y Y : L(ˆx, y) L(ˆx, ŷ) L(x, ŷ). 19
Dôkaz: [tabuľa] 20
Sedlové body Veta o minmaxe 21
Budeme uvažovať funkciu Φ : X Y R, kde X R n, Y R m. Bod (x 0, y 0 ) X Y sa nazýva sedlovým bodom typu min-max funkcie Φ, ak platí x X, y Y : Φ(x 0, y) Φ(x 0, y 0 ) Φ(x, y 0 ). Analogicky možno definovať sedlový bod typu max-min. 10 5 0 5 0.4 0.2 0 0.2 10 15 2 1 0 y 1 2 2 0 x 2 Φ(x, y) = x + xy x 2 y Φ(x, y) = (x 2 y 2 )e x2 y 2 s.b. minmax [0,-1], s.b. maxmin [1,1] 0.4 2 1 0 y 1 2 2 1 s.b. minmax [0,0], glob. maximá a minimá x 0 1 2 22
Existencia sedlového bodu Pre extrém máme 2 postačujúce podmienky: Nech funkcia f je definovaná na M X R n. (Weierstrass) Ak M je kompaktná a f je na M spojitá, tak f nadobúda na M svoje minimum i maximum. Ak M má konečný počet prvkov, tak f nadobúda na M svoje minimum i maximum. Analogické postačujúce podmienky neplatia pre existenciu sedlového bodu. 23
Príklad: Φ : {0, 1} {0, 1} R X \ Y 0 1 0 7 2 1 6 9 Príklad: Φ(x, y) = (x y) 2 na [ 1, 1] [ 1, 1] 4 3 2 1 0 1 0 y 1 1 0.5 0 0.5 1 x 24
Historicky prvý výsledok: J. von Neumann (1928): Zur Theorie der Gesellschaftsspiele, Math. Ann. 100, 295-320 Nech X R n, Y R n sú simplexy a nech Φ(x, y) je bilineárna funkcia.na X Y. Potom Φ má vzhl adom na množinu X Y sedlový bod typu min-max. Zovšeobecnenie: Maurice Sion (1958): On general minimax theorems, Pacific J. Math. 8(1), 171-176 Nech X R n, Y R n sú konvexné a kompaktné množiny. Nech Φ(x, y) je podl a x zdola polospojitá a kvázikonvexná a podl a y zhora polospojitá a kvázikonkávna funkcia na X Y. Potom Φ má vzhl adom na množinu X Y sedlový bod typu min-max. 25
Lema: Platí sup y inf x Φ(x, y) inf x sup Φ(x, y) y Veta o minmaxe Funkcia Φ(x, y) definovaná na X Y má sedlový bod (x 0, y 0 ) typu minmax vzhľadom na X Y práve vtedy, ak existujú výrazy Φ sup = min x X sup y Y Φ(x, y), Φ inf = max y Y inf x X a ich hodnoty sú rovnaké. Potom tiež platí Φ(x, y), Φ(x 0, y 0 ) = Φ sup = Φ inf. 26
Dôkaz: [tabuľa] 27
Všeobecný princíp duality 28
Uvažujeme úlohu Min{f(x) x M}, M X R n, f : X R Zovšobecnená Lagrangeova funkcia: L(x, y) = f(x) + F(x, y), kde F : X Y R spĺňa Roodeho axiómy. Mali sme: ˆx je optimálne riešenie úlohy a ŷ je ZVLM (ˆx, ŷ) je sedlový bod (typu min-max) funkcie L. Z Vety o minmaxe: L(ˆx, ŷ) = L inf = L sup, kde L inf = max y Y inf x X L(x, y), L sup = min x X sup y Y L(x, y) 29
Zhrnutie: L(ˆx, ŷ) = L inf = L sup = f(ˆx) Hodnota L sup sa dá interpretovať pomocou pôvodnej (primárnej) úlohy (U0): sup y Y L(x, y) = f(x) + sup y Y F(x, y) = = f(x) x M (R1, R2) + x / M (R3) Teda L sup = min x X sup y Y L(x, y) = min x M f(x). Ak analogicky dáme interpretáciu hodnote L inf - dostávame duálnu úlohu. 30
Definujme funkciu: G(y) = inf y Y L(x, y) Úlohu Max{G(y) y Y } (D0) nazveme duálnou úlohou k úlohe (U0). Slabá veta o dualite: G(y) f(x) x M, y Y Dôkaz:... 31
Dôsledky: Ak dvojica (ˆx, ŷ) M Y spĺňa G(ŷ) = f(ˆx), tak ˆx je optimálne riešenie (U0) a ŷ je optimálne riešenie (D0). Ak f nie je zdola ohraničená, tak (D0) je neprípustná. Ak G je zhora neohraničená, tak (U0) je neprípustná. Veta o dualite: Nech (ˆx, ŷ) X Y je sedlový bod (zovšeobecnenej) Lagrangeovej funkcie L, potom ˆx je optimálne riešenie (U0) a ŷ je optimálne riešenie (D0) a platí G(ŷ) = f(ˆx) 32
Literatúra k prednáške: Hamala, Trnovská: Nelineárne programovanie, str. 22-31, 155-177 33