Úvod do optimalizace



Podobné dokumenty
Masarykova univerzita. Základy konvexní analýzy a optimalizace v R n.

2 Spojité modely rozhodování

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

Elektrotechnická fakulta

Matematika pro informatiky

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

5. Maticová algebra, typy matic, inverzní matice, determinant.

Regulární matice. Věnujeme dále pozornost zejména čtvercovým maticím.

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.

Učební texty k státní bakalářské zkoušce Matematika Matice. študenti MFF 15. augusta 2008

A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly

Lineární programování

Soustavy lineárních rovnic

EKONOMICKO-MATEMATICKÉ METODY

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace

Lineární algebra II. Adam Liška. 9. února Zápisky z přednášek Jiřího Fialy na MFF UK, letní semestr, ak. rok 2007/2008

Skalár- veličina určená jedním číselným údajem čas, hmotnost (porovnej životní úroveň, hospodaření firmy, naše poloha podle GPS )

Matematika pro studenty ekonomie

Numerická realizace metod. lineárního a kvadratického

Lineární programování

TEORIE MATIC. Tomáš Vondra

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

KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO LINEÁRNÍ ALGEBRA 1 OLGA KRUPKOVÁ VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN

Jak pracovat s absolutními hodnotami

Funkce zadané implicitně

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

1. Alternativní rozdělení A(p) (Bernoulli) je diskrétní rozdělení, kdy. p(0) = P (X = 0) = 1 p, p(1) = P (X = 1) = p, 0 < p < 1.

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Maticový a tenzorový počet

Poznámky z matematiky

0.1 Úvod do lineární algebry

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 1. Pomocný učební text

6. T e s t o v á n í h y p o t é z

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

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie

0. Lineární rekurence Martin Mareš,

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

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

0.1 Úvod do lineární algebry

MATEMATIKA IV - PARCIÁLNÍ DIFERENCIÁLNÍ ROVNICE - ZÁPISKY Z. Obsah. 1. Parciální diferenciální rovnice obecně. 2. Kvaazilineární rovnice prvního řádu

Základy podmíněné matematické optimalizace

Petr Lachout October 16, 2011: Petr Lachout. EKN012 Optimalizace I

GRAFY A GRAFOVÉ ALGORITMY

y = Spočtěte všechny jejich normy (vektor je také matice, typu n 1). Řádková norma (po řádcích sečteme absolutní hodnoty prvků matice a z nich

x y +30x, 12x+30 18y 18y 18x+54

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

Euklidovský prostor Stručnější verze

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

Vybrané problémy lineární algebry v programu Maple

Učební texty k státní bakalářské zkoušce Matematika Základy teorie funkcí více proměnných. študenti MFF 15. augusta 2008

Vektory a matice. Matice a operace s nimi. Hodnost matice. Determinanty. . p.1/12

Optimalizace. Elektronická skripta předmětu A4B33OPT. Toto je verze ze dne 28. ledna Katedra kybernetiky Fakulta elektrotechnická

Gymnázium, Brno. Matice. Závěrečná maturitní práce. Jakub Juránek 4.A Školní rok 2010/11

(Cramerovo pravidlo, determinanty, inverzní matice)

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

Kapitola 1. Tenzorový součin matic

skladbu obou směsí ( v tunách komponenty na 1 tunu směsi):

EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH

Regresní a korelační analýza

3. Matice a determinanty

{Q={1,2};S,T;u(s,t)} (3.3) Prorovnovážnéstrategie s,t vehřesnulovýmsoučtemmusíplatit:

Úlohy nejmenších čtverců

3. ANTAGONISTICKÉ HRY

ANTAGONISTICKE HRY 172

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

4EK213 LINEÁRNÍ MODELY

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Derivace a průběh funkce.

Matice. Přednáška MATEMATIKA č. 2. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel

Lineární algebra : Báze a dimenze

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

DEFINICE Z LINEÁRNÍ ALGEBRY

Matematika a ekonomické předměty

10 Funkce více proměnných

Matematika B101MA1, B101MA2

9. Úvod do teorie PDR

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Úvod do teorie her. David Bartl, Lenka Ploháková

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

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

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

Návody k domácí části I. kola kategorie A

Metody operačního výzkumu cvičení

ALGEBRA. Téma 5: Vektorové prostory

Symetrické a kvadratické formy

4EK201 Matematické modelování. 2. Lineární programování

Edita Kolářová ÚSTAV MATEMATIKY

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ. Matematika 3. RNDr. Břetislav Fajmon, PhD. Autoři textu:

Eduard Šubert: Koktejl nápoj je vektorem z lineárního obalu ingrediencí.

8 Matice a determinanty

y n+1 = g(x n, y n ),

Operace s maticemi Sčítání matic: u matic stejného typu sečteme prvky na stejných pozicích: A+B=(a ij ) m n +(b ij ) m n =(a ij +b ij ) m n.

Matematika kr sy. 5. kapitola. V hoda pr ce s grupami

Základy matematiky kombinované studium /06

2.2. SČÍTÁNÍ A NÁSOBENÍ MATIC

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

Operační výzkum. Teorie her cv. Hra v normálním tvaru. Optimální strategie. Maticové hry.

Soustavy lineárních rovnic

Soustavy linea rnı ch rovnic

Transkript:

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 1 Úvod do optimalizace Prof. RNDr. Jitka Dupačová, DrSc. Doc. RNDr. Petr Lachout, CSc. KPMS MFF UK Verze 19. února 2006

2

Obsah 1 Úvod 5 2 Optimalizace jako matematická úloha 7 2.1 Funkce jedné proměnné..................................... 7 2.2 Funkce více proměnných..................................... 8 2.3 Konvexní množiny........................................ 9 2.4 Konvexní funkce......................................... 10 2.5 Obecná formulace optimalizačních úloh............................ 11 2.6 Optimalizace kolem nás..................................... 12 3 Lineární programování 13 3.1 Úloha LP a její grafické řešení.................................. 13 3.2 Formulace a zápis úlohy LP................................... 15 3.3 Vlastnosti úlohy LP ve standardním tvaru........................... 16 3.4 Základy simplexové metody................................... 18 3.5 Dualita a její interpretace.................................... 21 3.6 Farkasova věta.......................................... 25 3.7 Ekonomická interpretace duality................................ 25 3.8 Poznámky............................................. 26 4 Symetrická úloha NLP 27 4.1 Podmínky optimality pro symetrické úlohy NLP....................... 27 4.2 Podmínky regularity....................................... 28 4.3 Citlivost úlohy NLP....................................... 29 4.4 Úloha kvadratického programování............................... 30 5 Dopravní problém 31 6 Výpočetní algoritmy pro optimalizační úlohy 33 6.1 Stručný přehled algoritmů pro NLP.............................. 33 6.2 Metoda sečné (opěrné) nadroviny................................ 34 6.3 Zobecnění gradientních metod na úlohy s omezeními..................... 36 6.4 Převedení úloh NLP na úlohy hledání volného minima.................... 38 7 Teorie her 41 7.1 Maticové hry........................................... 43 Literatura 47 Index 48 3

4

Kapitola 1 Úvod V této přednášce se budeme věnovat hledání extrémů dané funkce na zadané množině. Jde nám o charakterizaci bodů maxima a minima (matematická analýza) a také o jejich určení (numerická matematika). Uved me si několik příkladů z praxe na optimalizační úlohu. Příklad 1: Lyžařská oblast mísa má hezký terén, ale jsou tam často mlhy. Chata je v dolíku a chatař pouští při mlze hlasitě hudbu, aby lyžaři nezabloudili. Hluchému lyžaři to nepomůže. Rozhodl se k návratu do chaty vždy po nejstrmějším svahu. Vyjde mu jeho strategie? Příklad 2: Horolezec se pohybuje v pro něho neznámém pohoří. Chtěl by vystoupit na jeho nejvyšší horu. Stačí mu k tomu lézti vzhůru ve směru největšího spádu? Příklad 3: Měření a hledání největší hloubky v jezeře. Příklad 4: Podnikatel chce maximalizovat svůj zisk. Často je však třeba optimalizovat více ukazatelů najednou. Příklad 5: Podnikatel chce maximalizovat svůj výnos a minimalizovat své náklady. Při optimalizačních úlohách se můžeme také setkat s významným vlivem náhody. Příklad 6: Optimalizace portfolia na burze při zadaném objemu počátečního kapitálu. Úkolem je maximalizovat výnos a minimalizovat riziko. V přednášce se budeme zabývat výhradně optimalizací deterministických úloh, které jsou základním kamenem celé teorie optimalizace. Pokud jsou v úloze přítomny i jiné vlivy, jako je náhodnost, neurčitost, riziko, nebo je zapotřebí optimalizovat více ukazatelů naráz, pak existují postupy, jak takové úlohy řešit řešením vhodně přiřazených deterministických úloh. To je však již předmětem jiných specializovaných přednášek. 5

6

Kapitola 2 Optimalizace jako matematická úloha U reálných funkcí rozlišujeme dva typy extrémů. Jsou to minimum a maximum. Přičemž každý z nich může mít povahu lokální nebo globální. Uved me si přesné definice. Definice 1: Necht f : X R, kde X R n. Řekneme, že funkce f má v bodě x X lokální minimum, jestliže existuje δ > 0: ostré lokální minimum, jestliže existuje δ > 0: lokální maximum, jestliže existuje δ > 0: ostré lokální maximum, jestliže existuje δ > 0: x X, 0 < x x < δ f(x) f(x ), (2.1) x X, 0 < x x < δ f(x) > f(x ), (2.2) x X, 0 < x x < δ f(x) f(x ), (2.3) x X, 0 < x x < δ f(x) < f(x ), (2.4) globální minimum, jestliže: x X f(x) f(x ), (2.5) ostré globální minimum, jestliže: x X f(x) > f(x ), (2.6) globální maximum, jestliže: x X f(x) f(x ), (2.7) ostré globální maximum, jestliže: x X f(x) < f(x ), (2.8) 2.1 Funkce jedné proměnné Hledáme extrémy funkce jedné proměnné na celé reálné přímce nebo na dané množině. Jde nám o charakterizaci bodů maxima a minima (matematická analýza) a také o jejich určení (numerická matematika). Připomeňme si známou větu. 7

8 Věta 1: Necht f : D R, kde D R. Jestliže v bodě x int (D) existuje derivace f (x ) a je různá od nuly, pak funkce f nemá v bodě x ani lokální maximum ani lokální minimum. Jinými slovy, pro funkci, která má všude derivace, je podmínka f (x ) = 0 nutná proto, aby mohla mít v bodě x int (D) lokální extrém. Tento fakt můžeme využít při hledání lokálních i globálních extrémů, jak ukazuje následující příklad. Příklad 7: Hledáme globální a lokální extrémy funkce f(x) = 1/4x 4 5x 3 + 27x 2 40x na celé reálné přímce. Nejdříve si uvědomme, že f (x) = x 3 15x 2 + 54x 40 = (x 1)(x 4)(x 10). Podle věty 1 jen body 1, 4 a 10 mohou být body lokálních nebo globálních extrémů. Pouze v nich je totiž derivace uvažované funkce nulová. Podívejme se nyní na znaménko derivace. V intervalu (, 1) je záporná, v intervalu (1, 4) je kladná, v intervalu (4, 10) je záporná a v intervalu (10, + ) je kladná. Pro uvažovanou funkci to znamená, že je klesající na (, 1), rostoucí na (1, 4), klesající na (4, 10) a rostoucí na (10, + ). To znamená, že body 1 a 10 jsou body lokálních minim a bod 4 je bod lokálního maxima. S globálními extrémy je to následně. Bod 10 je globálním minimem nebot f(1) = 17 3/4 a f(10) = 200. Globální maximum funkce na celé reálné přímce nemá. Je to proto, že při velkých i malých hodnotách funkční hodnoty rostou nad všechny meze. Příklad 8: Hledáme globální a lokální extrémy funkce f(x) = 1/4x 4 5x 3 + 27x 2 40x na intervalu [0, 20]. Použijeme-li výsledky z předchozího příkladu a spočteme-li, že f(4) = 16 a f(20) = 40800, pak zjišt ujeme, že funkce má lokální minima v bodech 1 a 10, lokální maxima v bodech 4 a 20. Globální minimum má opět v bodě 10 a globální maximum je v bodě 20. Příklad 9: Hledáme globální a lokální extrémy funkce f(x) = 1/4x 4 5x 3 + 27x 2 40x na intervalu (0, 20). Použijeme-li výsledky z předchozího příkladu, pak zjišt ujeme, že funkce má lokální minima v bodech 1 a 10, lokální maximum v bodě 4. Globální minimum má opět v bodě 10 a globální maximum funkce nemá nebot funkční hodnoty blízko bodu 20 jsou větší nežli v bodě 4. Připomeňme si ještě jednu větu z matematické analýzy. Věta 2: Spojitá funkce jedné proměnné má na omezeném uzavřeném intervalu globální maximum i globální minimum. 2.2 Funkce více proměnných Podobně lze postupovat pro funkce více proměnných, zpravidla funkce na R n. Podle potřeby budeme používat tučná písmena na označení n-tice proměnných, tj. x = (x 1,..., x n ) nebo sloupcového vektoru o složkách x 1,..., x n. Věta 3: Necht f : D R, kde D R n. Jestliže v bodě x = (x 1,..., x n) int (D) aspoň pro jeden index j, 1 j n, existuje nenulová parciální derivace f x j (x ), pak f v bodě x nenabývá ani lokálního maxima ani lokálního minima. Uved me si ještě obecný tvar věty 2. Věta 4: Spojitá funkce f : D R, kde D R n je omezená uzavřená množina, nabývá na množině D svého globálního maxima i globálního minima. Omezíme se většinou na funkce, které mají derivace a pro které jsou lokální minima (maxima) globální. Poslední vlastnost mají konvexní (konkávní) funkce.

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 9 2.3 Konvexní množiny Nejdříve se musíme seznámit s konvexními množinami v konečně dimenzionálním Eukleidovském prostoru. Později využijeme řadu jejich vlastností. Definice 2: Množina X R n se nazývá konvexní, jestliže s každými dvěma body obsahuje také všechny jejich konvexní lineární kombinace, tj. pro každé x, y X a λ (0, 1) je také λx + (1 λ)y X. Poznamenejme, že prázdná množina je z definice také konvexní. Jako příklad konvexní množiny si můžeme uvést kruh, čtverec, obdélník, přímku, polopřímku, úsečku, atd. Nekonvexními množinami jsou kružnice, obvod čtverce, doplněk čtverce, doplněk kruhu, atd. Pro speciální konvexní množiny budeme používat následující názvosloví. Definice 3: Pro speciální konvexní množiny budeme používat: nadrovina, lze-li ji zapsat jako { x R n a x = c } ; uzavřený poloprostor, lze-li ji zapsat jako { x R n a x c } ; otevřený poloprostor, lze-li ji zapsat jako { x R n a x > c } ; konvexní polyedrická množina, je-li průnikem konečně mnoha uzavřených poloprostorů; konvexní polyedr, je-li omezenou konvexní polyedrickou množinou; kužel je množina K R n, která obsahuje počátek, tj. 0 K, a nezáporné násobky svých prvků, tj. x K, α 0 je také αx K; konvexní kužel je množina K R n, která obsahuje počátek, tj. 0 K, a s každými dvěma body obsahuje také všechny jejich pozitivní lineární kombinace, tj. x, y K, α 0, β 0 je také αx + βy K; konvexní polyedrický kužel, je-li konvexní kužel a současně i konvexní polyedrická množina. Některé množinové operace zachovávají konvexitu množin. Lemma 1: Necht A R n je konvexní množina. Pak také clo (A), int (A), rint (A) jsou konvexní množiny. Lemma 2: množina. Necht A R n je konvexní množina a α R. Pak také αa = {αa a A} je konvexní Lemma 3: Necht A, B R n jsou konvexní množiny. Pak také jsou konvexní množiny. A + B = {a + b a A, b B }, A B = {a b a A, b B } Lemma 4: Necht I je nějaká neprázdná indexová množina a X α R n jsou konvexní množiny pro každé α I. Potom také jejich průnik α I X α je konvexní množina. Sjednocení množin však konvexitu nezachovává. Představme si sjednocení dvou kruhů o stejných poloměrech ale různých středech. Zavádíme dvě nové množinové operace. Definice 4: Pro množinu A R n zavádíme { k conv (A) = α i a i α 1 0,..., α k 0, i=1 } k α i = 1, a 1 A,..., a k A, k N, (2.9) i=1 { k } pos (A) = {0} α i a i α 1 0,..., α k 0, a 1 A,..., a k A, k N. (2.10) i=1 Množina conv (A) se nazývá konvexní obal množiny A a pos (A) je nejmenší konvexní kužel obsahující množinu A.

10 Uvědomme si, že z definice conv ( ) = a pos ( ) = {0}. Věta 5: Množina conv (A) je nejmenší konvexní množina obsahující množinu A a pos (A) je nejmenší konvexní kužel obsahující množinu A. Mezi hraničními body množiny jsou některé body a směry význačné. Definice 5: Necht A R n je neprázdná množina. Pak bod a A nazýváme krajní bod množiny A, pokud neexistuje dvojice bodů x, y A, x y a 0 < α < 1 tak, aby a = αx + (1 α)y. Definice 6: Necht K R n je kužel. Pak směr a K, a 0 nazýváme krajním směrem kuželu K, pokud neexistuje dvojice bodů x, y A, x, y / pos (a) a α > 0, β > 0 tak, aby a = αx + βy. Krajní body můžeme charakterizovat i jinak. Lemma 5: Necht A R n je neprázdná množina. Pak bod a A je krajním bodem množiny A, pokud v každém směru h R n, h 0 bud a + αh A, α > 0 a nebo a αh A, α > 0. Krajní body plně charakterizují konvexní polyedry. Věta 6: Neprázdný konvexní polyedr má konečně mnoho krajních bodů a je jejich konvexním obalem. Věta 7: Konvexní polyedrický kužel má konečně mnoho krajních směrů a je nejmenším konvexním kuželem, který je obsahuje. 2.4 Konvexní funkce Definice 7: Necht je X R n konvexní. Řekneme, že je funkce f : X R konvexní, jestliže platí ( ) x (1), x (2) X, λ (0, 1) f(λx (1) + (1 λ)x (2) ) λf(x (1) ) + (1 λ)f(x (2) ). Řekneme, že funkce f : X R je konkávní, jestliže f je konvexní funkce. Lemma 6: Necht I R je otevřený interval a funkce f : I R je diferencovatelná v každém bodě I, pak f je konvexní funkce tehdy a jen tehdy, když f je neklesající funkce na I. Když má funkce druhé parciální derivace, pak o její konvexnosti rozhoduje matice druhých derivací. Lemma 7: Necht X R n je otevřená množina a funkce f : X R má druhé parciální derivace v každém bodě X. Pak ( f je konvexní ) funkce tehdy a jen tehdy, když její matice druhých parciálních derivací 2 x,xf (x) = 2 f x i x j (x) je pozitivně semidefinitní v každém bodě x X. Speciálně, když I R je otevřený interval a funkce f : I R je dvakrát diferencovatelná v každém bodě I, pak f je konvexní funkce tehdy a jen tehdy, když f (x) 0 v každém bodě x I. Pro ověření, že daná symetrická matice A je pozitivně semidefinitní můžeme využít známá tvrzení z lineární algebry. Lemma 8: Symetrická matice A je pozitivně semidefinitní tehdy a jen tehdy, když determinanty všech hlavních podmatic matice A jsou nezáporné. Lemma 9: Symetrická matice A je pozitivně definitní tehdy a jen tehdy, když determinanty všech hlavních rohových podmatic matice A jsou kladné.

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 11 Konvexní funkce jsou charakterizovány následující vlastností. Lemma 10: platí Důkaz: Necht f : R n R má gradient na R n. Pak f je konvexní, právě když pro každé x R n f(y) f(x) + (y x) x f (x) y R n. (2.11) 1. Nutnost. Zvolme x, y R n, označme h = y x, ϕ(µ) = f(x + µh). Pak ϕ je konvexní diferencovatelná funkce jedné proměnné a její derivace je ϕ (µ) = h x f (x + µh). Podle věty o střední hodnotě existuje θ (0, 1) tak, že f(y) f(x) = ϕ(1) ϕ(0) = ϕ (θ) ϕ (0) = h x f (x) platí tedy (2.11). (Použili jsme skutečnost, že derivace konvexní diferencovatelné funkce je neklesající funkce.) 2. Postačitelnost. Zvolme y, z R n, λ (0, 1) a označme x = λy + (1 λ)z. Podle předpokladu platí (2.11): Odtud f(y) f(x) (y x) x f (x) f(z) f(x) (z x) x f (x) λf(y) + (1 λ)f(z) f(x) + [λ(y x) + (1 λ)(z x)] x f (x) = f(x) = f(λy + (1 λ)z). Podle definice 7 je f konvexní. Konvexní funkce mají vzhledem k minimalizaci jednu užitečnou vlastnost. Věta 8: Necht je X R n konvexní a necht f : X R je konvexní funkce. Pak každé její lokální minimum je minimem globálním. Důkaz: Necht je v bodě x lokální minimum funkce f na X. To znamená, že x X a existuje ɛ > 0 tak, že platí f( x) f(x) x X, x x < ɛ. Necht ale nejde o globální minimum, tj. necht existuje x X, f( x) > f(x ). Uvažujme body y na úsečce spojující x a x. Jsou tedy tvaru y = λ x + (1 λ)x pro nějaké λ [0, 1]. Všechny tyto body leží v množině X, nebot množina X je konvexní. Pro body y, které nejsou krajními body této úsečky platí f(y) = f(λ x + (1 λ)x ) λf( x) + (1 λ)f(x ) < f( x) λ (0, 1) (2.12) Necht bod y leží v průsečíku okolí U( x, ɛ) a této úsečky. Leží tedy v okolí U( x, ɛ) bodu lokálního minima x a přitom i pro něj platí (2.12), což je spor. Pro hledání extrémů na uzavřené množině X R n nestačí věty 1 nebo 3. Je třeba zvlášt ošetřit hranici množiny X, jak ukazují příklady v kapitole 2.1. 2.5 Obecná formulace optimalizačních úloh Matematická formulace a specifikace cíle daného zadavatelem, omezení daných systémem, diskuse alternativních zadání vede k sestavení obecného matematického modelu. Úloha nelineárního programování (NLP) (často se též používá termín úloha matematického programování (MP)) je úloha minimalizovat (maximalizovat) funkci f(x 1,..., x n )

12 na množině řešení soustavy rovnic a nerovností Rozeznáváme několik základních typů úlohy (NLP). g k (x 1,..., x n ) 0, k = 1,..., m (2.13) h j (x 1,..., x n ) = 0, j = 1,..., p. (2.14) Pokud jsou všechny funkce f, g k, h j lineární, jde o úlohu lineárního programování (LP). Mluvíme o úloze konvexního programování, pokud se bud jedná o minimalizaci a f, g k jsou konvexní a h j jsou lineární, nebo se jedná o maximalizaci a f je konkávní, g k jsou konvexní a h j jsou lineární. Mluvíme o úloze kvadratického programování, pokud f je kvadratická a g k, h j jsou lineární. Úloha konvexního programování má příjemné vlastnosti. Věta 9: Necht jsou funkce g k, k konvexní a funkce h j, j lineární. Pak je množina všech řešení soustavy (2.13), (2.14) konvexní. Důkaz: Z definic 2 a 7. (!! Prázdná množina je konvexní!!) Věta 10: Necht je dána úloha konvexního programování pro minimalizaci. Pak každé její lokální minimum je zároveň globálním minimem. Důkaz: Z věty 9 víme, že minimalizujeme konvexní funkci na konvexní množině. Proto bezprostředně z věty 8 dostáváme, že lokální minimum je minimem globálním. 2.6 Optimalizace kolem nás Optimalizační úlohy přirozeně vznikají při řízení složitých systémů při hledání optimálního rozhodnutí. Jako příklady si můžeme uvést: dopravní problém; přidělovací problém; směšovací úlohy; sestavování rozvrhu ve škole; rozhodování o investicích; sestavování optimálního výrobního programu; prokládání regresní funkce naměřenými hodnotami; atd. Uved me si stručný historický přehled vývoje této problematiky. teoretická mechanika (Laplace, Fourier) - 1888; soustavy nerovností (Farkas)- 1902; lineární programování (Kantorovič, Koopmans, Dantzig) - 2. světová válka; nelineární programování (Kuhn, Tucker,...) - 1956; Současným trendem je studium složitějších typů rozhodovacích úloh - stochastická a vektorová optimalizace, celočíselné a dynamické programování.

Kapitola 3 Lineární programování V této kapitole vyložíme teorii lineárního programování. 3.1 Úloha LP a její grafické řešení Příklad 10: Uvažujme úlohu minimalizovat x 1 x 2, za podmínek 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 + x 2 4, x 1 0, x 2 0. Množina přípustných řešení je množina M = {(x 1, x 2 ) 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 + x 2 4, x 1 0, x 2 0}. Jedná se o konvexní pětiúhelník s vrcholy ( 1 0), ( 4 0 6 5 ), ( 2 5 18 5 ) (, 0 ) ( 3, 0 ) 2 ; viz obrázek č.3.1. 4 3 2 1 M 0 1 1 0 1 2 3 4 5 6 Obrázek 3.1: Množina M z příkladu 10 Vyneseme-li si rovnoběžky x 1 x 2 = k pro k = 0, 1, 2, zjistíme, že funkce f(x 1, x 2 ) = x 1 x 2 nabývá svého minima na množině M v bodě ( ) 2 5 18. 5 13

14 Optimální řešení dané úlohy je tedy ˆx 1 = 2 5, ˆx 2 = 18 5 a optimální hodnota účelové funkce je ˆx 1 ˆx 2 = 2 5 18 5 = 16 5. Příklad 11: Uvažujme úlohu minimalizovat x 1 x 2, za podmínek 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 + x 2 1, x 1 0, x 2 0. Množina přípustných řešení je množina M = {(x 1, x 2 ) 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 + x 2 1, x 1 0, x 2 0} =. Úloha tedy nemá žádné přípustné řešení a tím pádem nemá ani žádné optimální řešení. Příklad 12: Uvažujme úlohu minimalizovat x 1 x 2, za podmínek 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 0, x 2 0. Množina přípustných řešení M = {(x 1, x 2 ) 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 0, x 2 0} je neomezená. Všechny rovnoběžky x 1 x 2 = k pro k = 1, 1, 2, 3,.... mají s M neprázdný průnik. To znamená, že funkční hodnoty účelové funkce na M neomezeně klesají. Proto úloha nemá optimální řešení. Příklad 13: Uvažujme úlohu minimalizovat 2x 1 x 2, za podmínek 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 0, x 2 0. Víme, že množina přípustných řešení M = {(x 1, x 2 ) 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 0, x 2 0} je neomezená. Z obrázku pak zjistíme, že úloha má optimální řešení ˆx 1 = 0, ˆx 2 = 3 a optimální hodnota účelové funkce 3.

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 15 Příklad 14: Uvažujme úlohu minimalizovat 3x 1 2x 2, za podmínek 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 0, x 2 0. Z grafického znázornění úlohy zjistíme, že optimální hodnota účelové funkce 6 a nabývá se jí ve všech bodech tvaru ˆx 1 = 2 5 λ, ˆx 2 = 3 + 3 5λ pro λ 0. Příklad 15: Uvažujme úlohu minimalizovat 3x 1 2x 2, za podmínek 2x 1 + x 2 2, 3x 1 + 2x 2 6, x 1 + x 2 4, x 1 0, x 2 0. Z grafického znázornění úlohy zjistíme, že optimální hodnota účelové funkce 6 a nabývá se jí ve všech bodech tvaru ˆx 1 = 2 5 λ, ˆx 2 = 3 + 3 5λ pro 0 λ 1. 3.2 Formulace a zápis úlohy LP Úloha LP ve smíšeném tvaru minimalizovat (maximalizovat) c x za podmínek a j x b j pro každé j J, a j x b j pro každé j J, a j x = b j pro každé j J =, x i 0 pro každé i I, x i 0 pro každé i I, x i R pro každé i I, (3.1) kde I I I = {1, 2,..., n}, J J J = = {1, 2,..., m} jsou disjunktní rozklady indexů. Pro výpočetní algoritmus a pro teoretické úvahy jsou důležité úlohy ve speciálních tvarech. Úloha LP ve standardním tvaru minimalizovat c x za podmínek a j x = b j pro každé j = 1, 2,..., m, x i 0 pro každé i = 1, 2,..., n. (3.2) Úloha LP je ve tvaru nerovností, jsou-li všechny proměnné nezáporné a omezení jsou pouze ve tvaru nerovností. Například minimalizovat c x za podmínek a j x b j pro každé j = 1, 2,..., m, x i 0 pro každé i = 1, 2,..., n. (3.3)

16 Úlohu LP ve smíšeném tvaru lze vždy převést na úlohu LP ve standardním tvaru. Vždy ji také lze převést na úlohu LP ve tvaru nerovností. K převodu se používají následující úpravy: min f(x) = max f(x). x M x M Nerovnost a j,1 x 1 + a j,2 x 2 +... + a j,n x n b j převedeme na rovnost přidáním skluzové proměnné v j 0 tak, že a j,1 x 1 + a j,2 x 2 +... + a j,n x n + v j = b j. Nerovnost a j,1 x 1 + a j,2 x 2 +... + a j,n x n b j převedeme na rovnost přidáním skluzové proměnné v j 0 tak, že a j,1 x 1 + a j,2 x 2 +... + a j,n x n v j = b j. Rovnost a j,1 x 1 + a j,2 x 2 +... + a j,n x n = b j převedeme na dvě nerovnosti a j,1 x 1 + a j,2 x 2 +... + a j,n x n b j, a j,1 x 1 + a j,2 x 2 +... + a j,n x n b j. Proměnnou bez omezení x i R rozdělíme na dvě proměnné x i = x i+ x i, kde x i+ 0, x i 0. (Zde je třeba poznamenat, že tyto proměnné nejsou kladnou a zápornou částí proměnné x i. Mohou být obě zároveň kladné!!) 3.3 Vlastnosti úlohy LP ve standardním tvaru V tomto odstavci se budeme zabývat úlohou LP ve standardním tvaru, tj. úlohou (3.2). Tato úloha má množinu přípustných řešení M = {x R n Ax = b, x 0}, (3.4) kde A je matice dimenze (m, n), m < n a hodnost A je m. (Tím jsou již určeny dimenze vektorů b, x.) Věta 11: Množina přípustných řešení úlohy LP ve standardním tvaru (3.4) je konvexní polyedrická množina; speciálně je konvexní a uzavřená. Důkaz: Důkaz je snadný. Tato množina je evidentně průnikem konečného počtu uzavřených poloprostorů. Věta 12: Množina (3.4) je bud prázdná nebo je tvaru algebraického součtu kde P je konvexní polyedr a množina M = P + K (3.5) K = {y R n Ay = 0, y 0} je konvexní polyedrický kužel. (3.6) Definice 8: Označme si sloupce matice A jménem proměnné, ke které příslušejí, tj. A = (A x 1, A x 2,..., A x n ). Vyberme nyní množinu jmen proměnných L {x 1, x 2,..., x n } tak, aby obsahovala právě m položek. Vezměme příslušné sloupce matice A a sestavme z nich čtvercovou matici A L = (A x j, x j L). Pokud je matice A L regulární, pak říkáme, že L je báze úlohy (3.2). Když L je báze, pak k ní přísluší x(l) R n jednoznačně určené podmínkami Ax(L) = b a x(l) i = 0 pro všechna x i L. x(l) nazýváme bazické řešení příslušné k bázi L. Necht L je báze a příslušné bazické řešení x(l) je nezáporné. Pak mluvíme a přípustné bázi L, případně o přípustném bazickém řešení x(l). Poznámka. Konvexní polyedr P z věty je konvexním obalem přípustných bazických řešení. Místo přípustné bazické řešení se také používá název základní řešení ; tak je to také v [2]. Množina M je neprázdná a omezená, právě když je K = {0}. Důsledek 1: Bazická přípustná řešení mají nejvýše m složek kladných a pro M má úloha (3.2) konečný počet bazických přípustných řešení. Definice 9: složek. Říkáme, že přípustné bazické řešení je degenerované, jestliže má méně než m kladných

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 17 Věta 13 (Existence optimálního řešení): Úloha (3.2) má optimální řešení tehdy a jen tehdy, když 1. M, 2. c y 0 pro všechna y {x R n Ax = 0, x 0}. Má-li úloha optimální řešení, pak účelová funkce c x nabývá svého minima na M pro některé bazické základní řešení. Důkaz: Podle věty 12 víme, že M = conv (B) + K, kde B = {x (1), x (2),..., x r } R n je množina všech přípustných bazických řešení. Tedy každé x M lze zapsat ve tvaru x = r r λ j x j + y, přičemž λ j 0, λ j = 1 a y K. Hodnota účelové funkce v tomto bodě je c x = j=1 j=1 r λ j c x j + c y. (3.7) j=1 1. Je-li c y < 0, pak pro každé α > 0 je αy K. Odtud z = r λ j x j + αy M s hodnotou účelové funkce c z = j=1 r λ j c x j + αc y. j=1 Tudíž ve směru y účelová funkce neomezeně klesá. Nenabývá tedy svého minima. 2. Je-li c y 0 pro všechna y K, pak z (3.7) dostáváme c z = r λ j c x j + c y j=1 r λ j c x j min{c x (1), c x (2),..., c x r }. j=1 Tudíž úloha (3.2) nabývá svého minima v některém přípustném bazickém řešení. Množinu všech optimálních řešení úlohy (3.2) budeme značit { } M = argmax c x = z M c z = max x M x M c x. (3.8) Výsledky shrnuje následující věta. Věta 14 (Základní věta lineárního programování): Pro úlohu lineárního programování ve standardním tvaru, t.j. (3.2), nastává pouze jedna ze tří možností: a) M =, b) M a inf x M c x = (tj. M = ), c) M. Navíc pak je-li M, existuje bazické přípustné řešení, je-li M, existuje bazické optimální řešení. Má-li úloha (3.2) optimální řešení, pak jej vždy můžeme najít mezi přípustnými bazickými řešeními. Tato myšlenka vede k přímé metodě řešení úloh LP. Přímá metoda

18 Projdi všechny přípustná bazická řešení úlohy (3.2) a zjisti pro které z nich účelová funkce úlohy nabývá minimální hodnotu. Označme si toto přípustné bazické řešení ˆx. Pokud neexistuje žádné přípustné bazické řešení úlohy (3.2), pak úloha nemá přípustné řešení. Když má úloha (3.2) optimální řešení (to můžeme vědět například na základě věty 13), pak nalezené přípustné bazické řešení ˆx je optimálním řešením zadané úlohy. Tato metoda je ale numericky schůdná jen pro velice malé úlohy a navíc nemá jednoduché kritérium pro existenci optimálního řešení. Pro nalezení optimálního řešení úlohy (3.2) se nejčastěji používá simplexová metoda, založená na hledání optimálního bazického přípustného řešení. Je to vlastně Gaussův eliminační algoritmus pro řešení soustavy rovnic Ax = b doplněný pravidlem pro zachování nezápornosti řešení a pravidlem, které dbá na to, aby hodnoty účelové funkce klesaly. S touto metodou se seznámíme v další kapitole. 3.4 Základy simplexové metody Řešíme úlohu LP převedenou na minimalizační úlohu ve tvaru rovnic, tj. min { c x Ax = b, x 0 } (3.9) kde A je matice dimenze (m, n) se sloupci A x 1,..., A x n. Předpokládáme, že hodnost matice A je m. Poznamenejme zde, že když by matice A měla hodnost menší nežli m, pak jsou uvažované rovnice závislé. Můžeme proto některé z nich vynechat tak, že množina řešení soustavy se nezmění a matice redukované soustavy bude mít plnou řádkovou hodnost. Simplexový algoritmus Krok 1. Urči přípustnou bázi J {x 1, x 2,..., x n } a označ A J = (A x j, x j J), c J = (c j, x j J). Krok 2. Simplexové kritérium test optimality. Je-li c J A 1 J A c 0 (3.10) výpočet končí. Nenulové složky optimálního řešení jsou dány vzorcem A 1 J b. V opačném případě jdi ke kroku 3. Krok 3. Změna báze. Do báze zařad proměnnou h / J, pro kterou je porušeno simplexové kritérium (3.10), tj. c J A 1 J ah c h > 0. (3.11) Pokud jich je více můžeš vzít kteroukoli z nich. Například tu, pro kterou je (3.11) porušeno nejvíce. Nyní jsou možné dva případy. a) Když vektor A 1 J Ah má alespoň jednu složku kladnou, pak nalezneme proměnnou r J tak, aby (A 1 J Ah ) r > 0 a (A 1 J b) { r (A 1 J (A 1 = min b) } j J Ah ) r (A 1 J Ah ) j J, (A 1 J Ah ) j > 0. (3.12) j Proved jednu iteraci Gaussova eliminačního algoritmu odpovídající změně báze J := J {h} \ {r} a pro novou bázi se vrat ke kroku 2. b) Když vektor A 1 J Ah nemá žádnou složku kladnou, pak výpočet končí zjištěním, že úloha (3.9) nemá optimální řešení a její účelová funkce neomezeně klesá do.

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 19 Věta 15: Když je úloha (3.9) nedegenerovaná, pak simplexový algoritmus vždy skončí po konečně krocích zjištěním, že úloha (3.9) bud nemá žádné přípustné řešení nebo najde její optimální řešení nebo její účelová funkce neomezeně klesá na množině přípustných řešení. Pokud je úloha degenerovaná, pak index r v (3.12) nemusí být určen jednoznačně. Když je více kandidátů je třeba mezi nimi vybírat opatrně. Bud vybírat náhodně nebo použít postup vysvětlený například v [2], odst. 4.5. Jinak by se mohlo stát, že se algoritmus zacyklí. Rozhodovací pravidla pro změnu báze zaručují, že jsou nově konstruované báze stále přípustné. Jeli úloha (3.9) nedegenerovaná, pak je simplexový algoritmus finitní (končí po konečném počtu iterací), hodnoty účelové funkce rostou. Je-li úloha (3.9) degenerovaná a používáme-li postup vysvětlený například v [2], odst. 4.5, pak je simplexový algoritmus opět finitní, hodnoty účelové funkce jsou neklesající, ale mohou být po několik kroků stejné. Simplexový algoritmus má celou řadu variant, např. revidovanou simplexovou metodu, kterou využívá GAMS. Simplexový algoritmus můžeme realizovat v tabulce, viz tabulka 3.1. c x 1 x 2... x n c L L (A L ) 1 b (A L ) 1 A c L (A L) 1 b c L (A L) 1 b c Tabulka 3.1: Simplexová tabulka Pro použití simplexového algoritmu je třeba ještě vyřešit poslední problém. Jak nalézt výchozí bazické přípustné řešení. Jednou z možností je použít dvoufázový simplexový algoritmus. Dvoufázový simplexový algoritmus 1.fáze: Nejdříve řešíme pomocnou úlohu { K } min z k Ax + Qz = b, x 0, z 0, x R n, z R K. (3.13) k=1 Pomocné proměnné z a matice Q jsou přidány tak, aby vznikla báze V = {v 1, v 2,..., v m } {x 1, x 2,..., x n, z 1, z 2,..., z K } s vlastností, že pro každé i {1, 2,..., m} je (A Q),vi = sgn (b i ) e i. Úlohu (3.13) vyřešíme simplexovým algoritmem. Jako počáteční bázi použijeme bázi V. Víme, že úloha (3.13) má přípustné řešení a hodnota její účelové funkce je nezáporná pro všechna přípustná řešení. Proto podle věty 14 má úloha (3.13) optimální řešení. Simplexový algoritmus proto nalezne optimální bázi úlohy (3.13). Nyní jsou dvě možnosti. Bud je optimální hodnota kladná nebo nulová. Když je optimální hodnota kladná, tak to znamená, že úloha (3.9) nemá přípustné řešení a algoritmus končí tímto zjištěním. Když je optimální hodnota nulová, tak to znamená, že úloha (3.9) má přípustné řešení a algoritmus pokračuje druhou fází. 2.fáze: Pokud úloha (3.13) má nulovou optimální hodnotu a úloha (3.9) je nedegenerovaná, pak simplexový algoritmus v první fázi nalezl optimální bázi W, která neobsahuje žádnou pomocnou proměnnou z k. Pokud by totiž některá pomocná proměnná zůstala v optimální bázi, pak by měla nulovou hodnotu. Proměnné x j zařazené do optimální báze by tvořily nenulové složky přípustného řešení úlohy (3.9). Toto řešení by však mělo méně nežli m nenulových složek. Bylo by tedy degenerované, ale to není možné, nebot úloha (3.9) je nedegenerovaná.

20 Pokud úloha (3.13) má nulovou optimální hodnotu a úloha (3.9) je degenerovaná, pak simplexový algoritmus v první fázi nalezl optimální bázi, která může obsahovat některou z pomocných proměnných z k. Hodnota těchto proměnných je však nutně nulová. Pak díky předpokladu o plné sloupcové hodnosti matice A lze pro každou takovou proměnnou z k vždy najít proměnnou x j, která má v řádku příslušejícím z k nenulové číslo. Tuto proměnnou zařadíme do báze místo z k a přepočteme tabulku. Opakováním tohoto postupu vyřadíme z báze všechny pomocné proměnné a získáme optimální bázi W úlohy (3.13), která již žádnou pomocnou proměnnou neobsahuje. Nyní simplexovým algoritmem vyřešíme úlohu (3.9). Jako počáteční bázi použijeme bázi W. Uvědomme si, že prakticky začínáme s tabulkou, kterou jsme získali v první fázi algoritmu. Pouze jsme vyškrtli sloupce příslušející pomocným proměnným a koeficienty v účelové funkci pomocné úlohy jsme nahradili koeficienty v účelové funkci úlohy (3.9). Pro ilustraci si spočtěme příklad. Příklad 16: Řešme dvoufázovým simplexovým algoritmem úlohu minimalizovat x 1 3x 3 + x 4 za podmínek x 1 + 2x 2 + 3x 3 = 15 2x 1 + x 2 + 5x 3 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x 1 0, x 2 0, x 3 0, x 4 0. V první fázi řešíme pomocnou úlohu (3.14) minimalizovat z 1 + z 2 za podmínek x 1 + 2x 2 + 3x 3 + z 1 = 15 2x 1 + x 2 + 5x 3 + z 2 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x 1 0, x 2 0, x 3 0, x 4 0, z 1 0, z 2 0. (3.15) Do báze zařadíme proměnné z 1, z 2, x 4. Sestavme tabulku a počítejme. Zvolený prvek v rozhodovacím řádku je označen zeleným obdélníkem. Zvolený klíčový prvek červeným obdélníkem. 0 0 0 0 1 1 x 1 x 2 x 3 x 4 z 1 z 2 1 z 1 15 1 2 3 0 1 0 1 z 2 20 2 1 5 0 0 1 0 x 4 10 1 2 1 1 0 0 1 z 1 3 1 5 2 0 x 3 4 5 3 0 x 4 6 5 35 3 3 8 0 0 0 3 1 5 0 0 0 0 1 1 x 1 x 2 x 3 x 4 z 1 z 2 7 5 0 0 1 3 5 1 1 5 1 0 0 5 9 5 0 1 0 1 5 7 5 0 0 0 8 5

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 21 0 0 0 0 1 1 x 1 x 2 x 3 x 4 z 1 z 2 0 x 2 15 7 1 7 1 0 0 5 25 0 x 3 7 15 0 x 4 7 3 7 3 7 2 7 7 0 1 0 1 7 6 7 0 0 1 9 4 7 7 0 0 0 0 0 1 1 Zjistili jsme, že optimální hodnota pomocné úlohy je nulová. První fáze dvoufázového simplexového algoritmu skončila nalezením přípustného řešení původní úlohy. V nalezené optimální bázi pomocné úlohy se nevyskytují žádné pomocné proměnné z. Máme tedy přípustnou bázi původní úlohy a můžeme pokračovat druhou fází algoritmu. 1 0 3 1 x 1 x 2 x 3 x 4 15 0 x 2 7 1 7 1 0 0 25 3 3 x 3 7 7 0 1 0 1 x 4 15 7 60 7 Optimálním řešením zadané úlohy je vektor ( 5 2 127. 6 7 0 0 1 4 7 0 0 0 1 0 3 1 x 1 x 2 x 3 x 4 5 1 0 x 2 2 0 1 0 6 5 3 x 3 2 0 0 1 1 2 5 7 1 x 1 2 1 0 0 6 10 0 0 0 2 3 5 2 5 2 0). Výpočet je uveden ve skriptech [2], str.126-3.5 Dualita a její interpretace Dualita se týká dvojice úloh lineárního programování, která je dána společnými vstupními daty, tj. maticí A dimenze (m, n), m-rozměrným vektorem b a n-rozměrným vektorem c. Kromě daných koeficientů je každá úloha LP určena také druhem optimalizace (minimalizace, maximalizace), tvarem omezení (rovnice, nerovnosti) a přítomností či absencí podmínek nezápornosti. Tak vznikají různé dvojice duálních úloh, např. duální k minimalizační úloze v rovnicovém tvaru, kterou jsme se až dosud zabývali, min { c x Ax = b, x 0 } (3.16) je úloha max { b y A y c } (3.17) Obecná dvojice duálních úloh vypadá následovně. Definice 10: Necht je dána matice A dimenze (m, n), m-rozměrným vektorem b, n-rozměrným vektorem c a disjunktní rozklady indexů I I I = {1, 2,..., n}, J J J = = {1, 2,..., m}. Pak dvojice

22 úloh lineárního programování minimalizovat za podmínek n i=1 c ix i n i=1 A j,ix i b j pro každé j J, n i=1 A j,ix i b j pro každé j J, n i=1 A j,ix i = b j pro každé j J =, (3.18) x i 0 pro každé i I, x i 0 pro každé i I, x i R pro každé i I, maximalizovat za podmínek m j=1 b jy j m j=1 A j,iy j c i pro každé j I, m j=1 A j,iy j c i pro každé j I, m j=1 A j,iy j = c i pro každé j I, (3.19) y j 0 pro každé i J, y j 0 pro každé i J, y j R pro každé i J =, se nazývá dvojice duálních úloh LP. Množinu přípustných řešení úlohy (3.18) označíme jako M, tj. množinu všech x R n, které splňují podmínky n i=1 A j,ix i b j pro každé j J, n i=1 A j,ix i b j pro každé j J, n i=1 A j,ix i = b j pro každé j J =, x i 0 pro každé i I, x i 0 pro každé i I, x i R pro každé i I. (3.20) Množinu přípustných řešení úlohy (3.19) označíme jako N, tj. množinu všech y R m, které splňují podmínky m j=1 A j,iy j c i pro každé j I, m j=1 A j,iy j c i pro každé j I, m j=1 A j,iy j = c i pro každé j I, y j 0 pro každé i J, y j 0 pro každé i J, y j R pro každé i J =. (3.21) Někdy také hovoříme o úloze primární a k ní úloze duální. Jako primární označujeme tu úlohu z úloh (3.18), (3.19), která vznikla na základě řešeného problému. Zbylou úlohu, pak nazýváme úlohou k ní duální. Sestavení příslušné duální úlohy k zadané úloze lze dělat zcela mechanicky. Vhodnou pomůckou k tomu může být sestavení tabulky, jak je ukázáno v následujícím příkladě.

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 23 Příklad 17: K dané úloze lineárního programování můžeme přiřadit příslušnou úlohu do duální dvojice pomocí tabulky. Uvažujme úlohu minimalizovat 2x 1 x 2 + 3x 3, za podmínek 3x 1 + 6x 2 x 3 4, Sestavíme tabulku 3.2 2x 1 3x 2 + 2x 3 3, x 1 2x 2 + 4x 3 = 2, x 1 0, x 2 0, x 3 R. (3.22) x 1 x 2 x 3 0 0 R 3 6 1 4 2 3 2 3 1 2 4 = 2 max 2 1 3 min Tabulka 3.2: Dualita A Do řádků omezení přidáme duální proměnné a pomocí pravidla, že při min převádíme,, = R, a při max převádíme,, R =, tabulku 3.2 doplníme na tabulku 3.3 x 1 x 2 x 3 0 0 R y 1 0 3 6 1 4 y 2 0 2 3 2 3 y 3 R 1 2 4 = 2 = max 2 1 3 min Tabulka 3.3: Dualita B Čteme-li tabulku 3.3 po sloupcích dostáváme úlohu maximalizovat 4y 1 + 3y 2 + 2y 3, za podmínek 3y 1 + 2y 2 + y 3 2, která je duální úlohou k úloze (3.22). 6y 1 3y 2 2y 3 1, y 1 + 2y 2 + 4y 3 = 3, y 1 0, y 2 0, y 3 R, Víme, že lze úlohy LP převádět na zvolený tvar. Stačí se proto zabývat pouze jednou dvojicí duálních úloh. Dokázaná tvrzení jsou potom platná i pro libovolnou jinou dvojici duálních úloh. Vhodnou dvojicí pro tento účel je dvojice symetrických duálních úloh. Definice 11: Necht A je daná matice dimenze (m, n), b daný m-rozměrný vektor a c daný n-rozměrný vektor. Pak následující dvě úlohy nazveme dvojice symetrických duálních úloh LP: min { c x Ax b, x 0 }, (3.24) max { b y A y c, y 0 }. (3.25) (3.23)

24 Věta 16 (Slabá věta o dualitě): Pro dvojici duálních úloh (3.18), (3.19) platí x M y N : c x b y. (3.26) Rovnost ve vztahu (3.26) nastane, právě když platí podmínky komplementarity: Pro každé i {1,..., m} platí bud y i = 0 nebo n a i,j x j = b i. (3.27) j=1 Pro každé j {1,..., n} platí bud x j = 0 nebo m a i,j y i = c j. (3.28) i=1 Důkaz: Tvrzení stačí ukázat pro dvojici symetrických duálních úloh. Důkaz je pak snadný, nebot pro x přípustné řešení (3.24) a y přípustné řešení (3.25), tj. x M, y N, platí c x ( A y ) x = y Ax y b = b y. Tvrzení věty i komplementarita plynou okamžitě z této nerovnosti. Věta 17 (Silná věta o dualitě): Úloha (3.18) má optimální řešení tehdy a jen tehdy, má-li úloha (3.19) optimální řešení. V takovém případě navíc platí, že min x M c x = max y N b y. (3.29) Důkaz: Tvrzení stačí ukázat pro dvojici symetrických duálních úloh. Předpokládejme, že má úloha (3.24) optimální řešení a že jsme jej našli pomocí simplexové metody. To znamená: 1. Použili jsme doplňkové proměnné z 1, z 2,..., z m, čímž jsme dostali soustavu m rovnic o n + m proměnných Ax Iz = b, x 0, z 0 a účelová funkce se nezměnila (tj. doplňkové proměnné v ní mají koeficienty 0). 2. Našli jsme optimální bázi L {x 1, x 2,..., x n, z 1, z 2,..., z m }. Označme B = [A, I] L a c = ( ) c 0 L. Báze L je optimální, splňuje proto podmínky: (a) Přípustnost B 1 b 0. (b) Optimalita (rozepsáno pro obě části rozšířené soustavy zvlášt ): c B 1 A c 0 (3.30) c B 1 I 0 0. (3.31) Podmínky optimality (3.30), (3.31) však znamenají, že y := ( B 1) c je přípustné řešení úlohy (3.25). Spočítejme odpovídající hodnotu účelové funkce duální úlohy: b y = b ( B 1) c = c B 1 b = max { c x Ax Iz = b, x 0, z 0 } = max x M c x. Podle slabé věty o dualitě, věta 16, to znamená, že y je optimální řešení úlohy (3.25) a platí rovnost (3.29). Uvedené vztahy mezi úlohami, které tvoří dvojici duálních úloh LP, lze zapsat sumárně v jedné větě.

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 25 Věta 18 (Shrnutí): možností: Pro danou dvojici duálních úloh LP (3.18), (3.19) nastává právě jedna ze čtyř (i) Žádná z těchto úloh nemá přípustné řešení, tj. M =, N =. (ii) M =, N, ale úloha (3.19) nemá optimální řešení. (iii) M =, N =, ale úloha (3.18) nemá optimální řešení. (iv) Obě úlohy mají optimální řešení a platí max x M c x = min y N b y. Navíc každá dvojice optimálních řešení úlohy (3.18) a (3.19) splňuje podmínky komplementarity (3.27), (3.28). 3.6 Farkasova věta Ze silné věty o dualitě lze jednoduše dokázat i klasickou Farkasovu větu, která řeší teoreticky otázku existence přípustného řešení; neboli existenci nezáporného řešení soustavy rovnic. Věta 19 (Farkasova věta): Soustava Ax = b má nezáporné řešení tehdy a jen tehdy, když pro každé u, které splňuje A u 0, platí b u 0. Důkaz: Farkasovu větu lze chápat jako přepis dvojice duálních úloh Ukazuje to tento řetězec ekvivalencí max { 0 x Ax = b, x 0 } min { b y A y 0 }. Soustava Ax = b má nezáporné řešení úloha max { 0 x Ax = b, x 0 } má optimální řešení úloha min { b y A y 0 } má optimální řešení [( u : A u 0 ) = b u 0 ] Farkasova věta je s touto dvojicí duálních úloh ekvivalentní nebot druhá úloha má vždy přípustné řeší, tj. 0 N. Zajímá-li nás existence řešení soustavy rovnic a nerovnic, která má předepsané složky kladné a jiné předepsané složky záporné, pak máme dvě možnosti, jak odvodit příslušnou Farkasovu větu. První možností je převést povolenými úpravami úlohu na existenci nezáporného řešení soustavy rovnic. Podmínky získáme z věty 19 a jejich diskuzí nalezneme podmínky pro existenci řešení původní soustavy. Druhou možností je postupovat tak, jak je naznačeno v důkaze věty 19. Sestavit vhodnou dvojici duálních úloh a Farkasovu větu odvodit z principu duality pro tuto dvojici. 3.7 Ekonomická interpretace duality Dvojici duálních úloh lze sestavit na základě ekonomické úvahy. Ukažme si to na příkladě podniku, který vyrábí m-druhů výrobků a používá k tomu n výrobních postupů. V duálním vztahu jsou zde dvě základní ekonomické úlohy.

26 Úloha I: Minimalizovat výrobní náklady při splnění podmínek na minimální množství vyrobených výrobků. Úloha II: Stanovit výrobní ceny vyráběných výrobků při splnění podmínek na minimální množství vyrobených výrobků. Druhou úlohu můžeme přeformulovat následovně. Úloha II : Maximalizovat celkovou cenu minimální výroby za podmínky, že ohodnocení žádného z výrobních postupů na základě jednotkových cen výrobků nepřevýší jeho jednotkovou cenu. Úloha I má matematický zápis minimalizovat za podmínek n j=1 c jx j, n j=1 A i,jx j b i i = 1,..., m, x j 0 j = 1,..., n. Úloha II, a tedy i úloha II, má matematický zápis maximalizovat za podmínek m i=1 b iy i, m i=1 A i,jy i c j j = 1,..., n, y i 0 i = 1,..., m. Vidíme, že se jedná o dvojici duálních úloh LP. V ekonomické literatuře bývá optimální řešení úlohy II nazýváno stínové ceny nebo duální ceny. 3.8 Poznámky 1. Dualita se vztahuje k matematickému zápisu úloh lineárního programování. 2. Vyřešíme-li primární úlohu LP simplexovou metodou, získáme zároveň řešení duální úlohy. Přečteme ho v kriteriálním řádku ve sloupcích, které odpovídaly výchozí jednotkové bázi. 3. Pro optimální řešení dvojice duálních úloh platí komplementarita. To má zajímavou ekonomickou interpretaci; hovoříme o duálních, stínových cenách. 4. Obě duální úlohy mají optimální řešení, právě když mají neprázdné množiny přípustných řešení. 5. Způsob vytváření duálních úloh umíme znázornit tabulkou. Připomeňme si tento postup ještě na příkladu dvojice symetrických duálních úloh: proměnné x 1 0... x n 0 nerovnosti pravé str./koef. y 1 0 a 11... a 1n b 1............... y m 0 a m1... a mn b m nerovnosti... max pravé strany/koef. c 1... c n min Primární úlohu čteme po řádcích a duální úlohu po sloupcích. Podobně pro dvojici duálních úloh (3.16), (3.17) má tabulka tvar proměnné x 1 0... x n 0 rovnosti pravé str./koef. y 1 R a 11... a 1n = b 1............... y m R a m1... a mn = b m nerovnosti... max pravé strany/koef. c 1... c n min

Kapitola 4 Symetrická úloha NLP 4.1 Podmínky optimality pro symetrické úlohy NLP V této kapitole se budeme zabývat symetrickou úlohou nelineárního programování minimalizovat f(x), za podmínek g k (x) 0 k = 1,..., m, x j 0 j = 1,..., n. (4.1) Úloha je speciálním případem obecné úlohy NLP. Úloze (4.1) přiřadíme Lagrangeovu funkci L (x; y) := f(x) + m y k g k (x). (4.2) Definice 12: Řekneme, že pro x R n, y R m jsou splněny globální podmínky optimality, zkráceně (GPO), pro úlohu (4.1), jestliže dvojice (x, y ) je sedlový bod Lagrangeovy funkce (4.2) pro x 0, y 0. To znamená, že k=1 x 0, y 0 (4.3) x R n y R m, x 0, y 0 platí L (x; y ) L (x ; y ) L (x ; y). (4.4) Věta 20: Necht jsou pro x R n, y R m splněny globální podmínky optimality pro úlohu NLP (4.1). Pak je x optimální řešení zmíněné úlohy a je splněna podmínka komplementarity pro každé k = 1,..., m je bud y k = 0 nebo g k (x ) = 0. (4.5) Důkaz: Podle předpokladu je x 0. Dosazením tvaru Lagrangeovy funkce (4.2) do (4.4) dostáváme m m m f(x) + ykg k (x) f(x ) + ykg k (x ) f(x ) + y k g k (x ). (4.6) k=1 k=1 Nerovnosti (4.6) podle předpokladu platí pro nějaké y 0 a pro všechna x 0, y 0. Použijeme nejprve pravou větev (4.6), tj. nerovnost m m ykg k (x ) y k g k (x ) y 0. (4.7) k=1 k=1 Uvědomíme si, že g k (x ) jsou pevné koeficienty a že y 0 je z hlediska uvažované nerovnosti také pevný vektor. Odtud přímo vyplývá, že (4.7) může platit jen když g k (x ) 0 k a k=1 m ykg k (x ) = 0. (4.8) k=1 27

28 Tato podmínka je ekvivalentní s podmínkou komplementarity (4.5). To znamená, že x je přípustné řešení úlohy (4.1) a že se levá větev nerovností (4.6) redukuje na f(x) + m ykg k (x) f(x ) x 0 (4.9) k=1 Omezme se jen na přípustná x. Pro ně je g k (x) 0 k a z nerovnosti (4.9) plyne f(x) f(x ). Tedy x je optimální řešení úlohy (4.1). 4.2 Podmínky regularity Věta 20 platí bez jakýchkoli předpokladů na funkce f, g k. Avšak pro ověřování optimality řešení nebo pro nalezení optimálního řešení je nepraktická. Jako vedlejší výsledek jsme dostali podmínku komplementarity (4.5). (Porovnejte s podmínkami komplementarity v LP (3.27), (3.28).) Věta 20 dává postačující podmínku pro bod globálního minima funkce f na množině popsané nerovnostmi (4.1). Otázkou je, kdy bude globální podmínka (4.6) nutná. Snadno najdeme příklad, kdy k optimálnímu řešení x úlohy (4.1) neexistuje vektor Lagrangeových multiplikátorů y tak, aby platilo (4.6). Příklad 18: Řešme úlohu min { x x 2 0, x 0, x R }, tj. f(x) = x, g(x) = x 2 pro každé x 0. Existuje jediné přípustné a tedy i optimální řešení úlohy. Je to x = 0. Lagrangeova funkce má tvar L (x; y) = x + yx 2. 1. V bodě (0, 0) nemá sedlový bod nebot funkce x L (x; 0) = x nemá na x 0 minimum v x = 0. 2. Pro y > 0, v bodě (0, y) také není sedlový bod Lagrangeovy funkce, nebot x L (x; y) = x + yx 2 má na x 0 minimum v x = 1 2y a nikoli v x = 0. K bodu x = 0 tedy neexistuje žádné y R tak, aby dvojice (x, y ) splňovala GPO. Je tedy zapotřebí dalších předpokladů tzv. podmínek regularity, které vyloučí podobné degenerované případy. Z příkladu vidíme, že samotný předpoklad konvexnosti funkcí f, g k k nestačí. Definice 13: Pro úlohu (4.1) zavádíme množina indexů aktivních omezení v bodě x B (x) = {k = 1,..., m g k (x) = 0}. (4.10) Uvedeme si dvě podmínky, které spolu s konvexností funkcí f, g k splněním (4.4) a existencí optimálního řešení (4.1). Jsou to k zaručují ekvivalenci mezi (i) Podmínka lineární nezávislosti je splněna pro přípustné řešení x (0) úlohy (4.1), jsou-li v bodě x (0) lineárně nezávislé gradienty aktivních omezení, tj. matice ( ( x g k x (0)), k B (x (0))) má plnou sloupcovou hodnost. (ii) Slaterova podmínka platí pro úlohu (4.1), jestliže existuje x 0, pro které je g k ( x) < 0 k. Platí následující věty. Věta 21: Necht f, g k k jsou konvexní funkce a v bodě x R n je splněna podmínka lineární nezávislosti. Pak x je optimální řešení úlohy (4.1) tehdy a jen tehdy, když existuje y R m tak, že dvojice (x, y ) splňuje GPO. Věta 22: Necht f, g k k jsou konvexní funkce a je splněna Slaterova podmínka. Pak x R n je optimální řešení úlohy (4.1) tehdy a jen tehdy, když existuje y R m tak, že dvojice (x, y ) splňuje GPO.

Přednáška Ú-Opt, February 19, 2006:1324 Petr Lachout 29 Věta 23: Necht f jsou konvexní funkce a g k k jsou lineární funkce. Pak x R n je optimální řešení úlohy (4.1) tehdy a jen tehdy, když existuje y R m tak, že dvojice (x, y ) splňuje GPO. Důkazy těchto tvrzení lze nalézt například v [3] nebo [4]. Povšimněte si, že podmínka (i) je obdobou podmínky používané ve větě o vázaném extrémech z matematické analýzy. Odvodíme dále nutné a postačující podmínky k tomu, aby dvojice x, y byla sedlovým bodem funkce L (x; y) v nezáporném oboru. K tomu cíli budeme předpokládat diferencovatelnost a konvexnost funkcí f, g k k. Věta 24: Necht f, g k k jsou diferencovatelné. Pak podmínky x L (x ; y ) 0, x x L (x ; y ) = 0, x 0, (4.11) y L (x ; y ) 0, y y L (x ; y ) = 0, y 0 (4.12) jsou nutné k tomu, aby dvojice x, y byla sedlovým bodem L (x; y) v nezáporném oboru. Jsou-li navíc funkce f, g k k konvexní, jsou podmínky (4.11), (4.12) nutné a postačující. Důkaz: 1. Podmínky (4.11) jsou nutné k tomu, aby funkce L ( ; y ) nabývala svého minima na množině R n + v bodě x. Pro vnitřní body nezáporného kvadrantu R n + se redukují na známou nutnou podmínku pro volný extrém, pro hraniční body (tj. v případě, že je některá složka x nulová). Jejich porušení by umožnilo konstrukci směru dovnitř množiny R n +, ve kterém by L ( ; y ) z bodu x rostla. Podobně jsou podmínky (4.12) nutné k tomu, aby funkce L (x ; ) nabývala svého maxima na množině R m + v bodě y. 2. S použitím (2.11) ukážeme, že pro konvexní funkce jsou tyto podmínky postačující. Především je pro y 0 funkce L ( ; y ) konvexní na R n. Podle (2.11) a (4.11) upravujeme postupně L (x; y ) L (x ; y ) + (x x ) x L (x ; y ) Jako funkce y je L (x ; ) lineární, tedy podle (4.12). L (x ; y ) + x x L (x ; y ) L (x ; y ) x 0 L (x ; y) = L (x ; y ) + (y y ) y L (x ; y ) = L (x ; y ) + y y L (x ; y ) L (x ; y ) y 0 Podmínky (4.11), (4.12) se nazývají lokální podmínky optimality, zkráceně LPO, pro úlohu (4.1). Poznamenejme, že nerovnost y L (x ; y ) 0 v (4.12) je shodná s omezeními g k (x ) 0 k. Pro symetrickou úlohu NLP používáme Lagrangeovu funkci ve tvaru (4.2), GPO vyjádřené jako (4.4) a LPO zapsané v podmínkách (4.11), (4.12). Lagrangeovu funkci, GPO a LPO lze využít i pro pozměněný tvar úlohy NLP. Avšak, Lagrangeova funkce a následně i podmínky budou mít pozměněný tvar. Budou podstatně záviset na tvaru úlohy NLP. Uved me si v následující tabulce některé z používaných možností: omezení Lagrangeova funkce lokální podmínky optimality g k (x) 0 k f(x) + k y kg k (x) x L (x ; y ) = 0 a (4.12) x 0 f(x) x f (x ) 0, x 0, x x f (x ) = 0 g k (x) = 0 k, x 0 f(x) + k y kg k (x) (4.11) a g k (x ) = 0 k 4.3 Citlivost úlohy NLP Podobně jako optimální hodnoty duálních proměnných souvisí i optimální hodnoty Lagrangeových multiplikátorů s citlivostí optimální hodnoty účelové funkce na změny pravých stran.

30 Věta 25: Uvažujme dvě úlohy NLP min { f(x) g k (x) b A k, 1 k m, x 0 } (4.13) min { f(x) g k (x) b B k, 1 k m, x 0 } (4.14) a necht x A, x B jsou jejich optimální řešení splňující GPO s Lagrangeovými multiplikátory y A, y B. Pak platí (b B k b A k )yk A f(x A ) f(x B ) (b B k b A k )yk B (4.15) k k Důkaz: Stačí si pouze napsat GPO pro obě úlohy a pro jejich optimální body. f(x B ) + k f(x A ) + k y A k (g k (x B ) b A k ) f(x A ) f(x A ) + k y B k (g k (x A ) b B k ) f(x B ) f(x B ) + k y B k (g k (x A ) b A k ), y A k (g k (x B ) b B k ). Odečtením těchto nerovností dostaneme nerovnost (4.15). 4.4 Úloha kvadratického programování Úloha kvadratického programování má tvar minimalizovat f(x) := p x + 1 2 x Cx na konvexní polyedrické množině M. (4.16) Předpokládá se při tom, že C je pozitivně definitní (nebo pozitivně semidefinitní) matice řádu n a množina M =. To znamená, že je účelová funkce konvexní, omezení lineární a lokální podmínky optimality jsou nutné a postačující pro optimální řešení úlohy (4.16), viz věta 23. Odvodíme si jejich tvar pro jednu z možných voleb zápisu množiny M: Lokální podmínky optimality pro úlohu (4.16) při množině přípustných řešení Lagrangeova funkce: Tvar podmínek (4.11): Tvar podmínek (4.12): M = {x R n Ax b, x 0}, (4.17) L (x; y) = p x + 1 2 x Cx + y (Ax b). (4.18) p + Cx + A y 0, x 0, x (p + Cx + A y) = 0. (4.19) Ax bx 0, y 0, y (Ax b) = 0. (4.20) Uvedené podmínky jsou skoro lineární, až na podmínky komplementarity. To umožňuje založit postup pro řešení úlohy kvadratického programování na vyřešení těchto podmínek na simplexovém algoritmu. Tento algoritmus se nazývá Wolfeho algoritmus (viz [3] nebo [4]). Jiný postup může být založen na skutečnosti, že pro pozitivně definitní matici C je úloha (4.16) ekvivalentní, co do polohy optimálního řešení, úloze o projekci bodu volného minima funkce p x+ 1 2 x Cx na množinu M. Přesněji je ekvivalentní úloze minimalizovat (x + C 1 p) C(x + C 1 p) na konvexní polyedrické množině M. (4.21) Z obecné věty o projekci pak také vyplývá, že pro M = a pro C pozitivně definitní má úloha kvadratického programování vždy optimální řešení. Úloha kvadratického programování si zachovává některé užitečné rysy úloh LP (např. speciální a numericky schůdné postupy řešení) a podobně jako úlohy NLP může mít optimální řešení v libovolném bodě množiny M. Mezi nejžádanější aplikace patří různé postupy pro optimalizaci portfolia cenných papírů s náhodným výnosem, zejména Markowitzův model a modely založené na maximalizaci středního užitku při normálním rozdělení výnosů. Ve statistice a v ekonometrii se kvadratické programování vyskytuje např. v souvislosti s metodou nejmenších čtverců.