Základy spojité optimalizace

Podobné dokumenty
1 Duální simplexová metoda

Lineární programování

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

13. Lineární programování

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

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

3. ANTAGONISTICKÉ HRY

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

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

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

ANTAGONISTICKE HRY 172

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

Matematika pro informatiky

Úvod do teorie her

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

f ( x) = 5x 1 + 8x 2 MAX, 3x x ,

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

4EK213 LINEÁRNÍ MODELY

4EK213 Lineární modely. 10. Celočíselné programování

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

1. července 2010

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

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

4EK213 LINEÁRNÍ MODELY

1 Řešení soustav lineárních rovnic

Matematika 5 FSV UK, ZS Miroslav Zelený

Numerické metody optimalizace - úvod

Simplexové tabulky z minule. (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25

DEFINICE Z LINEÁRNÍ ALGEBRY

4EK213 Lineární modely. 4. Simplexová metoda - závěr

1 Úvod do celočíselné lineární optimalizace

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

2 Spojité modely rozhodování

Parametrické programování

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

Ekonomická formulace. Matematický model

10 Funkce více proměnných

Kapitola 11: Vektory a matice:

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

Státnicová otázka 6, okruh 1

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vlastní (charakteristická) čísla a vlastní (charakteristické) Pro zadanou čtvercovou matici A budeme řešit maticovou

Definice 7.1 Nechť je dán pravděpodobnostní prostor (Ω, A, P). Zobrazení. nebo ekvivalentně

0.1 Úvod do lineární algebry

2. Schurova věta. Petr Tichý. 3. října 2012

Úlohy nejmenších čtverců

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

Základy matematiky pro FEK

Otázky ke státní závěrečné zkoušce

Numerické metody a programování. Lekce 8

INTEGRÁLY S PARAMETREM

Definice 1.1. Nechť je M množina. Funkci ρ : M M R nazveme metrikou, jestliže má následující vlastnosti:

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

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

Systémové modelování. Ekonomicko matematické metody I. Lineární programování

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

Operace s maticemi

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

Matematika B101MA1, B101MA2

1 Linearní prostory nad komplexními čísly

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á.

Operace s maticemi. 19. února 2018

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

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech


Přednáška 6, 6. listopadu 2013

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

12. Lineární programování

1 Determinanty a inverzní matice

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

6 Simplexová metoda: Principy

METRICKÉ A NORMOVANÉ PROSTORY

Interpolace, ortogonální polynomy, Gaussova kvadratura

Hledání extrémů funkcí

0.1 Úvod do lineární algebry

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

Soustavy linea rnı ch rovnic

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

Úvod do lineární algebry

3. přednáška 15. října 2007

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

Uzavřené a otevřené množiny

Definice globální minimum (absolutní minimum) v bodě A D f, jestliže X D f

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

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

opt [ ] Vyjádření subvektory (báz. a nebáz.) B,N Index bázových a nebázových proměnných β, ν Množina indexů veličin B,N

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

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

Vlastní číslo, vektor

(Cramerovo pravidlo, determinanty, inverzní matice)

Primitivní funkce a Riemann uv integrál Lineární algebra Taylor uv polynom Extrémy funkcí více prom ˇenných Matematika III Matematika III Program

a + b + c = 2 b + c = 1 a b = a 1 2a 1 + a a 3 + a 5 + 2a 2 + a 2 + a

7. Důležité pojmy ve vektorových prostorech

Symetrické a kvadratické formy

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.

Operační výzkum. Vícekriteriální programování. Lexikografická metoda. Metoda agregace účelových funkcí. Cílové programování.

Lineární algebra - I. část (vektory, matice a jejich využití)

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

1 Soustavy lineárních rovnic

Transkript:

Základy spojité optimalizace 2. ledna 2013 Obsah 1 Přehled 2 1.1 Obecná úloha........................... 2 1.2 Dělení úloh............................ 2 1.3 Volný extrémem......................... 3 1.4 Lineární programování...................... 3 1.4.1 Simplexová metoda................... 3 1.4.2 Duální simplexová metoda................ 4 1.5 Konvexní programování..................... 4 1.6 Celočíselné programování.................... 4 1.7 Parametrické programování................... 4 1.8 Vícekriteriální optimalizace................... 5 1.9 Dynamické programování.................... 5 1.10 Optimalizační procesy...................... 5 1.11 Teorie her............................. 5 1.12 Semiinfinitní programování................... 5 2 Lineární programování 6 2.1 Případ degenerace a cyklu.................... 7 2.1.1 Blandovo pravidlo.................... 7 2.1.2 ǫ-modifikovaná úloha................... 7 2.2 Množina všech optimálních řešení................ 7 2.3 Revidovaná simplexová metoda................. 9 2.4 Výpočetní složitost simplexové metody............. 9 1

2.5 Teoreticky rychlejší metody................... 9 2.5.1 Chačiova elipsová mateda................ 9 2.5.2 Karmankarova...................... 10 2.6 Duální simplexová metoda.................... 10 2.6.1 Princip duality...................... 10 2

1 Přehled 1.1 Obecná úloha Obecnou úlohou matematické optimalizace rozumíme úlohu maximum či minimum funkce f na množině M, kde f je obecná funkce. f se nazývá účelová nebo cílová. M se nazývá množinou přípustných řešení. Každý prvek x M se nazývá přípustným řešením. Takové x 0 M; x M;f(x 0 ) f(x) se nazývá optimálním řešením. 1.2 Dělení úloh Dle spojitosti: Diskrétní řeší se v kombinatorice, mohou mít konečně mnoho možností. Spojité funkce většinou reálné proměnné. Dle determinističnosti: Deterministické Stochastické obsahují nějaké náhodné proměnné. Řeší statistika. Dle volnosti: S volným extrémem množina M není definovaná, hledá se na celém prostoru. Hledá se jinak, než u vázaných. S vázaným extrémem omezené množinou M. Lineární. Nelineární konvexní (často kvadratické), zobecněné konvexní a speciální nekonvexní. Dynamické každé podřešení optimálního řešení je také optimální. Rozhodovací proces, hledá posloupnost. Diskrétní. Optimalizační procesy Totéž, ale spojité. Teorie her někdo je protivník. Semiinfinitní programování. Lze udělat nadstavby: Celočíselné programování některé parametry jsou diskrétní. Parametrické programování 3

Vícekriteriální Pozorování 1 maxf(x) = min f(x) Tedy, mohu se zabývat pouze jedním z tohoto. Někdy je potřeba operovat se supremem či infimem. 1.3 Volný extrémem Hledám min{f(x);x R n }. Používají se metody newtenova, kvazinewtenova. Využívá se v penalizačních a bariérových metodách. Penalizační je tak, že se jde zvenčí množiny M, penalizuji za to, že jsem venku, takže časem dojdu dovnitř. Bariérová metoda říká, že začnu někde uvnitř a nesmím M opustit. 1.4 Lineární programování Hledám minimum: { min C T x,c R n},m = { x R n ;Ax (,=)b,a R m+n ;b R m} M Úlohou Lineárního programování v rovnicovém tvaru rozumíme úlohu: { min C T x }, M = {x R n ;Ax = b,x 0},A R m+n, M h(a) = m,1 m < n,b 0,C R n Úlohou Lineárního programování v normálním tvaru rozumíme: { min C T x },M = {x R n ;Ax b,b 0},A R m+n,b R m,c Rn M 1.4.1 Simplexová metoda Vychází z toho, že nějaké optimální řešení, pokud existuje, tak je alespoň v jednom z vrcholů mnohostěnu. Začnu v některém vrcholu, posouvám se na ty lepší a lepší, až ho najdu. 4

1.4.2 Duální simplexová metoda Řeší dvě duální úlohy zároveň. Vezmu bázická(nemusí být přípustná) řešení, ale musí dávat stejnou funkční hodnotu. Měním tak dlouho, než dostanu přípustná řešení, protože jsou stejná, musí to být optimum. Věta 1 Existuje-li řešení, je ho dosaženo alespoň v jednom vrcholu konvexního polyedru M. 1.5 Konvexní programování Hledám min M f(x);f(x) je konvexní funkce: M = {x R n ;g j (x) 0;j 1...n} g j jsou podmínky, je jich konečně mnoho. Zajišt ují konvexnost množiny. Věta 2 Každé lokální minimum konvexní funkce je absolutním minimem. Zobecněné, kvazikonvexní, explicitně kvazikonvexní a pseudokonvexní funkce jsou takové, že platí stejná (nebo podobná) věta. Používají se gradientní metody (též známé jako metody přípustných směrů) jdu z kopce, dokud je to dolů. Vždy najdu směr, kam se vydám a jak daleko. Dále jsou metody sečných nadrovin spočítám funkční hodnotu, vždy odseknu nadrovinou něco, kde se optimum nemůže nacházet. 1.6 Celočíselné programování Nemá oddělenou teorii, staví nad lineárním a nelineárním programováním. Používají se sečné nadroviny, zapomenu na celočíselnost, když to nevyšlo, tak oříznu tak, aby mi zbyly celočíselné, ale ne toto. Metoda větvení a mezí simplexovou metodou, když najdu něco neceločíselného, vynechám čísla mezi, rozdělím na dvě množiny. 1.7 Parametrické programování Výsledná funkce závisí na nějakém parametru. Rozdělí se na obory stability (kdy se výsledek x nemění v závislosti na parametru). 5

1.8 Vícekriteriální optimalizace max M f (x), kde f je vektorová funkce. x 0 M je eficientní, pokud x M, který by byl alespoň tak dobrý ve všech složkách a alespoň v jedné je lepší. Nemusí být všechny. Přístup kompromisního řešení ohodnotí f pomocí nějaké skalární funkce a řeší se ta obvyklým způsobem. 1.9 Dynamické programování Předmětem zkoumání jsou diskrétní rozhodovací procesy. max P n f N (x 1,x 2,...,x n ) Několikrát za sebou se rozhoduji. Hledám posloupnost prvků. Mám dva druhy proměnných stavové (popisují aktuální situaci) a rozhodovací (popisují rozhodnutí). Věta 3 (Bellmanův princip optimality) Každá podstrategie optimální strategie je také optimální 1.10 Optimalizační procesy Spojité rozhodovací procesy. Nerozhoduje se v daných bodech, ale stále. 1.11 Teorie her Je ještě protihráč. Např. maticová hra dvou hráčů s nulovým součtem co vyhraje jeden, prohraje ten druhý. Vždy existuje pro oba hráče optimální strategie, přímá souvislost s principem duality v lineárním programováním. 1.12 Semiinfinitní programování max M Ct x,m {R n a(t) b(t)},t T R m,a(t) R n,b(t) R,C R n T je obvykle kompaktní a konvexní. Problém je, že je zde nekonečně mnoho omezení. 6

2 Lineární programování Uvažujeme úlohu v rovnicovém tvaru. min M CT x,m = {x R n ;Ax = b,x 0},C R n,b R m,a R m n,h(a) = m,1 m n Tedy konečný počet (alespoň 1) A B R m m regulární. Vezmeme libovolnou A B. Potom můžeme přepsat úlohu: A = (A B,A N ) Stejným způsobem rozdělíme x = (x B,x N ),C = (C B,C N ). Protože A B x B +A N x N = b x B = A 1 B b A 1 B A Nx N = d 0 Dx N,CB Tx X+ CN Tx N CB T(d 0 Dx N )+CN Tx N = CB Td 0+(C N CB TD)x N = c 0 +(C N Z N )x N. Známe-li libovolné bázické řešení B, dá se přepsat na tvar: { min C0 +(C N Z N ) T,M = {(x B,x N );x B = d 0 Dx n o,x N 0} } M V simplexové metodě je vždy A B = I n jednotková matice. Bud máme štěstí a je tam a nebo je třeba ji vyrobit. Výchozí tabulka a je matice A n, x jsou c N Z n. 1 0 0 a a a b 0 1 0 a a a b 0 0 1 a a a b 0 0 0 x x x c 0 Věta 4 Platí-li C n Z n 0 v každé složce, potom příslušné bázické řešení x = (x B,x N ), x B = d 0,x N = 0 je optimální. Věta 5 Existuje-li index l N tak, že příslušné C n Z n 0 a d l 0 v každé složce, potom neexistuje řešení úlohy. Věta 6 Nejsou-li splněny předpoklady 4 ani 5, potom označíme-li C S Z S = minc j z jj N } min di0 ds>0{ d i s d r0 d rs, dostaneme po transformaci tabulky s pivotem d rs nové přípustné řešení (x B,x N ),CT x C T x. 7

Mám konečný počet bází, ale při transformaci může zůstat stejná hodnota cílové funkce, může vzniknout degenerace a cyklus. 2.1 Případ degenerace a cyklu Přípustné bázické řešení (x B,x N ) nazveme degenerovaným, jestliže existuje alespoň jeden index p B tak, že x p = 0. Říkáme, že při simplexové metodě dochází k degeneraci, jestliže alespoň jedno přípustné bázické řešení je degenerované. Podle transformačního vzorce platí ( c 0 ) = c 0 (cs zs) d r0 d rs. Pokud d r0, pak se nezmění funkční hodnota. Může se to zacyklit. Degenerace nemusí vždy nutně znamenat cyklus. 2.1.1 Blandovo pravidlo { Definujeme-lisjakos min{l N;C l z l < 0}ar min p B;min{ di0 Potom při aplikaci simplexové metody nedojde k cyklu. d is } = d p0 d ps }. 2.1.2 ǫ-modifikovaná úloha Degenerace může vzniknout bud zadáním (některé b l = 0) nebo nejednoznačností výběru klíčového řádku. Platí-li, že min di0 dis >0{ d is = d r0 d rs = d p0 a zvolím-li d rs za pivota. Změnímmnožinuřešenítak,žeM ǫ = { x R n ;Ax = b+aǫ,x 0,ǫ = ( ǫ,ǫ 2,ǫ 3,...,ǫ m)} za předpokladu, že A = (EA N ). Tím zajistím, že degenerace nevznikne v zadání ani v průběhu. d ps } V praxi se to dělá tak, že když nemám jednoznačně určen klíčový řádek, tvoříme minima z podílů prvků prvního sloupce tabulky k prvkům klíčového sloupce, které připadají v úvahu na pivota. Pokud ještě něco zbude, přejdu k dalšímu sloupci a tak dále. 2.2 Množina všech optimálních řešení Množinu M opt = { x i M;min M C T x = C T x i } nazveme množinou všech optimálních řešení. Poznámka 1 Pokud známe jedno optimální řešení x 0 s hodnotou cílové funkce C T x 0 = C 0, potom můžu zapsat množinu M opt = { x M;C T x = C 0 }. 8

Věta 7 Jsou-li x 1,x 2 dvě různá optimální řešení úlohy lineárního programování, potom každý bod úsečky (x 1,x 2 ) je také optimálním řešením. Důkaz: C T x 1 = C T x 2 = C 0, platí x (x 1,x 2 ): C T x = C t (λx 1 +(1 λ)x 2 ) = λc T x 1 +(1 λ)c T x 2 = (λ+1 λ)c 0 = C 0 Tvrzení 1 M opt je rovna uzávěru stěny M určité dimenze. Necht jsme získali optimální řešení x 0 simplexovou metodou a poslední tabulka je tvaru: Věta 8 M opt = {x M;x j = 0;j J}. J jsou indexy, kde dole vyjde číslo > 0. Důkaz: Rozepsáním přes sumu. Důsledek 1 Pokud všechna C j z j > 0, potom je x 0 jediným optimálním řešením. Poznámka 2 Pokud v poslední (optimální) tabulce máme nějaké C j z j = 0,j N, potom zkoušíme zvolit příslušný sloupec za klíčový. Najdeme-li pivota (existuje ve sloupci alespoň jedna kladná hodnota), označme ho d rj, potom nové přípustné bázické řešení má hodnotu cílové funkce c 0 = c 0 (c j z j ) d r0 d rj, tedy hodnota optimální funkce zůstala zachována, dostali jsme tedy nové optimální řešení. Pozor, kdyby nastala degenerace, můžu zůstat ve stejném vrcholu. Neexistuje-li pivot ( d ij 0). Potom neomezená hrana představuje optimální řešení. {x R n ;x = x 0 +td j ;t 0} Konvexní kombinací získaných dalších optimálních řešení najdeme část množiny M opt. 9

2.3 Revidovaná simplexová metoda Chceme se zbavit jednotkové matice v tabulce. Při každé transformaci vznikne jeden nejednotkový sloupec, ale jeden se zase vyrobí. Tyto lze ignorovat. Budusipamatovat,kterýsloupecjekterý původní index kteréproměnné odpovídá. Nejprve se bude transformovat klíčový sloupec. Na místě pivota bude jeho převrácená hodnota. Ostatní prvky sloupce dělíme p (p je pivot). Ostatní prvky tabulky zpracujeme jako u obyčejné simplexové metody. Je třeba sledovat, která proměnná to je. 2.4 Výpočetní složitost simplexové metody Jeden krok se spočítá jednoduše. Tedy mě zajímá počet kroků. Lze odhadnout ( n m ). Hledáme největší úbytek hodnoty cílové funkce. Při transformaci tabulky v libovolném kroku dostaneme nové C 0 = C 0 (c s r s ) d r0 d rs Zaklíčovýsloupecbymělbýtbrántakový,prokterýplatímin cj z j <0 Pomalé na zjišt ování. Můžu použít min cj z j <0(c j z j ). Reálně to u praktických problémů počet kroků nezávisí na počtu proměnný a pohybuje se mezi 2m až 3m. Odhady říkají, že P(n,m) m 1 n 1 (m+1)n 2 5 π (1+ eπ 2 mnohem lepší. ). V praxi bývá { (cj z j ) d r(j)0 d r(j)j }. 2.5 Teoreticky rychlejší metody Pokusy vytvořit polynomiální algoritmy, prakticky jsou pomalé. 2.5.1 Chačiova elipsová mateda Sestrojí se elipsoid obsahující množinu přípustných řešení, vezme se polovina, kde M leží. Pak se sestrojí další elipsoid uvnitř této poloviny. Dělám to tak dlouho, až najdu střed elipsoidu uvnitř M. 10

2.5.2 Karmankarova Vytvořil se simplex, uvnitř se opsala nadkoule M, cílová funkce se promítla na nadkouli, opět se sestrojil simplex, etc. 2.6 Duální simplexová metoda 2.6.1 Princip duality Máme primární úlohu v základním tvaru: max M 1 C T x,m 1 = {x R n ;Ax b;x 0},C Rn,A R m n,b R m Poté úloha: je této ekvivalentní. min M 2 b T y,m 2 = { y R m ;A T y C,y 0 } Lemma 1 Jsou-li M 1,M 2, potom x M 1,y M 2 ;c T x b T y. Důkaz: Nějaké x a y existují. Věta 9 (Princip duality) Tyto úlohy mají stejná optimální řešení. Důsledek 2 Rovnost funkčních hodnot platí právě pro optimální řešení. 11