24.9.205 Lineární programování Radim Farana Podklady pro výuku pro akademický rok 203/204 Obsah Úloha lineárního programování. Formulace úlohy lineárního programování. Typické úlohy lineárního programování. Literatura: JABLONSKÝ, Josef. Operační výzkum: kvantitativní metody pro ekonomické rozhodování. 3. vyd. Praha: Professional Publishing, 2007, 323 s. ISBN 978-80-86946-44-3. Formulace úlohy lineárního programování. Stanovení cíle analýzy. 2. Identifikace rozhodovacích proměnných (x i ), určení jejich počtu, významu, fyzikálního rozměru. 3. Definice optimalizačního kritéria, určení účelové funkce, stanovení cenových koeficientů. 4. Identifikace činitelů modelu. Stanovení omezujících podmínek.
24.9.205 Typické úlohy lineárního programování Úlohy výrobního plánování. Úlohy finančního plánování. Plánování reklamy. Nutriční problém. Směšovací problém. Úloha dělení materiálu. Rozvrhování pracovníků. Distribuční úlohy lineárního programování. Úlohy výrobního plánování nebo také problém alokace zdrojů. Cílem je maximalizace zisku nebo minimalizace nákladů na výroku při omezených zdrojích (lidských, materiálových, spotřeby energie, ) současně mohou být stanoveny minimální rozsahy výroby pro splnění již uzavřených zakázek. Příklad Firma vyrábí stůl a dva druhy židlí při omezeném množství dřeva a dostupném fondu pracovní doby Výrobek noha k židli noha ke stolu stůl židle židle 2 Dřevo [kg/ks] 0,30 0,80 5,00,50 2,00 Práce [hod/ks] 0,25 0,40 2,00,50 2,50 Stůl vyžaduje 4 nohy, židle vyžaduje 4 nohy, židle 2 jen 2. 2
24.9.205 Příklad Dřeva je k dispozici 20 000 kg fond pracovní doby činí 2 000 hod. Stůl se prodává za 8.000,- Kč, židle za.200,- Kč, židle 2 za.800,- Kč, zbylé nohy je možno prodat: noha k židli za 50,- Kč, noha ke stolu za 20,- Kč. Kromě samostatných výrobků se také prodává komplet stůl + 4 židle 2 za 4.900,- Kč. Těchto kompletů musí být vyrobeno nejméně 200 ks. Formulace matematického modelu Úloha obsahuje 6 procesů, dva polotovary, tři výrobky a komplet, jejich počty určí proměnné x,, x 6. Vzhledem ke spotřebě polotovarů bude účelová funkce: 50( x 4x4 2x5) 20( x2 4x3) 8000( x3 x6) z max 200x4 800( x5 4x6) 4900x6 z max 50x 20x 2 7520x 3 000x 4 700x 5 300x 6 Omezující podmínky Spotřeba dřeva: 0,3x 0,8x 2 5x3,5 x4 2x5 Spotřeba práce: 0,25x 0,4x2 2x3,5 x4 2,5x5 Spotřeba polotovarů: 4 2x5 20000 4x x 4x x 3 2000 2 3
24.9.205 Omezující podmínky Je třeba zajistit výrobu kompletů: Minimální počet kompletů x3 x 6 x5 4x 6 x 6 200 Podmínky nezápornosti a celočíselnosti. Řešení Řešení pomocí MS-Excel 4
24.9.205 Výsledek řešení Výsledková sestava Výsledková sestava 5
24.9.205 Úlohy finančního plánování nebo také optimalizace portfolia. Cílem je určit objem financí do jednotlivých investičních variant s cílem optimalizovat výnos případně minimalizovat riziko. Proměnnými jsou výše investic, omezení odpovídají investiční strategii, např. limitům investic do jednotlivých typů investičních variant. Příklad 2 Investor se rozhodl investovat určitou částku do možných investic s očekávaným výnosem a rizikovým koeficientem: Investice očekávaný rizikový výnos [%] koeficient Akcie A 8,00 0 Akcie B 2,00 7 Pokladniční poukázky 6,50 Dluhopis A 8,50 3 Dluhopis B 9,25 5 Depozitní certifikáty 8,00 2 Příklad 2 Riziko vyjádřené váženým součtem rizikových koeficientů nesmí být vyšší než 5 (čím vyšší hodnota, tím vyšší riziko) Do dluhopisů musí být investováno nejméně 40 % částky. Pokladniční poukázky musí být nakoupeny alespoň dvojnásobně proti objemu akcií. Podíl každé varianty nesmí přesáhnout 30 %. Cílem je maximalizovat výnos při dodržení této investiční strategie. 6
24.9.205 Formulace matematického modelu Úloha obsahuje 6 procesů jejich podíl na celku (00 %) určí proměnné x,, x 6. Vzhledem k očekávaným výnosům bude účelová funkce: z max 0,8x 0,2x 2 0,065x 3 0,085x 4 0,0925x 5 0, 08x 6 Omezující podmínky Celková investovaná částka: x x2 x3 x4 x5 x6 Nejméně 40 % do dluhopisů: x 4 x5 00 40 Pokladniční poukázky alespoň dvojnásobně oproti akciím: 2x x 2x2 3 Omezující podmínky Celková míra rizika není větší než 5: Po úpravě: 0x 7x2 x3 3x4 5x5 2x6 x x x x x x 2 3 Maximální podíl každé investice do 30 %: x j 4 5x 2x2 4x3 2x4 3x6 30, j, 2,..., 6 Podmínka nezápornosti: x j 0, j, 2,..., 6 5 6 0 5 7
24.9.205 Řešení Řešení pomocí MS-Excel Výsledek řešení 8
24.9.205 Výsledková sestava Výsledková sestava Citlivostní sestava 9
24.9.205 Limitní sestava Plánování reklamy neboli media selection problem. Alokace rozpočtu na reklamu do jednotlivých médií, případně konkrétního časového okna. Proměnné mohou být počet opakování reklamy v daném médiu, omezující podmínky vychází z omezeného rozpočtu, definice cílové skupiny, reklamní strategie. Příklad 3 Reklamní agentura má naplánovat reklamní kampaň za 0 mil. Kč. K dispozici je 5 médií televize, rozhlas, časopisy, noviny a billboardy. Podle zkušeností vede.000 Kč investované do příslušných médií zapůsobí na 750, 420, 300, 360 a 80 osob. 0
24.9.205 Příklad 3 Zadavatel stanovil podmínky: do TV a rozhlasu nelze umístit více než 50 % rozpočtu, do každého z médií musí být umístěno alespoň 0 % rozpočtu, do žádného z médií nelze umístit více než 30 % rozpočtu, musí být osloveno alespoň 2,5 mil. osob věku 30 50 let, 0,8 mil. osob s příjmem nad 5.000,- Kč,,5 mil. osob s nejméně středoškolským vzděláním. Příklad 3 Vliv jednotlivých médií: Druh média TV rozhlas časopisy noviny billboardy počet osob na.000,- Kč věk 30-50 let 320 280 40 240 20 příjem > 5.000,- Kč 20 90 60 60 50 SŠ vzdělání 350 200 20 40 60 Formulace matematického modelu Proměnné odpovídají objemu vynaložených prostředků pro jednotlivá média. Účelová funkce maximalizuje celkový vliv reklamy z max 720x 420x 2 300x 3 360x 4 80 x 5
24.9.205 Omezující podmínky Celkový rozpočet reklamy: x x2 x3 x4 x5 Do TV a rozhlasu umístit nejvýše 5 mil.: x x2 Pro každé médium nejméně mil.: x j, j, 2,..., 5 0 5 Omezující podmínky Pro každé médium nejvýše 3 mil.: x j 3, j, 2,..., 5 Podmínky pro věk, příjem a vzdělání: 320x 280x2 40x3 240x4 20x5 20x 90x2 60x3 60x4 50x5 2500 800 350x 200x2 20x3 40x4 60x5 500 Řešení 2
24.9.205 Řešení pomocí MS-Excel Výsledek řešení Výsledková sestava 3
24.9.205 Výsledková sestava Citlivostní sestava Limitní sestava 4
24.9.205 Nutriční problém nebo také úloha o výživě. Problém návrhu denní dávky výživy pro konkrétní osobu. Proměnnými jsou množství jednotlivých komponent s různým složením. Omezení stanovují množství jednotlivých výživových komponent. Příklad 4 Studenti chtějí zajistit nutričně vyváženou stravu pomocí produktů nejmenovaného rychlého občerstvení s nabídkou 9 produktů. Cílem je co nejlevnější skladba potravin splňujících určené nutriční požadavky. Příklad 4 Požadavky: energetická hodnota minimálně 3000 kcal, obsah bílkovin minimálně 65 g, obsah uhlohydrátů minimálně 375 g, obsah tuků maximálně 20 g, každou z potravin je možno použít nejvýše dvakrát. 5
24.9.205 Příklad 4 Nutriční hodnoty potravin Produkt Energie [kcal] Bílkoviny [g] Tuky [g] Uhlohydráty [g] Cena [Kč] Big Mac 479 25 22 44 49 Hamburger /8 57 32 25 40 45 Zeleninový burger 34 2 50 39 Hranolky 425 5 2 54 5 Salát 54 4 2 5 29 Mléko 20 9 4 2 5 Coca cola 84 0 0 46 9 Big Mac menu 202 3 49 58 89 Hamburger menu 240 39 52 55 75 Formulace matematického modelu Proměnné odpovídají počtům jednotlivých potravin, bude jich tedy 9. Účelová funkce minimalizuje náklady na stravu: z min 49x 45x 2 39x 3 5x 4 29x 5 5x 6 9x 7 89x 8 75 x 9 Omezující podmínky Energetická hodnota: 479x 57x2 34x3 425x4 54x5 20x6 84x7 202x8 240x9 Obsah bílkovin: Obsah tuků: 25x 32x2 2x3 5x4 4x5 9x6 3x8 39x9 22x 25x2 x3 2x4 2x5 4x6 49x8 52x9 3000 65 20 6
24.9.205 Omezující podmínky Obsah uhlohydrátů: 44x 40x2 50x3 54x4 5x5 2x6 46x7 58x8 55x9 Každý produkt je možno koupit nejvýše dvakrát, po celých kusech: x j x j x j 2, j, 2,..., 9 0, j, 2,..., 9 celé, j, 2,..., 9 375 Řešení Řešení pomocí MS-Excel 7
24.9.205 Výsledek řešení Výsledková sestava Výsledková sestava 8
24.9.205 Směšovací problém Cílem je vytvoření směsi požadovaného složení. Proměnnými jsou množství jednotlivých použitelných komponent s minimalizací jejich ceny. Omezením jsou požadovaná množství jednotlivých přísad. Příklad 5 Máme vyrobit slitinu, která bude obsahovat 40 % cínu, 35 % zinku a 25 % olova. Můžeme využít slitiny A, B, C, D a E, známého složení a ceny za kg. Cílem je nejlevnější skladba komponent. Zvolíme množství 00 Kg, což nám umožní dobře spočítat procenta složek. Příklad 4 Vlastnosti dostupných komponent Komponenta A B C D E Obsah Sn [%] 60 25 45 40 50 Obsah Zn [%] 0 30 45 50 20 Obsah Pb [%] 30 45 0 0 30 cena [Kč/kg] 22 20 4 37 27 9
24.9.205 Formulace matematického modelu Proměnné odpovídají množství jednotlivých komponent, bude jich tedy 5. Účelová funkce minimalizuje náklady na slitinu: z min 22x 20x 2 4x 3 37x 4 27x 5 Omezující podmínky Množství směsi: Obsah cínu: x x2 x3 x4 x5 00 0,60x 0,25x2 0,45x3 0,40x4 0,50x5 0,40( x x2 x3 x4 x5) 0,20x 0,5x2 0,05x3 0,0x5 0 Omezující podmínky Obsah zinku: 0,0x 0,30x2 0,45x3 0,50x4 0,20x5 0,35( x x2 x3 x4 x5) Obsah olova: 0,25x 0,05x2 0,0x3 0,5x4 0,5x5 0,30x 0,45x2 0,0x3 0,0x4 0,30x5 0,25( x x2 x3 x4 x5) 0,05x 0,20x2 0,5x3 0,5x4 0,05x5 Podmínka nezápornosti: x j 0, j, 2,..., 5 0 0 20
24.9.205 Řešení Řešení pomocí MS-Excel Výsledek řešení 2
24.9.205 Výsledková sestava Citlivostní sestava Limitní sestava 22
24.9.205 Úloha dělení materiálu Problémem je minimalizace nákladů na výrobu stanoveného množství dílů z delších tyčí. Každou tyč je možno použít více způsoby, proměnnými jsou počty těchto použití. Omezení udávají počty dostupných tyčí a počty výsledných dílů. Příklad 6 Firma nakupuje traverzy délky 5,5 metrů a potřebuje traverzy: 3 metry nejméně 000 ks, 2,2 m nejméně 700 ks,,4 m nejméně 2 000 ks. Cílem firmy je vyrobit požadované počty traverz tak, aby celkový odpad v metrech byl minimální (nebo spotřeba materiálu byla minimální). Řezná schémata Způsob dělení 2 3 4 5 3 m 0 0 0 2,2 m 0 2 0,4 m 0 0 2 3 Odpad [m] 0,3,, 0,5,3 23
24.9.205 Formulace matematického modelu Proměnné odpovídají množství jednotlivých řezných plánů, bude jich tedy 5. Účelová funkce minimalizuje odpad: z min 0,3x, x 2, x 3 0,5x 4, 3x 5 V případě minimalizace spotřeby materiálu: z min x x 2 3 4 5 x x x Omezující podmínky Požadavek na traverzy 3 m: x x2 000 Požadavek na traverzy 2,2 m: x 2x3 x4 700 Požadavek na traverzy,4 m: x2 4x4 3x5 2000 Podmínka nezápornosti a celočíselnosti. Řešení 24
24.9.205 Řešení pomocí MS-Excel Výsledek řešení Výsledková sestava 25
24.9.205 Výsledková sestava Rozvrhování pracovníků Rozvrhování pracovníků na směny má řadu omezujících podmínek, požadavky na počty pracovníků, jejich kvalifikaci apod. Proměnné udávají zda pracovník na směnu jde nebo ne ( 0). Příklad 7 Máme za úkol rozdělit kolektiv do dvojic. Kvalita volby pro každou dvojici byla vyjádřena body 0: Kvalita spolupráce P2 P3 P4 P 9 3 4 P2 7 P3 4 P4 26
24.9.205 Formulace matematického modelu Proměnné odpovídají jednotlivým dvojicím: x 2,, x n, x 23,, x 2n,, x n-n. Celkově je jich tedy n 4 4! 6 k 2 2!.2! Účelová funkce maximalizuje součet součinů cena*proměnná: n n z max c x ij ij z max 9x i ji 2 3x3 4x4 x23 7x24 4x34 Omezující podmínky Celkový počet dvojic: x 2 x3 x4 x23 x24 x34 Každá osoba může být zapojena jednou: x x 2 x3 x4 2 x23 x24 x x 3 x23 x34 4 x24 x34 Všechny proměnné binární (0, ) 2 Řešení 27
24.9.205 Řešení pomocí MS-Excel Výsledek řešení Výsledková sestava 28
24.9.205 Distribuční úlohy lineárního programování Jedná se o optimalizaci distribuce zboží mezi dodavateli a odběrateli. Tyto úlohy mají poněkud odlišnou strukturu a věnují se jim speciální metody. 29