(FIT ČVUT v Praze) Konvexní analýza 13.týden 1 / 1 Matematika pro informatiky Jaroslav Milota Fakulta informačních technologíı České vysoké učení technické v Praze Letní semestr 2010/11
Extrémy funkce více proměnných V této přednášce se dozvíte základní informace o optimalizaci pro funkce více proměnných. Vzhledem k časovým možnostem bude výklad hodně stručný. Postupně probereme základní metody pro nalezení největší a nejmenší hodnoty funkce (obecně více proměnných) na množině. Více informací bude o speciálních případech extrémů lineárních, resp. konvexních, funkcí na množinách zadaných pomocí lineárních, resp. konvexních, omezení. Těmto úlohám se říká úlohy lineárního, resp. konvexního programování. Slovo programování vzniklo dříve než programy pro počítače. (FIT ČVUT v Praze) Konvexní analýza 13.týden 2 / 1
Extrémy funkce více proměnných V této přednášce se dozvíte základní informace o optimalizaci pro funkce více proměnných. Vzhledem k časovým možnostem bude výklad hodně stručný. Postupně probereme základní metody pro nalezení největší a nejmenší hodnoty funkce (obecně více proměnných) na množině. Více informací bude o speciálních případech extrémů lineárních, resp. konvexních, funkcí na množinách zadaných pomocí lineárních, resp. konvexních, omezení. Těmto úlohám se říká úlohy lineárního, resp. konvexního programování. Slovo programování vzniklo dříve než programy pro počítače. Definice Funkce f nabývá v bodě a M maxima (resp. minima) na množině M R n, jestliže pro všechna x M je f (x) f (a) (resp. f (x) f (a)). Funkce f nabývá v bodě a M lokálního maxima nebo minima, jestliže existuje okoĺı U bodu a, U M takové, že f nabývá v bodě a maxima nebo minima na U. Bod lokálního maxima nebo minima se nazývá lokálním extrémem. (FIT ČVUT v Praze) Konvexní analýza 13.týden 2 / 1
Základní postačující podmínku pro existenci největší a nejmenší hodnoty udává následující věta. (FIT ČVUT v Praze) Konvexní analýza 13.týden 3 / 1
Základní postačující podmínku pro existenci největší a nejmenší hodnoty udává následující věta. Věta Nechť funkce f je spojitá na kompaktní podmnožině M R n. Pak f nabývá v M své největší i nejmenší hodnoty. (FIT ČVUT v Praze) Konvexní analýza 13.týden 3 / 1
Základní postačující podmínku pro existenci největší a nejmenší hodnoty udává následující věta. Věta Nechť funkce f je spojitá na kompaktní podmnožině M R n. Pak f nabývá v M své největší i nejmenší hodnoty. Připomeňme, že podmnožina M R n je kompaktní, jestliže je omezená a uzavřená - nebo ekvivalentně: Z každé posloupnosti (x n ) lze vybrat podposloupnost, která má limitu a ta leží v M. Taková množina M je sjednocení dvou podmnožin: vnitřku (Int M) a hranice (H(M)). Pokud funkce f nabývá své největší (nejmenší) hodnoty na M v bodě a, kde a Int M, pak a je lokální extrém. Pokud a H(M), pak mluvíme o vázaném extrému. (FIT ČVUT v Praze) Konvexní analýza 13.týden 3 / 1
Základní postačující podmínku pro existenci největší a nejmenší hodnoty udává následující věta. Věta Nechť funkce f je spojitá na kompaktní podmnožině M R n. Pak f nabývá v M své největší i nejmenší hodnoty. Připomeňme, že podmnožina M R n je kompaktní, jestliže je omezená a uzavřená - nebo ekvivalentně: Z každé posloupnosti (x n ) lze vybrat podposloupnost, která má limitu a ta leží v M. Taková množina M je sjednocení dvou podmnožin: vnitřku (Int M) a hranice (H(M)). Pokud funkce f nabývá své největší (nejmenší) hodnoty na M v bodě a, kde a Int M, pak a je lokální extrém. Pokud a H(M), pak mluvíme o vázaném extrému. Snadnou a geometricky názornou podmínku pro lokální extrém dostaneme pomocí pojmu derivace funkce (obecně více proměnných). (FIT ČVUT v Praze) Konvexní analýza 13.týden 3 / 1
Definice Nechť f : R n R. Derivací funkce f v bodě a ve směru h 0 nazýváme f (a + th) f (a) lim = f (a; h). t 0 t Speciálním případem, kdy směr h je roven jednotkovému vektoru ve směru i-té osy, je parciální derivace f x i (a). Diferenciálem funkce f v bodě a nazýváme lineární zobrazení L : R n R takové, že f (a + h) f (a) L(h) lim = 0, h 0 h kde x je absolutní hodnota čísla x a h je norma prvku h (jeho vzdálenost od počátku souřadnic). (FIT ČVUT v Praze) Konvexní analýza 13.týden 4 / 1
Definice Nechť f : R n R. Derivací funkce f v bodě a ve směru h 0 nazýváme f (a + th) f (a) lim = f (a; h). t 0 t Speciálním případem, kdy směr h je roven jednotkovému vektoru ve směru i-té osy, je parciální derivace f x i (a). Diferenciálem funkce f v bodě a nazýváme lineární zobrazení L : R n R takové, že f (a + h) f (a) L(h) lim = 0, h 0 h kde x je absolutní hodnota čísla x a h je norma prvku h (jeho vzdálenost od počátku souřadnic). Poznamenejme, že pokud existuje diferenciál funkce f v bodě a, budeme jej značit f (a), pak existují derivace ve všech směrech a je n f f (a)(h) = (a)h i, x i i=0 (FIT ČVUT v Praze) Konvexní analýza 13.týden 4 / 1
Věta Nechť funkce f má lokální extrém v bodě a R n. Pak pro každé h R n, h 0, je buď f (a; h) = 0 nebo f (a; h) neexistuje. (FIT ČVUT v Praze) Konvexní analýza 13.týden 5 / 1
Věta Nechť funkce f má lokální extrém v bodě a R n. Pak pro každé h R n, h 0, je buď f (a; h) = 0 nebo f (a; h) neexistuje. Situace s vázanými extrémy je komplikovanější. Omezíme se na případ, kdy hranice H(M) je dána m podmínkami f j (x) = 0, j = 1,..., m a navíc jsou v každém bodě x H(M) spojité parciální derivace f j x i (x) a matice f j x i (x) má hodnost rovnou m. Takovou hranici budeme nazývat regulární hranicí. (FIT ČVUT v Praze) Konvexní analýza 13.týden 5 / 1
Věta Nechť funkce f má vázaný extrém v bodě a H(M), kde H(M) = {x R n ; f j (x) = 0, j = 1,..., m} je regulární hranice. Jestliže funkce f, f 1,..., f m mají v bodě a spojité parciální derivace, pak existují čísla λ 1,...λ m (tzv. Lagrangeovy multiplikátory) tak, že platí f x i (a) + m j=1 λ j f j x i (a) = 0, i = 1,..., m. (FIT ČVUT v Praze) Konvexní analýza 13.týden 6 / 1
Úloha lineárního programování V úloze lineárního programování jde o nalezení největší nebo nejmenší hodnoty lineární funkce f 0 (ta se vzhledem k ekonomickým aplikacím nazývá účelová nebo cílová funkce) na množině M, která je zadána soustavou m lineárních nerovnic f j (x) α j, j = 1,..., m. (FIT ČVUT v Praze) Konvexní analýza 13.týden 7 / 1
Úloha lineárního programování V úloze lineárního programování jde o nalezení největší nebo nejmenší hodnoty lineární funkce f 0 (ta se vzhledem k ekonomickým aplikacím nazývá účelová nebo cílová funkce) na množině M, která je zadána soustavou m lineárních nerovnic f j (x) α j, j = 1,..., m. Je zapotřebí zodpovědět následující otázky : Kdy má úloha řešení Jak lze charakterizovat body maxima (minima) funkce f 0 Jak lze přibližně najít body maxima (minima) a příslušné hodnoty. Základní metodou, která bývá součástí nejrůznějších softwarů, je tzv. simplexová metoda. Za zmínku stojí, že studium její počítačové náročnosti (vzhledem k proměnným n, m) provedené v 70-tých a 80-tých letech minulého století, patří k startujícím bodům teoretické informatiky (důkaz, že simplexová metoda je polynomiální). (FIT ČVUT v Praze) Konvexní analýza 13.týden 7 / 1
Úloha konvexního programování V této úloze je množina M R n konvexní (často zadaná m nerovnicemi f j (x) α j, kde funkce f 1,..., f m jsou konvexní) a funkce f 0, jejíž maximum nebo minimum na M hledáme, je také konvexní. (FIT ČVUT v Praze) Konvexní analýza 13.týden 8 / 1
Úloha konvexního programování V této úloze je množina M R n konvexní (často zadaná m nerovnicemi f j (x) α j, kde funkce f 1,..., f m jsou konvexní) a funkce f 0, jejíž maximum nebo minimum na M hledáme, je také konvexní. Otázky jsou stejné jako u lineárního programování. (FIT ČVUT v Praze) Konvexní analýza 13.týden 8 / 1
Úloha konvexního programování V této úloze je množina M R n konvexní (často zadaná m nerovnicemi f j (x) α j, kde funkce f 1,..., f m jsou konvexní) a funkce f 0, jejíž maximum nebo minimum na M hledáme, je také konvexní. Otázky jsou stejné jako u lineárního programování. Oproti nutným podmínkám uvedených na začátku přednášky je zde netriviální komplikace způsobená tím, že konvexní funkce nemusí mít derivaci. Jednoduchým příkladem je absolutní hodnota. na R nebo obecněji norma na R n. Dříve než přistoupíme k relevantním informacím o úloze lineárního nebo konvexního programování, budeme potřebovat fakta o lineárních a konvexních funkcích. (FIT ČVUT v Praze) Konvexní analýza 13.týden 8 / 1
Konvexní množiny Definice Podmnožina M R n se nazývá konvexní, jestliže s každými dvěma body obsahuje i úsečku, která tyto body spojuje. Formálněji : x, y M t [0, 1] : tx + (1 t)y M. (FIT ČVUT v Praze) Konvexní analýza 13.týden 9 / 1
Konvexní množiny Definice Podmnožina M R n se nazývá konvexní, jestliže s každými dvěma body obsahuje i úsečku, která tyto body spojuje. Formálněji : x, y M t [0, 1] : tx + (1 t)y M. Příkladem konvexní množiny je kruh { x = (x1,..., x n ) R n ; x 2 1 +... + x 2 n r 2} nebo M = {x R n ; < x, a i > α i, i = 1,..., m}, kde <.,. > je skalární součin v R n a a 1,..., a m R n, α 1,..., α m R. V tomto případě je množina M rovna průniku m poloprostorů {x R n ; < x, a i > α i }, i = 1,..., m a poloprostor je konvexní množina a průnik libovolného systému konvexních množin je konvexní množina. V této souvislosti připomeňme, že pro každou lineární funkci g na R n existuje právě jedno a R n tak, že g(x) =< x, a > pro x R n. (FIT ČVUT v Praze) Konvexní analýza 13.týden 9 / 1
Definice Nechť x 1,..., x k R n, t 1,..., t k jsou nezáporná čísla taková, že k i=1 t i = 1. Pak k i=1 t ix i se nazývá konvexní kombinací prvků x 1,..., x k. Konvexním obalem bodů x 1,..., x k nazýváme množinu všech konvexních kombinací těchto bodů. Jestliže M R n je konvexní množina, pak extremálním bodem M se nazývá bod, který není konvexní kombinací dvou různých bodů z M. (FIT ČVUT v Praze) Konvexní analýza 13.týden 10 / 1
Definice Nechť x 1,..., x k R n, t 1,..., t k jsou nezáporná čísla taková, že k i=1 t i = 1. Pak k i=1 t ix i se nazývá konvexní kombinací prvků x 1,..., x k. Konvexním obalem bodů x 1,..., x k nazýváme množinu všech konvexních kombinací těchto bodů. Jestliže M R n je konvexní množina, pak extremálním bodem M se nazývá bod, který není konvexní kombinací dvou různých bodů z M. Příklad. Jestliže M = { (x 1,..., x n ) R n ; x 2 1 +... + x 2 n r 2} je kruh o poloměru r, pak extremálními body M jsou body kružnice { (x1,..., x n ) R n ; x 2 1 +...x 2 n = r 2}. (FIT ČVUT v Praze) Konvexní analýza 13.týden 10 / 1
Definice Nechť x 1,..., x k R n, t 1,..., t k jsou nezáporná čísla taková, že k i=1 t i = 1. Pak k i=1 t ix i se nazývá konvexní kombinací prvků x 1,..., x k. Konvexním obalem bodů x 1,..., x k nazýváme množinu všech konvexních kombinací těchto bodů. Jestliže M R n je konvexní množina, pak extremálním bodem M se nazývá bod, který není konvexní kombinací dvou různých bodů z M. Příklad. Jestliže M = { (x 1,..., x n ) R n ; x 2 1 +... + x 2 n r 2} je kruh o poloměru r, pak extremálními body M jsou body kružnice { (x1,..., x n ) R n ; x 2 1 +...x 2 n = r 2}. Věta Jestliže a 1,..., a m R n, α 1,..., α m R a M = {x R n ; < x, a i > α i, i = 1,..., m}, pak x M je extremální bod M, právě když množina {a i ; < x, a i >= α i } obsahuje n lineárně nezávislých vektorů. (FIT ČVUT v Praze) Konvexní analýza 13.týden 10 / 1
Kĺıčový význam extremálních bodů pro studium konvexních množin ukazuje následující věta, kterou je možné dokázat indukcí podle dimenze prostoru. Věta Nechť M je konvexní, omezená a uzavřená podmnožina R n. Pak M je konvexním obalem množiny extremálních bodů M. (FIT ČVUT v Praze) Konvexní analýza 13.týden 11 / 1
Pro úlohu lineárního programování je důležitá struktura množiny zadané systémem lineárních nerovnic. Věta Nechť M = {x R n ; < x, a i > α i, i = 1,..., m}, kde a 1,..., a m R n a α 1,..., α m R. Jestliže M, pak (i) Existuje polyedr M (tj. konvexní { obal konečného počtu bodů x 1,..., x k ) a polyedrický kužel K (tj. K = x = } l j=1 t jy j ; t 1,..., t l 0, kde y 1,..., y l jsou dané vektory v R n ) tak, že M = M + K. (ii) Lineární funkce f 0 (f 0 (x) =< x, a 0 >) je na množině M buď zdola neomezená nebo nabývá na M své nejmenší hodnoty a to v některém z extremálních bodů M. (FIT ČVUT v Praze) Konvexní analýza 13.týden 12 / 1
Pro úlohu lineárního programování je důležitá struktura množiny zadané systémem lineárních nerovnic. Věta Nechť M = {x R n ; < x, a i > α i, i = 1,..., m}, kde a 1,..., a m R n a α 1,..., α m R. Jestliže M, pak (i) Existuje polyedr M (tj. konvexní { obal konečného počtu bodů x 1,..., x k ) a polyedrický kužel K (tj. K = x = } l j=1 t jy j ; t 1,..., t l 0, kde y 1,..., y l jsou dané vektory v R n ) tak, že M = M + K. (ii) Lineární funkce f 0 (f 0 (x) =< x, a 0 >) je na množině M buď zdola neomezená nebo nabývá na M své nejmenší hodnoty a to v některém z extremálních bodů M. Druhé tvrzení je důsledkem rozkladu z bodu (i) a snadno dokazatelné skutečnosti, že lineární funkce na polyedru (ten je kompaktní množinou) nabývá svě největší a nejmenší hodnoty v extremálním bodě polyedru. První tvrzení má důkaz relativně technicky náročný. (FIT ČVUT v Praze) Konvexní analýza 13.týden 12 / 1
Lagrangeovy multiplikátory mají pro úlohu lineárního programování následující tvar, který lze snadno nahlédnout z předcházející věty a obecné věty o Lagrangeových multiplikátorech uvedené na začátku přednášky. Věta Nechť množina M a lineární funkce f 0 mají tvar jako v předcházející větě a funkce f 0 je zdola omezená na M. Pak bod x M je bodem minima funkce f 0 na M, právě když existují čísla λ 1,..., λ m tak, že jsou splněny podmínky : (i) a 0 + m i=1 λ ia i = 0 (ii) λ i [< x, a i > α i ] = 0 pro i = 1,..., m. (FIT ČVUT v Praze) Konvexní analýza 13.týden 13 / 1
Konvexní funkce Nejprve budeme definovat konvexní funkci. Jejím definičním oborem bude vždy konvexní množina. Definice Funkce f se nazývá konvexní na konvexní množině M R n, jestliže je splněna podmínka f (λ 1 x 1 +... + λ k x k ) λ 1 f (x 1 ) +... + λ k f (x k ) pro všechna λ 1,..., λ k 0, k i=1 λ i = 1 a x 1,..., x k M. (FIT ČVUT v Praze) Konvexní analýza 13.týden 14 / 1
Konvexní funkce Nejprve budeme definovat konvexní funkci. Jejím definičním oborem bude vždy konvexní množina. Definice Funkce f se nazývá konvexní na konvexní množině M R n, jestliže je splněna podmínka f (λ 1 x 1 +... + λ k x k ) λ 1 f (x 1 ) +... + λ k f (x k ) pro všechna λ 1,..., λ k 0, k i=1 λ i = 1 a x 1,..., x k M. Konvexní funkce je spojitá ve vnitřních bodech množiny M, v hraničních bodech spojitá být nemusí (jednoduchý příklad je už na intervalu). Derivovatelná být také nemusí, ale místo derivace se definuje tzv. subdiferenciál. (FIT ČVUT v Praze) Konvexní analýza 13.týden 14 / 1
Definice Nechť funkce f je konvexní na konvexní množině M R n. Jejím subdiferenciálem v bodě a M nazýváme množinu f (a) = {y M; x M = f (x) f (a) < x a, y >}. (FIT ČVUT v Praze) Konvexní analýza 13.týden 15 / 1
Definice Nechť funkce f je konvexní na konvexní množině M R n. Jejím subdiferenciálem v bodě a M nazýváme množinu f (a) = {y M; x M = f (x) f (a) < x a, y >}. Věta Konvexní funkce f nabývá minima na konvexní množině M v bodě a M, právě když 0 f (a). Důkaz plyne okamžitě z definice subdiferenciálu. (FIT ČVUT v Praze) Konvexní analýza 13.týden 15 / 1
V konvexním programování je množina, na které je zapotřebí minimalizovat konvexní funkci, často zadaná soustavou nerovnic typu f i (x) 0, i = 1,..., m, kde f 1,..., f m jsou konvexní funkce. Množiny {x R n ; f i (x) 0} jsou konvexní a množina M jako průnik konvexních množin je konvexní (nebo prázdná). Sestrojme jako dříve Lagrangeovu funkci L(x, λ) = f 0 (x) + m λ i f i (x). i=1 (FIT ČVUT v Praze) Konvexní analýza 13.týden 16 / 1
Věta Nechť funkce f 0, f 1,..., f m jsou konvexní na množině M = {x R n ; f i (x) 0, i = 1,..., m} a nechť existuje bod x M, ve kterém je f i ( x) < 0 pro všechna i = 1,..., m. Nechť dále funkce f 0 je zdola omezená na množině M. Pak existuje λ = ( λ 1,..., λ m ) 0 (tzv. Kuhnův-Tuckerův vektor) tak, že inf f 0(x) = inf L(x, λ). x M x M Bod a M je bodem minima funkce f 0 na množině M, právě když existuje λ 0 takový, že (i) Pro všechna x M je L(a, λ) L(x, λ); (ii) Pro všechna i = 1,..., m je λ i f i (a) = 0. (FIT ČVUT v Praze) Konvexní analýza 13.týden 17 / 1
Úloha konvexního programování je tak v jistém smyslu převedena na nalezení Kuhnova-Tuckerova vektoru. Ten lze hledat pomocí subdiferenciálu funkce V (α 1,..., α n ) = inf {f 0 (x); f i (x) α i, i = 1,..., m} jak ukazuje následující věta. Věta Za předpokladů předcházející věty je λ Kuhnův-Tuckerův vektor, právě když λ V (0). Jestliže existuje Kuhnův-Tuckerův vektor λ, pak pro ϕ(λ) = inf x M L(x, λ) je inf f 0(x) = sup ϕ(λ) = ϕ( λ). x M λ 0 (FIT ČVUT v Praze) Konvexní analýza 13.týden 18 / 1