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/ Operační výzkum Lineární programování 3. Simplexová metoda.
SIMPLEXOVÁ METODA (SM) - obecná metoda řešení úloh LP METODA UMĚLÉ BÁZE (MUB) - metoda řešení úloh LP
Algoritmus SM: SLN SLR SLR v kanonickém tvaru → VÝCHOZÍ ZÁKL. PŘÍP. ŘEŠENÍ test optima: Je řešení optimální? nalezení zákl. příp. řešení s lepší hodnotou úč. funkce NE ANO … převedeme SLN na SLR pomocí doplňkových proměnných. metoda umělé báze (pomocné proměnné, pomocná úč. funkce) KONEC: Máme
A) Při zadání úlohy ve tvaru Převedením obdržíme NALEZENÍ VÝCHOZÍHO ŘEŠENÍ = převedení SLN na SLR v kanonickém tvaru s nezápornou pravou stranou všech rovnic, tj. Základní výchozí řešení je tvaru Řešení je přípustné, neboť (tj. vyhovuje podmínkám nezápornosti).
C) Při zadání úlohy ve tvaru SLN převedeme na SLR, která však není v kanonickém tvaru. B) Je-li některé, pak danou rovnici násobíme. Rovnice nelze násobit, protože bychom obdrželi zápornou pravou stranu (řešení by nebylo přípustné). Výchozí přípustné řešení lze získat pomocí metody UMĚLÉ BÁZE, tj. zavedením pomocných proměnných a pomocné účelové funkce (později).
SIMPLEXOVÁ TABULKA Př.: Uvažujme matematický model úlohy LP: 2 Anulujeme účelovou funkci. Získali jsme SLR v kanonickém tvaru, tzn. že máme výchozí základní přípustné řešení. Tuto soustavu přepíšeme do simplexové tabulky. 1 SLN SLR (zavedením doplňkových proměnných )
Simplexová tabulka: Zákl. prom. x1x1 x2x2 x' 1 x' 2 bibi x' 1 x' z max Základní proměnné Matice soustavy Sloupec absolutních členů rovnic Sloupec pro určení klíčového řádku Koeficienty anulované účelové rovnice Hodnota účelové funkce příslušná danému základnímu přípustnému řešení.
1)U MAXIMALIZAČNÍCH ÚLOH platí: TEST OPTIMÁLNOSTI ŘEŠENÍ je-li aspoň u jedné vedlejší proměnné x j koeficient c j v anulo- vané účelové funkci (řádek) ZÁPORNÝ, je možné hodnotu z účelové funkce zvětšit, tzn., že řešení ještě není optimální. Jsou-li všechny koeficienty u vedlejších proměnných v anulované funkci nezáporné, řešení je optimální. Je-li v řádku záporných koeficientů více, vybereme nejmenší z nich. Tímto výběrem je určen klíčový sloupec.
2)U MINIMALIZAČNÍCH ÚLOH platí: TEST OPTIMÁLNOSTI ŘEŠENÍ je-li aspoň u jedné vedlejší proměnné x j koeficient c j v anulo- vané účelové funkci (řádek) KLADNÝ, je možné hodnotu z účelové funkce snížit, tzn., že řešení ještě není optimální. Jsou-li všechny koeficienty u vedlejších proměnných v anulované funkci nekladné, řešení je optimální. Je-li v řádku kladných koeficientů více, vybereme největší z nich. Tímto výběrem je určen klíčový sloupec.
Zatím jsme určili, kterou proměnnou musíme mezi základní proměnné zařadit, aby se hodnota účelové funkce zlepšila. Nyní musíme rozhodnout, kterou ze základních proměnných musíme vyloučit (určení klíčového řádku). ZLEPŠOVÁNÍ ŘEŠENÍ Zjistíme, ve kterých rovnicích má zařazovaná proměnná kladné koeficienty (tj. vybereme všechny kladné koeficienty v klíčovém sloupci). Těmito koeficienty a ik >0 dělíme absolutní členy b i a podíly zapisujeme do sloupce v simplexové tabulce. Vybereme min. ze všech podílů pro a ik >0. Rovnice, v níž je tento podíl nejmenší obsahuje vylučovanou proměnnou (klíčový řádek).
Pozn.:Pravidlo pro určení vylučované proměnné (klíčového řádku) je stejné u maximalizačních i minimalizačních úloh. Výměnu zařazované a vylučované proměnné provedeme úplnou eliminací.
1)Určíme klíčový sloupec, tj. zařazovanou proměnnou, podle toho, který záporný (u max. úloh), resp. kladný (u min. úloh) koeficient v řádku má největší absolutní hodnotu. 2)Určíme klíčový řádek, tj. vylučovanou proměnnou, podle toho, který podíl pro a ik >0 je ve sloupci nejmenší. 3)Určíme klíčový prvek (pivot) jako průsečík klíčového řádku a klíčového sloupce. 4)Dělíme všechny prvky klíčového řádku klíčovým prvkem. Prvky klíčového sloupce nahradíme základním sloupcovým jednotkovým vektorem (s „1“ na pozici pivota). Ostatní prvky dopočítáme podle křížového pravidla. POSTUP algoritmu simplexové metody:
Celý postup opakujeme tak dlouho, až budou v řádku všechny koeficienty nezáporné (u max. úloh), resp. nekladné (u min. úloh) úloha LP má optimální řešení. V případě, že nelze určit klíčový řádek, tj. všechny koeficienty v klíčovém sloupci jsou záporné, úloha nemá optimální řešení.
Interpretace výsledku: Je-li úloha úlohou výrobního plánování, je optimální vyrábět 250 ks výrobku V1 a 100 ks výrobku V2. Přitom bude dosaženo maximálního zisku ve výši 950 tisíc. Kč. Jelikož doplňkové proměnné jsou nulové, suroviny budou beze zbytku zužitkovány (přeměněny na výrobky). Ukážeme si postup na vzorovém příkladě:
METODA UMĚLÉ BÁZE Pomocí doplňkových proměnných lze převést na SLR v kanonickém tvaru pouze SLN typu „ ≤ ”. U SLN typu „ ≥ ” a u rovnic „ = ” musíme použít i pomocných proměnných → Metoda UMĚLÉ BÁZE. POSTUP: 1)Pomocí doplňkových proměnných převedeme SLN na SLR. 2)Pokud SLR není v kanonickém tvaru, pak do rovnic, které neobsahují základní proměnnou, uměle zavedeme nezápornou pomocnou proměnnou. 3)Tuto úlohu doplníme zavedením pomocné účelové funkce
Dostáváme tak rozšířenou úlohu LP, pro kterou platí: VĚTA:Každému řešení rozšířené úlohy odpovídá přípustné řešení původní úlohy všechny pomocné proměnné jsou rovny nule, tj.. Př.: SLN SLR Soustava není v kanonickém tvaru, v rovnici (3) chybí základní proměnná, proto ji do této rovnice uměle doplníme pomocná proměnná.
Úlohu však musíme doplnit i o pomocnou účelovou funkci Po anulování pomocné účelové funkce dostáváme. Připsáním této rovnice pod ostatní bychom však opět porušili kanonický tvar, proto k této rovnici přičteme všechny rovnice, v níž se vyskytují pomocné proměnné (v našem případě pouze rovnici (3)). Dostáváme úlohu
Než začneme řešit původní úlohu, musíme vyřešit úlohu pomocnou. Snažíme se minimalizovat pomocnou účelovou funkci. Postupujeme standardním simplexovým algoritmem. Již po prvním kroku se nám podařilo vyloučit pomocnou proměnnou Tím jsme dořešili pomocnou úlohu – našli jsme přípustné výchozí řešení původní úlohy LP a pokračujeme simplexovým algoritmem (vzhledem k účelové funkci z ) při hledání optimálního řešení.
Pokud nelze zminimalizovat hodnotu z ’ na 0, nemá původní úloha přípustné a tedy ani optimální řešení.
Pozn.:Na rozdíl od doplňkových proměnných x i ’ nemá pomocná proměnná x i ’’ žádný věcný význam. Slouží jen k nalezení výchozího přípustného řešení.
ZÁVĚR:Rozšířenou úlohu LP řešíme ve dvou fázích: 1.Minimalizujeme pomocnou účelovou funkci z ’ postupným vyřazováním pomocných proměnných a zařazováním proměnných, které mají věcnou interpretaci. Mohou nastat 2 situace: a)min z ’ >0 …pův. úLP nemá příp. řešení, b)min z ’ =0... máme výchozí příp. řešení pův. úLP. 2.Pokud nastala situace 1.b), řešíme původní úlohu vzhledem k původní účelové funkci – pokračujeme od nalezeného přípustného řešení původní úlohy.