DIPLOMOVÁ PRÁCE. Petra Váchová Lineární programování ve výuce na střední

Rozměr: px
Začít zobrazení ze stránky:

Download "DIPLOMOVÁ PRÁCE. Petra Váchová Lineární programování ve výuce na střední"

Transkript

1 Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Petra Váchová Lineární programování ve výuce na střední škole Katedra didaktiky matematiky Vedoucí diplomové práce: RNDr. Pavla Pavlíková, Ph.D. Studijní program: Fyzika, Učitelství fyziky-matematiky pro střední školy 200

2 Ráda bych zde poděkovala všem, kteří mě podpořili při psaní této diplomové práce. Zvláštní poděkování patří RNDr. Pavle Pavlíkové, Ph.D. za odborné vedení a poskytnutí množství cenných rad a návrhů. Prohlašuji, že jsem svou diplomovou práci napsala samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce. V Praze dne Petra Váchová 2

3 Obsah Úvod 6 Lineární programování v učebnicích SŠ matematiky 8 Matice 0. Operace s maticemi Hodnost matice Soustavy lineárních rovnic a nerovnic 7 2. Řešení soustav lineárních rovnic Řešení soustav lineárních nerovnic Grafické řešení soustav lineárních nerovnic o dvou neznámých 27 3 Lineární programování Úloha lineárního programování Řešení úloh lineárního programování Grafické řešení Simplexová metoda Dvoufázová simplexová metoda Řešení pomocí programu Maple Řešení pomocí programu MS Excel Základní typy úloh lineárního programování Dopravní problém Směšovací problém Výrobní problém Řezný problém Příklady 86 3

4 Závěr 4 Literatura 5 4

5 Název práce: Lineární programování ve výuce na střední škole Autor: Petra Váchová Katedra (ústav): Katedra didaktiky matematiky Vedoucí diplomové práce: RNDr. Pavla Pavlíková, Ph.D. vedoucího: Abstrakt: Cílem této diplomové práce je přiblížit problematiku lineárního programování středoškolským studentům a široké veřejnosti. Práce definuje úlohu lineárního programování a představuje dvě základní metody jejího řešení (grafické řešení a simplexovou metodu). Dále ukazuje, jak řešit optimalizační úlohy pomocí programů Maple a MS Excel. Součástí textu je rovněž sbírka slovních úloh na lineární programování. Nejprve se však čtenář seznámí s maticemi a způsoby řešení soustav lineárních rovnic a nerovnic. Klíčová slova: matice, soustavy lineárních rovnic a nerovnic, lineární programování, simplexová metoda Title: Linear Programming in Teaching at Secondary School Author: Petra Váchová Department: Department of Mathematics Education Supervisor: RNDr. Pavla Pavlíková, Ph.D. Supervisor s address: Pavla.Pavlikova@vscht.cz Abstract: The aim of this thesis is to approach the problems of linear programming school students and the general public. The thesis defines problem of linear programming and it presents two main solving methods (graphical solution and simplex method). In addition, it shows how to solve optimization problems with programs Maple and MS Excel. Part of the text is also a collection of word problems on linear programming. First, however, the reader becomes familiar with matrix and methods for solving systems of linear equations and inequalities. Keywords: matrix, systems of linear equations and inequalities, linear programming, simplex method 5

6 Úvod Lineární programování má již dlouholetou historii. Jeho počátky sahají až do první poloviny 20. století. Za tu dobu si získalo široké uplatnění v praxi. Používá se především k řešení nejrůznějších ekonomických problémů, setkáme se s ním však i v mnoha jiných oblastech vědy a techniky. Zřejmě proto se metody lineárního programování vyučují na širokém spektru vysokých škol. Hlavním cílem této práce je seznámit s problematikou lineárního programování středoškolské studenty, ale i širokou veřejnost se zájmem o matematiku a ekonomii. Jediným předpokladem pro studium tohoto textu je znalost středoškolské matematiky, především pojmů z analytické geometrie (vektor, lineární závislost a nezávislost vektorů, skalární součin apod.). První dvě kapitoly slouží k doplnění znalostí z lineární algebry, se kterými se na střední škole běžně nesetkáme, ale které budeme potřebovat při řešení úloh lineárního programování. V první kapitole zavedeme pojmy matice a hodnost matice a seznámíme se v ní s operacemi s maticemi (sčítání, násobení matice reálným číslem, násobení matic). Soustavy lineárních rovnic a nerovnic představující téma druhé kapitoly se sice na středních školách vyučují, nicméně ne v takovém rozsahu, v jakém potřebujeme. V této kapitole proto zavádíme maticový zápis řešení soustav lineárních rovnic. Předvedeme si grafické řešení soustav lineárních nerovnic o dvou neznámých a ukážeme si, jak řešit soustavy lineárních nerovnic o více neznámých (převedením na přidruženou soustavu rovnic pomocí tzv. doplňkových proměnných). Stěžejní částí této práce je třetí kapitola, v níž definujeme úlohu lineárního programování. Předvedeme si různé metody jejího řešení. Od grafického řešení úloh se dvěma neznámými se dostaneme k simplexové metodě, která je univerzální a zřejmě nejběžnější metodou řešení optimalizačních 6

7 úloh. Protože úlohy týkající se reálných problémů často obsahují obrovské množství proměnných, seznámíme se také z využitím některých počítačových programů (Maple, MS Excel) k jejich řešení. Na závěr kapitoly si ještě představíme čtyři základní typy úloh lineárního programování (dopravní, směšovací, výrobní a řezný problém). Teoretické poznatky ve všech třech kapitolách jsou pro snadnější pochopení doplněny řešenými příklady a obrázky, které byly většinou vytvořeny v programu Mathematica. Čtvrtou kapitolu tvoří dvanáct řešených slovních úloh na lineární programování. K jejich řešení jsou použity všechny metody uvedené ve třetí kapitole. 7

8 Lineární programování v učebnicích SŠ matematiky Dříve než se budeme věnovat vlastnímu textu práce, pojďme se podívat na to, jak je téma lineární programování zpracováno v současných i starších učebnicích středoškolské matematiky. Jedinou současnou středoškolskou učebnicí, která se alespoň trochu zabývá lineárním programováním, je Matematika pro netechnické obory SOŠ a SOU, 4. díl [3]. Autor na konkrétním příkladu (dopravní problém o dvou neznámých) předvádí řešení úlohy lineárního programování. Uvádí také několik neřešených slovních úloh (rovněž o dvou neznámých) k procvičení. Zavádí pojem účelová funkce. V řadách učebnic Matematika pro gymnázia a Matematika pro dvouleté a tříleté učební obory SOU naopak neexistuje o lineárním programování ani zmínka. Zcela jiná situace byla v 70. a 80. letech 20. století. Při svém průzkumu jsem objevila hned několik středoškolských učebnic, které nějakým způsobem zpracovávají téma lineárního programování. Jednou z nich je Matematika pro. ročník gymnázií [0] od J. Smidy. Autor na dvou příkladech (o dvou neznámých) demonstruje grafické řešení úloh lineárního programování. Další dvě slovní úlohy jsou neřešené a lze je počítat analogicky. K této učebnici patří i sbírka úloh [], zahrnující deset neřešených slovních úloh (o dvou neznámých) na lineární programování. Z knih, které jsem měla k dispozici, se v této sbírce nachází nejvíce úloh lineárního programování pohromadě. Učebnice Matematika pro IV. ročník gymnázií [8] od B. Riečana obsahuje kapitolu Optimalizační úlohy řešené pomocí parametrických systémů útvarů. Pod tímto názvem se neskrývá nic jiného než tři příklady, na nichž autor ukazuje postup grafického řešení optimalizačních úloh. V jednom z těchto 8

9 příkladů dokonce hledá maximum kvadratické účelové funkce x 2 + y 2. Následuje pět neřešených příkladů k procvičení. Podíváme-li se do učebnice Matematika pro III. a IV. ročník SEŠ [5], najdeme kapitolu Užití lineární algebry v lineárním programování. Odlišným způsobem než v ostatních učebnicích zde autor řeší dopravní problém o šesti neznámých. Zavedením parametrů je problém převeden na několik jednodušších soustav rovnic a nerovnic, jejichž řešením se postupně dostaneme až k optimálnímu řešení původní úlohy. I sám autor zde uvádí, že je tento způsob zdlouhavý a v lineárním programování se nepoužívá. Jako jednu z metod řešení úloh lineárního programování zmiňuje simplexovou metodu, příklad řešený tímto způsobem však neuvádí. Na rozdíl od jiných učebnic, tato kniha nenabízí grafické řešení optimalizačních úloh o dvou neznámých, ani příklady k procvičení. Odlišný způsob řešení optimalizačních úloh nabízí také kniha Cvičení z matematiky pro I. a II. ročník gymnázií [6]. Souvisí to zřejmě s tím, že optimalizační problémy jsou zde zařazeny do kapitoly Úlohy z kombinatoriky a teorie čísel. Řešení dopravního problému spočívá v tom, že se schematicky nakreslí jednotlivé možnosti přepravy výrobků mezi dodavateli a odběrateli. Pro každou variantu se potom dopočítají celkové dopravní náklady a následně jsou porovnány. Způsob rozvozu, kterému odpovídají nejnižší náklady, je optimální. Podobně je zde řešen i problém navržení sítě elektrického vedení mezi několika obcemi tak, aby náklady na výstavbu byly co nejmenší. Všimněme si, že ve všech zmíněných učebnicích se můžeme setkat jen s úlohami lineárního programování o dvou neznámých. Souvisí to s tím, že k výpočtu složitějších optimalizačních úloh potřebujeme umět řešit soustavy nerovnic o více než dvou neznámých. Takové soustavy se však v těchto učebnicích nevyskytují. Jedinou výjimkou je učebnice [3], v níž autor řeší soustavy nerovnic o více neznámých převedením na přidruženou soustavu rovnic pomocí tzv. doplňkových proměnných. Jak můžeme vidět, v minulosti bylo lineární programování nedílnou součástí učebnic matematiky na středních školách. V současné době se z nich však pomalu vytrácí. Nebo s více neznámými, které jsou však řešeny nestandardními způsoby. 9

10 Kapitola Matice Obdélníkové schéma a a 2... a n a 2 a a 2n a m a m2... a mn, kde a ij R pro všechna i =,..., m a j =,..., n (m, n N), nazýváme matice 2 typu m n. Tuto matici můžeme rovněž značit (a ij ) m n nebo (a ij ). Pokud m n, hovoříme o obdélníkové matici typu m n, která má m řádků a n sloupců. Pokud m = n, hovoříme o čtvercové matici řádu n. Čísla a ij nazýváme prvky matice. Index i udává řádek a index j udává sloupec, ve kterém se daný prvek nachází. (Například prvek a 34 se nachází ve třetím řádku a čtvrtém sloupci příslušné matice.) Posloupnost prvků a ij, kde i = j, tj. posloupnost a, a 22, a 33,..., tvoří hlavní diagonálu matice. Je-li každý prvek matice roven nule, nazýváme matici nulovou maticí. Čtvercovou matici řádu n, jejíž všechny prvky na hlavní diagonále jsou rovny jedné a všechny ostatní prvky rovny nule, nazýváme jednotková matice řádu n. Jelikož každý řádek matice typu m n tvoří uspořádanou n-tici, můžeme ho považovat za vektor, tzv. řádkový vektor. Stejně tak každý sloupec matice lze považovat za vektor, tzv. sloupcový vektor, protože tvoří uspořádanou m-tici. 2 Více informací k danému tématu může čtenář najít např. v [2]. 0

11 Dvě matice A = (a ij ) a B = (b ij ) se rovnají, jestliže jsou stejného typu a jestliže jsou jejich prvky na odpovídajících místech stejné.. Operace s maticemi Součet dvou matic A = (a ij ) a B = (b ij ) stejného typu je matice C = (c ij ) rovněž stejného typu, jejíž všechny prvky splňují c ij = a ij + b ij. Jinak řečeno: Dvě matice stejného typu sčítáme tak, že vždy sčítáme ty prvky, které se v nich nacházejí na stejném místě. Příklad. Jsou dány matice ( 2 2 A = ) ( 5 3 2, B = 4 8 ) ( 2 4, C = 3 2 Vypočítejte následující součty: A + B, B + A, (A + B) + C a A + (B + C). Řešení A + B = ( ) = ( ( ) ( ) B + A = = ( ) ( ) ( ) (A + B) + C = + = ( ) ( ) ( ) A + (B + C) = + = ) ). Vidíme, že pro sčítání těchto matic platí komutativní a asociativní zákon A + B = B + A, (A + B) + C = A + (B + C).

12 Snadno lze dokázat, že oba zákony platí pro sčítání libovolných matic stejného typu. Součin reálného čísla c a matice A = (a ij ) je matice C = (c ij ), kde c ij = c a ij, pro všechny dvojice indexů i, j. Jinak řečeno: Matici násobíme reálným číslem tak, že tímto číslem vynásobíme každý prvek dané matice. Příklad.2 Je dána matice A = Vypočítejte matici B = 3A. ( ). Řešení ( ) ( ) B = 3A = = 3 ( 2) ( 3) ( ). Jestliže vynásobíme matici A číslem, dostaneme matici A, kterou nazýváme opačnou maticí k matici A. Nyní můžeme definovat rozdíl A B dvou matic stejného typu, a to jako součet matice A a opačné matice k matici B, tedy A B = A + ( B). Součinem matic A = (a ik ) typu m n a B = (b kj ) typu n p nazýváme matici A B = (c ij ) typu m p, jejíž libovolný prvek c ij tvoří skalární součin i-tého řádku matice A a j-tého sloupce matice B. Důležité je, že součin A B matic A a B definujeme jen tehdy, jestliže má matice A stejný počet sloupců jako matice B řádků. Ukážeme si to na konkrétním příkladu. Příklad.3 Určete součiny A B a B A matic ( 3 2 A = 4 ), B = 2 ( 2 3 ).

13 Řešení Nejprve spočítáme součin A B: ( ) 3 2 A B = 4 A nyní součin B A: ( 2 3 ) = ( ) 3 + ( 2) 2 3 ( ) + ( 2) 3 = = ( ) ( ) ( ) ( ) 9 =. 7 3 B A = ( 2 3 ) ( ) = ( ) 3 + ( ) ( ) ( 2) + ( ) 4 = = ( ) 2 ( 2) ( ) 4 6 =. 3 8 Vidíme, že získané výsledky se navzájem liší. Nyní si uvedeme některé vlastnosti násobení matic A, B: Násobení matic není obecně komutativní, tj. A B B A (viz předchozí i následující příklad). Je-li jedna z matic A, B nulová, jejich součinem (je-li definován) je rovněž nulová matice. Nulovou matici můžeme dostat i jako součin dvou nenulových matic (viz následující příklad). Příklad.4 Určete součiny A B a B A matic ( 2 A = 2 ), B = ( ). 3

14 Řešení A B = B A = ( 2 2 ( ) ) ( ( Hodnost matice ) = ) = ( ( ) = ) = ( ( Hodností matice rozumíme číslo udávající maximální počet jejích lineárně nezávislých řádkových nebo sloupcových vektorů. Značíme ji h. Vezměme například matici K = Její třetí řádek můžeme zapsat jako lineární kombinaci prvního a druhého řádku 2 (,, 2) 2 (2, 3, ) = ( 2, 8, 2) a její druhý řádek není násobkem (lineární kombinací) řádku prvního. Matice K má tudíž dva lineárně nezávislé řádkové vektory a její hodnost je h(k) = 2. Podíváme-li se na sloupce matice K, zjistíme, že první dva sloupce jsou lineárně nezávislé a třetí sloupec můžeme zapsat jako jejich lineární kombinaci 7 5 (, 2, 2) 3 (, 3, 8) = (2,, 2). 5 Opět jsme došli ke stejnému výsledku h(k) = 2. Lze dokázat, že pro každou matici platí, že počet lineárně nezávislých řádkových vektorů je roven počtu lineárně nezávislých sloupcových vektorů.. ) ). Hodnost matice zpravidla hledáme tak, že ověřujeme, které řádkové (resp. sloupcové) vektory jsou lineárně závislé, a které ne. V případě, že má zadaná matice velký počet řádků a sloupců, však může být tento způsob řešení velice zdlouhavý. Proto si nyní uvedeme jiný postup, kterým lze hodnost matice také určit: 4

15 Pomocí tzv. elementárních řádkových úprav 3, které nemění hodnost matice, převedeme zadanou matici na matici, v níž jsou všechny prvky pod hlavní diagonálou rovny nule. Takovými úpravami jsou: i) záměna pořadí řádků, ii) vynásobení libovolného řádku nenulovým číslem, iii) přičtení lineární kombinace ostatních řádků k libovolnému řádku, iv) vynechání nebo připojení řádku, který je lineární kombinací ostatních řádků. Počet všech lineárně nezávislých nenulových řádků 4 výsledné matice je roven její hodnosti, a tudíž i hodnosti původní matice. Ukážeme si to na příkladu. Příklad.5 Určete hodnost matice K z předchozího textu. Řešení Abychom určili hodnost dané matice, převedeme ji pomocí řádkových úprav na matici, která má pod hlavní diagonálou samé nuly. Nejprve k druhému řádku přičteme ( 2)-násobek a ke třetímu řádku 2-násobek prvního řádku: ( 2) 3 + ( 2) ( ) + ( 2) ( ) = Nyní ke třetímu řádku přičteme 2-násobek druhého řádku a získáme požadovanou matici: = ( 3) Vidíme, že výsledná matice má dva nenulové (lineárně nezávislé) řádky. Její hodnost je tedy h(k) = 2. 3 Lze provádět i analogické sloupcové úpravy. 4 Viz například [3], str

16 V dalším textu budeme pro tento postup používat zjednodušený zápis:

17 Kapitola 2 Soustavy lineárních rovnic a nerovnic 2. Řešení soustav lineárních rovnic Soustavou m lineárních rovnic o n neznámých budeme rozumět soustavu rovnic tvaru a x + a 2 x a n x n = b a 2 x + a 22 x a 2n x n = b 2... a m x + a m2 x a mn x n = b m, kde a ij, b i jsou reálná čísla pro všechna i =,..., m a j =,..., n a x, x 2,..., x n reálné, popřípadě celočíselné neznámé (podle povahy úlohy). Jestliže je b = b 2 = = b m = 0, nazýváme danou soustavu homogenní. V opačném případě hovoříme o nehomogenní soustavě. Každé soustavě rovnic lze jednoznačně přiřadit matici typu m n, tzv. matici soustavy a a 2... a n a 2 a a 2n a m a m2... a mn, 7

18 a matici typu m (n + ), tzv. rozšířenou matici soustavy a a 2... a n b a 2 a a 2n b a m a m2... a mn b m Soustavu rovnic můžeme také zapsat v maticovém tvaru A x = b, kde A je matice soustavy, x = (x,..., x n ) je vektor neznámých soustavy a b = (b,..., b m ) je vektor pravých stran soustavy rovnic. Vyřešit soustavu rovnic o n neznámých znamená najít všechny n-tice x = (x, x 2,..., x n ), které vyhovují všem m rovnicím dané soustavy. Každá taková n-tice se nazývá řešení soustavy. Jestliže soustava rovnic má (nemá) řešení, nazývá se řešitelná (neřešitelná). Abychom zjistili, zda daná soustava lineárních rovnic má, nebo nemá řešení, použijeme Frobeniovu větu, která říká: Soustava lineárních rovnic má řešení právě tehdy, když se hodnost matice soustavy rovná hodnosti rozšířené matice soustavy. Důkaz této věty lze najít např. v knize [3], str. 5. Jelikož je u homogenní soustavy lineárních rovnic vektor pravých stran nulový, je vždy lineární kombinací sloupcových vektorů matice soustavy. Proto se hodnost matice soustavy a hodnost rozšířené matice soustavy rovnají. Každá homogenní soustava lineárních rovnic má tedy řešení. Ještě dodejme, že dvě soustavy lineárních rovnic o stejném počtu neznámých jsou ekvivalentní, jestliže je každé řešení první soustavy zároveň řešením druhé soustavy a naopak. Příklad 2. Zjistěte, jestli má následující soustava rovnic řešení: 2x x 2 + 2x 3 = 4 x + x 2 + 2x 3 = 4x + x 2 + 4x 3 = 2. 8

19 Řešení Nejprve si zadanou soustavu rovnic vyjádříme pomocí matice , kterou budeme upravovat na tvar, v němž jsou všechny prvky pod hlavní diagonálou rovny nule, abychom mohli určit hodnost matice soustavy i rozšířené matice soustavy: Odtud okamžitě vidíme, že matice soustavy i rozšířená matice soustavy mají stejnou hodnost h = 3. Daná soustava lineárních rovnic je podle Frobeniovy věty řešitelná. Příklad 2.2 Zjistěte, zda má řešení následující soustava rovnic: 2x + x 2 x 3 = 0 x + x 2 + 2x 3 = 4 4x + 3x 2 + 3x 3 = 5. Řešení Nejdříve si opět zadanou soustavu rovnic vyjádříme pomocí matice , kterou budeme podobně jako v předchozím příkladu upravovat na tvar, v němž jsou všechny prvky pod hlavní diagonálou rovny nule, abychom mohli určit hodnost matice soustavy i rozšířené matice soustavy:

20 Vidíme, že matice soustavy má hodnost 2. Ovšem hodnost rozšířené matice soustavy je 3. Hodnost matice soustavy a hodnost rozšířené matice soustavy se nerovnají a podle Frobeniovy věty nemá daná soustava lineárních rovnic řešení. Nyní se budeme věnovat samotnému řešení soustav lineárních rovnic s využitím matic. Postup řešení si ukážeme na několika následujících příkladech. Příklad 2.3 Řešte soustavu rovnic: 2x + 3x 2 + x 3 = 5 7x x 2 + x 3 = 9 x + 2x 2 + x 3 = 9. Řešení Nejprve si napíšeme rozšířenou matici dané soustavy , 2 9 kterou převedeme pomocí elementárních řádkových úprav na matici, v níž jsou všechny prvky pod hlavní diagonálou rovny nule Soustava lineárních rovnic x + 2x 2 + x 3 = 9 x 2 + x 3 = 3 9x 3 = 9, pro níž je výsledná matice rozšířenou maticí soustavy, je ekvivalentní se zadanou soustavou a podle Frobeniovy věty je jistě řešitelná. Její jediné řešení x = 2, x 2 = 4, x 3 = tvoří rovněž jediné řešení zadané soustavy. 20

21 Příklad 2.4 Řešte soustavu rovnic: x x 2 + 2x 3 3x 4 = x + 2x 2 + x 3 x 4 = 4 x + 4x 2 3x 3 + 5x 4 = 0. Řešení Opět si nejprve napíšeme rozšířenou matici dané soustavy Pomocí elementárních řádkových úprav ji převedeme na matici, v níž jsou všechny prvky pod hlavní diagonálou rovny nule Soustava rovnic odpovídající poslední matici x x 2 + 2x 3 3x 4 = 3x 2 + x 3 2x 4 = 3 5x 3 + 7x 4 = je ekvivalentní se zadanou soustavou rovnic a podle Frobeniovy věty je řešitelná. Z její třetí rovnice je patrné, že jednu z neznámých x 3, x 4 můžeme zvolit libovolně a soustava má proto nekonečně mnoho řešení. Nekonečně mnoho řešení má tedy i původní soustava rovnic. Jestliže teď zvolíme x 4 = s, kde s R, získáme obecné parametrické řešení soustavy rovnic: x = 6, x 2 = s, x 3 = s, x 4 = s.. 2

22 Dosazením konkrétního čísla za parametr s získáme tzv. partikulární řešení soustavy rovnic. Například pro s = 0 dostaneme x = 6, x 2 = 33 5, x 3 = 34 5 a x 4 = 0. Příklad 2.5 Řešte soustavu rovnic: Řešení Rozšířenou matici dané soustavy x 2x 2 + x 3 + 2x 4 = 8 2x x 2 3x 3 + x 4 = 5 4x x 2 + x 3 + x 4 = 3 x 4x 2 + 9x 3 + 4x 4 = převedeme pomocí elementárních řádkových úprav na matici, v níž jsou všechny prvky pod hlavní diagonálou rovny nule ( Soustava rovnic odpovídající poslední matici x 2x 2 + x 3 + 2x 4 = 8 3x 2 5x 3 3x 4 = 2 je ekvivalentní s původní soustavou rovnic a podle Frobeniovy věty je řešitelná. Z její druhé rovnice je patrné, že dvě z neznámých x 2, x 3, x 4 můžeme zvolit libovolně a soustava má tedy nekonečně mnoho řešení. Nekonečně mnoho řešení má i původní soustava rovnic. 22 ).

23 Jestliže teď zvolíme x 3 = s, x 4 = t, kde s, t R, získáme obecné parametrické řešení soustavy rovnic: x = s, x 2 = s + t, x 3 = s, x 4 = t. Dosazením konkrétních čísel za parametry s a t získáme opět tzv. partikulární řešení soustavy rovnic. Například pro s = 0 a t = 0 dostaneme x = 6, x 2 = 7, x 3 = 0 a x 4 = 0. V uvedených příkladech si můžeme všimnout souvislostí mezi počtem neznámých v soustavách, hodností matic těchto soustav a počtem jejich řešení. Pro řešitelnou soustavu m lineárních rovnic o n neznámých s hodností matice soustavy h platí: je-li h = n, má soustava jediné řešení, je-li h < n, má soustava nekonečně mnoho řešení. Obecné řešení takové soustavy je vyjádřeno pomocí na sobě nezávislých parametrů, jejichž počet je roven číslu n h. Homogenní řešitelná soustava má v případě h = n rovněž jediné řešení, a to nulový vektor. Toto řešení nazýváme triviální. 2.2 Řešení soustav lineárních nerovnic Lineární nerovnice v soustavách, kterými se nyní budeme zabývat, mají více než jednu neznámou. Takovou soustavu lineárních nerovnic obecně zapíšeme ve tvaru a x + a 2 x a n x n b a 2 x + a 22 x a 2n x n b 2... a m x + a m2 x a mn x n b m, kde a ij, b i jsou reálná čísla a x, x 2,..., x n neznámé. Budeme ji nazývat soustava m lineárních nerovnic o n neznámých. V nerovnicích dané soustavy se samozřejmě může místo znaku vyskytovat některý ze znaků <,, >. Matice (a ij ) se stejně jako v případě 23

24 soustavy lineárních rovnic nazývá maticí soustavy, vektor b = (b,..., b m ) vektorem pravých stran soustavy. Soustavu lineárních nerovnic lze řešit tak, že ji převedeme na soustavu lineárních rovnic pomocí tzv. doplňkových neznámých. Nerovnici tvaru a i x + a i2 x a in x n b i upravíme doplněním neznámé x n+i 0 na rovnici tvaru Nerovnici tvaru a i x + a i2 x a in x n + x n+i = b i. a i x + a i2 x a in x n < b i upravíme doplněním neznámé x n+i > 0 na rovnici tvaru Nerovnici tvaru a i x + a i2 x a in x n + x n+i = b i. a i x + a i2 x a in x n b i upravíme doplněním neznámé x n+i 0 na rovnici tvaru Nerovnici tvaru a i x + a i2 x a in x n x n+i = b i. a i x + a i2 x a in x n > b i upravíme doplněním neznámé x n+i > 0 na rovnici tvaru a i x + a i2 x a in x n x n+i = b i. Tímto způsobem získáme tzv. přidruženou soustavu rovnic k dané soustavě nerovnic: kterou již umíme řešit. a x + a 2 x a n x n + x n+ = b a 2 x + a 22 x a 2n x n + x n+2 = b 2... a m x + a m2 x a mn x n + x n+m = b m, 24

25 Příklad 2.6 Řešte soustavu nerovnic x + x 2 + x 3 > 6 x + 2x 2 + 2x x + 3x 2 + 2x 3 5. Řešení K dané soustavě nerovnic nejprve sestavíme přidruženou soustavu rovnic x + x 2 + x 3 x 4 = 6 x + 2x 2 + 2x 3 + x 5 = 20 2x + 3x 2 + 2x 3 x 6 = 5, kde x 4 > 0, x 5 0, x 6 0. Úpravou matice této soustavy a matice rozšířené dostaneme ekvivalentní soustavu rovnic x + x 2 + x 3 x 4 = 6 x 2 + x 3 + x 4 + x 5 = 4 x 3 x 4 + x 5 + x 6 =. Z této soustavy vyjádříme hledané neznámé x, x 2, x 3 pomocí zbývajících neznámých x 4, x 5, x 6 a získáme tak obecné řešení dané soustavy nerovnic x = 2x 4 + x 5 8, x 2 = 2x 4 + x 6 + 3, x 3 = x 4 x 5 x 6 +, kde x 4 > 0, x 5 0, x

26 Zvolíme-li např. x 4 =, x 5 = 0 a x 6 = 0, dostaneme partikulární řešení x = 6, x 2 = a x 3 = 2. Dosazením zjistíme, že tato čísla opravdu vyhovují dané soustavě nerovnic = 7 > = ( 6) = 5 5. Příklad 2.7 Řešte soustavu nerovnic x + x 2 5 2x + x 2 < 3. Řešení Danou soustavu nerovnic nejprve upravíme na přidruženou soustavu rovnic x + x 2 + x 3 = 5 2x + x 2 + x 4 = 3, kde x 3 0, x 4 > 0, kterou již umíme řešit. Úpravou matice této soustavy a matice rozšířené ( ) ( dostaneme ekvivalentní soustavu rovnic ) x + x 2 + x 3 = 5 x 2 + 2x 3 x 4 = 7. Jestliže z ní vyjádříme hledané neznámé x, x 2 pomocí zbývajících neznámých x 3, x 4, získáme obecné řešení dané soustavy nerovnic ve tvaru x = x 3 x 4 2, x 2 = 2x 3 + x 4 + 7, 26

27 kde x 3 0, x 4 > 0. Dosadíme-li za x 3 a x 4 konkrétní hodnoty, dostaneme partikulární řešení dané soustavy nerovnic. Například pro x 3 = 0 a x 4 = dostaneme x = 3 a x 2 = 8. Toto řešení opravdu vyhovuje dané soustavě nerovnic, protože = ( 3) + 8 = 2 < 3. Soustavy lineárních nerovnic o dvou neznámých lze řešit také graficky, což si nyní ukážeme. 2.3 Grafické řešení soustav lineárních nerovnic o dvou neznámých Množinu všech řešení lineární nerovnice o dvou neznámých lze znázornit graficky v kartézské soustavě souřadnic. V případě nerovnice tvaru ax + by + c 0 nebo ax + by + c 0 se jedná o jednu z polorovin s hraniční přímkou ax + by + c = 0. Řešením nerovnice tvaru ax + by + c < 0 nebo ax + by + c > 0 je rovněž jedna z polorovin, ovšem bez hraniční přímky. Příklad 2.8 Graficky řešte nerovnici 3x + 2y > 2 s neznámými x R, y R. Řešení V soustavě souřadnic sestrojíme přímku 3x + 2y = 2. Nyní musíme rozhodnout, která ze vzniklých polorovin tvoří množinu všech řešení dané nerovnice. Zvolíme proto libovolný bod nacházející se v jedné z polorovin, například počátek soustavy souřadnic, a ověříme, zda jeho souřadnice vyhovují zadané nerovnici. Jistě platí > 2. Jak vidíme na obrázku 2., množinu všech řešení nerovnice 3x+2y > 2 tvoří polorovina obsahující počátek soustavy souřadnic. Hraniční přímka mezi řešení dané nerovnice nepatří. Graficky můžeme řešit také soustavu nerovnic o dvou neznámých, a to následujícím způsobem. Nejprve v kartézské soustavě souřadnic zobrazíme 27

28 y x 2 Obrázek 2.: Řešení nerovnice 3x + 2y > 2. množinu všech řešení každé nerovnice soustavy a poté sestrojíme jejich průnik. Ten je grafickým řešením dané soustavy nerovnic. Nyní si to ukážeme na konkrétním příkladu. Příklad 2.9 Řešte graficky soustavu nerovnic s neznámými x R, y R x y 2 x + y x 2y 2. Řešení Nejprve sestrojíme v soustavě souřadnic přímky x y = 2, x + y =, x 2y = 2. Stejně jako v předchozím příkladu zjistíme (dosazením libovolného bodu z poloroviny do nerovnice), které z polorovin s těmito hraničními přímkami tvoří množiny všech řešení jednotlivých nerovnic soustavy (viz obrázky 2.2, 2.3 a 2.4). Vytvoříme-li potom průnik množin všech řešení jednotlivých nerovnic, získáme množinu všech řešení dané soustavy (viz obrázek 2.5). 28

29 y y x y x x x y Obrázek 2.2: Řešení nerovnice x y 2. Obrázek 2.3: Řešení nerovnice x + y. y y x y x x x y 2 x 2 y 2 x 2 y Obrázek 2.4: Řešení nerovnice x 2y 2. Obrázek 2.5: Řešení dané soustavy nerovnic. 29

30 Kapitola 3 Lineární programování 3. Úloha lineárního programování Úlohou lineárního programování 5 v rovnicovém tvaru nazýváme úlohu maximalizovat (minimalizovat) z = c x + c 2 x c n x n za podmínek a x + a 2 x a n x n = b a 2 x + a 22 x a 2n x n = b 2. a m x + a m2 x a mn x n = b m (3.) x j 0, j =, 2,..., n. (3.2) Funkce z se nazývá účelová funkce, reálná čísla c j, j =,..., n tvoří její koeficienty a x,..., x n jsou reálné proměnné. Rovnice (3.) s reálnými koeficienty a ij, i =,..., m, j =,..., n a reálnými pravými stranami b i, i =,..., m tvoří omezující podmínky. Nerovnice (3.2) představují podmínky nezápornosti řešení dané úlohy. Danou úlohu lze zkráceně zapsat takto: 5 Více informací o lineárním programování čtenář najde např. v [2]. 30

31 maximalizovat (minimalizovat) z = n c j x j j= za podmínek n a ij x j = b i, i =,..., m j= x j 0, j =,..., n. Označíme-li si ( ) c = c, c 2,..., c n x = A = a a 2... a n a 2 a a 2n a m a m2... a mn b = můžeme také úlohu lineárního programování zapsat jednoduše v maticovém tvaru maximalizovat (minimalizovat) z = c x x x 2. x n b b 2. b m za podmínek A x = b x o. Rovnicový tvar úlohy lineárního programování se používá při řešení úloh simplexovou metodou, se kterou se seznámíme později. Jak ovšem uvidíme, ve většině úloh nejsou omezující podmínky zadávány přímo ve formě samotných rovnic, ale tvoří je nerovnice, nebo dokonce 3

32 rovnice i nerovnice společně. Potom můžeme úlohu lineárního programování formulovat následujícím způsobem: maximalizovat (minimalizovat) z = n c j x j j= za podmínek n a ij x j b i, j= n a ij x j b i, j= n a ij x j = b i, j= i =,..., r i = r +,..., s i = s +,..., m (3.3) x j 0, j =,..., n. Tuto formulaci lze převést na rovnicový tvar, protože nerovnice vyjadřující omezující podmínky (3.3) umíme převést na odpovídající rovnice pomocí tzv. doplňkových proměnných (viz oddíl 2.2). Nyní si formulaci úlohy lineárního programování ukážeme na konkrétním příkladě. Příklad 3. (zadání převzato z [], str. 66 a upraveno) Dílna vyrábějící lopaty a motyky dostává denně plech, který vystačí k výrobě nejvýše 40 lopat, nebo 70 motyk, a dřevo, které stačí na výrobu nejvýše 80 násad. Výroba jedné lopaty přináší dílně zisk 30 Kč, výroba jedné motyky 25 Kč. Kolik lopat a motyk je třeba denně vyrobit, aby zisk byl co největší? Formulujte jako úlohu lineárního programování. Řešení Nejprve si označíme x... počet denně vyrobených lopat y... počet denně vyrobených motyk. 32

33 Chceme, aby zisk byl co největší, proto budeme hledat maximum funkce z = 30x + 25y. Pro proměnné x, y však ze zadání vyplývají i následující omezující podmínky: denně se může vyrobit nejvýše 40 lopat, tedy x 40, denně se může vyrobit nejvýše 70 motyk, tedy y 70, celkem se denně může vyrobit 80 kusů nářadí, tedy x + y 80. Navíc je zřejmé, že počet lopat a počet motyk jsou nezáporná čísla, tj. že x 0 a y 0. Výsledná formulace úlohy zní potom takto: maximalizovat za podmínek z = 30x + 25y x 40 y 70 x + y 80 x, y Řešení úloh lineárního programování Existuje několik různých způsobů řešení úloh lineárního programování. My si zde ukážeme dva z nich: grafické řešení a simplexovou metodu. Nejprve si ovšem zavedeme některé základní pojmy. Přípustné řešení úlohy lineárního programování je každé řešení soustavy nerovnic určujících omezující podmínky dané úlohy a podmínky nezápornosti. Optimální řešení úlohy lineárního programování je takové přípustné řešení, při kterém účelová funkce z nabývá maximální, resp. minimální hodnoty. Všechna přípustná řešení úlohy lineárního programování tvoří množinu přípustných řešení dané úlohy. 33

34 3.2. Grafické řešení Grafické řešení můžeme použít pouze u takových úloh lineárního programování, které obsahují dvě nebo tři neznámé. My se zde budeme věnovat jen úlohám se dvěma neznámými. Postup řešení si ukážeme na konkrétních příkladech. Příklad 3.2 Najděte maximum účelové funkce z = 2x + 5y za podmínek x + y 2 x + y 4 x, y 0. Řešení Nejprve graficky vyřešíme soustavu nerovnic tvořících podmínky. Množinou všech řešení dané soustavy je čtyřúhelník ABCD (viz obrázek 3.), který zároveň tvoří množinu všech přípustných řešení zadané úlohy. Abychom na této množině našli maximum účelové funkce, zvolíme několik jejích hodnot a sestrojíme množiny bodů, v nichž účelová funkce těchto hodnot nabývá. Například pro z = 6 dostaneme přímku s obecnou rovnicí 2x + 5y = 6, pro z = 2 přímku s obecnou rovnicí 2x + 5y = 2. Tyto rovnice se liší pouze absolutním členem. Příslušné přímky jsou tudíž navzájem různé rovnoběžky (viz obrázek 3.2). y y 4 4 y x 2 3 C 3 C D 2 D 2 z 7 x y 4 z 2 z 6 A B x A B x Obrázek 3.: Řešení soustavy nerovnic z příkladu 3.2. Obrázek 3.2: Hledání maxima funkce z. 34

35 Z obrázku 3.2 vidíme, že hodnota účelové funkce roste tím více, čím je příslušná přímka dále od počátku soustavy souřadnic. Maximální hodnoty na množině přípustných řešení bude proto účelová funkce nabývat v takovém bodě množiny, který v daném směru leží nejdále od počátku soustavy souřadnic. Budeme-li posouvat přímku ve směru jejího normálového vektoru (2, 5) orientovaného směrem od počátku, zjistíme, že tímto bodem je vrchol C čtyřúhelníku ABCD. Zadaná úloha lineárního programování má jediné optimální řešení. Abychom určili hodnotu účelové funkce v tomto bodě, musíme nejprve vypočítat jeho souřadnice vyřešením soustavy rovnic y x = 2 a x + y = 4, protože bod C leží v průsečíku přímek daných těmito rovnicemi. Bod C má tedy souřadnice [; 3]. Dosadíme-li je do účelové funkce z = 2x + 5y, dostaneme hledané maximum z = = 7 (viz obr. 3.2). Příklad 3.3 Najděte minimum účelové funkce z 2 = 3x + 2y za podmínek 2x y 8 x + 2y 5 3x + 2y 0 x, y 0. Řešení Nejprve určíme množinu všech přípustných řešení zadané úlohy vyřešením soustavy nerovnic určujících podmínky, čímž dostaneme čtyřúhelník ABCD zobrazený na obrázku 3.3. Opět zvolíme několik hodnot účelové funkce a sestrojíme jim odpovídající rovnoběžky (viz obrázek 3.4). Vidíme, že hodnota účelové funkce klesá ve směru normálového vektoru přímky orientovaného směrem k počátku soustavy souřadnic. Minimální hodnoty bude nabývat v bodě množiny přípustných řešení, který se v daném směru nachází nejblíže k počátku soustavy souřadnic. V našem případě se ovšem nejedná o jediný bod. Hodnota účelové funkce je minimální v bodech A, D, ale i ve všech bodech, které leží na příslušné úsečce mezi nimi. Důvodem je to, že přímka tvořená body, v nichž má účelová 35

36 funkce stejnou hodnotu, je rovnoběžná s úsečkou AD. Účelová funkce tudíž nabývá svého minima v nekonečně mnoha bodech. Příslušná úloha lineárního programování má v tomto případě nekonečně mnoho optimálních řešení. Chceme-li určit minimum účelové funkce, zjistíme například souřadnice bodu A a dosadíme je do ní. Z obrázku 3.4 vidíme, že druhá souřadnice bodu A je rovna nule. První souřadnici dopočítáme z rovnice 3x + 2y = 0 dosazením nuly za y. Bod A má potom souřadnice [ 0 3 ; 0]. Nyní je dosadíme do účelové funkce z 2 = 3x + 2y a dostaneme hledané minimum z 2 = = 0. y y C 6 C 2 y x 5 z D D 2 2 x y 8 2 z x 2 y 0 z A B x 0 A B x Obrázek 3.3: Řešení soustavy nerovnic z příkladu 3.3. Obrázek 3.4: Hledání minima funkce z 2. Příklad 3.4 Najděte maximum účelové funkce z 3 = x + y za podmínek 2x + y x 2y 2 2x + 3y 5 x, y 0. 36

37 Řešení Množinu všech přípustných řešení této úlohy tvoří vyšrafovaný útvar v grafu na obrázku 3.5. Hodnota účelové funkce opět roste ve směru normálového vektoru rovnoběžek orientovaného směrem od počátku soustavy souřadnic (viz obrázek 3.6). Protože je množina přípustných řešení v tomto směru neomezená, může na ní hodnota účelové funkce růst neomezeně. Maximum funkce z 3 proto neexistuje. Úloha nemá optimální řešení. Kdybychom ovšem hledali minimum této účelové funkce na stejné množině přípustných řešení, našli bychom ho v bodě A. Jeho souřadnice bychom pak získali vyřešením soustavy rovnic 2x + y = a 2x + 3y = 5. Bod A má souřadnice [ 4 ; 3 2 ]. Hledané minimum účelové funkce z 3 = x + y by potom bylo z 3 = = 7 4. y y 8 y 2 x 8 z A x 2 y 2 2 x 3 y 5 B x 2 0 A z 3 7 z B x Obrázek 3.5: Řešení soustavy nerovnic z příkladu 3.4. Obrázek 3.6: Hledání maxima funkce z 3. Příklad 3.5 Najděte minimum účelové funkce z 4 = x + 2y za podmínek x + y 2 x y 3 x, y 0. 37

38 Řešení Tato úloha nemá řešení, protože nelze splnit všechny zadané podmínky najednou, tj. daná soustava nerovnic nemá řešení (viz obrázek 3.7), a tudíž množina přípustných řešení je prázdná. y x y x y x Obrázek 3.7: Grafické znázornění podmínek z příkladu 3.5. Z uvedených příkladů vidíme, jak souvisí typ množiny přípustných řešení s optimálním řešením příslušné úlohy lineárního programování. Je-li množina přípustných řešení prázdná, potom úloha lineárního programování nemá optimální řešení; omezená (a neprázdná), potom má úloha lineárního programování vždy optimální řešení, a to buď právě jedno, nebo nekonečně mnoho (je-li přímka tvořená body, v nichž účelová funkce nabývá stejné hodnoty, rovnoběžná s přímkou omezující množinu přípustných řešení); neomezená, potom úloha lineárního programování může, ale nemusí mít optimální řešení. Rovněž si můžeme všimnout, že účelová funkce v uvedených příkladech nabývá svého maxima (resp. minima) vždy ve vrcholech nebo na hranách množiny přípustných řešení. Tento poznatek platí obecně. 38

39 Proto můžeme maximum (resp. minimum) účelové funkce na množině přípustných řešení najít také tak, že vypočítáme souřadnice všech vrcholů dané množiny, dosadíme je postupně do účelové funkce a zjistíme její hodnotu v těchto bodech. Bod, v němž má účelová funkce maximální (resp. minimální) hodnotu, představuje optimální řešení dané úlohy lineárního programování Simplexová metoda Většina úloh lineárního programování týkajících se reálných problémů neobsahuje pouze dvě proměnné. Při hledání optima již v tomto případě nelze použít grafické řešení. Nicméně existují jiné metody, které si s větším počtem proměnných poradí. Zřejmě nejznámější z nich je tzv. simplexová metoda, jejíž princip si nyní vysvětlíme. Chceme-li k řešení úlohy lineárního programování použít simplexovou metodu, potřebujeme, aby ) úloha byla v rovnicovém tvaru, 2) čísla b i (i =,..., m) na pravé straně rovnic byla nezáporná, 3) matice A typu m n dané soustavy rovnic obsahovala jednotkovou submatici 6 rozměru m. Jak zařídíme splnění těchto požadavků? ad ) Všechny podmínky zadané nerovnicemi převedeme na rovnice pomocí tzv. doplňkových proměnných (viz oddíl 2.2). Doplňkové proměnné mají v úlohách lineárního programování reálný význam (nespotřebované množství zdrojů atp.). ad 2) Má-li některá rovnice na pravé straně záporné číslo, vynásobíme ji číslem. ad 3) Neobsahuje-li matice A soustavy jednotkovou submatici (ani po přidání doplňkových proměnných), doplníme uměle do rovnic tzv. pomocné proměnné, které jsou nezáporné, tak, abychom jednotkovou submatici vytvořili. 6 Submaticí matice A rozumíme matici, která vznikne z A vynecháním některých řádků a sloupců. 39

40 Například matice soustavy A = x + x 2 + 3x 3 = 6 3x + 2x 2 + x 3 = 0 4x + 3x 2 + 5x 3 = 9 neobsahuje jednotkovou submatici. Proto do každé rovnice přidáme jednu pomocnou proměnnou a dostaneme 2x + x 2 + 3x 3 + p = 6 3x + 2x 2 + x 3 + p 2 = 0 4x + 3x 2 + 5x 3 + p 3 = 9. Nyní již matice soustavy jednotkovou submatici obsahuje: Pomocné proměnné nemají v úlohách lineárního programování reálný význam. Poznámka 3. Jsou-li podmínky zadané úlohy ve tvaru A x b, potom již přičtením doplňkových proměnných získáme jednotkovou submatici matice A. Poznámka 3.2 Jsou-li podmínky zadané úlohy ve tvaru A x b, potom přidáním doplňkových proměnných jednotkovou submatici ihned nedostaneme, protože je odčítáme. Jednoduchou úpravou ovšem požadovaného tvaru můžeme dosáhnout. Od rovnice s největší pravou stranou 7 postupně odečteme ostatní rovnice. Získané rozdíly a rovnice s největší pravou stranou, doplněná o pomocnou proměnnou, již tvoří soustavu, jejíž matice jednotkovou submatici obsahuje. 7 Tuto rovnici volíme, protože chceme, aby pravé strany v rozdílech rovnic zůstaly nezáporné. 40

41 Mějme například soustavu nerovnic x + 3x 2 + 2x 3 4 4x + 2x 2 + x 3 2 x + x 2 + 5x 3 6. Přidáním doplňkových proměnných x 4, x 5, x 6 0 ji převedeme na soustavu rovnic x + 3x 2 + 2x 3 x 4 = 4 (3.4) 4x + 2x 2 + x 3 x 5 = 2 (3.5) x + x 2 + 5x 3 x 6 = 6. (3.6) Nyní odečteme rovnice (3.5) a (3.6) od rovnice (3.4), do které potom navíc přidáme pomocnou proměnnou p 0, a dostaneme soustavu 3x + x 2 + x 3 x 4 + x 5 = 2 2x 2 3x 3 x 4 + x 6 = 8 x + 3x 2 + 2x 3 x 4 + p = 4. Matice této soustavy již obsahuje jednotkovou submatici. Proměnné, jimž odpovídají sloupce matice A tvořící její jednotkovou submatici, nazýváme bazické 8. Ostatní proměnné nazýváme nebazické. Důležitým pojmem pro simplexovou metodu je tzv. bazické řešení. Jedná se o takové řešení soustavy A x = b, kdy jsou všechny nebazické proměnné nulové. Bazické řešení nazveme bazickým přípustným řešením, jestliže navíc splňuje podmínky nezápornosti příslušné úlohy lineárního programování. Mějme podmínky úlohy zadané například soustavou x + x 2 + x 3 + x 4 = 4 2x + x 2 + 2x 3 + x 5 = 2 3x + 2x 2 + x 3 + x 6 = 20, x, x 2, x 3, x 4, x 5, x 6 0. (3.7) Bazické řešení této soustavy zjistíme tak, že za nebazické proměnné x, x 2, x 3 dosadíme nulu. Okamžitě pak dostaneme, že x 4 = 4, x 5 = 2 a x 6 = 20, tj. bazické proměnné se rovnají přímo hodnotám na pravé straně 8 Podle některé literatury též základní (viz např. []). 4

42 příslušných rovnic. Protože všechny získané hodnoty splňují i podmínky nezápornosti (3.7), tvoří vektor x = (0, 0, 0, 4, 2, 20) bazické přípustné řešení. Zadaná soustava rovnic však nemá jen jediné bazické řešení. Upravíme-li matici soustavy pomocí elementárních řádkových úprav například tak, aby byla původní bazická proměnná x 4 nahrazena novou bazickou proměnnou x (tedy, aby nyní první sloupec jednotkové submatice odpovídal proměnné x ), dostaneme soustavu x + x 2 + x 3 + x 4 = 4 x 2 2x 4 + x 5 = 4 x 2 2x 3 3x 4 + x 6 = 8. Dosadíme-li teď za nebazické proměnné x 2, x 3, x 4 nulu, ihned získáme, že x = 4, x 5 = 4 a x 6 = 8. Protože jsou všechny tyto hodnoty nezáporné, tvoří vektor x = (4, 0, 0, 0, 4, 8) opět bazické přípustné řešení. Analogicky lze najít i další bazická řešení dané soustavy. Pro bazické přípustné řešení platí: Vektor x je bazickým přípustným řešením soustavy A x = b právě tehdy, když odpovídá vrcholu množiny přípustných řešení. Důsledkem toho je, že: Má-li úloha lineárního programování optimální řešení, potom je mezi jejími optimálními řešeními i bazické přípustné řešení soustavy omezujících podmínek. Proto při hledání optimálního řešení úlohy lineárního programování stačí zkoumat bazická přípustná řešení. Má-li totiž úloha jediné optimální řešení, musí toto řešení být bazickým přípustným řešením. Pokud má úloha nekonečně mnoho optimálních řešení, je mezi nimi i nějaké bazické přípustné řešení. Poznámka 3.3 V následujícím textu při popisu simplexové metody budeme vždy uvažovat maximalizační úlohu lineárního programování. Na konci kapitoly si potom uvedeme, jak postup upravit pro minimalizační úlohu. Myšlenku simplexové metody můžeme zjednodušeně zapsat takto: 42

43 Nejprve najdeme jedno bazické přípustné řešení úlohy. Poté přejdeme k dalšímu bazickému přípustnému řešení tak, aby se zvýšila (v případě hledání maxima) hodnota účelové funkce. Pokud nelze bazické přípustné řešení s vyšší hodnotou účelové funkce najít, je poslední nalezené bazické přípustné řešení optimálním řešením úlohy. Přechod od výchozího bazického přípustného řešení k přípustnému bazickému řešení s vyšší hodnotou účelové funkce provedeme tak, že jednu dosavadní bazickou proměnnou nahradíme dosavadní nebazickou proměnnou (viz výše). Abychom opravdu získali přípustné bazické řešení, musí výběr proměnných, které budou vyměněny, probíhat podle určitých pravidel, která si teď uvedeme. Uvažujme úlohu lineárního programování maximalizovat z = c x + c 2 x c n x n za podmínek x + a,m+ x m+ + + a n x n = b x 2 + a 2,m+ x m+ + + a 2n x n = b 2. x m + a m,m+ x m+ + + a mn x n = b m (3.8) x j 0, j =, 2,..., n, b i 0, i =, 2,..., m. Jestliže za nebazické proměnné x m+,..., x n dosadíme nulu, rovnou dostaneme výchozí přípustné bazické řešení x I = (b,..., b m, 0,..., 0). Nyní si krok za krokem ukážeme, jak přejít k dalšímu přípustnému bazickému řešení s vyšší hodnotou účelové funkce. Výběr nové bazické proměnné Za novou bazickou proměnnou vybereme takovou nebazickou proměnnou, která má v účelové funkci (jež je funkcí pouze nebazických proměnných) největší koeficient c i > 0. Zvětší-li se totiž hodnota této proměnné, vzroste i hodnota účelové funkce, a to více než při zvyšování hodnot ostatních proměnných. Ukažme si to na příkladu. 43

44 Příklad 3.6 Najděte maximum účelové funkce z = 3x 2x 2 + x 3 + x 4 + 2x 5 + x 6 x 7 za podmínek x + 2x 5 4x 6 2x 7 = 3 x 2 4x 5 + 2x 6 + 2x 7 = 4 (3.9) x 3 + 2x 5 x 6 + x 7 = 2 x 4 + x 5 + 2x 6 4x 7 = 3, x, x 2, x 3, x 4, x 5, x 6, x 7 0. Řešení Nejprve si musíme vyjádřit účelovou funkci z jako funkci pouze nebazických proměnných. Rovnice (3.9) upravíme na tvar x = 3 2x 5 + 4x 6 + 2x 7 x 2 = 4 + 4x 5 2x 6 2x 7 (3.0) x 3 = 2 2x 5 + x 6 x 7 x 4 = 3 x 5 2x 6 + 4x 7. Získaná vyjádření dosadíme do účelové funkce z = 3(3 2x 5 + 4x 6 + 2x 7 ) 2(4 + 4x 5 2x 6 2x 7 )+ a dostaneme +2 2x 5 + x 6 x x 5 2x 6 + 4x 7 + 2x 5 + x 6 x 7 z = 5x 5 + 6x 6 + 2x (3.) Koeficienty c 5 = 5, c 6 = 6 a c 7 = 2 nazýváme relativní ceny nebazických proměnných. Hodnota účelové funkce pro uvažované bazické přípustné řešení x I = (3, 4, 2, 3, 0, 0, 0), které jsme získali tak, že jsme za nebazické proměnné dosadili nulu, je potom z = = 6. Jakmile některá nebazická proměnná nahradí bazickou proměnnou, nebude již rovna nule. Její hodnota bude kladná. Zkoumejme nyní, jak se při tom změní hodnota naší účelové funkce (3.). 44

45 Předpokládejme na chvíli, že se hodnota nebazické proměnné při změně na bazickou proměnnou zvýší například na hodnotu jedna. Zvolíme-li za novou bazickou proměnnou x 6, dostaneme hodnotu účelové funkce z II = = 22. Pokud bychom zvolili proměnnou x 7, dostali bychom z II = = 8. Hodnota účelové funkce by sice také vzrostla, ale méně. Za předpokladu, že bychom zvolili proměnnou x 5, hodnota účelové funkce by naopak klesla z II = = 9. Proto v tomto příkladu za novou bazickou proměnnou zvolíme proměnnou x 6 (tj. proměnnou s nejvyšší kladnou relativní cenou). Z hlediska výpočtu to znamená, že šestý sloupec matice soustavy (3.9) transformujeme pomocí elementárních řádkových úprav na jednotkový sloupec (tj. sloupec jednotkové submatice). Zbývá nám však ještě zjistit, na kterém místě v tomto sloupci bude prvek roven jedné, neboli, kterou bazickou proměnnou nahradíme. Výběr bazické proměnné, kterou nahradíme Napišme si teď rozšířenou matici soustavy (3.8) a,m+... a s... a n b a 2,m+... a 2s... a 2n b a r,m+... a rs... a rn b r a m,m+... a ms... a mn b m 45

46 a předpokládejme, že stávající bazickou proměnnou x r, r m, které odpovídá r-tý sloupec matice (tj. jednotkový sloupec, v němž se prvek jedna nachází v r-tém řádku), nahradíme novou bazickou proměnnou x s, m + s n, které odpovídá s-tý sloupec matice soustavy. Prvek a rs matice soustavy se nazývá určující prvek, neboli pivot, a je to ten prvek, který po transformaci s-tého sloupce na jednotkový sloupec bude roven jedné. Výběr pivota však musí probíhat podle určitých pravidel, která si teď uvedeme: a) Pivot a rs musí být kladný. Pokud by byl pivot záporný, museli bychom příslušnou rovnici (r-tý řádek v matici) vynásobit záporným číslem, abychom na jeho místě získali hodnotu. Číslo na pravé straně rovnice by pak bylo záporné, tj. hodnota nové bazické proměnné x s by byla záporná a získali bychom tak nepřípustné řešení. Pokud by byl pivot nulový, nedostali bychom na jeho místě vynásobením příslušné rovnice (r-tého řádku v matici) číslem hodnotu. b) Protože mají být nezáporné i hodnoty ostatních bazických proměnných, b musíme volit index r tak, aby byl podíl r a rs minimální. Nyní se vrátíme k příkladu 3.6 a nahrazení bazické proměnné si na něm předvedeme. Pokračování Příkladu 3.6 V předchozí části příkladu jsme jako novou bazickou proměnnou určili proměnnou x 6, které odpovídá šestý sloupec rozšířené matice soustavy (3.9) Nyní zkoumejme, kterou z bazických proměnných x, x 2, x 3, x 4 nahradíme (neboli který prvek v šestém sloupci bude pivotem). Zřejmě to nemohou být proměnné x a x 3, protože prvky a 6 = 4 a a 36 = jsou záporné. 46

47 Nyní spočítejme podíly b 2 a 26 = 4 = 2 a b 4 2 a 46 = 3 =, 5. Protože zřejmě 2 platí nerovnost b 4 a 46 < b 2 a 26, bude pivotem prvek a 46 = 2, a tudíž nahradíme bazickou proměnnou x 4. Výpočet nového bazického přípustného řešení provedeme následovně. Čtvrtý řádek rozšířené matice soustavy vydělíme dvěma a jeho vhodné násobky přičteme k ostatním řádkům této matice, abychom v těchto řádcích šestého sloupce dostali nuly: Tato matice odpovídá soustavě rovnic x + 2x 4 + 4x 5 0x 7 = 9 kterou můžeme zapsat ve tvaru x 2 x 4 5x 5 + 6x 7 = x x x 5 x 7 = x x 5 + x 6 2x 7 = 3 2, x = 9 2x 4 4x 5 + 0x 7 x 2 = + x 4 + 5x 5 6x 7 x 3 = x x 5 + x 7 x 6 = x 4 2 x 5 + 2x 7, (3.2) v němž jsou na levé straně rovnic pouze bazické proměnné. Dosazením za proměnnou x 6 do rovnice účelové funkce (3.) ( 3 z II = 5x 5 +6x 6 +2x 7 +6 = 5x x 4 ) 2 x 5 + 2x 7 +2x 7 +6 opět dostaneme účelovou funkci jako funkci pouze nebazických proměnných z II = 8x 4 23x x (3.3) 47

48 Její hodnota pro nové bazické přípustné řešení x II = ( 9,, 7 2, 0, 0, 3 2, 0) je potom 30. Protože v účelové funkci (3.3) můžeme znovu najít proměnnou s kladnou relativní cenou, není řešení x II optimální, tj. existuje bazické přípustné řešení, jemuž odpovídá vyšší hodnota účelové funkce. Pojďme toto řešení najít. Za novou bazickou proměnnou zvolíme x 7, protože jako jediná má kladnou relativní cenu v účelové funkci (3.3). Pivotem pak bude prvek a 27 = 6, protože je jako jediný v sedmém sloupci rozšířené matice soustavy (3.2) kladný. Pomocí řádkových elementárních úprav přejdeme k dalšímu bazickému přípustnému řešení: Tato matice odpovídá soustavě rovnic x x x x 5 = x 2 6 x x 5 + x 7 = 6 6 x 2 + x x x 5 = 3 3 x x x 5 + x 6 = 6, kterou můžeme zapsat ve tvaru x = x 2 3 x x 5 x 3 = 3 6 x 2 3 x x 5 x 6 = 6 3 x 2 6 x x 5 x 7 = 6 6 x x x (3.4) 48

49 Dosazením za proměnnou x 7 do rovnice účelové funkce (3.3) ( z III = 8x 4 23x x x ) 6 x dostaneme účelovou funkci jako funkci pouze nebazických proměnných z III = 22 3 x x x , (3.5) jejíž hodnota pro nové bazické přípustné řešení x III = ( 32, 0,, 0, 0,, ) je 2. 3 Nalezené řešení x III však ještě není optimální. Za novou bazickou proměnnou proto zvolíme x 5, protože jako jediná má kladnou relativní cenu v účelové funkci (3.5). Pivotem bude prvek a 35 = 5, 3 protože je jako jediný v pátém sloupci rozšířené matice soustavy (3.4) kladný. Pomocí řádkových elementárních úprav přejdeme k dalšímu bazickému přípustnému řešení: Tato matice odpovídá soustavě rovnic x x x x 4 = x x 3 + x 7 = 2 0 x x x 4 + x 5 = x x x 4 + x 6 = 22 5, kterou můžeme opět zapsat ve tvaru x = x x x 4 x 5 = 5 0 x x 3 5 x 4 x 6 = x x x 4 x 7 = 2 4 x 2 2 x (3.6) 49

50 Dosazením za proměnnou x 5 do rovnice účelové funkce (3.5) z IV = 22 3 x x ( x x 3 ) 5 x dostaneme účelovou funkci jako funkci pouze nebazických proměnných z IV = 87 0 x x x , (3.7) jejíž hodnota pro nové bazické přípustné řešení x IV = ( 0, 0, 0, 0,, 22, 2) je Poslední nalezené bazické přípustné řešení x IV = ( 0, 0, 0, 0,, 22, 2) je již optimální řešení zadané úlohy, protože v účelové funkci (3.7) již nenajdeme kladnou relativní cenu u žádné proměnné. Ne vždy však má úloha lineárního programování optimální řešení. Proto existuje několik možností ukončení výpočtu simplexovou metodou (viz. např. [5]). Možnosti ukončení simplexového algoritmu: ) V účelové funkci již nevystupuje proměnná s kladnou relativní cenou. Poslední nalezené bazické přípustné řešení je optimální. (viz Příklad 3.6) 2) V účelové funkci je proměnná s kladnou relativní cenou, ovšem v příslušném sloupci matice není prvek s kladnou hodnotou, tj. nelze najít pivota. Poslední nalezené bazické přípustné řešení tudíž není optimální. Další bazické přípustné řešení však vypočítat nemůžeme. Optimální řešení v tomto případě neexistuje, a to z důvodu neomezenosti množiny přípustných řešení. (viz Příklad 3.7) 3) Ve výsledné účelové funkci je některá z relativních cen nebazických proměnných rovna nule. Pokud bychom tedy příslušnou nebazickou proměnnou zvolili za novou bazickou proměnnou a dopočítali bychom nové bazické přípustné řešení, hodnota účelové funkce by zůstala stejná. V tomto případě má proto úloha nekonečně mnoho optimálních řešení. (viz Příklad 3.8) 4) Může dojít k zacyklení výpočtu, tj. pro nové bazické přípustné řešení dostaneme stejné bazické proměnné, které už jsme měli v některém z předchozích bazických přípustných řešeních. Tento případ může nastat, pokud 50

51 se v průběhu výpočtu vyskytne tzv. degenerované bazické řešení, tj. řešení, v němž hodnoty jedné nebo více bazických proměnných jsou rovny nule. K zabránění zacyklení existují různá pravidla (viz [7], str ). My si zde uvedeme jedno z nich. Pravidlo nejmenších indexů: Zvolíme-li vždy ze všech možných nebazických proměnných x s za novou bazickou proměnnou tu s nejmenším indexem s a nahradíme-li s ní ze všech možných bazických proměnných x r tu s nejmenším indexem r, pak k zacyklení nedojde. Simplexová tabulka Pro zjednodušení zápisu postupu řešení simplexovou metodou se používá tzv. simplexová tabulka. Co taková simplexová tabulka obsahuje a jak s ní počítáme, si předvedeme na řešení příkladu 3.6. Pro výchozí bazické přípustné řešení tohoto příkladu vypadá simplexová tabulka následovně. x x 2 x 3 x 4 x 5 x 6 x 7 z = x = x 2 = x 3 = x 4 = V záhlaví tabulky jsou uvedeny všechny proměnné zadané úlohy. První řádek se nazývá cenový řádek a je věnován účelové funkci z = 3x 2x 2 + x 3 + x 4 + 2x 5 + x 6 x 7, která je pro účely tabulky upravena na tvar 0 = z + 3x 2x 2 + x 3 + x 4 + 2x 5 + x 6 x 7. V prvním sloupci tabulky jsou uvedeny hodnoty bazických proměnných pro dané bazické přípustné řešení. Do ostatních sloupců jsme zapsali prvky matice soustavy (3.9). 5

52 Všechny výpočty simplexové metody budeme provádět přímo v této tabulce pomocí řádkových elementárních úprav. Začneme tím, že vypočítáme relativní ceny nebazických proměnných, tj. vhodné násobky řádků tabulky přičteme k cenovému řádku tak, aby ceny bazických proměnných byly rovny nule. To odpovídá tomu, že jsme do rovnice účelové funkce z dosadili za bazické proměnné výrazy (3.0). x x 2 x 3 x 4 x 5 x 6 x 7 z = x = x 2 = x 3 = x 4 = Cenový řádek teď tedy odpovídá rovnici 6 = z 5x 5 + 6x 6 + 2x 7, tj. upravené rovnici (3.). V tabulce jsme červeně označili pivota. Nyní nahradíme stávající bazickou proměnnou x 4 novou bazickou proměnnou x 6. Použijeme stejné elementární řádkové úpravy jako při provedení tohoto kroku v rozšířené matici soustavy. Zároveň spočítáme relativní ceny nových nebazických proměnných a hodnotu z. Dostaneme simplexovou tabulku pro další bazické přípustné řešení. x x 2 x 3 x 4 x 5 x 6 x 7 z = x = x 2 = x 3 = x 6 = Nyní můžeme vypočítat další bazické přípustné řešení, protože jsme našli pivota. x x 2 x 3 x 4 x 5 x 6 x 7 z = x = x 7 = x 3 = x 6 =

53 Pivot opět existuje, tudíž můžeme najít další bazické přípustné řešení s vyšší hodnotou účelové funkce. x x 2 x 3 x 4 x 5 x 6 x z = x = x 7 = x 5 = x 6 = Nyní jsou již v cenovém řádku pouze záporné relativní ceny, tudíž poslední nalezené bazické přípustné řešení je optimálním řešením úlohy. Toto řešení i hodnotu účelové funkce vyčteme z prvního sloupce tabulky: ( 0 x =, 0, 0, 0, 5 5, 22 ) 5, 2, z = Příklad 3.7 Najděte maximum účelové funkce z = x + x 2 + x 3 za podmínek 2x + x 2 + x 3 + x 4 = x 2x 2 + x 3 + x 5 = 2, x, x 2, x 3, x 4, x 5 0. Řešení Sestavíme simplexovou tabulku pro výchozí bazické přípustné řešení x = (0, 0, 0,, 2). x x 2 x 3 x 4 x 5 z = x 4 = -2 0 x 5 =

54 Hodnoty v cenovém řádku jsou již relativní ceny nebazických proměnných, protože účelová funkce je funkcí právě pouze nebazických proměnných. Protože jsou všechny relativní ceny nebazických proměnných stejné, využili jsme při výběru nové bazické proměnné pravidlo nejmenších indexů. Pivot je v tabulce znázorněn červeně. Nyní přejdeme k dalšímu bazickému přípustnému řešení. x x 2 x 3 x 4 x 5 z = x 4 = x = V cenovém řádku opět najdeme kladnou relativní cenu, ovšem pivota určit nemůžeme (všechny hodnoty v příslušném sloupci jsou záporné). Optimální řešení úlohy neexistuje z důvodu neomezenosti množiny přípustných řešení. Příklad 3.8 Najděte maximum účelové funkce z = 2x + x 2 3x 3 za podmínek x + 3x 2 + x 3 + x 4 = 0 x + x 2 + x 3 + x 5 = 2, x, x 2, x 3, x 4, x 5 0. Řešení Začneme simplexovou tabulkou pro výchozí bazické přípustné řešení x = (0, 0, 0, 0, 2). x x 2 x 3 x 4 x 5 z = x 4 = x 5 = 2 0 Nyní přejdeme k dalšímu bazickému přípustnému řešení. Pivot je označen červeně. x x 2 x 3 x 4 x 5 z = x 2 = x 5 =

55 Další bazické přípustné řešení již nenajdeme, protože žádná z relativních cen nebazických proměnných není kladná. Poslední nalezené bazické přípustné řešení x II = ( ) 0, 0 26, 0, 0, 3 3 je proto optimální. Není to však jediné optimální řešení této úlohy, protože relativní cena nebazické proměnné x je nulová. Tato úloha má nekonečně mnoho optimálních řešení a účelová funkce má maximální hodnotu 0. Stejný postup řešení lze použít i v případě úloh, ve kterých musíme použít tzv. doplňkové proměnné, abychom mohli získat výchozí bazické přípustné řešení. Jedná se o úlohy typu maximalizovat za podmínek z = n a ij x j b i, j= n c j x j j= i =,..., m x j 0, j =,..., n, b i 0, i =,..., m. Ukažme si to na příkladu. Příklad 3.9 Najděte maximum účelové funkce z = 3x + x 2 + x 3 za podmínek 2x x 2 + x 3 8 x + 2x 2 + x 3 5, x, x 2, x 3 0. Řešení Pomocí doplňkových proměnných převedeme nerovnice udávající podmínky úlohy na rovnice 2x x 2 + x 3 + x 4 = 8 x + 2x 2 + x 3 + x 5 = 5, 55

56 kde x, x 2, x 3, x 4, x 5 0. Matice této soustavy rovnic obsahuje jednotkovou submatici, proto můžeme k řešení použít simplexovou metodu. Nejprve sestavíme simplexovou tabulku pro výchozí bazické přípustné řešení x = (0, 0, 0, 8, 5) x x 2 x 3 x 4 x 5 z = x 4 = x 5 = a nyní budeme hledat další bazická přípustná řešení. x x 2 x 3 x 4 x 5 5 z = x = x 5 = x x 2 x 3 x 4 x 5 z = x = x 2 = V poslední tabulce již nenajdeme kladnou relativní cenu, proto bazické přípustné řešení x III = ( 2, 2, 0) je optimální řešení zadané úlohy. Účelová 5 5 funkce nabývá maximální hodnoty 3. Simplexovou metodu lze samozřejmě použít i pro minimalizační úlohu lineárního programování. Rozdíl spočívá v tom, že za novou bazickou proměnnou vždy volíme tu nebazickou proměnnou, jejíž relativní cena je nejmenší záporná, tj. takovou nebazickou proměnnou, pro níž platí, že zvýšení její hodnoty způsobí co největší pokles hodnoty účelové funkce. Pro minimalizační úlohu musíme také upravit možnosti ukončení simplexového algoritmu: Možnosti ukončení simplexového algoritmu pro minimalizační úlohu: ) V účelové funkci již není proměnná se zápornou relativní cenou. Poslední nalezené bazické přípustné řešení je optimální

57 2) V účelové funkci je proměnná se zápornou relativní cenou, ovšem v příslušném sloupci matice není prvek s kladnou hodnotou, tj. nelze najít pivota. Poslední nalezené bazické přípustné řešení tudíž není optimální. Další bazické přípustné řešení však vypočítat nemůžeme. Optimální řešení v tomto případě neexistuje, a to z důvodu neomezenosti množiny přípustných řešení. 3) Stejné jako u maximalizační úlohy. 4) Stejné jako u maximalizační úlohy. Příklad 3.0 Najděte minimum účelové funkce z = 2x + x 2 3x 3 za podmínek x + x 2 + 2x 3 + x 4 = 6 x + 3x 2 + x 3 + x 5 = 0 x + x 2 + x 3 + x 6 = 2, x, x 2, x 3, x 4, x 5, x 6 0. Řešení Začneme simplexovou tabulkou pro výchozí bazické přípustné řešení x = (0, 0, 0, 6, 0, 2). x x 2 x 3 x 4 x 5 x 6 z = x 4 = x 5 = x 6 = Tentokrát chceme zjistit minimum účelové funkce, proto pivota hledáme ve sloupci s nejnižší zápornou relativní cenou. V tomto případě jde o červeně označený prvek. Nyní můžeme najít další bazická přípustná řešení. x x 2 x 3 x 4 x 5 x 6 z = x 3 = x 5 = x 6 =

58 x x 2 x 3 x 4 x 5 x 6 z = x 3 = x = x 6 = Poslední nalezené bazické přípustné řešení x III = (4, 0, 6, 0, 0, 2) představuje optimální řešení úlohy. Minimální hodnota účelové funkce je Dvoufázová simplexová metoda V této části textu si ukážeme, jak pomocí simplexové metody vyřešit úlohu lineárního programování typu maximalizovat za podmínek z = c x + c 2 x c n x n a x + a 2 x a n x n = b a 2 x + a 22 x a 2n x n = b 2 a m x + a m2 x a mn x n = b m x j 0, j =, 2,..., n, b i 0, i =, 2,..., m,. (3.8) tj. úlohu, do jejíchž podmínek musíme přidat tzv. pomocné proměnné p i, i =,..., m, abychom v matici soustavy dostali jednotkovou submatici. Soustavu rovnic (3.8) převedeme na soustavu a x + a 2 x a n x n + p = b a 2 x + a 22 x a 2n x n + p 2 = b 2 (3.9). a m x + a m2 x a mn x n + p m = b m p i 0, i =,..., m. Pomocné proměnné nemají reálný význam (slouží jen k tomu, abychom příslušnou úlohu mohli řešit simplexovou metodou). Proto, abychom dostali bazické přípustné řešení úlohy (3.8), musí být hodnoty všech pomocných 58

59 proměnných p i, i =,..., m, rovny nule, neboli minimální hodnota účelové funkce z p = p + p p m musí být nulová. Pokud tomu tak není, úloha (3.8) nemá přípustné řešení. Jak už napovídá název dvoufázová simplexová metoda, probíhá řešení úlohy typu (3.8) ve dvou fázích:. fáze Simplexovou metodou vyřešíme úlohu minimalizovat za podmínek z p = p + p p m a x + a 2 x a n x n + p = b a 2 x + a 22 x a 2n x n + p 2 = b 2. a m x + a m2 x a mn x n + p m = b m x j 0, j =, 2,..., n, p i 0, i =,..., m, b i 0, i =, 2,..., m. Jestliže po vyřešení dostaneme, že z pmin > 0, úloha (3.8) nemá přípustné řešení. Pokud z pmin = 0, získáme z výsledné simplexové tabulky této úlohy výchozí bazické přípustné řešení úlohy (3.8). 2. fáze Simplexovou metodou řešíme úlohu (3.8). Začneme bazickým přípustným řešením získaným v. fázi. Celý postup si ukážeme na následujících příkladech. Příklad 3. Najděte minimum účelové funkce z = x + 2x 2 + 3x 3 + x 4 za podmínek x 2x 2 + x 3 x 4 = 2 2x + x 2 x 3 + 2x 4 = 6, x, x 2, x 3, x

60 Řešení Do každé rovnice (podmínky) přidáme jednu pomocnou proměnnou a budeme řešit úlohu minimalizovat za podmínek simplexovou metodou.. fáze z p = p + p 2 x 2x 2 + x 3 x 4 + p = 2 2x + x 2 x 3 + 2x 4 + p 2 = 6, x, x 2, x 3, x 4 0, p, p 2 0 Sestavíme výchozí simplexovou tabulku x x 2 x 3 x 4 p p 2 z p = p = p 2 = a spočítáme relativní ceny nebazických proměnných. x x 2 x 3 x 4 p p 2 z p = p = p 2 = Nyní již můžeme hledat další bazická přípustná řešení pomocí simplexové metody. x x 2 x 3 x 4 p p 2 z p = x = p 2 =

61 x x 2 x 3 x 4 p p 2 z p = x = x 2 = Poslední tabulka představuje optimální řešení, minimální hodnota účelové funkce z p je rovna nule. Dostali jsme výchozí bazické přípustné řešení x = ( 4 5, 2 5, 0, 0) zadané úlohy. 2. fáze Nyní budeme řešit původní zadanou úlohu. Začneme s bazickým přípustným řešením nalezeným v. fázi. x x 2 x 3 x 4 z = x = x 2 = V cenovém řádku jsou uvedeny koeficienty zadané účelové funkce z. Nyní vypočítáme relativní ceny nebazických proměnných x x 2 x 3 x 4 z = x = x 2 = a hledáme další bazické přípustné řešení x x 2 x 3 x z = x = x 4 = Poslední nalezené bazické přípustné řešení x II = ( 5 2, 0, 0, 2) je již optimální řešení zadané úlohy. Minimální hodnota účelové funkce z je 3. 6

62 Příklad 3.2 Najděte maximum účelové funkce z = x + 2x 2 + x 3 za podmínek 3x + 2x 2 + 3x 3 = 6 x + 2x 2 + 2x 3 = 0, x, x 2, x 3 0. Řešení Do každé rovnice (podmínky) přidáme jednu pomocnou proměnnou a budeme řešit úlohu minimalizovat za podmínek simplexovou metodou.. fáze z p = p + p 2 3x + 2x 2 + 3x 3 + p = 6 x + 2x 2 + 2x 3 + p 2 = 0, x, x 2, x 3 0, p, p 2 0 Sestavíme výchozí simplexovou tabulku. x x 2 x 3 p p 2 z p = p = p 2 = Vypočítáme relativní ceny nebazických proměnných. x x 2 x 3 p p 2 z p = p = p 2 = Nyní již můžeme úlohu vyřešit simplexovou metodou. 62

63 x x 2 x 3 p p 2 z p = x 3 = p 2 = x x 2 x 3 p p 2 z p = x 2 = p 2 = Poslední simplexová tabulka nám již udává optimální řešení, protože všechny relativní ceny nebazických proměnných jsou kladné. Jelikož minimální hodnota účelové funkce z p není rovna nule, nemá původní úloha přípustné řešení. Dvoufázovou simplexovou metodu lze samozřejmě použít i k řešení jiných typů úloh lineárního programování, v nichž musíme použít pomocné proměnné. Příklad 3.3 (zadání viz [7], str. 44) Najděte maximum účelové funkce z = 8x +7x 2 +7x 3 +3x 4 za podmínek 2x + 3x 2 + 4x 3 + 4x 4 6 2x + x 2 + 4x 3 + 3x 4 6 x + x 2 + 2x 3 + 2x 4 9, x, x 2, x 3, x 4 0. Řešení Nejprve pomocí doplňkových proměnných převedeme nerovnice vyjadřující podmínky úlohy na rovnice 2x + 3x 2 + 4x 3 + 4x 4 x 5 = 6 2x + x 2 + 4x 3 + 3x 4 x 6 = 6 x + x 2 + 2x 3 + 2x 4 x 7 = 9, kde x, x 2, x 3, x 4, x 5, x 6, x

64 Od první rovnice odečteme druhou i třetí rovnici a doplníme do ni pomocnou proměnnou, čímž zajistíme, aby matice soustavy rovnic měla jednotkovou submatici. 9 Dostaneme soustavu rovnic 2x 2 + x 4 x 5 + x 6 = 0 x + 2x 2 + 2x 3 + 2x 4 x 5 + x 7 = 7 2x + 3x 2 + 4x 3 + 4x 4 x 5 + p = 6, kde x, x 2, x 3, x 4, x 5, x 6, x 7, p 0. Nyní se můžeme pustit do výpočtu simplexovou metodou.. fáze Vyřešíme úlohu minimalizovat za podmínek z p = p 2x 2 + x 4 x 5 + x 6 = 0 x + 2x 2 + 2x 3 + 2x 4 x 5 + x 7 = 7 2x + 3x 2 + 4x 3 + 4x 4 x 5 + p = 6, x, x 2, x 3, x 4, x 5, x 6, x 7, p 0. x x 2 x 3 x 4 x 5 x 6 x 7 p z p = x 6 = x 7 = p = x x 2 x 3 x 4 x 5 x 6 x 7 p z p = x 6 = x 7 = p = Jednotkovou submatici můžeme dostat i tím, že do každé rovnice přidáme pomocnou proměnnou. To je ovšem nevýhodné, protože bychom museli počítat s větším počtem proměnných. 64

65 x x 2 x 3 x 4 x 5 x 6 x 7 p z p = x 6 = x 3 = p = x x 2 x 3 x 4 x 5 x 6 x 7 p z p = x 6 = x 3 = x 5 = Získali jsme výchozí bazické přípustné řešení zadané úlohy, protože z pmin = fáze Nyní budeme řešit původní zadanou úlohu a jako výchozí bazické přípustné řešení použijeme x = ( 0, 0, 9 2, 0, 2, 2, 0), tj. bazické přípustné řešení, které jsme získali v. fázi. x x 2 x 3 x 4 x 5 x 6 x 7 z = x 6 = x 3 = x 5 = x x 2 x 3 x 4 x 5 x 6 x 7 z = x 6 = x 3 = x 5 = x x 2 x 3 x 4 x 5 x 6 x 7 z = x 4 = x 3 = x 5 =

66 x x 2 x 3 x 4 x 5 x 6 x 7 z = x 4 = x = x 5 = Poslední tabulka odpovídá optimálnímu řešení x III = (5, 0, 0, 2) zadané úlohy. Maximální hodnota účelové funkce z je 66. Příklad 3.4 (zadání viz [7], str. 46) Najděte maximum účelové funkce z = x za podmínek 2x + x 2 x 3 x 4 4 x + 2x 2 + x 3 x 4 = 6 x x 2 + x 3 + x 4 8, x, x 2, x 3, x 4 0. Řešení Nejprve pomocí doplňkových proměnných převedeme nerovnice vyjadřující první a třetí podmínku úlohy na rovnice. Dostaneme soustavu rovnic 2x + x 2 x 3 x 4 x 5 = 4 x + 2x 2 + x 3 x 4 = 6 x x 2 + x 3 + x 4 + x 6 = 8, kde x, x 2, x 3, x 4, x 5, x 6 0. Nyní odečteme první rovnici od druhé a do druhé rovnice potom přidáme pomocnou proměnnou: 3x + x 2 + 2x 3 + x 5 = 2 x + 2x 2 + x 3 x 4 + p = 6 x x 2 + x 3 + x 4 + x 6 = 8, kde x, x 2, x 3, x 4, x 5, x 6, p 0. Tím zajistíme, aby matice soustavy rovnic měla jednotkovou submatici. Můžeme se pustit do výpočtu simplexovou metodou. 66

67 . fáze Vyřešíme úlohu minimalizovat za podmínek z p = p 3x + x 2 + 2x 3 + x 5 = 2 x + 2x 2 + x 3 x 4 + p = 6 x x 2 + x 3 + x 4 + x 6 = 8, x, x 2, x 3, x 4, x 5, x 6, p 0. x x 2 x 3 x 4 x 5 x 6 p z p = x 5 = p = x 6 = x x 2 x 3 x 4 x 5 x 6 p z p = x 5 = p = x 6 = x x 2 x 3 x 4 x 5 x 6 p z p = x 2 = p = x 6 = x x 2 x 3 x 4 x 5 x 6 p z p = x 2 = x = x 6 =

68 Získali jsme výchozí bazické přípustné řešení zadané úlohy, protože z pmin = fáze Nyní začneme řešit původní zadanou úlohu a jako výchozí bazické přípustné řešení použijeme x = ( 2, 6, 0, 0, 0, ) , tj. bazické přípustné řešení, které jsme získali v. fázi. x x 2 x 3 x 4 x 5 x 6 z = x 2 = x = x 6 = z = x 2 = x x 2 x 3 x 4 x 5 x x = x 6 = x x 2 x 3 x 4 x 5 x 6 z = x 2 = x = x 3 = x x 2 x 3 x 4 x 5 x 6 z = x 2 = x = x 5 = = (22, 4, 0, 0) za- Poslední tabulka odpovídá optimálnímu řešení x III dané úlohy. Maximální hodnota účelové funkce z je

69 3.2.4 Řešení pomocí programu Maple V programu Maple 0 slouží k řešení úloh lineárního programování knihovna s názvem simplex. Tato knihovna obsahuje příkazy, pomocí nichž buď rovnou nalezneme optimální řešení úlohy (viz příklady 3.5, 3.6, 3.7, 3.8), nebo zobrazíme jednotlivé kroky simplexového algoritmu (viz příklad 3.9). Obě možnosti řešení si nyní ukážeme na konkrétních příkladech. ) Zajímá nás jen optimální řešení: Příklad 3.5 Najděte maximum účelové funkce z = 2x + 3x 2 + 4x 3 za podmínek x + x 2 + 2x 3 5 x + 3x 2 + x 3 6 3x + x 2, x, x 2, x 3 0. Řešení Abychom mohli úlohu vyřešit, zavoláme knihovnu simplex. O with simplex : Zadefinujeme účelovou funkci z a množinu podmínek úlohy. O O zd2$xc3$x2c4$x3; z := 2 xc3 x2c4 x3 podminkyd xcx2c2$x3% 5, xc3$x2cx3r 6, 3$xCx2% ; podminky := xcx2c2 x3% 5, 3 xcx2%, 6% xc3 x2cx3 Pomocí příkazu maximize najdeme optimální řešení. O maximize z, podminky, NONNEGATIVE ; x2 =, x = 0, x3 = 2 Tento příkaz může mít i jinou podobu. Místo parametrů z a podminky vypíšeme účelovou funkci a všechny nerovnice. 0 Více informací k danému tématu čtenář najde např. v [6]. K řešení optimalizačních úloh slouží také knihovna optimization, která obsahuje podobné příkazy jako knihovna simplex. Navíc lze pomocí ní řešit i úlohy nelineárního programování. 69

70 O maximize 2$x C3$x2 C4$x3, %, NONNEGATIVE ; x Cx2 C2$x3% 5, x C3$x2 Cx3 R 6, 3$x Cx2 x = 0, x3 = 2, x2 = Parametr NONNEGATIVE nahrazuje podmínky nezápornosti. Pokud v úloze nepožadujeme nezápornost proměnných, nahradíme NONNEGA- TIVE slovem UNRESTRICTED, nebo tento parametr úplně vynecháme. Abychom dostali maximální hodnotu účelové funkce, musíme do ní dosadit získané hodnoty proměnných. To za nás udělá příkaz assign. O assign % : z; 4 Účelová funkce tedy za uvedených podmínek nabývá maximální hodnoty 4. Příklad 3.6 Najděte maximum účelové funkce z = x + x 2 + x 3 za podmínek 2x + x 2 + x 3 x 2x 2 + x 3 2 2x + 3x 2 + x 3 5, x, x 2, x 3 0. Řešení Při řešení budeme postupovat stejně jako v předchozím příkladu. O O O with simplex : zdxcx2cx3; z := xcx2cx3 podminkyd K2$xCx2Cx3%, xk2$x2cx3% 2, 2$xC3$x2Cx3R 5 ; podminky := K2 xcx2cx3%, xk2 x2cx3% 2, 5% 2 xc3 x2cx3 O maximize z, podminky, NONNEGATIVE ; O Všimněme si, že Maple tentokrát nevypsal žádné optimální řešení. To znamená, že množina přípustných řešení je neomezená a hodnota účelové funkce na ní může neomezeně růst. 70

71 Příklad 3.7 Najděte minimum účelové funkce z = x + 2x 2 + x 3 za podmínek x + x 2 x 3 3 x x 2 2x 3 5, x, x 2, x 3 0. Řešení Postup řešení je opět stejný jako v předchozích příkladech, jen místo příkazu maximize použijeme příkaz minimize, protože hledáme minimum účelové funkce. O O O O with simplex : zdxc2$x2cx3; z := xc2 x2cx3 podminkyd xcx2kx3% 3, xkx2k2$x3r 5 ; podminky := xcx2kx3% 3, 5% xkx2k2 x3 minimize z, podminky, NONNEGATIVE ; Výsledkem řešení je v tomto případě prázdná množina. To znamená, že úloha nemá žádné optimální řešení, protože množina přípustných řešení je prázdná. Tento poznatek si můžeme ověřit příkazem feasible, který nám umožní zjistit, zda zadaná soustava má, nebo nemá řešení. Jestliže ano, program vypíše odpověď true. Pokud ne, vypíše odpověď false. O feasible x Cx2 Kx3 % 3, x Kx2 K2$x3 R 5, NONNEGATIVE ; false Naše soustava nerovnic opravdu nemá žádné řešení. Příklad 3.8 Najděte minimum účelové funkce z = 3x + 2x 2 za podmínek 2x x 2 8 x + 2x 2 5 3x + 2x 2 0, x, x 2, x

72 Řešení Tento příklad jsme již řešili graficky v oddílu 3.2. (příklad 3.3) a vyšlo nám, že úloha má nekonečně mnoho optimálních řešení. Podívejme se, co dostaneme po vyřešení v programu Maple. O O O O with simplex : zd3$xc2$x2; z := 3 xc2 x2 podminkyd 2$xKx2% 8,KxC2$x2% 5, 3$xC2$x2R 0 ; podminky := 2 xkx2% 8,KxC2 x2% 5, 0% 3 xc2 x2 minimize z, podminky, NONNEGATIVE ; x2 = 0, x = 0 3 O assign % : z; 0 Program Maple vypsal pouze jedno z optimálních řešení. 2) Chceme zobrazit jednotlivé kroky simplexového algoritmu: Příklad 3.9 Najděte maximum účelové funkce z = 3x + x 2 + x 3 za podmínek 3x + 2x 2 + x 3 0 2x x 2 + x 3 8 x + 2x 2 + x 3 5, x, x 2, x 3 0. Řešení V tomto příkladu si programem Maple necháme zobrazit jednotlivé kroky simplexového algoritmu. Začneme opět tím, že zavoláme knihovnu simplex a definujeme účelovou funkci a množinu podmínek úlohy. O O O with simplex : zd3$xc x2cx3; z := 3 xcx2cx3 podminkyd 3$xC2$x2Cx3% 0, 2$xKx2Cx3% 8, xc2$x2cx3% 5 ; podminky := 3 xc2 x2cx3% 0, 2 xkx2cx3% 8, xc2 x2cx3% 5 Nyní použijeme příkaz setup, který nám podmínky převede na soustavu lineárních rovnic, v nichž se na levé straně nachází jen bazická proměnná. 72

73 Doplňkové proměnné označuje Maple SLi, kde i =, 2, 3,... Pokud v příkazu použijeme parametr NONNEGATIVE, budou všechny proměnné považovány za nezáporné. O podminky d setup podminky, NONNEGATIVE ; podminky := _SL = 0K3 xk2 x2kx3, _SL2 = 8K2 xcx2kx3, _SL3 = 5KxK2 x2kx3 Všechny bazické proměnné v příslušném kroku algoritmu si můžeme nechat vypsat příkazem basis. Podmínky při tom musí být ve tvaru získaném příkazem setup. O basis podminky ; _SL, _SL2, _SL3 V dalším kroku potřebujeme určit proměnnou s kladným koeficientem c i v účelové funkci (s kladnou relativní cenou), která nahradí jednu ze stávajících bazických proměnných. K tomu slouží příkaz pivotvar. Jako volitelný parametr můžeme zadat pořadí, v jakém má Maple proměnné zkoumat. Pokud by Maple nenašel žádnou proměnnou s kladnou relativní cenou, vypsal by odpověď FAIL a algoritmus by skončil. O pivotvar z, x, x2, x3 ; x V našem případě vybral Maple proměnnou x. Příkaz pivoteqn nám pomůže zjistit, kterou z dosavadních bazických proměnných nahradíme. Vypíše tu rovnici, pro níž je hodnota podílu vzhledem k proměnné x, podle kterého volíme novou bazickou proměnnou, nejmenší kladná. Pokud by žádný z podílů nebyl kladný, Maple by vypsal odpověď FAIL a algoritmus by skončil. O pivoteqn podminky, x ; _SL = 0K3 xk2 x2kx3 V našem případě nahradí proměnná x bazickou proměnnou SL. Již zmíněné podíly, podle kterých volíme novou bazickou proměnnou, si můžeme nechat vypsat příkazem ratio. Má-li některý z podílů zápornou hodnotu, Maple vypíše symbol. 73

74 O ratio podminky, x ; 4, 5, 0 3 Výměnu proměnných x a SL provedeme příkazem pivot. Z rovnice určené příkazem pivoteqn Maple vyjádří proměnnou x a výsledek dosadí do všech rovnic. Získáme tak novou podobu soustavy s novou bazickou proměnnou. O podminkydpivot podminky, x, _SL = 0K3 xk2 x2kx3 ; podminky := x =K 3 _SLC 0 3 K 2 3 x2k 3 x3, _SL2 = 4 3 C 2 3 _SLC 7 3 x2k 3 x3, _SL3 = 5 3 C 3 _SLK 4 3 x2k 2 3 x3 Abychom mohli v algoritmu pokračovat, zobrazíme si průběžnou podobu účelové funkce (do původní účelové funkce dosadíme vyjádření proměnné x ). O xdk 3 _SLC 0 3 K 2 3 x2k 3 x3; O z; x :=K 3 _SLC 0 3 K 2 3 x2k 3 x3 K_SL C0 Kx2 Nyní můžeme opět použít příkaz pivotvar. O pivotvar z ; FAIL Maple hlásí, že již nenašel žádnou proměnnou s kladnou relativní cenou. Simplexový algoritmus proto končí. Zbývá nám dopočítat optimální řešení a maximální hodnotu účelové funkce. Výsledek získáme tak, že za nebazické proměnné v poslední podobě soustavy a účelové funkce dosadíme nulu. Pokud chceme, aby to za nás provedl Maple, použijeme následující příkazy. O O O unassign 'x' : assign _SL = 0, x2 = 0, x3 = 0 : podminky; _SL3 = 5 3, _SL2 = 4 3, x =

75 O assign podminky : x, x2, x3; O z; 0 3, 0, 0 0 Hledané optimální řešení je x = 0 3, x 2 = 0 a x 3 = 0 a účelová funkce nabývá maximální hodnoty Řešení pomocí programu MS Excel Úlohy lineárního programování můžeme řešit i v programu MS Excel, kde k tomu slouží aplikace Řešitel. K ilustraci jejího použití nám poslouží následující příklad 2. Příklad 3.20 Firma vyrábějící obložené mísy má k dispozici 2 kg šunky, 6 kg loveckého salámu, 4 kg slaniny, 0 kg ementálu, 7,5 kg hermelínu a 3,5 kg nivy. Z těchto surovin vyrábí čtyři druhy mís: salámovou, sýrovou, mix, mix velkou. Množství surovin potřebná k výrobě jednotlivých mís jsou uvedena v tabulce spolu s cenami za jednu mísu. salámová sýrová mix mix velká šunka 400 g 300 g 350 g lovecký salám 250 g 50 g 200 g slanina 200 g 50 g ementál 400 g 300 g 200 g hermelín 250 g 200 g 250 g niva 200 g 200 g cena za mísu 400 Kč 450 Kč 500 Kč 650 Kč Určete, kolik kusů jednotlivých druhů obložených mís musí firma vyrobit, aby byl její zisk co největší. Kolik peněz firma vydělá? Spotřebuje všechny suroviny beze zbytku? Pokud ne, určete, jaké množství surovin jí ještě zbyde. 2 Ukázku řešení úlohy lineárního programování pomocí programu excel na jiném příkladu čtenář najde např. v [7]. 75

76 Řešení Označíme-li si x... počet salámových mís, x 2... počet sýrových mís, x 3... počet mís mix, x 4... počet velkých mís mix, z... zisk, můžeme úlohu lineárního programování formulovat následovně: maximalizovat za podmínek z = 400x + 450x x x 4 400x + 300x x x + 50x x x + 50x x x x x x x x x , x, x 2, x 3, x 4 0. Chceme-li úlohu řešit pomocí programu MS Excel, musíme do něj nejprve zadat všechna vstupní data. Jedna z možností jejich uspořádání na listu je uvedena na obrázku 3.8. Přímo numericky zadané hodnoty jsou zde napsány černě: Blok C3:F8 zobrazuje množství surovin (v gramech) potřebné k výrobě jednotlivých mís. Sloupec H3:H8 vyjadřuje dostupné množství surovin (v gramech), tj. pravé strany omezujících podmínek. V řádku C:F jsou uvedeny ceny (v Kč) jednotlivých mís. Proměnným x, x 2, x 3 a x 4 ze zadání úlohy odpovídají prozatím prázdné buňky řádku C3:F3. 76

77 ! " #$%& '(! )!!!$ * +!! )! - #$ (, Obrázek 3.8: Zadání vstupních dat do Excelu. Abychom mohli v Excelu zapsat omezující podmínky, musíme nejdříve vyjádřit jejich levé strany. Zaměřme se například na naší první omezující podmínku. Její levá strana je skalárním součinem řádků C3:F3 (vektor koeficientů vyjadřujících množství šunky potřebné k výrobě jednotlivých mís) a C3:F3 (vektor proměnných). Do buňky I3, v níž bude v našem případě uvedena levá strana první podmínky, napíšeme vzorec =SOU- ČIN.SKALÁRNÍ(C3:F3;C3:F3). Stejným způsobem zadáme i levé strany ostatních omezujících podmínek do sloupce I4:I8. Účelovou funkci úlohy můžeme také vyjádřit jako skalární součin, tentokrát vektoru cen s vektorem proměnných. Do buňky H, v níž se v našem případě bude zobrazovat hodnota účelové funkce, proto napíšeme vzorec =SOUČIN.SKALÁRNÍ(C:F;C3:F3). Nyní máme vstupní údaje připravené a můžeme spustit aplikaci Řešitel. Ve starších verzích Excelu ji najdeme v menu Nástroje, v Excelu 2007 se nachází v položce menu Data. Po spuštění Řešitele se otevře dialogové okno Parametry Řešitele (viz obr. 3.9). V něm musíme zadat následující informace: ) Buňku se vzorcem pro výpočet hodnoty účelové funkce. (položka Nastavit buňku) 2) Zda hledáme maximum, minimum, nebo určitou hodnotu účelové funkce. 3) Oblast proměnných dané úlohy. (položka Měněné buňky) 77

78 Obrázek 3.9: Dialogové okno Parametry Řešitele. 4) Omezující podmínky úlohy. Po kliknutí na tlačítko Přidat se zobrazí dialogové okno Přidat omezující podmínky (viz obr. 3.0), v němž zadáváme tři položky: a) Adresu buňky se vzorcem pro výpočet levé strany příslušné podmínky. (položka Odkaz na buňku) b) Typ omezení:, =,, celé, binární. c) Omezující podmínku, kterou můžeme zadat adresou buňky s pravou stranou příslušné podmínky, nebo přímo číselnou hodnotou. Obrázek 3.0: Dialogové okno Přidat omezující podmínky. 78

79 Další parametry lze nastavit v nabídce Možnosti (viz obr. 3.). U prvních čtyř položek můžeme obvykle ponechat přednastavené hodnoty. Jedná se o Maximální čas, který představuje dobu, po jejímž uplynutí je výpočet přerušen. Počet iterací, po jehož dosažení je výpočet přerušen a uživateli je nabídnuto řešení z poslední iterace. Přesnost, se kterou musí souhlasit pravá a levá strana podmínky, aby byla podmínka považována za splněnou. Toleranci, což je v procentech daná odchylka pro celočíselné řešení. Protože řešíme úlohy lineárního programování, je dobré zapnout položku Lineární model, čímž urychlíme zpracování úlohy. Pokud požadujeme nezápornost řešení, zapneme také parametr Nezáporná čísla. Další parametry v tomto okně nejsou pro naše výpočty podstatné, necháme je v přednastaveném stavu. Obrázek 3.: Dialogové okno Možnosti Řešitele. Nyní již můžeme spustit zpracování pomocí tlačítka Řešit v dialogovém okně Parametry řešitele. 79

80 Po ukončení výpočtu se zobrazí dialogové okno Výsledky řešení (viz obr. 3.2). V něm se dovíme, zda řešitel nalezl řešení splňující všechny omezující podmínky, nebo ne. Obrázek 3.2: Dialogové okno Výsledky řešení. Dále si zde zvolíme, jestli chceme uchovat řešení, nebo obnovit původní hodnoty. Pokud se rozhodneme pro první možnost, budou prázdné buňky pro proměnné (v našem případě C3:F3) vyplněny optimálními hodnotami proměnných (viz obr. 3.3). Navíc budou dopočítány levé strany omezujících podmínek (buňky I3:I8) a především v našem případě maximální hodnota účelové funkce (buňka H).!" #$% & '(! )!!!$ * +!! )! -./0. #$ ( 2 34, Obrázek 3.3: Řešení Příkladu 3.. Podrobnější informace o řešení obsahují tři zprávy (výsledková, citlivostní a limitní), které si můžeme nechat vygenerovat jejich označením v di- 80

81 alogovém okně Výsledky řešení. Každá vybraná zpráva se zobrazí na samostatném listu. Ve výsledkové zprávě najdeme informace o původních a konečných hodnotách proměnných a účelové funkce a také informace o vztahu mezi pravými a levými stranami podmínek úlohy. Všimněme si posledního sloupce ve výsledkové zprávě našeho příkladu (obr. 3.4). Najdeme zde množství jednotlivých surovin, které firmě zbyde po vyrobení optimálního počtu obložených mís. Firmě tedy ještě zbyde 200 g šunky, 200 g slaniny, 50 g hermelínu a 00 g nivy. Ostatní suroviny spotřebovala beze zbytku.! "#! $ %$&& ' ( )* +,+-.+ / / 0! "#! $2$&3 4 * $ 8$&3 4 *5 5 9: + ; $ <$&3 4 *5 5 5* + &= $ >$&3 4 *5 5 5* (6 + 4 B5A C! DE FGH I! JH EK $ L$3 M 4 N( &+7++ $ L$3 OP $ %$3 (46 A &,++ $ L$- 6 ( ' 9 Q 4 N( =+++ $ L$-OP $ %$- R 6 A + $ L$. 6 * 4 N(,7++ $ L$.OP $ %$. (46 A &,++ $ L$= (5( 6 4 N( &++++ $ L$= OP $ %$= R6 A + $ L$S T(:5(6A 4 N( S-.+ $ L$SOP $ %$S (46 A.+ $ L$7 * 4 N( 3-++ $ L$7OP $ %$7 (46 A &++ $2$&3 4 * $2$&3 P ' (60UV A 6 R6 A + $ 8$&3 4 *5 5 9: ; $ 8$&3 P ' (60UV A 6 R6 A + $ <$&3 4 *5 5 5* &= $ <$&3 P ' (60UV A 6 R6 A + $ >$&3 4 *5 5 5* (6 7 $ >$&3 P ' (60UV A 6 R6 A + Obrázek 3.4: Výsledková zpráva Příkladu 3.. Protože jsme hledali celočíselné řešení, neexistuje pro nás citlivostní, ani limitní zpráva. Řekněme si však stručně, čeho se týkají. Citlivostní zpráva obsahuje tzv. intervaly stability pro pravé strany podmínek a pro cenové koeficienty, tj. udává, v jakém rozmezí se mohou měnit ceny a hodnoty pravých stran podmínek, aniž by se změnilo optimální řešení 8

82 úlohy. Limitní zpráva uvádí, jak se mění hodnota účelové funkce při změně hodnot proměnných. 3.3 Základní typy úloh lineárního programování 3.3. Dopravní problém Dopravní problém je nejstarší úlohou lineárního programování (viz např. [7]). Jedná se o naplánování rozvozu nějakého zboží (materiálu) od dodavatelů k odběratelům s cílem minimalizovat celkové náklady související s rozvozem, popřípadě minimalizovat celkový počet najetých kilometrů. Mějme m dodavatelů, z nichž i-tý dodavatel nabízí a i, i =,..., m jednotek zboží. Zboží se dopravuje k n odběratelům, přičemž každý požaduje b j, j =,..., n jednotek zboží. Předpokládejme, že nabídka dodavatelů přesně pokrývá požadavky odběratelů 3, tj. m n a i = b j. (3.20) i= Náklady na přepravu jednotkového množství zboží od i-tého dodavatele k j -tému odběrateli (resp. počet kilometrů mezi nimi) označíme c ij, i =,..., m, j =,..., n. Pro množství zboží x ij převážené od i-tého dodavatele k j -tému odběrateli musí platit: n x ij = a i i =,..., m (3.2) j= j= m x ij = b j j =,..., n (3.22) i= x ij 0 i =,..., m, j =,..., n. (3.23) 3 Takový dopravní problém nazýváme vyrovnaný. Můžeme se ovšem setkat i s nevyrovnaným dopravním problémem, kdy buď nejsou uspokojeny všechny požadavky odběratelů (tzv. problém s převisem poptávky), nebo zůstane nevyužita část kapacity dodavatelů (tzv. problém s převisem nabídky). 82

83 Soustava rovnic (3.2) vyjadřuje vyčerpání nabídky dodavatelů, rovnice (3.22) vyjadřují pokrytí požadavků odběratelů a nerovnice (3.23) znamenají, že množství převáženého zboží jsou vždy nezáporná. Vzhledem k tomu, že platí (3.20), jsou rovnice soustavy (3.2) a (3.22) navzájem lineárně závislé a jednu z nich lze vynechat (viz [7], str. 4). Matematická formulace dopravního problému vypadá následovně: minimalizovat za podmínek m n z = c ij x ij i= j= n x ij = a i i =,..., m, j= m x ij = b j j =,..., n, i= x ij 0 i =,..., m, j =,..., n. Zadání konkrétního dopravního problému najdete v kapitole 4 pod označením Příklad 4. a Směšovací problém Směšovací problém je spojen například s mícháním krmných směsí, s výrobou slitin, různých druhů benzínu, se sestavováním jídelníčku 4 apod. Mějme n surovin známého složení a ceny. Cílem je namíchat výslednou směs tak, aby obsahovala alespoň minimální množství sledovaných ukazatelů (např. vitamíny v potravinách) a aby náklady na suroviny byly minimální. Použité množství j -té suroviny označíme x j, cenu jednotkového množství této suroviny c j. Jednotkové množství j -té suroviny obsahuje množství a ij i-tého ukazatele. Požadované složení směsi vyjadřují hodnoty b i, i =,..., m, tak, že i-tá hodnota značí předepsané množství i-té látky ve směsi. Jako úlohu lineárního programování formulujeme směšovací problém následovně: 4 V tomto případě se spíše používá označení dietní (nutriční) problém. 83

84 minimalizovat za podmínek z = n a ij x j b i j= n c j x j j= i =,..., m x j 0 j =,..., n. Kromě uvedených podmínek se v této úloze mohou vyskytovat i další omezení: maximální nebo minimální množství surovin, které lze použít; maximální množství ukazatelů ve směsi. Zadání konkrétního směšovacího problému najdete v kapitole 4 např. pod označením Příklad 4. a Výrobní problém Namísto označení výrobní problém se někdy můžete setkat s označením úloha o plánování výroby (úloha o výrobním plánu). Jedná se o naplánování výroby n různých výrobků s cílem maximalizovat zisk, resp. minimalizovat náklady či ztráty. Při tom se musí brát v úvahu omezená kapacita m typů zdrojů (např. suroviny, výrobní stroje, pracovní síla) a dané požadavky na výrobu (množství jednotlivých zdrojů potřebné k výrobě určitého výrobku). Označíme-li - b i kapacitu i-tého zdroje, - a ij množství i-tého zdroje potřebné na výrobu jednoho kusu j-tého výrobku, - c j prodejní cenu jednoho kusu j-tého výrobku (resp. náklady na výrobu jednoho kusu j-tého výrobku), - x j množství j-tého výrobku, 84

85 potom je úlohou lineárního programování maximalizovat (resp. minimalizovat) z = n c j x j j= za podmínek n a ij x j b i j= i =,..., m x j 0 j =,..., n. Někdy je navíc dán minimální počet k j kusů j-tého výrobku, který musí být vyroben. Podmínku nezápornosti pro příslušný výrobek potom nahradí omezení x j k j. Zadání konkrétního výrobního problému najdete v kapitole 4 pod označením Příklad 4.6 a Řezný problém Namísto označení řezný problém se někdy používá označení úloha o (optimálním) dělení materiálu. Tato úloha spočívá v tom, že máme k dispozici určitý počet kusů materiálu (např. trubky, tyče, provazy, prkna...) délky d 0. Ty chceme rozřezat na menší části o daných délkách d,..., d n. Přitom musíme respektovat požadavky na to, v jakém poměru nařezané části mají být, kolik minimálně, resp. maximálně jich máme nařezat apod. Každý výchozí kus lze rozřezat několika způsoby, které zahrneme do tzv. řezného schématu. Cílem úlohy je vybrat takový způsob rozřezání, při kterém minimalizujeme vzniklý odpad, spotřebu materiálu, popř. náklady. Zadání konkrétního řezného problému najdete v kapitole 4 např. pod označením Příklad 4.4 a

86 Kapitola 4 Příklady Příklad 4. Součástí charitativní akce je barmanská show. Každý ze šesti přítomných barmanů vyrábí dva druhy míchaných nápojů, které se budou následně prodávat přítomným lidem. My se zaměříme na jednoho z nich. Ten míchá nápoje Oramato a Orange tonic. Jejich složení a ceny jsou uvedeny v tabulce. Oramato Orange tonic pomerančový džus 2 cl 4 cl rajčatová šťáva 9 cl tonic 2 cl cena za sklenici 45 Kč 40 Kč K dispozici má 6 litrů pomerančového džusu, 4,5 litru rajčatové šťávy a 5,4 litru tonicu. Kolik sklenic obou nápojů má namíchat, aby částka vytěžená z jejich prodeje byla co největší? O jakou částku jde? Spotřebuje barman všechny suroviny beze zbytku? Pokud ne, určete, jaké množství jednotlivých surovin mu zbyde. Řešení Označíme-li si x... počet sklenic nápoje Oramato, y... počet sklenic nápoje Orange tonic, z... zisk z prodeje (v Kč), 86

87 můžeme úlohu lineárního programování formulovat následovně: maximalizovat za podmínek z = 45x + 40y 2x + 4y 600 9x 450 2y 540, x, y 0. Soustavu nerovnic vyjadřujících podmínky úlohy můžeme ještě upravit do podoby: 3x + y 50 x 50 y 45, x, y 0. Protože se v této úloze vyskytují jen dvě proměnné, budeme ji řešit graficky. Množina všech přípustných řešení úlohy je znázorněna na obrázku 4.. Získali jsme ji vyřešením soustavy nerovnic tvořících podmínky úlohy. Nyní zvolíme několik hodnot účelové funkce a sestrojíme jim odpovídající rovnoběžky (viz obrázek 4.2). Vidíme, že hodnota účelové funkce roste ve směru normálového vektoru rovnoběžek orientovaného směrem od počátku soustavy souřadnic. Maximální hodnoty bude nabývat v bodě množiny přípustných řešení, který se v daném směru nachází nejdále od počátku soustavy souřadnic, tj. v bodě C. Jeho souřadnice určíme vyřešením soustavy rovnic y = 45 a 3x+y = 50. Bod C má tedy souřadnice [35; 45]. Dosadíme-li je do účelové funkce z = 45x + 40y, dostaneme hledané maximum z = = (viz obr. 4.2). Barman tudíž musí namíchat 35 sklenic nápoje Oramato a 45 sklenic nápoje Orange tonic, aby částka vytěžená z jejich prodeje dosáhla maximální hodnoty Kč. 87

88 y 50 y x y 50 x D y 45 C 50 D C z 2500 z 4000 A 0 B x A 0 z 3375 z 000 B x Obrázek 4.: Řešení soustavy nerovnic z příkladu 4.. Obrázek 4.2: Hledání maximálního zisku. Abychom zjistili, zda barman spotřebuje všechny suroviny beze zbytku, dosadíme do soustavy nerovnic vyjadřujících podmínky úlohy získané počty namíchaných sklenic. Poté porovnáme pravé a levé strany. 2x + 4y = = 600 9x = 9 35 = 35 < = 35 2y = 2 45 = 540 Barman spotřebuje celé množství pomerančového džusu i tonicu, ale zbyde mu 35 cl (,35 l) rajčatové šťávy. Příklad 4.2 (zadání převzato z [3]) Výrobce sladkostí chce koupit od dvou různých čokoládoven směsi tří druhů pralinek (s lískovými oříšky, s bílou čokoládou a s hořkou čokoládou), které jsou dodávány v baleních pod názvy Praliné d Or a Knusper Gala. Následující tabulka udává, kolik obě balení stojí a jaké množství jednotlivých druhů pralinek obsahují. 88

89 Praliné d Or Knusper Gala s lískovými oříšky 2 kg kg z bílé čokolády 4 kg 5 kg z hořké čokolády 2 kg 5 kg cena za balení 6,4 tis. Kč 8,8 tis. Kč Cukrář chce z nakoupených pralinek vyrábět svou vlastní směs a tu dále prodávat. Dostatečné množství nové směsi by mělo obsahovat nejméně 46 kg pralinek s lískovými oříšky, 550 kg pralinek z bílé a 400 kg pralinek z hořké čokolády. Kolik kusů obou balení musí výrobce koupit, aby to pro něj bylo co nejvýhodnější? Řešení Pokud si označíme x... počet balení pralinek Praliné d Or, y... počet balení pralinek Knusper Gala, z... cena za všechna nakoupená balení (v tis. Kč), můžeme úlohu lineárního programování formulovat následovně: minimalizovat za podmínek z = 6, 4x + 8, 8y 2x + y 46 4x + 5y 550 2x + 5y 400, x, y 0. Protože se v úloze vyskytují jen dvě proměnné, budeme ji řešit graficky. Vyřešením soustavy nerovnic tvořících podmínky úlohy získáme množinu všech přípustných řešení, která je znázorněna na obrázku 4.3. Nyní zvolíme několik hodnot účelové funkce a sestrojíme jim odpovídající rovnoběžky (viz obrázek 4.4). Hodnota účelové funkce klesá ve směru normálového vektoru rovnoběžek orientovaného směrem k počátku soustavy souřadnic. Minimální hodnoty bude nabývat v bodě množiny přípustných 89

90 řešení, který se v daném směru nachází nejblíže k počátku soustavy souřadnic, tj. v bodě C. y y 50 A 50 A B 4 x 5 y 550 B 50 C 50 C z x y 46 2 x 5 y D x 0 z 500 z 920 D x Obrázek 4.3: Řešení soustavy nerovnic z příkladu 4.2. Obrázek 4.4: Hledání minima funkce z. Jeho souřadnice můžeme určit vyřešením soustavy rovnic 4x + 5y = 550 a 2x + 5y = 400. Bod C má tedy souřadnice [75; 50]. Jestliže je dosadíme do účelové funkce z = 6, 4x + 8, 8y, dostaneme hledané minimum z = 6, , 8 50 = 920. Výrobce musí koupit 75 balení pralinek Praliné d Or a 50 balení pralinek Knusper Gala. Zaplatí za ně Kč. Příklad 4.3 (zadání převzato z [3]) Zemědělec by chtěl na maximálně 40 ha půdy pěstovat pšenici nebo brambory. Spočítal si, že kvůli své vytíženosti se může poli věnovat nejvýše 420 hodin za rok. Práce na ha pšenice zabere 7 hodin a na ha brambor 2 hodin. Množství pšenice potřebné na osetí ha půdy stojí 2,5 tis. Kč, brambory potřebné na osázení stejné plochy stojí 5,5 tis. Kč. Zemědělec má k dispozici celkem 36 tis. Kč. Čistý výnos z ha pšenice činí 3,2 tis. Kč, výnos z ha brambor 7 tis. Kč. Kolik pšenice a brambor by měl zemědělec pěstovat, aby měl co největší zisk? 90

91 Řešení Označíme si x... počet hektarů pšenice, y... počet hektarů brambor, z... zisk (v tis. Kč), a úlohu lineárního programování formulujeme následovně: maximalizovat z = 3, 2x + 7y za podmínek x + y 40 7x + 2y 420 2, 5x + 5, 5y 36, x, y 0. Protože se úloze vyskytují jen dvě proměnné, budeme ji řešit graficky. Množina všech přípustných řešení, kterou jsme získali vyřešením soustavy nerovnic tvořících podmínky úlohy, je znázorněna na obrázku 4.5. y y D 20 D x y C 2.5 x 5.5 y 36 0 C z x 2 y A B x A 0 z 70 B z x Obrázek 4.5: Řešení soustavy nerovnic z příkladu 4.3. Obrázek 4.6: Hledání maximálního zisku. 9

92 Jestliže zvolíme několik hodnot účelové funkce a sestrojíme jim odpovídající rovnoběžky (viz obrázek 4.6), vidíme, že hodnota účelové funkce roste ve směru normálového vektoru rovnoběžek orientovaného směrem od počátku soustavy souřadnic. Maximální hodnoty bude účelová funkce nabývat v bodě množiny přípustných řešení, který se v daném směru nachází nejdále od počátku soustavy souřadnic, tj. v bodě C. Jeho souřadnice můžeme určit vyřešením soustavy rovnic x + y = 40 a 7x + 2y = 420. Bod C má tedy souřadnice [30; 0]. Dosadíme-li je do účelové funkce z = 3, 2x + 7y, dostaneme hledané maximum z = 3, = 66 (viz obr. 4.6). Zemědělec by měl pěstovat 30 ha pšenice a 0 ha brambor, aby měl maximální zisk 66 tis. Kč. Příklad 4.4 Firma vyrábějící parkety potřebuje z 300 ks výchozího materiálu o délce 70 cm nařezat maximálně 260 parket dlouhých 20 cm a alespoň 400 parket délky 5 cm. Odpad, který vznikne při řezání každého kusu výchozího materiálu přitom nesmí být větší než 5 cm. Jak má firma výchozí materiál nařezat, aby byl celkový odpad minimální? Řešení Protože se jedná o tzv. řezný problém, musíme nejprve sestavit řezné schéma. Kusy výchozího materiálu délky 70 cm můžeme na parkety rozřezat čtyřmi způsoby, které jsou i spolu s odpadem uvedeny v tabulce cm cm odpad v cm V této úloze však připadají v úvahu jen druhý a třetí způsob rozřezání, protože v zadání je řečeno, že odpad z každého kusu výchozího materiálu nesmí být větší než 5 cm. Označíme-li si 92

93 x... počet ks materiálu rozřezaných 2. způsobem, y... počet ks materiálu rozřezaných 3. způsobem, z... celkový odpad (v cm), můžeme úlohu lineárního programování formulovat následovně: minimalizovat z = 5y za podmínek 2x + y 260 2x + 3y 400 x + y 300, x, y 0. Vyřešením soustavy nerovnic tvořících podmínky dostaneme množinu všech přípustných řešení úlohy (viz obrázek 4.7). y y C 250 C x y z A B 2 x y x 3 y A B z 350 z x x Obrázek 4.7: Řešení soustavy nerovnic z příkladu 4.3. Obrázek 4.8: Hledání minimálního odpadu. Jestliže zvolíme několik hodnot účelové funkce a sestrojíme jim odpovídající rovnoběžky (viz obrázek 4.8), vidíme, že hodnota účelové funkce klesá ve směru normálového vektoru rovnoběžek orientovaného směrem k počátku soustavy souřadnic. Minimální hodnoty bude proto účelová funkce nabývat v bodě B. 93

94 Jeho souřadnice můžeme určit vyřešením soustavy rovnic 2x + y = 260 a 2x + 3y = 400. Bod B má tedy souřadnice [95; 70]. Dosadíme-li je do účelové funkce z = 5y, dostaneme hledané minimum (viz obr. 4.8). z = 5 70 = 350 Firma musí nařezat 95 ks materiálu druhým a 70 ks materiálu třetím způsobem, aby zbylo minimální množství odpadu, tj. 350 cm. Příklad 4.5 (zadání převzato z [3]) Stavební firma chce na pozemku o ploše m 2 stavět dvoupodlažní domy se zahradou a třípodlažní bez zahrady. Každý dvoupodlažní dům bude určen pro 5 rodin a zabere 600 m 2. Každý třípodlažní dům bude určen pro 7 rodin a zabere 400 m 2. Náklady na stavbu dvoupodlažního domu činí 6 miliónů korun a na stavbu třípodlažního domu 9 miliónů korun. Firma má přitom k dispozici celkem 80 miliónů korun. Práce na dvoupodlažním domě trvá asi 6 tisíc hodin, na třípodlažním asi 2 tisíc hodin. Vlastník firmy nechce, aby celkový čas věnovaný stavbě všech domů přesahoval 228 tisíc hodin. Jak má být zastaven pozemek, aby na něm mohlo bydlet co nejvíce rodin, když podle stavebního plánu nesmí být postaveno více než 6 dvoupodlažních domů? Řešení Označíme-li si x... počet dvoupodlažních domů, y... počet třípodlažních domů, z... počet rodin, můžeme úlohu lineárního programování formulovat následovně: maximalizovat z = 5x + 7y 94

95 za podmínek 600x + 400y x + 9y 80 6x + 2y 228 x 6, x, y 0. Tuto úlohu vyřešíme pomocí programu Maple. O O O O O O with simplex : podminkyd 600$xC400$y% 2000, 6$xC9$y% 80, 6$xC2$y% 228, x% 6 ; podminky := 600 xc400 y% 2000, 6 xc9 y% 80, 6 xc2 y% 228, x% 6 zd5$xc7$y; z := 5 xc7 y maximize z, podminky, NONNEGATIVE ; x = 2, y = 2 assign % : z; Firma by měla na daném pozemku postavit 2 dvoupodlažních a 2 třípodlažních domů, aby zde mohl bydlet maximální počet rodin, tj. 44 rodin. Příklad 4.6 (zadání převzato z [4]) V krejčovství můžou za hodinu ušít maximálně 6 ks kalhot a 8 ks šatů, celkem ale nejvýše 0 ks oblečení. Na jedny kalhoty je potřeba 2 m nití, na jedny šaty m. Šicí stroje můžou každou hodinu zpracovat maximálně 2 m nití. Zisk z ks kalhot činí 780 Kč, z ks šatů 520 Kč. Kolik kusů kalhot a šatů by mělo krejčovství za hodinu zhotovit, aby dosáhlo maximálního zisku? Řešení Pokud si označíme x... počet kusů kalhot, y... počet kusů šatů, z... zisk (v Kč), 95 44

96 můžeme úlohu lineárního programování formulovat následovně: maximalizovat z = 780x + 520y za podmínek 2x + y 2 x + y 0 x 6 y 8, x, y 0. Vyřešme tuto úlohu pomocí programu Maple. O O O O O O with simplex : podminkyd 2$xCy% 2, xcy% 0, x% 6, y% 8 ; podminky := 2 xcy% 2, xcy% 0, x% 6, y% 8 zd780$xc520$y; z := 780 xc520 y maximize z, podminky, NONNEGATIVE ; x = 2, y = 8 assign % : z; Krejčovství musí za hodinu zhotovit 2 ks kalhot a 8 ks šatů, aby dosáhlo maximálního zisku Kč. Příklad 4.7 (zadání převzato z [4]) Člověk potřebuje každý měsíc alespoň 600 mg vitamínu B a 300 mg vitamínu H. K dostání jsou dva druhy léků P, R obsahující oba vitamíny. V tabulce je uvedeno množství vitamínů obsažené v g obou léků spolu s cenami za g léků g léku P g léku R vitamín B 30 mg 0 mg vitamín H 0 mg 20 mg cena 3 Kč 2 Kč 96

97 Kolik gramů obou léků si musí člověk na měsíc koupit, aby uspokojil danou potřebu obou vitamínů a zároveň ušetřil co nejvíce peněz? Kolik za léky měsíčně utratí? Řešení Označíme si x... počet gramů léku P, y... počet gramů léku R, z... cena celého množství koupených léků (v Kč), a úlohu lineárního programování formulujeme následovně: minimalizovat za podmínek z = 3x + 2y 30x + 0y 600 0x + 20y 300, x, y 0. Úlohu vyřešíme pomocí programu Maple. O O O O O O with simplex : podminkyd 30$xC0$yR 600, 0$ xc20$yr 300 ; podminky := 600% 30 xc0 y, 300% 0 xc20 y zd3$xc2$y; z := 3 xc2 y minimize z, podminky, NONNEGATIVE ; y = 6, x = 8 assign % : z; 66 Člověk si musí na měsíc koupit 8 g léku P a 6 g léku R, aby uspokojil danou potřebu obou vitamínů a co nejvíc ušetřil. Za měsíc za léky utratí 66 Kč. 97

98 Příklad 4.8 (zadání převzato z [4], str. a upraveno) Továrna vyrábí tři druhy zahradních plastik: žábu, šneka a želvu. Na výrobu plastik jsou k dispozici tři stroje označené A, B, C. Počet hodin, který potřebuje každý stroj k výrobě jednotlivých plastik, je i spolu se ziskem z každé plastiky uveden v tabulce. stroj A stroj B stroj C zisk z kusu žába Kč šnek Kč želva Kč Stroj A je každý týden k dispozici 43 hodin, stroj B 37 hodin a stroj C 42 hodin. Kolik kusů od každého druhu plastiky by mělo být za týden vyrobeno, aby zisk byl co největší? O jakou částku peněz se jedná? Řešení Označíme-li si x... počet kusů žab, x 2... počet kusů šneků, x 3... počet kusů želv, z... zisk (v Kč), můžeme úlohu lineárního programování formulovat následovně: maximalizovat za podmínek z = 58x + 6x x 3 2x + x 2 43 x + x x + 3x 2 + 2x 3 42, x, x 2, x 3 0. Protože se jedná o úlohu se třemi neznámými, budeme ji řešit simplexovou metodou. 98

99 Nejprve soustavu nerovnic vyjadřujících podmínky úlohy převedeme pomocí doplňkových proměnných na soustavu rovnic, jejíž matice obsahuje jednotkovou submatici: 2x + x 2 + x 4 = 43 x + x 3 + x 5 = 37 2x + 3x 2 + 2x 3 + x 6 = 42, kde x, x 2, x 3, x 4, x 5, x 6 0. Sestavíme si simplexovou tabulku, která odpovídá výchozímu bazickému přípustnému řešení x = (0, 0, 0, 43, 37, 42). x x 2 x 3 x 4 x 5 x 6 z = x 4 = x 5 = x 6 = Nyní můžeme hledat další bazická přípustná řešení. x x 2 x 3 x 4 x 5 x 6 z = x 4 = x 5 = x 2 = x x 2 x 3 x 4 x 5 x 6 z = x 4 = x 5 = x 3 = Poslední tabulka odpovídá optimálnímu řešení x III = (0, 0, 2) zadané úlohy. To znamená, že továrna bude mít maximální zisk 827 Kč, když bude vyrábět pouze želvy, a to v množství 2 ks za týden. 99

100 Příklad 4.9 (zadání převzato z [9] a upraveno) Strojírenský podnik musí k výrobě finální produkce nařezat z ocelových tyčí délky m tyče délky 30 cm a 8 cm. Pro týdenní zajištění výroby potřebuje alespoň 00 tyčí délky 30 cm a alespoň 75 tyčí o délce 8 cm. Najděte optimální způsob rozřezání původních tyčí tak, aby byla výroba zajištěna a celkový odpad byl minimální. Jak velký odpad při tomto řezném plánu vznikne? Řešení Protože se jedná o tzv. řezný problém, musíme nejprve sestavit řezné schéma. Tyče délky m můžeme na menší tyče rozřezat čtyřmi způsoby, které jsou i spolu s odpadem uvedeny v tabulce cm cm odpad v cm Pokud si označíme x... počet tyčí rozřezaných. způsobem, x 2... počet tyčí rozřezaných 2. způsobem, x 3... počet tyčí rozřezaných 3. způsobem, x 4... počet tyčí rozřezaných 4. způsobem, z... celkový odpad (v cm), můžeme úlohu lineárního programování formulovat následovně: minimalizovat za podmínek z = 0x + 4x 2 + 6x 3 + 0x 4 3x + 2x 2 + x x 2 + 3x 3 + 5x 4 75, x, x 2, x 3, x

101 Pomocí doplňkových proměnných převedeme nerovnice vyjadřující podmínky úlohy na rovnice 3x + 2x 2 + x 3 x 5 = 00 2x 2 + 3x 3 + 5x 4 x 6 = 75, kde x, x 2, x 3, x 4, x 5, x 6 0. Nyní odečteme první rovnici od druhé a do druhé rovnice potom přidáme pomocnou proměnnou: 3x + 2x 3 + 5x 4 + x 5 x 6 = 75 2x 2 + 3x 3 + 5x 4 x 6 + p = 75, kde x, x 2, x 3, x 4, x 5, x 6, p 0. Tím zajistíme, aby matice soustavy rovnic měla jednotkovou submatici. Můžeme se pustit do výpočtu simplexovou metodou.. fáze Vyřešíme úlohu minimalizovat za podmínek z p = p 3x + 2x 3 + 5x 4 + x 5 x 6 = 75 2x 2 + 3x 3 + 5x 4 x 6 + p = 75, x, x 2, x 3, x 4, x 5, x 6, p 0. x x 2 x 3 x 4 x 5 x 6 p z p = x 5 = p = x x 2 x 3 x 4 x 5 x 6 p z p = x 5 = p =

102 x x 2 x 3 x 4 x 5 x 6 p z p = x 4 = p = x x 2 x 3 x 4 x 5 x 6 p z p = x 4 = x = Získali jsme výchozí bazické přípustné řešení zadané úlohy, protože z pmin = fáze Nyní začneme řešit původní zadanou úlohu a jako výchozí bazické přípustné řešení použijeme x = ( 00, 0, 0, 35, 0, 0), tj. bazické přípustné řešení, 3 které jsme získali v. fázi. x x 2 x 3 x 4 x 5 x 6 z = x 4 = x = z = x 4 = x = x x 2 x 3 x 4 x 5 x x x 2 x 3 x 4 x 5 x 6 z = x 4 = x 2 = Poslední tabulka odpovídá optimálnímu řešení x III = (0, 50, 0, 5) zadané úlohy. Protože je relativní cena nebazické proměnné x 5 nulová, získali jsme pouze jedno z optimálních řešení. 02

103 To znamená, že může existovat více možností, jak rozřezat původní trubky, aby byl odpad minimální. Jednou z nich je, že 50 trubek rozřežeme druhým a 5 trubek čtvrtým způsobem. Zbyde nám při tom 350 cm odpadu. Příklad 4.0 Tři obchody O, O 2, O 3 se chystají odebírat notebooky od dvou dodavatelů D, D 2 z nejbližšího okolí. Dodavatel D je schopen každý týden dodat 6 notebooků, dodavatel D 2 4 notebooků. Obchody mají tyto požadavky: O chce 0 notebooků, O 2 notebooků a O 3 9 notebooků týdně. V následující tabulce jsou uvedeny vzdálenosti (v km) mezi obchody a dodavateli. O O 2 O 3 D D Najděte takový rozvozní plán, aby byl počet najetých kilometrů minimální a zároveň aby byly uspokojeny požadavky obchodů a nebyly překročeny kapacity dodavatelů. Řešení V této úloze řešíme tzv. dopravní problém. Označme si (v souladu s označením v části 3.3. textu) x... počet notebooků převezených z D do O, x 2... počet notebooků převezených z D do O 2, x 3... počet notebooků převezených z D do O 3, x 2... počet notebooků převezených z D 2 do O, x počet notebooků převezených z D 2 do O 2, x počet notebooků převezených z D 2 do O 3, z... počet najetých kilometrů. Budeme řešit úlohu lineárního programování minimalizovat z = 0x + 3x 2 + 5x 3 + 5x 2 + 7x x 23 03

104 za podmínek x + x 2 + x 3 = 6 x 2 + x 22 + x 23 = 4 x + x 2 = 0 x 2 + x 22 = x 3 + x 23 = 9, x, x 2, x 3, x 2, x 22, x Jelikož platí a +a 2 = b +b 2 +b 3 = 30, jsou rovnice vyjadřující podmínky úlohy zřejmě závislé. Jednu z nich, např. čtvrtou rovnici, můžeme vynechat. Soustavu tvořenou zbývajícími rovnicemi převedeme pomocí pomocných proměnných na soustavu, jejíž matice obsahuje jednotkovou submatici: x + x 2 + x 3 = 6 x 2 + x 22 + x 23 = 4 x + x 2 + p = 0 kde x, x 2, x 3, x 2, x 22, x 23, p, p 2 0. x 3 + x 23 + p 2 = 9, Nyní se již můžeme pustit do řešení dvoufázovou simplexovou metodou.. fáze Vyřešíme úlohu minimalizovat za podmínek z p = p + p 2 x + x 2 + x 3 = 6 x 2 + x 22 + x 23 = 4 x + x 2 + p = 0 x 3 + x 23 + p 2 = 9, x, x 2, x 3, x 2, x 22, x 23, p, p

105 x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 2 = x 22 = p = p 2 = x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 2 = x 22 = p = p 2 = x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 2 = x 22 = x = p 2 = x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 3 = x 22 = x = p 2 = x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 3 = x 22 = x = x 2 = Získali jsme výchozí bazické přípustné řešení zadané úlohy, protože z pmin = 0. 05

106 2. fáze Nyní budeme řešit původní zadanou úlohu a jako výchozí bazické přípustné řešení použijeme x = (7, 0, 9, 3,, 0), tj. bazické přípustné řešení, které jsme získali v. fázi. x x 2 x 3 x 2 x 22 x 23 z = x 3 = x 22 = x = x 2 = x x 2 x 3 x 2 x 22 x 23 z = x 3 = x 22 = x = x 2 = x x 2 x 3 x 2 x 22 x 23 z = x 3 = x 22 = x 2 = x 2 = x x 2 x 3 x 2 x 22 x 23 z = x 3 = x 23 = x 2 = x 2 = Poslední tabulka odpovídá optimálnímu řešení x III = (0,, 5, 0, 0, 4) zadané úlohy. To znamená, že dodavatel D bude každý týden rozvážet notebooků do obchodu O 2 a 5 notebooků do O 3 a dodavatel D 2 bude rozvážet 0 notebooků 06

107 do obchodu O a 4 notebooky do O 3. Při tom se najezdí minimální počet kilometrů, a to 32. Příklad 4. Dvoje jatky budou dovážet maso do tří prodejen. Jatky J můžou denně dodat 7 kg a jatky J 2 8 kg vepřového masa. Prodejna P by každý den potřebovala 0 kg, prodejna P 2 4 kg a prodejna P 3 kg vepřového masa. V následující tabulce jsou uvedeny náklady na dopravu kg masa vyjádřené v Kč. P P 2 P 3 J 4 5 J Najděte takový rozvozní plán, aby při splnění všech podmínek byly náklady na dopravu minimální. Řešení V této úloze řešíme tzv. dopravní problém. Označme si (v souladu s označením v části 3.3. textu) x... počet kg masa převezených z J do P, x 2... počet kg masa převezených z J do P 2, x 3... počet kg masa převezených z J do P 3, x 2... počet kg masa převezených z J 2 do P, x počet kg masa převezených z J 2 do P 2, x počet kg masa převezených z J 2 do P 3, z... náklady za dopravu kg masa (v Kč). Budeme řešit úlohu lineárního programování minimalizovat za podmínek z = x + 4x 2 + 5x 3 + 5x 2 + 4x x 23 x + x 2 + x 3 = 7 x 2 + x 22 + x 23 = 8 x + x 2 = 0 x 2 + x 22 = 4 x 3 + x 23 =, 07

108 x, x 2, x 3, x 2, x 22, x Jelikož platí a +a 2 = b +b 2 +b 3 = 35, jsou rovnice vyjadřující podmínky úlohy zřejmě závislé. Proto můžeme např. poslední rovnici vynechat. Soustavu tvořenou zbývajícími rovnicemi převedeme pomocí pomocných proměnných na soustavu, jejíž matice obsahuje jednotkovou submatici: x + x 2 + x 3 = 7 x 2 + x 22 + x 23 = 8 x + x 2 + p = 0 kde x, x 2, x 3, x 2, x 22, x 23, p, p 2 0. x 2 + x 22 + p 2 = 4, Nyní se již můžeme pustit do řešení úlohy dvoufázovou simplexovou metodou.. fáze Vyřešíme úlohu minimalizovat za podmínek z p = p + p 2 x + x 2 + x 3 = 7 x 2 + x 22 + x 23 = 8 x + x 2 + p = 0 x 2 + x 22 + p 2 = 4, x, x 2, x 3, x 2, x 22, x 23, p, p 2 0. x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 3 = x 23 = p = p 2 =

109 x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 3 = x 23 = p = p 2 = x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 3 = x 23 = x = p 2 = x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 2 = x 23 = x = p 2 = x x 2 x 3 x 2 x 22 x 23 p p 2 z p = x 2 = x 23 = x = x 2 = Získali jsme výchozí bazické přípustné řešení zadané úlohy, protože z pmin = fáze Nyní budeme řešit původní zadanou úlohu a jako výchozí bazické přípustné řešení použijeme x = (3, 4, 0, 7, 0, ), tj. bazické přípustné řešení, které jsme získali v. fázi. 09

110 x x 2 x 3 x 2 x 22 x 23 z = x 2 = x 23 = x = x 2 = x x 2 x 3 x 2 x 22 x 23 z = x 2 = x 23 = x = x 2 = x x 2 x 3 x 2 x 22 x 23 z = x 2 = x 23 = x 3 = x 2 = x x 2 x 3 x 2 x 22 x 23 z = x 2 = x 22 = x 3 = x 2 = Poslední tabulka odpovídá optimálnímu řešení x III = (0, 6,, 0, 8, 0) zadané úlohy. To znamená, že jatky J budou každý den dovážet 6 kg vepřového masa do prodejny P 2 a kg vepřového masa do prodejny P 3 a jatky J 2 budou dovážet 0 kg vepřového masa do prodejny P a 8 kg vepřového masa do prodejny P 2. Při tom budou náklady na dopravu minimální. 0

111 Příklad 4.2 Pan Starý se rozhodl, že si postaví nový dřevěný plot. Z předchozí zkušenosti ví, že na něj potřebuje 760 planěk délky 20 cm a alespoň 320 planěk délky 0 cm. K dispozici však má pouze prkna dlouhá 4 m. Určete takový řezný plán, při kterém pan Starý získá požadovaný počet planěk a přitom spotřebuje co nejméně původních prken. Kolik prken pan Starý musí rozřezat? Řešení Protože řešíme řezný problém, musíme nejprve sestavit řezné schéma. Označíme-li si cm cm x... počet prken rozřezaných. způsobem, x 2... počet prken rozřezaných 2. způsobem, x 3... počet prken rozřezaných 3. způsobem, x 4... počet prken rozřezaných 4. způsobem, z... počet spotřebovaných prken, můžeme úlohu lineárního programování formulovat následovně: minimalizovat za podmínek z = x + x 2 + x 3 + x 4 3x + 2x 2 + x 3 = 760 x 2 + 2x 3 + 3x 4 320, x, x 2, x 3, x 4 0. Tuto úlohu vyřešíme pro změnu v programu MS Excel. Nejprve do programu musíme zadat všechna vstupní data (viz Obrázek 4.9). Poté spustíme aplikaci Řešitel a v dialogovém okně Parametry Řešitele zadáme adresu buňky obsahující hodnotu účelové funkce, oblast proměnných

112 úlohy a podmínky úlohy. Samozřejmě zaškrtneme, že hledáme minimum účelové funkce (viz Obrázek 4.0). Přejdeme do dialogového okna Možnosti Řešitele, kde zaškrtneme položky Lineární model a Nezáporná čísla (viz Obrázek 4.). Nyní již můžeme spustit zpracování pomocí tlačítka Řešit v dialogovém okně Parametry řešitele. Výsledek vidíme na obrázku 4.2. Pan Starý musí rozřezat 253 prken. způsobem, jedno prkno 3. způsobem a 06 prken 4. způsobem.! " # Obrázek 4.9: Zadání dat do Excelu. Obrázek 4.0: Parametry Řešitele. 2

113 Obrázek 4.: Možnosti Řešitele.! " #$ % & ' '&( %(& Obrázek 4.2: Výsledek řešení. 3

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

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

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

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

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28. Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání

Více

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

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25 Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení

Více

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

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

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

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 Mgr. Sekničková Jana, Ph.D. 2. PŘEDNÁŠKA MATEMATICKÝ MODEL ÚLOHY LP Mgr. Sekničková Jana, Ph.D. 2 OSNOVA PŘEDNÁŠKY Obecná formulace MM Množina

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení

Více

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

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo 0. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo (PEF PaA) Petr Gurka aktualizováno 9. prosince 202 Obsah Základní pojmy. Motivace.................................2 Aritmetický vektorový

Více

Soustavy lineárních rovnic a determinanty

Soustavy lineárních rovnic a determinanty Soustavy lineárních rovnic a determinanty Petr Hasil Přednáška z matematiky Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny

Více

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

12. Lineární programování

12. Lineární programování . Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)

Více

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

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru 2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních

Více

IB112 Základy matematiky

IB112 Základy matematiky IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic

Více

Lineární algebra - I. část (vektory, matice a jejich využití)

Lineární algebra - I. část (vektory, matice a jejich využití) Lineární algebra - I. část (vektory, matice a jejich využití) Michal Fusek Ústav matematiky FEKT VUT, fusekmi@feec.vutbr.cz 2. přednáška z ESMAT Michal Fusek (fusekmi@feec.vutbr.cz) 1 / 40 Obsah 1 Vektory

Více

Lineární algebra Operace s vektory a maticemi

Lineární algebra Operace s vektory a maticemi Lineární algebra Operace s vektory a maticemi Robert Mařík 26. září 2008 Obsah Operace s řádkovými vektory..................... 3 Operace se sloupcovými vektory................... 12 Matice..................................

Více

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),

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), 1 LINEÁRNÍ ALGEBRA 1 Lineární algebra Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy islámského matematika Hisab al-džebr val-muqabala ( Věda o redukci

Více

1 Soustavy lineárních rovnic

1 Soustavy lineárních rovnic 1 Soustavy lineárních rovnic 1.1 Základní pojmy Budeme uvažovat soustavu m lineárních rovnic o n neznámých s koeficienty z tělesa T (potom hovoříme o soustavě m lineárních rovnic o n neznámých nad tělesem

Více

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

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,

Více

(Cramerovo pravidlo, determinanty, inverzní matice)

(Cramerovo pravidlo, determinanty, inverzní matice) KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce

Více

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í

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í 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í 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

1 Vektorové prostory.

1 Vektorové prostory. 1 Vektorové prostory DefiniceMnožinu V, jejíž prvky budeme označovat a, b, c, z, budeme nazývat vektorovým prostorem právě tehdy, když budou splněny následující podmínky: 1 Je dáno zobrazení V V V, které

Více

ANALYTICKÁ GEOMETRIE V ROVINĚ

ANALYTICKÁ GEOMETRIE V ROVINĚ ANALYTICKÁ GEOMETRIE V ROVINĚ Analytická geometrie vyšetřuje geometrické objekty (body, přímky, kuželosečky apod.) analytickými metodami. Podle prostoru, ve kterém pracujeme, můžeme analytickou geometrii

Více

Úvod do lineární algebry

Úvod do lineární algebry Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky

Více

Základy matematiky pro FEK

Základy matematiky pro FEK Základy matematiky pro FEK 3. přednáška Blanka Šedivá KMA zimní semestr 2016/2017 Blanka Šedivá (KMA) Základy matematiky pro FEK zimní semestr 2016/2017 1 / 21 Co nás dneska čeká... Co je to soustava lineárních

Více

Parametrické programování

Parametrické programování Parametrické programování Příklad 1 Parametrické pravé strany Firma vyrábí tři výrobky. K jejich výrobě potřebuje jednak surovinu a jednak stroje, na kterých dochází ke zpracování. Na první výrobek jsou

Více

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

4EK201 Matematické modelování. 2. Lineární programování 4EK201 Matematické modelování 2. Lineární programování 2.1 Podstata operačního výzkumu Operační výzkum (výzkum operací) Operational research, operations research, management science Soubor disciplín zaměřených

Více

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.

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. Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl

Více

Lingebraické kapitolky - Analytická geometrie

Lingebraické kapitolky - Analytická geometrie Lingebraické kapitolky - Analytická geometrie Jaroslav Horáček KAM MFF UK 2013 Co je to vektor? Šipička na tabuli? Ehm? Množina orientovaných úseček majících stejný směr. Prvek vektorového prostoru. V

Více

Lineární funkce, rovnice a nerovnice 3 Soustavy lineárních rovnic

Lineární funkce, rovnice a nerovnice 3 Soustavy lineárních rovnic Lineární funkce, rovnice a nerovnice Soustavy lineárních rovnic motivace Využívají se napřklad při analytickém vyšetřování vzájemné polohy dvou přímek v rovině a prostoru. Při řešení některých slovních

Více

9 Kolmost vektorových podprostorů

9 Kolmost vektorových podprostorů 9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.

Více

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu. Determinanty Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Determinanty Definice determinantu Sarrusovo a křížové pravidlo Laplaceův rozvoj Vlastnosti determinantu Výpočet determinantů 2 Inverzní

Více

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru 1 1. Lineární algebra 1.1. Lineární závislost a nezávislost vektorů. Hodnost matice Aritmetické vektory Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ).

Více

Soustavy lineárních rovnic

Soustavy lineárních rovnic Přednáška MATEMATIKA č 4 Katedra ekonometrie FEM UO Brno kancelář 69a, tel 973 442029 email:jirineubauer@unobcz 27 10 2010 Soustava lineárních rovnic Definice Soustava rovnic a 11 x 1 + a 12 x 2 + + a

Více

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

Operace s maticemi

Operace s maticemi Operace s maticemi Seminář druhý 17.10. 2018 Obsah 1 Operace s maticemi 2 Hodnost matice 3 Regulární matice 4 Inverzní matice Matice Definice (Matice). Reálná matice typu m n je obdélníkové schema A =

Více

Operace s maticemi. 19. února 2018

Operace s maticemi. 19. února 2018 Operace s maticemi Přednáška druhá 19. února 2018 Obsah 1 Operace s maticemi 2 Hodnost matice (opakování) 3 Regulární matice 4 Inverzní matice 5 Determinant matice Matice Definice (Matice). Reálná matice

Více

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

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

Matematika. Kamila Hasilová. Matematika 1/34

Matematika. Kamila Hasilová. Matematika 1/34 Matematika Kamila Hasilová Matematika 1/34 Obsah 1 Úvod 2 GEM 3 Lineární algebra 4 Vektory Matematika 2/34 Úvod Zkouška písemná, termíny budou včas vypsány na Intranetu UO obsah: teoretická a praktická

Více

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

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí: Řešené příklady z lineární algebry - část 1 Typové příklady s řešením Příklady jsou určeny především k zopakování látky před zkouškou, jsou proto řešeny se znalostmi učiva celého semestru. Tento fakt se

Více

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

5. Lokální, vázané a globální extrémy 5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,

Více

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

Základy maticového počtu Matice, determinant, definitnost Základy maticového počtu Matice, determinant, definitnost Petr Liška Masarykova univerzita 18.9.2014 Matice a vektory Matice Matice typu m n je pravoúhlé (nebo obdélníkové) schéma, které má m řádků a n

Více

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

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008 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)

Více

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

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

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

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 Kapitola 5 Vektorové prostory 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 operací sčítání a násobení

Více

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

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 VEKTORY Vektorem se rozumí množina všech orientovaných úseček, které mají stejnou velikost, směr a orientaci, což vidíme na obr. 1. Jedna konkrétní orientovaná úsečka se nazývá umístění vektoru na obr.

Více

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

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x). Řešené příklady z lineární algebry - část 6 Typové příklady s řešením Příklad 6.: Kvadratickou formu κ(x) = x x 6x 6x x + 8x x 8x x vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých

Více

SOUSTAVY LINEÁRNÍCH ROVNIC

SOUSTAVY LINEÁRNÍCH ROVNIC MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA SOUSTAVY LINEÁRNÍCH ROVNIC Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipliny

Více

Číselné vektory, matice, determinanty

Číselné vektory, matice, determinanty Číselné vektory, matice, determinanty Základy vyšší matematiky LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny

Více

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule. Matice Definice. Maticí typu m n nazýváme obdélníkové pole, tvořené z m n reálných čísel (tzv. prvků matice), zapsaných v m řádcích a n sloupcích. Značíme např. A = (a ij ), kde i = 1,..., m, j = 1,...,

Více

Soustava m lineárních rovnic o n neznámých je systém

Soustava m lineárních rovnic o n neznámých je systém 1 1.2. Soustavy lineárních rovnic Soustava lineárních rovnic Soustava m lineárních rovnic o n neznámých je systém 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...

Více

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

Lineární algebra. Soustavy lineárních rovnic Lineární algebra Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo projektu: CZ.1.07/2.2.00/28.0326

Více

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

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku VI Maticový počet VI1 Základní operace s maticemi Definice Tabulku a 11 a 12 a 1n a 21 a 22 a 2n, a m1 a m2 a mn kde a ij R, i = 1,, m, j = 1,, n, nazýváme maticí typu m n Zkráceně zapisujeme (a ij i=1m

Více

Lineární algebra. Matice, operace s maticemi

Lineární algebra. Matice, operace s maticemi Lineární algebra Matice, operace s maticemi Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo

Více

Úvod do řešení lineárních rovnic a jejich soustav

Úvod do řešení lineárních rovnic a jejich soustav Úvod do řešení lineárních rovnic a jejich soustav Rovnice je zápis rovnosti dvou výrazů, ve kterém máme najít neznámé číslo (neznámou). Po jeho dosazení do rovnice musí platit rovnost. Existuje-li takové

Více

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u. Vektory, operace s vektory Ž3 Orientovaná úsečka Mějme dvojici bodů, (na přímce, v rovině nebo prostoru), které spojíme a vznikne tak úsečka. Pokud budeme rozlišovat, zda je spojíme od k nebo od k, říkáme,

Více

Funkce a lineární funkce pro studijní obory

Funkce a lineární funkce pro studijní obory Variace 1 Funkce a lineární funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce

Více

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy: Opakování středoškolské matematiky Slovo úvodem: Tato pomůcka je určena zejména těm studentům presenčního i kombinovaného studia na VŠFS, kteří na středních školách neprošli dostatečnou průpravou z matematiky

Více

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

Obecná úloha lineárního programování. Úloha LP a konvexní množiny Grafická metoda. Jiří Neubauer. Katedra ekonometrie FEM UO Brno Přednáška č. 3 Katedra ekonometrie FEM UO Brno Optimalizace portfolia Investor se s pomocí makléře rozhoduje mezi následujícími investicemi: akcie A, akcie B, státní pokladniční poukázky, dluhopis A, dluhopis

Více

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

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy 1 Lineární algebra Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy islámského matematika Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném

Více

ALGEBRA LINEÁRNÍ, KVADRATICKÉ ROVNICE

ALGEBRA LINEÁRNÍ, KVADRATICKÉ ROVNICE ALGEBRA LINEÁRNÍ, KVADRATICKÉ ROVNICE A NEROVNICE, SOUSTAVY ROVNIC A NEROVNIC Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21.

Více

Obr. P1.1 Zadání úlohy v MS Excel

Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel. Výpočet budeme demonstrovat

Více

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

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi. Řešené příklady z lineární algebry - část 3 Typové příklady s řešením Příklad 3.1: Zobrazení L: P 3 R 23 je zobrazení z prostoru P 3 všech polynomů do stupně 3 (včetně nulového polynomu) do prostoru R

Více

2 Spojité modely rozhodování

2 Spojité modely rozhodování 2 Spojité modely rozhodování Jak již víme z přednášky, diskrétní model rozhodování lze zapsat ve tvaru úlohy hodnocení variant: f(a i ) max, a i A = {a 1, a 2,... a p }, kde f je kriteriální funkce a A

Více

1 Determinanty a inverzní matice

1 Determinanty a inverzní matice Determinanty a inverzní matice Definice Necht A = (a ij ) je matice typu (n, n), n 2 Subdeterminantem A ij matice A příslušným pozici (i, j) nazýváme determinant matice, která vznikne z A vypuštěním i-tého

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel 2007. Výpočet budeme demonstrovat

Více

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

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] Terminologie [2] Soustavy lineárních rovnic vlastnosti množin řešení metody hledání řešení nejednoznačnost zápisu řešení Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová matice.

Více

Soustavy lineárních rovnic

Soustavy lineárních rovnic Soustavy lineárních rovnic Základy vyšší matematiky LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny společného

Více

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,

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, Vektorový prostor Příklady: Př.1. R 2 ; R 3 ; R n...aritmetický n-rozměrný prostor Dvě operace v R n : součet vektorů u = (u 1,...u n ) a v = (v 1,...v n ) je vektor u + v = (u 1 + v 1,...u n + v n ),

Více

Nerovnice a nerovnice v součinovém nebo v podílovém tvaru

Nerovnice a nerovnice v součinovém nebo v podílovém tvaru Variace 1 Nerovnice a nerovnice v součinovém nebo v podílovém tvaru Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz

Více

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, 1. V oboru celých čísel řešte soustavu rovnic (4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, kde (n) k značí násobek čísla k nejbližší číslu n. (P. Černek) Řešení. Z první rovnice dané soustavy plyne, že číslo

Více

Soustavy linea rnı ch rovnic

Soustavy linea rnı ch rovnic [1] Soustavy lineárních rovnic vlastnosti množin řešení metody hledání řešení nejednoznačnost zápisu řešení a) soustavy, 10, b) P. Olšák, FEL ČVUT, c) P. Olšák 2010, d) BI-LIN, e) L, f) 2009/2010, g)l.

Více

Ekonomická formulace. Matematický model

Ekonomická formulace. Matematický model Ekonomická formulace Firma balící bonboniéry má k dispozici 60 čokoládových, 60 oříškových a 85 karamelových bonbónů. Může vyrábět dva druhy bonboniér. Do první bonboniéry se dávají dva čokoládové, šest

Více

Úvodní informace Soustavy lineárních rovnic. 12. února 2018

Úvodní informace Soustavy lineárních rovnic. 12. února 2018 Úvodní informace Soustavy lineárních rovnic Přednáška první 12. února 2018 Obsah 1 Úvodní informace 2 Soustavy lineárních rovnic 3 Matice Frobeniova věta Úvodní informace Olga Majlingová : Na Okraji, místnost

Více

Základy matematiky pro FEK

Základy matematiky pro FEK Základy matematiky pro FEK 2. přednáška Blanka Šedivá KMA zimní semestr 2016/2017 Blanka Šedivá (KMA) Základy matematiky pro FEK zimní semestr 2016/2017 1 / 20 Co nás dneska čeká... Závislé a nezávislé

Více

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.

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. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ107/2200/280141 Soustavy lineárních rovnic Michal Botur Přednáška 4 KAG/DLA1M: Lineární

Více

Parametrická rovnice přímky v rovině

Parametrická rovnice přímky v rovině Parametrická rovnice přímky v rovině Nechť je v kartézské soustavě souřadnic dána přímka AB. Nechť vektor u = B - A. Pak libovolný bod X[x; y] leží na přímce AB právě tehdy, když vektory u a X - A jsou

Více

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

7. přednáška Systémová analýza a modelování. Přiřazovací problém Přiřazovací problém Přiřazovací problémy jsou podtřídou logistických úloh, kde lze obecně říci, že m dodavatelů zásobuje m spotřebitelů. Dalším specifikem je, že kapacity dodavatelů (ai) i požadavky spotřebitelů

Více

Základy matematiky pro FEK

Základy matematiky pro FEK Základy matematiky pro FEK 1. přednáška 22.9.2016 Blanka Šedivá KMA zimní semestr 2016/2017 Blanka Šedivá (KMA) Základy matematiky pro FEK zimní semestr 2016/2017 1 / 19 Organizační pokyny přednášející:

Více

Lineární funkce, rovnice a nerovnice 4 lineární nerovnice

Lineární funkce, rovnice a nerovnice 4 lineární nerovnice Lineární funkce, rovnice a nerovnice 4 lineární nerovnice 4.1 ekvivalentní úpravy Při řešení lineárních nerovnic používáme ekvivalentní úpravy (tyto úpravy nijak neovlivní výsledek řešení). Jsou to především

Více

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

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava    luk76/la1 Lineární algebra 5. přednáška: Báze a řešitelnost soustav Dalibor Lukáš Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava email: dalibor.lukas@vsb.cz http://homel.vsb.cz/ luk76/la1 Text

Více

1.13 Klasifikace kvadrik

1.13 Klasifikace kvadrik 5 KAPITOLA 1. KVADRIKY JAKO PLOCHY. STUPNĚ 1.13 Klasifikace kvadrik V této části provedeme klasifikaci kvadrik. Vyšetříme všechny případy, které mohou různou volbou koeficientů v rovnici kvadriky a 11

Více

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n [1] Základní pojmy [2] Matice mezi sebou sčítáme a násobíme konstantou (lineární prostor) měníme je na jiné matice eliminační metodou násobíme je mezi sebou... Matice je tabulka čísel s konečným počtem

Více

8 Matice a determinanty

8 Matice a determinanty M Rokyta, MFF UK: Aplikovaná matematika II kap 8: Matice a determinanty 1 8 Matice a determinanty 81 Matice - definice a základní vlastnosti Definice Reálnou resp komplexní maticí A typu m n nazveme obdélníkovou

Více

2. ZÁKLADY MATICOVÉ ALGEGRY 2.1. ZÁKLADNÍ POJMY

2. ZÁKLADY MATICOVÉ ALGEGRY 2.1. ZÁKLADNÍ POJMY 2. ZÁKLADY MAICOVÉ ALGEGRY 2.1. ZÁKLADNÍ POJMY V této kapitole se dozvíte: jak je definována reálná nebo komplexní matice a co rozumíme jejím typem; co jsou to prvky matice, co vyjadřují jejich indexy

Více

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C) VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C) max. 3 body 1 Zjistěte, zda vektor u je lineární kombinací vektorů a, b, je-li u = ( 8; 4; 3), a = ( 1; 2; 3), b = (2; 0; 1). Pokud ano, zapište tuto lineární kombinaci.

Více

M - Kvadratické rovnice a kvadratické nerovnice

M - Kvadratické rovnice a kvadratické nerovnice M - Kvadratické rovnice a kvadratické nerovnice Určeno jako učební tet pro studenty dálkového studia. VARIACE 1 Tento dokument byl kompletně vytvořen, sestaven a vytištěn v programu dosystem - EduBase.

Více

HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE

HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s

Více

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2 6 Skalární součin Skalární součin 1 je operace, která dvěma vektorům (je to tedy binární operace) přiřazuje skalár (v našem případě jde o reálné číslo, obecně se jedná o prvek nějakého tělesa T ). Dovoluje

Více

HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE

HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s

Více

Rovnice přímky vypsané příklady. Parametrické vyjádření přímky

Rovnice přímky vypsané příklady. Parametrické vyjádření přímky Rovnice přímky vypsané příklady Zdroj: Vše kromě příkladu 3.4: http://kdm.karlin.mff.cuni.cz/diplomky/jan_koncel/rovina.php?kapitola=parametrickevyjadre ni Příklady 3.5 a 3.7-1 a 3: http://kdm.karlin.mff.cuni.cz/diplomky/jan_koncel/rovina.php?kapitola=obecnarovnice

Více

Determinant matice řádu 5 budeme počítat opakovaným použitím rozvoje determinantu podle vybraného řádku nebo sloupce. Aby byl náš výpočet

Determinant matice řádu 5 budeme počítat opakovaným použitím rozvoje determinantu podle vybraného řádku nebo sloupce. Aby byl náš výpočet Řešené příklady z lineární algebry - část 2 Příklad 2.: Určete determinant matice A: A = 4 4. Řešení: Determinant matice řádu budeme počítat opakovaným použitím rozvoje determinantu podle vybraného řádku

Více

Kapitola 11: Vektory a matice 1/19

Kapitola 11: Vektory a matice 1/19 Kapitola 11: Vektory a matice 1/19 2/19 Prostor R n R n = {(x 1,..., x n ) x i R, i = 1,..., n}, n N x = (x 1,..., x n ) R n se nazývá vektor x i je i-tá souřadnice vektoru x rovnost vektorů: x = y i =

Více

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice 9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky

Více

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

Operační výzkum. Vícekriteriální programování. Lexikografická metoda. Metoda agregace účelových funkcí. Cílové programování. Operační výzkum Lexikografická metoda. Metoda agregace účelových funkcí. Cílové programování. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu

Více