1 Duální simplexová metoda

Podobné dokumenty
Lineární programování

Základy spojité optimalizace

13. Lineární programování

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

4EK213 LINEÁRNÍ MODELY

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

Parametrické programování

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

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

Funkce v ıce promˇ enn ych Extr emy Pˇredn aˇska p at a 12.bˇrezna 2018

Matematika pro informatiky

Ekonomická formulace. Matematický model

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

3. ANTAGONISTICKÉ HRY

4EK213 LINEÁRNÍ MODELY

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

Základy matematiky pro FEK

1. července 2010

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

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

Extrémy funkce dvou proměnných

ANTAGONISTICKE HRY 172

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

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

Numerické metody optimalizace - úvod

Kapitola 4: Extrémy funkcí dvou proměnných 1/5

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

Průvodce studiem. do bodu B se snažíme najít nejkratší cestu. Ve firmách je snaha minimalizovat

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

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

Aplikovaná numerická matematika - ANM

Matematika 5 FSV UK, ZS Miroslav Zelený

Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,

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

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

Symetrické a kvadratické formy

1 Determinanty a inverzní matice

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

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

Úvod do teorie her

Numerické metody 6. května FJFI ČVUT v Praze

Numerické metody a programování. Lekce 8

Ohraničená Hessova matice ( bordered hessian ) je. Sestrojíme posloupnost determinantů (minorů):

III. Diferenciál funkce a tečná rovina 8. Diferenciál funkce. Přírůstek funkce. a = (x 0, y 0 ), h = (h 1, h 2 ).

2 Spojité modely rozhodování

10 Funkce více proměnných

6 Simplexová metoda: Principy

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

Lineární algebra : Metrická geometrie

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

Co je obsahem numerických metod?

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

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

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

Matematická analýza pro informatiky I. Extrémy funkcí více proměnných

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

Základní spádové metody

Kapitola 4: Průběh funkce 1/11

DERIVACE FUKNCÍ VÍCE PROMĚNNÝCH

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

0.1 Úvod do lineární algebry

Nejdřív spočítáme jeden příklad na variaci konstant pro lineární diferenciální rovnici 2. řádu s kostantními koeficienty. y + y = 4 sin t.

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

Nelineární optimalizace a numerické metody (MI NON)

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

Otázku, kterými body prochází větev implicitní funkce řeší následující věta.

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

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

Soustavy linea rnı ch rovnic

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

Klasifikace a rozpoznávání. Lineární klasifikátory

0.1 Úvod do lineární algebry

Globální extrémy. c ÚM FSI VUT v Brně. 10. ledna 2008

Úvod do optimalizace Matematické metody pro ITS (11MAMY)

Derivace a monotónnost funkce

Interpolace, ortogonální polynomy, Gaussova kvadratura

Přijímací zkouška na navazující magisterské studium 2014

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

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

Kapitola 4: Průběh funkce 1/11

Úvod do lineární algebry

Diferenciál funkce dvou proměnných. Má-li funkce f = f(x, y) spojité parciální derivace v bodě a, pak lineární formu (funkci)

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

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

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

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

1 Extrémy funkcí - slovní úlohy

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

1 Mnohočleny a algebraické rovnice

Státnicová otázka 6, okruh 1

Hledání extrémů funkcí

5.3. Implicitní funkce a její derivace


14. přednáška. Přímka

Operace s maticemi. 19. února 2018

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

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

1 Linearní prostory nad komplexními čísly

Transkript:

1 Duální simplexová metoda Autor: Markéta Popelová Datum: 8.5.2011 Předmět: Základy spojité optimalizace Zadání Mějme matici A R m n a primární úlohu lineárního programování v normálním tvaru (P) a k ní příslušnou duální úlohu (D): (P ) max M P c T x, M P = {x R n Ax b, x 0} Ekvivalentní úlohy (D) min M D b T y, M D = {y R m A T y c, y 0} Prvně vytvořme úlohy (P ) a (D ) ekvivalentní k (P) a (D) tak, že přidáme nové proměnné x = (x n+1,..., x n+m ) a definujeme úlohy jako y = (y m+1,..., y m+n ) (P ) max M P c T x, M P = {(x, x ) R n+m Ax + x = b, x, x 0} (D ) min M D b T y, M D = {(y, y ) R n+m A T y y = c, y, y 0} Myšlenka DSM Budeme procházet přípustná bázická řešení duální úlohy. Jim budou odpovídat nepřípustná bázické řešení primární úlohy se stejnou hodnotou cílové funkce. Tuto hodnotu budeme snižovat, čímž se bude zlepšovat hodnota cílové funkce duálu, avšak zhoršovat hodnota cílové funkce primáru. Jakmile dostaneme přípustné bázické řešení primární úlohy, ukážeme, že to je optimum. Tabulka duální simplexové metody je redukovaná, tedy neobsahuje jednotkovou podmatici za bázické sloupce. Ve sloupci d 0 najdeme hodnoty primárních bázických proměnných a bude odpovídat kriteriálnímu řádku. Uvědomme si, že to, že je primární bázické řešení nepřípustné, znamená, že má alespoň jednu složku zápornou, tedy d 0 0. Tedy jakmile bude d 0 0, budeme v optimu (1. DSM). V řádku d 0 najdeme hodnoty duálních bázických proměnných. Ty mají být po celou dobu přípustné, tedy d 0 0. Hodnota d 00 odpovídá hodnotě cílové funkce primární úlohy s primárními bázickými proměnnými, stejně jako hodnotě cílové funkce duální úlohy s duálními bázickými proměnnými. Na tabulku tedy můžeme nahlížet jako simplexovou tabulku pro duální úlohu, přičemž je vše transponované (hodnoty jsou v řádku místo ve sloupci, nemáme kriteriální řádek, ale sloupec, atd.). Algoritmus (Duální simplexová metoda) 1. Inicializace. 2. Transformace. (a) Pokud (d 0 0) x = (x B, x N ) = (d 0, 0) je optimum primární úlohy s hodnotou cílové funkce d 00 konec. (b) Pokud ( i B : d i0 < 0 & D i 0) (P) ani (D) nemají optimální řešení konec. 1

1. DSM (c) Zvolme pivota D sr a proved mě transformaci D podle tohoto pivota. s := min{i B d i0 < 0} { r := min k N d { 0k d }} D sk = min 0j D sj j N, D sj < 0 Necht d 0 0. Pak x = (x B, x N ) = (d 0, 0) je optimální řešení primární úlohy a y = (y B, y N ) = (d 0, 0) je optimální řešení duální úlohy se společnou hodnotou cílové funkce d 00. Důkaz Algoritmus nám zaručuje, že y je přípustné bázické řešení 1 a že d 0 jsou hodnoty x B. Jsou-li všechny kladné, máme navíc přípustné řešení primární úlohy a dle principu duality se jedná o optimální řešení se společnou hodnotou cílové funkce, která je d 00 dle volby simplexové tabulky. 2. DSM Necht i B : d i0 < 0 & D i 0. Pak (P) ani (D) nemají optimální řešení. Důkaz Vezměme si libovolné x M P. Pro něj platí vztah x B = d 0 Dx N 0 2, kde B jsou indexy aktuálních bázických proměnných, N indexy aktuálních nebázických proměnných. Tedy pro i-tou složku platí: x i = d i0 D i x N < 0, nebot d i0 < 0 z předpokladů věty, D i 0 taktéž z předpokladů věty a x N 0 z definice M P. Tedy i-tá složka každého přípustného řešení M P je záporná, tedy M P = M P =. Tedy (P) nemá optimální řešení a dle principu duality ani (D) nemá optimální řešení. 3. DSM Necht nejsou splněny předpoklady 1. ani 2. DSM. Necht s := min{i B d i0 < 0} { r := min k N d { 0k d }} D sk = min 0j D sj j N, D sj < 0. Pak po jedné transformaci tabulky s pivotem D sr dostaneme nové bázické řešení x s bázickými hodnotami d 0 a nové přípustné bázické řešení y s hodnotami d 0 a společnou hodnotou cílových funkcí c T x = b T y = d 00 d 00. 1 Jedná se sice o řešení (D ) a (P ), ale to jsou ekvivalentní úlohy k (D) a (P).) 2 Toto bychom měli dokázat, že to je zachování po celou dobu algoritmu. 2

Důkaz Nejdříve ukažme, že d 0 jsou hodnoty x B. Z indukčního předpokladu víme, že Podle stejné úvahy jako u SM platí, že d 0 = A 1 B b, D = A 1 B A N. d 0 = A 1 B b, D = A 1 B A N. Z první rovnosti vidíme, že d 0 jsou hodnoty nových bázických proměnných x B. Dále d 0 udržujeme tak, aby platilo d 0 = (A T ) 1 B c. Dále se ukáže i ten zbytek, který v podstatě vyjde z volby pivota. Parametrické programování Obor řešitelnosti jsou taková reálná λ, že s nimi má úloha řešení. Obor stability řešení x 1 jsou taková reálná λ, že s nimi má úloha optimální řešení x 1. Funkce řešitelnosti dané úlohy je φ(λ) = min M (c + λc ) T x kde λ je z oboru řešitelnosti. Dá se dokázat, že pro jedno x 1 existuje uzavřený maximální obor stability. Dále že pro λ mimo obor řešitelnosti existuje otevřený interval okolo, který také spadá mimo obor řešitelnosti. A nakonec, že pro jedno x 1 s nějakým oborem stability existuje sousední x 2 s navazujícím oborem stability. Úlohy na volný extrém Prostě taková analýznická úloha, kdy se hledá globální extrém funkce na R n. Hledají se stacionární body (nulová derivace, resp. nulový gradient (vektor parciálních derivací)). Pak se počítá Hessián a ověřuje se definitnost ve stacionárních bodech. Jsou i nějaké numerické metody. Nelineární programování Konvexní programování lokální minimum je i globální. Pro explicitně-kvazikonvexní to platí taktéž, ale pro konvexní ne. Konvexní explicitně-kvazikonvexní konvexní Pseudokonvexní: pomocí gradientu f v pseudokonvexním bodě lze určit absolutní minimum f na M. 1.0.1 Metody 1. Metody přípustných směrů, např. metoda Franka a Wolfa. Fajn pro konvexní M, aby šlo rychle určit, zda jsi uvnitř. Cílová fce f libovolná, ale f C 1. 2. Metody vnější aproximace, jako sečné nadroviny. Najde se konvexní polyedr, co obsahuje M, najde se jeho optimum. A když tam neleží, tak se sestrojí sečná nadrovina a uřízne se kus konvexního polyedru. Fajn pro jednoduchou célovou funkci, ideálně linerání, páč se pak lépe hledá optimum na tom konvexním polyedru. 3. Metody vnitřní aproximace. Cílová funkce se aproximuje nějakou snazší. 4. Metody založené na K.-T. podmínkách. Vhodné pro kvadratické programování, páč z toho pak vznikne soustava rovnic a nerovnic. 5. Branch and Bound. Dělí velkou úlohy na posloupnost menších. Fajn pro konečnou M. 3

6. Penalizační metody. Vyjde se z libovolného bodu a pak se přibližuje k M. Cílová funkce je nějak min f + α k p(x) a jelikož α k, tak potřebujeme, aby p, což znamená, že se přibližujeme k M. 7. Bari=rové metody. Musí se najít vnitřní bod M. Pak se nějak zlepšuje hodnota cílové funkce. Výhodné je, že lze skončit a mít přijatelné řešení. 1.0.2 Metoda Franka a Wolfa f je libovolná konvexní z C 1 funkce, M je omezený konvexní polyedr (tedy dán soustavou nerovnic). 1. Najdeme výchozí bod x 1 M. Když neexistuje, tak hotovo (M prázdná). 2. Sestavíme tečnou nadrovinu M v x 1 jako f(x 1 )(x x 1 ), což je lineární funkce. Stačí uvažovat f(x 1 ) T x, páč minimum nezávisí na konstantě. Najdeme minimum na M s touto cílovou lineární funkcí pomocí SM, označíme ho ˆx. Pokud x 1 nebylo optimum, tak máme přípustný směr ˆx x 1, který alespoň kousek klesá, tedy derivace f v tomto směru z bodu x 1 je f(x 1 ) T (x x 1 ) 0. (Kdyby byla rovna nule, jsme v optimu. Pokud f(ˆx) T (x x 1 ) 0, určíme x 2 := ˆx a pokračujeme krokem 1. Jinak hledáme min f(x 1 aλ(ˆx x 1 )) pro λ 0, 1,, což je funkce jedné proměnné na kompaktní množině, tedy má dle Weierstrasse minimum a lze ho jasně určit hnusným vzorcem s derivacemi. Když ho tam dosadíme, získáme x 2 pro další krok. Vícekriteriální programování Cílovou funkci tvoří vektor s funkcí f i : R n R. Máme 4 možnosti, jak hodnotit, které řešení je nejlepší: 1. Ideální řešení. Je maximem pro všechny f i. To typicky nenastává. 2. Dominantní řešení. Vybereme si jednu f i a na ostatní se vybodnem. 3. Kompromisní řešení. Uživatel nám ta f i nějak ohodnotí (třeba jim dá váhy), tzn. dá nám funkci F (f i ) a my pak řešíme maximum této funkce. Dělí se to ještě podle toho, kdy tyto preference dostaneme: (a) Nikdy. Nějak je tedy vymyslíme sami, v podstatě spíše z matematického hlediska. (b) Před výpočtem. Fajn, rozvnou víme, co řešit. (c) Při výpočtu. To je pak prý nějak složité. (d) Po skončení výpočtu. Na začátku si je nějak zvolíme a po konci to zopakujeme s preferencemi uživatele. 4. Eficientní řešení. Neexistuje jiné takové, že by bylo ve všech f i alespoň stejně dobré a v alespoň jedné f j by bylo lepší. Eficientní řešení Podstatný je skalární parametrický ekvivalent obecné úlohy VP. Platí totiž, že λ>0 M opt(λ), tedy sjednocení přes všechna λ množin všech optimálních řešení pro dané λ, patří celá do množiny všech eficientních řešení ɛ. Důkaz je snadný, důsledky jsou důležité. Dokonce pro lineární VP se to rovná, pro konvexní sice ne, ale lze ɛ odhadnout zhora sjednocením stejné množiny přes λ 0. Pro tento typ řešení existují algoritmy dialogu. Ten první si zvolí nějaká vhodná λ 1, λ 2, řeší pak maximum λ 1 + t(λ 2 λ 1 ) T f(x), kde t je volitelný parametr. Pro t = 0 to vyřeší a nabídne uživateli optimální řešení společně s několika dalšími informacemi. Uživatel se může rozhodnout, zda: 1. pokračovat v tomto směru, tedy zvětšit t, 2. pokračovat v jiném směru, tedy změnit λ 2, 3. vrátit se k dříve dosaženému optimu a příslušnému λ, 4

4. změnit λ 1, λ 2, 5. skončit. Druhý algoritmus dialogu se použije tehdy, co je uživatel dlouho nespokojen. Nějak se tam zavede ještě nějaké K a když je z nějakého hlesika (jedné f i ) výsledek již dobrý, tak se dané f i už nesnažíme zlepšit, ale snažíme se ho příliš nezhoršit. Kompromisní řešení Když nám uživatel nic nedá, použije se metoda globální cílové funkce. Pro každé i se najde vyřeší maximalizace f i (x). A pak hledá řešení, které se minimálně odchýlí od každé z těchto hodnot. Dá se ukázat, že toto je eficientní řešení. Pak jsou ještě nějaké další možnosti. Dynamické programování Systém je to, co zkoumáme v časovém intervalu t 1, t 2. Stav systému v čase t je popsaný n-ticí stavových proměnných. X R n je množina přípustných stavů. Stavy se mění na základě rozhodnutí u, což je m-tice rezhodovacích proměnných. U R m je množina přípustných rozhodnutí. Rozhodování mohou nastávat bud v libovolném čase (čas je spojitý), což vede na Pontrjaginův princip maxima, nebo jen v diskrétních časových okamžicích, což budeme uvažovat v další části. Dá se pak totiž ukázat, že platí Ballmanův princip optimality, který říká, že každá podstategie optimální strategie je optimální. Def. Chová-li se systém v časovém intervale t 1, t 2 dle následujících podmínek, říkáme, že v t 1, t 2 probíhá N-stupňový diskrétní proces se stavovou transformací i t 1, t 2 x i+1 = T i (x i, u i ). Tím je myšleno, že stav systému v čase i je dán nějakou funkcí předchozího stavu a předchozího rozhodnutí. A ted ty podmínky: 1. Interval t 1, t 2 je rozdělen pomocí t 1,..., t N časových okamžiků, kde N > 0, N N. 2. Stav systému se mění jen v t i, kde i 1, N Z. 3. i v intervalu t i 1, t i ) máme stav x i, před prvním rozhodnutím u 1 máme počáteční stav x 1 a poslední stav je x n+1. 4. Stav x i+1 závisí jen na x i, u i. Píšeme i t 1, t 2 x i+1 = T i (x i, u i ). Čas máme rozdělen diskrétně na intervaly t 1,..., t N. V každém tomto intervalu se změní stav na základě rozhodnutí u, což je m-tice nějakých reálných čísel. Přípustná strategie je posloupnost u 1,... u N, že vede z přípustného stavu do přípustného stavu po přípustných stavech přes příslušná rozhodnutí. Zajímá nás především úloha, kdy máme dán vstupní stav x 1 a máme za N kroků nasbírat co nejvíce bodů přechody mezi stavy, přičemž účelová funkce závisí vždy na stavu, odkud jsme přišli, a rozhodnutí, které nás k tomu vedlo, a čase, ve který se to děje. Dynamické programování využívá Bellmanův princip optimality, že každá podstategie optimální strategie je optimální. 1. Pro každý předposlední stav vybereme poslední stav, které spojuje hrana nejvyšší hodnoty. 2. Pro každý předpředposlední stav vybereme nejlepší předposlední stav, tedy maximalizujeme hodnotu hrany do tohoto stavu + hodnotu cílové funkce v tamtom stavu, kterou už máme spočítanou. 3.... atd. až získáme optimální hodnotu pro první vrchol. 5

Teorie her Máme matici A, řádkový hráč si vybírá i index řádku, sloupcový j index sloupce, řádkovému se přičte a ij, což může být i záporné. Strategie hráče je vektor pravděpodobností výběru daného indexu. Jsou-li dané strategie p, q, je očekávaná hodnota E(p, q) = n i,j=1 p ia ij q j. Věta říká, že existují optimální strategie p, q, že E(p, q) E(p, q ) E(p, q ) = v. Tedy se jim nevyplatí hrát jinak než tou optimální strategií. Tedy vždy existuje nějaké v, které může hráč uhrát, at bude hrát ten druhý jakkoliv. Nás zajímá optimální strategie p, q. Nějak ukážeme, že stačí uvažovat jednotkové vektory. Dále z toho sestavíme úlohu lineárního programování, kde p bude optimální řešení primáru a q bude optimální řešení duálu. 6