Operační výzkum Lineární programování Dualita v úlohách lineárního programování. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo projektu: CZ.1.07/2.2.00/
DUALITA V ÚLOHÁCH LINEÁRNÍHO PROGRAMOVÁNÍ Ke každé úloze lineárního programování lze určitým způsobem přiřadit jinou úlohu lineárního programování, která je sestavena z týchž konstant (koeficientů a pravých stran omezení). Takovou úlohu nazýváme úlohou duálně sdruženou k původní úloze (= primární úloha). Dvojice sdružených úloh spolu úzce souvisí a má řadu zajímavých společných vlastností ( jak z hlediska výpočetního, tak z hlediska ekonomické interpretace ). Dualitou nazýváme vzájemný vztah mezi dvojicí duálně sdružených úloh.
DUALITA V ÚLOHÁCH LP VLASTNÍ OMEZENÍ PODMÍNKY NEZÁPORNOSTI ÚČELOVÁ FUNKCE Tři druhy koeficientů: … strukturální koeficienty, … celkové úrovně činitelů (pravé strany), … cenové koeficienty, pro i = 1,.. m, j=1,.. n.
Tyto koeficienty jsou v matematickém modelu propojeny pomocí proměnných x j. Koeficienty a ij, b i ve vlastních omezeních, koeficienty c j v účelové funkci. Takto zformulovaný model budeme nazývat PRIMÁRNÍ MATEATICKÝ MODEL Ke každé primární úloze LP lze zformulovat úlohu DUÁLNÍ. DUALITA je matematický vztah mezi dvěma modely tzv. DUÁLNĚ SDRUŽENÉ MODELY. PRIMÁRNÍ ÚLOHA DUÁLNÍ ÚLOHA PRIMÁRNÍ ÚLOHA transformace
PRIMÁRNÍ ÚLOHA DUÁLNÍ ÚLOHA PRIMÁRNÍ ÚLOHA transformace VĚTA (o reflexivnosti duality): Duální úloha k duální úloze je původní primární úloha. DŮSLEDEK: Reflexivnost duality umožňuje z vlastností a řešení primární úlohy určit vlastnosti a řešení duální úlohy (a naopak). Než začneme tvořit duální úlohu, je třeba původní úlohu převést na tzv. STANDARDNÍ TVAR. U MAXIMALIZAČNÍ ÚLOHY je soustava ve standardním tvaru, když všechny vlastní omezující podmínky jsou typu „ “ nebo „=“. U MINIMALIZAČNÍ ÚLOHY je soustava ve standardním tvaru, když všechny vlastní omezující podmínky jsou typu „ “ nebo „=“.
Pozn.:Pokud typy nerovností nejsou v souladu s extrémem účelové funkce, je třeba příslušná vlastní omezení násobit (-1) (i za cenu záporné pravé strany). Každé úloze LP ve standardním tvaru lze přiřadit duální úlohu (bude rovněž ve standardním tvaru) takto: Maximalizační primární úloze ve standardním tvaru přísluší minimalizační duální úloha ve standardním tvaru a naopak. Každému vlastnímu omezení primární úlohy odpovídá jedna strukturní proměnná úlohy duální a naopak. Matice strukturních koeficientů primární a duální úlohy jsou navzájem transponované. Vektor pravých stran primární úlohy je vektorem cen úlohy duální a naopak.
PRIMÁRNÍ MAT. MODEL Účelová funkce max (min) DUÁLNÍ MAT. MODEL Účelová funkce min (max) Počet vlastních omezení … m Počet duálních proměnných … m Počet primárních proměnných … n Počet vlastních omezení … n DUALITA v LP je jednoznačné přiřazení matematických modelů vycházejících ze stejných koeficientů ( a ij, c j, b i ), které jsou v modelech jinak umístěny.
Jestliže se v primární úloze objevují pouze vlastní omezující podmínky ve tvaru nerovnic a je požadována nezápornost všech proměnných, tvoří primární úloha a duální úloha dvojici SYMETRICKÝCH DUÁLNÍCH ÚLOH. Když se mezi vlastními omezujícími podmínkami primární úlohy vyskytuje nějaká rovnice nebo u některé proměnné „chybí“ podmínka nezápornosti, nazýváme primární úlohu spolu s duální úlohou dvojicí NESYMETRICKÝCH DUÁLNÍCH ÚLOH.
Př.: ÚLOHA VÝROBNÍHO PLÁNOVÁNÍ Podnik vyrábí 2 druhy výrobků V 1 a V 2. Tab. udává spotřebu surovin S 1 a S 2 v kg na výrobu 1 ks výrobku V 1, resp. V 2 i disp. množství. Zisk z každého ks V 1 je 3 Kč a z 1 ks V 2 je 2 Kč. Stanovte opt. výrobní plán, aby podnik dosáhl max. zisku. VýrobkyDisponibilní množství V1V1 V2V2 S 1 [kg/ks] S 2 [kg/ks] Zisk [Kč]32max. x 1 … počet výrobků V 1 x 2 … počet výrobků V 2 V ektor výroby
Primární úloha maximalizační je ve standardním tvaru, tzn. všechny nerovnosti jsou typu „ “ a všechny proměnné jsou nezáporné. Primární úloha má 2 vlastní omezení, proto duální úloha bude mít 2 proměnné u 1 a u 2 : Duální úloha je minimalizační, opět ve standardním tvaru, tzn. všechny nerovnosti jsou typu „ “ a všechny proměnné jsou nezáporné.
Existují 2 možnosti, jak zjistit řešení duální úlohy: 1) Samotné řešení duální úlohy (např. výpočet SM, resp. metodou umělé báze). 2) Řešení duální úlohy lze vyčíst ze simplexové tabulky vyřešené primární úlohy.
PRIMÁRNÍ ÚLOHA z=f u1u1 u2u2 u’1u’1 u’2u’2
DUÁLNÍ ÚLOHA x1x1 f=z -x 1 -x 2 -x’ 1 -x’ 2 x2x2
ZÁKLADNÍ VĚTA O DUALITĚ:Má-li jedna z dvojice duálně sdružených úloh LP konečné optimální řešení, pak má i druhá úloha konečné optimální řešení a hodnoty účelových funkcí jsou stejné. Řešení duální úlohy lze vyvodit z posledního kroku simplexové tabulky primární úlohy. Na základě reflexivity duality lze určit řešení primární úlohy ze simplexové tabulky duální úlohy.
MOŽNÁ ZAKONČENÍ ÚLOH LP Z HLEDISKA DUALITY 2)Má-li primární úloha alternativní řešení, má duální úloha degenerované řešení (a naopak). 3)Má-li primární úloha neomezenou účelovou funkci (tj. nemá optimální řešení), duální úloha nemá vůbec přípustné řešení (a naopak). 1)Má-li primární úloha jediné nedegenerované optimální řešení, má i duální úloha jediné nedegenerované optimální řešení. (viz. Základní věta o dualitě)
EKONOMICKÁ INTERPRETACE DUÁLNÍCH PROMĚNNÝCH Př.: Podnik vyrábí 2 druhy výrobků V 1 a V 2. Tabulka udává spotřebu surovin S 1 a S 2 v kg na výrobu 1 ks výrobku V 1, resp. V 2 i disponibilní množství. Zisk z každého ks V 1 je 3 Kč a z 1 ks V 2 je 2 Kč. Stanovte opt. výrobní plán, aby podnik dosáhl max. zisku. VýrobkyDisponibilní množství V1V1 V2V2 S 1 [kg/ks] S 2 [kg/ks] Zisk [Kč]32max. x 1 … počet výrobků V 1 x 2 … počet výrobků V 2 V ektor výroby
PRIMÁRNÍ MAT. MODEL: Suroviny se zde transformují na výrobky a ty se prodávají. Uvažme přímý prodej surovin. Jaké by musely být ceny surovin, aby se jejich přímý prodej vyplatil? Označme neznámou cenu jednotkového množství - suroviny S 1 symbolem u 1, - suroviny S 2 symbolem u 2.
Celkové množství surovin se prodá za Odběratelé budou působit na to, aby celková suma byla co nejmenší, nelze stanovit cenu libovolně vysokou Pro podnik bude přijatelné, pokud za suroviny S 1 a S 2 získá alespoň tolik, kolik by za ně získal prodejem po transformaci na výrobky V 1 a V 2. TedyV1:V1: V2:V2: Ceny surovin jsou samozřejmě nezáporné: Získáváme duální matematický model:
ZPŮSOBY ŘEŠENÍ ÚLOH LP SIMPLEXOVÁ METODA (SM) Vycházíme z řešení, které je primárně přípustné a duálně nepřípustné. Pracujeme SM, která zachovává primární přípustnost. Pokračujeme tak dlouho, až najdeme řešení, které je také duálně přípustné, tzn. optimální. DUÁLNĚ SIMPLEXOVÁ METODA (DSM) Vycházíme z řešení, které je duálně přípustné a primárně nepřípustné. Pracujeme DSM, která zachovává duální přípustnost. Pokračujeme tak dlouho, až najdeme řešení, které je také primárně přípustné, tzn. optimální.
DUÁLNĚ SIMPLEXOVÁ METODA Definice: Řešení se nazývá PRIMÁRNĚ PŘÍPUSTNÉ, jestliže splňuje všechny vlastní omezující podmínky a podmínky nezápornosti (dosud jsme v tomto smyslu užívali pojem přípustné řešení). Řešení se nazývá DUÁLNĚ PŘÍPUSTNÉ, jestliže koeficienty v anulované účelové funkci jsou: nezáporné ……… u maximalizační úlohy VĚTA: Řešení je současně primárně i duálně přípustné řešení je optimální. Pozn.: Řešení je duálně přípustné, je-li přípustným řešením DÚ. Řešení je primárně přípustné, je-li přípustným řešením PÚ. nekladné ……… u minimalizační úlohy
POSTUP DSM:vycházíme z duálně přípustného řešení 1) Stanovíme klíčový řádek - určíme. Je-li řešení je i prim. příp., tzn. je optimální. Je-li máme optimální řešení. Dané řešení je DEGENEROVANÉ. Je-li je nutno pokračovat ve výpočtu, r-tý řádek je klíčový. 2)Určíme klíčový sloupec. Uvažujeme záporné koeficienty klíčového řádku, tj.. 3)Určíme podíly pro. 4)Určíme - tím je určen klíčový sloupec. 5)V průsečíku klíčového řádku a klíčového sloupce je pivot. Tabulka se přepočte úplnou eliminací (stejně jako u SM).
Př.: MOŽNOSTI ŘEŠENÍ TÉTO ÚLOHY: SM …bylo by zapotřebí používat pomocné proměnné i pomocnou účelovou funkci (metoda umělé báze). Určit duální úlohu a tu vyřešit SM. Použít DSM.