Operan vzkum Linern programovn 3 Simplexov metoda Operan

  • Slides: 21
Download presentation
Operační výzkum Lineární programování 3. Simplexová metoda. Operační program Vzdělávání pro konkurenceschopnost Název projektu:

Operační výzkum Lineární programování 3. Simplexová metoda. 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/28. 0326

SIMPLEXOVÁ METODA (SM) - obecná metoda řešení úloh LP METODA UMĚLÉ BÁZE (MUB) -

SIMPLEXOVÁ METODA (SM) - obecná metoda řešení úloh LP METODA UMĚLÉ BÁZE (MUB) - metoda řešení úloh LP

Algoritmus SM: metoda umělé báze (pomocné proměnné, pomocná úč. funkce) SLN … převedeme SLN

Algoritmus SM: metoda umělé báze (pomocné proměnné, pomocná úč. funkce) SLN … převedeme SLN na SLR pomocí doplňkových proměnných . SLR v kanonickém tvaru → VÝCHOZÍ ZÁKL. PŘÍP. ŘEŠENÍ test optima: Je řešení optimální? ANO KONEC: Máme nalezení zákl. příp. řešení s lepší hodnotou úč. funkce NE

NALEZENÍ VÝCHOZÍHO ŘEŠENÍ = převedení SLN na SLR v kanonickém tvaru s nezápornou pravou

NALEZENÍ VÝCHOZÍHO ŘEŠENÍ = převedení SLN na SLR v kanonickém tvaru s nezápornou pravou stranou všech rovnic, tj. A) Při zadání úlohy ve tvaru Převedením obdržíme Základní výchozí řešení je tvaru Řešení je přípustné, neboť (tj. vyhovuje podmínkám nezápornosti).

B) Je-li některé , pak danou rovnici násobíme . C) Při zadání úlohy ve

B) Je-li některé , pak danou rovnici násobíme . C) Při zadání úlohy ve tvaru SLN převedeme na SLR, která však není v kanonickém tvaru. 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: 1 SLN SLR (zavedením doplňkových

SIMPLEXOVÁ TABULKA Př. : Uvažujme matematický model úlohy LP: 1 SLN SLR (zavedením doplňkových proměnných ) 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.

Simplexová tabulka: Zákl. prom. x 1 x 2 x'1 x'2 bi x'1 x'2 2

Simplexová tabulka: Zákl. prom. x 1 x 2 x'1 x'2 bi x'1 x'2 2 4 5 1 1 0 0 1 1000 1100 z -3 -2 0 0 0 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í.

TEST OPTIMÁLNOSTI ŘEŠENÍ 1) U MAXIMALIZAČNÍCH ÚLOH platí: je-li aspoň u jedné vedlejší proměnné

TEST OPTIMÁLNOSTI ŘEŠENÍ 1) U MAXIMALIZAČNÍCH ÚLOH platí: je-li aspoň u jedné vedlejší proměnné xj koeficient cj v anulované účelové funkci (řádek) ZÁPORNÝ, je možné hodnotu z účelové funkce zvětšit, tzn. , že řešení ještě není 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. Jsou-li všechny koeficienty u vedlejších proměnných v anulované funkci nezáporné, řešení je optimální.

TEST OPTIMÁLNOSTI ŘEŠENÍ 2) U MINIMALIZAČNÍCH ÚLOH platí: je-li aspoň u jedné vedlejší proměnné

TEST OPTIMÁLNOSTI ŘEŠENÍ 2) U MINIMALIZAČNÍCH ÚLOH platí: je-li aspoň u jedné vedlejší proměnné xj koeficient cj v anulované účelové funkci (řádek) KLADNÝ, je možné hodnotu z účelové funkce snížit, tzn. , že řešení ještě není 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. Jsou-li všechny koeficienty u vedlejších proměnných v anulované funkci nekladné, řešení je optimální.

ZLEPŠOVÁNÍ ŘEŠENÍ Zatím jsme určili, kterou proměnnou musíme mezi základní proměnné zařadit, aby se

ZLEPŠOVÁNÍ ŘEŠENÍ 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). 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 aik>0 dělíme absolutní členy bi a podíly zapisujeme do sloupce v simplexové tabulce. Vybereme min. ze všech podílů pro aik>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

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í.

POSTUP algoritmu simplexové metody: 1) Určíme klíčový sloupec, tj. zařazovanou proměnnou, podle toho, který

POSTUP algoritmu simplexové metody: 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 aik>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). (Provádíme úplnou eliminaci. )

Celý postup opakujeme tak dlouho, až budou v řádku všechny koeficienty nezáporné (u max.

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í.

Ukážeme si postup na vzorovém příkladě: Interpretace výsledku: Je-li úloha úlohou výrobního plánování, je

Ukážeme si postup na vzorovém příkladě: Interpretace výsledku: Je-li úloha úlohou výrobního plánování, je optimální vyrábět 250 ks výrobku V 1 a 100 ks výrobku V 2. 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).

METODA UMĚLÉ BÁZE Pomocí doplňkových proměnných lze převést na SLR v kanonickém tvaru pouze

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 přípustnému řešení rozšířené úlohy

Dostáváme tak rozšířenou úlohu LP, pro kterou platí: VĚTA: Každému přípustné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

Ú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í jsme však opět porušili kanonický tvar, proto k této

Připsáním této rovnice pod ostatní jsme 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

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

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 xi’ nemá pomocná proměnná xi’’ žádný věcný

Pozn. : Na rozdíl od doplňkových proměnných xi’ nemá pomocná proměnná xi’’ žá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.