13. Lineární programování

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

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

4EK213 LINEÁRNÍ MODELY

Lineární programování

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.

1. července 2010

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

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

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

Základy matematiky pro FEK

Ekonomická formulace. Matematický model

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

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

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

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

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

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

Soustavy linea rnı ch rovnic

IB112 Základy matematiky

Soustavy lineárních rovnic

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

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

0.1 Úvod do lineární algebry

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.

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

Soustavy lineárních rovnic

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

2 Spojité modely rozhodování

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

0.1 Úvod do lineární algebry

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

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

SOUSTAVY LINEÁRNÍCH ROVNIC

17 Kuželosečky a přímky

Cvičení z Numerických metod I - 12.týden

12. Globální metody MI-PAA

Parametrické programování

1 Soustavy lineárních rovnic

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

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

1 Linearní prostory nad komplexními čísly

Operace s maticemi. 19. února 2018

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

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

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

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

1 Duální simplexová metoda

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

Lineární algebra. Soustavy lineárních rovnic

(Cramerovo pravidlo, determinanty, inverzní matice)

Aplikovaná numerická matematika - ANM

Vlastní číslo, vektor

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

NALG 001 Lineární algebra a geometrie 1, zimní semestr MFF UK Doba řešení: 3 hodiny

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

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

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

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy

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

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

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

Základy spojité optimalizace

Matematika 2 pro PEF PaE

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 Determinanty a inverzní matice

Konvexní množiny Formulace úloh lineárního programování. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

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

11. Skalární součin a ortogonalita p. 1/16

Aplikovaná numerická matematika

6 Simplexová metoda: Principy

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Výběr báze. u n. a 1 u 1

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

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

Matematika. Kamila Hasilová. Matematika 1/34

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

Kvadratickou funkcí se nazývá každá funkce, která je daná rovnicí. Definičním oborem kvadratické funkce je množina reálných čísel.

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

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

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

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

Princip řešení soustavy rovnic

Lineární algebra : Metrická geometrie

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

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

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

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

11 Vzdálenost podprostorů

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

7. přednáška Systémová analýza a modelování. Přiřazovací problém

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

Numerické metody a programování. Lekce 8

EUKLIDOVSKÉ PROSTORY

Obecná úloha lineárního programování. Úloha LP a konvexní množiny Grafická metoda. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

Přiřazovací problém. Přednáška č. 7

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

Transkript:

Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 13. Lineární programování Formulace Prostor řešení a simplexová metoda Celočíselné lineární programování

Terminologie Programování : čti programování výrobní linky Lineární : čti při omezujících podmínkách a optimalizačním kritériu vyjádřených lineárními výrazy (také kvadratické, hyperbolické programování) Dynamické programování : programování výpočtu kombinatorického problému 2

Formulace Dána reálná čísla a 11... a mn, b 1... b m, c 1... c n Nalezněte reálná x 1, x 2,..., x n tak, aby c 1 x 1 + c 2 x 2 +... + c n x n max. c T x max. za podmínky a 11 x 1 + a 12 x 2 +... + a 1n x n b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n b 2 Ax b a m1 x 1 + a m2 x 2 +... + a mn x n b m x 1 0, x 2 0,..., x n 0 x 0 3

Příklady Výrobní problémy nechť a ij je spotřeba materiálu i pro výrobek j nechť b i jsou dostupné zdroje materiálu i nechť c j je zisk z výroby jednotkového množství výrobku j maximalizace zisku z využití daných zdrojů Směšovací problémy minimalizace nákladů na dosažení stanoveného cíle 4

Příklad Moret & Shapiro x výroba světlého piva, hl y výroba tmavého piva, hl 21x + 31y max. 2x + 3y 25 4x + y 32 2x + 9y 54 x 0, y 0 Pivovar vaří světlé a tmavé pivo. Na 1hl světlého piva je potřebí 2 jednotky sladu, 4 jednotky chmele a 2 jednotky kvasnic. Na 1hl tmavého piva jsou potřebí 3 jednotky sladu, 1 jednotka chmele a 9 jednotek kvasnic. Zisk z prodeje světlého a tmavého piva je v poměru 21:31. Je k dispozici 25 jednotek sladu, 32 jednotek chmele a 54 jednotek kvasnic. Jaký má být výrobní program pro maximální zisk? 5

Lineární programování a kombinatorické problémy x A, b, c Ax b x 0 konfigurační a výstupní proměnné vstupní proměnné omezující podmínky c T x max. optimalizační kritérium a přece se netočí není to kombinatorický problém 6

Tvary lineárního programování c T x max. c T x max. Ax b x 0 c T x max. Ax = b x 0 Ax = b x 0 kanonický tvar standardní tvar obecný tvar formulace základních úloh metody řešení praxe 7

Ekvivalence zvláštní případ standardní tvar ukážeme zvláštní případ obecný tvar ukážeme kanonický tvar 8

Ekvivalence obecný x j 0 původní rovnice obecný kanonický x j = x j+ - x j - x j + 0 x j - 0 standardní nová rovnice nové proměnné nechť a (i) je i-tý řádek matice A a (i) x b i a (i) x = b i -a (i) x -b i původní rovnice nové rovnice a (i) x + s i = b i a (i) x s i = b i a (i) x b i a (i) x b i s i 0 s i 0 9

Jak vypadá prostor řešení? Příklad x 1 x 2 x 3 x 4 x 5 x 6 x 7 max. x 1 + x 2 + x 3 + x 4 = 4 x 1 + x 5 = 2 x 3 + x 6 = 3 3x 2 + x 3 + x 7 = 6 x 1, x 2, x 3, x 4, x 5, x 6, x 7 0 m=4 rovnic pro n=7 proměnných n-m=3 proměnné volné nějaký útvar v E 3 10

Prostor řešení x 1 + x 2 + x 3 + x 4 = 4 x 1 + x 5 = 2 x 3 + x 6 = 3 3x 2 + x 3 + x 7 = 6 x 1, x 2, x 3, x 4, x 5, x 6, x 7 0 x 4, x 5, x 6, x 7 0 x 1 + x 2 + x 3 4 x 1 2 x 3 3 3x 2 + x 3 6 x 1 0 x 2 0 x 3 0 11

0,1,3 0,0,3 x 3 1,0,3 Geometrický názor 2,0,2 x 2 0,0,0 x 1 2,0,0 0,2,0 2,2,0 dva průsečíky splynuly v jeden 12

Prostor řešení Konvexní těleso y 1, y 2,... y k řešení 1 y 1 + 2 y 2 +... + k y k je řešení, pokud 1+ 2 +... + k =1 13

Optimalizační kritérium x 1 + x 2 + x 3 + x 4 = 4 x 1 + x 5 = 2 x 3 + x 6 = 3 3x 2 + x 3 + x 7 = 6 x 1 x 2 x 3 x 4 x 5 x 6 x 7 max x 1 + 3x 2 + 2x 3 15 x 1 + 3x 2 + 2x 3 15 = z max geometrická reprezentace? 14

0,1,3 0,0,3 1,0,3 x 1 + 3x 2 + 2x 3 15 = z x 3 2,0,2 0,0,0 2,0,0 x 1 x 2 0,2,0 2,2,0 z = 15 15

0,1,3 0,0,3 1,0,3 x 1 + 3x 2 + 2x 3 15 = z x 3 2,0,2 0,0,0 x 1 2,0,0 x 2 0,2,0 2,2,0 z = 13 16

0,1,3 0,0,3 1,0,3 x 1 + 3x 2 + 2x 3 15 = z x 3 2,0,2 0,0,0 2,0,0 x 1 x 2 0,2,0 2,2,0 z = 9 17

0,1,3 0,0,3 1,0,3 x 1 + 3x 2 + 2x 3 15 = z x 3 2,0,2 0,0,0 x 1 2,0,0 x 2 0,2,0 2,2,0 z = 6 18

Počet řešení Prostor řešení je konvexní těleso Dotyk svazku (nad-)rovin s prostorem řešení je bod (vrchol) úsečka (hrana) (nad-)rovina (stěna) Pokud nežádáme všechna řešení, stačí se zabývat jen vrcholy Nejsou žádná lokální minima Stačí aplikovat lokální prohledávání (například pouze nejlepší ) na množinu vrcholů Ale kde najdeme vrcholy? 19

0,1,3 6 0,0,3 9 8 x 3 1,0,3 9 2,0,2 0,0,0 x 1 2,0,0 15 13 x 2 0,2,0 2,2,0 9 7 20

Báze a bázová řešení a (1) a (2) a (3) a (4) a (5) a (6) a (7) x 1 + x 2 + x 3 + x 4 = 4 x 1 + x 5 = 2 x 3 + x 6 = 3 3x 2 + x 3 + x 7 = 6 nechť a (i) je i-tý sloupec matice A Nejméně n-m sloupců lineárně závislých Volbou m lineárně nezávislých sloupců volíme bázi Všechny proměnné, které neodpovídají sloupcům báze, položíme rovny nule a řešíme zbylou soustavu Dostaneme bázové řešení 21

Báze a bázová řešení a (1) a (2) a (3) a (4) a (5) a (6) a (7) x 1 + x 2 + x 3 + x 4 = 4 x 1 + x 5 = 2 x 3 + x 6 = 3 3x 2 + x 3 + x 7 = 6 B = (a (4) a (5) a (6) a (7) ) x 1 =x 2 =x 3 =0 (0 0 0 4 2 3 6) B = (a (1) a (2) a (3) a (6) ) x 4 =x 5 =x 7 =0 (2 2 0 0 0 3 0) B = (a (1) a (2) a (4) a (6) ) x 3 =x 5 =x 7 =0 (2 2 0 0 0 3 0) dvojitý bod (více než 3 nuly) B = (a (2) a (5) a (6) a (7) ) x 1 =x 3 =x 4 =0 (0 4 0 0 2 3 6) tato báze neodpovídá žádnému řešení 22

Přechod mezi bázemi Každému vrcholu odpovídá nějaká báze Máme bázi B = (a (B1), a (B2),..., a (Bm) ) a odpovídající bázové řešení x Vybereme si sloupec a (j), který v bázi není a chceme jej tam mít Který sloupec vypadne? 23

Přechod mezi bázemi B = (a (B1), a (B2),..., a (Bm) ), odpovídající bázové řešení x Sloupec a (j) musí být lineární kombinací sloupců báze (s nějakými koeficienty t ij ) a (j) = m i=1 t ij a (Bi) protože x je řešení a protože proměnné, které neodpovídají sloupcům báze, jsou nulové. > 0 m i=1 m i=1 x i a (Bi) = b rovnice pohybu z původního vrcholu do nového (x i t ij ) a (Bi) + a (j) = b 24

Přechod mezi bázemi B = (a (1) a (3) a (6) a (7) ) (2 0 2 0 0 1 4) a (1) a (2) a (3) a (4) a (5) a (6) a (7) x 1 + x 2 + x 3 + x 4 = 4 x 1 + x 5 = 2 x 3 +x 6 = 3 3x 2 + x 3 +x 7 = 6 chci a (5) do báze a (5) = a (1) - a (3) + a (6) + a (7) t 15 =1 t 25 = 1 t 35 =1 t 45 =1 Jestliže (vhodně uspořádané) sloupce báze tvoří jednotkovou matici, můžeme koeficienty t ij číst přímo budeme v tomto tvaru matici udržovat Gaussovou eliminací 25

Přechod mezi bázemi B = (a (1) a (3) a (6) a (7) ) (2 0 2 0 0 1 4) a (1) a (2) a (3) a (4) a (5) a (6) a (7) x 1 + x 2 + x 3 + x 4 = 4 x 1 + x 5 = 2 x 3 +x 6 = 3 3x 2 + x 3 +x 7 = 6 a (5) = a (1) - a (3) + a (6) + a (7) t 15 =1 t 25 = 1 t 35 =1 t 45 =1 (2 1. ) a (1) +(2+1. ) a (3) + (1 1. ) a (6) + (4 1. ) a (7) + a (5) = b s rostoucím se tento člen vynuluje nejdříve max=1 a(6) opouští bázi (1 0 3 0 1 0 3) 26

6 0,1,3,0,2,0,0 9 8 0,0,3,1,2,0,3 x 3 1,0,3,0,1,0,3 9 =1 2,0,2,0,0,1,4 =0 15 13 0,0,0,4,2,3,6 x 1 2,0,0,2,0,3,6 x 2 0,2,0,2,2,3,0 2,2,0,0,0,3,0 9 7 27

Který sloupec? B = (a (B1), a (B2),..., a (Bm) ), odpovídající bázové z= a (j) = m i=1 m i=1 x i c Bi t ij a (Bi) cena řešení x (proměnné, které nepřísluší sloupci báze, jsou nulové) proměnné ve sloupcích, příslušejících bázi, redukovány o t ij z = j max (c j m i=1 t ij c Bi ) změna ceny při zavedení sloupce j do báze Zavést sloupec, pro který je z nejlepší nebo aspoň kladné. Neexistuje-li, konec (globální optimum) 28

Tabulky simplexové metody hodnota optimalizačního kritéria c -1-1 -1-1 -1-1 -1-1 0 0. řádek 0 1 1 1 1 0 0 0 4 0 1 0 0 0 1 0 0 2 0 0 0 1 0 0 1 0 3 0 0 3 1 0 0 0 1 6 A b myšlený sloupec pro proměnnou z 29

Řešení příkladu simplexovou metodou 1 na j-té pozici dostaneme m i=1 t ij c Bi Gaussovou eliminací přivedeme 0 ve sloupcích báze 1 3 2 0 0 0 0 15 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 3 1 0 0 0 1 4 2 3 6 jednotková podmatice báze (nemusíme hledat) 30

Co dál? 2 do báze max z báze c j t ij c i z z a (1) 2 a (5) -1 1 2-13 a (2) 2 a (7) -1 3 6-9 a (3) 3 a (6) -1 2 6-9 Nejrychlejší vzestup dostaneme pro a (2) a a (3) Klasická simplexová metoda rozhoduje jen podle t ij c i, není tedy metodou pouze nejlepší Dostaneme a (2) do báze 31

a (2) v bázi 3 báze a (2) a (4) a (5) a (6), bázové řešení: 0 2 0 2 2 3 0 1 0 1 0 0 0-1 9 1 0 2 / 3 1 0 0-1 / 3 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 / 3 0 0 0 1 / 3 2 2 3 2 vybereme a (3) do báze, bázi opouští a (6), bázové řešení 0 1 3 0 2 0 0 výběr a (1) do báze vede k 2 2 0 0 3 0 0 32

a (3) v bázi 4 báze a (2) a (3) a (4) a (5), bázové řešení: 0 1 3 0 2 0 0 1 0 0 0 0-1 -1 6 1 0 0 1 0-2 / 3 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0-1 / 1 3 / 3 0 2 3 1 Toto by mělo být optimum, avšak kladný koeficient 1. členu 0. řádku nás navádí k přivedení a (1) do báze 33

a (1) v bázi 5 báze a (1) a (2) a (3) a (5), bázové řešení: 0 1 3 0 2 0 0 0 0 0-1 0-1 / 3-1 6 1 0 0 1 0-2 / 3 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0-1 / 1 3 / 3 0 2 3 1 Tato báze odpovídá stejnému bodu jako předchozí (je dvojitý). V 0. řádku není žádný kladný koeficient, víme, že jsme v optimu 34

Simplexová metoda - složitost možných bází je m n existují instance, na kterých simplexová metoda tyto báze skutečně prohledá existují polynomiální metody řešení 35

Celočíselné lineární programování A, b, c celočíselné x celočíselné x {0, 1}: 0/1 lineární programování (zvl. případ) Problém batohu je zvláštním případem 0/1 lineárního programování Problém batohu je NP-těžký Problém celočíselného lineárního programování je NP-těžký Řešení celočíselné úlohy má vždy horší optimalizační kritérium než řešení relaxované úlohy v oboru reálných čísel 36

Příklad Moret & Shapiro x výroba světlého piva, hl y výroba tmavého piva, hl 21x + 31y max. 2x + 3y 25 4x + y 32 2x + 9y 54 x 0, y 0 Pivovar vaří světlé a tmavé pivo. Na 1hl světlého piva je potřebí 2 jednotky sladu, 4 jednotky chmele a 2 jednotky kvasnic. Na 1hl tmavého piva jsou potřebí 3 jednotky sladu, 1 jednotka chmele a 9 jednotek kvasnic. Zisk z prodeje světlého a tmavého piva je v poměru 21:31. Je k dispozici 25 jednotek sladu, 32 jednotek chmele a 54 jednotek kvasnic. Jaký má být výrobní program pro maximální zisk? 37

Příklad hl 2x+3y=25 4x+y=32 21x+31y = z (7,1 3,6) 2x+9y=54 1 5 10 hl 38

Příklad, pokračování Moret & Shapiro x výroba světlého piva, sudů y výroba tmavého piva, sudů 21x + 31y max. 2x + 3y 25 4x + y 32 2x + 9y 54 Pivo se prodává ve 100l sudech. x 0, y 0 x, y celé 39

2x+3y=25 4x+y=32 229 250 260,7 2x+9y=54 240 1 5 40

Metoda sečných nadrovin 229 250 260,7 přídavná omezení, volená tak, aby některé neceločíselné vrcholy byly vyloučeny 240 1 5 41

Metoda větví a hranic (7,25 3) 245,25 y 3 máme lepší původní úloha y 4 (6,5 4) 260,5 (7,1 3,6) 260,7; x 7 x 8 x 6 x 7 (4 6) nemá není třeba zkoumat, 250 řešení budou horší než 245,25 prohledávat prostor úloh tak, aby prořezávání eliminovalo co nejvíce větví 42

Duální úloha otoč co můžeš c T x max. b T y min. Ax b A T y c x 0 y 0 Věty: x,y řešení c T x b T y x,y optimální řešení c T x = b T y 43