CW-057 LOGISTIKA 37. PŘEDNÁŠKA Lineární programování – 7 AKREDITAČNÍ ZMĚNA OZNAČENÍ PŘEDMĚTU – z CW13 na CW057 CW-057 LOGISTIKA 37. PŘEDNÁŠKA Lineární programování – 7 vybrané příklady Leden 2017 © Ing. Václav Rada, CSc.
Další ….. řešení a vybrané příklady lineárního programování – 7 …… ☺ CW057 CW13 CW05 CW057 CW13 CW05 POKRAČOVÁNÍ Další ….. řešení a vybrané příklady lineárního programování – 7 …… ☺ Březen 2017
CW057 CW13 CW05 POKRAČOVÁNÍ ….. PŘÍKLADY METOD ŘEŠENÍ s úvodem patřícím do oblasti lineárního programování ☺ Březen 2017
CW057 CW13 CW05 Lineární programování V matematice se lineární programování (LP) týká optimalizace lineární cílové funkce, která je subjektem lineárních rovnic a nerovnic. Při řešení rozhodovacích problémů je nezbyt-né respektovat větší či menší počet omezují-cích podmínek a předpokladů a přitom je nez-bytné i tehdy najít nejlepší (pokud možno optimální) řešení. Březen 2017
CW057 CW13 CW05 Lineární programování Varianta řešení rozhodovacích problémů pomocí LP, je jednou z nejoblíbenějších typů optimalizačních úloh. I tyto modely obsahují určitou dávku nepřes-ností vyplývající z nutného předpokladu linearity zobrazovaných procesů. Březen 2017
CW057 CW13 CW05 Lineární programování Malé modely lze řešit celkem jednoduše graficky – geometrickou interpretací lineárních nerovnic, pomocí vlastností konvexních množin a grafickým sčítáním vektorů. Březen 2017
CW057 CW13 CW05 Lineární programování Větší a složitější modely - univerzální simplexová metoda založená na Jordanově eliminační metodě pro řešení soustavy lineárních rovnic – byla speciálně vyvinuta pro oblast lineárního programování. Březen 2017
CW057 CW13 CW05 Lineární programování Lineární programování (LP) - oblast mate-matického programování zabývající se řešením úloh, které je možné formulovat s pomocí modelů v nichž jsou kriteriální funkce i všechny rovnice a nerovnice podmínek tvořeny lineárními výrazy. Březen 2017
Zobecněný matematický popis vychází z předpo-kladu, že v modelu bude: CW057 CW13 CW05 Lineární programování – matematický popis Zobecněný matematický popis vychází z předpo-kladu, že v modelu bude: n … počet definovaných proměnných m … počet potřebných omezení úlohy xj … označení proměnných (j = 1, 2, .. n). K sestavení modelu je potřeba znát hodnoty koeficientů účelové funkce, podmínek a pravých stran rovnice – viz dále. Březen 2017
CW057 CW13 CW05 Lineární programování – matematický popis Model úlohy lineárního matematického programování lze zapsat obecně ve tvaru: maximalizuje se (minimalizuje se) rovnice z = c1*x1 + c2*x2 + … + cn*xn za podmínek ……… Březen 2017
CW057 CW13 CW05 Lineární programování – matematický popis Koeficienty: cj … pro j = 1, 2, … n – vystupují u každé proměnné v úče- lové funkci / koeficient účelové funkce aij … pro i = 1, 2, … m; j = 1, 2, … n – vystupují u každé pro- měnné v podmínkách vyjadřujících vztah mezi j-tou podmínkou a i-tým omezujícím faktorem / koeficient podmínek bi … pro i = 1, 2, … m – vystupují na pravých stranách pod- mínek (= konstantní hodnoty, které v podmínkách stojí samostatně a nejsou svázány pouze s jednou konkrét- ní proměnnou – obvykle jsou to hodnoty vyjadřující výši daného limitujícího faktoru a staví s vpravo od znamén- ka = nebo ≠ / hodnoty pravých stran podmínek Březen 2017
am1*x1 + am2*x2 + … + amn*xn = bm CW057 CW13 CW05 Lineární programování – matematický popis Model úlohy LP … za podmínek daných soustavou rovnic (nebo maticí) a11*x1 + a12*x2 + … + a1n*xn = b1 a21*x1 + a22*x2 + … + a2n*xn = b2 …………. am1*x1 + am2*x2 + … + amn*xn = bm pro xj ≥ 0, kde j = 1, 2, … n Březen 2017
… lze zapsat i zjednodušenou (součtovou) formou: CW057 CW13 CW05 Lineární programování – matematický popis … lze zapsat i zjednodušenou (součtovou) formou: maximalizuje se (minimalizuje se) rovnice z = Σ cj * xj - sumace při j = 1, 2, … n za podmínek daných soustavou rovnic (nebo maticí) Σ aij*xj = bi - sumace při i = 1, 2, … m pro jednotlivé rovnice dané vztahem xj ≥ 0, kde j = 1, 2, … n Březen 2017
A * x <= (nebo >= nebo =) b CW057 CW13 CW05 Lineární programování – matematický popis … nebo maticovou formou: maximalizuje se (minimalizuje se) rovnice z = cT * x za podmínek daných soustavou rovnic (nebo maticí) A * x <= (nebo >= nebo =) b x ≥ 0 Březen 2017
… kde značí: CW057 Lineární programování – matematický popis x … n - složkový sloupcový vektor rozhodovacích proměnných modelu cT … n - složkový řádkový (transponovaný) vektor koeficientů účelové funkce A … matice koeficientů podmínek rozměru m * n b … m - složkový sloupcový vektor hodnot pravých stran podmínek Březen 2017
Na doplnění, ještě pár příkladů k lineárnímu programování… CW05 Lineární programování - příklady Na doplnění, ještě pár příkladů k lineárnímu programování… Březen 2013
PŘÍKLADY CW057 Lineární programování – matematický popis CW13 CW05 Březen 2017
CW057 CW13 CW05 ZADÁNÍ Mezi klasické úlohy patří úlohy řešené pomocí lineárního programování.. Březen 2017
CW057 CW13 CW05 Lineární programování - příklady Na doplnění toho, co bylo k LP řečeno, tak ještě pár (více méně klasických) příkladů k praktickému použití metod lineárního pro-gramování ….. Březen 2017
CW057 CW13 CW05 1 Lineární programování - příklady Továrna vyrábí pánskou, dámskou a dětskou obuv a na jejich výrobu potřebuje tyto materi-ály a suroviny: Lepidlo [g] 20 20 10 Kůže [dm2] 4 2 1 Cena za pár [Kč] 200 300 100 Zásoba lepidla je celkem 3 000 kg. Zásoba kůže je 4 000 m2. Březen 2017
a) využijte všechny zásoby – aby zbylo dále jen nepoužitelné množství CW057 CW13 CW05 Lineární programování - příklady Továrna vyrábí boty a) využijte všechny zásoby – aby zbylo dále jen nepoužitelné množství b) získejte co největší příjem z prodané obuvi. Březen 2017
Řešení pro x1, x2 a x3 vyrobených párů obuvi rovnice CW05 Lineární programování - příklady Řešení pro x1, x2 a x3 vyrobených párů obuvi rovnice a) X € M10 =x: 2x1+2x2+x3 = 300000 4x1+2x2+x3 = 400000 b) X € M20 =x: 2x1+2x2+x3 = 300000 W(x) = 200*x1 + 300*x2 + 100*x3 Březen 2013
Řešení pro množiny M je v rozmezí: M1 (50000,100000, 0 ) CW05 Lineární programování - příklady Řešení pro množiny M je v rozmezí: M1 (50000,100000, 0 ) M2 (0 , 150000, 0 ) ………………….. Březen 2013
PŘÍKLADY CW057 Lineární programování – matematický popis CW13 CW05 Březen 2017
2 Jiný příklad – hledání optima pro úlohu představovanou vztahy: CW057 CW13 CW05 2 Lineární programování - příklady Jiný příklad – hledání optima pro úlohu představovanou vztahy: 4*x1 + x2 + 2*x3 =< 10 x2 + 2*x3 =< 5 -2*x1 - x2 => -15 F = 5*x1 + 3*x2 + 2*x3 = max Březen 2017
1. Třetí vztah se násobí -1: -2*x1 - x2 = -15 /*-1 CW05 Lineární programování - příklady Postup řešení: 1. Třetí vztah se násobí -1: -2*x1 - x2 = -15 /*-1 +2*x1 + x2 =< +15 Březen 2013
2. Přidají se další – přídatné proměnné: 4*x1 + x2 + 2*x3 + x4 = 10 CW05 Lineární programování - příklady Postup řešení: 2. Přidají se další – přídatné proměnné: 4*x1 + x2 + 2*x3 + x4 = 10 x2 + 2*x3 + x5 = 5 2*x1 + x2 +x6 = 15 Což je normální tvar omezujících podmínek. Březen 2013
Řešením je vektor – řešení je přípustné CW05 Lineární programování - příklady Postup řešení: 3. Protože je soustava v kanonickém tvaru, zvolí se za bázové proměnné právě ty přídatné proměnné x4 , x5 , x6 . A nebázové proměnné – zde všechny skutečné proměnné – se položí rovny 0. Řešením je vektor – řešení je přípustné xT = ( 0 , 0 , 0 , 10 , 5 , 10 ). Březen 2013
Rovněž Účelová Funkce je přímo v bázovém vyjádření. CW05 Lineární programování - příklady Postup řešení: 4a. V tomto případě je bázovým vyjádřením omezujících podmínek přímo normalizovaný tvar omezujících podmínek Rovněž Účelová Funkce je přímo v bázovém vyjádření. Březen 2013
4b. Za tohoto stavu lze zapsat Simplexové tabulky takto: 4* + + 2* , , CW05 Lineární programování - příklady Postup řešení: 4b. Za tohoto stavu lze zapsat Simplexové tabulky takto: 4* + + 2* , , AČ x1 x2 x3 x4 x5 x6 F 5 3 2 --- 10 4 1 2,5 7,5 Březen 2013
5. Klíčovým sloupce je sloupec první x1 – nese označení šipkou. CW05 Lineární programování - příklady Postup řešení: 5. Klíčovým sloupce je sloupec první x1 – nese označení šipkou. Březen 2013
Rozdíly jsou uvedeny ve sloupci za tabulkou. CW05 Lineární programování - příklady Postup řešení: 6. Za klíčový řádek bude určen podle mini-mální hodnoty podílu, že se prvku a sloupce AČ a klíčového sloupce x1 - samozřejmě neprovádí se pro řádek Účelové Funkce. Rozdíly jsou uvedeny ve sloupci za tabulkou. Protože podíl v řádku s bázovou proměnnou x4 je nejmenší – jde o řádek klíčový a je označen šipkou. Březen 2013
7. Pro vyznačení se klíčový prvek orámuje – zvýrazní. CW05 Lineární programování - příklady Postup řešení: 7. Pro vyznačení se klíčový prvek orámuje – zvýrazní. Březen 2013
Celý řádek je vydělen hodnotou 4, aby klí-čový prvek byl roven 1. CW05 Lineární programování - příklady Postup řešení: 8a. V klíčovém řádku se nahradí bázová proměnná x4 proměnnou x1 z klíčového sloupce. Celý řádek je vydělen hodnotou 4, aby klí-čový prvek byl roven 1. Viz další tabulka….. Březen 2013
8b. Výsledná tabulka bude mít tento tvar: CW05 Lineární programování - příklady Postup řešení: 8b. Výsledná tabulka bude mít tento tvar: AČ x1 x2 x3 x4 x5 x6 F -12,5 1,75 -0,5 -1,25 --- 2,5 1 0,25 0,5 10 5 2 -1 20 Březen 2013
Od řádku F se odečte 5-ti násobek řádku x1. CW05 Lineární programování - příklady Postup řešení: 9a. Pomocí klíčového řádku bázové proměn-né x5 se upraví ostatní řádky tak, aby ve sloupci x1 byly samé nuly 0. Od řádku F se odečte 5-ti násobek řádku x1. Řádek x5 lze přímo opsat a od řádku x6 se odečte dvojnásobek řádku x1. Jsou to úpravy povolené v matici. Viz další tabulka….. Březen 2013
9b. Výsledná tabulka bude mít tento tvar: CW05 Lineární programování - příklady Postup řešení: 9b. Výsledná tabulka bude mít tento tvar: AČ x1 x2 x3 x4 x5 x6 F -12,5 1,75 -0,5 -1,25 --- 2,5 1 0,25 0,5 10 5 2 -1 20 Březen 2013
CW05 Lineární programování - příklady Postup řešení: 10a. Protože je v řádku Účelové Funkce ještě jeden kladný koeficient – sloupec x2 – opakuje se výpočet znovu až od bodu 5. Určí se tedy další klíčový sloupec, řádek a prvek a provedou se nové výpočty Viz další tabulka….. Březen 2013
10b. Výsledná tabulka bude mít tento tvar: CW05 Lineární programování - příklady Postup řešení: 10b. Výsledná tabulka bude mít tento tvar: AČ x1 x2 x3 x4 x5 x6 F -21,5 -4 -1,75 --- 1,25 1 0,25 -0,25 5 2 7,5 -2 -0,5 Březen 2013
10c. Podle řádku Účelové Funkce F jde již o konečné řešení. CW05 Lineární programování - příklady Postup řešení: 10c. Podle řádku Účelové Funkce F jde již o konečné řešení. Vektor xT = ( 1,25 , 5 , 0 , 0 , 0 , 7,5 ) F = 21,5 A dále…. Březen 2013
10d. Skutečným výsledkem jsou pouze reál-né proměnné – takže: CW05 Lineární programování - příklady Postup řešení: 10d. Skutečným výsledkem jsou pouze reál-né proměnné – takže: x1 = 1,25 x2 = 5 x3 = 0 F = 5 * x1 + 3 * x2 + 2 * x3 F = 5 * 1,25 + 3 * 5 + 2 * 0 F = 21,5 Březen 2013
PŘÍKLADY CW057 Lineární programování – matematický popis CW13 CW05 Březen 2017
CW057 CW13 CW05 3 Lineární programování - příklady Další příklad – grafický způsob hledání optima pro úlohu představovanou vztahy: g1 8*x1 + 6*x2 => 50 g2 6*x1 - 3*x2 => -18 g3 5*x1 - 15*x2 =< 0 g4 x2 = < 14 g5 25*x1 + 12*x2 =< 375 F = 5*x1 + 4*x2 = max Březen 2017
Lineární programování - příklady CW057 CW13 CW05 Lineární programování - příklady Znázornění ve dvourozměrném prostoru… g3 x2 g3 P ( 8,3 ; 14 ) 14 g4 10 g1 g3 F = 97,5 x1 F 8,3 10 g5 Březen 2017
x1 = 8,3 x2 = 14 z = 97,5 Úloha má jediné řešení…. CW05 Lineární programování - příklady Úloha má jediné řešení…. ….. bod P ( 8,3 ; 14 ) x1 = 8,3 x2 = 14 z = 97,5 Březen 2013
PŘÍKLADY CW057 Lineární programování – matematický popis CW13 CW05 Březen 2017
CW057 CW13 CW05 4 Lineární programování - příklady Další příklad – numerický způsob hledání optima pro úlohu představovanou vztahy: 8*x1 + 6*x2 => 50 6*x1 - 3*x2 => -18 5*x1 - 15*x2 =< 0 x2 = < 14 25*x1 + 12*x2 =< 375 F = 5*x1 + 4*x2 = max Březen 2017
CW057 CW13 CW05 Lineární programování - příklady Další příklad – numerický způsob hledání optima pro úlohu představovanou vztahy: -8*x1 - 6*x2 +x3 =< -50 -6*x1 + 3*x2 + x4 =< +18 5*x1 - 15*x2 + x5 =< 0 x2 + x6 =< 14 25*x1 + 12*x2 + x7 =< 375 Březen 2017
Pro zavedené a zvolené bázové proměnné x3 , x4 , x5 , x6 , x7 CW05 Lineární programování - příklady Další příklad ….. Pro zavedené a zvolené bázové proměnné x3 , x4 , x5 , x6 , x7 bude řešením vektor xT = (6,25 , 0 , 0 , 55,5 , -31,25 , 14 , 218,75) Březen 2013
CW05 Lineární programování - příklady Další příklad ….. Protože obsahuje záporné číslo, což je nepří-pustné – musí se volit nové bázové proměn-né, kterými budou x1 , x2 , x5 , x6 , x7 Řešením je vektor xT = (0,7 , 7,4 , 0 , 0 , 107,5 , 6,6 , 268,7) Březen 2013
z omezující podmínky g1 se vyjádří x1 a dosadí se do podmínky g2 CW05 Lineární programování - příklady Další příklad ….. Úpravy: z omezující podmínky g1 se vyjádří x1 a dosadí se do podmínky g2 x2 bude vyjádřeno pouze pomocí x3 a x4 zpětným dosazením x2 do prvé podmínky se obdrží bázové vyjádření podmínky g1 pro x1 pak se vyjádří x5, x6 a x7 jako fce nebázo-vých proměnných x3 a x4. Březen 2013
Je potřeba vypsat všechny rovnice po prove-dení uvedených úprav…. CW05 Lineární programování - příklady Další příklad ….. Je potřeba vypsat všechny rovnice po prove-dení uvedených úprav…. Březen 2013
Po úpravách bude Účelová Funkce F = 0,65 * x1 – 0,032 * x4 = -33,1 CW05 Lineární programování - příklady Další příklad ….. Po úpravách bude Účelová Funkce F = 0,65 * x1 – 0,032 * x4 = -33,1 Sestaví se Simplexová tabulka a provedou se ekvivalentní úpravy…. Březen 2013
Výsledným řešením je vektor CW05 Lineární programování - příklady Další příklad ….. Výsledným řešením je vektor xT = (8,3 , 14 , 100,22 , 25,73 , 168,44 , 0 , 0) F = ABS (-97,43) = 97,43 A skutečné proměnné: x1 = 8,3 x2 = 14 F = 5 * x1 + 4 * x2 F = 5 * 8,3 + 4 * 14 F = 97,5 Březen 2013
PŘÍKLADY CW057 Lineární programování – matematický popis CW13 CW05 Březen 2017
CW057 CW13 CW05 5 Lineární programování - příklady Další příklad ….. Podnik řeže ze základních tyčí délky 80 cm tyče délek 50 cm, 40 cm a 25 cm. Jejich minimální požadovaná množství jsou 50 ks, 80 ks a 95 ks. Úkolem je stanovit optimální skladbu řezných plánů z hlediska minimalizace odpadu. Březen 2017
x1 => 0, x2 => 0, x3 => 0, x4 => 0. CW057 CW13 CW05 Lineární programování - příklady Další příklad ….. z = 5*x1 + 15 *x3 + 5*x4 --> min x1 => 50 2*x2 + x3 => 80 x1 + x3 + 3*x4 => 95 x1 => 0, x2 => 0, x3 => 0, x4 => 0. Březen 2017
CW05 ZADÁNÍ Úloha LP má nalézt body: x Є R2 v nichž lineární forma: L (x ) = 3 * x1 – 5 * x2 nabývá maxima na množině S všech x = (x1 , x2 )T Leden 2011
CW05 ZADÁNÍ splňujících soustavu: - 5 * x1 + 2 * x2 ≤ 10 - x2 ≥ -2 x1 - x2 ≤ 1 x1 , x2 0 . Leden 2009
CW05 ZADÁNÍ Řešení pomocí kanonického tvaru nalézá body: kx Є R5 v nichž lineární forma: kL ( kx ) = 3 * x1 - 5 * x2 + 0 * x3 + 0 * x4 + 0 * x5 = 3 * x1 - 5 * x2 Leden 2009
CW05 ZADÁNÍ nabývá maxima na množině kS všech kx = ( x1 , x2 , … , x5)T splňujících: -5 * x1 + 2 * x2 + x3 = 10 - x2 + x4 = -2 x1 - x2 + x5 = 1 xj 0 … pro j = 1 , 2 , 3 , 4 , 5 . Leden 2009
CW05 ZADÁNÍ Přechod od nerovnic k rovnicím, ale zároveň znamená přechod do vyššího řádu (přechod do vyšší dimenze). Dále je na řadě sledová-ní vztahu mezi množinami S a kS . Platí: kx Є kS Rn+p , kx = (x1 , x2 , … , xn , xn+1 , … , xn+p )T . Leden 2009
CW05 ZADÁNÍ K bodu kx je přiřazen bod: kx Є S Rn , kx = ( x1 , x2 , … , xn+p)T pak přiřazení kx → x je jednoznačné (je to ortogonální průmět bodu) kx Є Rn+p do prostoru Rn . Leden 2009
CW05 ZADÁNÍ Opačným směrem je k bodu x Є kS přiřazen bod kx tak, že platí: 0 ≤ xn+i = bi - ∑ aij1 * xj1 pro sumaci j = 1 až n a i = 1 až p přiřazení kx → x je tedy také jednoznačné. Leden 2009
CW05 ZADÁNÍ Takže vzájemné jednoznačné zobrazení množin S ↔ kS je popsáno výše uvedenými vztahy. Leden 2009
CW05 ZADÁNÍ Úloha LP má nalézt body: x Є R2 v nichž lineární forma: max L (x) = 2 * x1 + 3 * x2 nabývá maxima na množině S všech x = (x1 , x2 )T splňujících: x1 + 2 * x2 ≤ 2 x1 , x2 0 Leden 2011
CW05 ZADÁNÍ Řešení pomocí kanonického tvaru nalézá body: kx Є R5 v nichž lineární forma: max kL ( kx ) = 2 * x1 + 3 * x2 Leden 2009
CW05 ZADÁNÍ nabývá maxima na množině kS všech kS R3 splňujících: x1 + 2 * x2 + x3 = 2 xj 0 … pro j = 1 , 2 , 3 . Leden 2011
CW05 ZADÁNÍ Takže vzájemné jednoznačné zobrazení množin S ↔ kS je popsáno výše uvedenými vztahy. Leden 2009
PŘÍKLADY CW057 Lineární programování – matematický popis CW13 CW05 Březen 2017
CW057 CW13 CW05 6 ZADÁNÍ Úloha LP : Grafické znázornění průběhu účelové funkce F = x2 – x1 = max Březen 2017
CW057 CW13 CW05 ZADÁNÍ Úloha LP : Grafické znázornění průběhu účelové funkce F = x2 – x1 = max x1 x2 2 1 -1 -2 Březen 2017
CW057 CW13 CW05 ZADÁNÍ Pokud existuje omezení účelové funkce g1: x2 - 2 * x1 ≤ 2 g2: x1 - 2 * x2 ≤ 2 bude grafické vyjádření následující Březen 2017
CW05 ZADÁNÍ Pokud existuje omezení účelové funkce g1: x2 - 2 * x1 ≤ 2 g2: x1 - 2 * x2 ≤ 2 bude grafické vyjádření následující x1 x2 2 1 -1 -2 g1 g2 březen 2009
PŘÍKLADY CW057 Lineární programování – matematický popis CW13 CW05 Březen 2017
CW057 CW13 CW05 7 ZADÁNÍ Úloha LP : Grafické znázornění průběhu účelové funkce pro předchozí text Březen 2017
CW057 CW13 CW05 ZADÁNÍ Grafické znázornění je na obr. a vyplývá z něj, že množina S R2 je ortogonálním průmětem množiny kS R3 do prostoru R2 . Březen 2017
CW05 ZADÁNÍ Konkrétně pro bod x1 = ( ¼ , ½ )T Є S je ortogonálním průmětem bodu x1 = ( ¼ , ½ , 1¼ )T grafické řešení úlohy na následujícím obr. březen 2009
CW05 ŘEŠENÍ 1 2 x2 1/4 1/2 x1 x3 S bod x1 Grafika zadání březen 2011
Grafika řešení CW05 ŘEŠENÍ x2 1 A x1 proměnná z B 3 1/3 1 2/3 4/3 1/2 3/2 2 5/2 7/2 x2 x1 A B grad L(x) = ( 2 ; 3 )T (0) (1) (2) (3) (4) proměnná z Grafika řešení březen 2011
CW05 ZADÁNÍ Body x = ( x1 , x2 ) splňující nerovnici x1 + 2 * x2 ≤ 2 tvoří polorovinu s hraniční přímkou x1 + 2 * x2 = 2 a jejíž průsečíky s osami jsou body této hra-niční přímky o souřadnicích (2 , 0)T a (0 , 1)T . březen 2009
CW05 ZADÁNÍ Dalším faktem je, že množina S leží v polo-rovinách x1 ≥ 0 , x2 ≥ 0 . Pro soustava rovnoběžek znázorňující účelo-vou funkci platí rovnice z = 2 * x1 + 3 * x2 neboli x2 = z/3 – (2 * x1) / 3 . březen 2011
CW05 ZADÁNÍ Každá z přímek má směrnici -2/3 a protíná osu x2 v bodě (0 , z/3)T - v obr. jsou vrstev-nice pro z = 0 , 1 , 2 , 3 , 4 . Z tohoto obrázku je také patrno, že účelová funkce L (x) nabývá svého maxima na mno-žině S v bodě x = (2 , 0 )T . Tento bod je „optimem“ neboli „optimálním řešením“ pro dané zadání. březen 2011
PŘÍKLADY CW057 Lineární programování – matematický popis CW13 CW05 Březen 2017
8 CW057 Lineární programování – vložený (ilustrační) příklad CW13 CW05 Balírny a pražírny kávy plánují výrobu dvou směsí, kávy Super a Standard – jako vstup pro výrobu mají tři druhy kávových bobů v množstvích 40, 60 a 25 tun - vyráběné směsi mají mít následující složení v tunách komponent na jednu tunu směsi. Komponenta Super Standard Kapacita K1 0,5 0,25 40 K2 0,5 0,5 60 K3 0,0 0,25 25 Na základě výrobních nákladů a vzhledem k předpokládané ceně byl vykalkulován zisk 20 000 Kč na tunu směsi Super a 14 000 Kč na tunu směsi Standard. Management chce naplánovat produkci, aby celkový zisk byl maximální. Březen 2017
Lineární programování – vložený (ilustrační) příklad CW057 CW13 CW05 Lineární programování – vložený (ilustrační) příklad Převede se ekonomický model na matematický. Každému procesu se přiradí jedna proměnná: Super x1, Standard x2 Celkový zisk popisuje účelová funkce z = 20000* x1 + 14000 * x2 jejíž koeficienty jsou ceny. Na výrobu tuny směsi Super se spotřebuje 0,5 tuny komponenty K1, tuna Standard potřebuje 0,25 tuny K1 --- a tedy celková spotřeba komponenty K1 bude 0,5*x1 + 0,25*x2 <= 40 tj., přitom nesmí převýšit disponibilní kapacitu této komponenty 40 tun. Obdobně další…. Březen 2017
Lineární programování – vložený (ilustrační) příklad CW05 Lineární programování – vložený (ilustrační) příklad Nerovnice jsou matematickým vyjádřením činitelů ekonomického modelu úlohy a označují se jako vlastní omezení úlohy LP. Časté jsou podmínky nezápornosti: x1 >= 0, x2 >= 0, které plynou z toho, že všechny proměnné v matematickém modelu mají reálnou ekonomickou interpretaci, takže nemohou nabývat záporných hodnot. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Matematický model: 0,5*x1 + 0,25*x2 <= 40, 0,5*x1 + 0,5 * x2 <= 60, 0,25*x2 <= 25, x1 >= 0, x2 >= 0 Maticový zápis: Tabulka obsahuje hodnoty proměnných, zbylou kapacitu komponent a hodnotu účelové funkce pro některé možnosti výroby směsí. x1 x2 K1 K2 K3 z 1. 0 0 40 60 25 0 2. 80 0 0 20 25 1600000 3. 0 100 15 10 0 1400000 4. 50 50 25 10 12,5 1700000 5. 80 20 −5 10 20 1880000 Komentář…. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Komentář k výsledku (k tabulce)…. Ad 1. Nic se nevyrábí ani nespotřebovává, nulový zisk. Ad 2. Výroba jen směsi Super (maximální vzhledem k daným kapacitám), zisk 1,6 mil. Ad 3. Maximálně možná výroba jen směsi Standard, zisk 1,4 mil. Ad 4. Výroba obou směsí v poměru 50 na 50, zisk 1,7 mil. Ad 5. Výroba směsí 80 t + 20 t, která by dala zisk 1,88 mil, je nerealizovatelná, neboť vyžaduje 45 tun K1, které nejsou k dispozici. Přípustné řešení úlohy LP je takové řešení, které vyhovuje všem podmínkám (vlastním omezením i nezápornosti). Řešení 1. – 4. jsou přípustná, řešení 5. je nepřípustné. Další postup…. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Doplnění a komentář k řešení …. Základní řešení úlohy LP je přípustné základní řešení ekvivalentní soustavy rovnic této úlohy. Ekvivalentní soustava rovnic se získá úpravou soustavy vlastních omezení na soustavu rovnic pomocí přídatných proměnných - to jsou nové nezáporné proměnné, které přičítáme k levé straně nerovnice typu a odečítáme u nerovnic. Aby základní řešení ekvivalentní soustavy rovnic bylo i základním řešením úlohy LP, musí navíc splňovat podmínky nezápornosti. Přídatné proměnné x3, x4, x5 . Ekvivalentní soustava rovnic bude mít tvar: 0,5*x1 + 0,25*x2 + x3 = 40 0,5*x1 + 0,5 *x2 + x4 = 60 0,25*x2 + x5 = 25 Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Dohromady je pět základních řešení. 1., 2. a 3. řádek tabulky popisují základní řešení úlohy, která jsou „degenerovaná“ = v praxi bez významu nebo obtížně akceptova-telná (nevyhovují přesně zadání,….). Zbývající nedegenerovaná základní řešení jsou: x1 x2 x3 x4 x5 z 6. 20 100 5 0 0 1700000 7. 40 80 0 0 5 1920000 Optimální řešení je na 7. řádku tabulky. Maximální zisk 1,92 milionu Kč dosáhne firma při produkci 40 tun směsi Super a 80 tun směsi Standard - přitom zbude 5 tun třetí K3. Protože druhým způsobem řešení je grafický postup, je zde doku-mentována i tato možnost….. i když je popsána až v dalším… Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Grafické řešení množiny přípustných řešení – je to pětiúhelník: průnik polo-rovin geometricky vyja-dřující význam podmínek. Základní řešení úlohy LP představují vrcholy množi-ny přípustných řešení, kterou obecně je konvexní polyedr (mnohostěn, který s kaž-dými svými dvěma body obsahuje i jejich spojnici). Březen 2014
PŘÍKLADY Výrobní úloha CW057 Lineární programování – matematický popis Březen 2017
9 CW057 Lineární programování – vložený (ilustrační) příklad Výroba výrobků V1, V2 a V3 Na výrobu jednoho výrobku V1 se spotřebuje 15 kg suroviny S - 3 kWh energie E - výroba trvá 1 h strojového času T. Na výrobu jednoho výrobku V2 se spotřebuje 20 kg suroviny S - 4 kWh energie E - výroba trvá 2 h strojového času T. Na výrobu jednoho výrobku V3 se spotřebuje 40 kg suroviny S - 7 kWh energie E - výroba trvá 3 h strojového času T. Březen 2017
Lineární programování – vložený (ilustrační) příklad CW057 CW13 CW05 Lineární programování – vložený (ilustrační) příklad Prodejem každého výrobku V1 dosáhne podnik zisku 700 Kč, u výrobku V2 je to 500 Kč a u výrobku V3 je 1300 Kč. Podnik má k dispozici 10 000 kg suroviny S, 4000 kWh energie E a 1000 h strojového času T. Při jakém plánu výroby bude zisk podniku maximální? Březen 2017
Lineární programování – vložený (ilustrační) příklad CW05 Ekonomickým modelem je již samotné slovní zadání úlohy - často se však takový ekonomický model uvádí i ve formě tabulky. EKONOMICKÝ Výrobky Disponibilní MODEL V1 V2 V3 množství surovina S 15 20 40 10 000 energie E 3 4 7 4 000 strojový čas T 1 12 3 1 000 zisk 700 500 1 300 max Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 výroba výrobků V1, V2 a V3.... matematický model bude obsahovat 3 proměnné: x1 . . . počet vyrobených výrobku V1, x2 . . . počet vyrobených výrobku V2, x3 . . . počet vyrobených výrobku V3. Nelze vyrábět záporné množství výrobků x1 >= 0; x2 >= 0; x3 >= 0. Jsou to tzv. podmínky nezápornosti. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Při výrobě jednoho výrobku V1 spotřebujeme 15 kg suroviny S. Pro x1 těchto výrobků, spotřebujeme 15*x1 kg suroviny S. Analogicky i pro výrobky V2 a V3. Spotřeba suroviny S celkem je tedy: S : 15*x1 + 20*x2 +40*x3 kg. Celková spotřeba nesmí přesáhnout disponibilní množství. S : 15*x1 + 20*x2 +40*x3 <= 10 000. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Analogicky postupujeme i pro spotřebu energie: E : 3*x1 + 4*x2 + 7*x3 <= 4 000 Analogicky postupujeme i pro spotřebu strojového času: T : 1*x1 +0,5*x2 + 3*x3 <= 1 000. Uvedené tři nerovnice se nazývají vlastní omezující podmínky Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Úkolem je určit plán výroby, tj. vektor výroby x = (x1, x2, x3) při němž bude zisk maximální. Hodnota zisku pro daný plán výroby je dána funkcí z = 700*x1 + 500*x2 + 1 300*x3 Taková funkce se nazývá účelová funkce. Účelová funkce v tomto případě je maximalizačního typu. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Celkově má matematický model úlohy tvar: z =700*x1 +500*x2 +1 300*x3 max 15*x1 + 20*x2 + 40*x3 <= 10 000 3*x1 + 4*x2 + 7*x3 <= 4 000 x1 + 0,5*x2 + 3*x3 <= 1 000 x1 >= 0, x2 >= 0, x3 >= 0. Sestavení matematického modelu úlohy lineárního programování, stejně jako další fáze řešení….. Březen 2014
PŘÍKLADY Rozdělovací úloha CW057 Lineární programování – matematický popis PŘÍKLADY Rozdělovací úloha Březen 2017
10 CW057 Lineární programování – vložený (ilustrační) příklad Celkově máme k dispozici dostatečné množství základních lan o délce 32 m. K dalšímu použití potřebujeme alespoň 12 ks 20m lan, 20 ks 11m lan a 26 ks 6m lan. Úkolem je stanovit tzv. optimální skladbu řezných plánů vzhledem k minimálnímu odpadu. Sestavíme matematický model úlohy – nejprve se stanoví kolik základních lan každým z těchto způsobů rozřežeme. Březen 2017
Lineární programování – vložený (ilustrační) příklad CW05 Sestavíme tabulku řezných plánů celkem 32 m řezný plán požadované I. II. III. IV. V. množství 20 m 1 1 0 0 0 12 11 m 1 0 2 1 0 20 6 m 0 2 1 3 5 26 odpad [m] 1 0 4 3 2 min Řezný plán I. znamená, že ze základního lana délky 32 m nařežeme 1 ks 20 m dlouhého lana, 1 ks 11 m dlouhého lana a zbude odpad délky 1 m. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Vytvoříme matematický model této rozdělovací úlohy. Proměnná xi značí počet základních 32 m dlouhých lan rozřezaných podle i-tého řezného plánu, i = 1, 2, . . . , 5. Řešení je pak představováno vektorem x = (x1, x2, x3, x4, x5) který budeme nazývat rozdělovacím vektorem. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 I zde musí být splněny podmínky nezápornosti, xi >= 0, i = 1, 2, . . . , 5, žádným způsobem nelze rozřezat záporné množství lan. Rozřežeme-li x1 lan podle řezného plánu I., . . . , a x5 lan podle řezného plánu V., nařežeme: x1 + x2 20 m dlouhých lan, x1 + 2*x3 + x4 11 m dlouhých lan, 2*x2 + x3 + 3*x4 + 5*x5 6 m dlouhých lan, a zbude odpad s celkovou délkou (v metrech) z = x1 + 4*x3 + 3*x4 + 2*x5. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Celkový matematický model úlohy je: z = x1 + 4*x3 + 3*x4 + 2*x5 min, x1 + x2 <= 12, x1 + 2*x3 + x4 <= 20, 2*x2 + x3 + 3*x4 + 5*x5 <= 26, xi >= 0, pro i = 1, 2, . . . , 5. Březen 2014
Lineární programování – vložený (ilustrační) příklad CW05 Modifikujme předchozí příklad následovně. Všechny předpoklady i požadavky zůstávají stejné, pouze změníme kritérium optimality - nyní bude cílem určit opti-mální skladbu řezných plánů z hlediska minimálního počtu rozřezaných lan o základní délce 32 m. Sestavíme matematický model úlohy – bude se lišit jen tvarem účelové funkce: z = x1 + x2 + x3 + x4 + x5 min. Březen 2014
…..… Informace pokračují …..č.?… cw057 – p. 37. CW057 POKRAČOVÁNÍ PŘÍŠTĚ ……. Informace pokračují …..č.?… …..… cw057 – p. 37. březen 2017
CW057 CW13 CW05 ……… Březen 2017