Matematický model. omezující podmínky. Tab. 2.1 Prvky ekonomického a matematického modelu



Podobné dokumenty
2.2 Grafické ešení úloh LP

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

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY

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

1. července 2010

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

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

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

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

Nejprve si uděláme malé opakování z kurzu Množiny obecně.

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

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

Parametrické programování

Ekonomická formulace. Matematický model

4EK212 Kvantitativní management. 1. Úvod do kvantitativního managementu a LP

Příklady modelů lineárního programování

Funkce a lineární funkce pro studijní obory

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

0.1 Úvod do lineární algebry

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

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

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

Nerovnice, grafy, monotonie a spojitost

Nerovnice v součinovém tvaru, kvadratické nerovnice

VEKTOR. Vymyslete alespoň tři příklady vektorových a skalárních fyzikálních veličin. vektorové: 1. skalární

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

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

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

12. Lineární programování

Simplexové tabulky z minule. (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25

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

P ílohy. P íloha 1. ešení úlohy lineárního programování v MS Excel

Matematika I, část I. Rovnici (1) nazýváme vektorovou rovnicí roviny ABC. Rovina ABC prochází bodem A a říkáme, že má zaměření u, v. X=A+r.u+s.

IB112 Základy matematiky

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

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

Funkce pro studijní obory

Lineární funkce, rovnice a nerovnice

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.

0.1 Úvod do lineární algebry

2. kapitola: Euklidovské prostory

1.1 Příklad z ekonomického prostředí 1

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

CVIČNÝ TEST 41. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

ANALYTICKÁ GEOMETRIE V ROVINĚ

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

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

4EK311 Operační výzkum. 3. Optimalizační software a stabilita řešení úloh LP

PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII

DIGITÁLNÍ ARCHIV VZDĚLÁVACÍCH MATERIÁLŮ

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

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

14. přednáška. Přímka

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/ Lineární rovnice

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

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

b) Po etní ešení Všechny síly soustavy tedy p eložíme do po átku a p ipojíme p íslušné dvojice sil Všechny síly soustavy nahradíme složkami ve sm

= - rovnost dvou výrazů, za x můžeme dosazovat různá čísla, tím měníme

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

1 Linearní prostory nad komplexními čísly

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

15. Soustava lineárních nerovnic - optimalizace

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y].

Funkce - pro třídu 1EB

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

ZÁKLADNÍ PLANIMETRICKÉ POJMY

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

Soustavy linea rnı ch rovnic

Obecná rovnice kvadratické funkce : y = ax 2 + bx + c Pokud není uvedeno jinak, tak definičním oborem řešených funkcí je množina reálných čísel.

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

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

Komisionální přezkoušení 1T (druhé pololetí) 2 x. 1) Z dané rovnice vypočtěte neznámou x:. 2) Určete, pro která x R není daný výraz definován:

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

Matematika pro informatiky

Extrémy funkce dvou proměnných

Příklad 1 ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 6

Lingebraické kapitolky - Analytická geometrie

1 Analytická geometrie

Pokyny k hodnocení MATEMATIKA

Základy matematiky pro FEK

KVADRATICKÉ FUNKCE. + bx + c, největší hodnotu pro x = a platí,

pracovní list studenta

2 Spojité modely rozhodování

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

37. PARABOLA V ANALYTICKÉ GEOMETRII

Digitální učební materiál

2.3.9 Lineární nerovnice se dvěma neznámými

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY ZADÁNÍ NEOTVÍREJTE, POČKEJTE NA POKYN!

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.

Pavlína Matysová. 5. listopadu 2018

6 Simplexová metoda: Principy

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n.

M - Kvadratické rovnice a kvadratické nerovnice

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat

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

CVIČNÝ TEST 13. OBSAH I. Cvičný test 2. Mgr. Zdeňka Strnadová. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

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

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

Transkript:

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 minimalizace nákladů minimalizace rizika velikost produkce přepravované množství velikost investice daná výrobní technologie omezená zásoba surovin kapacita lidských zdrojů finanční rozpočet Příklad 2.1 Firma vyrábí dva typy dřevěných hraček: nákladní autíčka a vláčky. Autíčko prodává za 550 Kč, vláček za 700 Kč. Náklady na dřevo, které se při výrobě používá jako hlavní materiál, činí pro autíčko 50 Kč, pro vláček 70 Kč. Na výrobě obou hraček se podílejí řezbáři a lakýrníci, přičemž na jedno autíčko je zapotřebí 1 hodina řezbářské práce a 1 hodina dokončovací práce, na jeden vláček 2 hodiny řezbářské práce a 1 hodina dokončovací práce. Náklady na řezbářskou práci činí 30 Kč/hod, na dokončovací práci 20 Kč/hod. Každý měsíc je k dispozici 5000 hodin řezbářské práce a 3000 hodin dokončovací práce. Vzhledem k odbytu je pro firmu efektivní vyrobit maximálně 2000 autíček za měsíc, výroba vláčků není z hlediska poptávky omezená. Cílem firmy je najít výrobní program, který bude maximalizovat zisk, vyjádřený jako rozdíl tržeb a nákladů. Ve firmě lze identifikovat dva procesy: výrobu autíček a výrobu vláčků. Cílem firmy je maximalizace celkového zisku. Na výrobě hraček se podílejí dva činitelé: řezbářská práce a dokončovací práce. Dalším činitelem ovlivňujícím výrobní proces je poptávka po autíčkách. Proměnné V lineárním matematickém modelu vystupují dvě proměnné: x 1 = počet autíček vyrobených za měsíc, x = počet vláčků vyrobených za měsíc. 2 Tab. 2.1 Prvky ekonomického a matematického modelu

2. Lineární programování 17 Přesná definice všech proměnných je nezbytná především pro závěrečnou interpretaci získaných výsledků. Z tohoto hlediska je důležité stanovit i časové období, k němuž se uvedené proměnné vztahují (v tomto případě jeden měsíc). Účelová funkce Jakmile jsou známy všechny proměnné, lze přistoupit k formulaci účelové funkce, která v tomto případě představuje závislost hodnoty celkového zisku na výši produkce. Celkový zisk lze vyjádřit jako rozdíl celkových tržeb plynoucích z prodeje vyrobených výrobků a celkových nákladů na produkci: zisk = tržby náklady. (2.1) Při popisu problému jsme předpokládali, že firma veškeré vyrobené hračky také prodá (za stanovenou cenu). Proto lze funkci celkových tržeb vyjádřit následovně: tržby = 550x 1 + 700x2. (2.2) Dílčí tržby za každý typ produktu jsou součinem jeho ceny a vyrobeného (prodaného) množství. V kalkulaci celkových nákladů musíme vzít úvahu, které nákladové položky jsou v problému zahrnuty. Jedná se o náklady na použité dřevo, náklady na řezbářskou práci a náklady na dokončovací práci. Nejprve pro každý typ produktu vypočteme jednicové náklady, přičemž u řezbářské práce a dokončovací práce je k tomuto účelu nutné vynásobit cenu práce počtem hodin, nezbytných pro výrobu 1 ks produktu: jednicové náklady na autíčko = 50 + 30.1 + 20.1 = 100 Kč, (2.3) jednicové náklady na vláček = 70 + 30.2 + 20.1 = 150 Kč. (2.4) Funkce celkových nákladů je náklady = 100x 1 + 150x2. (2.5) Po dosazení funkcí (2.2) a (2.5) do (2.1) získáváme funkci celkového zisku: zisk = 450x 1 + 550x2. (2.6) Omezující podmínky Při výrobě autíček a vláčků je použita technologie, která já náročná na dva druhy práce řezbářskou a dokončovací. V typických příkladech z oblasti výrobního plánování často vystupují v roli významného činitele suroviny či materiál s omezenou zásobou. I v našem příkladě je dřevo základním materiá-

18 lem, nebereme jej však v úvahu jako činitele ovlivňujícího výrobní proces 7. Zásoba dřeva (u dodavatele firmy) je zřejmě natolik velká, že v podmínkách malé firmy nelze předpokládat její úplné vyčerpání. Nejprve sestavíme omezující podmínku, která zaručuje, že nebude překročen počet hodin vymezený pro řezbářskou práci: x + x 5000. (2.7) 1 2 2 Levá strana nerovnosti představuje skutečnou spotřebu řezbářské práce (v hodinách) za jeden měsíc výroby, hodnota pravé strany je disponibilní počet hodin řezbářské práce v každém měsíci, uvedený v zadání úlohy. Podobně formulujeme podmínku, týkající se dokončovací práce: x + x 3000. (2.8) 1 2 Posledním činitelem ovlivňujícím výrobu hraček je poptávka po autíčkách. Výroba tohoto typu hraček nesmí překročit zadaný limit 2000 kusů, což lze vyjádřit následující nerovností: x 1 2000. (2.9) Omezující podmínky zachycující vliv činitelů se označují jako vlastní omezení úlohy LP. Kromě těchto podmínek musí proměnné splňovat ještě další omezení, tzv. podmínky nezápornosti: x, x 0. (2.10) 1 0 2 Tyto podmínky zaručí, že se ve výsledcích neobjeví záporné hodnoty, které by v našem případě odpovídaly zcela nesmyslnému objemu produkce. Úplná podoba matematického modelu je: x + x 5000, 1 2 2 1 + x2 x 3000, x 1 2000, (2.11) x x 0, 1, 2 z = 450x1 + 550x2 max. Účelová funkce, označovaná v modelech úloh lineárního programování písmenem z, představuje celkový zisk, který chce firma maximalizovat. Pozn.: Pozorný čtenář si jistě všiml nedbalosti, které jsme se při formulaci matematického modelu dopustili. Přestože jsme podmínkami nezápornosti 7 Spotřeba dřeva se v matematickém modelu objevuje jen ve spojitosti s náklady.

2. Lineární programování 19 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 celočíselnosti: x 1, x 2 celé, (2.12) které sice podporují smysluplnost modelu, ale určitým způsobem komplikují jeho řešitelnost. Úlohy s těmito podmínkami lze řešit pomocí speciálních metod celočíselného lineárního programování. V další části textu bude předmětem analýzy model (2.11), v němž nebudou podmínky (2.12) zahrnuty. 2.2 Grafické řešení úloh LP V předešlé části jsme se seznámili s postupem, který vede k sestavení matematického modelu zadaného rozhodovacího problému. Dalším krokem, který logicky následuje, je samotné řešení úlohy. K řešení úloh LP se používá tzv. simplexová metoda, jejíž základy položil na konci 40. let 20. stol. americký matematik G. B. Dantzig. Od té doby zaznamenala metoda celou řadu modifikací. Tyto vysoce efektivní algoritmy tvoří jádro současného profesionálního softwaru určeného pro řešení úloh LP. Přestože algoritmus simplexové metody je poměrně jednoduchý, jeho podrobný popis by znamenal znatelné vybočení z rámce základního kurzu matematického modelování. Později bude vysvětlen alespoň základní princip této metody. Obsahuje-li matematický model úlohy LP pouze dvě proměnné, lze pro řešení využít grafické znázornění. Postup grafického řešení úlohy LP si předvedeme na příkladu 2.1, jehož matematický model byl sestaven v předešlé části. 1. Znázornění množiny přípustných řešení V prvním kroku grafického řešení zjistíme, jak vypadá množina bodů, tj. řešení, která vyhovují všem omezujícím podmínkám úlohy. Osy souřadnicového systému odpovídají proměnným x 1, x 2 (obr. 2.1). Vzhledem k platnosti podmínek nezápornosti má smysl uvažovat pouze I. kvadrant souřadnicového systému. Nyní znázorníme množinu bodů vyhovující všem třem vlastním omezením úlohy. Grafickým obrazem první nerovnice (2.7) vyjadřující spotřebu řezbářské práce je polorovina. Hranici poloroviny tvoří přímka, která je obrazem rovnice x + x 5000. (2.13) 1 2 2 =

20 x 2 3000 x 1 0 2000 x 2 0 0 2000 3000 4000 5000 x 1 Obr. 2.1 Podmínky nezápornosti x 2 3000 B [0; 2500] 2000 x 1 + 2x 2 5000 2000 3000 4000 5000 A [5000; 0] 0 1 Obr. 2.2 Řezbářská práce, množina přípustných bodů x Pro znázornění přímky v souřadnicovém systému stačí nalézt dva různé body, kterými prochází. Najdeme tedy průsečíky přímky s osami x 1, x 2. Zvolíme-li x 2 = 0 v rovnici (2.13), získáme x 1 = 5000; tedy první bod A má souřadnice

2. Lineární programování 21 [5000; 0]. Po dosazení x 1 = 0 vypočteme x 2 = 2500; souřadnice druhého bodu B jsou [0; 2500]. Propojením bodů A, B získáme hraniční přímku poloroviny odpovídající první nerovnici 8 (obr. 2.2). Abychom zjistili, která polorovina, resp. její část, obsahuje přípustné body, stačí zvolit libovolný bod ležící mimo hraniční přímku (nejlépe počátek [0; 0]) a dosadit jeho souřadnice do nerovnice (2.7). Protože počátek této podmínce vyhovuje, je přípustným řešením a s ním také všechny body, které leží ve stejné polorovině. Na obr. 2.2 je tato polorovina, resp. její přípustná část, vystínována a navíc označena směrovou šipkou. Podobně znázorníme množiny přípustných bodů, které vyhovují i zbývajícím dvěma omezením (2.8) a (2.9). Hraniční přímky, resp. jejich přípustné části, všech tří vlastních omezení zachycuje obr. 2.3. x 2 3000 2000 2000 3000 4000 5000 0 1 Obr. 2.3 Množina přípustných řešení úlohy LP x Množiny 9 bodů vyhovujících jednotlivým podmínkám jsou naznačeny směrovými šipkami. Protože řešení úlohy musí vyhovovat zároveň všem omezujícím podmínkám, je nutné v grafu najít oblast, která je společným průnikem všech tří množin. Tato oblast je na obr. 2.3 vystínována a nazývá se množina přípustných řešení úlohy LP. 8 Protože je zároveň nutné respektovat podmínky nezápornosti, přípustnými jsou pouze ty body, které leží na úsečce AB. 9 Ve všech třech případech jde o oblasti, které mají společný vrchol ležící v počátku souřadnicového systému.

22 2. Znázornění účelové funkce V dalším kroku grafického řešení úlohy LP se budeme zabývat účelovou funkcí a jejím vztahem ke grafickému obrazu množiny přípustných řešení, sestrojenému v prvním kroku. Jednou z možností je zaměřit se na body, které odpovídají stejné hodnotě účelové funkce, v našem případě zisku. Zvolme libovolný bod ležící v množině přípustných řešení a vypočítejme příslušnou hodnotu zisku. V bodě A 1 [; 0] je hodnota účelové funkce z = 450. + 550.0 450000. 1 = Všechny body, které odpovídají této hodnotě zisku, musí vyhovovat rovnici 450x 1 + 550x2 = 450000. (2.14) Body vyhovující této rovnici leží na přímce, protínající osu x 1 v bodě A 1. Bod B 1, ve kterém tato přímka protíná osu x 2, má souřadnice [ 0;818,18]. Na obr. 2.4 je tato přímka znázorněna přerušovanou čarou z 1. x 2 3000 2000 X 0 Optimální řešení: x T (, 2000). 0 = Optimální hodnota účelové funkce: z 0 = 1550000. B B 1 z 1 z 0 2 z 2 A 2 A 1 0 2000 3000 4000 5000 x 1 Obr. 2.4 Účelová funkce a optimální řešení Pokud jsou koeficienty v účelové funkci celočíselné, pak je nejlepší zvolit jako hodnotu zisku součin těchto koeficientů, tj. 450.550 = 247500, čímž se při výpočtu souřadnic vyhneme dělení čísel a možnosti získání desetinného čísla. V tomto případě je navíc určení souřadnic průsečíků přímky s osami x 1, x2 velice snadné. Osu x 1 protíná přímka v bodě, jehož první souřadnice je rovna

2. Lineární programování 23 koeficientu v účelové funkci, který je u proměnné x 2, tj. 550. Druhá souřadnice je samozřejmě nulová. Osu x 2 protíná přímka v bodě, jehož druhá souřadnice je rovna koeficientu v účelové funkci, který je u proměnné x 1, tj. 450. První souřadnice je nulová. B 2 [0; 450] z 2 = 450x1 + 550x2 = 247500. (2.15) A 2 [550; 0] Z obr. 2.4 je patrné, že přímka z 1 je od počátku vizuálně dále než přímka z 2. Pro hodnoty zisku, které odpovídají těmto dvěma rovnoběžným přímkám, platí: z 1 = 450000 > z2 = 247500. (2.16) Je tedy možné zobecnit, že hodnota zisku se zvyšuje s rostoucí vzdáleností odpovídající přímky od počátku 10. Směr růstu zisku je na obr. 2.4 naznačen směrovou šipkou. 3. Určení optimálního bodu Výsledkem předchozího kroku, v němž jsme se zabývali účelovou funkcí, je určení: a) sklonu přímky 11, na níž mají body stejnou hodnotu účelové funkce, b) směru, ve kterém dochází ke zlepšování hodnoty účelové funkce. V tomto kroku je cílem určit takový bod z množiny přípustných řešení, který leží na přímce s nejvyšší hodnotou účelové funkce. Sestrojíme tedy přímku rovnoběžnou s přímkami z 1, z 2, která protíná množinu přípustných řešení a je nejdále od počátku ve směru růstu hodnoty účelové funkce. Na obr. 2.4 je taková přímka označena jako z 0. Bod X 0, ve kterém přímka z 0 protíná množinu přípustných řešení, je jediným optimálním bodem a jeho souřadnice odpovídají jedinému optimálnímu řešení zadané úlohy. 10 Většinou se používá následujícího, i když nepřesného a zavádějícího výrazu: čím dále je účelová funkce od počátku, tím je hodnota zisku vyšší. Z uvedeného výkladu je zřejmé, že nejde o účelovou funkci, ale o její průmět do souřadnicového systému. 11 Sklon této přímky je opět často zjednodušeně nazýván sklonem účelové funkce.

24 4. Výpočet optimálního řešení a optimální hodnoty účelové funkce Určením optimálního bodu grafické řešení úlohy LP nekončí. Cílem předchozích kroků bylo zjistit, kde leží optimální bod. V našem případě je bod X 0 průsečíkem hraničních přímek polorovin odpovídajících první a druhé omezující podmínce. Z předchozí analýzy je zcela zřejmé, že tyto přímky jsou obrazem dvou rovnic: x + x 5000, (2.17) 1 2 2 = 1 + x2 = x 3000. (2.18) K určení souřadnic průsečíku přímek stačí vyřešit soustavu rovnic (2.17) a (2.18), čímž získáváme následující vektor 12 optimálního řešení: x T (, 2000). (2.19) 0 = Dosazením složek vektoru (2.19) do účelové funkce získáme optimální hodnotu zisku: z = 450. + 550.2000 1550000. (2.20) 0 = 5. Interpretace výsledků Závěrečným krokem grafického řešení úlohy LP je interpretace vypočítaných hodnot. Je nutné dodržet tři hlavní zásady: a) Úplnost. Zadavatel analýzy musí obdržet veškeré informace, které jsme získali řešením úlohy LP. b) Přesnost. Výsledek analýzy či řešení je určitým návodem, resp. doporučením, které zadavateli umožní zlepšit fungování reálného systému. Na základě naší interpretace musí mít zadavatel jasnou a přesnou představu o všech rozhodnutích, která má v této souvislosti učinit. c) Srozumitelnost. Při interpretaci musíme používat jazyk, kterému zadavatel analýzy rozumí. Zjednodušeně řečeno, zadavatele, který definoval problém, nemusí zajímat ani způsob formulace matematického modelu, ani metody, pomocí nichž jsme problém vyřešili. My jeho jazyk známe, on náš jazyk znát nemusí. Nejprve se zaměříme na počet optimálních řešení. Jak ukážeme později, úloha LP může mít právě jedno optimální řešení, ale i nekonečně mnoho optimálních řešení, případně nemusí mít žádné optimální řešení, a dokonce ani žádné přípustné řešení. Z obr. 2.4 je zřejmé, že v našem případě 12 Vektory budeme v této učebnici považovat obecně za sloupcové. Řádkový vektor zapíšeme jako transponovaný vektor.

2. Lineární programování 25 má úloha právě jedno optimální řešení. Optimálním řešením rozumíme vektor x 0, jehož složky odpovídají hodnotám rozhodovacích proměnných. Při formulaci matematického modelu jsme proměnnou x 1 označili počet vyrobených autíček a proměnnou x 2 počet vyrobených vláčků, v obou případech za jeden měsíc. Podle (2.19) má firma měsíčně vyrobit ks autíček a 2000 ks vláčků. Cílem analýzy bylo dosáhnout maximálního zisku při zadaných podmínkách. Protože účelová funkce byla definována jako celkový měsíční zisk, firma podle (2.20) měsíčně získá 1550000 Kč. Jelikož jednou ze zásad úspěšné interpretace je její úplnost, měli bychom se ujistit, že jsme poskytli veškeré informace získané řešením. Majitele firmy bude jistě zajímat, zda je k naplánované výrobě skutečně zapotřebí 5000 hodin řezbářské práce a 3000 hodin dokončovací práce. Tuto skutečnost lze snadno ověřit dosazením optimálního řešení do vlastních omezení týkajících se spotřeby práce. V případě řezbářské práce i dokončovací práce se levá strana omezení rovná hodnotě pravé strany, což znamená, že všechny disponibilní hodiny budou zcela vyčerpány. K tomuto závěru jsme mohli dojít i v průběhu grafického řešení, aniž bychom prováděli dodatečný výpočet. Zjistili jsme, že optimální bod leží na průsečíku hraničních přímek polorovin, které byly obrazem omezujících podmínek pro oba druhy práce. Body, které leží na hraniční přímce, odpovídají situaci, v níž se produkce pohybuje na hranici výrobních možností vzhledem k zásobě určitého omezeného zdroje, v našem případě práce. S danou kapacitou nelze zvýšit objem výroby. Dosazením optimálního řešení do poslední omezující podmínky, týkající se omezené poptávky po autíčkách, snadno zjistíme, že hodnota 2000 není v žádném případě limitujícím faktorem. Firma by mohla vyrobit ještě dalších autíček, na něž bohužel již nemá kapacity, jak vyplývá z předešlého odstavce. Řešení výše uvedeného příkladu pomocí tabulkového procesoru MS Excel obsahuje Příloha 1. 2.3 Základní pojmy lineárního programování V průběhu grafického řešení úlohy LP jsme zavedli dva důležité pojmy přípustné řešení a optimální řešení. Cílem této části je seznámit čtenáře s dalšími termíny, které jsou nezbytné k pochopení principu obecných metod pro řešení úloh LP. Postup grafického řešení je postupem speciálním, který lze

26 použít jen v případě, že matematický model obsahuje právě dvě rozhodovací proměnné 13. Nejprve se vraťme k pojmu přípustné řešení úlohy LP. Jedná se o takové řešení, které vyhovuje všem omezujícím podmínkám úlohy, tj. vlastním omezením a podmínkám nezápornosti. Množina všech takových řešení dané úlohy se nazývá množina přípustných řešení úlohy LP. Pro úlohy lineárního programování je typické, že množina přípustných řešení je nekonečná 14. Navíc je tato množina konvexní. Konvexní množina bodů je taková množina, která s každými dvěma body této množiny obsahuje i všechny body, které leží na jejich spojnici. Na obr. 2.5 jsou množiny A, B konvexní, množina C není konvexní. A B C Obr. 2.5 Konvexní a nekonvexní množiny bodů Množina B je typickým příkladem množiny přípustných řešení úlohy LP. Nazývá se konvexním polyedrem. Množina je určena soustavou lineárních nerovnic, tudíž její hranice je (v dvojrozměrném prostoru) tvořena lineárními čarami. Pokud je navíc tato množina omezená, nazývá se polytopem. Příklady polytopu v 3D prostoru jsou čtyřstěn, krychle, jehlan aj. Speciálním bodem konvexního polyedru je vrchol (krajní bod). Je to bod, který neleží na spojnici žádných jiných dvou bodů množiny. Počet vrcholů v úlohách lineárního programování je vždy konečný. Vraťme se k příkladu 2.1, ve kterém byla množina přípustných řešení určena soustavou tří nerovnic typu. Na obr. 2.6 je zobrazena množina přípustných řešení s 5 vrcholy, označenými (1), (2), (3), (4), (5). Při řešení úlohy LP se nejprve převádí původní soustava omezujících podmínek obsažených v matematickém modelu na tzv. ekvivalentní soustavu rovnic. Důvodem je skutečnost, že při řešení úloh se používají metody určené k řešení soustavy lineárních rovnic. 13 Jak bylo uvedeno výše, obecnou metodou pro řešení rozsáhlých úloh, co do počtu proměnných i omezujících podmínek, je simplexová metoda. 14 V některých speciálních případech může být množina přípustných řešení jednoprvková či prázdná.

2. Lineární programování 27 x 2 3000 (2) 2000 (3) (4) (1) (5) 2000 3000 4000 5000 0 1 x Obr. 2.6 Množina přípustných řešení, krajní body Transformaci nerovnic na rovnice provedeme pomocí tzv. přídatných proměnných: Typ podmínky Přídatná proměnná přičtení k levé straně odečtení od levé strany = není Tab. 2.2 Transformace soustavy omezujících podmínek na ekvivalentní soustavu rovnic V matematickém modelu (2.11) tvoří ekvivalentní soustavu rovnic následující tři rovnice: x + x + x 5000, 1 2 2 3 = 1 + x2 + x4 = 1 + x5 = x 3000, (2.21) x 2000, v nichž vystupují v roli přídatných proměnných nezáporné proměnné x 3, x 4 a x 5. V nerovnici typu, resp. typu, přídatná proměnná udává, o kolik je levá strana nižší, resp. vyšší, než pravá strana. Hodnota přídatné proměnné má

28 ekonomickou interpretaci. V příkladu 2.1 proměnná x 3 představuje počet nevyužitých hodin řezbářské práce, x 4 počet nevyužitých hodin dokončovací práce, x 5 počet autíček, který zbývá k využití povoleného limitu z hlediska odbytu. Soustava 3 rovnic s 5 neznámými má obecně nekonečně mnoho řešení. Mezi nimi existuje konečný počet tzv. základních řešení. Jedná se o řešení, v nichž jsou za 2 zvolené proměnné dosazeny nuly a hodnoty zbývajících 3 proměnných jsou pak dopočítány. Zvolené proměnné s nulovými hodnotami nazýváme nezákladní proměnné, proměnné s dopočítanými hodnotami se nazývají základní proměnné. Základní řešení soustavy (2.21) budeme označovat jako základní řešení ekvivalentní soustavy rovnic. Počet základních řešení je logicky určen počtem všech možností, kterými lze vybrat nezákladní proměnné ze všech proměnných. V našem případě je tento počet roven kombinačnímu číslu 5 = 2 5! 2!3! = 10. (2.22) Může se ovšem stát, že po výběru nezákladních proměnných vzniklá soustava 3 rovnic se 3 neznámými nebude mít řešení. Lze tedy s jistotou říci, že hodnota (2.22) je horní mezí počtu základních řešení. Tabulka 2.3 obsahuje 9 základních řešení (ZŘ) soustavy (2.21). Poslední očekávané základní řešení ekvivalentní soustavy rovnic neexistuje. Jedná se o případ, ve kterém vynulujeme proměnné x 1, x 5. Takové hodnoty nevyhovují třetí rovnici v uvedené ekvivalentní soustavě. ZŘ x 1 x 2 x 3 x 4 x 5 1 0 0 5000 3000 2000 2 0 2500 0 500 2000 3 0 3000-0 2000 4 5000 0 0-2000 -3000 5 3000 0 2000 0-6 2000 0 3000 0 7 2000 0 0 8 2000 1500 0-500 0 9 2000 0 0 Tab. 2.3 Základní řešení ekvivalentní soustavy rovnic

2. Lineární programování 29 Na první pohled je zřejmé, že některé z těchto bodů neleží v množině přípustných řešení. Jedná se o body (3), (4), (5), (8). V tabulce 2.3 jsou to řešení, u nichž je hodnota alespoň jedné proměnné záporná. Jak bylo zmíněno výše, podmínky nezápornosti platí nejen pro rozhodovací proměnné, ale také pro přídatné proměnné. Uvedená řešení tyto podmínky porušují. Naopak řešení (1), (2), (6), (7), (9) splňují podmínky nezápornosti a jsou tedy přípustnými řešeními úlohy LP. Tato řešení se nazývají základní řešení úlohy LP. Je zcela jasné, že jejich množina je podmnožinou množiny základních řešení ekvivalentní soustavy rovnic. Na obr. 2.7 jsou označeny body odpovídající všem základním řešením uvedeným v tabulce 2.3. x 2 3000 (2) 2000 (3) (7) (8) (9) (1) (6) (5) (4) 2000 3000 4000 5000 0 1 Obr. 2.7 Základní řešení ekvivalentní soustavy rovnic x Přejděme nyní k dalšímu pojmu lineárního programování optimálnímu řešení. Optimální řešení úlohy LP je přípustné řešení úlohy LP s nejlepší hodnotou účelové funkce. Z grafického řešení úlohy LP lze snadno dospět k závěru, že optimálním bodem nemůže být v žádném případě vnitřní bod množiny přípustných řešení. Optimální bod musí být, pokud existuje, hraničním bodem množiny přípustných řešení. Navíc platí věta, která má zásadní význam pro řešení úloh LP. Základní věta lineárního programování: Jestliže má úloha LP optimální řešení, má také optimální řešení základní. 1) Pokud má úloha LP právě jedno optimální řešení, pak to musí být, podle uvedené věty, základní řešení. Protože základní řešení úlohy LP

30 odpovídají vrcholům konvexního polyedru přestavujícího množinu přípustných bodů, musí v tomto případě optimální řešení ležet v jednom z vrcholů. 2) Má-li úloha LP více optimálních řešení, věta zaručuje, že alespoň jedno bude základním řešením, tedy optimální bod najdeme v jednom z vrcholů množiny přípustných řešení. Důsledek základní věty LP: Jestliže má úloha LP optimální řešení, stačí se při jeho hledání soustředit pouze na základní řešení úlohy LP, neboť jedno z nich musí být optimální. Vraťme se ke grafickému řešení úlohy LP v příkladu 2.1. Podle základní věty LP a jejího důsledku jsme se mohli zaměřit jen na vrcholy množiny přípustných řešení. Byl totiž splněn hlavní předpoklad, a sice zaručení existence optimálního řešení: Úloha LP má optimální řešení, pokud je množina přípustných řešení omezená. Můžeme tedy sestavit seznam základních řešení úlohy LP, mezi nimiž musí být alespoň jedno optimálním řešením. V tabulce 2.4 jsou u každého řešení uvedeny hodnoty rozhodovacích proměnných a hodnota zisku po jejich dosazení do účelové funkce. Označení základních řešení odpovídá označení bodů na obr. 2.7. ZŘ x 1 x 2 z (1) 0 0 0 (2) 0 2500 1375000 (6) 2000 0 900000 (7) 2000 1550000 (9) 2000 1450000 Tab. 2.4 Základní řešení úlohy LP, optimální řešení Řešení (7) s nejvyšší hodnotou zisku 1550000 je hledaným optimálním řešením. Protože hodnoty zisku pro všechna ostatní řešení jsou nižší, je řešení (7) jediným optimálním řešením úlohy. 2.4 Princip simplexové metody Jak bylo uvedeno v předchozích částech, pro řešení úloh LP se používá simplexová metoda. Je to univerzální iterační postup, který efektivním způsobem prohledává množinu základních řešení úlohy LP za účelem nalezení optimálního řešení. Metoda je založena na základní větě LP a jejích důsledcích. Protože se zaměřuje jen na základní řešení úlohy LP, kterých je konečný počet, nalezne simplexová metoda po konečném počtu iterací optimální řešení nebo zjistí, že optimální řešení neexistuje.