Operační výzkum Lexikografická metoda. Metoda agregace účelových funkcí. Cílové 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/28.026
Vícekriteriální programování Definice: Úloha vícekriteriálního lineárního programování (VLP) je zobecněním úloh lineárního programování vzhledem k počtu účelových funkcí. Obecně uvažujeme úlohu s k účelovými funkcemi. Matematický model úlohy vícekriteriálního lineárního programování (VLP) má tvar 2 z 1 = z 1( x) z 2 = z 2( x) 7 6 4. z k = z k ( x) při podmínkách A x b, x o. 7 max 5
Úvod do vícekriteriálního hodnocení variant Poznámka: V předešlé definici použité symboly chápeme tímto způsobem: z s = z s( x), s = 1,..., k, jsou účelové funkce, jejichž hodnota je funkcí x, 0 1 a 11... a 1n B A = @....... C A je matice soustavy (nerovnic), a m1... a mn 0 1 x = b = o = B @ 0 B @ 0 B @ x 1. x n b 1. b m 0. 0 C A je vektor neznámých, 1 C A je vektor pravých stran (nerovnic) a 1 C A je nulový vektor.
Úvod do vícekriteriálního hodnocení variant Definice: Vektor x, splňující uvedená omezení, se nazývá přípustné řešení úlohy VLP. Množinu všech přípustných řešení značíme X P. Přípustné řešení x nazveme nedominovaným řešením úlohy VLP, jestliže neexistuje přípustné řešení takové, že z( x) z( x ) (vektorová nerovnost splněná ve všech k souřadnicích). Množinu všech nedominovaných řešení zančíme X N. Kompromisní řešení je pak některé z nedominovaných řešení. K nalezení kompromisního řešení existuje více metod. Přitom každá z těchto metod může označit jiné řešení za kompromisní. Každá z metod vyžaduje nějakou další informaci k zadané úloze (např. váhy kritérií, apod.)
Lexikografická metoda Je třeba znát pořadí kritérií (účelových funkcí) podle důležitosti. Při řešení úlohy VLP lexikografickou metodou se postupuje následovně. Nejprve se určí množina X 1 všech optimálních řešení vzhledem k nejdůležitější účelové funkci. Dále se řeší úloha vzhledem ke druhé nejdůležitější účelové funkci, přičemž za množinu všech přípustných řešení nyní bereme množinu X 1. Množina X 2 všech optimálních řešení této úlohy je dále množinou všech přípustných řešení třetí jednokriteriální úlohy s třetí nejdůležitější účelovou funkcí; atd. Nakonec získáme lexikograficky optimální řešení úlohy VLP.
Lexikografická metoda Lexikografická metoda postup: Úloha VLP s k účelovými funkcemi se v této metodě nahrazuje řešením nejvýše k jednokriteriálních úloh LP: 1 První úloha: Na množině všech přípustných řešení původní úlohy VLP se maximalizuje nejdůležitější účelová funkce. Množina všech optimílních řešení této jednokrieriální úlohy označíme X 1. 2 Druhá úloha: Na množině X 1 se maximalizuje druhá nejdůležitější účelová funkce. Množina všech optimílních řešení této jednokrieriální úlohy označíme X 2. Třetí úloha: Na množině X 2 se maximalizuje třetí nejdůležitější účelová funkce. Množina všech optimílních řešení této jednokrieriální úlohy označíme X. 4 Podobně postupujeme i dále. Skončíme buď po vyřešení t-té úlohy (t < k), jestliže množina X t je jednoprvková, nebo nejpozději po vyřešení k-té úlohy. Za kompromisní řešení úlohy VLP pak považujeme řešení X t, resp. X k. V prvním případě je kompromisní řešení jednoprvkové, ve druhém případě může být kompromisních řešení více.
Lexikografická metoda Př: Určete graficky množinu X N všech nedominovaných řešení úlohy VLP a graficky i početně lexikograficky optimální řešení.» z1 = 5x 1 + x 2 max z 2 = x 2 za podmínek x 1 + x 2 4, (1) x 1 2x 2, (2) x 1 0, x 2 0. (),(4) Pořadí důležitosti uvažujte a) 1. z 1, 2. z 2; b) 1. z 2, 2. z 1.
Lexikografická metoda Řešení: Množinou X P všech přípustných řešení úlohy je čtyřúhelník OABCD, X P = 4-úh. OABCD, kde O = [0, 0], A = [, 0], B = [11/, 1/], C = [0, 4]. Obrázek: Úloha VLP, grafické znázornění X P, X N
Lexikografická metoda Na obrázku je množina X P vyšrafována. Jsou zde vyznačeny i normálové vektory n 1, n 2 příslušné účelovým funkcím. Při řešení úlohy VLP lexikografickou metodou se nejprve určí množina X 1 všech optimálních řešení vzhledem k nejdůležitější účelové funkci. V obou případech je množina X 1 jednoprvková a tedy představuje jediné kompromisní řešení. Konkrétně: ad a) X 1 = B, tedy X a opt,lex = B, proto z a = (z 1(B), z 2(B)) = (56/, 1/). ad b) X 1 = C, tedy X b opt,lex = C, proto z b = (z 1(C), z 2(C)) = (4, 4). Vzhledem k tomu, jak vyšli obě jednokriteriální úlohy (vzhledem k účelové funkci z 1, resp. z 2), je zřejmé, že množinou X N všech nedominovaných řešení úlohy VLP je celá úsečka BC: X N = BC. Grafické určení množin X P, X N i kompromisního řešení jak v případě a), tak i v případě b) je zřejmé z obrázku.
Lexikografická metoda Početně pro případ a) postupujeme následovně: Převedeme nerovnice na rovnice zavedením doplňkových proměnných x 1, x 2 a anulujeme účelové rovnice, ostatní je zřejmé z tabulky. Nejprve samozřejmě maximalizujeme nejdůležitější účelovou funkci. Z.p. x 1 x 2 x 1 x 2 b i p = b i a ik pro a ik > 0 x 1 1 1 1 0 4 4 x 2 (1) 2 0 1 z 1 5 1 0 0 0 max 1 z 2 0 1 0 0 0 max 2 x 1 0 () 1 1 1 x 1 1 2 0 1 z 1 0 11 0 5 15 max 1 z 2 0 1 0 0 0 max 2 1 Tabulka: Lexikografická metoda, nedokončená tabulka
Lexikografická metoda Z.p. x 1 x 2 x 1 x 2 b i p = b i a ik pro a ik > 0 x 1 1 1 1 0 4 4 x 2 (1) 2 0 1 z 1 5 1 0 0 0 max 1 z 2 0 1 0 0 0 max 2 x 1 0 () 1 1 1 x 1 1 2 0 1 z 1 0 11 0 5 15 max 1 z 2 0 1 0 0 0 max 2 1 x 2 0 1 x 1 1 0 z 1 0 0 z 2 0 0 1 1 2 1 11 4 1 1 1 11 56 MAX 1 1 max 2 Tabulka: Lexikografická metoda, kompletní tabulka
Lexikografická metoda Poznámka: I z tabulky je zřejmé, že hodnotu účelové funkce z 2 sice zvýšit lze, ale nikoliv bez současného snížení důležitejší účelové funkce. Tedy, řešení (x 1 = 11, x2 = 1 ) je jediným kompromisním řešením úlohy a). Poznámka: Úloha b) by se početně řešila analogicky.
Metoda agregace účelových funkcí Metoda agregace účelových funkcí vyžaduje znalost vah kritérií v s, s = 1, 2,..., k. Vyjadřují relativní důležitost kritéria. Při agregaci účelových funkcí vytváříme z k účelových funkcí jednu novou účelovou funkci. Za kompromisní řešení úlohy VLP pak považujeme optimální řešení úlohy LP vzhledem k této agregované účelové funkci. Novou účelovou funkci definujeme vztahem kx z = v sz s, kde v s 0 s = 1, 2,..., k, s=1 kx v s = 1. s=1
Metoda agregace účelových funkcí Př: Předchozí příklad» z1 = 5x 1 + x 2 z 2 = x 2 za podmínek x 1 + x 2 4, (1) x 1 2x 2, (2) x 1 0, x 2 0, (),(4) max řešte metodou agregace účelových funkcí pro v 1 = 0, 4 a v 2 = 0, 6.
Metoda agregace účelových funkcí Řešení: Nejprve vyjádříme agregovanou účelovou funkci: z = v 1z 1 + v 2z 2 z = 0, 4.(5x 1 + x 2) + 0, 6.x 2 z = 2x 1 + x 2 max Nyní řešíme jednokriteriální úlohu LP. To lze buď graficky nebo početně.
Metoda agregace účelových funkcí Graficky: Z grafu vyplývá optimální řešení x opt = B = (11/, 1/), z(x opt) = 2/, proto z opt = (z 1(B), z 2(B)) = (56/, 1/). Obrázek: Úloha VLP, metoda agregace účelových funkcí
Metoda agregace účelových funkcí Početně: Z.p. x 1 x 2 x 1 x 2 b i p = b i a ik pro a ik > 0 x 1 1 1 1 0 4 4 x 2 (1) 2 0 1 z 2 1 0 0 0 max x 1 0 () 1 1 1 x 1 1 2 0 1 z 0 5 0 2 6 max x 2 0 1 x 1 1 0 z 0 0 1 1 2 1 5 2 1 1 11 2 MAX Tabulka: Metoda agregace účelových funkcí
Metoda agregace účelových funkcí Z tabulky vyplývá optimální řešení x opt = B = (11/, 1/), z(x opt) = 2/, proto z opt = (z 1(B), z 2(B)) = (56/, 1/).
Cílové programování V metodě cílového programování (CP) se vyžaduje znalost tzv. cílových hodnot h s, s = 1, 2,..., k účelových funkcí. Principem CP je nalezení takového přípustného řešení, které by zabezpečovalo hodnoty účelových funkcí co nejblíže k cílovým hodnotám. Poznámka: Je zřejmé, že v případě řešení úlohy VLP metodou CP nemá smysl hovořit o typech účelových funkcí pojmy maximalizační či minimalizační účelová funkce ztrácí smysl. Vzdálenost hodnot účelových funkcí (pro nějaké řešení x) od cílových hodnot definujeme takto: d z( x), kx h = h s z s. s=1
Cílové programování Definice: Kladné, resp. záporné odchylky, d s +, resp. ds, s = 1, 2,..., k, jsou definovány následovně. Pro každé řešení x a s = 1, 2,..., k, nastane právě jedna ze dvou situací: 1 z s h s, pak d + s := h s z s d s := 0, 2 z s < h s, pak d + s := 0 d s := h s z s. Pak se úloha VLP převádí na jednokriteriální úlohu LP danou tímto matematickým modelem: d = k P s=1 `d + s při omezeních + d s min z ( x) d + + d = h, A x b, x, d +, d o, d + d = 0.
Cílové programování Př: Úlohu VLP» z1 = x 1 + x 2 z 2 = x 1 + x 2 za podmínek 2x 1 x 2 10, (1) 2x 1 + x 2 18, (2) x 1 0, x 2 0, (),(4) řešte metodou CP pro h 1 = 20; h 2 = 26.
Cílové programování Řešení: Nejprve sestavíme příslušnou úlohu CP (jednokriteriální): d = d + 1 + d 1 + d + 2 + d 2 min při omezeních x 1 + x 2 d + 1 + d 1 = 20, x 1 + x 2 d + 2 + d 2 = 26, 2x 1 x 2 + x 1 = 10, 2x 1 + x 2 + x 2 = 18, x 1, x 2, x 1, x 2, d + 1, d 1, d + 2, d 2 0, d + d = 0. Nyní úlohu CP vyřešíme simplexovou metodou, viz tabulka.
Z.p. x 1 x 2 x 1 x 2 d + 1 d 1 d + 2 d 2 b i p = b i a ik pro a ik > 0 d 1 1 1 0 0 1 1 0 0 20 20 d 2 1 0 0 0 0 1 1 26 x 1 (2) 1 1 0 0 0 0 0 10 5 x 2 2 1 0 1 0 0 0 0 18 9 d 4 2 0 0 2 0 2 0 46 min d 1 0 1 0 1 1 0 0 15 10 2 2 d 5 2 0 22 0 0 0 1 1 11 2 2 5 x 1 1 1 1 0 0 0 0 0 5 2 2 x 2 0 (2) 1 1 0 0 0 0 8 4 d 0 4 2 0 2 0 2 0 26 min d 1 1 0 0 1 1 0 0 9 4 4 d 2 0 0 1 5 0 0 1 1 1 4 4 1 1 x 1 1 0 0 0 0 0 7 4 4 x 2 0 1 1 1 0 0 0 0 4 2 2 d 0 0 0 1 2 0 2 0 10 MIN Tabulka: Metoda cílového programování 26
Cílové programování V posledním kroku tabulky jsme dospěli k optimálnímu řešení úlohy CP a tedy ke kompromisnímu řešení původní úlohy VLP: x opt = (7, 4), z( x opt) = (11, 25). Poznámka: Modifikace CP, pokud nejsou explicitně zadané cílové hodnoty: Při řešení úlohy VLP vyřešíme úlohy LP pro jednotlivé účelové funkce z i, i = 1, 2,..., k zvlášť (řešíme k jednokriteriálních úloh). Tím obdržíme tzv. ideální hodnoty z i účelových funkcí, které považujeme za cílové hodnoty: h i = z i = z i,max, i = 1, 2,..., k.