Lineární programování

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

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

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.

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

4EK213 LINEÁRNÍ MODELY

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

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

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

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

1. července 2010

4EK213 LINEÁRNÍ MODELY

6 Simplexová metoda: Principy

Úlohy nejmenších čtverců

12. Lineární programování

Matematika pro informatiky

Úvod do teorie her

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

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.

1 Linearní prostory nad komplexními čísly

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

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

13. Lineární programování

Operace s maticemi. 19. února 2018

Ekonomická formulace. Matematický model

3. ANTAGONISTICKÉ HRY

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

1/10. Kapitola 12: Soustavy lineárních algebraických rovnic

1 Duální simplexová metoda

Základní spádové metody

1 Determinanty a inverzní matice

Základy spojité optimalizace

Lineární algebra : Skalární součin a ortogonalita

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

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

Soustavy linea rnı ch rovnic

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

6 Lineární geometrie. 6.1 Lineární variety

0.1 Úvod do lineární algebry

α 1 α 2 + α 3 = 0 2α 1 + α 2 + α 3 = 0

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

ANTAGONISTICKE HRY 172

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

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

Interpolace, ortogonální polynomy, Gaussova kvadratura

4EK213 Lineární modely. 5. Dualita v úlohách LP

Úvod do optimalizace

0.1 Úvod do lineární algebry

Lineární algebra : Báze a dimenze

Matematika 5 FSV UK, ZS Miroslav Zelený

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

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

EUKLIDOVSKÉ PROSTORY

IB112 Základy matematiky

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

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

Úvod do lineární algebry

1 Báze a dimenze vektorového prostoru 1

Arnoldiho a Lanczosova metoda

ALGEBRA. Téma 5: Vektorové prostory

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

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

Lineární algebra : Lineární prostor

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29

FREDHOLMOVA ALTERNATIVA

M5170: Matematické programování

Základy matematiky pro FEK

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

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

1 Soustavy lineárních rovnic

Operace s maticemi

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

Cvičení z Lineární algebry 1

2 Spojité modely rozhodování

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

Diferenˇcní rovnice Diferenciální rovnice Matematika IV Matematika IV Program

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

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

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

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

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

Parametrické programování

2 Vektorové normy. Základy numerické matematiky - NMNM201. Definice 1 (Norma). Norma je funkcionál splňující pro libovolné vektory x a y a pro

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

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.

METRICKÉ A NORMOVANÉ PROSTORY

6. Lineární nezávislost a báze p. 1/18

Soustavy lineárních rovnic a determinanty

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

4EK311 Operační výzkum. 2. Lineární programování

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

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.

Vlastní číslo, vektor

10 Funkce více proměnných

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

Symetrické a kvadratické formy

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

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.

Projekty - Úvod do funkcionální analýzy

Transkript:

Lineární programování Petr Tichý 19. prosince 2012 1

Outline 1 Lineární programování 2 Optimalita a dualita 3 Geometrie úlohy 4 Simplexová metoda 2

Lineární programování Lineární program (1) min f(x) za podmínek h(x) = 0, q(x) 0. x Rn Položme f(x) c T x, h(x) Ax b, q(x) x, kde A R m n, b R m, c R n, m n, a přepišme ve standardním tvaru (2) min x R n ct x za podmínek Ax = b, x 0. Problém (2) nazveme lineární program (LP). 3

Převod na standardní tvar LP často nejsou zadány ve standardním tvaru, ale např. ve tvaru min x R ct x za podmínek Ax b. n Převod standardní tvar: předchozí lze ekvivalentně zapsat min x R ct x za podmínek Ax + z = b, z 0. n Zavedeme pomocné proměnné x + a x, x = x + x, x + max{x, 0} 0, x max{ x, 0} 0 a původní problém přepíšeme ve standardním tvaru min x R ct x za podmínek Ax = b, x 0, n x [x +, x, z], c [c, c, 0], A [A, A, I]. 4

Neexistence řešení Mohou nastat situace, kdy úloha LP nemá řešení množina přípustných bodů Ax = b, x 0 je prázdná. existuje posloupnost x k R n tak, že c T x k pro k, problém není zdola omezen. 5

Outline 1 Lineární programování 2 Optimalita a dualita 3 Geometrie úlohy 4 Simplexová metoda 6

LP a Karush-Kuhn-Tackerovy (KKT) podmínky Je-li x řešením (1), pak existují λ R m, µ R n tak, že f(x ) + h(x )λ + q(x )µ = 0, µ T q(x ) = 0, µ 0. Po dosazení do LP (společně s podmínkami pro přípustnou oblast), (3) c A T λ µ = 0, µ T x = 0, µ 0, Ax = b, x 0. 7

KKT podmínky jsou postačující LP je konvexní (f i přípustná oblast jsou konvexní) KKT podmínky jsou i postačující pro existenci globáního minima. Věta Splňuje-li nějaká trojice (λ, µ, x ) podmínky (3), pak je x bodem globáního minima problému (2) Důkaz: 8

Duální problém Problém (2) nazveme primární problém. Duálním problémem k problému (2) nazveme problém (4) max λ R m bt λ za podmínky A T λ c. Ekvivalentní vyjádření duálního problému: (5) max λ R m bt λ za podmínek A T λ + µ = c, µ 0. λ a µ se nazývají duální proměnné. Primární a duální problém nad stejnými daty A, b, c. Jaký je mezi nimi vztah? 9

Vztah primárního a duálního problému Pozorování: KKT podmínky pro duální problém (5) se shodují s KKT podmíkami (3) pro problém (2). Lemma (slabá dualita) Je-li x bodem přípustné oblasti problému (2) a λ bodem přípustné oblasti problému (4), pak platí c T x λ T b. Důsledek Jsou-li x 0 a λ 0 body přípustných oblastí problémů (2) a (4) a platí-li c T x 0 = λ T 0 b, potom jsou x 0 a λ 0 řešeními korespondujících problémů. 10

Vztah primárního a duálního problému Silná dualita min x R ct x za podmínek Ax = b, x 0. n max λ R bt λ za podmínky A T λ c. m Věta (silná dualita) Problém (2) má konečné řešení právě tehdy, když problém (4) má konečné řešení. Mají-li oba problémy konečná řešení, pak jsou si hodnoty cílových funkcí v řešení rovny. Je-li jeden z problémů neomezený, potom je přípustna oblast druhého problému prázdná. 11

Outline 1 Lineární programování 2 Optimalita a dualita 3 Geometrie úlohy 4 Simplexová metoda 12

Bázické body Idea Nechť A R m n, b R m, m n. Uvažujme problém (6) Ax = b. Je-li rank(a) = m, lze z A vybrat m lineárně nezávislých sloupců a poskládat je do (regulární) matice B, např. (pro jednoduchost), B = [a 1,..., a m ]. Soustava Bx B = b má jednoznačné řešení. Položíme-li [ ] xb x =, 0 je x jedním z řešení soustavy (6). 13

Bázické body Definice Definice (bázický bod) Uvažujme problém (6) a nechť B R m m je regulární matice vytvořená z vybraných sloupců matice A. Položme všechny složky vektoru x, které nejsou asociovány se sloupci B, rovny nule. Položme zbývající složky x rovny příslušným složkám řešení soustavy Bx B = b. Takový vektor x nazveme bázickým bodem problému (6). Složky vektoru x korespondující k sloupcům B nazveme bázické proměnné. V dalším předpoklad: m < n a A má lineárně nezávislé řádky. Pokud je jedna nebo více bázických proměnných nulových, pak x nazveme degenerovaný bázický bod. Zajímají nás bázické přípustné body splňující navíc x 0. 14

Řešení a bázické přípustné body Věta (Základní věta lineárního programování) Uvažujme problém za podmínek min x R ct x n (7) Ax = b, x 0, kde A R m n, rank(a) = 0. Existuje-li přípustný bod splňující (7), pak existuje i bázický přípustný bod. Existuje-li řešení výše uvažovaného problému, pak existuje i řešení, které je bázickým přípustným bodem. Důsledek: Řešení problému lineárního programování stačí hledat mezi bázickými přípustnými body. 15

Geometrie úlohy Definice (extrémní bod) Nechť C R n je konvexní množina. Bod x C nazveme extrémním bodem množiny C, pokud neexistují dva různé body x 1 C a x 2 C takové, že x = αx 1 + (1 α)x 2 pro nějaké 0 < α < 1. Věta (ekvivalence extrémních a bázických přípustných bodů) Nechť A R m n, b R m, m < n, rank(a) = m. Nechť K je konvexní polytop (průnik poloprostorů) obsahující všechny vektory x R n splňující podmínky (7), Ax = b, x 0. Potom x je extrémním bodem K právě tehdy, je-li přípustným bázickým bodem. 16

Geometrie úlohy 17

Důsledky geometrické interpretace úlohy 1 Je-li konvexní množina K určená podmínkami Ax = b a x 0 neprázdná, pak má alespoň jeden extrémní bod. 2 Množina K určená podmínkami Ax = b a x 0 má nejvýše konečný počet extrémních bodů. 3 Je-li K omezená, pak je K mnohostěnem (polyhedronem), tj. je konvexní kombinací konečného počtu bodů. 18

Outline 1 Lineární programování 2 Optimalita a dualita 3 Geometrie úlohy 4 Simplexová metoda 19

Idea simplexové metody Idea: Procházet bázické přípustné body (jeden z nich je řešením). V každém proku je potřeba: zůstat v množině bázických přípustných bodů, snižovat hodnotu cílové funkce, umět detekovat případ, kdy je problém neomezený. 20

Formalismus výběru sloupců Ze sloupců matice A vybereme m, které jsou LN B. Označme B množinu indexů takových, že B = [a i ] i B, A B B. Dále označme N = {1, 2, 3,..., n} \ B a N = [a i ] i N, A N N. B nazveme množinou bázických a N nebázických indexů. Podle B a N lze rozdělit n-složkové vektory x, µ a c na x B [x i ] i B, x N [x i ] i N, c B [c i ] i B, c N [c i ] i N, µ B [µ i ] i B, µ N [µ i ] i N. 21

Idea dosazení do KKT Podle definic indexových množin B a N, a matic B a N je Ax = b Bx B + Nx N = b. x je dle definice bázickým bodem x B = B 1 b, x N = 0. Idea: Mějmě bázický přípustný bod x a příslušné indexové množiny. Dosaďme jej do KKT podmínek a volme ostatní parametry tak, aby byly KKT podmínky co nejlépe splněny. (Pokud se podaří nalézt x splňující KKT podmínky, máme řešení. 22

Dosazení bázického přípustného bodu do KKT podmínek Ax = b, x 0, µ T x = 0, c A T λ µ = 0, µ 0. x je přípustný bázický první dvě podmínky splněny a x N = 0. Volme µ B 0, potom x T µ = x T B µ B + x T N µ N = 0 třetí OK. Dopočítejme λ a µ N tak, aby byla splněna čtvrtá podmínka: c B B T λ µ B = 0 a c N N T λ µ N = 0. S využitím µ B = 0 dostaneme λ = B T c B a µ N = c N N T λ. Pokud µ N 0 pátá splněna a máme řešení. Pokud ne, využijeme záporné složky µ N k přesunu do lepšího bodu. 23

Formulace problému přesunu Máme bázický přípustný x a množiny indexů B, N. Chceme přesun tak, aby y byl bázický přípustný, x y aby byla lépe splněna podmínka nezápornosti µ, aby klesla cenová funkce, c T x c T y, aby došlo k výměně pouze jednoho indexu mezi B a N. Pivoting: Chceme určit vstupní index k N a výstupní index p B, zaměnit je, a určit příslušné bázické řešení y. 24

Určení vstupního a výstupního indexu Zvolme vstupní index k tak, že µ k < 0. a k je příslušný sloupec A. Nové y bude určitě splňovat y i = 0 pro i N, i k. Chceme Ay = b dosaďme, a proto Ay = By B + a k y k = b = Ax = Bx B, (8) y B = x B B 1 a }{{ k y } k. d Volme y k > 0 jako nejmenší kladné číslo takové, že je některá ze složek y B nulová. Index této nulové složky je výstupní index p. Geometricky: Pohyb po hraně přípustného mnohostěnu až dokud nedojdeme do dalšího vrcholu. 25

Jak krok (8) ovlivní c T x? jednoduchými algebraickými úpravami lze ukázat c T y = c T x + µ k y k. Víme, že µ k < 0. Je-li báze nedegenerovaná, je y k > 0 a µ k y k < 0. Věta Je-li lineární program (2) omezený a nedegenerovaný, pak simplexová metoda nalezne optimální řešení po konečné počtu kroků. 26

Krok simplexové metody Dáno B, N a x, x N = 0. Řešme B T λ = c B λ. Spočtěme µ N = c N N T λ. Pokud µ N 0 stop, máme řešení. Určeme vstupní index k tak, že µ k < 0. Řešme Bd = a k, získáme d = B 1 a k. Pokud d 0 stop, neomezený problém. Určeme y k a výstupní index p: (x B ) i y k min d i >0 d i a p je index, pro který nastává minimum. Aktualizace y B = x B dy k, y N = [0,..., 0, y k, 0,..., 0] T. Záměňme v B a N indexy k a p. 27

Krok simplexové metody 28