06.11.2014 Views

Otázky ke II. části písemné zkoušky

Otázky ke II. části písemné zkoušky

Otázky ke II. části písemné zkoušky

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Otázky <strong>ke</strong> <strong>II</strong>. části písemné zkoušky<br />

Úvod do operačního výzkumu<br />

1. Popište proces operačního výzkumu a uveďte typy rozhodovacích situací.<br />

Rozhodovací situace můžeme klasifikovat podle následujících hledisek (ta se promítají také do<br />

klasifikace modelů):<br />

a) Hledisko určitosti veličin a vztahů:<br />

• rozhodování za určitosti (deterministické modely obsahující pouze pevně dané veličiny a<br />

vztahy)<br />

• rozhodování za rizika (stochastické modely obsahující alespoň jednu náhodnou veličinu,<br />

přičemž rozdělení pravděpodobnosti všech náhodných veličin v modelu je známé)<br />

• rozhodování za neurčitosti (např. fuzzy modely, v nichž je neurčitost modelována pomocí<br />

teorie fuzzy množin)


) Hledisko počtu kritérií:<br />

• rozhodování s jedním kritériem (jednokriteriální modely)<br />

• rozhodování s více kritérii (vícekriteriální modely): např. při nákupu nějakého zařízení<br />

můžeme chtít takové, které má co nejmenší cenu a současně co největší spolehlivost nebo<br />

výkon<br />

c) Hledisko počtu rozhodovatelů<br />

• rozhodování s jedním rozhodovatelem: to ovšem nemusí být pouze jedna osoba, ale může to<br />

být i skupina osob, majících stejné cíle (např. vedení podniku)<br />

• rozhodování s více rozhodovateli: používají se pro modelování konfliktních situací (např. na<br />

trhu se v konkurenčním boji střetávají zájmy různých rozhodovatelů) a zabývá se jimi<br />

teorie her<br />

2. Na zvoleném příkladě popište strukturu optimalizačního modelu.<br />

Při výběru veličin je nutné zvážit otázku úrovně podrobnosti modelu, která by měla odpovídat jednak<br />

účelu modelování, jednak kvalitě dostupných informací o zkoumaném objektu.<br />

Veličiny modelu vstupují do následujících matematických vztahů:<br />

• kriteriální (účelová) funkce, vyjadřující závislost zvoleného kritéria na neřiditelných<br />

veličinách a rozhodovacích proměnných; tato funkce může být maximalizačního (např.<br />

zisk, hodnota produkce, spolehlivost) nebo minimalizačního typu (např. náklady);<br />

• omezující podmínky které vymezují množinu přípustných řešení modelu; jsou to rovnice nebo<br />

nerovnice, v nichž vystupují rozhodovací proměnné a neřiditelné veličiny; tyto podmínky<br />

dělíme na<br />

• vlastní omezení (zachycují vztahy, které musejí platit mezi rozhodovacími<br />

proměnnými),<br />

• podmínky pro jednotlivé rozhodovací proměnné (např. dolní a horní meze hodnot<br />

těchto proměnných nebo podmínky jejich celočíselnosti).


Formulace a vlastnosti úloh lineárního programování<br />

3. Napište definici báze. Ilustrujte na příkladě. Jaký je maximální počet různých bází?<br />

Nechť A je typu (m, n) o hodnosti m a nechť B je matice tvořená m lineárně nezávislými sloupci<br />

matice A. Pak matice B se nazývá bází uvedené úlohy LP. Každá báze určuje právě jedno bázické<br />

řešení.<br />

Proměnné odpovídající sloupcům matice B se nazývají bázické. Ostatní proměnné se nazývají<br />

nebázické. Počet různých bází a tedy i počet různých bázických řešení je shora ohraničen<br />

⎛ n ⎞<br />

kombinačním číslem ⎜ ⎟ a je tedy konečný.<br />

⎝ m ⎠<br />

4. Napište definici bázického řešení. Ilustrujte na příkladě. Jaký je geometrický význam bázického<br />

řešení?<br />

Řešení soustavy Ax = b se nazývá bázické, jestliže sloupce matice A, které odpovídají nenulovým<br />

složkám tohoto řešení, tvoří lineárně nezávislou soustavu vektorů.<br />

Přípustné bázické řešení je takové bázické řešení, které navíc vyhovuje podmínkám nezápornosti<br />

x ≥ 0.<br />

Přípustné řešení úlohy LP je bázické právě tehdy, je-li krajním bodem množiny přípustných<br />

řešení.<br />

5. Jak se zjistí bázické řešení odpovídající dané bázi B? Ilustrujte na příkladě.<br />

Bázické řešení pro danou bázi můžeme získat následovně. Nechť B je báze úlohy (2.11). Označme<br />

x B … vektor bázických proměnných<br />

x N … vektor nebázických proměnných<br />

Položme nebázické proměnné rovny nule, tj. x N = 0. Pak vektor x B je řešením rovnice Bx B = b a tedy<br />

x B = B –1 b<br />

6. Jak zní základní věta LP a co je jejím důsled<strong>ke</strong>m?<br />

Pro úlohu LP<br />

max{c T x| Ax=b, x>=0}<br />

může nastat právě jedna z těchto tří možností:<br />

a) množina přípustných řešení M = ∅ (úloha LP nemá žádné přípustné řešení),<br />

b) M ≠ ∅ a množina optimálních řešení M * = ∅ (úloha LP má přípustné řešení, ale nemá žádné<br />

optimální řešení),<br />

c) M * ≠ ∅ (úloha LP má optimální řešení).<br />

Dále platí:<br />

Je-li M ≠ ∅, pak existuje přípustné bázické řešení.


Je-li M * ≠ ∅, pak existuje bázické optimální řešení.<br />

Tedy jestliže má úloha LP přípustné řešení, má také přípustné bázické řešení a jestliže má<br />

optimální řešení, má také bázické optimální řešení.<br />

Význam základní věty LP spočívá v tom, že v jejím důsledku se při hledání optimálního řešení úlohy<br />

LP se můžeme omezit pouze na řešení bázická, jejichž počet je konečný. Základní věta LP je<br />

teoretickým základem simplexové metody řešení úloh LP.<br />

Simplexová metoda<br />

7. Popište dvoufázovou simplexovou metodu.<br />

Do původní úlohy zavedeme nezáporné pomocné (umělé) proměnné tak, abychom získali<br />

kanonický tvar, a původní účelovou funkci nahradíme pomocnou účelovou funkcí, která je<br />

součtem pomocných proměnných. V prvé fázi simplexové metody pak simplexovým algoritmem<br />

hledáme bázické řešení, které minimalizuje pomocnou účelovou funkci. Pokud jsou v tomto<br />

řešení všechny pomocné proměnné nulové, použijeme hodnoty ostatních proměnných jako<br />

výchozí pro druhou fázi simplexové metody, v níž pomocí simplexového algoritmu hledáme<br />

bázické řešení, které optimalizuje původní účelovou funkci. Jestliže se při minimalizaci pomocné<br />

účelové funkce nepodařilo anulovat všechny pomocné proměnné, pak to znamená, že původní<br />

úloha nemá žádné přípustné řešení.<br />

a) Je-li g(x Po ) = 0 (tj. jestliže jsou všechny pomocné proměnné rovny nule), pak vektor x o je výchozí<br />

přípustné bázické řešení původní úlohy.<br />

b) Je-li g(x Po ) ≠ 0, pak původní úloha nemá žádné přípustné řešení. Poznamenejme, že v takovém<br />

případě musí být hodnota pomocné účelové funkce kladná, protože tato funkce je součtem<br />

nezáporných pomocných proměnných. Pokud by tedy tato hodnota vyšla záporná, znamenalo by<br />

to, že při výpočtu došlo k nějaké chybě.<br />

Obecně má simplexová metoda dvě fáze (proto se používá název dvoufázová simplexová metoda):<br />

1. Nalezení výchozího přípustného bázického řešení.<br />

Jestliže úloha nemá žádné přípustné řešení, pak postup končí. V opačném případě se přechází na<br />

druhou fázi.<br />

2. Hledání optimálního bázického řešení.<br />

Tato fáze končí nalezením optimálního bázického řešení nebo zjištěním, že optimální řešení<br />

neexistuje.<br />

V obou fázích se využívá simplexový algoritmus, který bude popsán v následujícím odstavci.


Simplexový algoritmus<br />

Mějme výchozí přípustné bázické řešení x 1 . Položme k = 1, A (k) = A, b (k) = b. Simplexový algoritmus<br />

sestává z následujících tří kroků, které později rozvedeme podrobněji:<br />

1. Test kritéria optimality pro x k . Je-li splněno, pak konec (bázické řešení x k je optimálním řešením).<br />

2. Určení klíčového prvku a matice A)(krs (k) . Není-li možné určit klíčový prvek, pak konec (úloha<br />

nemá konečné optimální řešení).<br />

3. Simplexová transformace matice (A (k) | b (k) ). Získáme matici (A (k+1) | b (k+1) ) a nové bázické řešení<br />

x k+1 . Položíme k = k + 1 a postup opakujeme od bodu 1.<br />

8. Jaké jsou možné případy zakončení simplexové metody? Ilustrujte graficky. Jak se tyto případy<br />

poznají v simplexové tabulce?<br />

Podle základní věty LP (viz § 2.3) mohou pro každou úlohu LP nastat pouze tři možnosti: má<br />

optimální řešení, má přípustné ale nemá optimální řešení, nemá přípustné řešení. V následujícím<br />

přehledu prvý případ rozdělíme na dva podpřípady a uvedeme, jak se tyto situace poznají v<br />

simplexové tabulce:<br />

1. Úloha má jediné optimální řešení:<br />

Je splněno kritérium optimality a pro všechny nebázické proměnné jsou redukované ceny Δ j ≠ 0.<br />

2. Úloha má nekonečně mnoho optimálních řešení:<br />

Je splněno kritérium optimality a alespoň pro jednu nebázickou proměnnou je redukovaná cena Δ j =<br />

0.<br />

3. Úloha nemá konečné optimální řešení:<br />

Není splněno kritérium optimality a není možno určit klíčový řádek.<br />

4. Úloha nemá žádné přípustné řešení:<br />

Optimální hodnota pomocné účelové funkce není nulová.<br />

Tyto možnosti zakončení simplexové metody se vztahují k případu, kdy úloha není degenerovaná.<br />

Degenerovaná je taková úloha, která má alespoň jedno degenerované bázické řešení.<br />

U degenerované úlohy mohou nastat tyto situace:<br />

• výskyt Δ j = 0 u nebázické proměnné nemusí být přízna<strong>ke</strong>m existence nekonečně mnoha<br />

optimálních řešení (viz příklad 3.11),<br />

• může dojít k zacyklení (toto nebezpečí se dá odstranit úpravou simplexového algoritmu).


Dualita a analýza citlivosti<br />

9. Napište definici dvojice symetricky duálně sdružených úloh a uveďte konkrétní příklad takové<br />

dvojice.<br />

Přitom maximalizační úloze odpovídá úloha minimalizační a naopak. Úlohy lineárního<br />

programování se tedy vlastně vyskytují ve dvojicích (hovoříme o dvojicích duálně sdružených<br />

úloh). Původní úlohu v této dvojici nazýváme primární, kdežto úlohu s ní sdruženou označujeme<br />

jako duální.<br />

10. Napište slabou a silnou větu o dualitě. Jaké jsou důsledky těchto vět?<br />

Slabá věta o dualitě<br />

Nechť primární úloha je maximalizační s účelovou funkcí f(x), duální úloha je minimalizační s<br />

účelovou funkcí g(u), a nechť x 0 je libovolné přípustné řešení primární úlohy a u 0 je libovolné<br />

přípustné řešení duální úlohy. Pak platí<br />

f(x 0 ) ≤ g(u 0 )<br />

Tedy hodnota účelové funkce minimalizační úlohy v kterémkoli přípustném řešení je horní mezí<br />

hodnot účelové funkce duálně sdružené maximalizační úlohy na množině všech jejích přípustných<br />

řešení a obdobně hodnota účelové funkce maximalizační úlohy v kterémkoli přípustném řešení je<br />

dolní mezí hodnot účelové funkce duálně sdružené minimalizační úlohy na množině všech jejích<br />

přípustných řešení.<br />

Silná věta o dualitě<br />

Má-li jedna z duálně sdružených úloh optimální řešení, má optimální řešení i úloha druhá, přičemž<br />

optimální hodnoty účelových funkcí jsou si rovny.<br />

Důsledky silné a slabé věty o dualitě<br />

• Platí-li pro přípustné řešení x 0 primární úlohy a pro přípustné řešení u 0 duální úlohy rovnost f(x 0 )<br />

= g(u 0 ), pak x 0 a u 0 jsou optimální řešení.<br />

• Je-li množina přípustných řešení maximalizační úlohy neprázdná a je-li účelová funkce této úlohy<br />

shora neomezená, pak duálně sdružená úloha nemá žádné přípustné řešení.<br />

• Je-li množina přípustných řešení minimalizační úlohy neprázdná a je-li účelová funkce této úlohy<br />

zdola neomezená, pak duálně sdružená úloha nemá žádné přípustné řešení.<br />

• Nemá-li jedna z dvojice duálně sdružených úloh přípustné řešení, pak druhá úloha nemá<br />

optimální řešení.


Prvá tři tvrzení jsou důsled<strong>ke</strong>m slabé věty o dualitě, zatímco poslední tvrzení lze chápat jako<br />

důsledek silné věty o dualitě.<br />

11. Napište větu o komplementaritě. Na jejím základě odpovězte na otázku, jaká bude v úloze<br />

optimalizace výrobního programu optimální hodnota duální proměnné, když odpovídající zdroj<br />

nebude plně využit?<br />

Přípustná řešení symetricky duálně sdružených úloh jsou optimální právě tehdy, když platí<br />

Toto tvrzení je sice pro jednoduchost zformulováno pro případ symetricky duálně sdružených úloh,<br />

ale platí i v nesymetrických případech. Výše uvedené vztahy znamenají, že nabývá-li nějaká<br />

proměnná kladnou hodnotu, pak odpovídající duálně sdružené omezení musí být splněno jako rovnice<br />

(tj. příslušná doplňková proměnná musí být nulová) a naopak je-li nějaké omezení splněno jako ostrá<br />

nerovnost (tj. příslušná doplňková proměnná je nenulová), pak odpovídající duálně sdružená<br />

proměnná musí být nulová. Jak uvidíme dále, tato věta má zajímavou ekonomickou interpretaci.<br />

- nulová.<br />

12. Co je cílem analýzy citlivosti a jaké úlohy se zde řeší? Jaký je význam duálních proměnných z<br />

hlediska analýzy citlivosti?<br />

Dodatečně pak chceme zjistit, zda to, co jsme vynechali, skutečně nemá na optimální řešení vliv.<br />

Rovněž koeficienty v zadání úlohy se často mohou měnit nebo mohou být pouhými odhady a<br />

potřebujeme zjistit, jak případné změny těchto koeficientů ovlivňují optimální řešení úlohy.<br />

Těmito otázkami se zabývá analýza citlivosti, která také bývá nazývána postoptimalizační<br />

analýzou. Někdy lze popsat změnu zadání úlohy jako závislost koeficientů úlohy na parametrech,<br />

které nabývají hodnot z dané množiny. Sledujeme pak závislost optimálního řešení na těchto<br />

parametrech a hovoříme o úloze parametrického programování.<br />

K analýze citlivosti optimálního řešení na změny zadání úlohy existují dva základní přístupy.<br />

Optimální hodnoty duálních proměnných vyjadřují citlivost optimální hodnoty primární účelové<br />

funkce na změny pravých stran primárních omezení. Duální proměnné tudíž hrají důležitou roli v<br />

analýze citlivosti.<br />

Optimální hodnoty duálních proměnných zde tedy představují<br />

ocenění zdrojů z hlediska jejich omezenosti a proto se také nazývají stínovými cenami. Tyto<br />

ceny mohou podnikovému managementu pomoci rozhodnout, zda zvýšit výrobu dodatečným<br />

získáním omezených zdrojů. Jestliže stínová cena jednotky některého zdroje není vyšší než cena,


kterou by bylo nutno vynaložit na dodatečné získání jednotky tohoto zdroje, tak se nevyplatí<br />

zásobu tohoto zdroje zvyšovat.<br />

Nelineární programování<br />

13. Napište definice konvexní funkce a konvexní množiny. Nakreslete příklady konvexních a<br />

nekonvexních funkcí a množin.<br />

Nechť funkce f(x) je definována na konvexní množině K. Řekneme, že f(x) je konvexní funkcí na<br />

K právě tehdy, když pro každé dva body x 1 , x 2 K a libovolné t (0;1) platí<br />

Jestliže pro každé dva body x 1 , x 2 K , x 1 ≠ x 2 platí ostrá nerovnost, řekneme, že funkce f(x) je na<br />

množině K ryze konvexní. Geometricky vztah (5.5) znamená, že graf funkce leží pod sečnou spojující<br />

body (x 1 ; f(x 1 )) a (x 2 ; f(x 2 )).<br />

Konvexní množina<br />

Podmnožinu K vektorového prostoru V nazveme konvexní množinou, jestliže s libovolnými dvěma<br />

body x 1 K, x 2 K leží v této množině také všechny body<br />

x =t x 1 + (1– t) x 2<br />

kde 0 < t < 1. Geometricky to znamená, že množina K spolu s libovolnými dvěma různými body<br />

musí obsahovat i úsečku spojující tyto dva body (viz obr. 2.3).


14. Zvolte si nějakou nelineární funkci více proměnných a určete její gradient. Jaké jsou vlastnosti<br />

gradientu?<br />

Gradient<br />

Nechť funkce f(x) má v bodě x 0 parciální derivace 1. řádu. Gradientem funkce f(x) v bodě x 0<br />

nazýváme vektor<br />

Gradient má následující vlastnosti:<br />

• Gradient f(x 0 ) je kolmý na hladinovou nadplochu f(x) = f(x 0 ) v bodě x 0 .<br />

• Gradient f(x 0 ) ukazuje směr, ve kterém funkce f(x) v okolí bodu x 0 nejrychleji roste (směr<br />

největšího růstu). Směr největšího spádu ukazuje obrácený gradient – f(x 0 ).<br />

• Nechť M = { x | g i (x) ≤ 0 } a nechť pro x 0 M platí g i (x 0 ) = 0. Pak gradient g i (x 0 ) je kolmý k<br />

nadploše g i (x 0 ) = 0 a směřuje ven z množiny M.<br />

• Nechť bod x min M lokálního minima funkce f(x) na množině M je hraničním bodem množiny<br />

M. Pak gradient f(x min ) směřuje dovnitř množiny M.


15. Zvolte si nějakou nelineární funkci více proměnných a určete Hessovu matici této funkce. K<br />

čemu používáme Hessovu matici? Ilustrujte to na zvolené funkci.<br />

Hessova matice<br />

Nechť funkce f(x) má v bodě x 0 parciální derivace 2. řádu. Hessovou maticí v bodě x 0 nazýváme<br />

matici<br />

Jestliže funkce f(x) má spojité druhé parciální derivace, pak Hessova matice je symetrická.<br />

Jak již bylo uvedeno v odstavci věnovaném konvexním funkcím, Hessova matice je pomůckou pro<br />

ověřování konvexnosti funkcí. Nechť funkce f(x) je definována na konvexní množině M a má zde<br />

spojité parciální derivace 2. řádu. Pak funkce f(x) je<br />

• • konvexní na množině M, jestliže pro všechna x M je Hessova matice pozitivně<br />

semidefinitní,<br />

• • ryze konvexní na množině M, jestliže pro všechna x M je Hessova matice pozitivně<br />

definitní (s případnou výjimkou množiny míry nula, kde je pozitivně semidefinitní).<br />

16. Napište definici úlohy konvexního programování. Jaké má tato úloha vlastnosti?<br />

Řekneme, že úloha<br />

je úlohou konvexního programování právě tehdy, když M je konvexní množina a funkce f(x) je<br />

konvexní na M. Příklady takových úloh ukazují obrázky 5.1 a 5.2. Následující tvrzení umožňuje<br />

rozhodnout, zda je konvexní množina, která je dána nějakými omezujícími podmínkami.<br />

Nechť<br />

Pak množina M je konvexní, jestliže množina X je konvexní a všechny funkce g i (x) jsou konvexní na<br />

X. Poznamenejme, že pokud by se mezi omezujícími podmínkami vyskytla rovnice, pak tato rovnice<br />

musí být lineární.<br />

Vlastnosti úlohy konvexního programování:<br />

• každé lokálně optimální řešení je globálně optimálním řešením,<br />

• je-li množina optimálních řešení neprázdná, je konvexní,<br />

• je-li f(x) ryze konvexní, má úloha nejvýše jedno optimální řešení.<br />

17. Jaké znáte typy metod jednorozměrné optimalizace? Jak mohou být využity ve vícerozměrné<br />

optimalizaci?<br />

• Metody bez použití derivace: Interval zužujeme na základě porovnání hodnot funkce ve dvou<br />

vnitřních bodech x 1 , x 2 , x 1 < x 2 (metoda zlatého řezu, Fibonacciho metoda). Je-li ϕ(x 1 ) < ϕ(x 2 ),


pak interval redukujeme na interval . Je-li ϕ(x 1 ) > ϕ(x 2 ), je výsled<strong>ke</strong>m redukce<br />

interval .<br />

• Metody s použitím derivací: V metodě půlení intervalu se interval redukuje na základě<br />

znaménka 1. derivace ve středu s intervalu . Je-li ϕ´(s) > 0, je výsled<strong>ke</strong>m redukce interval<br />

. Je-li ϕ´(s) < 0, je to interval . Newtonova metoda využívá 2. derivaci pro hledání<br />

kořene rovnice ϕ´(λ) = 0.<br />

• Metody založené na aproximaci: V každém iteračním kroku se provádí kvadratická nebo<br />

kubická interpolace funkce ϕ .<br />

18. Charakterizujte obecný princip vícerozměrných metod hledání volných extrémů funkce více<br />

proměnných. Jak se dá určit směr přechodu k dalšímu řešení?


19. Charakterizujte typy metod pro hledání vázaných extrémů funkce více proměnných.<br />

Metody hledání vázaných extrémů<br />

Metody pro hledání vázaných extrémů můžeme rozdělit do těchto skupin:<br />

• Metody založené na transformaci úlohy hledání vázaného extrému na úlohu hledání volného<br />

extrému:<br />

• − penalizační a bariérové metody<br />

• − metoda využívající Lagrangeovu funkci rozšířenou o kvadratický penalizační člen<br />

• Linearizační metody:<br />

• − metody spočívající v řešení posloupnosti úloh LP, aproximujících danou úlohu NLP<br />

• − metody výběru směru založené na linearizaci<br />

• Metody řešení speciálních úloh:<br />

• − metody kvadratického programování<br />

• − metody separovatelného programování<br />

Celočíselné programování<br />

20. Charakterizujte princip metody sečných nadrovin.<br />

Metody sečných nadrovin<br />

Pro metody sečných nadrovin (metody řezů) je charakteristická počáteční úprava dané celočíselné<br />

úlohy, která spočívá ve „vnoření“ množiny přípustných řešení do nějaké souvislé nadmnožiny (jinými<br />

slovy jde o dočasné zanedbání podmínek celočíselnosti). Na takto získanou spojitou úlohu se pak<br />

aplikuje nějaká vhodná optimalizační metoda. Jestliže optimální řešení upravené úlohy vyhovuje<br />

požadovaným podmínkám celočíselnosti, je vyřešena i původní úloha. V opačném případě se do<br />

spojité úlohy doplní dodatečné lineární omezení, které má tyto vlastnosti:<br />

• není splněno pro optimální neceločíselné řešení,<br />

• je splněno pro libovolné přípustné řešení původního celočíselného problému.<br />

Přidání tohoto omezení odpovídá geometricky zavedení nadroviny, která od množiny přípustných<br />

řešení spojitého problému „odřízne“ optimální neceločíselné řešení, přičemž nedojde <strong>ke</strong> ztrátě<br />

žádného přípustného řešení celočíselného problému. Postup se opakuje, tj. doplněný spojitý problém<br />

se znovu řeší a splňuje-li získané optimální řešení podmínky celočíselnosti, je výpočet ukončen,<br />

kdežto v opačném případě se přidá další omezení atd.


Původně byly metody sečných nadrovin konstruovány pouze pro lineární úlohy. Z nich<br />

nejznámější jsou Gomoryho metody. Později došlo k rozvoji těchto metod ve směru jejich<br />

rozšíření na některé obecnější úlohy. Použití metod sečných nadrovin může v některých<br />

případech narazit na problémy spojené s nadměrným růstem rozměrnosti úlohy při přidávání<br />

dodatečných omezení a s pomalou konvergencí.<br />

Postup řešení celočíselné úlohy LP (6.11) – (6.14) může být tedy popsán takto:<br />

1. Úlohu (6.11) – (6.13) řešíme simplexovou metodou. Splňuje-li získané optimální řešení podmínky<br />

celočíselnosti, pak postup končí. V opačném případě položíme s = 1 a pokračujeme bodem 2.<br />

2. K soustavě rovnic z poslední simplexové tabulky připojíme rovnici:<br />

kde k je určeno vztahem R k = max R i a proměnná x n+s je vázána podmínkou nezápornosti.<br />

3. V rozšířené simplexové tabulce považujeme nově připojený řádek za klíčový a řešíme ji dále<br />

duálně simplexovou metodou. Jestliže je optimální řešení celočíselné, postup končí. V opačném<br />

případě zvětšíme s o jedničku a postup opakujeme od bodu 2.<br />

K popsané metodě řezů ještě na závěr poznamenejme, že růstu rozměrnosti rozšířené úlohy<br />

můžeme zabránit tím, že po vyloučení dodatečné proměnné x n+s z báze vypustíme z řešené<br />

soustavy i příslušné dodatečné omezení.<br />

21. Charakterizujte princip metody větví a mezí a uveďte příklady způsobů větvení a omezování.<br />

Metoda větví a mezí<br />

Metoda větví a mezí (branch and bound) je iterační metoda pro nalezení globálního extrému funkce<br />

f(x) na množině přípustných řešení M. Tato metoda je založena na opakování následujících dvou<br />

operací:<br />

• větvení, při němž se zprvu množina M a později její vybraná podmnožina rozkládá na po dvou<br />

disjunktní podmnožiny (postup rozkladu množiny M je možno znázornit stromovým grafem,<br />

jehož uzly odpovídají jednotlivým podmnožinám),<br />

• omezování, při němž se pro každou podmnožinu získanou předchozí operací určuje dolní (při<br />

minimalizaci) resp. horní (při maximalizaci) mez hodnot funkce f(x) na této podmnožině.<br />

Pro další rozklad se volí podmnožina s nejnižší dolní resp. nejvyšší horní mezí. Cílem je najít takové<br />

přípustné řešení, pro něž hodnota účelové funkce není větší než dolní meze resp. není menší než horní<br />

meze u všech dosud nerozložených podmnožin, neboť takové řešení je optimální.<br />

Všimněme si, že v popisu metody větví a mezí se vůbec neobjevila zmínka o celočíselnosti<br />

proměnných. Znamená to, že použitelnost metody není omezena pouze na úlohy celočíselného<br />

programování.


Metoda větví a mezí je vhodná pro řešení úloh, ve kterých struktura množiny M umožňuje<br />

jednoduchý postup rozkladu a funkce f(x) dovoluje odvodit příslušné dolní nebo horní meze.<br />

Efektivnost postupu závisí na stanovení mezí h(M k ). Příliš hrubé meze mohou způsobit to, že se strom<br />

úlohy příliš „rozroste“. Přesnější meze sice vedou k redukci stromu úlohy, ale z toho plynoucí úspora<br />

může být na druhé straně negována náročností výpočtu těchto mezí. Obecně mohou být meze hodnot<br />

účelové funkce určeny pomocí nějaké heuristické metody. V případě, že metodu větví a mezí<br />

aplikujeme na problém celočíselného programování, je možno příslušné meze získat zanedbáním<br />

podmínek celočíselnosti a použitím nějaké metody „neceločíselné“ optimalizace.<br />

Úlohy síťové optimalizace<br />

22. Napište definici orientovaného grafu a nakreslete příklad. Jaké znáte typy grafů? Uveďte<br />

příklady aplikací.<br />

Orientovaný graf je definován jako dvojice<br />

kde V je množina vrcholů (uzlů) a E je množina orientovaných hran, definovaná jako<br />

podmnožina kartézského součinu V × V, tj.<br />

Orientovaná hrana je tedy uspořádaná dvojice vrcholů e = (v1, v2), kde v1 je počáteční uzel a v2 je<br />

koncový uzel. Příklad orientovaného grafu je ukázán na obr. 7.1, kde kroužky představují vrcholy a<br />

orientované spojnice reprezentují hrany.<br />

Pomocí orientovaného grafu může být modelován např. výrobní systém, kde stroje jsou<br />

reprezentovány pomocí uzlů a orientované hrany odpovídají tokům materiálu, polotovarů a<br />

výrobků. Jiným příkladem je model kanalizační sítě kde hrany představují úseky potrubí<br />

(orientace je dána spádem) a vrcholy odpovídají vpustím a spojovacím uzlům.


Kromě orientovaných grafů ještě existují neorientované a smíšené grafy. Neorientovaný graf je<br />

definován jako dvojice (7.1), kde<br />

přičemž symbol (V nad 2) označuje množinu všech dvouprvkových podmnožin množiny V. Tedy<br />

každá neorientovaná hrana je množina obsahující dva vrcholy, e = {v1, v2}. Neorientovaný graf může<br />

být např. modelem automapy, kde vrcholy jsou obce a hrany jsou úseky silnic mezi obcemi.<br />

Smíšený graf je definován jako dvojice (7.1), kde<br />

Pomocí smíšeného grafu můžeme zobrazit např. síť ulic ve městě, kde vrcholy odpovídají náměstím,<br />

křižovatkám a začátkům a koncům ulic, neorientované hrany představují obousměrné ulice a<br />

orientované hrany ulice jednosměrné.<br />

V dalších podkapitolách se budeme zabývat pouze orientovanými grafy. Neorientované a smíšené<br />

grafy můžeme převést na orientované tak, že každou neorientovanou hranu nahradíme dvojicí<br />

opačně orientovaných hran (viz obr 4.2).


23. Jak je definován tok od zdroje <strong>ke</strong> spotřebiči? Ilustrujte na příkladě. Charakterizujte možné<br />

způsoby nalezení maximálního toku (stačí slovně).<br />

Podmínka (7.13) říká, že tok hranou musí být nezáporný a nesmí překročit její kapacitu. Podmínka<br />

(7.14) znamená, že pokud uzel není zdroj ani spotřebič, musí být součet toků do něj vstupujících<br />

roven součtu toků z něj vystupujících.


Ford - Ful<strong>ke</strong>rsonův algoritmus vychází z nějakého přípustného toku a opakují se v něm dvě fáze. V<br />

prvé fázi se hledá cesta ze zdroje do spotřebiče (bez ohledu na orientaci hran), pomocí níž je možno<br />

tok zvýšit. Přitom se jistým způsobem označují uzly grafu. Ve druhé fázi se na nalezené cestě<br />

provádějí změny toku (na hranách orientovaných směrem <strong>ke</strong> spotřebiči se tok zvyšuje a na opačně<br />

orientovaných hranách se snižuje). Pokud v prvé fázi nelze požadovanou cestu najít, algoritmus<br />

končí, přičemž množina označených uzlů a množina neoznačených uzlů určují minimální řez.<br />

24. Vysvětlete pojmy cesta a vzdálenost v orientovaném hranově ohodnoceném grafu. Ilustrujte na<br />

příkladě. Charakterizujte možné způsoby nalezení nejkratší cesty (stačí slovně).<br />

Cesta je sled, ve kterém se neopakuje žádný uzel.<br />

Orientovaná cesta je cesta, v níž všechny hrany mají shodnou orientaci.


Jedná se o úlohu lineárního bivalentního (nula-jedničkového) programování. Jestliže nahradíme<br />

podmínky xij ∈ {0, 1} podmínkami nezápornosti a prvou rovnici vynásobíme (–1), dostáváme<br />

následující úlohu normálního lineárního programování.


Složité rozhodovací úlohy<br />

25. Charakterizujte úlohu dynamického programování a naznačte způsob jejího řešení. Uveďte<br />

příklady aplikací.<br />

Dynamické programování se zabývá optimalizací dynamických úloh, které je možno formulovat také<br />

jako úlohy řízení procesů probíhajících v čase. Dynamické programování je však použitelné i pro<br />

takové problémy, v nichž čas explicitně nevystupuje a může být do nich uměle zaveden.<br />

Přístupy dynamického programování využívají aparát rekurentních funkcionálních vztahů a<br />

opírají se přitom o tzv. princip optimality, jehož autorem je Richard Bellman. Aplikace těchto<br />

přístupů vyžaduje zpravidla náročnější přípravu než aplikace metod matematického<br />

programování, neboť neexistuje žádný dostatečně obecný algoritmus k řešení některé třídy<br />

problémů dynamického programování. Tedy přístupy dynamického programování v sobě zahrnují<br />

nejen vytvoření matematického modelu, ale také konstrukci výpočetní procedury k jeho řešení.<br />

Získaný algoritmus přitom podstatně závisí na struktuře řešeného problému.<br />

Příklady aplikací dynamického programování<br />

• Plánování výroby a zásob. Je třeba pro každou etapu plánovacího období určit, jaké množství<br />

výrobku vyrobit a jaké uskladnit pro budoucí použití, aby byla splněna poptávka po výrobku a<br />

byly minimalizovány seřizovací, výrobní a skladovací náklady.<br />

• Obnova zařízení. Zařízení postupně zastarává a zisk z jeho použití se postupně snižuje. Je třeba<br />

určit, kdy je nevhodnější pořídit nové zařízení.<br />

• Rozdělování zdrojů. Je dáno omezené množství nějakého ekonomického zdroje a několik<br />

možných způsobů použití s různým přínosem. Je třeba dané množství rozdělit tak, aby byl<br />

maximalizován celkový přínos.<br />

26. Charakterizujte úlohu stochastického programování. Jaké jsou možnosti vytvoření<br />

deterministického ekvivalentu této úlohy? Uveďte příklady aplikací.<br />

Příklady aplikací stochastického programování<br />

• Plánování výroby při neurčité poptávce. Je třeba pro každou etapu plánovacího období určit,<br />

jaké množství výrobku vyrobit a jaké uskladnit pro budoucí použití, aby byly minimalizovány<br />

náklady, přičemž poptávky po výrobku v jednotlivých obdobích jsou náhodné veličiny.


• Dopravní problém s neurčitou poptávkou. Je třeba určit takový plán přepravy, při němž budou<br />

celkové náklady na přepravu minimální, přičemž dopravní náklady a kapacity dodavatelů jsou<br />

konstantní, ale požadavky odběratelů jsou náhodné veličiny.<br />

• Optimalizace portfolia. Je třeba stanovit skladbu portfolia cenných papírů tak, aby se<br />

maximalizoval výnos portfolia, přičemž výnosy jednotlivých aktiv jsou náhodné veličiny.<br />

Za řešení úlohy stochastického programování (8.15) se považuje řešení deterministického<br />

ekvivalentu této úlohy, který je definován tak, aby byla z původní úlohy korektně odstraněna<br />

náhodnost. Při konstrukci deterministického ekvivalentu je nutné stanovit, co budeme považovat<br />

za přípustné řešení a co budeme považovat za optimální řešení.<br />

Pokud musíme určit jednorázové řešení (rozhodnutí), které se po získání novějších informací<br />

nemůže měnit, hovoříme o jednostupňových úlohách stochastického programování. Jestliže<br />

řešení můžeme upravovat na základě postupně se objevujících nových informací, jde o<br />

vícestupňové úlohy stochastického programování. Ve vícestupňových úlohách se proces<br />

rozhodování může rozvíjet podle jednoho ze dvou následujících řetězců:


27. Charakterizujte úlohy vícekriteriálního rozhodování a uveďte příklady aplikací. Na příkladě<br />

vysvětlete pojmy dominovaného a nedominovaného řešení.<br />

Problém vícekriteriálního rozhodování lze charakterizovat takto: je dána nějaká množina možných<br />

variant (rozhodnutí, řešení) a máme vybrat variantu, která je co možná nejlepší vzhledem k dané<br />

množině kritérií (hledisek, charakteristik).<br />

Typy kritérií<br />

Kritéria uvažovaná ve vícekriteriálním rozhodování bývají obvykle konfliktní. Mohou se mezi nimi<br />

vyskytnout jak kritéria kvantitativní (kardinální), tak kritéria kvalitativní (ordinální). V případě<br />

současného výskytu kvalitativních i kvantitativních kritérií se provádí přechod k jednomu typu<br />

kritérií, buď <strong>ke</strong> kvalitativním nebo <strong>ke</strong> kvantitativním.<br />

Kvantitativní kritéria umožňují pro každou variantu stanovit hodnoty kritérií. Tato kritéria<br />

bývají často nesouměřitelná v důsledku vyjádření v různých jednotkách. U některých metod pro<br />

řešení vícekriteriálních úloh je třeba tuto nesouměřitelnost odstranit určitou normalizací (např.<br />

přechodem k ukazatelům, které vyjadřují procenta plnění původních ukazatelů).<br />

Kvalitativní kritéria dovolují pouze stanovit, zda je nějaká varianta podle určitého kritéria lepší či<br />

horší než jiná, nebo zda jsou podle tohoto kritéria obě srovnávané varianty rovnocenné.<br />

Příklady úloh vícekriteriálního rozhodování<br />

• Výběr zařízení pro použití ve výrobě. Kritéria: cena, výkon, spolehlivost, provozní náklady.<br />

• Výběr zakázek pro výrobu v daném období. Kritéria: velikost tržeb, procento pokrytí režie,<br />

posílení pozice na trhu, udržení stavu zaměstnanců.<br />

• Výběr projektu na výstavbu nějakého zařízení. Kritéria: investiční náklady, provozní náklady,<br />

vliv na životní prostředí, možnost budoucího rozšíření.<br />

• Hodnocení bonity bankovních klientů. Kritéria: finanční situace (zadluženost), vyrovnanost<br />

potřeb a zdrojů, možnosti reprodukce firmy, efektivnost hospodaření firmy, ukazatele obratu.<br />

Typy vícekriteriálních úloh:


Množina přípustných variant může být vymezena buď explicitně výčtem těchto variant, nebo<br />

implicitně nějakou soustavou podmínek. Úlohy s explicitně vymezenými variantami nazýváme<br />

úlohami vícekriteriálního hodnocení variant. Jsou-li přípustné varianty dány implicitně systémem<br />

podmínek a všechna kritéria jsou kvantitativní, jedná se o úlohy vícekriteriálního programování<br />

(úlohy vektorové optimalizace).<br />

• Úlohy vícekriteriálního hodnocení variant (přípustné varianty jsou vymezeny explicitně).<br />

• Úlohy vícekriteriálního programování (přípustné varianty jsou vymezeny implicitně soustavou<br />

podmínek a všechna kritéria jsou kvantitativní).<br />

Dominovaná a nedominovaná řešení<br />

Je jasné, že jen velmi zřídka můžeme najít variantu, která by byla skutečně nejlepší z hlediska<br />

každého zadaného kritéria, a že se tedy většinou musíme spokojit s nějakým kompromisem. Je<br />

přirozené za kompromisní považovat takovou variantu, k níž neexistuje žádná varianta,která by<br />

byla lepší alespoň v jednom kritériu a v žádném nebyla horší. Takto vymezená kompromisní varianta<br />

se nazývá efektivní, nedominovaná nebo paretovsky optimální. Nedominovanost resp. paretovská<br />

optimalita tedy znamená takový stav, kdy žádné kritérium nemůže být zlepšeno, aniž by došlo <strong>ke</strong><br />

zhoršení nějakého jiného kritéria.<br />

28. Popište možnosti řešení úloh vícekriteriálního rozhodování.<br />

Metody vícekriteriálního programování<br />

Tyto metody jsou v podstatě založeny na jednorázovém nebo opakovaném použití metod<br />

jednokriteriální optimalizace. Podle toho, zda a kdy jsou k dispozici nějaké doplňující informace o<br />

rozhodovatelových preferencích, lze specifikovat následující případy:<br />

• jsou k dispozici apriorní informace o preferencích rozhodovatele,<br />

• doplňující informace o preferencích rozhodovatele jsou zadávány až v průběhu řešení úlohy<br />

• žádné doplňující informace o preferencích rozhodovatele nejsou k dispozici<br />

Jestliže jsou předem k dispozici informace o preferencích rozhodovatele, pak lze danou úlohu převést<br />

na úlohu jednokriteriální optimalizace resp. na posloupnost takových úloh. Těmito informacemi<br />

mohou být váhy kritérií, pořadí důležitosti kritérií nebo požadované (ideální) hodnoty kritérií. Podle<br />

charakteru informací o preferencích rozhodovatele rozlišujeme tyto metody:<br />

• metody agregace kritérií<br />

• metody lexikografické optimalizace


• metody minimalizace vzdálenosti od ideálního vektoru<br />

Jsou-li doplňující informace o preferencích rozhodovatele jsou zadávány až v průběhu řešení úlohy,<br />

jedná o tzv. interaktivní metody, které spočívají na dialogu mezi rozhodovatelem a řešitelem (tím je<br />

obvykle počítač), při nichž se střídají dvě fáze – fáze výpočetní a fáze rozhodovací. Výpočetní fáze je<br />

prováděna řešitelem a jejím výstupem je jedno nebo více provizorních řešení úlohy a případně nějaké<br />

další informace důležité pro rozhodovatele. Při výpočtu provizorního řešení se obvykle používá<br />

princip agregace kritérií nebo princip minimalizace vzdálenosti od ideálního bodu. V rozhodovací<br />

fázi rozhodovatel posoudí předložené provizorní řešení a jestliže je dosud nepokládá za vyhovující,<br />

poskytne řešiteli informace o svých preferencích. Na jejich podkladě pak může řešitel stanovit nové<br />

provizorní řešení, které bude rozhodovateli více vyhovovat. Interaktivní metody můžeme členit<br />

následovně:<br />

• Metody založené na informacích o mírách substituce. Míra substituce mezi i-tým a j-tým<br />

kritériem udává, jaké zhoršení i-tého kritéria kompenzuje zlepšení j-tého kritéria o jednu<br />

jednotku. Tyto metody jsou vhodné jen pro úlohy, v nichž se rozhodovací proměnné mění spojitě.<br />

• Metody založené na informacích o úrovních kritérií. Rozhodovatel posuzuje úrovně jednotlivých<br />

kritérií dosažené v provizorním řešení a zadává pro další krok nové mezní hodnoty kritérií. Tyto<br />

metody lze použít i pro celočíselné úlohy.<br />

• Postupy založené na výběru z množiny generovaných provizorních řešení. Řešitel předloží<br />

rozhodovateli několik provizorních řešení, z nichž rozhodovatel vybere nejlepší variantu. Z této<br />

informace pak řešitel vychází při generování dalších přípustných řešení.<br />

Nejsou-li žádné doplňující informace o preferencích rozhodovatele k dispozici, jde o úlohu<br />

nalezení množiny všech nedominovaných variant, což je úloha dosti náročná (tuto množinu<br />

můžeme zkoumat např. metodami parametrického programování). Rozhodovatel nakonec ale<br />

stejně musí vybrat jednu variantu, což je komplikováno tím, že množina všech nedominovaných<br />

variant je obvykle dost rozsáhlá a nebo dokonce nekonečná. Navíc také může mít složitou<br />

strukturu. Například i když všechny funkce v úloze (8.62) jsou lineární, tak množina všech<br />

nedominovaných řešení může být nekonvexní (to ilustruje obr. 8.2, kde množina<br />

nedominovaných řešení je tvořena lomenou čarou BCD).<br />

29. Napište definici hry v normálním tvaru. Jaké znáte typy her? Uveďte příklady aplikací.<br />

Teorie her se zabývá modelováním konfliktních rozhodovacích situací. Tyto situace můžeme členit<br />

takto:<br />

• antagonistické hry (co jedni hráči ztrácejí, ostatní získávají) a neantagonistické hry (mohou<br />

existovat rozhodnutí výhodná pro všechny účastníky a jsou případně možné i kooperace mezi<br />

hráči)<br />

• hry s přenosnou výhrou (je možné přerozdělení výhry po ukončení hry) a hry s nepřenosnou<br />

výhrou<br />

• hry s úplnou informací (hráči mají před každým tahem přesnou informaci o dosavadním průběhu<br />

hry) a hry s neúplnou informací<br />

• konečné hry (všichni hráči mají konečně mnoho strategií) a nekonečné hry<br />

• hry s inteligentními protihráči a hry s neinteligentními protihráči (neinteligentní protihráč<br />

reprezentuje náhodný proces)


Příklady aplikací teorie her<br />

• Soutěž firem o zakázky na n trzích. Předpokládá se, že získané zakázky se dělí v poměru<br />

vynaložených prostředků na propagaci.<br />

• Optimální úrovně výroby při oligopolu. Oligopolem se rozumí trh, na kterém se n výrobců<br />

snaží prodat jeden druh výrobků případně výrobky vzájemně zastupitelné.<br />

• Výběr způsobu kontroly jakosti výrobků. Protihráčem je náhodný proces, způsobující výskyt<br />

zmetků.


30. Napište definici maticové hry. Jak ji můžeme řešit? Ilustrujte na příkladě.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!