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

Podobné dokumenty
Obecná úloha lineárního programování

Lineární programování

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

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

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

Matematika pro informatiky

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.

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

4EK213 LINEÁRNÍ MODELY

1. července 2010

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

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

4EK213 LINEÁRNÍ MODELY

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.

6 Simplexová metoda: Principy

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

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

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

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

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

Soustavy lineárních rovnic

Parametrické programování

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

[1] Vzhledem ke zvolené bázi určujeme souřadnice vektorů...

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

Úvod do teorie her

Lineární programování(optimalizace) a soustavy lineárních nerovností

12. Lineární programování

2. kapitola: Euklidovské prostory

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

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.

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

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

Extrémy funkce dvou proměnných

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

11 Vzdálenost podprostorů

Soustavy linea rnı ch rovnic

13. Lineární programování

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

Báze a dimenze vektorových prostorů

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

1 Linearní prostory nad komplexními čísly

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

1 Soustavy lineárních rovnic

Lineární algebra : Metrická geometrie

3. ANTAGONISTICKÉ HRY

Soustavy lineárních rovnic

9 Kolmost vektorových podprostorů

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

VĚTY Z LINEÁRNÍ ALGEBRY

(Cramerovo pravidlo, determinanty, inverzní matice)

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

Ekonomická formulace. Matematický model

Vlastní číslo, vektor

Optimalizační metody Lineární programování a kombinatorická optimalizace

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

KMA/GPM Barycentrické souřadnice a

Základní pojmy teorie množin Vektorové prostory

15 Maticový a vektorový počet II

analytické geometrie v prostoru s počátkem 18. stol.

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A

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

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

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

Matice lineárních zobrazení

55. ročník matematické olympiády

ANTAGONISTICKE HRY 172

Matematika 2 pro PEF PaE

Definice : Definice :

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

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

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

Základy matematiky pro FEK

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

2 Spojité modely rozhodování

1 Determinanty a inverzní matice

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.

7. Lineární vektorové prostory

Cvičení z Lineární algebry 1

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

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

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

Vlastní čísla a vlastní vektory

0.1 Úvod do lineární algebry

10 Funkce více proměnných

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

19 Eukleidovský bodový prostor

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

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

1 Vektorové prostory.

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,

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

1 Lineární prostory a podprostory

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

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

Lineární zobrazení. V prvním z následujících tvrzení navíc uvidíme, že odtud plynou a jsou tedy pak rovněž splněny podmínky:

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

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

Numerické metody a programování. Lekce 8

Řešení. Hledaná dimenze je (podle definice) rovna hodnosti matice. a a 2 2 1

Transkript:

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

15 Základy lineárního programování Požadavky Simplexová metoda Věty o dualitě (bez důkazu) Lineární programování je označení pro úlohu maximalizovat jistou funkci n reálných proměnných na množině bodů polytopu v prostoru R n. Nejprve si udělejme malý výlet do geometrie. Polytop je zobecněním polygonu (mnohoúhelníku) do vyšších dimenzích. Pro dimenzi 3 se ale používá ještě speciální název polyhedron a pro dimenzi 4 polychoron. My se v dalším textu omezíme na konvexní polytopy, což jsou konvexní obaly konečně mnoha bodů. Vzhledem k tomu, že tyto konvexní polytopy jsou průnikem jistého množství poloprostorů, můžeme je popsat maticovou rovnicí tvaru Ax b, kde A je matice řádu m n a m je počet poloprostorů, jejichž průnikem je daný polytop, a n je dimenze podprostoru, ve kterém polytop máme. Simplex je n dimenzionální trojúhelník (průnik několika poloprostorů). Podle rostoucí dimenze je to tedy po řadě bod, úsečka, trojúhelník, čtyřstěn, pentachoron (viz obrázek 1) atd. Může být omezený i neomezený. Obr. 1: Pentachoron Nyní přistupme k formální definici úlohy lineárního programování. Úloha lineárního programování Je dán konvexní polytop v prostoru R n popsaný m nerovnostmi. Maticově to můžeme zapsat ve tvaru Ax b, kde A je reálná matice řádu m n a b je vektor m reálných čísel. Dále je dán vektor c R n. Funkce, kterou chceme maximalizovat, je n i=1 c ix i, neboli vektorově c T x. Ještě navíc hledáme pouze mezi body se všemi souřadnicemi nezápornými (tj. x i 0 pro i = 1,..., n). Terminologie 2

1. Vektoru c říkáme cenový vektor, funkci c T x pak účelová funkce. 2. Nerovnosti Ax b a x 0 jsou omezující podmínky, vektor b je pravá strana úlohy. 3. Konkrétní zadání úlohy lineárního programování (tj. matice A a vektory b, c) je přípustné, pokud existuje nějaký bod splňující x 0 a Ax b. Jinak je zadání nepřípustné. 4. Úloha je neomezená, pokud můžeme účelovou funkcí dosáhnout na přípustných bodech libovolně veliké hodnoty. Jinak je omezená. Věta Pro přípustnou a omezenou úlohu lineárního programování 1 existuje bod, ve kterém účelová funkce nabývá maxima. Těchto bodů obecně může být více a říkáme jim optimální řešení. 15.1 Simplexová metoda Simplexová metoda je označení pro algoritmus řešící úlohu lineárního programování. Byla publikována v roce 1947 jedním ze zakladatelů lineárního programování američanem Georgem Dantzigem. Idea Zkonstruujeme přípustné řešení v některém vrcholu polytopu. Poté jdeme po hranách do vrcholů s vyšší hodnotou účelové funkce. Omezující podmínku Ax b tedy změníme na Ax = b. Toho docílíme přidáním jedné nezáporné proměnné pro každou podmínku ( x < b je totiž ekvivalentní x + y = b kde y R + ). Tuto úpravu lze také zapsat jako A := (A I). Dále předpokládáme, že matice A má lineárně nezávislé řádky. Pro podmnožinu indexů I {1, 2,..., n} označme A I matici A, ze které ponecháme pouze sloupce, které jsou v I. Analogicky pro libovolný vektor w R n označme jako w I vektor, z něhož ponecháme jenom souřadnice z I (má dimenzi n I ). Báze (a to nemá nic společného s bází vektorového prostoru) je libovolná podmnožina indexů B {1, 2,..., n} taková, že matice A B je regulární. Navíc řekneme, že báze je přípustná, pokud rovnice A B x B = b má nezáporné řešení. Vektor x R n je tzv. bazické řešení 2, pokud existuje báze B taková, že A B x B = b a x i = 0 pro každé i {1, 2,..., m}\b. Poznamenejme jen, že bazické řešení ještě nemusí být přípustné. Je-li navíc i přípustné, říkáme mu přirozeně přípustné bazické řešení. Proměnným x j pro j B, kde B je báze, říkáme bazické. Věta Nechť x R n je přípustné řešení. Pak x je bazické řešení, právě když sloupce matice A odpovídající kladným proměnným jsou lineárně nezávislé. 1 Tedy existuje alespoň jedno řešení a účelová funkce je shora omezená. 3

Věta Nechť B je m prvková indexová množina B {1,..., n} a A B je regulární. Pak existuje nejvýše jedno přípustné bazické řešení x (x i 0 i B). Mezi první tvrzeními jsme uvedli, že má-li daná úloha lineárního programování nějaké přípustné řešení a je-li zároveň účelová funkce na množině přípustných řešení omezená, pak existuje optimální řešení (tj. nabývá se maxima). Dá se ale dokázat dokonce následující. Věta Má-li daná úloha optimální řešení, pak i některé bazické řešení je optimální. Tato věta má obrovskou důležitost, neboť je jasné, že bazických řešení je jen konečně mnoho. Ukažme si fungování simplexové metody na konkrétním příkladu. Příklad Maximalizujte funkci z(x 1,..., x 5 ) = x 1 + x 2 za omezujících podmínek x i 0 (i = 1,..., 5) a x 1 +x 2 +x 3 = 1 +x 1 +x 4 = 3 +x 2 +x 5 = 2 Řešení. Nejprve najdeme libovolné přípustné bazické řešení. Matice A a vektor b této úlohy jsou ze zadání 1 1 1 0 0 1 A = 1 0 0 1 0, b = 3 0 1 0 0 1 2 a m = 3, n = 5. Vidíme tedy, že jedním z bazických řešení je R 1 = (0, 0, 1, 3, 2) T. Odpovídající báze indexů je B = {3, 4, 5} (matice A B je jednotková, a tedy regulární). Na základě tohoto vytvoříme tzv. simplexovou tabulku (počáteční přípustnou tabulku) tak, že vyjádříme bazické proměnné pomocí nebazických a přidáme jeden řádek s vyjádřenou účelovou funkcí pomocí nebazických proměnných. x 3 = 1 +x 1 x 2 x 4 = 3 x 1 x 5 = 2 x 1 = (0, 0, 1, 3, 2) T, z = 0 2 z = x 1 +x 2 V bodě R 1 je z(r 1 ) = 0. Nyní budeme, jak bylo naznačeno, postupně zvyšovat hodnotu funkce z, dokud nezjistíme, že jsme nalezli optimální řešení. Hodnotu funkce z budeme zvětšovat zvětšením hodnoty některé nebazické (volné) proměnné. Ponechejme x 1 = 0 a zvětšeme x 2 z 0 na 1 (jednička je nejlepší možná, viz první rovnici a x 3 0). Pak pomocí tabulky dostaneme nové přípustné řešení, konkrétně R 2 = (0, 1, 0, 3, 1) T. Z první rovnice teď vyjádříme x 2 : x 2 = 1 + x 1 x 3 4

a nahradíme touto rovnicí původní první rovnici x 3 = 1 + x 1 x 2. Toto řešení odpovídá bázi B = {2, 4, 5}. Snadno zjistíme, že z(r 2 ) = 0+1 = 1. Nyní se stalo, že proměnná x 2 nahradila proměnnou x 3 v bázi. Tomuto procesu říkáme, že proměnná x 2 vstoupila do báze, x 3 z ní vystoupila. Dostáváme tak novou simplexovou tabulku x 2 = 1 +x 1 x 3 x 4 = 3 x 1 x 5 = 1 x 1 +x 2 = (0, 1, 0, 3, 1) T, z = 1 3 z = 1 +2x 1 x 3 Nyní budeme zvyšovat x 1. První rovnice x 1 neomezuje, druhá říká x 1 3 a třetí nyní říká x 1 1 (jelikož x 3 = 0). Položme tedy x 1 = 1. Dostáváme nové řešení R 3 = (1, 2, 0, 2, 0) T, z(r 3 ) = 3. Proměnná x 1 vstoupí do báze místo proměnná x 5. Nová báze je B = {1, 2, 4}. Dostáváme další simplexovou tabulku x 1 = 1 +x 3 x 5 x 2 = 2 x 5 x 4 = 2 x 3 +x 3 = (1, 2, 0, 2, 0) T, z = 3 5 z = 3 +x 3 2x 5 Zvětšíme x 3 z 0 na 2 (x 3 2 plyne ze třetí rovnice tabulky) a tím obdržíme další řešení R 4 = (3, 2, 2, 0, 0) T, báze je B = {1, 2, 3}, z(r 4 ) = 5. Odpovídající nová simplexová tabulka je x 1 = 3 x 4 x 2 = 2 x 5 x 3 = 2 x 4 +x 4 = (3, 2, 2, 0, 0) T, z = 5 5 z = 5 x 4 x 5 Nyní je jasné, že libovolné zvýšení volné proměnné x 4 nebo x 5 sníží hodnotu účelové funkce. Z konstrukce simplexové metody plyne, že řešení R 4 je již optimální, neboť jsme prováděli pouze ekvivalentní rovnicové úpravy. Optimálním řešením dané úlohy je tedy bod (3, 2, 2, 0, 0). Časová složitost simplexové metody je O(2 n ). Jeden z nejhorších případů můžeme vzít n dimenzionální krychli, která má přesně 2 n vrcholů. Na této krychli algoritmus může postupně navštívit všechny její vrcholy. Simplexová metoda nachází uplatnění převážně při řešení optimalizačních úloh v inženýrství nebo ekonomii. 15.2 Duální úloha Problém lineárního programování tak, jak byl popsán výše, označujeme jako primární. Ke každému primárnímu problému můžeme zkonstruovat duální úlohu. Připomeňme, že primární úloha byla najít max{c T x : x R n, Ax b, x 0}. 5

Duální úloha k této pak je najít min{b T y : y R m, A T y c, y 0}. Základem teorie duality lineárního programu jsou následující dvě věty (Slabá) věta o dualitě. Věta (Slabá věta o dualitě) Pokud je x přípustné řešení primární úlohy a y přípustné řešení duální úlohy, pak hodnota duální účelové funkce v bodě y je alespoň tak veliká jako hodnota primární účelové funkce v bodě x. Věta (Věta o dualitě) Nechť x je optimální řešení primární úlohy. Pak existuje optimální řešení y duální úlohy takové, že c T x = b T y. Duální úloha ze života... 6