Učební cíle
Po prostudování této kapitoly byste měli:
Je možno realizovat větší počet činností (procesů) v různých kombinacích a je třeba stanovit podle určitého hlediska (např. maximalizace zisku) optimální kombinaci těchto činností za předpokladu, že jejich realizace je omezena disponibilním množstvím výrobních kapacit (zdrojů) a různými požadavky, které jsou na činnosti kladeny (např. požadavky odbytu na sortiment aj.). Problémy, ve kterých je cílem co nejlépe umístit (alokovat) omezené zdroje a nalézt optimální vazby mezi zdroji a potřebami se nazývají alokační problémy.
Jednou z nejrozšířenějších a nejpropracovanějších metod pro řešení alokačních problémů je lineární programování. Proto se v této kapitole zaměříme na vysvětlení podstaty a principů řešení úloh lineárního programování. Správné pochopení této kapitoly vyžaduje nezbytné matematické znalosti konvexních množin, lineárních nerovností a vektorového počtu.
Verbální model |
|
Ekonomicko-matematický model LP |
|
2.1.7 Obecná formulace modelu lineárního programování
Model lineárního programování (2.1) až (2.6) lze obecně vyjádřit matematickým zápisem takto:
máme najít extrém účelové funkce
za podmínek:
.
Matice je matice typu (m, n) a nazývá se matice soustavy omezujících podmínek, je vektor proměnných, je vektor pravých stran soustavy omezujících podmínek, je vektor cen.
S matematickým modelem LP a jeho vlastnostmi se podrobně seznámíte ve 3. kapitole.
Kontrolní otázky:
3. Uvažujte model LP (2.1) - (2.6).
2.2 Grafické řešení úlohy lineárního programování
2.2.1 Úvodní poznámka
Geometrická interpretace lineárních nerovnic a vlastnosti konvexních množin umožňují řešit úlohu LP graficky. Grafická metoda se používá pro řešení úloh LP se dvěma proměnnými a konečným počtem omezujících podmínek. Metoda je prakticky málo využitelná, neboť v praxi se zřídka vyskytují jednoduché problémy pouze se dvěma proměnnými. Význam grafické metody spočívá v názorné interpretaci základních vlastností modelu LP.
2.2.2 Postup při grafickém řešení modelu lineárního programování
1. Formulace matematického modelu.
Postup při grafickém řešení budeme ilustrovat
na řešení příkladu 2.1.4.
1. Matematický model úlohy je vyjádřen účelovou
funkcí (2.1) a soustavou nerovnic (2.2) -(2.6):
zmax = 3x1 + 2x2 (2.1)
x1 + x2 £ 14 (2.2)
5x1 + 10x2 £ 100 (2.3)
4x1 + 2x2 ³ 32 (2.4)
x1 £ 11 (2.5)
x1 ³ 0, x2 ³ 0 (2.6)
x1 + x2 £ 14
je polorovina o hraniční přímce x1+ x2 = 14. Zobrazíme nejprve hraniční přímku hledané poloroviny. Zaměření poloroviny určíme buď pomocí normálového vektoru hraniční přímky, nebo dosazením souřadnic vhodného bodu do nerovnice.
Na obrázku 2.1 je hraniční přímka poloroviny (2.2) označena číslem (2). Zaměření poloroviny jsme stanovili dosazením souřadnic počátku soustavy souřadnic [0,0] do nerovnice (2.2); souřadnice počátku dané nerovnici vyhovují, hledaná polorovina tedy obsahuje počátek souřadnic.
Podobným způsobem byly zobrazeny zbývající nerovnice (2.3) - (2.5). Na obrázku 2.1 jsou označeny postupně čísly (3) - (5). Podmínky nezápornosti (2.6) vymezují I. kvadrant.
Průnikem všech polorovin je konvexní polyedr (mnohoúhelník), jehož vnitřní a hraniční body [x1, x2] vyhovují zároveň všem nerovnicím úlohy. Konvexní polyedr představuje množinu všech přípustných řešení úlohy. Jeho vrcholy jsou na obrázku 2.1 označeny P1, ..., P5.
Figure 2.1 "Grafické řešení úlohy lineárního programování
3. Účelová funkce (2.1) je tzv. lineární funkcionál, který graficky představuje soustavu rovnoběžných přímek o parametru z. Dosadíme za z vhodné číslo, např. hodnotu z = 50 a zobrazíme přímku 3x1 + 2x2 = 50. Na obrázku 2.1 je zobrazena tečkovaně. Protože tato přímka neprotíná konvexní polyedr, není dosažení 50 tis. Kč produkce za daných omezujících podmínek reálné.
4. Při větší hodnotě z se přímka účelové funkce od polyedru vzdaluje, při menší hodnotě z se k polyedru přibližuje. Přímku účelové funkce musíme posunout rovnoběžně tak, aby měla s konvexním polyedrem aspoň jeden společný bod, což je v našem případě bod P3. Optimálnímu řešení maximalizační úlohy odpovídá ten vrchol konvexního polyedru (vrchol P3), kterým prochází přímka účelové funkce a přitom zůstává co nejdále od počátku (při minimalizaci je tomu naopak). Souřadnice bodu P3 jsou hledané hodnoty proměnných x1 a x2. Určíme je buď přímo z obrázku, nebo výpočtem jako souřadnice průsečíku přímek (2) a (5). Zjistíme hodnoty x1 = 11, x2 = 3.
5. Dosazením těchto hodnot do rovnice účelové funkce zjistíme, že při pěstování plodiny A na ploše 11 ha a plodiny B na ploše 3 ha lze dosáhnout maximální produkce 39 tis. Kč. Míru využití ostatních zdrojů a splnění požadavků určíme postupným dosazením řešení x1 = 11 a x2 = 3 do jednotlivých nerovnic soustavy omezujících podmínek (2.2) - (2.6). Disponibilní plocha 14 ha bude plně využita, ze 100 hodin lidské práce zůstane 15 nevyužito a požadavek na výrobu 32 tun krmných jednotek bude překročen o 18 tun.
Kontrolní otázky:
Jak by se změnilo optimální řešení, kdyby:
6. došlo ke zvýšení produkce plodiny B na 3
tis. Kč?
7. plocha plodiny A nebyla omezena na 11 ha?
2.2.3 Postup při grafickém řešení modelu lineárního programování v QSB
Grafickou metodu řešení úloh LP obsahuje programový systém QSB
SW produkt QSB umožňuje řešit modely LP, které
mají 2 rozhodovací proměnné a nejvýše 10 omezujících podmínek.
Po nastartování systému QSB (qsb.exe) se objeví
hlavní nabídka možností programu. Standardní help (F1) popisuje jednotlivé
kroky.
Poznámky k použití programu pro grafické řešení modelu LP:
1. volte nabídku “Linear Programming”
2.3.1 Poznámka
Z grafického řešení úlohy LP lze odvodit některé základní vztahy mezi konvexní množinou řešení omezujících podmínek a vlastnostmi úlohy LP.
2.3.2 Definice
Množina bodů se nazývá konvexní, jestliže splňuje podmínku: patří-li do ní dva různé body, patří do ní také všechny body úsečky určené oběma body.
2.3.3 Poznámka k definici
Jsou-li dány dva body (vektory) A a B, potom lze body úsečky určené těmito body vyjádřit analyticky jako konvexní kombinaci obou bodů. Konvexní kombinace bodů A a B je definována jako bod C, pro který platí
2.3.4 Příklad
Na obrázku 2.2 je množina a) nekonvexní b) konvexní.
Figure 2.2 ”Konvexní a nekonvexní množina”
2.3.5 Věta
Množina přípustných řešení úlohy LP je konvexní množina s konečným počtem vrcholů.
Důkaz:
Dokážeme, že množina přípustných
řešení úlohy LP je konvexní. K tomu stačí podle poznámky 2.3.3.
dokázat, že každá konvexní kombinace dvou přípustných řešení
úlohy LP je opět přípustné řešení úlohy LP.
Nechť x1 a x2 jsou přípustná řešení úlohy LP. Nechť dále platí:
Ax2 = b
Konvexní kombinaci obou vektorů přípustných řešení lze psát ve tvaru podle definice 2.3.2.
x = kx1 + (1 – k)x2, kde 0 £ k £ 1.
Pro vektor x zřejmě platí:
Ax =A[kx1 + (1– k)x2]= kAx1 + (1– k)Ax2 = kb + (1– k)b = b.
Je tudíž x také přípustné řešení a množina přípustných řešení je konvexní. Platnost druhé části věty vyplývá z předpokladu, že model LP má konečný počet omezujících podmínek.
2.3.6 Klasifikace množin přípustných řešení v modelu lineárního programování
1. Množina přípustných řešení je prázdná. Omezující podmínky modelu LP jsou nekonzistentní a model nemá řešení, jak je uvedeno na obrázku 2.3.
Figure 2.3 ”Prázdná množina řešení”
2. Množina přípustných řešení je konvexní polyedr. Model LP má nutně optimální řešení:
Figure 2.4 ”Konvexní polyedr”
Ve vícerozměrných prostorech se účelová funkce (nadrovina) může dotknout množiny přípustných řešení (nadmnohostěnu, polyedru) ve více vrcholech. V trojrozměrném prostoru ve třech vrcholech; potom se dotýká množiny přípustných řešení v celé stěně. Analogicky ve vícerozměrných prostorech se může dotknout ve více vrcholech.
3. Množina přípustných řešení je neohraničená. Účelová funkce může při maximalizaci na množině přípustných řešení nabývat libovolně velkých hodnot. Na obrázku 2.5 je hodnota účelové funkce na množině řešení shora neohraničená.
Figure 2.5 ”Neohraničená konvexní množina”
Kontrolní otázky:
8. Podívejte se na obrázek 2.4.; za předpokladu, že na osách x1 ax2je měřítko 1 cm.
2.3.7 Základní věta lineárního programování
Účelová funkce v modelu lineárního programování nabývá svého extrému na hranici konvexní množiny přípustných řešení (ve vrcholu konvexního polyedru).
Matematický důkaz věty je značně obtížný, proto jej neuvádíme. Vlastnost je ale zřejmá z postupu při grafickém řešení.
Na základě základní věty LP je možno optimální
řešení modelu LP vybírat z konečného počtu řešení: model LP má
konečný počet omezujících podmínek a konvexní množina přípustných
řešení má proto konečný počet vrcholů. V jednom z vrcholů je hledané
řešení.
2.4 Shrnutí
Lineární programování je nejpoužívanějším
typem optimalizačních úloh. Tyto úlohy jsou charakteristické tím,
že se z množiny přípustných variant řešení pomocí vhodně zvolené
metody vybírá řešení, které se z hlediska daných podmínek a zvoleného
optimalizačního kritéria jeví jako nejvýhodnější (optimální).
Proto lze LP považovat za jeden z nástrojů optimálního rozhodování.
Lineární modely zobrazují systém s určitou
mírou nepřesnosti, vyplývající z předpokladu linearity zobrazovaných
procesů a deterministického charakteru parametrů modelu. Přesto ale
poskytují důležité informace pro podporu rozhodování. Pro svoji jednoduchost
a širokou použitelnost se LP stalo jednou z nejrozšířenějších metod
využívaných při manažerském rozhodování.
Grafické řešení úlohy LP je založeno
na geometrické interpretaci lineárních nerovnic a vlastnostech konvexních
množin. Grafické řešení je omezeno na modely LP se dvěma proměnnými
a konečným počtem omezujících podmínek. Grafická metoda má především
didaktický význam.
2.5 Klíčová
slova
Lineární programování, alokační problém,
účelová (kriteriální) funkce, omezující podmínky, vektor proměnných,
vektor cen, matice soustavy omezujících podmínek, verbální model,
model LP, standardní tvar úlohy LP, grafická metoda řešení modelu
LP, konvexní polyedr, optimální řešení, množina přípustných řešení,
základní věta LP.
2.6 Otázky
ke studiu
1.Co je optimalizační problém?
1. X1……….počet výrobků
V1
X2……….počet
výrobků V2
2.
3. Např. x1=11, x2=0,
z=33
4. Např. x1=10, x2=5
5. Podmínka (2,4)
6. Alternativní řešení krajní x1=8,
x2=6, z=42
x1=11, x2=3, z=42
7. x1=14, x2=0,
z=42
8. V1(2;3), V2(4;2)
0,5.2+0,5.4=3
0,5.3+0,5.2=2,5
V3(1,25;1,6)
9. Zmin=x1+x2
10. Zmin=0