Vícekriteriální hodnocení variant VHV V lineárním programování jsme se naučili hledat optimální řešení pro úlohy s jedním (maximalizačním nebo minimalizačním) kritériem za předpokladu, že podmínky i účelová funkce byly dány lineárními funkcemi. (V případě, že by funkce byly např. kvadratické, mluvili bychom o kvadratickém programování.) Pro úlohy, v nichž není účelová funkce jediná, ale je jich více, je nutné použít trochu jiné postupy. V takovém případě mluvíme o vícekriteriálním rozhodování. Na první pohled se nabízí možnost nějak vhodně kritéria sečíst, abychom dostali jen jediné kritérium. Pokud bychom však jen tak bohapustě kritéria sečetli, jistě bychom udělali chybu, nemůžeme přeci sčítat jen tak např. milióny korun a známky ze školy. Navíc některá kritéria mohou být důležitější (např. čistý trestní rejstřík pro výběr osoby na post generálního ředitele nejmenované firmy) než jiná (např. výška postavy nebo známka z kreslení) a na tyto skutečnosti je třeba brát zřetel. 3 Metody odhadu vah Důležité pravidlo pro volbu vah: Váhy vždy volíme tak, aby součet vah přes všechna kritéria dával jedničku. Pokud tedy váhy pro i-té kritérium označíme symbolem v i, pro i = 1,..., k, kde k je počet kritérií, pak váhy volíme tak, aby k v i = 1, v i 0. Dalším důležitým pravidlem je, že čím důležitější je kritérium, tím větší váhu musíme kritériu přidělit. Co se týče volby vah, existují dvě možnosti. První, že váhy prostě stanovíme natvrdo tzn. že si řekneme, jak důležitá jsou pro nás jednotlivá kritéria a že např. první kritérium bude mít váhu 0%, druhé 30% a třetí 50%. Zapsáno v matematických symbolech v = (v 1, v, v 3 ) = (0., 0.3, 0.5). Druhou možností je stanovit váhy pomocí některé z následujících čtyř metod. Jednotlivé metody si předvedeme na následujícím příkladu: Příklad Upír Je hluboká noc a vy se právě probouzíte ve své vyhřáté postýlce. Je šero, jen světlo z ulice matně osvětluje místnost. Máte dojem, že se nad vámi sklání postava v temném plášti s nezvykle dlouhými špičáky. Špatný sen, pomyslíte 1
si, otočíte se na druhý bok a v klidu usnínáte, když v tom na krku ucítíte ostrou bolest. Omdlíte. Probouzíte se a přemýšlíte o tom, že takhle blbej sen se vám už léta nezdál. Copak ještě někdo věří na upíry? Ale moment. Něco není v pořádku. Tohle není vaše postel. Ježíši, tohle je přece rakev. Přemýšlíte, co se děje. Na mrtvolu se cítíte docela živě. A pak vám to dojde. To nebyl sen, je ze vás UPÍR. Zazmatkujete a propadnete panice. Opět omdlíte. Když se proberete, vidíte všechno z té lepší stránky. Můj život stejně za moc nestál, pomyslíte si. Teď budu žít navěky. Ale... začínám mít hlad. Čím se živí upíři? Krev, potřebuji krev. Zakousnete psa, který měl právě v úmyslu proběhnout kolem, ale to vás neuspokojí. Chce to něco kvalitnějšího. Chce to výbornou lidskou krev. Do místnosti vstoupí jakýsi shrbený stařík a představí se jako váš sluha. Jste trochu v šoku, ale za chvíli začnete mít jasno. Zatímco stařík uklízí spoušť, kterou způsobila vaše chuť po krvi a na kousky rozcupovaný mrtvý pes, vysvětluje vám pravidla, která platí v říši upírů. Každý upír ovládá území do vzdálenosti 10 km od hradu, na němž sídlí. Zde může vysávat kohokoliv, kdo se mu bude líbit. Okruhy se ale překrývají a pro mladé upíry není vhodné lovit v blízkosti hradů jiných upírů, sic by je to mohlo stát jejich dlouhověký život. Není vhodné se přibližovat k česneku, kostelům, dřevěným kolíkům a stříbrným kulkám. To vše rozhodně upírův zdravotní stav nevylepší. No a co se tak povídá, je lepší si vybírat lidi s kvalitní krví, protože jinak upír ráno pozná, co je to krevní kocovina. Achych ouvej, to bylo informací. Až se mi z toho hlava točí, pomyslíte si. Nu což, chce to udělat dobrý plán. Začnete tím, že si sestavíte seznam kritérií, podle kterého si pak vyberete nejlepší oběť. Nakonec jich vymyslíte devět: 1. Vzdálenost od česnekového pole (ČES) je udávána v metrech a jedná se o vzdálenost obydlí případné oběti od nejbližšího většího zdroje česneku. Čím větší vzdálenost, tím lépe.. Vzdálenost nejbližšího upíra (VUP) je udávána v kilometrech a označuje, jak daleko od místa oběti se nachází nejbližší další upírský hrad. Čím bude dále, tím lépe. 3. Kvalita prostředí (KPR) je hodnocena body na stupnici 0 100 bodů
a označuje, jak kvalitní je životní prostředí oběti, aby byla zajištěna co nejlepší kvalita krve, cílem je co nejvyšší dosažené hodnocení. 4. Vzdálenost od kostela (KOS) je udávána v kilometrech a jedná se o vzdálenost obydlí oběti od nejbližšího kostela nebo jiného svatého místa, kde by hrozilo nebezpečí. Čím dále od takového místa, tím lépe. 5. Krevní skupina (KS) každý upír preferuje jinou krevní skupinu a vybírá si pochopitelně tu nejlepší. Krevní skupina je hodnocena jako ve škole známkou v rozsahu 1 5, čím lepší (nižší hodnota) známka, tím lépe. 6. Obranyschopnost (OS) muži jsou lepšími bojovníky a nejednou byl upír zastrašen silným mužem. Proto je obranyschopnost také důležitým kritériem. Většinou je hodnocení takové, že muži mají 1 a ženy (jako slabší stvoření) 0. Žena je také krásnější a atraktivnější, takže osoby s ohodnocením 0 jsou žádanější. Většinou je toto kritérium pro upíra nejdůležitější. Čím menší hodnota, tím lépe. 7. Finanční zázemí (FIN) dobré finanční zázemí oběti je důležité, neboť upír pak může s majetkem nakládat dle svého uvážení. Hodnoceno je průměrným měsíčním příjmem za poslední rok v Kč, cílem je co nejlepší (nejvyšší) finanční zázemí. 8. Vzdálenost od rakve (VOR) upír pracuje jen v desetikilometrovém okruhu a dál si netroufá jít, nicméně čím blíže bydlí oběť k hradu, tím je méně práce ji naštívit a zakousnout. Vzdálenost je udávána v kilometrech a čím je nižší, tím lépe. 9. Věk (VĚK) je udáván v letech, mladá krev je pochopitelně chutnější a tak čím nižší věk, tím lépe. Pokračování příště 3.1 Metoda pořadí Kritéria seřadíme nejprve podle pořadí od nejdůležitějšího po nejméně důležité. Předpokládejme, že máme k kritérií. Nejdůležitější kritérium ohodnotíme k body (b i = k), druhé nejdůležitější k 1 body (b i = k 1), atd. až poslední (nejméně důležité) jedním bodem (b i = 1). 3
V případě, že by některá kritéria byla stejně důležitá, obodujeme je příslušným průměrem. Váhu příslušného kritéria pak dostaneme podle vztahu v i = b i / k b i. k b i je součtem bodů rozdělených mezi jednotlivá kritéria. Pro tento součet platí k b i = k(k + 1)/. Ukažme si nyní tuto metodu na příkladu Upíra. Nejprve očíslujeme jednotlivá kritéria a přidělíme jim index i = 1,..., 9. Pak kritéria seřadíme podle pořadí. Nakonec každému kritériu přiřadíme 1 až 9 bodů (b i ) tak, aby nejdůležitější kritérium dostalo 9 bodů,..., a nejméně důležité dostalo jeden bod. kritérium i pořadí b i v i = b i / 9 b i ČES 1 9 1 1/45 = 0.0 VUP 3 7.5 7.5/45 = 0.17 KPR 3 3 7.5 7.5/45 = 0.17 KOS 4 6 4 4/45 = 0.09 KS 5 7 3 3/45 = 0.07 OS 6 1 9 9/45 = 0.0 FIN 7 8 /45 = 0.04 VOR 8 4 6 6/45 = 0.13 VĚK 9 5 5 5/45 = 0.11 součet 45 1 Snadno si můžeme ověřit, že pro devět kritérií (k = 9) součet všech bodů ve sloupci b i se rovná k(k+1) = 9 10 = 45. 3. Bodovací metoda Výpočet vah je při použití této metody identický s postupem uvedeným v předchozí metodě, jediný rozdíl je v přidělení bodů b i. Opět platí pravidlo, že čím důležitější je některé kritérium, tím vyšší dostane počet bodů. Každé kritérium v této metodě ohodnotíme body z nějakého předem daného intervalu, např. b i < 0, 10 >. Váhu příslušného kritéria pak dostaneme podle vztahu v i = b i / k b i. 4
Pro příklad Generálního ředitele určíme váhy následovně: kritérium i b i v i = b i / 9 b i ČES 1 1 1/53 = 0.019 VUP 9 9/53 = 0.170 KPR 3 9 9/53 = 0.170 KOS 4 4 4/53 = 0.075 KS 5 4 4/53 = 0.075 OS 6 10 10/53 = 0.189 FIN 7 3 3/53 = 0.057 VOR 8 8 8/53 = 0.151 VĚK 9 5 5/53 = 0.094 součet 53 1 3.3 Metoda párového srovnávání (Fullerova metoda) Tato metoda bývá nazývána Fullerovou metodou proto, že při její aplikaci sestavujeme váhy pomocí tzv. Fullerova trojúhelníku. Princip párového srovnávání je takový, že vždy porovnáváme dvě kritéria a z každé takové dvojice kritérií vybereme to důležitější. Srovnáváme-li každá dvě kritéria z celkového počtu k kritérií, vybíráme všechny kombinace dvou prvků z k. Celkový počet porovnání je tedy roven N = ( ) k = k(k 1)(k )! = k(k 1).!(k )! Pro větší přehlednost při srovnávání sestavujeme tzv. Fullerův trojúhelník. Trojúhelník má vždy k 1 dvojřádků. V prvním řádku jsou všechny kombinace pro porovnání s prvním kritériem, v druhém kombinace pro porovnání s druhým kritériem, kromě té, která je v předchozím řádku, v každém dalším řádku jsou kombinace pro porovnání s dalším kritériem, které nejsou v předchozích řádcích. Každý řádek má tedy o 1 člen méně, než řádek předchozí. 5
1 1 1 1... 1 1 3 4 5... k 1 k... 3 4 5 6... k...... k 3 k 3 k 3 k k 1 k k k k 1 k 1 k k Označme symbolem n i počet zakroužkovaných i, konkrétně tedy počet zakroužkovaných jedniček označíme n 1, apod. Váhy potom spočítáme podle vztahu v i = n i P k n i = n i N. Ukažme si metodu na příkladu Upíra. Nejprve sestavíme Fullerův trojůhelník a pak v každé dvojici zakroužkujeme kritérium, které nám připadá důležitější. 1 1 1 1 1 1 1 1 3 4 5 6 7 8 9 3 4 5 6 7 8 9 3 3 3 3 3 3 4 5 6 7 8 9 4 4 4 4 4 5 6 7 8 9 5 5 5 5 6 7 8 9 6 6 6 7 8 9 7 7 8 9 8 9 6
Počet porovnání N = ( ) 9 = 9 8 = 36. i n i v i = n i /N 1 0 0/36 = 0.00 6 6/36 = 0.17 3 7 7/36 = 0.19 4 4 4/36 = 0.11 5 1 1/36 = 0.03 6 7 7/36 = 0.19 7 /36 = 0.06 8 6 6/36 = 0.17 9 3 3/36 = 0.08 součet 36 1 3.4 Kvantitativní párové srovnávání (Saatyho metoda) Saatyho metoda patří mezi nejčastěji používané metody pro volbu vah, používá se např. v postupu AHP. Srovnávají se opět vždy páry kritérií (stejně jako v předchozím případě) a hodnocení se ukládá do tzv. Saatyho matice S = (s ij ) podle následujícího systému: (s ij ) = 1 i a j jsou rovnocenná 3 i je slabě preferováno před j 5 i je silně preferováno před j 7 i je velmi silně preferováno před j 9 i je absolutně preferováno před j Hodnoty,4,6 a 8 jsou ponechány pro hodnocení mezistupňů. Je zřejmé, že s ii = 1, neboť kritérium je rovnocenné samo se sebou. Navíc musí platit, že s ji = 1/s ij pro všechna i. Hodnota s ij představuje přibližný poměr vah kritéria i a j, v matematickém zápisu s ij v i /v j. 7
Předpokládejme, že skutečný poměr vah je v i /v j, my tento poměr odhadujeme hodnotou s ij a chceme, aby se toto s ij v i /v j. Minimalizujeme tedy součet čtverců rozdílu F = k k za podmínky: k v i = 1 ( s ij v ) i min v j co nejméně lišilo od To je ale problém kvadratického programování a při výpočtech by mohlo dojít k potížím. Pro snadnější výpočet se používá metoda geometrického průměru, neboli metoda nejmenších logaritmických čtverců. Jde o minimalizaci kvadratické formy F = k (ln s ij (ln v i ln v j )) min j>i za podmínky: k v i = 1 Řešením je geometrický průměr řádků matice S: v i = [ ] 1/k k s ij pro i = 1,..., k. [ ] 1/k k k s ij Problémem ovšem je, že matice S musí být uspokojivě konzistentní, tzn. σ < 0.1 pro k = 3 σ < 0. pro k = 4, 5, 6, 7 σ < 0.3 pro k > 7 kde σ je odhad rozptylu. Platí σ = F/d, kde F je hodnota výše uvedené kvadratické formy a d = k(k 1) (k 1) = (k 1)(k ), což je počet srovnání snížený o počet lineárně nezávislých váhových parametrů. 8
Samotná metoda je velmi jednoduchá a zahrnuje následujících 5 kroků. Nejprve vyplníme Saatyho matici: 1. Na diagonále budou jedničky (s ii = 1).. s ij < 0, 9 >, pokud i je preferováno před j. 3. s ji = 1/s ij Pro každé i spočítáme hodnotu s i = k s ij. Pro každé i spočítáme hodnotu R i = (s i ) 1/k = k s i. Dále spočítáme k R i. Nakonec určíme váhy kritérií podle vztahu v i = R i. kp R i Pro ilustraci metody použijeme příklad Upíra, tentokrát ovšem budeme uvažovat pouze prvních 5 kritérií. s ij f1 f f3 f4 f5 s i = 5 s ij R i = (s i ) 1/5 v i = R i / 5 R i f1 1 1/5 1/5 1/3 1/ 1/150 0.367 0.054 f 5 1 1 4 5 100.51 0.373 f3 5 1 1 4 5 100.51 0.373 f4 3 1/4 1/4 1 3/8 0.8 0.1 f5 1/5 1/5 1/ 1 1/5 0.55 0.078 součet 6.738 1 9