Lineární programování

23
Lineární Lineární programování programování 2. seminář OSA 2. seminář OSA

description

Lineární programování. 2. seminář OSA. Definice modelu lineárního programování a jeho grafické řešení. Komponenty modelu. Proměnné Omezující podmínky Podmínky nezápornosti Účelová (kriteriální) funkce. Typy proměnných. Strukturní Doplňkové Pomocné. Typy omezujících podmínek. Kapacitní - PowerPoint PPT Presentation

Transcript of Lineární programování

Page 1: Lineární programování

Lineární programováníLineární programování

2. seminář OSA2. seminář OSA

Page 2: Lineární programování

Definice modelu lineárního Definice modelu lineárního programování a jeho grafické programování a jeho grafické

řešenířešení

Page 3: Lineární programování

Komponenty modeluKomponenty modelu

ProměnnéProměnné Omezující podmínkyOmezující podmínky Podmínky nezápornostiPodmínky nezápornosti Účelová (kriteriální) funkceÚčelová (kriteriální) funkce

Page 4: Lineární programování

Typy proměnnýchTypy proměnných

StrukturníStrukturní DoplňkovéDoplňkové PomocnéPomocné

Typy omezujících podmínekTypy omezujících podmínek KapacitníKapacitní PožadavkovéPožadavkové UrčeníUrčení

Page 5: Lineární programování

Podmínky nezápornostiPodmínky nezápornosti

Pro všechny proměnné všech typůPro všechny proměnné všech typů Zajišťují aplikovatelnost řešeníZajišťují aplikovatelnost řešení

Účelová funkceÚčelová funkce

MinimalizačníMinimalizační MaximalizačníMaximalizační

Page 6: Lineární programování

Matematický zápis modeluMatematický zápis modelu

( )z MIN

Tx c x

Ax b

x 0

Page 7: Lineární programování

Grafické řešení modelů LPGrafické řešení modelů LP

Nejvýše dvě proměnné, libovolný počet OPNejvýše dvě proměnné, libovolný počet OP Prostor řešeníProstor řešení Nejvýše dvě OP, libovolný počet proměnnýchNejvýše dvě OP, libovolný počet proměnných Prostor požadavkůProstor požadavků

Page 8: Lineární programování

Prostor řešeníProstor řešení

Na osy se vynášejí hodnoty proměnnýchNa osy se vynášejí hodnoty proměnných Množina přípustných řešení je zobrazena Množina přípustných řešení je zobrazena

průnikem polorovin OPprůnikem polorovin OP Podmínky nezápornosti – uvažujeme pouze Podmínky nezápornosti – uvažujeme pouze

1. kvadrant1. kvadrant Účelová funkce je zobrazena jako mapa Účelová funkce je zobrazena jako mapa

spojnic kombinací proměnných s konstantní spojnic kombinací proměnných s konstantní hodnotou ÚFhodnotou ÚF

Page 9: Lineární programování

Příklad – optimalizace investicePříklad – optimalizace investiceInvestor se rozhoduje o rozložení investice 10 000 000 Kč mezi Investor se rozhoduje o rozložení investice 10 000 000 Kč mezi akcie a podílové fondy (PF). Kvůli diverzifikaci investice akcie a podílové fondy (PF). Kvůli diverzifikaci investice požaduje nakoupit akcie za minimálně 1 500 000 Kč a minimálně požaduje nakoupit akcie za minimálně 1 500 000 Kč a minimálně 2 000 000 Kč uložit do PF. Dále si bodově ohodnotil rizikovost 2 000 000 Kč uložit do PF. Dále si bodově ohodnotil rizikovost jedné koruny investované do akcií dvěma body (do PF jedním jedné koruny investované do akcií dvěma body (do PF jedním bodem) a požaduje celkovou rizikovost investice nejvýše bodem) a požaduje celkovou rizikovost investice nejvýše 15 000 000 bodů.15 000 000 bodů.

Investor předpokládá výnos z investice do akcií ve výši 6%, Investor předpokládá výnos z investice do akcií ve výši 6%, z investice do PF ve výši 4%. z investice do PF ve výši 4%.

Jak má investor rozložit investici, aby za daných podmínek Jak má investor rozložit investici, aby za daných podmínek maximalizoval svůj výnos?maximalizoval svůj výnos?

Page 10: Lineární programování

Definice modeluDefinice modelu Proměnné – Proměnné – x1 … investice do akcií (mil. Kč)x1 … investice do akcií (mil. Kč)

x2 … investice do PF (mil. Kč)x2 … investice do PF (mil. Kč) Omezující podmínkyOmezující podmínky

celková výše investicecelková výše investice

x1 + x2 x1 + x2 ≤ 10≤ 10 diverzifikacediverzifikace

x1 x1 ≥ 1,5≥ 1,5

x2 ≥ 2x2 ≥ 2 rizikoriziko

2x1 + x2 2x1 + x2 ≤ 15≤ 15 Podmínky nezápornostiPodmínky nezápornosti

x1, x2 ≥ 0≥ 0 Účelová funkceÚčelová funkce

Z = 1,06x1 + 1,04x2 → maxZ = 1,06x1 + 1,04x2 → max

Page 11: Lineární programování

Grafické řešení modeluGrafické řešení modelu

kuk - Excelkuk - Excel

Page 12: Lineární programování

Prostor požadavkůProstor požadavků Hledáme efektivní způsob uspokojení daných Hledáme efektivní způsob uspokojení daných

požadavků požadavků Koeficienty v matici A přepočítáváme vzhledem k Koeficienty v matici A přepočítáváme vzhledem k

jednotkám ÚFjednotkám ÚF Na osy vynášíme stupně uspokojení daných Na osy vynášíme stupně uspokojení daných

požadavkůpožadavků Nezápornost – nezáporné koeficienty lineární Nezápornost – nezáporné koeficienty lineární

kombinace směrových vektorůkombinace směrových vektorů Optimalita – vzdálenost průsečíku směrových vektorů Optimalita – vzdálenost průsečíku směrových vektorů

s vektorem požadavků od počátku souřadnics vektorem požadavků od počátku souřadnic

Page 13: Lineární programování

Příklad – portfolio IIPříklad – portfolio IIInvestor se rozhoduje o rozložení investice mezi akcie, podílové Investor se rozhoduje o rozložení investice mezi akcie, podílové fondy (PF), termínované vklady (TV) a hypoteční zástavní listy fondy (PF), termínované vklady (TV) a hypoteční zástavní listy (HZL). Likviditu jednotlivých nástrojů si ohodnotil bodově (HZL). Likviditu jednotlivých nástrojů si ohodnotil bodově (akcie 5 b, PF 4 b., TV 1 b. a HZL 3 b.). Požaduje, aby celková (akcie 5 b, PF 4 b., TV 1 b. a HZL 3 b.). Požaduje, aby celková likvidita portfolia dosáhla právě 30 000 000 b. Výnosy nástrojů likvidita portfolia dosáhla právě 30 000 000 b. Výnosy nástrojů ohodnotil roční úrokovou mírou (akcie 6%, PF 4%, TV 1% a ohodnotil roční úrokovou mírou (akcie 6%, PF 4%, TV 1% a HZL 5%) a požaduje dosažení výnosu právě 3% p.a. Investuje HZL 5%) a požaduje dosažení výnosu právě 3% p.a. Investuje celkem 10 000 000 Kč.celkem 10 000 000 Kč.

Investor dále ohodnotil riziko plynoucí z držby jednotlivých aktiv Investor dále ohodnotil riziko plynoucí z držby jednotlivých aktiv 10, 8, 3 resp. 4 body.10, 8, 3 resp. 4 body.

Jak má investor rozložit investici, aby za daných podmínek Jak má investor rozložit investici, aby za daných podmínek minimalizoval riziko?minimalizoval riziko?

Page 14: Lineární programování

Definice modeluDefinice modelu Proměnné – Proměnné – x1 … investice do akcií (mil. Kč)x1 … investice do akcií (mil. Kč)

x2 … investice do PF (mil. Kč)x2 … investice do PF (mil. Kč)

x3 … investice do TV (mil. Kč)x3 … investice do TV (mil. Kč)

x4 … investice do HZL (mil. Kč)x4 … investice do HZL (mil. Kč) Omezující podmínkyOmezující podmínky

likviditalikvidita

5x1 + 4x2 + x3 + 3x4 5x1 + 4x2 + x3 + 3x4 = 30= 30 výnosvýnos

1,06x1 + 1,04x2 + 1,01x3 + 1,05x4 1,06x1 + 1,04x2 + 1,01x3 + 1,05x4 = 10,3= 10,3 Podmínky nezápornostiPodmínky nezápornosti

x1, x2, x3, x4 ≥ 0x1, x2, x3, x4 ≥ 0 Účelová funkceÚčelová funkce

Z = 10x1Z = 10x1 + 8x2 + 3x3 + 8x2 + 3x3 + 4x + 4x44 → m → minin

Page 15: Lineární programování

Grafické řešení modeluGrafické řešení modelu

kuk - Excelkuk - Excel

Page 16: Lineární programování

Příklad k procvičeníPříklad k procvičeníZ desek 5x7 je potřeba nařezat obdélníky 2x3 a čtverce 1x1.

Možné řezné plány: A B C

Potřeba přířezů

Obdélníky 0 5 4 100Čtverce 35 5 11 200

Kolik minimálně rozřezat desek?

• Definujte model lineárního programování• Zvolte si vhodnou zobrazovací metodu• Vyřešte model graficky

Page 17: Lineární programování

Simplexová metodaSimplexová metoda

Page 18: Lineární programování

Základní pojmyZákladní pojmy

Přípustné řešení - množina přípustných řešeníPřípustné řešení - množina přípustných řešení Bázické řešeníBázické řešení Optimální řešeníOptimální řešení Alternativní řešeníAlternativní řešení Suboptimální řešeníSuboptimální řešení

Page 19: Lineární programování

Řešitelnost modeluŘešitelnost modelu

Řešení neexistuje Řešení neexistuje neexistuje řešení omezujících podmínekneexistuje řešení omezujících podmínek kriteriální funkce je neomezená v požadovaném kriteriální funkce je neomezená v požadovaném

směrusměru Existuje právě jedno řešeníExistuje právě jedno řešení

jediné a bázickéjediné a bázické Existuje nekonečně mnoho řešeníExistuje nekonečně mnoho řešení

dvě a více bázická optimální (alternativní) řešenídvě a více bázická optimální (alternativní) řešení

Page 20: Lineární programování

Simplexový Simplexový algoritmusalgoritmus

Ano

Ne

Řešení je optimální?

Podmínky simplexového algoritmu

Výchozí bázické řešení

Test optimality

Test přípustnosti

Přechod na nové bázické řešení s lepší hodnotou účelové funkce

OPTIMÁLNÍ ŘEŠENÍ NALEZENO

Z

Nové přípustné konečné řešení

existuje?

K

NEOMEZENÁ HODNOTA KRITÉRIA

Ano

Ne

Page 21: Lineární programování

Příklad – výroba dřevěných hračekPříklad – výroba dřevěných hraček

Továrna na výrobu dřevěných hraček se rozhoduje, jaký výrobní Továrna na výrobu dřevěných hraček se rozhoduje, jaký výrobní program stanoví pro jednu ze svých linek. Na této lince může program stanoví pro jednu ze svých linek. Na této lince může vyrábět buď slony, nebo koníky. Návaznost na další pracovní vyrábět buď slony, nebo koníky. Návaznost na další pracovní úkony vylučuje, aby se dohromady vyrobilo více než tisíc úkony vylučuje, aby se dohromady vyrobilo více než tisíc výrobků za jeden výrobní cyklus. Přitom na výrobu jednoho výrobků za jeden výrobní cyklus. Přitom na výrobu jednoho slona je potřeba 0,2 kg materiálu, na výrobu jednoho koníka slona je potřeba 0,2 kg materiálu, na výrobu jednoho koníka 0,3 kg materiálu a linka může zpracovat maximálně 240 kg 0,3 kg materiálu a linka může zpracovat maximálně 240 kg materiálu za jeden výrobní cyklus.materiálu za jeden výrobní cyklus.

Jaký je optimální výrobní program realizovaný na této lince, Jaký je optimální výrobní program realizovaný na této lince, pokud je požadována maximalizace zisku, který činí na pokud je požadována maximalizace zisku, který činí na jednoho slona 6 Kč a na jednoho koníka 7 Kč?jednoho slona 6 Kč a na jednoho koníka 7 Kč?

Page 22: Lineární programování

Příklad k procvičeníPříklad k procvičeníTrenér běžce na dlouhé tratě se rozhoduje, jak sestavit pro svého svěřence plán doplňování energie a tekutin během závodu tak, aby co nejméně zatížil jeho organismus. Má k dispozici následující prostředky; jejich parametry udává tabulka:

Jakým způsobem má trenér stanovit plán výživy, jestliže je potřeba, aby závodník získal minimálně 800 kcal energie, ale vypil právě 2 l tekutin? Sestavte model a vyřešte jej pomocí simplexové metody.

Prostředek Množství energie (kcal)

Objem tekutin (ml)

Zatížení organismu

Minerální nápoj 8 100 1

Energetický nápoj 10 100 2

Energetická tyčinka

160 0 3

Bujón 20 250 10

Požadavek 800 2000 minimální

Page 23: Lineární programování

Analýza výsledkůAnalýza výsledků

Optimální řešeníOptimální řešení Alternativní řešeníAlternativní řešení Suboptimální řešeníSuboptimální řešení Analýza citlivosti vzhledem k změnám cenAnalýza citlivosti vzhledem k změnám cen Analýza citlivosti vzhledem k změnám Analýza citlivosti vzhledem k změnám

pravých stranpravých stran