Obsah Pouºité zna ení 1 1 Úvod 3 1.1 Opera ní výzkum a jeho disciplíny.......................... 3 1.2 Úlohy matematického programování......................... 3 1.3 Standardní maximaliza ní úloha lineárního programování............. 5 1.4 Gracké e²ení úloh se dv ma prom nnými..................... 6 1.5 Geometrický a algebraický popis mnoºiny p ípustných e²ení ÚLP........ 6 i
Pouºité zna ení Typogracké rozli²ení názv podle typu objektu a, f, x, i (malá písmena) skaláry ( ísla), funkce, prom nné, indexy X, N, B (velká písmena) mnoºiny (krom speciálních, viz níºe) x, b (malá tu ná písmena) vektory (vºdy sloupcové), reálné n-tice A, B (velká tu ná písmena) matice Speciální mnoºiny N p irozená ísla Z celá ísla Z + nezáporná celá ísla R reálná ísla R + nezáporná reálná ísla R ++ kladná reálná ísla R n mnoºina v²ech reálných n-tic (tj. n-rozm rný euklidovský prostor) Matice, vektory A m n matice A typu m n (pouºito v p ípad, ºe je t eba zd raznit typ matice) 0 m n nulová matice typu m n (tj. matice tvo ená samými nulami) I n jednotková matice typu n n A transpozice matice A A determinant matice A Zkratky Zkratky jsou vºdy zavedeny ve vlastním textu, tento seznam pouze slouºí pro rychlej²í orientaci. DP ESR LP MILP O P ÚLP Z dopravní problém ekvivalentní soustava rovnic lineární programování smí²ené celo íselné programování (mixed integer linear programming) optimální e²ení p ípustné e²ení úloha linaárního programování základní e²ení
Kapitola 1 Úvod 1.1 Opera ní výzkum a jeho disciplíny Nástroje studované a vyuºívané v rámci opera ního výzkumu: optimalizace, pravd podobnost a statistika, teorie graf, teorie front, simula ní modely. N které typické aplika ní oblasti: optimalizace produk ních systém, optimalizace v logistice, podpora rozhodování p i ízení projekt, modely ízení zásob, modely hromadné obsluhy. 1.2 Úlohy matematického programování Denice 1.1 (úloha matematického programování). Nech jsou dány: mnoºina X, ozna ovaná jako mnoºina p ípustných e²ení, funkce f : X R, ozna ovaná jako ú elová funkce. Úlohou matematického programování (ÚMP) pak ozna ujeme problém nalezení bu minima nebo maxima funkce f na mnoºin X. Mluvíme pak o minimaliza ní, resp. maximaliza ní ÚMP. P edchozí denice je trochu moc obecná, jako úlohu matematického programování lze v této podob formulovat i problémy, které jsou zavedeny velmi podivným zp sobem. Nap íklad úloha hledání královny krásy. V tomto p ípad máme mnoºinu X = ºeny, a funkci f : ºena krása R. Zpravidla proto vyºadujeme, aby X byla... podmnoºina n-rozm rného euklidovského prostoru, tj. X R n, vymezená pomocí soustavy rovnic a/nebo nerovností. P íklad 1.2 (koktejly). Cílem je namíchat co nejvíce koktejl podle recept z tabulky níºe. Záleºí pouze na celkovém po tu namíchaných koktejl, je nám zcela lhostejné, kolik z nich bude Mojito a kolik Cuba Libre.
4 Úvod Mojito Cuba libre 4 cl kubánského rumu 8 cl kubánského rumu 1 dl vody 2 dl Coca-coly 8 kostek ledu (t í² ) 2 kostky ledu 1 /2 limetky 1 /4 limetky 1 lºi ka cukru (t tinového) 3 lístky erstvé máty Disponibilní mnoºství surovin jsou následující: 100 cl kubánského rumu, 20 dl Coca-coly, 120 kostek ledu a 8 limetek; vody, cukru a máty je dostatek (nehrozí, ºe dojdou). Celkem vzato, m ºeme úlohu popsat následujícím zp sobem: maximalizovat Mojito + Cuba Libre za podmínek 4 Mojito + 8 Cuba Libre 100, 2 Cuba Libre 20, 8 Mojito + 2 Cuba Libre 120, 1 /2 Mojito + 1 /4 Cuba Libre 8, Mojito, Cuba Libre 0. V tomto p ípad je X mnoºina v²ech kombinací po t koktejl Mojito a Cuba Libre, které jsme schopni p i daných zásobách namíchat ( ili kombinací hodnot prom nných Mojito a Cuba Libre, které sou asn spl ují v²echny vý²e uvedené omezující podmínky). Formáln je tedy X R 2, vymezená pomocí soustavy lineárních nerovnic o dvou prom nných. Denice 1.3 (standardní ÚMP). Nech jsou dána reálná ísla b 1,..., b m a reálné funkce f, g 1,..., g m : R n R. Standardní úlohou matematického programování rozumíme úlohu ve tvaru maximalizovat f(x 1,..., x n ) za podmínek g 1 (x 1,..., x n ) b 1, g 2 (x 1,..., x n ) b 2,. g m (x 1,..., x n ) b m, (x 1,..., x n ) R n, kde p edstavuje zástupný symbol za jedno z rela ních znamének, = nebo. Poznámka (ke zna ení). Matematik m zpravidla p ipadá obecný zápis ÚMP v podob (1.1) p íli² upovídaný. Nabízí se psát: maximalizovat f(x 1,..., x n ) za podmínek g i (x 1,..., x n ) b i, i = 1,..., m, (x 1,..., x n ) R n. Lze také zavést vektor ( i chcete-li, n-tici) x = (x 1,..., x n ) a psát maximalizovat f(x) za podmínek g i (x) b i, i = 1,..., m, x R n. nebo nejstru n ji (ale pon kud mén p ehledn ) max{f(x) x R n, g i (x) b i, i = 1,..., m}. Poznámka (klasikace ÚMP). Podle toho, jaké dodate né poºadavky klademe na funkce f a g i, rozli²ujeme r zné t ídy ÚMP, které se zna n li²í co do sloºitosti pouºívaných výpo etních technik: lineární programování, (1.1)
1.3 Standardní maximaliza ní úloha lineárního programování 5 kvadratické programování, konvexní programování, nelineární programování,... a dal²í. Zdaleka nejjednodu²²í t ídou je lineární programování; spadá sem nap. matematický model pro p íklad Koktejly. Denice 1.4 (lineární reálná funkce). M jme reálnou funkci f : R n R. ekneme, ºe f je lineární, pokud lze f vyjád it na R n p edpisem pro n jaká reálná ísla c 1,..., c n. f(x 1,..., x n ) = c 1 x 1 +... + c n x n Denice 1.5 (úloha lineárního programování). Úlohu ve tvaru (1.1), ve které jsou navíc v²echny funkce f, g 1,..., g m lineární, nazveme (maximaliza ní) úlohou lineárního programování (ÚLP). 1.3 Standardní maximaliza ní úloha lineárního programování Denice 1.6 (standardní maximaliza ní ÚLP). M jme dány reálné koecienty a ij, b i a c j a prom nné x j pro i = 1,..., m a j = 1,..., n, které budeme p ípadn zapisovat do matice A a vektor b, c a x ve tvaru a 11 a 12 a 1n b 1 c 1 x 1 a 21 a 22 a 2n A =......, b = b 2., c = c 2., x = x 2.. a m1 a m2 a mn b m c n x n Standardní maximaliza ní úlohou lineárního programování rozumíme problém maximalizovat c 1 x 1 + c 2 x 2 +... + c n x n za podmínek 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,. a m1 x 1 + a m2 x 2 +... + a mn x n b m, x j 0, j = 1,..., n, (1.2) kde x 1, x 2,..., x n jsou reálné prom nné. Za pouºití suma ního operátoru a indexace omezení lze (1.2) vyjád it ekvivalentn jako maximalizovat za podmínek n j=1 c j x j n j=1 a ij x j b i, i = 1,..., m, x j 0, j = 1,..., n, (1.3) p ípadn v maticovém zápisu je²t úsporn ji jako p íp. zcela krátce jako problém nalezení maximalizovat c x za podmínek Ax b, x 0, (1.4) max{c x Ax b, x 0}.
6 Úvod P íklad 1.7. V p íkladu Koktejly bychom zapsali 4 8 100 [ ] A = 0 2 8 2, b = 20 1 120, c =, x = 1 1/2 1/4 8 [ ] Mojito. Cuba Libre P íklad 1.8. K úloze minimalizovat 2u + v 4w za podmínek 5(u v) 2(v w) 6v + 1, 2u + v 2w 2, 3u v + 2w = 3, u, v 0, w R najdeme ekvivalentní ÚLP ve standardním maximaliza ním tvaru. Jedno z moºných e²ení vypadá následovn : maximalizovat 2x 1 x 2 + 4x 3 4x 4 za podmínek 5x 1 x 2 + 2x 3 2x 4 1, 2x 1 x 2 + 2x 3 2x 4 2, 3x 1 x 2 + 2x 3 2x 4 3, 3x 1 + x 2 2x 3 + 2x 4 3, x j 0 pro j = 1,..., 4, p i emº mezi prom nnými obou model je následující vztah: u = x 1, v = x 2 a w = x 3 x 4. Lemma 1.9 (o univerzálnosti standardní maximaliza ní ÚLP). Ke kaºdé ÚLP lze najít ekvivalentní úlohu ve tvaru standardní maximaliza ní ÚLP, tj. úlohu, která je maximaliza ní, má v²echna omezení typu a v²echny její prom nné jsou nezáporné. 1.4 Gracké e²ení úloh se dv ma prom nnými Viz p edná²ky. 1.5 Geometrický a algebraický popis mnoºiny p ípustných e²ení ÚLP Denice 1.10 (konvexní kombinace v R n ). který lze vyjád it ve tvaru Konvexní kombinací bod x 1,..., x k v R n je bod, α 1 x 1 +... + α k x k, kde α 1,..., α k jsou nezáporná reálná ísla spl ující α 1 +... + α k = 1. P íklad 1.11. Konvexní kombinaci dvou bod x, y m ºeme zapsat ve tvaru αx + (1 α)y pro n jaké α [0, 1]. Geometricky vzato, konvexní kombinace dvou bod v euklidovském prostoru je bod na úse ce mezi nimi. Obrázek 1.1 ilustruje výsledek r zné hodnoty α. Denice 1.12 (konvexní mnoºina). ekneme, ºe mnoºina X R n je konvexní, je-li uzav ená na konvexní kombinace, tj. pokud libovolná konvexní kombinace libovolných bod x 1,..., x k X leºí v X. P íklad 1.13. P íkladem konvexních mnoºin v rovin jsou nap íklad tverec, kruh, nebo úse ka. P íklady nekonvexních mnoºin ukazuje obrázek 1.2.
1.5 Geometrický a algebraický popis mnoºiny p ípustných e²ení ÚLP 7 α = 1 x α = 0.75 α = 0.5 α = 0.25 α = 0 y Obrázek 1.1 R zné konvexní kombinace bod x, y. x 1 x 2 X Y Z Obrázek 1.2 P íklady nekonvexních mnoºin X, Y, Z. Úse ka mezi body x 1, x 2 X není obsaºena v mnoºin X, tedy existuje konvexní kombinace t chto bod, která nenáleºí X. Mnoºina Z je tvo ena p ti izolovanými body. Denice 1.14 (konvexní obal). Konvexním obalem mnoºiny X R n rozumíme mnoºinu v²ech konvexních kombinací kone ných podmnoºin X, neboli mnoºinu conv(x) = { k i=1 α ix i xi X, α i 0 pro i = 1,..., k, k i=1 α i = 1, k N }. Poznámka. Snadno nahlédneme, ºe konvexní obal mnoºiny X je nejmen²í konvexní mnoºina, která obsahuje X. (D kaz tohoto tvrzení p enechávám tená i jako cvi ení.) V p ípad, ºe X je konvexní mnoºina, je z ejm conv(x) = X. P íklady konvexních obal nekonvexních mnoºin zachycuje obrázek 1.3. conv(y ) conv(z) Obrázek 1.3 Konvexní obaly mnoºin X, Y, Z z obrázku 1.2. Denice 1.15 (konvexní polyedr, omezený). ekneme, ºe mnoºina X R n je omezený konvexní polyedr (nebo téº polytop), lze-li X vyjád it jako konvexní obal kone né mnoºiny bod z R. Denice 1.16 (krajní bod). Bod x X R n nazveme krajním bodem mnoºiny X, pokud x není konvexní kombinací dvou jiných bod z X, tj. pokud neexistují y 1, y 2 X a α (0, 1) takové, ºe y 1 x y 2 a αy 1 + (1 α)y 2 = x. P íklad 1.17. Ur ete krajní body p ticípé hv zdy, tverce a kruhu. Které z t chto mnoºin jsou omezené konvexní polyedry?
8 Úvod Lemma 1.18 (o extrému lineární funkce na omezeném konvexním polyedru). Lineární funkce nabývá svého extrému na omezeném konvexním polyedru v n kterém z jeho krajních bod. Denice 1.19 (uzav ený poloprostor v R n ). ekneme, ºe mnoºina X R n je uzav ený poloprostor v R n, lze-li X vyjád it jako mnoºinu v²ech e²ení n jaké (netriviální) lineární nerovnice, tj. existují-li reálná ísla a 1,..., a n, ne v²echna nulová, a íslo b, pro n º platí X = { (x 1,..., x n ) R n a1 x 1 +... + a n x n b }. Denice 1.20 (konvexní polyedr, ne nutn omezený). ekneme, ºe mnoºina X R n je konvexní polyedr, lze-li X vyjád it jako pr nik kone n mnoha uzav ených poloprostor. Zdánliv se tato denice velmi li²í od denice omezeného konvexního polyedru uvedené vý²e. Jak ale postupn ukáºeme, mezi ob ma denicemi je t sná souvislost. Zatímco omezený konvexní polyedr lze vyjád it jako konvexní obal jeho vrchol, neomezený kovexní polyedr m ºeme podobn popsat pomocí jeho vrchol a p ípustných sm r (viz níºe). Budeme k tomu ale pot ebovat je²t n kolik pojm. Poznámka (o geometrické interpretaci reálných n-tic). Reálnou n-tici m ºeme chápat bu jako bod v euklidovském prostoru, který pro nás zachycuje n jaký údaj o poloze, nebo jako sm r, který nese informaci o posunu; viz obrázek 1.4. (0, 0) y x y (0, 0) x Obrázek 1.4 Reálné dvojice x = (3, 1) a y = (1, 2) interpretovány jako body (vlevo) a sm ry (vpravo). Denice 1.21 (kónická kombinace, kónický obal). sm r, který lze vyjád it ve tvaru β 1 x 1 +... + β k x k, Kónickou kombinací sm r x 1,..., x k v R n je kde β 1,..., β k jsou nezáporná reálná ísla. Kónickým obalem mnoºiny X R n rozumíme mno- ºinu v²ech kónických kombinací kone ných podmnoºin X, neboli mnoºinu con(x) = { k i=1 β ix i xi X, β i 0 pro i = 1,..., k, k N }. P íklad 1.22. Obrázek 1.5 ilustruje pojem kónického obalu na p íkladu t í sm r v R 2. x 2 x 3 (0, 0) x 1 (0, 0) Obrázek 1.5 T i sm ry x 1, x 1, x 3 R 2 (vlevo) a jejich kónický obal (vpravo).
1.5 Geometrický a algebraický popis mnoºiny p ípustných e²ení ÚLP 9 V ta 1.23 (o reprezentaci konvexního polyedru pomocí vrchol a krajních p ípustných sm r ). Konvexní polyedr X R n lze reprezentovat pomocí kone né mnoºiny bod V = {v 1,..., v k } R n a mnoºiny sm r S = {s 1,..., s l } R n v tom smyslu, ºe libovolný bod z X lze vyjád it jako sou et konvexní kombinace prvk V a kónické kombinace prvk S, tj. X = { k i=1 α iv i + l j=1 β j s j αi 0, β j 0, k i=1 α i = 1 }. Navíc platí, ºe za V lze volit mnoºinu krajních bod (vrchol ) X, a podobn kaºdá mnoºina V spl ující vý²e uvedené tvrzení nutn obsahuje mnoºinu vrchol. Dále, z kaºdé mnoºiny S spl ující vý²e uvedené tvrzení lze vybrat mnoºinu s nejmen²ím po tem prvk (krajní p ípustné sm ry), která je ur ena jednozna n aº na kladné násobky.