Vícekriteriální programování příklad Pražírny kávy vyrábějí dva druhy kávy (Super a Standard) ze dvou druhů kávových bobů KB1 a KB2, které mají smluvně zajištěny v množství 4 t a 6 t. Složení kávy (v procentech) a zisk (tis.kč) jsou uvedeny v tabulce. KB1 KB2 Zisk (tis.kč/t) Super 50 50 20 Standard 25 75 14 Pražírny mají vyrobit minimálně 4t kávy a snaží se maximalizovat svůj zisk, minimalizovat spotřebu kávových bobů č. 2 a zároveň maximalizovat výrobu kávy Super. (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 1 / 28
Matematický model zisk max 20x 1 + 14x 2 KB2 min 0, 5x 1 + 0, 75x 2 Super max x 1 za podmínek KB1 0, 5x 1 + 0, 25x 2 4 KB2 0, 5x 1 + 0, 75x 2 6 celkem x 1 + x 2 4 x 1, x 2 0 (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 2 / 28
Výsledky dílčích optimalizací (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 3 / 28
Metody pro nalezení kompromisního řešení Konvexní kombinace parciálních optimálních řešení Záměna účelových funkcí za omezující podmínky Minimalizace vzdálenosti od ideálního řešení Cílové programování Metoda STEM... (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 4 / 28
Váhy K mnohým metodám vícekriteriální optimalizace potřebujeme zvolit tzv. váhy jednotlivých kritérií nebo-li určit důležitost jednotlivých kritérií. Metody určování vah Existuje mnoho metod na určování vah. Podrobněji bude v RM. Tady jenom zmiňme, že je dobrým zvykem, aby součet vah byl roven 1. Ke stanovení vah můžeme použít např. metodu bodovací či tav. metodu pořadí. (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 5 / 28
Konvexní kombinace parc. opt. řešení Výsledky parciálních optimalizací Při dílčích optimalizacích jsme získali následující dílčí optimální řešení: zisk KB2 super x 1 Super 6 4 8 x 2 Standard 4 0 0 Konvexní kombinace Uvažujme například váhy: 0, 5, 0, 2, 0, 3. Potom kompromisní řešení získané metodou konvexní kombinace dílčích optimálních řešení je: x = 0, 5(6; 4) + 0, 2(4; 0) + 0, 3(8; 0) = (6, 2; 2). Hodnoty jednotlivých účelových funkcí získáme dosazením a nebo opět konvexní kombinací hodnot při jednotlivých dílčích optimalizacích. (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 6 / 28
Výsledky konvexní kombinace (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 7 / 28
Záměna úč. funkcí za omez. podmínky Při této metodě si vždy zvolíme jednu funkci. Hodnotu této funkce budeme optimalizovat za podmínek stávající úlohy rozšířené o podmínky na hodnoty ostatních účelových funkcí. Tyto hodnoty určíme z dílčích optimálních řešení. Příklad zisk max 20x 1 + 14x 2 za podmínek KB1 0, 5x 1 + 0, 25x 2 4 KB2 0, 5x 1 + 0, 75x 2 6 celkem x 1 + x 2 4 KB2 min 0, 5x 1 + 0, 75x 2 3, 5 Super max x 1 6 x 1, x 2 0 (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 8 / 28
Model záměna (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 9 / 28
Výsledky záměna (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 10 / 28
Minimalizace vzdálenosti od ideálního řešení Ukážeme si dvě metody založené na minimalizaci vzdálenosti od ideálního řešení. Pro obě z nich je lépe (resp. pro první lépe, pro druhou nutné) převést si všechna kritéria na maximalizační. Jak převést minimalizační kritérium na maximalizační Metod je opět více. My využijeme vztahu max f (x) min( f (x)). Navíc, protože bychom neradi, aby nám nějaké hodnoty vycházeli záporné, což by se při obyčejném otočení znamének stávalo, k otočené funkci ještě přičteme nějakou hodnotu, která nám zaručí nezápornost. A zase máme v podstatě dvě volby. Buď nejprve provede prostou maximalizaci účelové funkce, kterou chceme minimalizovat a budeme odečítat od získané hodnoty, nebo se podíváme na výsledky dílčích optimalizací a vybereme si tam nejhorší hodnotu, jaké naše účelová funkce nabyla. (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 11 / 28
Převod minimalizačního kritéria na maximalizační v našem příkladě V naší úloze máme: min 0, 5x 1 + 0, 75x 2. Maximální hodnota této funkce při jednotlivých optimalizacích byla 6 (a to při maximalizaci zisku). Proto toto kritérium můžeme převést na maximalizační například následujícím způsobem: max 6 0, 5x 1 0, 75x 2. Hodnoty této funkce lze také interpretovat jako úsporu kávových bobů č. 2. (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 12 / 28
Odchylky od ideálního řešení Odchylky jednotlivých účelových funkcí od ideálního řešení můžeme psát jako z k ct k x, kde stejně jako dříve vektor ck T značí cenový vektor k-té účelové funkce a zk značí její optimální hodnotu. Abychom mohli smysluplně porovnávat jednotlivé odchylky, je vhodné tyto odchylky znormovat, tj. použít jako míru odchylky od ideální varianty: zk ct k x zk, tento zlomek vždy nabývá hodnoty mezi 0 a 1. Chceme-li navíc nějakým způsobem zakomponovat váhy (zn. v k ), pak můžeme jako míru vzdálenosti od ideální varianty používat ještě upravený výraz: zk v ct k x k zk. (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 13 / 28
Model úlohy minimalizace maximální vzdálenosti od ideální varianty min y za podmínek KB1 0, 5x 1 + 0, 25x 2 4 KB2 0, 5x 1 + 0, 75x 2 6 celkem x 1 + x 2 4 zisk max KB2 max Super max 176 20x 1 14x 2 176 y 4 (6 0,5x 1 0,75x 2 ) 4 y 8 x 1 8 y x 1, x 2, y 0 (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 14 / 28
Model úlohy minimalizace součtu vzdáleností od ideální varianty zisk min 176 20x 1 14x 2 za podmínek KB1 0, 5x 1 + 0, 25x 2 4 KB2 0, 5x 1 + 0, 75x 2 6 celkem x 1 + x 2 4 x 1, x 2 0 176 + 4 (6 0,5x 1 0,75x 2 ) 4 + 8 x 1 8 (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 15 / 28
Ekvivalentní úloha zisk max 20x 1+14x 2 176 + 6 0,5x 1 0,75x 2 za podmínek KB1 0, 5x 1 + 0, 25x 2 4 KB2 0, 5x 1 + 0, 75x 2 6 celkem x 1 + x 2 4 x 1, x 2 0 4 + x 1 8 (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 16 / 28
Model minimalizace vzdálenosti v Řešiteli (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 17 / 28
Model minimalizace vzdálenosti výsledky (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 18 / 28
Cílové programování Také u této metody je vhodné nejprve provést dílčí optimalizace, abychom získali přehled o rozsahu výsledků. Není to však nutné. Myšlenkou této metody je určit si hodnoty, jakých bychom rádi, aby dosahovala jednotlivá kritéria a poté minimalizovat odchylky kritérií od těchto hodnot. (Právě k odhadu námi požadovaných hodnot lze vyjít z dílčích výsledků.) Do modelu přidáme tzv. odchylkové proměnné (zn. d k, d + k ), které nám budou udávat odchylky jednotlivých kritérií od námi požadovaných hodnot, spec. d + k překročení této hodnoty a d k nedosažení této hodnoty. (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 19 / 28
Model cílového programování min 0, 5(d 1 + + d 1 ) + 0, 2(d 2 + + d 2 ) + 0, 3(d 3 + + d 3 ) za podmínek KB1 0, 5x 1 + 0, 25x 2 4 KB2 0, 5x 1 + 0, 75x 2 6 celkem x 1 + x 2 4 zisk max 20x 1 14x 2 d + 1 + d 1 = 170 KB2 max 0, 5x 1 + 0, 75x 2 d + 2 + d 2 = 2, 5 Super max x 1 d + 3 + d 3 = 7 x 1, x 2, d + 1, d 1, d + 2, d 2, d + 3, d 3 0 (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 20 / 28
Model cílové programování v Řešiteli (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 21 / 28
Modul Řešitele pro cílové programování (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 22 / 28
Výsledky jednotlivých metod (KMI ZF JU) VÍCEKRITERIÁLNÍ PROGRAMOVÁNÍ EMM a OA O6 23 / 28