OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA [ MOPV ] METODY OPERAČNÍHO VÝZKUMU
|
|
- Alena Bártová
- před 8 lety
- Počet zobrazení:
Transkript
1 OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA [ MOPV ] METODY OPERAČNÍHO VÝZKUMU Distanční opora RNDr. Miroslav Liška, CSc. OSTRAVA
2 Simplexová metoda je iterační výpočetní postup pro nalezení optimálního řešení úlohy lineárního programování (pokud takové řešení existuje). Výchozím bodem tohoto algoritmu je nalezení výchozího základního řešení úlohy lineárního programování. Pokud je již takové řešení k dispozici, potom simplexová metoda v jednotlivých krocích vypočte vždy nové základní řešení s lepší nebo alespoň stejnou v případě maximalizace vyšší hodnotou účelové funkce. Po konečném počtu kroků musí tedy tento výpočetní postup vést k nalezení základního řešení s nejlepší hodnotou účelové funkce nebo ke zjištění, že takové řešení neexistuje. Při jeho nalezení se musí podle základní věty LP jednat o řešení optimální. Postup výpočtu pomocí simplexové metody se dělí na dvě fáze: I.fáze: nalezení výchozího základního řešení II. fáze: iterační postup vedoucí k optimalizaci účelové funkce V některých speciálních případech je nalezení výchozího základního řešení natolik snadné, že I. fáze výpočtu vlastně odpadá. V takovém případě se celý postup označuje jako jednofázová simplexová metoda. V obecném případě nemusí být však nalezení výchozího základního řešení úlohy LP jednoduché. Potom mluvíme o dvoufázové simplexové metodě. 2
3 Jednofázová simplexová metoda Lze ji použít pouze v případě, že všechna vlastní omezení úlohy LP jsou definována jako nerovnice typu " ". Po převedení takovéto soustavy nerovnic na ekvivalentní soustavu rovnic pomocí přídatných proměnných dostáváme totiž soustavu rovnic v kanonickém tvaru. Kanonický tvar soustavy m lineárních rovnic o (m+n) proměnných je takový tvar, ve kterém matice strukturních koeficientů obsahuje soustavu m jednotkových vektorů, ze kterých lze vytvořit jednotkovou matici. Pokud máme soustavu m lineárních rovnic o (m+n) proměnných v kanonickém tvaru, potom z něj lze snadno odvodit základní řešení této soustavy. V kanonickém tvaru jsou dva druhy proměnných : m základních proměnných to jsou proměnné, kterým odpovídají jednotkové vektory a jejichž hodnoty jsou v příslušném základním řešení rovny hodnotám pravé strany n nezákladních proměnných - to jsou všechny ostatní proměnné, jejichž hodnoty jsou v základním řešení rovny 0. Příklad: Balírny pražírny kávy plánují výrobu dvou směsí kávy Super a Standard. Pro výrobu obou směsí mají k dispozici tři druhy kávových bobů K 1, K 2 a K 3 postupně v kapacitě 40, 60 a 25 tun lišících se kvalitou a nákupní cenou. Následující tabulka ukazuje skladbu obou směsí (v tunách komponenty na 1 tunu směsi): Na základě přímých a nepřímých nákladů souvisejících s výrobou a vzhledem k předpokládaná ceně obou směsí byl vykalkulovaný zisk, který činí Kč resp Kč na jednu tunu směsi Super resp. Standard. Management firmy chce samozřejmě naplánovat produkci firmy tak, aby byl její celkový zisk maximální. Po doplnění přídatných proměnných získáváme snadno soustavu tří rovnic, které obsahují pět proměnných: 0,5x 1 + 0,25x 2 + x 3 = 40 3
4 0,5x 1 + 0,5x 2 + x 4 = 60 0,25x 2 + x 5 = 25 Matice strukturních koeficientů: Výchozí základní řešení Základní proměnné jsou tedy x 3, x 4 a x 5. Nezákladní proměnné jsou x 1 a x 2. Pokud položíme tyto nezákladní proměnné rovny 0, potom z dané soustavy rovnic snadno získáme hodnoty základních proměnných x 3 = 40, x 4 = 60, x 5 = 25. Řešení získané uvedeným způsobem je, vzhledem k nezápornosti, základním řešením dané úlohy. Po získání výchozího základního řešení lze okamžitě přistoupit v jednotlivých iteracích k testu optimality a ke zlepšování řešení. Celý výpočet je organizován v tzv. simplexové tabulce. Výchozí simplexová tabulka Tabulka obsahuje: seznam základních proměnných, matici strukturních koeficientů, vektor pravých stran a v posledním řádku koeficienty účelové funkce v anulovaném tvaru, tj. tvaru, ve kterém jsou všechny proměnné převedeny na levou stranu a na pravé straně je absolutní člen, který udává počáteční hodnotu účelové funkce. Anulovaný tvar účelové funkce je obecně a konkrétně pro náš příklad z c 1 x 1 c 2 x c n x n = 0 z x x 2 = 0 4
5 Test optimality Uvažujme simplexovou tabulku v libovolné s-tém kroku výpočtu. Předpokládejme, že tato tabulka obsahuje (m+n) proměnných a m omezujících podmínek s tím, že prvních n proměnných jsou nezákladní proměnné a zbývajících m proměnných jsou základní proměnné. Hodnoty všech základních proměnných včetně hodnoty účelové funkce potom můžeme vyjádřit obecně následovně: X n+1 = β 1 α 11 x 1 - α 12 x α 1n x n, X n+2 = β 2 α 21 x 1 α 22 x α 2n x n, X n+m = β m α m1 x 1 α m2 x α mn x n, z s = β 0 z 1 x 1 - z 2 x z n x n. Vzhledem k tomu, že nezákladní proměnné x 1, x 2,, x n mají nulovou hodnotu, potom jsou vektor řešení v s-tém kroku výpočtu x s hodnota účelové funkce z s x s = (0, 0,, 0, β 1, β 2,, β m ), z s = β 0 Předpokládejme, že v (s+1) kroku výpočtu se proměnná x k, k є {1, 2,, n} stane proměnnou základní. Tuto proměnnou budeme označovat jako proměnnou vstupující. Vzhledem k tomu, že počet základních proměnných je konstantní, musí tato proměnná nahradit některou z původních základních proměnných. Tato proměnné se označuje jako proměnná vystupující. Podívejme se tedy nyní, jak se změní hodnota účelové funkce, pokud bude mít vstupující proměnná v (s+1) kroku nezápornou hodnotu t : x k = t 0. Nová hodnota účelové funkce bude po dosazení Z s+1 = β 0 t z k. Změna hodnoty účelové funkce, pokud se proměnná X k základní proměnnou je tedy stane z (x k ) = z s+1 z s = -t* z k. V jednotlivý krocích výpočtu je třeba dosáhnout v případě maximalizace přírůstku hodnoty účel. funkce - tzn. z (x k ) 0 (při minimalizaci z (x k ) 0 ) 5
6 Vzhledem k nezápornosti nové hodnoty vstupující proměnné t závisí tedy znaménko hodnoty z (x k ) pouze na hodnotě redukované ceny z k Mohou nastat tři možnosti: 1. z (xk) >0 zk < 0 - ke zvýšení hodnoty účel. funkce dojde v případě, že je redukovaný cenový koeficient u vstupující proměnné záporný 2. z (xk) < 0 zk > 0 ke snížení hodnoty dojde v případě, že je redukovaný cenový koeficient u vstupující proměnné kladný 3. z (xk) = 0 zk = 0 nebo t = 0 hodnota funkce se nezmění, jestliže je reduk. cen. koeficient roven 0 nebo hodnota vstupující proměnné rovna 0. Pokud nelze nalézt v daném kroku vstupující proměnnou, která by vedla ke zvýšení (v případě maximalizace) nebo snížení (minimalizace) hodnoty účelové funkce, potom základní řešení obsažené v tomto kroku je řešením optimálním. Výpočet nového základního řešení Pokud je v nějakém kroku výpočtu porušen test optimality, znamená to, že lze nalézt nové základní řešení, které bude mít lepší hodnotu účelové funkce. Vlastní realizace výpočtu probíhá ve třech krocích: 1. volba vstupující proměnné 2. volba vystupující proměnné 3. přepočet simplexové tabulky tak, aby se vstupující proměnná stala základní a vystupující proměnná nezákladní proměnnou. 1. Volba vstupující proměnné Změna hodnoty účelové funkce v případě, že je proměnná x k proměnnou vstupující, je určena vztahem z (x k ) = -t* z k, kde t je nová hodnota vstupující proměnné. Při výpočtu je samozřejmě snaha o to, aby byla změna účelové funkce co nejvyšší, tzn. aby celý iterační postup směřoval k optimálnímu řešení co nejrychleji. Nejjednodušším postupem je zvolit vstupující proměnnou podle jednotkové změny hodnoty účelové funkce, tzn. podle redukovaných cenových koeficientů z j. Čím vyšší bude v absolutní hodnotě koeficient z j, tím vyšší změnu hodnoty účel. funkce lze očekávat. Při volbě vstupující proměnné je třeba mít na paměti, že záporné hodnoty zj signalizují možnost zvýšení hodnoty funkce 6
7 kladné hodnoty z j signalizují možnost snížení hodnoty funkce 2. Volba vystupující proměnné Vystupující proměnnou najdeme tak, že vypočteme minimální podíl transformovaných hodnot pravé strany (β i ) a kladných strukturních koeficientů u vstupující proměnné (α ik ). Tento minimální podíl určuje vystupující proměnnou. Ve výchozí simplexové tabulce bude vstupující proměnnou proměnná x 1, u které je redukovaná cena z 1 = na jednu jednotku této proměnné dosáhneme tedy přírůstku hodnoty účel. funkce 20 tis. Kč (u proměnné x 2 by byl přírůstek pouze 14 tis. Kč). Pokud bude x 1 = t, potom budou nové hodnoty proměnných x 3, x 4, x 5 rovny x 3 = 40-0,5t 0 x 4 = 60-0,5t 0 x 5 = 25 0 Zvolíme-li t= min [40/0,5, 60/0,5] = min [80, 120], potom x 3 = 0, x 4 = 20, x 5 = 25 a vystupující proměnnou bude x Přepočet simplexové tabulky Vstupující proměnná určuje v simplexové tabulce tzv. klíčový sloupec, vstupující proměnná tzv. klíčový řádek. Průsečíkem klíčového sloupce a řádku je potom klíčový prvek. Výchozí simplexová tabulka našeho příkladu: Přípustné řešení obsažené v této tabulce je charakterizováno vektorem x 1 = (0, 0, 40, 60, 25) a hodnota účelové funkce tohoto řešení je z 1 = 0. tabulka 1 V tabulce 1 je vstupující proměnná x 1 a vystupující proměnná x 3. Pro přepočet simplexové tabulky se použije standardní Gaussova eliminační metoda. Vlastní přepočet je možné realizovat následujícím způsobem: 1. Transformace klíčového řádku se provede tak, že celý řádek vydělíme klíčovým prvkem a tím získáme na místě klíčového prvku hodnotu 1. 7
8 2. Transformace i-tého řádku simplexové tabulky (včetně řádku účelové funkce). Transformovaný klíčový řádek, tj. ten který obsahuje už hodnotu 1 na místě klíčového prvku, vynásobíme hodnotou (-a jk ) resp. (-z k ) a přičteme k i-tému řádku resp. k řádku účelové funkce. První krok výpočtu simplexovou metodou: klíčový řádek: 1.řádek (tab.2) = 1.řádek (tab.1) / 0,5 = 1.řádek ( tab.1) * 2 2.ř. (tab.2) = 2.ř. (tab.1) +1.ř. (tab.2)*(-0,5) 3.ř. (tab.2) = 3.ř. (tab.1) + 1.ř.(tab. 2) * 0 = 3.ř. (tab1) řádek účelové funkce: 4.ř. (tab.2) = 4.ř. (tab.1) + 1.ř. (tab.2) *20 tabulka 2 Tabulka 2 obsahuje přípustné řešení x 2 = (80, 0, 0, 20, 25), které má hodnotu účelové funkce z 2 = 1600 [tis. Kč]. Přírůstek účelové funkce vychází skutečně z (x 1 ) = z 2 z 1 = -t* z 1 = -80 (-20) = Řešení x 2 není však ještě optimálním řešením úlohy LP. Redukovaná cena z 2 = -4 signalizuje, že dojde ke zvýšení účelové funkce, pokud se proměnná x 2 stane proměnnou vstupující. Vystupující proměnnou je potom proměnná x 4, u které je minimální podíl β i / α ik = 20/0,25 = 80. Přepočet tabulky 2 podle nového klíčového prvku 0,25. klíčový řádek: 2.řádek (tab.3) = 2.řádek (tab.2) / 0,25 = 2.řádek (tab.2) * 4 1.ř. (tab.3) = 1.ř. (tab.2) + 2.ř. (tab.3) * (-0,5) 3.ř. (tab.3) = 3.ř.(tab.2) + 2.ř. (tab.3) * (-0,25) řádek účelové funkce 4.ř. (tab.3) = 4.ř. (tab.2) + 2.ř. (tab. 3) * 4 8
9 tabulka 3 Tabulka 3 obsahuje řešení x 3 = (40, 80, 0, 5) s hodnotou účelové funkce z 3 = 1920 [tis. Kč]. Přírůstek hodnoty účelové funkce je zde skutečně z (x 2 ) = z 3 z 2 = -t* z 2 = -80 (-4) = 320. Řešení obsažené v tab.3 je již řešením optimálním. Redukované ceny u nezákladních proměnných jsou všechny kladné, tzn. nelze dosáhnout dalšího zvýšení hodnoty účelové funkce. Optimální výrobní program představuje tedy produkci 40 tun směsi Super a 80 tun směsi Standard. Tento program přináší zisk Kč. 9
10 Dvoufázová simplexová metoda Tato metoda se používá, jestliže nejsou v úloze lineárního programování všechny omezující podmínky ve tvaru nerovnic. Potom není získání výchozího základního řešení této úlohy tak snadné a představuje vlastně celou I. fázi výpočtu. Teprve II. fáze výpočtu se potom zabývá optimalizací účelové funkce. Tato fáze je již naprosto shodná s postupem, který byl popsán u jednofázové simplexové metody. Postup výpočtu dvoufázovou simplexovou metodou si ukážeme na jednoduchém numerickém příkladu, ve kterém jsou úmyslně definovány všechny tři možné typy omezujících podmínek. Příklad: Máme maximalizovat účelovou funkci z = 2x 1 + x 2 za podmínek 3x 1 x 2 12 x 1 + x 2 6 (1) -x 1 + 2x 2 = 9 x 1, x 2 0 Převedeme-li soustavu omezujících podmínek pomocí přídatných proměnných na ekvivalentní soustavu rovnic, dostáváme v tomto případě soustavu tří rovnic o čtyřech neznámých: 3x 1 x 2 + x 3 = 12 x 1 + x 2 x 4 = 6 (2) -x 1 + 2x 2 = 9 Všimněte si způsobu doplňování přídatných proměnných: U nerovnic typu přídatnou proměnnou k levé straně nerovnice přičítáme. Tato proměnná potom vyjadřuje rozdíl mezi pravou a levou stranou nerovnice je-li tedy například pravá strana nerovnice kapacita suroviny, která je k dispozici při plánování výrobního programu a levá strana je spotřeba této suroviny, potom přídatná proměnná vyjadřuje nespotřebovanou kapacitu, tj. rozdíl mezi kapacitou a spotřebou. 10
11 U nerovnic typu přídatnou proměnnou od levé strany nerovnice odečítáme. V tomto případě vyjadřuje přídatná proměnná rozdíl mezi levou a pravou stranou nerovnice (levá strana nerovnice má být větší nebo rovna pravé straně, musíme tedy od ní přídatnou proměnnou odečíst). Vyjadřuje-li například omezení s nerovnicí požadavek na minimální produkci nějakého výrobku, potom hodnota přídatné proměnné představuje, o kolik je v daném výrobním programu uvedený požadavek překročen. Pokud je nějaké omezení zadáno přímo ve tvaru rovnice =, potom se přídatná proměnná k modelu samozřejmě nedoplňuje, neboť přídatné proměnné nemají jinou roli než převést soustavu nerovnic a soustavu rovnic. Po doplnění přídatných proměnných do smíšených typů omezujících podmínek však není získaná soustava rovnic v kanonickém tvaru. Z této soustavy tedy nelze přímo získat její základní řešení. Pro získání kanonického tvaru se proto tato soustava rovnic uměle rozšiřuje o další proměnné, které budeme označovat jako pomocné (umělé) proměnné. Ekvivalentní soustavu rovnic rozšířenou o pomocné proměnné budeme označovat jako rozšířenou soustavu rovnic. V našem příkladu má rozšířená soustava rovnic po doplnění pomocných proměnných následující podobu (pomocné proměnné zde označujeme y 1, y 2 ): 3 x 1 x 2 + x 3 = 12 x 1 + x 2 x 4 + y 1 = 6 (3) = 9 - x x 2 + y 2 Jaká jsou tedy pravidla pro doplňování pomocnýchproměnných U nerovnic typu pomocnou proměnnou nedoplňujeme, protože přídatná proměnná přičtená při převodu této nerovnice na rovnici sama o sobě zabezpečuje získání jednotkového vektoru v matici strukturních koeficientů a může se tedy stát v této rovnici základní proměnnou. U omezujících podmínek typu a = je třeba pomocnou proměnnou k levé straně nerovnice případně rovnice přičíst. Pomocné proměnné budou v takto získané soustavě rovnic základními proměnnými. 11
12 Shrnutí způsobu doplňování přídatných a pomocných proměnných pro všechny typy omezujících podmínek přináší tabulka 1. Tabulka 1 Doplňování přídatných a pomocných proměnných Rozšířená soustava rovnic je soustavou v kanonickém tvaru, základní proměnné jsou zde postupně proměnné x 3, y 1 a y 2. Základní řešení této soustavy je dáno vektory x 1 = (0, 0, 12, 0) a y 1 = (6, 9) vektor x 1 je vektor hodnot strukturních přídatných proměnných, vektor y 1 je vektorem hodnot uměle doplněných pomocných proměnných. Dosadíme-li prvky vektoru x 1 do soustavy (1) nebo (2), zjistíme však, že řešení rozšířené soustavy rovnic není přípustným řešením dané úlohy LP. Tuto skutečnost dokumentuje tabulka 2. Tabulka 2 Hodnoty přídatných a pomocných proměnných Z tabulky 2 je patrné, že první omezující podmínka je pro řešení x 1 splněn. Rozdíl mezi pravou a levou stranou je 12 a to je v tomto případě hodnota přídatné proměnné x 3. Druhé omezení splněno není rozdíl, který zde udává, o kolik toto omezení splněno není, je roven 6. Všimněte si, že se tento rozdíl shoduje s hodnotou pomocné proměnné y 1. Podobně je to s omezením posledním rozdíl udávající míru nesplnění je 9 a to je hodnota pomocné proměnné y 2. Přípustné řešení úlohy LP tedy získáme pouze tehdy, budou-li hodnoty všech pomocných proměnných rovny 0. Obsahem I. fáze výpočtu dvoufázovou simplexovou metodou je proto vynulování všech pomocných proměnných rozšířené soustavy rovnic. I. fáze výpočtu může být zakončena dvěma způsoby: Podařilo se vynulovat všechny pomocné proměnné a tím bylo získáno výchozí přípustné řešení (je současně i řešením základním) dané úlohy LP. Výpočet může dále pokračovat optimalizací účelové funkce, tedy II. fází. Pomocné proměnné ve druhé fázi výpočtu už neuvažujeme. Nepodařilo se vynulovat všechny pomocné proměnné. Potom neexistuje řešení, které by vyhovovalo všem omezujícím podmínkám. Úloha LP nemá tedy žádné přípustné řešení a ve výpočtu nemá smysl dále pokračovat. 12
13 Technicky se může zabezpečit vynulování pomocných proměnných dvěma základními způsoby: 1. Minimalizací pomocné účelové funkce, která je vhodnějším postupem při ručním výpočtu malých úloh LP. 2. Použitím prohibitních cenových koeficientů tento postup je zpravidla používán v programových systémech pro řešení úloh LP. Minimalizace pomocné účelové funkce Minimalizaci hodnot pomocných proměnných lze zabezpečit tak, že zkonstruujeme pomocnou účelovou funkci z, která bude definována jako součet všech pomocných proměnných. Tuto pomocnou účelovou funkce budeme minimalizovat: z = Σ i y i min Pokud se podaří získat minimální hodnotu z = 0, potom musí být, vzhledem k nezápornosti všech proměnných, všechny pomocné proměnné rovny 0. Tím je získáno výchozí přípustné řešení úlohy LP. Je-li minimum z > 0, potom nelze získat řešení, ve kterém by byly všechny pomocné proměnné rovny 0. Úloha LP nemá potom vůbec přípustné řešení. Příklad: V našem ilustračním příkladu obsahuje rozšířená soustava rovnic dvě pomocné proměnné. Pomocná účelová funkce bude tedy z = y 1 + y 2 min Ze soustavy (3) je y 1 = 6 x 1 x 2 + x 4, y 2 = 9 + x 1 2x 2, takže z = y 1 + y 2 = 6 x 1 x 2 + x x 1 2x 2 = 15 3x 2 + x 4 V anulovaném tvaru má potom pomocná účelová funkce tuto konečnou podobu z + 3x 2 x 4 = 15 Výchozí simplexová tabulka rozšířená o pomocné proměnné a o řádek pomocné účelové funkce bude mít následující podobu: 13
14 Tabulka 3 Výchozí simplex. tabulka pro dvoufázovou simplex. metodu V tab. 3 si všimněte, že koeficienty pomocné účelové funkce lze snadno získat i tak, že sečteme řádky, ve kterých jsou pomocné proměnné základními proměnnými (v našem případě řádek tabulky). Ve sloupcích pomocných proměnných jsou však tyto koeficienty vždy rovny 0 (viz předchozí úprava pomocné účelové funkce z ). Při řešení rozšířené úlohy je třeba si uvědomit především: Vstupující proměnná se volí podle redukovaných cenových koeficientů pomocné účelové funkce, kterou vždy minimalizujeme. Klíčový sloupec je tedy určen maximálním kladným koeficientem v řádku z v tab. 3 je proto vstupující proměnná x 2. Volba klíčového řádku i přepočet simplexové tabulky se provádí standardním způsobem popsaným v části o jednofázové simplexové metodě v tab. 3 je vystupující proměnná y 2. Řádek původní funkce z se pouze přepočítává jako kterýkoliv jiný řádek v tabulce. V tabulce 4 je dokončena minimalizace pomocné účelové funkce. Ve dvou iteracích je nejprve vypočteno řešení x 2 = (0, 9/2, 35/2, 0), y 2 = (3/2, 0) s hodnotou funkce z 2 = 9/2 a z 2 = 3/2 a potom řešení x 3 = (1, 5, 14, 0), y 3 = (0, 0) s hodnotou funkce z 3 = 7 a z 3 = 0. Řešení x 3, y 3 je již optimálním řešením rozšířené úlohy. Vzhledem k tomu, že je v tomto řešení hodnota pomocné účelové funkce rovna 0, je řešení x 3 současně výchozím základním řešením původní úlohy lineárního programování. 14
15 Tabulka 4 I. fáze minimalizace pomocné účelové funkce z Nalezením výchozího přípustného řešení končí I. fáze výpočtu dvoufázovou simplexovou metodou. Ve výpočtu se poté pokračuj II. fází, která spočívá v optimalizaci původní účelové funkce z. II. fáze výpočtu našeho příkladu je ilustrována v tabulce 5. Všimněte si, že v této tabulce již nejsou obsaženy pomocné proměnné, které lze po jejich vynulování z modelu vyloučit, ani pomocná účelová funkce. Vzhledem k maximalizaci funkce z není řešení x 3 = (1, 5, 14, 0) s hodnotou účelové funkce z 3 = 7 řešením optimálním. Hodnotu účelové funkce lze zlepšit tak, že zvolíme jako vstupující proměnnou x 4 vystupující proměnná je potom x 3 (viz tab. 5). Po přepočtu simplexové tabulky podle klíčového prvku (5/3) získáme řešení x 4 = (33/5, 39/5, 0, 42/5) s hodnotou účelové funkce z 4 = 21. Nalezením řešení x 4 končí II. fáze výpočtu, neboť toto řešení je již hledaným optimálním řešením dané úlohy LP. Tabulka 5 II. fáze optimalizace účelové funkce z Celý postup výpočtu, který je obsažený v tabulkách 3 5, je ilustrován graficky na obrázku. Na tomto obrázku je zvýrazněn množina přípustných řešení je to v tomto případě pouze jedna hrana mezi body x 3 a x 4. V I. fázi výpočtu (tab. 4) jsme vycházeli z řešení x 1 a ve dvou iteracích jsme přešli přes řešení x 2, které také není 15
16 přípustné, k řešení x 3. Tím skončila I. fáze, neboť řešení x 3 je již řešením přípustným. Ve II. fázi se v jedné iteraci vypočte optimální řešení x 4. Obrázek Množina přípustných řešení 16
17 Použití prohibitních cenových koeficientů Místo zavedení pomocné účelové funkce lze dosáhnout efektu minimalizace hodnot pomocných proměnných i jiným, relativně jednodušším způsobem. Účelová funkce z se doplní o pomocné proměnné, kterým se však přiřadí maximálně nevýhodné cenové koeficienty ±M: +M v případě minimalizace a M při maximalizaci funkce z, kde M je ve srovnání s ostatními cenovými koeficienty dostatečně velké kladné číslo. Vzhledem k nevýhodnosti prohibitních cen u pomocných proměnných budou tyto proměnné prioritně zvoleny jako vystupující a bude tedy dosaženo podobného efektu jako při použití pomocné účelové funkce. Použití prohibitních sazeb není, ve srovnání s pomocnou účelovou funkcí, z hlediska ručního výpočtu výhodnější. Tento postup je však používán v většině programových produktů. Příklad: Pro ilustraci uvedeného postupu zapíšeme výchozí simplex. tabulku s účelovou funkcí upravenou pomocí prohibitních saze. V našem příkladu bude vypadat tato funkce následovně: z = 2x 1 +x 2 My 1 My 2 Pokud však zapíšeme funkci do simplexové tabulky, budou u pomocných proměnných (které jsou proměnnými základními) porušeny jednotkové vektory (v řádku z nejsou nulové koeficienty ale sazby M). Z tohoto důvodu je třeba dále tuto tabulku upravit tak, že řádky obsahující pomocné proměnné vynásobíme hodnotou (-M) a přičteme k řádku z. Výchozí simplexová tabulka pro náš příklad je v tabulce 6. Další výpočet se realizuje už standardním způsobem s tím, že se počítá samozřejmě pouze s upravenou účelovou funkcí. Podle této funkce se zvolí klíčový sloupec (z 2 = -3M 1) vystupující proměnná určená klíčovým řádkem je potom y 2. Tuto proměnnou lze tedy vyloučit a v dalším průběhu výpočtu nemusí být už uvažována. Tabulka 6 použití prohibitních sazeb 17
18 Duální úloha Teorie duality Dualitou v úlohách lineárního programování se rozumí vzájemný vztah dvojice př esně definovaných úloh lineárního programování. Ke každé úloze lineárního programování lze zformulovat podle definice, kterou uvedeme dále, jinou úlohu lineárního programování. První z nich budeme označovat jako úlohu primární, druhou potom jako úlohu duální. Uvedené označení však svádí k tomu, že duální úloha je v jakémsi podřízeném stavu k úloze primární, neboť je z ní odvozena. Takové chápání duality by nebylo správné. Je třeba se uvědomit, že dualita je vzájemným symetrickým vztahem obou úloh. Pokud tedy budeme aplikovat proces transformace jedné úlohy na druhou dvakrát po sobě, potom dostáváme zpět původní primární úlohu: primární úloha transformace duální úloha transformace primární úloha Místo označení primární a duální úloha lze použít termín dvojice duálně sdružených úloh. Praktický význam duality spočívá v tom, že vlastnosti duálních modelů a vztahy mezi duálně sdruženými úlohami se využívá při 18
19 speciálních algoritmech pro řešení úloh LP. Velký význam má dualita i v etapě ekonomické interpretace výsledků řešení. Úlohy souměrně duálně sdružené (souměrná dualita) Principy konstrukce duálních úloh I Za podmínek Mějme úlohu lineárního programování ve tvaru I a 11 x 1 + a 12 x a 1n x n b 1, a 21 x 1 + a 22 x a 2n x n b 2,... a m1 x 1 + a m2 x a mnx n b m, x j 0, j = 1,2,..., n, (1) nalézt maximum funkce z = c 1 x 1 + c 2 x c n x n, Tuto úlohu nazveme primární. Když každému omezení primární úlohy (1) přiřadíme jednu duální proměnnou u i i =1,2,...,m, II můžeme formulovat duální úlohu ve tvaru II 19
20 Za podmínek a 11 u 1 + a 21 u a m1 u m c 1, a 12 u 1 + a 22 u a 2m u m c 2,... a 1n u 1 + a 2n u a mn u m c n, u i 0, i =1,2,..., m, (2) nalézt minimum funkce w = u 1 b 1 + u 2 b u m b m, Úlohy (1) a (2). jsou tzv. symetrické duální úlohy. Vztah duality je vztahem vzájemným, neboť kterákoliv z těchto úloh může být vzata jako primární a naopak. Duální úloha má n omezení,k tedy tolik, kolik má primární úlohy proměnných, a m proměnných, tedy tolik, kolik má primární úloha omezení. Definice: V maticovém vyjádření mají symetrické duální úlohy tento tvar: I. Primární model z = c T x max., za podmínek Ax b, x 0. II. Duální model w = u T b min., za podmínek A T u c, u 0. 20
21 kde: c T = (c 1, c 2,.... c n) je n-složkový řádkový vektor cenových koeficientů x = (x 1, x 2,.... x n) T strukturních proměnných je n-složkový sloupcový vektor modelu b = (b 1, b 2,.... b m) T je m-složkový sloupcový vektor koeficientů pravé strany A matice strukturních koef. o rozměru m n W hodnota účelové funkce duálního modelu u = (u 1, u 2,.... u m) T proměnných duálního je m-složkový sloupcový vektor modelu Při zápisu pomocí sumací v matematickém modelu duálně sdružených úloh vypadá definice souměrné duality následovně: z = j n = 1 c j x j max j n = 1 a ij x j b i, i = 1, 2,..., m x j 0, j = 1, 2,..., n Primární model: Duální model: Z obou zápisu je naprosto zřejmé, že v duálním modelu jsou obsaženy stejné koeficienty jako v modelu primárním - samozřejmě s výjimkou vektorů x a u, které označují vektor proměnných primárního a duálního modelu. u i 0, i = 1, 2,..., m m i = 1 a ij u i c, j = j 1, 2,..., n. Při formulaci duálního modelu je třeba vycházet z výše uvedené definice. 21
22 Prvním důležitým krokem při této formulaci je převod primárního matematického modelu na tvar, který je uveden v definice, tzn.: při maximalizaci účelové funkce z je třeba převést všechna vlastní omezení úlohy na typ. při minimalizaci účelového funkce z je třeba všechna vlastní omezení úlohy na typ. Po této úpravě je už vlastní formulace duální úlohy velmi jednoduchá: ke každému vlastnímu omezení primární úlohy přiřadíme jednu duální proměnnou u i, i=1,2,..,m - každé z těchto proměnných je přiřazena podmínka nezápornosti. ke každé proměnné x j, j=1,2,...,n primární úlohy přiřadíme vlastní omezení duální úlohy - koeficienty tohoto omezení jsou určeny j-tým sloupcem matice A, typ všech omezení musí opět korespondovat s extrémem účelové funkce w ( v případě maximalizace a v případě minimalizace), koeficienty pravé stany v duální úloze jsou shodné s koeficienty účelové funkce primární úlohy a naopak koeficienty účelové funkce duální úlohy jsou shodné s koeficienty pravé strany primární úlohy, extrém účelové funkce se mění z maximalizace na minimalizaci, případně naopak. Příklad: Formulace souměrně sdruženého duálního modelu: 0,5 x 1 + 0,25 x ,5 x 1 + 0,5 x ,25 x 2 25 z = 20 x x 2 Příslušný duální model bude mít tři duální proměnné a dvě duální vlastní omezení. 22
23 Formulace uvedena v tabulce - 1: Primární model Duální model z = 20 x x 2 max W = 40 u u u 3 min 0,5 x 1 + 0,25 x ,5 x 1 + 0,5 x ,25 x 2 25 x 1 0 x 2 0 u 1 0 u 2 0 u 3 0 0,5 u 1 +0,5 u ,25 u 1 + 0,5 u 2 +0,25u 3 14 Tabulka 1 - Formulace souměrného duálního modelu Z tabulky je patrné, že je každému vlastnímu omezení jedné úlohy přiřazena podmínka nezápornosti úlohy druhé a naopak každé proměnné s podmínkou nezápornosti je přiřazeno v druhé úloze vlastní omezení. Dostáváme tak tedy v našem příkladu pět řádků (kromě řádku obsahujícího účelové funkce obou úloh (1. řádek)), z nichž každý obsahuje vlastní omezení jedné úlohy a podmínku nezápornosti úlohy druhé. V každém řádku je tedy dvojice omezujících podmínek - vlastní omezení jedné úlohy a podmínka nezápornosti úlohy druhé. Tyto dvojice budeme dále označovat jako dvojice duálně sdružených omezení. Mezi řešeními sdružených úloh platí zajímavé vztahy. Hodnota účelové funkce libovolného řešení primární úlohy nemůže být větší než hodnota účelové funkce libovolného řešení duální úlohy. Hodnota účelové funkce duální úlohy (minimalizační) je tedy horní mezí pro hodnotu účelové funkce primární úlohy (maximalizační). Jestliže nalezneme taková přípustná řešení obou úloh, jejichž hodnoty účelových funkcí se rovnají, pak jsou to řešení optimální. 23
24 Věty o dualitě: Věta 1. Je-li x libovolné přípustné řešení primární úlohy a u libovolné přípustné řešení duální úlohy, platí, c T x b T u. Důkaz: Vynásobíme vlastní omezení primární úlohy vektorem u a vlastní omezení duální úlohy vektorem x: u T Ax u T b u T Ax c T x c T x u T b Věta 2. Je-li x přípustné řešení primární úlohy a u přípustné řešení duální úlohy, pro něž c T x = b T u, pak x a u jsou optimální řešeními obou úloh. Důkaz: Označíme přípustná řešení sdružených úloh, jejichž hodnoty účelových funkcí se rovnají, x 0 a u 0. Platí-li c T x 0 = b T u 0, potom z věty plyne pro libovolné přípustné řešení primární úlohy c T x u T 0 b, tj. c T x = c T x 0 a pro libovolné přípustné řešení duální úlohy u T b c T x 0, tj. u T b b T u 0. Je tedy x 0 optimálním řešením primární úlohy a u 0 optimálním řešením duální úlohy. Kromě těchto dokázaných vztahů, platí mezi řešeními sdružených úloh i další vztahy. 24
25 Věta 3. Mají-li obě sdružené úlohy optimální řešení, pak se optimální hodnoty účelových funkcí obou úloh sobě rovnají. 25
26 Úlohy nesouměrně duálně sdružené (nesouměrná dualita) Při definici souměrné duality jsme uvažovali pouze vlastní omezení ve tvaru nerovnic " " nebo " ". V úlohách lineárního programování se však vyskytují i vlastní omezení ve tvaru rovnic. Jakým způsobem modifikuje výskyt takových omezení formulaci duální úlohy bude ukázáno nyní: V následujícím příkladu jsou v soustavě vlastních omezení obsaženy všechny tři možné typy omezení - tj. jedna nerovnice " " a druhá " " a jedna rovnice: Příklad: 3 x 1 - x 2 12 z = 2x 1 + x 2 x 1 + x 2 6 -x 1 + 2x 2 = 9 Vzhledem k maximalizaci účelové funkce z = 2x 1 + x 2 je třeba převést nejprve všechna vlastní omezení na typ " ". Nerovnici x 1 + x 2 6 stačí vynásobit (- 1). Rovnici -x 1 + x 2 = 9 je možné nahradit dvěma nerovnicemi: -x 1 + 2x 2 9 x 1-2 x 2-9 Původní soustava tří vlastních omezení se tak rozšiřuje o jedno další omezení s tím, že původní rovnici přísluší dvě vlastní omezení v rozšířené soustavě. Duální proměnné příslušející těmto dvěma vlastním omezením označíme u 3 a u 3, protože obě přísluší shodnému původnímu vlastnímu omezení (rovnici). Formulace duálního modelu příslušejícího této rozšířené soustavě vlastních omezení je uvedena v tabulce -2 - v tomto případě se jedná o s o u m ě r n o u d u a l i t u. 26
27 Primární model z = 2 x 1 + x 2 max 3 x 1 - x x 1 - x x x 2 9 x x 2-9 Duální model W = 12 u 1-6 u 2 + 9*( u 3 - u 3 ) min u 1 0 u 2 0 u 3 0 u 3 0 x 1 0 x u 1 - u 2 - (u 3 - u 3 ) 2 - u 1 - u 2 +2* (u 3 - u 3 ) 1 Tabulka 2 -Formulace souměrného duálního modelu Nyní budeme formulovat duální úlohu k nerozšířenému modelu, tj. k modelu, ve kterém ponecháme třetí omezující podmínku ve tvaru rovnice. Této rovnici přiřadíme duální proměnnou u 3. Vzhledem k extrému účelové funkce musíme i zde vynásobit druhou nerovnici hodnotou (-1), abychom toto omezení převedli na typ " ". Formulace opět uvedena v tabulce: Primární model Duální model = 2 x 1 + x 2 max W = 12 u 1-6 u u 3 min 3 x 1 - x 2 12 u x 1 - x 2-6 u x x 2 = 9 u 3 - libovolné 27
28 x u 1 - u 2 - u 3 2 x u 1 - u u 3 1 Tabulka 3 -Formulace nesouměrného duálního modelu Duální modely v tabulce 2 a 3 jsou téměř shodné - hlavní rozdíl spočívá v tom, že je proměnná u 3 z tabulky 3 nahrazena v tabulce 2 ( v souměrném modelu) rozdílem dvou proměnných (u 3 - u 3 ). Duální proměnná u 3 byla přiřazena vlastnímu omezení - x x 2 = 9 a proměnné u 3 a u 3 příslušely dvojici omezujících podmínek odvozených z uvedené rovnice. Pro všechny podmínky v souměrné dualitě - tedy i pro proměnné u 3 a u 3 platí podmínky n ezápornosti. Pro proměnnou u 3 = u 3 - u 3, která je definována jako rozdíl dvou nezáporných hodnot však z pochopitelných důvodů podmínka nezápornosti platit nemůže - rozdíl dvou nezáporných hodnot může být stejně tak kladný, záporný nebo nulový. Z tohoto důvodu platí, že duální proměnné příslušející vlastním omezením ve tvaru rovnice nejsou omezeny podmínkami nezápornosti. Obecná definice nesouměrné duality I. Maximalizovat funkci II. Minimalizovat funkci z = c T x, w = u T b, za podmínek za podmínek Ax = b, A T u c, X 0 u - libovolné Nesouměrnost spočívá v tom, že dvojice duálně sdružených omezení nejsou v tomto případě "kompletní". V souměrné dualitě tyto dvojice obsahovaly vždy vlastní omezení ve tvaru nerovnice v jedné úloze a podmínku nezápornosti v úloze druhé. V nesouměrné dualitě nepřísluší vlastnímu omezení ve tvaru rovnice v jedné úloze žádná omezující podmínka v úloze druhé (příslušná proměnná může být libovolná). 28
29 Řešení duálně sdružených úloh Pro nalezení optimálního řešení dvojice duálně sdružených úloh lze použít, vzhledem k tomu, že se v obou případech jedná o standardní úlohy lineárního programování, simplexovou metodou. Každou z obou duálně sdružených úloh lze tedy řešit samostatně simplexovou metodou Příklad: Optimální řešení duálně sdružených úloh V kožedělném závodě se vyrábějí 3 druhy výrobků, na než se spotřebovávají 2 druhy surovin (kůží), jejichž disponibilní množství nelze zvýšit na udanou mez. Je třeba určit výrobní program maximální výši zisku. Potřebné údaje jsou v tabulce 4. Formulace primární úlohy: 0,2 x 1 + 0,2x ,25 x 2 + 0,3x x j 0 (j = 1, 2, 3 ) z = 12 x x x 3 MAX. Formulace duální úlohy k primární úloze: 0,2 u ,25 u ,2 u 1 + 0,3 u 2 26 u i 0 (i = 1, 2) w = 3000 u u 2 MIN. Obě úlohy převedeme na standardní tvar pomocí přídatných proměnných. U duální úlohy přidáme kromě přídatných proměnných i proměnné pomocné (y i) ) Pozn.: U omezujících podmínek typu a "=" je třeba pomocnou proměnnou k levé straně nerovnice případně rovnice přičíst. Pomocné 29
30 proměnné budou v takto získané soustavě rovnic základními proměnnými. Řešíme simplexovou metodou: V části simplexové tabulky obsahující poslední iteraci výpočtu jedné ze sdružených úloh je i řešení druhé úlohy. Z tabulky 5 (3. Iterace) lze tedy vyčíst i optimální řešení duální úlohy u T = [60, 140/3] ( je v posledním řádku tabulky pod přídatnými proměnnými, jejichž koeficienty vytvořily jednotkovou matici 1. Iterace). Hodnoty přídatných proměnných lze zjistit rovněž z posledního řádku tabulky 3. Iterace. Jsou zapsány ve sloupcích původních strukturních proměnných u 3 = 0, u 4 = 2/3, u 5 = 0. I obráceně lze z tabulky řešení duální úlohy zjistit řešení úlohy sdružené (tj. primární). Tedy optimální řešení primární úlohy z tabulky 6 (duální řešení) je x T = [1000, 0, 14000, 0, 0] z = 12 x x x 3 z = 12* *14000 = w = 3000 u u 2 w = 3000* *140/3 = Strukturní duální proměnné můžeme interpretovat jako ocenění jedné jednotky kapacity ve vztahu k hodnotě účelové fce. Jedná se tedy o marginální ocenění kapacit. Někdy se strukturní duální proměnné označují jako stínové ceny. Hodnoty duálních proměnných je třeba uvažovat pouze v rámci určitých intervalů stability pro hodnoty pravé strany b. Vlastní výpočet intervalů stability: b 1 + b 1 B s -1 b 2 0 : : b m B s -1 je inverzní matice báze v s-tém kroku výpočtu, 30
31 b i i = 1, 2,.,m jsou prvky vektoru pravých stran b i je hledaná přípustná změna pro hodnotu b i 31
32 Celočíselné programování Mezi speciální úlohy lineárního programování (LP) lze zařadit i úlohy celočíselného (lineárního) programování. Jedná se o standardní úlohy LP, které jsou však doplněny o tzv. podmínky celočíselnosti, (zabezpečují, aby všechny nebo některé proměnné nabývaly pouze celočíselných hodnot). Tyto podmínky vyplývají ze zadaného problému. Kromě obecných celočíselných podmínek se mohou v úlohách LP vyskytovat podmínky, aby proměnné nabývaly pouze hodnot 0 nebo 1, takové proměnné se označují jako bivalentní proměnná.tyto proměnné se používají i při formulaci přiřazovacího a okružního dopravního problému, což jsou úlohy celočíselného programování. Úlohy celočíselného programování, které obsahují pouze bivalentní proměnné se označují jako úlohy bivalentního programování. Úlohy celočíselného programování je možné klasifikovat podle různých hledisek. Jeden způsob klasifikace rozděluje tyto úlohy na úlohy s obecnými podmínkami celočíselnosti a na bivalentní úlohy tak, jak bylo uvedeno výše. Jiná klasifikace vychází z toho, zda jsou kladeny podmínky celočíselnosti na všechny proměnné modelu nebo pouze na jejich podmnožinu v prvním případě se hovoří o ryze celočíselných, ve druhém o smíšeně celočíselných úlohách LP. (Řešení těchto úloh je většinou velmi náročné, nejenom na výpočet, ale i z časového hlediska.) 32
33 Metody řešení úloh celočíselného programování se dělí do několika skupin podle jejich charakteru: 1. Metody řezných (sečných) nadrovin jsou vhodné pro řešení ryze i smíšené celočíselných úloh, ve kterých jsou uvažovány obecné podmínky celočíselnosti. Nejsou vhodné pro řešení bivalentních úloh. Tyto metody vychází z množiny přípustných řešení úlohy bez podmínek celočíselnosti. Pro tuto množinu je vypočteno běžnou simplexovou metodou optimální řešení. Pro takto zúženou množinu je opět vypočteno optimální řešení. Po konečném počtu kroků vede tento postup k získání řešení. 2. Kombinatorické metody jsou univerzálním nástrojem pro řešení většiny typů úloh. Podstatou těchto metod je jejich efektivní prohledávání. Bližší obecný popis metod typu není možný, protože výpočetní realizace je u jednotlivých metod poměrně odlišná. 3. Speciální metody obsahují např. maďarskou metodu (pro výpočet optimálního řešení přiřazovacího problému nebo speciální přibližné algoritmy pro řešení okružního dopravního problému). Množinu přípustných řešení a postup výpočtu optima budeme ilustrovat na příkladu. Máme tedy úlohu maximalizovat z = 2x1 + 3x2 Grafické znázornění: za podmínek 4x1 + 3x2 13 x1 + 2x2 6 x1, x2 0 x1, x2 - celé : Obr. 1.1 množina přípustných řešení úlohy celočíselného LP Grafické znázornění množiny přípustných řešení této úlohy je na obr Stínování vyjadřuje množinu přípustných řešeni bez podmínek celočíselnosti. Mřížka diskrétních bodů reprezentuje celočíselné řešení, těchto bodů je v tomto případě 10. Je zřejmé, že optimální řešení neceločíselné úlohy je dáno vektorem xopt = (8/5, 11/5), 33
34 hodnota účelové funkce tohoto řešení je zopt = 49/5. Jakékoli zaokrouhlení, což je často první myšlenka, která vzniká při pokusu získat celočíselné řešení, nevede k uspokojivým výsledkům. Jakýmkoliv zaokrouhlením vektoru xopt nelze získat optimální řešení. Toto řešení (jak po chvíli zjistíme) je xopt = (0,3) s hodnotou účelové funkce zopt = 9. V profesionálních programových systémech se pro řešení celočíselných úloh LP používají nejčastěji tzv. metody větvení a mezí. Tento princip je dostatečně obecný, takže jej lze použít na mnoho úloh. Těchto metod je ovšem docela dost, proto se zmíníme konkrétně o jedné - je to metoda autorek Land a Doig. Lze ji použít pro řešení jak ryze, tak i smíšeně celočíselných úloh LP, ale předpokládejme zde, že koeficienty účelové funkce jsou vždy celá čísla. Prvním krokem uvedené metody je, že se standardním postupem vypočte optimální řešení bez podmínek celočíselnosti. Označme si vektor tohoto řešení x = (x1, x2,...x n ) a jeho hodnotu účelové funkce z. Pokud takto vypočtené řešení vyhovuje podmínkám celočíselnosti, pak je to optimální řešení a výpočet končí. V opačném případě se z množiny X vytvoří dvě podmnožiny - X1, X2 ( což označujeme jako větvení velké množiny na dvě podmnožiny), z vektoru x se vybere libovolně jedna proměnná, která porušuje podmínku celočíselnosti (nechť se jedná o proměnnou xk, jejíž hodnota je ve vektoru x rovna xk0). MnožinaX1 je charakterizována rozšířením o podmínku [xk0] + l, xk množina X2 je vytvořena z množiny X rozšířením o podmínku xk [xk0], kde [xk0] představuje celou část z hodnoty xk0. Je-li tedy složka xk0 = 8/5, pak je množina X1 určena podmínkou xk [8/5] + 1 = 2 a množina X2 podmínkou xk [8/5] = l. V každé z obou větví je vypočteno optimální řešení bez uvažování podmínek celočíselnosti a proces větvení v případě potřeby pokračuje dále podobné jako u množiny X0. Součástí uvedeného algoritmu dále je, že je v každé větvi odvozována horní mez pro hodnotu účelové funkce celočíselného řešení. Např. na naší množině X je optimální řešení určeno vektorem x s hodnotou účelové funkce z = 49/5. Protože je to jediné optimální, řešení na množině X, je zřejmé, že ryze celočíselné řešení nemůže mít hodnotu účelové funkce vyšší než [49/5] = 9. Horní mez na množině X0 je tedy rovna 9. U ryze celočíselných úloh lze získat horní mez pro hodnotu celočíselného řešení na množině Xk jako [zk - ε ], kde zk je optimální hodnota neceločíselného optima na množině Xk a ε je dostatečné 34
35 malé ( 10-9) kladné číslo. U smíšeně celočíselných úloh je však horní mez v dané větvi rovna přímo vypočtené hodnotě účelové funkce. Celý tento proces se provádí tak dlouho, pokud všechny vytvořené větve nejsou uzavřeny jedním z následujících způsobů: 1. Ve větvi je nalezeno řešení, které vyhovuje podmínkám celočíselnosti 2. Ve větvi neexistuje žádné přípustné řešení 3. Ve větvi je nalezeno neceločíselné řešení a horní mez pro hodnotu účelové funkce, odvozená z tohoto řešení, je nižší než hodnota účelové funkce nějakého řešení, nalezeného již dříve v některé z ostatních větví. Po uzavření všech větví je nejlepší nalezené celočíselné řešení současně hledaným optimálním řešením celočíselné úlohy. Příklad: Postup výpočtu celočíselného optima metodou Land a Doig budeme ilustrovat na výše uvedeném numerickém příkladu. K lepšímu pochopení algoritmu uvádíme na obr. 1.2 a 1.3. jednak grafické znázornění způsobu dělení původní množiny přípustných řešení X0 na podmnožiny v jednotlivých větvích a optimální řešení získané na těchto podmnožinách (x0,x1,...,x4) a jednak graf řešení, která schématicky znázorňuje postup výpočtu. Obr Výpočet celočíselného optima metodou větvení a mezí Prvním krokem výpočtu je nalezení optimálního řešení na množině X0. To je na celé množině přípustných řešení bez podmínek celočíselnosti. Toto řešení je dáno vektorem x0 = (8/5, 11/5) s hodnotou účelové funkce z0 = 49/5. Horní mez je = 9. Pro větvení vybereme např. první neceločíselnou složku vektoru x0 a z původní množiny X0 vytvoříme dvě podmnožiny X1 a X2 tak, že soustavu omezujících podmínek rozšíříme o x1 [8/5]+1 = 2 a o x1 [8/5] = 1 viz obr 1.3. Množiny X1 a X2 jsou na obr 1.2. zvýrazněny stínováním.na obou těchto množinách je vypočteno optimální řešení. Tato řešení jsou určena vektory x1 = (2, 5/3) a x1 = (1, 5/2). Jejich hodnoty z1 = 9 a z2 = 19/2. Na podmnožinách odvozených z X1 nelze 35
36 tedy získat celočíselné řešení, které bude mít hodnotu účelové funkce vyšší než 8 (horní mez je 8). Na množině X2 je horní mez rovna [19/2] = 9. x0 x0 = (8/5; 49/5) Z0 = 49/5 x1; x1 2 8 x2; x2 1 9 x1 = (2; 5/3) x1= 9 x2 = (1, 5/2) z2 = 19/2 x3; x2 2 x4; x2 3 x3 = (1,2) z3 = 8 x4 = (0,3) Z4 = 9 STOP STOP Obr. 1.3 Graf řešení metodou větvení a mezí Ani jedno řešení x1 a x2 není celočíselné, pro další větvení vybereme větev X2, protože hodnota horní meze je větší než na X1, proto lze očekávat získání řešení s vyšší hodnotou účelové funkce. Z X2 vytvoříme podmnožiny X3 a X4 tak, že doplníme o podmínky x2 < [5/2] = 2 a x2 [5/2] + 1 = 3. Na obou podmnožinách získáváme již 36
37 celočíselné řešení, konkrétně se jedná o řešeni x3 = (1,2) s hodnotou účelové funkce z3 = 8 a x4 = (0,3) s hodnotou účelové funkce z4 = 9. Tímto lze větvení ukončit (viz pravidlo l). Tedy nejlepší nalezené řešení je x4 = (0,3) s hodnotou z4 = 9. Pro doplnění uvedeme Gomoryho metodu, která patří do skupiny metod řezných nadrovin, ale pouze v nejjednodušší verzi určenou pro řešení ryze celočíselných úloh. První vypočteme simplexovou metodou řešení bez podmínek celočíselnosti. Pokud splňuje toto řešení podmínky celočíselnosti, je to optimální řešení celočíselné úlohy a výpočet může skončit. V opačném případě se k soustavě podmínek doplňuje nové omezeni - řezná nadrovina. Předpokládejme, že základní proměnná v i-tém řádku simplexové tabulky porušuje podmínku celočíselnosti. Nové omezení bude mít následující podobu: (-rij)xj + xn+1 = -ri0 kde j = 0, 1,...,n rij jsou celočíselné zbytky strukturních koeficientů i-tého řádku simplexové tabulky, ri0 je celočíselný zbytek hodnoty prvé strany v i-tém řádku tabulky, tj. hodnoty základní proměnné, která porušuje podmínky celočíselnosti xn+1 ji přídatná proměnná doplněná k tomuto novému omezení Celočíselný zbytek je vždy číslo z intervalu <0,1). Pro ilustraci - celočíselný. zbytek 8/5 je 3/5, protože 8/5 = 1+3/5 a celočís. zbytek čísla -8/5 je 2/5, protože 8/5= -2+2/5. Po doplnění řezné nadroviny do simplexové tabulky dostáváme v této tabulce primárně nepřípustné řešení. Ve výpočtu pokračujeme duálně simplexovou metodou. Po nalezení optima se situace opakuje - buď je celočíselné, nebo se k soustavě omezení doplní další řezná nadrovina stejným způsobem. Po konečném počtu kroků konverguje tento postup k optimálnímu řešení. Ovšem v každém kroku se rozšiřuje soustava o jedno nové omezení (řádek) a novou proměnnou (sloupec). Vzhledem k tomu, že počet kroků může být i u malých úloh značný, může se i do značných rozměrů rozrůst původní problém. S tím souvisí i potenciální výpočetní problémy. 37
38 Příklady Celočíselné optimum Graf řešení Optimální řešení neceločíselné úlohy Gomoryho metoda Optimální řešení 38
39 Celočíselné optimum Výpočet celočíselného optima metodou větvení a mezí m Graf rešení Grafické řešení metodou větvení a mezí x 0 x 0 = (8/5; 49/5) Z 0 = 49/5 x 1 ; x x 2 ; x x 1 = (2; 5/3) x 1 = 9 x 2 = (1, 5/2) z 2 = 19/2 x 3 ; x 2 2 x 4 ; x
40 x 3 = (1,2) z 3 = 8 x 4 = (0,3) Z 4 = 9 STOP STOP Postup výpočtu celočíselného optima budeme ilustrovat na stejném numerickém příkladu jako předchozí metodu větvení a mezí. Předpokladem pro použití Gomoryho metody je znalost optimálního neceločíselného řešení. Optimální řešení neceločíselné úlohy Toto řešení pro náš příklad je uvedeno v tabulce: Základní proměnná X 1 X 2 X 3 X 4 B i X /5-3/5 8/5 X /5 4/5 11/5 Z j 0 0 1/5 6/5 49/5 Toto řešení nesplňuje podmínky celočíselnosti. Vybereme řádek s první neceločíselnou hodnotou základní proměnné (x 1 = 8/5) a podle něj zkonstruujeme nové omezení řeznou nadrovinu: 0*x 1 0*x 2 2/5x 3 2/5x 4 + x 5 = - 3/5, kde x 5 je přidaná proměnná příslušející tomuto novému omezení. O nové omezení rozšíříme předchozí tabulku a ve výpočtu budeme pokračovat jedním krokem duálně simplexové metody. Tento krok je uveden zde: Gomoryho metoda První krok výpočtu Gomoryho metody 40
41 X 1 X 2 X 3 X 4 X 5 B i X /5-3/5 0 8/5 X /5 4/5 0 11/5 X /5-2/5 1-3/5 Y j 0 0 1/5 6/5 0 49/5 X X /2 5/2 X /2 3/2 Z j /2 19/2 Toto řešení není celočíselné. Pokračujeme dále. Vybereme opět řádek s první neceločíselnou hodnotou základní proměnné (x 2 = 5/2) a podle něj vytvoříme nové omezení: -1/2x 5 + x 6 = -1/2, kde x 6 je další přidaná proměnná. Po doplnění tohoto omezení do tabulky a po provedení výpočtu jedním krokem duálně simplexové metody dostáváme již celočíselné řešení. Optimální celočíselné řešení je tedy charakterizované vektorem x c = (0, 3, 4, 1) a hodnotou účelové funkce x c = 9. Ve vektoru x c jsme neuvedli hodnoty proměnných x 5, x 6 tj. přidaných proměnných dvou nově doplněných omezení (řezných nadrovin). Tyto proměnné totiž nemají ve vztahu k původnímu modelu žádnou interpretaci. Optimální řešení X 1 X 2 X 3 X 4 X 5 X 6 B i X X /2 0 5/2 41
42 X /2 0 3/2 X /2 1-1/2 Z j ½ 0 19/2 X X X X Y j
43 Dopravní problém (Speciální úlohy lineárního programování) Mezi nejtypičtější úlohy lineárního programování patří tzv. distribuční úlohy lineárního programování. Z distribučních úloh v této kapitole podrobněji rozebereme dopravní problém a z formulačního hlediska se zmíníme o dalších úlohách jako je přiřazovací problém, okružní dopravní problém a obecný distribuční problém. Dopravní problém formulace ekonomického a matematického modelu V dopravním problému se typickém případě jedná o rozvržení rozvozu nějakého zboží či materiálu z dodavatelských míst (zdroje) odběratelům (cílová místa) tak, aby byly minimalizovány celkové náklady související s tímto rozvozem. V dopravním problému je definováno m-zdrojů (dodavatelů) D 1, D 2,, D m s omezenými kapacitami a 1, a 2,, a m (množství, které je dodavatel schopen v uvažovaném období dodat ) a n- cílových míst (odběratelů) O 1, O 2,, O n se stanovenými požadavky b 1, b 2,, b n (množství, které odběratel v uvažovaném období požaduje). Vztah každé dvojice zdroj-cílové místo je nějakým způsobem oceněn. Tímto oceněním mohou být například vykalkulované náklady na přepravu jedné jednotky zboží mezi zdrojem a cílovým místem nebo kilometrová vzdálenost mezi zdrojem a cílovým místem. Kvantifikované ocenění vztahu zdrojů a cílových míst označím c ij, i = 1, 2,, m, j = 1, 2,, n. Cílem řešení dopravního problému je naplánovat přepravu mezi zdroji a cílovými místy, tzn. stanovit objem přepravy mezi každou dvojici zdroj-cílové místo tak, aby nebyly překročeny kapacity zdrojů a aby byly uspokojeny požadavky cílových míst. Z hlediska matematického modelu je tedy třeba stanovit hodnoty proměnných x ij, i = 1, 2,, m, j = 1, 2,, n, které vyjadřují objem přepravy mezi i-tým zdrojem a j- tým cílovým místem. Výše uvedený popis lze považovat za typickou formulaci ekonomického modelu dopravního problému. Tuto formulaci lze přehledně vyjádřit ve formě tabulky (tabulka 1). Zdroje Cílová místa Kapacity O 1 O 2 O n zdrojů D 1 c 11 x 11 c 12 x 12 c 1a x 1a a 1 D 2 c 21 x 21 c 22 x 22 c 2n x 2n a 2 43
4EK213 Lineární modely. 10. Celočíselné programování
4EK213 Lineární modely 10. Celočíselné programování 10.1 Matematický model úlohy ILP Nalézt extrém účelové funkce z = c 1 x 1 + c 2 x 2 + + c n x n na soustavě vlastních omezení a 11 x 1 + a 12 x 2 + a
VíceMetody lineární optimalizace Simplexová metoda. Distribuční úlohy
Metody lineární optimalizace Simplexová metoda Dvoufázová M-úloha Duální úloha jednofázová Post-optimalizační analýza Celočíselné řešení Metoda větví a mezí Distribuční úlohy 1 OÚLP = obecná úloha lineárního
Více4EK213 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íceParametrické 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íce4EK213 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íceEkonomická 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íce4EK213 Lineární modely. 4. Simplexová metoda - závěr
4EK213 Lineární modely 4. Simplexová metoda - závěr 4. Simplexová metoda - závěr Konečnost simplexové metody Degenerace Modifikace pravidla pro volbu vstupující proměnné Blandovo pravidlo Kontrola výpočtu
Více4EK213 Lineární modely. 5. Dualita v úlohách LP
4EK213 Lineární modely 5. Dualita v úlohách LP 5. Dualita v úlohách LP Obecné vyjádření simplexové tabulky Formulace duálního problému Formulace symetrického duálního problému Formulace nesymetrického
Vícefakulty 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íceLDF 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íceskladbu obou směsí ( v tunách komponenty na 1 tunu směsi):
Klíčová slova: simplexová metoda 1 Simplexová metoda Postup výpočtu: 1. Nalezení výchozího řešení. 2. Test optima: pokud je řešení optimální výpočet končí, jinak krok 3. 3. Iterační krok, poté opět test
Vícee-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íce4EK213 Lineární modely. 12. Dopravní problém výchozí řešení
4EK213 Lineární modely 12. Dopravní problém výchozí řešení 12. Distribuční úlohy LP Úlohy výrobního plánování (alokace zdrojů) Úlohy finančního plánování (optimalizace portfolia) Úlohy reklamního plánování
Více4EK201 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íce4EK212 Kvantitativní management. 2. Lineární programování
4EK212 Kvantitativní management 2. Lineární programování 1.7 Přídatné proměnné Přídatné proměnné jsou nezáporné Mají svoji ekonomickou interpretaci, která je odvozena od ekonomické interpretace omezení
VíceSimplexové tabulky z minule. (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25
Simplexové tabulky z minule (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25 Simplexová metoda symbolicky Výchozí tabulka prom. v bázi zákl. proměné přídatné prom. omez. A E b c T 0 0 Tabulka po přepočtu
Více4EK311 Operační výzkum. 2. Lineární programování
4EK311 Operační výzkum 2. Lineární programování 2.2 Matematický model úlohy LP Nalézt extrém účelové funkce z = c 1 x 1 + c 2 x 2 + + c n x n na soustavě vlastních omezení a 11 x 1 + a 12 x 2 + a 13 x
Více1.Modifikace simplexové metody
.Modifikace simplexové metody Simplexová metoda, v podobě popsané v prvním tématu, je vhodná zejména pro řešení úloh LP menších rozměrů, především pak pro ruční výpočty. Algoritmus metody je jednoduchý,
VíceVícekriteriální programování příklad
Vícekriteriální programování příklad Pražírny kávy vyrábějí dva druhy kávy (Super a Standard) ze dvou druhů kávových bobů KB1 a KB2, které mají smluvně zajištěny v množství 4 t a 6 t. Složení kávy (v procentech)
VíceOperační výzkum. Teorie her. Řešení maticových her převodem na úlohu LP.
Operační výzkum Řešení maticových her převodem na úlohu LP. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu
VíceTeorie her a ekonomické rozhodování. 2. Maticové hry
Teorie her a ekonomické rozhodování 2. Maticové hry 2.1 Maticová hra Teorie her = ekonomická vědní disciplína, která se zabývá studiem konfliktních situací pomocí matematických modelů Hra v normálním tvaru
Více12. 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íce0.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ícePříklady modelů lineárního programování
Příklady modelů lineárního programování Příklad 1 Optimalizace výroby konzerv. Podnik vyrábí nějaký výrobek, který prodává v 1 kg a 2 kg konzervách, přičemž se řídí podle následujících velmi zjednodušených
Více4EK311 Operační výzkum. 3. Optimalizační software a stabilita řešení úloh LP
4EK311 Operační výzkum 3. Optimalizační software a stabilita řešení úloh LP 3.1 Příklad matematický model Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krabiček]
Více0.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íce4EK311 Operační výzkum. 4. Distribuční úlohy LP část 1
4EK311 Operační výzkum 4. Distribuční úlohy LP část 1 4. Distribuční úlohy LP Úlohy výrobního plánování (alokace zdrojů) Úlohy finančního plánování (optimalizace portfolia) Úlohy reklamního plánování (plánování
VíceIB112 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íce13. Lineární programování
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
VícePří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íceRNDr. Sousedíková Radmila, Ph.D.
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Eaktní metody rozhodování - operační výzkum RNDr. Sousedíková Radmila,
VíceNecht 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íceLineární programování
Lineární programování Petr Tichý 19. prosince 2012 1 Outline 1 Lineární programování 2 Optimalita a dualita 3 Geometrie úlohy 4 Simplexová metoda 2 Lineární programování Lineární program (1) min f(x) za
VíceObr. 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íce3. ANTAGONISTICKÉ HRY
3. ANTAGONISTICKÉ HRY ANTAGONISTICKÝ KONFLIKT Antagonistický konflikt je rozhodovací situace, v níž vystupují dva inteligentní rozhodovatelé, kteří se po volbě svých rozhodnutí rozdělí o pevnou částku,
VíceOperační výzkum. Přiřazovací problém.
Operační výzkum 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..7/2.2./28.326
VíceSystémové modelování. Ekonomicko matematické metody I. Lineární programování
Ekonomicko matematické metody I. Lineární programování Modelování Modelování je způsob zkoumání reality, při němž složitost, chování a další vlastnosti jednoho celku vyjadřujeme složitostí, chováním a
Více1 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íceMatematika (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íceANTAGONISTICKE HRY 172
5 ANTAGONISTICKÉ HRY 172 Antagonistický konflikt je rozhodovací situace, v níž vystupují dva inteligentní rozhodovatelé, kteří se po volbě svých rozhodnutí rozdělí o pevnou částku, jejíž výše nezávisí
VíceMaticí 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íceObecná ú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íceZápadočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat
Západočeská univerzita v Plzni Fakulta aplikovaných věd SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU MATEMATICKÉ MODELOVÁNÍ Ivana Kozlová Modely analýzy obalu dat Plzeň 2010 Obsah 1 Efektivnost a její hodnocení 2 2 Základní
VíceHledání extrémů funkcí
Hledání extrémů funkcí Budeme se zabývat téměř výhradně hledáním minima. Přes nost nalezeného extrému Obecně není hledání extrému tak přesné jako řešení rovnic. Demonstrovat to můžeme na příkladu hledání
VíceJiří Neubauer. Katedra ekonometrie FEM UO Brno
Přednáška č. 11 Katedra ekonometrie FEM UO Brno Jedná se o speciální případ dopravních úloh, řeší např. problematiku optimálního přiřazení strojů na pracoviště. Příklad Podnik má k dispozici 3 jeřáby,
Více(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íceVYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................
Více1 Úvod do celočíselné lineární optimalizace
Úvod do celočíselné lineární optimalizace Martin Branda, verze 7.. 7. Motivace Reálné (smíšeně-)celočíselné úlohy Optimalizace portfolia celočíselné počty akcií, modelování fixních transakčních nákladů,
Více7. 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íceObecná úloha lineárního programování
Obecná úloha lineárního programování Úloha Maximalizovat hodnotu c T x (tzv. účelová funkce) za podmínek Ax b (tzv. omezující podmínky) kde A je daná reálná matice typu m n a c R n, b R m jsou dané reálné
Více6 Simplexová metoda: Principy
6 Simplexová metoda: Principy V této přednášce si osvětlíme základy tzv. simplexové metody pro řešení úloh lineární optimalizace. Tyto základy zahrnují přípravu kanonického tvaru úlohy, definici a vysvětlení
Více2 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íce1 Ř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íceLineá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íceSoustavy 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íceZá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íceP ílohy. P íloha 1. ešení úlohy lineárního programování 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íceDeterminanty. 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íceProblém lineární komplementarity a kvadratické programování
Problém lineární komplementarity a kvadratické programování (stručný učební text 1 J. Rohn Univerzita Karlova Matematicko-fyzikální fakulta Verze: 17. 6. 2002 1 Sepsání tohoto textu bylo podpořeno Grantovou
VíceMatematický model. omezující podmínky. Tab. 2.1 Prvky ekonomického a matematického modelu
16 Čeho chceme dosáhnout? Co můžeme ovlivnit? Jaké jsou překážky? Ekonomický model cíl analýzy procesy činitelé Matematický model účelová funkce proměnné omezující podmínky Příklady maximalizace zisku
VíceVYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů
VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Hlavní specializace: Ekonometrie a operační výzkum Název diplomové práce Optimalizace trasy při revizích elektrospotřebičů Diplomant: Vedoucí
VíceÚ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íce5. 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íceUč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íce1 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íceSoustavy. 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íceINVESTICE 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.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška
VíceSOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC
SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC Pojm: Algebraická rovnice... rovnice obsahující pouze celé nezáporné mocnin neznámé, tj. a n n + a n 1 n 1 +... + a 2 2 + a 1 + a 0 = 0, kde n je přirozené číslo.
VíceOperace 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íceOptimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém
Obsah přednášky Mgr. Květuše Sýkorová Optimalizace Lineární programování Distribuční úlohy Okružní problém KI Př UJEP Ústí nad Labem Nederivační metody Metody 1D optimalizace Derivační metody Optimalizace
VíceOperač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íce1 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íceZá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íceMatice přechodu. Pozorování 2. Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např.
Matice přechodu Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např. u příkladu 7 (v ) dostaneme: Nyní bychom mohli postupovat jako u matice homomorfismu
Více4. Aplikace matematiky v ekonomii
4. Aplikace matematiky v ekonomii 1 Lineární algebra Soustavy 1) Na základě statistických údajů se zjistilo, že závislost množství statku z poptávaného v průběhu jednoho týdne lze popsat vztahem q d =
VíceSoustavy lineárních rovnic
Soustavy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních diferenciálních rovnic y = a (x)y + a (x)y + + a n (x)y n + f (x) y = a (x)y + a (x)y + + a n (x)y n + f (x). y n = a
VícePřiřazovací problém. Přednáška č. 7
Přiřazovací problém Přednáška č. 7 Přiřazovací problém je jednou podtřídou logistických úloh. Typickým problémem může být nejkratší převoz materiálu od dodavatelů ke spotřebitelům. spotřebitelé a i dodavatelé
VíceKvantitativní metody v rozhodování
Kvantitativní metody v rozhodování Každý manažer je ve své denodenní praxi vystaven řadě rozhodovacích situací a problémů, které může analyzovat ze dvou hledisek: bud na základě znalostí a zkušeností (kvalitativní
Více7. Důležité pojmy ve vektorových prostorech
7. Důležité pojmy ve vektorových prostorech Definice: Nechť Vje vektorový prostor a množina vektorů {v 1, v 2,, v n } je podmnožinou V. Pak součet skalárních násobků těchto vektorů, tj. a 1 v 1 + a 2 v
Vícevyjá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íceMATICE. 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íce4EK212 Kvantitativní management. 1. Úvod do kvantitativního managementu a LP
4EK212 Kvantitativní management 1. Úvod do kvantitativního managementu a LP Mgr. Jana SEKNIČKOVÁ, Ph.D. Nová budova, místnost 433 Konzultační hodiny InSIS E-mail: jana.seknickova@vse.cz Web: jana.seknicka.eu/vyuka
VíceV 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íceLineární programování
Lineární programování Úlohy LP patří mezi takové úlohy matematického programování, ve kterých jsou jak kriteriální funkce, tak i všechny rovnice a nerovnice podmínek výhradně tvořeny lineárními výrazy.
VíceCvičení z Numerických metod I - 12.týden
Máme systém lineárních rovnic Cvičení z Numerických metod I - týden Přímé metody řešení systému lineárních rovnic Ax = b, A = a a n a n a nn Budeme hledat přesné řešení soustavy x = x x n, b = b b n, x
Více1 Duální simplexová metoda
1 Duální simplexová metoda Autor: Markéta Popelová Datum: 8.5.2011 Předmět: Základy spojité optimalizace Zadání Mějme matici A R m n a primární úlohu lineárního programování v normálním tvaru (P) a k ní
VíceStudentská soutěžní práce
Univerzita Tomáše Bati Fakulta aplikované informatiky Ústav automatizace a řídicí techniky Studentská soutěžní práce STOČ 2011 Mobilní aplikace celočíselného programování metodou větví a mezí 2011 Adam
Více10. 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íceM - Příprava na pololetní písemku č. 1
M - Příprava na pololetní písemku č. 1 Určeno pro třídy 3SA, 3SB. VARIACE 1 Tento dokument byl kompletně vytvořen, sestaven a vytištěn v programu dosystem - EduBase. Více informací o programu naleznete
Více1. 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íce1 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íceSoustavy 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íceSoustavy lineárních rovnic-numerické řešení. October 2, 2008
Soustavy lineárních rovnic-numerické řešení October 2, 2008 (Systém lin. rovnic) Systém rovnic a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2... a n1 x 1 + a n2 x 2 + + a
Vícef ( x) = 5x 1 + 8x 2 MAX, 3x x ,
4. okruh z bloku KM1 - řídicí technika Zpracoval: Ondřej Nývlt (o.nyvlt@post.cz) Zadání: Lineární programování (LP), simplexová metoda, dualita v LP. Nelineární programování. Vázaný extrém. Karush-Kuhn-Tuckerova
VíceAplikovaná numerická matematika - ANM
Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových
VíceVyužití simplexového algoritmu v projektování výroby
JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Ekonomická fakulta Katedra řízení Studijní program: B6208 Ekonomika a management Studijní obor: Řízení a ekonomika podniku Využití simplexového algoritmu v projektování
VíceNumerické metody a programování. Lekce 8
Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:
VíceMatematika 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íce2.2 Grafické ešení úloh LP
2. Lineární programování 21 zabránili záporným hodnotám produkce, nezabývali jsme se pípady, kdy jako výsledný objem produkce získáme desetinné číslo. Nápravu lze snadno sjednat zahrnutím tzv. podmínek
Více