VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů

Rozměr: px
Začít zobrazení ze stránky:

Download "VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů"

Transkript

1 VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Hlavní specializace: Ekonometrie a operační výzkum Název diplomové práce Optimalizace trasy při revizích elektrospotřebičů Diplomant: Vedoucí diplomové práce: Bc. Michal Rusín Ing. Jan Fábry, Ph.D.

2 Prohlášení: Prohlašují, že jsem diplomovou práci na téma Optimalizace trasy při revizích elektrospotřebičů zpracoval samostatně. Veškerou použitou literaturu a další podkladové materiály uvádím v seznamu použité literatury. Lužec nad Vltavou, Michal Rusín - 2 -

3 Poděkování: Chtěl bych poděkovat vedoucímu diplomové práce Ing. Janu Fábrymu Ph.D. za jeho ochotný a vstřícný přístup při konzultaci této práce

4 Obsah 1. Úvod Teoretická část Úloha obchodního cestujícího Rozvozní úloha Rozvozní úloha Model Rozvozní úloha Model Heuristické metody Heuristiky pro úlohu obchodního cestujícího Heuristiky pro rozvozní úlohu model Heuristiky pro rozvozní úlohu Model Aplikace v MS Excel Menu Zadávání dat Výpočet Výsledky Praktická část Zadání problému Popis a sběr dat Výpočty Úloha obchodního cestujícího Rozvozní úloha model Rozvozní úloha model Porovnání modelů a heuristik Porovnání modelů Porovnání heuristik Závěr Seznam použité literatury Internetové zdroje Přílohy

5 1. Úvod Tématem mojí diplomové práce je optimalizace trasy při revizích spotřebičů. Důvodem pro volbu tohoto tématu byla snaha o aplikaci poznatků získaných při studiu, na reálných úlohách v praxi. Mezi vypsanými tématy mě zaujaly rozvozní úlohy. Snažil jsem se tedy vyhledat data, která bych mohl využít k aplikaci modelů rozvozní úlohy. Podařilo se mi získat data z oblasti revizí elektrospotřebičů. Revizní technik se při své práci pohybuje mezi řadou míst, na kterých vykonává revize. Na optimalizaci trasy revizního technika lze tedy použít modely okružních úloh. Úloha obchodního cestujícího a rozvozní úloha jsou NP-obtížné úlohy. Proto k výpočtům použi heuristické metody. Jedná se o metodu nejbližšího souseda, metodu výhodnostních čísel a metodu nejlevnějšího vkládání. K výpočtům heuristik naprogramuji v programu MS Excel, respektive v programovacím jazyce VBA aplikaci. V této aplikaci pak budu řešit všechny tři heuristiky pro tři modely okružních úloh. Práce je rozdělena do čtyř hlavních částí. První součástí je aplikace Heuristiky pro řešení heuristických metod nejbližšího souseda, výhodnostních čísel a nejlevnějšího vkládání. Tyto heuristiky jsou řešeny ve verzích pro úlohu obchodního cestujícího a pro dvě modifikace rozvozní úlohy. Druhou částí je kapitola popisující teoretické modely a heuristiky. V kapitole jsou popsány matematické modely úlohy obchodního cestujícího, rozvozní úloha a její dvě modifikace. Další součástí kapitoly je popis heuristik nejbližšího souseda, výhodnostních čísel a nejlevnějšího vkládání. Každá heuristická metoda je rozepsána ve verzi pro úlohu obchodního cestujícího, pro rozvozní úlohu model 1 a pro rozvozní úlohu model 2. Třetí kapitola je popisem aplikace Heuristiky, jejíž vytvoření je součástí práce. Tato kapitola slouží jako manuál k aplikaci. Je zde popsáno uživatelské prostředí, způsob zadávání dat a interpretace výsledků

6 Poslední částí je vlastní výpočet heuristik pro všechny tři uvedené modely a prezentace výsledků a výběr nejlepších variant trasy revizního technika. Je zde také uvedeno srovnání modelů a srovnání použitých heuristik. Cílem této práce je vytvořit aplikaci v MS Excel, resp. VBA, pro výpočet heuristických metod nejbližšího souseda, výhodnostních čísel a nejlevnějšího vkládání a optimalizace trasy revizního technika při revizích elektrospotřebičů

7 2. Teoretická část využívat. V této kapitole popíši teoretický základ modelů, které budu v dalších kapitolách Jako první popíši matematický model úlohy obchodního cestujícího. Dále uvedu matematický model rozvozní úlohy, která z úlohy obchodního cestujícího vychází a rozšiřuje ji. Poté uvedu modifikaci rozvozní úlohu v podobě použité v aplikační části diplomové práce. Tento model bude označen jako Model 1. Posledním modelem bude matematický model rozvozní úlohy upravený pro použití dvou různých délek cyklů. Tento model bude označen jako Model 2. Závěrečné části této kapitoly budou věnovány popisu použitých heuristik. Zmíním jejich obecný popis pro úlohu obchodního cestujícího a jejich modifikace pro rozvozní úlohu použité v aplikaci. 2.1 Úloha obchodního cestujícího úlohy. Úloha obchodního cestujícího (okružní dopravní problém) patří mezi okružní Matematickým modelem této úlohy je graf G V, E. Množina V 1,2,...,n obsahuje uzly a množina E obsahuje všechny hrany spojující uzly. Všechny hrany v grafu G jsou ohodnoceny. Hrana i, j je ohodnocena číslem d, které představuje dobu přejezdu mezi objekty i a j. Cílem této úlohy je vyjít z výchozího místa a postupně navštívit všechna ostatní místa právě jednou v libovolném pořadí s nejnižšími náklady. V našem konkrétním případě se jedná o minimalizaci času stráveného přejezdy mezi objekty. Cyklus, který se snažíme najít, se nazývá Hamiltonův cyklus. Je složen z hran z množiny E. V úloze musíme zavést bivalentní proměnné x takové, že x 1, v případě, že hrana spojující uzly i, j leží na hledaném cyklu, anebo x 0, pokud Hamiltonův cyklus hranu i, j neobsahuje. Nyní formulujeme podmínku, která zaručí, že uzel i bude ležet na tomto cyklu

8 Tuto podmínku rozdělíme a formulujeme ji jako dvě samostatné podmínky. Podmínkou (2.1) zajistíme, aby z uzlu i vycházela právě jedna hrana cyklu. Podmínkou (2.2) zajistíme, aby do uzlu i vstupovala právě jedna hrana. n x j 1 n x i 1 1, i 1,2,..., n, (2.1) 1, j 1,2,..., n. (2.2) Rovnice (2.1) a (2.2) nezaručí, že jejich řešením bude skutečně Hamiltonův cyklus. Abychom vyloučili vznik parciálních cyklů, musíme přidat smyčkové podmínky. Použeme smyčkové podmínky Miler-Tucker-Zemlin 1 ve tvaru ti t j nx n 1, i 1,2,..., n, j 2,3,..., n. (2.3) Počet těchto smyčkových podmínek je roven počtu hran. Proměnné t i a nemusí splňovat podmínky nezápornosti ani celočíselnosti. Úkolem úlohy je minimalizovat čas strávený přejezdy mezi objekty. V účelové funkci proto minimalizujeme součet ocenění hran zařazených v cyklu, tedy hran pro které platí x 1. Toto ocenění zapíšeme ve tvaru t j n n d x i 1 j 1, (2.4) a budeme jej minimalizovat. Z výrazů (2.1) (2.4) formulujeme matematický model úlohy obchodního cestujícího: minimalizovat n n z d x i 1 j 1 (2.5) 1 [2] s

9 Za podmínek n x j 1 n x i 1 1, i 1,2,..., n, 1, j 1,2,..., n, (2.6) ti t j nx n 1, i 1,2,..., n, j 2,3,..., n, x 0,1, i 1,2,..., n, j 1,2,..., n. 2.2 Rozvozní úloha Rozvozní úloha je rozšířením výše uvedené úlohy obchodního cestujícího. V rozvozní úloze je přípustné řešení s více cykly. Tím se liší od úlohy obchodního cestujícího. Každý cyklus musí obsahovat výchozí uzel. Označíme ho uzel 1. V tomto uzlu každý cyklus začíná a také končí. Všechny uzly musí být zařazeny do některého z cyklů. V této úloze je oproti úloze obchodního cestujícího definována kapacita vozidla, označovaná V. V aplikačním příkladu ze čtvrté kapitoly nahradíme kapacitu vozidla pracovní dobou revizního technika. Poslední modifikací jsou požadavky odběratelů v jednotlivých uzlech. V této diplomové práci jsou požadavky odběratelů nahrazeny dobou trvání činnosti revizního technika v jednotlivých uzlech. Pracovní doba revizního technika V, musí být kladné číslo V činnosti v i -tém uzlu označíme s i. 0. Dobu trvání Proměnná označená t i v modelu rozvozní úlohy zpravidla znamená velikost nákladu ve vozidle po návštěvě uzlu i. V našem příkladu jsme nahradili kapacitu vozidla disponibilní pracovní dobou revizního technika. Jako t i budeme označovat vyčerpanou pracovní dobu po návštěvě uzlu i. Je to okamžik, kdy revizní technik opustí uzel i. Musí tedy platit podmínka s i t V, i 2,3,..., n. (2.7) i překročena. Podmínka (2.7) zaručuje, že disponibilní pracovní doba V nebude v cyklu - 9 -

10 Smyčkové podmínky Miler-Tucker-Zemlin z úlohy obchodního cestujícího nahradíme novými podmínkami ve tvaru t i j x t j s V 1, i 1,2,..., n, j 2,3,..., n. (2.8) Na začátku každého cyklu, v uzlu 1, je pracovní doba rovna V. Proměnná t, 1 vyčerpaná pracovní doba v cyklu, se tedy rovná nule. t 1 0. (2.9) Do modelu rozvozní úlohy ještě přidáme poslední podmínky. Jedná se o modifikované podmínky z úlohy obchodního cestujícího (2.1) a (2.2). V rozvozní úloze musí z každého uzlu i, pro i 2,3,..., n vystupovat právě jedna hrana cyklu. Platnost této podmínky zajistíme výrazem n x j 1 1, i 2,3,..., n. (2.10) Do každého uzlu j, j 2,3,..., n pro musí vstupovat právě jedna hrana cyklu. Tuto podmínku formulujeme výrazem n x i 1 1, j 2,3,..., n. (2.11) na proměnné Oproti úloze obchodního cestujícího se podmínky (2,10), resp. (2.11) nevztahují x 1, kde j 1,2,..., n a x i1, kde j i 1,2,..., n. Součet proměnných v prvním řádku, resp. prvním sloupci bude vyšší v případě, že bude vytvořeno více cyklů. Účelová funkce bude mít stejný tvar jako v případě úlohy obchodního cestujícího. Opět minimalizujeme čas strávený přejezdy mezi uzly. Zapíšeme účelovou funkci jako výraz n n d x i 1 j 1. (2.12) Nyní máme definovány všechny potřebné podmínky a můžeme z nich sestavit matematický model rozvozní úlohy:

11 minimalizovat n n z d x i 1 j 1 (2.13) za podmínek n x j 1 n x i 1 1, i 2,3,..., n, 1, j 2,3,..., n, t i s i j x t j s V 1, i 1,2,..., n, j 2,3,..., n, t V, i 2,3,..., n, (2.14) i t 1 0, x 0,1, i 1,2,..., n, j 1,2,..., n. 2.3 Rozvozní úloha Model 1 Výše uvedená rozvozní úloha není vhodná pro řešení příkladu ze závěrečné části této diplomové práce. V matematickém modelu rozvozní úlohy je definována pracovní doba V. Do této pracovní doby se v modelu započítává pouze činnost prováděná v uzlu. V příkladu vyžadujeme, aby cesty mezi uzly a činnosti vykonané v uzlech byly provedeny v pracovní době. Při použití modelu rozvozní úlohy by byly započítány pouze činnosti provedené v uzlech a cesty by se do pracovní doby nepočítaly. Cesty, které by pak musel revizní technik vykonat, by nešly v pracovní době uskutečnit a výsledky by byly bezcenné. Musíme proto matematický model modifikovat, aby vyhovoval našim účelům. Pro potřeby aplikačního příkladu musíme provést modifikaci modelu. Aby se čas strávený přejezdy mezi uzly také započítával do pracovní doby, musíme upravit podmínku (2.8) z předchozího modelu

12 Rozšíříme ji tak, aby byl do pracovní doby V započten i čas potřebný na přejezdy mezi uzly i a j, tj. podmínky d. Nahradíme podmínku (2.8) následujícím tvarem t i j x t j s d V 1, i 1,2,..., n, j 2,3,..., n, (2.15) Podmínka je nyní upravena na tvar, který požadujeme k výpočtům. Ještě musíme upravit podmínku (2.7), abychom počítali s návratem do uzlu 1, bez úpravy této podmínky bychom neuvažovali cestu zpět do výchozího uzlu a pracovní doba by mohla být o část doby návratu překročena. s, i 2,3,..., n. (2.16) i t i t i 1 di 1 xi V, i 2,3,..., n. (2.17) Nyní již máme naformulovány všechny podmínky. Můžeme tedy zapsat celý matematický model Modelu 1: minimalizovat n n z d x i 1 j 1 (2.18) za podmínek n x j 1 n x i 1 1, i 2,3,..., n, 1, j 2,3,..., n, t i s i j x t j s d V 1, i 1,2,..., n, j 2,3,..., n, ti d j1 x j1 V, i 2,3,..., n, (2.19) t 1 0, x 0,1, i 1,2,..., n, j 1,2,..., n

13 2.4 Rozvozní úloha Model 2 V modelu 2 přiblížím model více reálnému problému. Uvolním předpoklad neměnné pracovní doby V. Budeme vycházet z předpokladu, že je možné v několika cyklech překročit pracovní dobu V a prodloužit tím cyklus. Zkrácení cesty je však vykompenzováno zvýšením nákladů revizního technika. Delší pracovní dobu si lze představit jako služební cesty nebo práci přesčas. V případě práce přesčas bychom museli počítat se zvýšenou mzdovou sazbou. Přesčasová práce připadá v úvahu při krátkém prodloužení pracovní doby, např. o několik málo hodin. Služební cesta je výhodnější při delším prodloužení pracovní doby, například o několik dní. V případě služební cesty se náklady zvýší o diety a ubytování. V této diplomové práci použi navýšení pracovní doby o celý jeden den. Jedná se tedy o případ se služební cestou. V aplikačním příkladu se náklady na služební cestu budou lišit podle kraje, ve kterém revizní technik přenocuje. Náklady na ubytování proto nebudu do matematického modelu uvádět, ale budu je přičítat až po vypočtení cesty. Jak už bylo výše zmíněno, matematický model bude obsahovat dvě různé délky pracovní doby. Ve formulaci rozvozní úlohy je definována pracovní doba V. Tato proměnná označuje standardní délku pracovní doby. V případě, že chceme pracovní dobu prodloužit, použeme k tomu konstantu W. Konstanta W je rozdíl mezi delší pracovní dobou V W a standardní délkou pracovní doby V. V modelu 2 musí platit podmínka, která zaručí, že z každého uzlu i, pro i 2,3,...,n bude vystupovat právě jedna hrana. Tato podmínka se bude od podmínky (2.10) lišit tím, že v modelu 2 musíme přidat součet přes index k, kde k 1,2,..., n 1. Podle indexu k zjistíme, v jakém cyklu je hrana k x zařazena. Podmínku tedy můžeme formulovat ve tvaru

14 uzlu j, pro n n 1 j 1 k 1 x 1, i 2,3,..., n, k 1,2,..., n 1. (2.20) k V matematickém modelu nesmí chybět ani podmínka zaručující, aby do každého j 2,3,..., n vstupovala právě jedna hrana. Opět přidáme sumaci s indexem k, kde k 1,2,..., n 1. Podmínku zapíšeme výrazem n n 1 i 1 k 1 x 1, j 2,3,..., n, k 1,2,..., n 1. (2.21) k Další podmínkou zajistíme, aby nebyla překročena pracovní doba. Podmínku (2.16) upravíme o možnost prodloužení pracovní doby maximálně o hodnotu W. Budeme definovat novou pomocnou bivalentní proměnnou y, kde k 1,2,..., n 1. k Pomocí proměnné y k zajistíme požadovaný počet cyklů s delší pracovní dobou. V případě, že pracovní doba bude mít standardní délku V, bude platit y 0. Naopak, k když využeme prodlouženou pracovní dobu vyjádříme výrazem V W, platí, že y 1. Podmínku k t k k i di 1 xi 1 V Wyk, 2,3,..., n, k 1,2,..., n 1 i (2.22) Pokud bychom použili pouze výraz (2.21), mohla by nastat situace, že všechny cykly budou využívat prodlouženou pracovní dobu. Takový stav by nebyl žádoucí, a proto musíme počet prodloužených pracovních dob omezit. Počet prodloužených cyklů snížíme na 4, tj. cyklech se y k se může rovnat jedné pouze ve čtyřech případech, v ostatních y k bude rovnat nule a bude použita standardní délka pracovní doby V. Tuto podmínku vyjádříme výrazem n 1 k 1 y 4. (2.23) k dobou Podmínka (2.22) zaručí, že budou využity právě čtyři cykly s delší pracovní V W. Pokud bychom chtěli zajistit maximálně čtyři nebo povolit méně delších cyklů, nahradili bychom výraz (2.22) novou upravenou podmínkou n 1 k 1 y 4 (2.24) k

15 Dalšími podmínkami, které jsou nezbytné pro model 2, jsou smyčkové podmínky. Vyjdeme opět z matematického modelu rozvozní úlohy, tentokrát však v úpravě pro model 1. Podmínku (2.15) upravíme takovým způsobem, abychom ji mohli použít v modelu 2. Nejprve musíme podmínku upravit, protože proměnné využívají nový index k, kde k 1,2,..., n 1. Poté přidáme možnost delších cyklů. Nová podmínka bude mít následující tvar t k i j k k V W x t s d 1, i 1,2,..., n, j 2,3,..., n, j Výrazy v závorkách roznásobíme k 1,2,..., n 1. t k i j k k k V Vx W Wx t s d, j t k i s d V Vx W Wx t, i 1,2,..., n, j 2,3,..., n, j k k k j k 1,2,..., n 1 (2.25) V modelu nesmí chybět ani podmínka, která zajistí, že proměnná k t 1 se bude rovnat nule. Tato podmínka zaručuje, že vyčerpaná pracovná doba se na začátku každého cyklu bude rovnat nule, pro každé k 1,2,..., n 1. k t 1 0, k 1,2,..., n 1. (2.26) Model ještě musíme doplnit o poslední dvě podmínky. První podmínka zaručí, že návštěva uzlu se uskuteční právě v jednom cyklu (Fábry J., 2006). n i 1 n k x x i 1 k ji, j 2,3,..., n, k 1,2,..., n 1. (2.27) Nerovnice (2.27) zaručuje v obecném případě, že každé vozidlo odjede z výchozího místa nejvýše jednou, tzn. některá vozidla nemusí vyjet (Fábry J., 2006). V tomto modelu však bude mít podmínka odlišnou interpretaci. Nerovnice zaručuje, že počet cest, které revizní technik uskuteční, se bude rovnat nebo bude menší než n 1 (Fábry J., 2006). n i 1 k x 1, k 1,2,..., n 1. (2.28) 1 j

16 Účelová funkce bude mít oproti předcházejícím úlohám odlišný tvar. Opět budeme hledat její minimální hodnotu. Do účelové funkce ještě přidáme indexy k, kde k 1,2,..., n 1 a provést součet i přes tento nový index. Nový tvar účelové funkce tedy bude n n n 1 i 1 j 1 k 1 d x k. (2.29) Nyní již máme připraveny všechny omezující podmínky a můžeme z nich sestavit matematický model: minimalizovat za podmínek n n n 1 z i 1 j 1 k 1 d x k n n 1 j 1 k 1 x 1, i 2,3,..., n, k 1,2,..., n 1, k n n 1 i 1 k 1 x 1, j 2,3,..., n, k 1,2,..., n 1, k t k i s d V Vx W Wx t, i 1,2,..., n, j 2,3,..., n, j k k k j k 1,2,..., n 1 t k i k d j1 x j1 V Wyk, 2,3,..., n, k 1,2,..., n 1 i, n 1 k 1 y 4, k k t 1 0, k 1,2,..., n 1, n i 1 n k x x i 1 k ji, j 2,3,..., n, k 1,2,..., n 1, n i 1 k x 1, k 1,2,..., n 1, 1 j x 0,1, i 1,2,..., n, j 1,2,..., n, k

17 k 1,2,..., n 1, y 0,1, k 1,2,..., n 1 k z 0,1, i 1,2,..., n, j 1,2,..., n k k 1,2,..., n Heuristické metody Heuristiky jsou metody, kterými lze dospět k přípustným řešením, ale dosažené řešení nemusí být optimální. Úloha obchodního cestujícího a rozvozní úloha patří mezi NP-obtížné úlohy (Pelikán J., 1999). Při vysokém počtu proměnných nemusí optimalizační algoritmy dospět k řešení v reálném čase. V takových případech je výhodné zvolit některou z heuristických metod. Výhody ze získání výsledků v krátké době převáží nevýhody ze získání výsledků odchýlených od optimálního řešení Heuristiky pro úlohu obchodního cestujícího Metoda nejbližšího souseda Postup (Pelikán J., 1999): Krok 1. Zvolíme počáteční uzel (v našem případě vždy uzel 1) a zařadíme ho na první místo na trase. První řádek v matici s časy přejezdů proškrtneme. Krok 2. V matici časů jízd zvolíme řádek odpovídající poslednímu zařazenému uzlu. V řádku nalezneme minimum z neproškrtnutých prvků matice. Sloupec, ve kterém leží minimální prvek, zařadíme za poslední uzel na trase. Proškrtneme řádek, ve kterém jsme hledali minimum a sloupec, v němž toto minimum leží. Krok 3. Opakujeme krok 2, dokud matice časů jízd obsahuje nevyškrtnuté prvky. V opačném případě následuje krok

18 Krok 4. okruh. Za poslední zařazený uzel přidáme počáteční uzel, abychom dostali uzavřený Metoda výhodnostních čísel Postup (Pelikán J., 1999): Krok 1. Nejdříve spočítáme matici výhodnostních čísel S s. Její prvky dostaneme podle předpisu s di 1 d1 j d, i,3,..., n, j 2,3,..., n, i j 2, kde D d je matice obsahující časy přejezdů mezi uzly. Krok 2. V matici S nalezneme největší výhodnostní číslo s. Zapíšeme cestu i j do výsledného cyklu. Abychom předešli vzniku parciálních cyklů, vyškrtneme prvek s ji, řádek i a sloupec j. Krok 3. Nyní vybíráme z matice S maximum v řádku j. Toto řádkové maximum je prvek s jk. Nalezneme maximum ve sloupci i (prvek s li ). Porovnáme maximální hodnoty v řádku a ve sloupci. V případě, že s s, zařadíme uzel k na konec cesty. Vyškrtneme prvek jk li spojující konec a začátek cesty, tj. s ki a řádek j. Provedeme substituci j k. V opačném případě, když bude s s, zařadíme uzel l na začátek cesty. jk li Vyškrtneme prvek spojující konec a začátek cesty s lj a řádek l. Provedeme substituci i l

19 Krok 4. Opakujeme krok 3, dokud nebudou z matice S vyškrtány všechny prvky. Krok 5. Doplníme výchozí uzel na začátek a konec cesty a tím spojíme cestu do cyklu. Metoda nejlevnějšího vkládání Postup (Pelikán J., 1999): Krok 1. Vybereme výchozí uzel (budeme volit uzel 1). Krok 2. V prvním řádku matice s časy přejezdů D i, j d 1s max d1 j. Vytvoříme uzavřenou cestu 1 s 1. j Krok 3. nalezneme největší prvek Nalezneme hranu i, j ležící na již vytvořeném cyklu a uzel k neležící na vytvořeném cyklu tak, aby výraz d ik d d byl minimální. Hledáme tedy uzel k, kj jehož přidáním do cyklu se cesta co nejméně prodlouží. Uzel k přidáme do cesty mezi uzly i a j. Krok 4. Opakujeme krok 3, dokud nejsou zařazeny všechny uzly do cyklu Heuristiky pro rozvozní úlohu model 1 Heuristické metody pro řešení rozvozní úlohy se odlišují od metod pro řešení úlohy obchodního cestujícího. V jejich algoritmu musí být neustále kontrolováno, zda po zařazení nového uzlu nebude překročena kapacita vozidla, či v našem případě pracovní doba. Pokud by k tomu došlo, musí být uzel na trase ignorován a zkoušíme najít jiný nezařazený uzel. Ignorovaný uzel pak zkoušíme zařadit do jiného cyklu. Pokud není pracovní doba vyčerpána přesně, musíme prohledávat všechny nezařazené

20 uzly pro případ, že by se ještě mohly do aktuálního cyklu vejít. V heuristických metodách pro řešení úlohy obchodního cestujícího každý uzel ihned zařadíme, ale v heuristikách pro řešení rozvozní úlohy tyto prvky zkoušíme zařadit několikrát. To činí algoritmy pro rozvozní úlohy výpočetně náročnějšími. Nejprve zavedeme označení pro snazší orientaci. Matici se zadáním časů přejezdů označíme jako matici A s prvky a. Matici, kterou budeme při vybírání uzlů vyškrtávat, označíme jako matici B s prvky b. V aplikaci Heuristiky je pro řešení rozvozní úlohy - model 1 pracovní doba označena jako délka cyklu 1. Metoda nejbližšího souseda Postup: Krok 1. Zvolíme výchozí uzel (v našem případě volíme vždy uzel 1) a zařadíme ho na první místo v nového cyklu. Krok 2. Z matice B vyškrtneme všechny řádky a sloupce, které odpovídají všem dříve zařazeným uzlům. Z matice B ještě vyškrtneme první sloupec. Krok 3. V řádku, který odpovídá poslednímu uzlu zařazenému do cyklu, nalezneme minimum. Minimum leží v řádku i a ve sloupci j. Minimum v matici je prvek b. Krok 4. Otestujeme, zda lze uzel zařadit do cyklu. Sečteme časy přejezdů od prvního do posledního zatím zařazeného uzlu a doby trvání činností v uzlech. K tomuto součtu ještě přičteme dobu přejezdu z uzlu i do j, tj. prvek matice B, b a také dobu trvání činnosti v uzlu j. Ještě musíme připočítat návrat do výchozího uzlu. Připočteme čas přejezdu mezi uzlem i a uzlem 1. Tento součet porovnáme s pracovní dobou

21 V případě, že je součet menší nebo roven pracovní době, zařadíme uzel j za poslední uzel v cyklu. Jestliže je součet větší než pracovní doba, nemůžeme uzel j zařadit do cyklu. V obou případech vyškrtneme sloupec j z matice B. Krok 5. Opakujeme kroky 3 a 4, dokud nevyškrtáme celou matici B, potom pokračujeme krokem 6. Krok 6. Uzavřeme cyklus zapsáním výchozího uzlu. Krok 7. V případě, že ještě nejsou zařazeny všechny uzly, přejdeme na krok 1 a zařazujeme prvky do nového cyklu. Pokud jsou všechny uzly zařazeny, výpočet končí. Metoda výhodnostních čísel Postup: Krok 1. Jako první spočítáme matici výhodnostních čísel S. Její prvky vypočítáme z matice časů přejezdů s ai 1 a1 j a, i j 2,3,..., n, i j,. Kde A a je matice obsahující časy přejezdů mezi uzly. Krok 2. Vytvoříme matici B, jejíž rozměr je n n a její prvky jsou b s. V matici B vyškrtáme všechny řádky a sloupce odpovídající dříve zařazeným uzlům. Krok 3. V matici B nalezneme největší výhodnostní číslo b

22 Krok 4. Otestujeme, zda lze uzly i a j zařadit do cyklu. Sečteme časy přejezdů na cestě 1 i j 1 a činnosti v uzlech i a j. Pokud je součet menší nebo roven pracovní době, zapíšeme cestu i j do výsledného cyklu. Z matice B vyškrtneme prvek pokračujeme krokem 5. b ji, řádek i a sloupec j a V případě, že součet je větší než pracovní doba, vyškrtneme prvek b. Pokud ještě nejsou vyškrtnuty všechny prvky matice B, pokračujeme krokem 3. Pokud jsou všechny prvky v matici vyškrtnuty, pokračujeme krokem 6. Krok 5. Nyní budeme vybírat z matice B maximum v řádku j. Toto maximum označíme b jk. Vybereme také maximum ve sloupci a označíme ho b li. Porovnáme maxima v řádku a ve sloupci. V případě, že b b, otestujeme délku cyklu. Sečteme časy přejezdů na cestě jk li 1 i... j k 1 a činnosti v uzlech i až k. V případě, že součet je větší než délka cyklu 1, vyškrtneme prvek b jk z matice B. Pokud jsou v řádku j nebo sloupci i nějaké nevyškrtané prvky, pokračujeme opět krokem 5, jinak pokračujeme krokem 7. Pokud je součet menší než délka cyklu 1, zařadíme uzel k na konec cesty. Vyškrtneme prvek b ki a řádek j. Provedeme substituci j k a opakujeme krok 5. V opačném případě, když b b, otestujeme délku cyklu. Sečteme časy jk li přejezdů na cestě 1 l i... j 1 a činnosti v uzlech l až j. Když je součet větší než délka cyklu 1, vyškrtneme prvek b li. Pokud jsou v řádku j nebo sloupci i ještě nějaké nevyškrtnuté prvky, pokračujeme krokem 5, jinak přejdeme na krok 7. Pokud je součet cesty a činností menší než délka cyklu 1, zařadíme uzel l na začátek cesty. Vyškrtneme prvek krokem 5. b lj a sloupec i z matice B. Provedeme substituci i l a pokračujeme opět

23 Krok 6. Pokud máme vyškrtanou celou matici B a v cyklu ještě nejsou zařazeny žádné prvky, zařadíme do cyklu první nezařazený uzel a pokračujeme krokem 7. Krok 7. Na začátek cyklu dosadíme výchozí uzel 1. Na konec cyklu dosadíme uzel 1. Pokud ještě máme nezařazené uzly, začneme nový cyklu a pokračujeme krokem 2. V opačném případě výpočet končí. Metoda nejlevnějšího vkládání Postup: Krok 1. Vybereme výchozí uzel (budeme volit uzel 1) Krok 2. Vytvoříme matici B, která má rozměr n n a prvky b odpovídají prvkům matice s časy přejezdů A, tj. b a. Vyškrtneme řádky a sloupce, které odpovídají již zařazeným uzlům. Krok 3. U prvního řádku matice A vybereme největší prvek cestu 1 s 1. Krok 4. a 1 s. Vytvoříme uzavřenou Nalezneme hranu i, j, která leží na již vytvořeném cyklu a uzel k, který neleží na vytvořeném cyklu tak, abychom minimalizovali výraz b ik b kj b. Snažíme se tedy najít uzel k, po jehož přidání se cesta co nejméně prodlouží. Otestujeme délku cyklu. Zkusíme přidat uzel k do vytvořené cesty. Pokud je součet menší nebo roven délce cyklu 1, ponecháme uzel k zařazen v cyklu a pokračujeme krokem 4. Pokud jsou zařazeny všechny uzly, pokračujeme krokem

24 V případě, že je součet větší než délka cyklu 1, vymažeme uzel k z cyklu. Vyškrtneme minimum výrazu b ik b b a mezi ostatními hledáme nové minimum. kj Pokud jsou všechny výrazy vyškrtány, pokračujeme krokem 5. Krok 5. Pokud existují nezařazené uzly, pokračujeme krokem 2, jinak výpočet končí Heuristiky pro rozvozní úlohu Model 2 V aplikaci Heuristiky je pro řešení rozvozní úlohy - model 2 standardní délka pracovní doby označena jako délka cyklu 1. Pro delší pracovní dobu je použito označení délka cyklu 2. U modelu heuristik pro model 2 musíme zavést tři matice. První matice je shodná s modelem 1. Matici obsahující časy přejezdů mezi uzly označíme jako matici A s prvky a. Nyní musíme rozdělit uzly do dvou množin. Zavedeme pravidlo, podle kterého rozdělíme uzly do dvou množin. Pro každý uzel i, kde výraz (2.31) a porovnáme ho s délkou cyklu 1. i 2,3,..., n, spočítáme čas přejezdu 1,i + činnost v uzlu i + čas přejezdu i,1. (2.30) V případě, že výraz (2.31) bude větší než délka cyklu 1, zařadíme uzel i do množiny U. Uzly, pro které bude výraz (2.31) menší než délka cyklu 1, zařadíme do množiny V. Vytvoříme matici, která má stejný rozměr n n jako matice A, ale obsahuje pouze řádky a sloupce uzlů z množiny U. Ostatní prvky matice jsou proškrtnuty. Tuto matici označíme B a její prvky b. Vytvoříme matici C s prvky c. Matice bude mít rozměr n n. Budou vyplněny pouze řádky a sloupce z množiny V. Ostatní prvky matice budou proškrtnuty. V modelu 2 je povoleno použít dvě různé délky cyklu. V heuristických metodách pro model 2 je nejprve použita délka cyklu 2 a po vyčerpání počtu cyklů 2 je ve všech následujících cyklech použita délka cyklu 1. Při uvádění podmínky pro výběr délky cyklu, by se heuristiky staly méně přehledné. Pro lepší přehlednost je toto

25 pravidlo uvedeno pouze zde a v popisu heuristik je již uváděna pouze délka cyklu nebo pracovní doba. Metoda nejbližšího souseda Postup: Krok 1. Zvolíme výchozí uzel (budeme volit vždy uzel 1) a zařadíme ho na první místo v novém cyklu. Krok 2. Vytvoříme matice B a C podle výše uvedeného postupu. Z matice B i C vyškrtneme řádky a sloupce, které odpovídají dříve zařazeným uzlům. Z matic B a C vyškrtneme první sloupec. Pokud matice B obsahuje nějaké prvky, pokračujeme krokem 3, jinak pokračujeme krokem 6. Krok 3. V řádku matice B, který odpovídá poslednímu zařazenému uzlu, najdeme minimum, tj. prvek b. Krok 4. Otestujeme, zda lze prvek zařadit do cyklu. Sečteme časy přejezdů mezi uzly v cyklu a přičteme b a také dobu trvání činnosti v uzlu j. Ještě připočítáme dobu návratu do výchozího uzlu, tj. cestu z uzlu j do uzlu 1. Tento součet porovnáme s pracovní dobou. V případě, že je součet menší nebo roven délce pracovní doby, zařadíme uzel j na poslední místo v cyklu. cyklu. Jestliže je součet větší než pracovní doba (délka cyklu), nezařadíme uzel j do V obou případech však vyškrtneme řádek j z matice B. Přejdeme na krok

26 Krok 5. Opakujeme krok 3 a 4, dokud nevyškrtáme celou matici B. Krok 6. z matice C. Pokud jsou již v aktuálním cyklu zařazeny nějaké uzly, vyškrtneme řádek 1 Krok 7. minimum c. V řádku matice C, který odpovídá poslednímu zařazenému uzlu, najdeme Krok 8. Testujeme, zda můžeme prvek zařadit do cyklu. Provedeme součet časů přejezdů mezi uzly v cyklu a přičteme doby trvání činností v zařazených uzlech. K tomuto součtu ještě připočteme dobu přejezdu c a také dobu trvání činnosti v uzlu j. Musíme ještě připočítat dobu návratu z uzlu j zpět do uzlu 1. Součet opět porovnáme s pracovní dobou. Pokud bude součet menší nebo roven pracovní době, zařadíme uzel j na poslední místo v cyklu. zařadit. V případě, že bude součet větší než pracovní doba, nemůžeme uzel j do cyklu V obou případech vyškrtneme řádek j z matice C a přejdeme na krok 9. Krok 9. Krok 7 a 8 opakujeme, dokud matice C ještě obsahuje nevyškrtané prvky. Krok 10. V případě, že nejsou zařazeny všechny uzly do cyklů, pokračujeme krokem 1 a vytvoříme nový cyklus, jinak výpočet končí

27 Metoda výhodnostních čísel Postup: Krok 1. Nejdříve spočítáme matici výhodnostních čísel S. Její prvky vypočítáme z matice časů přejezdů podle výrazu s ai 1 a1 j a, i j 2,3,..., n, i j,, kde A a je matice obsahující časy přejezdů mezi uzly. Krok 2. Vytvoříme matice B a C výše uvedeným postupem. Z matic B a C vyškrtneme řádky a sloupce, které odpovídají již dříve zařazeným uzlům. Z matic B a C vyškrtneme první řádek a sloupec. Pokud matice B obsahuje nějaké nevyškrtnuté prvky, pokračujeme krokem 3, jinak pokračujeme až krokem 7. Krok 3. V matici B nalezneme největší výhodnostní číslo b. Krok 4. Budeme testovat, zda lze uzly i a j zařadit do cyklu. Sečteme časy přejezdů na cyklu 1 i j 1 a činnosti v uzlech i a j. Pokud je tento součet menší nebo roven délce cyklu, zapíšeme cestu i j do výsledného cyklu a vyškrtneme prvek b ji, řádek i a sloupec j. Pokračujeme krokem 5. Jestliže je součet větší než délka cyklu, vyškrtneme prvek b. Pokud ještě nejsou vyškrtnuty všechny prvky matice B, pokračujeme krokem 3. Pokud jsou všechny prvky v matici vyškrtnuty, pokračujeme krokem 10. Krok 5. Vybereme z matice B maximum v řádku j. Toto maximum označíme b jk. Vybereme také maximum ve sloupci i a označíme ho b li. Porovnáme prvky b jk a b li

28 Jestliže je b b, otestujeme délku cyklu. Sečteme časy přejezdů na cyklu jk li 1 i... j k 1 a činnosti v uzlech i až k. Pokud je součet větší než délka cyklu, vyškrtneme prvek b jk z matice B. Pokud jsou v řádku j nebo sloupci i nějaké nevyškrtnuté prvky, pokračujeme opět krokem 5, jinak pokračujeme krokem 10. Pokud je součet menší než délka cyklu, zařadíme uzel k na konec cesty. Vyškrtneme prvek b ki a řádek j. Provedeme substituci j k a pokračujeme krokem 5. V opačném případě, tj. b b, otestujeme délku cyklu. Sečteme časy přejezdů jk li na cestě 1 l i... j 1 a činnosti v uzlech l až j. Pokud je součet větší než délka cyklu, vyškrtneme prvek b li. Pokud jsou v řádku j nebo sloupci i nevyškrtnuté prvky, budeme pokračovat krokem 5, jinak přejdeme na krok 10. Pokud je součet cesty a činností menší než délka cyklu, zařadíme uzel l na začátek cesty. Vyškrtneme prvek b lj a sloupec i z matice B. Substituujeme Krok 6. i l a pokračujeme opět krokem 5. Pokud máme vyškrtanou celou matici B a v množině U jsou stále ještě nezařazené uzly, zařadíme do cyklu první nezařazenný uzel z množiny U. Proměnné i a j budou mít shodně hodnotu indexu zařazovaného uzlu. Pokračujeme krokem 9. Krok 7. V matici C najdeme nejvyšší výhodnostní číslo c. Krok 8. Otestujeme, zda lze uzly i a j zařadit do cyklu. Sečteme časy přejezdů na cyklu 1 i j 1 a činnosti prováděné v uzlech i a j. V případě, že je tento součet menší nebo roven délce cyklu, zapíšeme cestu i j do výsledného cyklu a vyškrtneme prvek krokem 10. c ji, řádek i a sloupec j. Budeme pokračovat

29 Jestliže bude součet větší než délka cyklu, vyškrtneme z matice C prvek c. Pokud jsou v matici C ještě nevyškrtnuté prky, pokračujeme krokem 7. Pokud jsou všechny prvky v matici C vyškrtnuty, pokračujeme krokem 12. Krok 9. Pokud je první uzel i v cyklu z množiny U, musíme přidat do matice C sloupec i z matice A. Jestliže je poslední uzel j v cyklu z množiny U, přidáme do matice C řádek j z matice A. V obou případech potom vyškrtneme prvek C. Krok 10. c ji z matice V matici C vybereme největší prvek v řádku j a označíme ho c jk. Opět vybíráme nejvyšší hodnotu ve sloupci i a označíme ji c li. Porovnáme prvky c jk a c li. V případě, že c c, testujeme délku cyklu. Sečteme časy přejezdů na trase jk li 1 i... j k 1 a činnosti v uzlech i až k. Když bude součet větší než délka cyklu, vyškrtneme prvek c jk z matice C. Pokud jsou v řádku j nebo sloupci i nějaké nevyškrtnuté prvky, pokračujeme opět krokem 10. Jinak přejdeme na krok 12. Pokud je součet menší než délka cyklu, zařadíme uzel k na konec trasy. Vyškrtneme prvek c ki a řádek j. Provedeme substituci j k a pokud jsou v řádku j a sloupci i nevyškrtnuté prvky, pokračujeme krokem 10, jinak přejdeme na krok 12. V případě, že c c, opět otestujeme délku cyklu. Sečteme časy přejezdů na jk li trase 1 l i... j 1 a činnosti v uzlech l až j. Pokud je součet větší než délka cyklu, vyškrtneme z matice C prvek c li. Pokud jsou v řádku j nebo sloupci i nevyškrtnuté prvyk, pokračujeme krokem 10, jinak přejdeme na krok 12. Pokud je součet cesty a činností menší než délka cyklu, zařadíme uzel l na začátek cesty. Vyškrtneme prvek c lj a sloupec i z matice B. Provedeme substituci i l. Pokud jsou v řádku j a sloupci i nevyškrtnuté prvky, pokračujeme krokem 10, jinak přejdeme na krok

30 Krok 11. Pokud máme vyškrtanou celou matici C a v cyklu ještě není zařazen žádný uzel, zařadíme do cyklu první nezařazený uzel z množiny V a pokračujeme krokem 12. Krok 12. Na začátek a konec cyklu dosadíme uzel 1 (výchozí uzel). Pokud ještě máme nezařazené uzly, začneme nový cyklu a pokračujeme krokem 2. Pokud jsou všechny prvky zařazené, výpočet končí. Metoda nejlevnějšího vkládání Postup: Krok 1. Vybereme výchozí uzel (zvolíme uzel 1). Krok 2. Vytvoříme matici B a C podle výše uvedeného postupu. Vyškrtneme z matic B a C řádky a sloupce odpovídající již dříve zařazeným uzlům. Pokud je matice B prázdná, přejdeme na krok 6, jinak pokračujeme krokem 3. Krok 3. 1 s 1. V prvním řádku matice B nalezneme největší prvek b 1 s. Vytvoříme cestu Krok 4. Najdeme hranu i, j, která leží na vytvořeném cyklu a uzel k z množiny U, který neleží na vytvořeném cyklu tak, abychom minimalizovali výraz b ik b b. kj Hledáme uzel k, který nejméně prodlouží cyklus. Testujeme délku cyklu. Zkusíme přidat uzel k do vytvořeného cyklu. Sečteme časy přejezdů na cyklu a činnosti v uzlech. Pokud je součet menší nebo roven délce cyklu, ponecháme uzel k zařazený v cyklu a pokračujeme krokem

31 V opačném případě, když je součet větší než délka cyklu, vyškrtneme uzel k z cesty. Vyškrtneme také minimální výraz b ik b b a mezi ostatními hledáme nové minimum. Pokud jsou všechny výrazy vyškrtány, pokračujeme krokem 6. Krok 5. kj 1 s 1. V prvním řádku matice C nalezneme největší prvek c 1 s. Vytvoříme cyklus Krok 6. Hledáme hranu i, j, která leží na vytvořené cestě a uzel k z množiny V, který neleží na vytvořené cestě tak, abychom minimalizovali výraz c ik c kj c. Snažíme se najít uzel k, který co nejméně prodlouží cestu. Otestujeme délku cyklu. Přidáme uzel k do vytvořeného cyklu. Sečteme časy přejezdů a činnosti prováděné v uzlech. V případě, že je součet menší nebo roven délce cyklu, necháme uzel k zařazený v cyklu a pokračujeme krokem 6. Pokud je naopak součet větší než délka cyklu, vyškrtneme uzel k z cesty. Vyškrtneme také minimum výrazu c ik c c a mezi zbylými hledáme nové minimum. Pokud jsou všechny výrazy vyškrtány, pokračujeme krokem 7. Krok 7. Pokud ještě máme nezařazené uzly, pokračujeme krokem 2, v opačném případě výpočet končí. kj

32 3. Aplikace v MS Excel Součástí diplomové práce je aplikace Heuristiky. Je vytvořena v jazyce Visual Basic for Applications (VBA) v programu MS Excel. Tato kapitola slouží jako manuál k aplikaci Heuristiky. Popíši zde ovládání aplikace, zadávání dat a také popis možných chybových hlášení, která se můžou objevit při běhu aplikace. 3.1 Menu Všechny ovládací prvky programu jsou na listu Menu. Obrázek 3.1 Menu Jak je patrné z obrázku 3.1, menu je rozděleno do tří částí

33 V první části nazvané Úloha obchodního cestujícího si uživatel pomocí zaškrtávacích tlačítek zvolí, kterou z heuristik chce při výpočtech použít. K dispozici má následující možnosti: metoda nejbližšího souseda, metoda výhodnostních čísel a metoda nejlevnějšího vkládání. Je možné zvolit si pro výpočet jednu nebo více heuristik současně. Ve druhé části pojmenované Rozvozní úloha má uživatel na výběr heuristiku z následujících možností: metoda nejbližšího souseda, metoda výhodnostních čísel a metoda nejlevnějšího vkládání. Při volbě rozvozní úlohy je potřeba specifikovat délku cyklu a případně i jejich počet. Pro potřeby této diplomové práce je možno zadávat dvě různé délky cyklů. V případě řešení rozvozní úlohy s jednou délkou cyklu (kapacitou) je potřeba zadat stejné hodnoty pro délku cyklu 1 a pro délku cyklu 2. V případě použití různě dlouhých cyklů je vždy potřeba zadat cyklus 2 delší než cyklus 1. Rovněž je potřeba věnovat pozornost nastavení počtu delších cyklů. Poslední část ovládacího menu tvoří dvě tlačítka. Tlačítko Nové zadání slouží k vytvoření listů pro zadávání matic a vektoru a přípravě jejich struktury pro snadnější zadávání. Tlačítkem Výpočet se spouští výpočet vybraných heuristik. 3.2 Zadávání dat Před spuštěním výpočtů je nutné zadat všechna potřebná data. K výpočtům potřebujeme znát matici vzdáleností mezi uzly, matici s časy přejezdů mezi uzly a vektor činností vykonávaných v uzlech. Matice vzdáleností musí být symetrická podle hlavní diagonály. Musí mít rozměry n n, přičemž n 3. Musíme ji zadat na list Vzdalenosti. První řádek a

34 sloupec je rezervován pro záhlaví s názvy uzlů. Názvy z prvního sloupce jsou pak použity při prezentaci výsledků. Pro matici s časy přejezdů platí analogická omezení. Matice musí být symetrická podle hlavní diagonály s rozměry n n, kde n 3. Matice s časy přejezdů mezi uzly se zadává do listu Cas. Do prvního řádku a sloupce opět patří názvy uzlů. První prvek matice se zadává do buňky B2, resp. R2C2 při použití nastavení odkazů R1C1. Požadované rozměry vektoru činností jsou n 1, přičemž n 3. Zadává se do listu Cinnosti. První řádek slouží jako záhlaví a první sloupec je určen pro názvy uzlů. První prvek vektoru se zadává opět do buňky B2, resp. R2C2. Ke snadnějšímu zadávání vstupních údajů slouží tlačítko Nové zadání na listu Menu. Po jeho stisknutí se objeví následující okno (obrázek 3.2). Obrázek 3.2 Počet uzlů Do tohoto okna uživatel zadá počet uzlů. Hodnota v okně je implicitně nastavena na hodnotu 3. Počet uzlů musí být celé kladné číslo větší nebo rovno 3. V případě zadání kladného čísla, které není celé, bude zaokrouhleno. Při zadání jiných než požadovaných hodnot, např. písmen, záporných čísel apod., se objeví chybové hlášení (obrázek 3.3). Obrázek 3.3 Počet uzlů musí být celé kladné číslo větší nebo rovno

35 Při nesprávném zadání a stisknutí tlačítka OK na okně chybového hlášení se znovu objeví menu aplikace. Při vytváření nového zadání budou všechny údaje na listech Vzdalenosti, Cas a Cinnosti smazány. Po správném zadání počtu uzlů aplikace vytvoří tři nové listy a vytvoří na nich strukturu, která usnadňuje zapsání matic a vektoru. Na listu Vzdalenosti a Cas bude vytvořena následující struktura (obrázek 3.4). Na obrázku list Vzdalenosti v případě, že n = 5. Obrázek 3.4 List Vzdalenosti Listy Vzdalenosti a Cas se liší pouze textem v buňce A1. První řádek a sloupec jsou určeny pro názvy uzlů. Uzly jsou pojmenovány Uzel 1 až Uzel n. Názvy uzlů lze změnit. Aby se změna názvů projevila při prezentaci výsledků, je potřeba přejmenovat uzly v prvním sloupci na listu Vzdalenosti. Názvy uzlů v prvním řádku a na listu Cas a Cinnosti se v aplikaci nevyužívají a slouží pouze uživateli pro snadnější orientaci při zadávání dat. Na listu Cinnosti je připravena struktura znázorněná na následujícím obrázku (obrázek 3.5). Opět je uvedena ilustrace pro n

36 Obrázek 3.5 List Cinnosti První řádek slouží jako záhlaví. V prvním sloupci jsou uvedeny názvy uzlů. Do sloupce B uživatel zadá dobu trvání činnosti v uzlech. První uzel je výchozím uzlem a proto zde neprobíhá žádná činnost. Hodnota v této buňce je již přednastavena na hodnotu 0. Po vyplnění obou matic a vektoru lze spustit výpočet. 3.3 Výpočet Když jsou obě matice a vektor se vstupními daty vyplněny, můžeme přejít k výpočetní fázi. Výpočet heuristik se spouští tlačítkem Výpočty v menu. Nejprve je potřeba vybrat heuristiky, které chceme použít pro výpočet. Výběr se provádí zaškrtávacími tlačítky v menu. Můžeme vybrat jednu či více heuristik a můžeme také kombinovat výběr heuristik pro úlohu obchodního cestujícího s heuristikami pro výpočet rozvozní úlohy. Vždy však musí být zvolena alespoň jedna metoda. V opačném případě se objeví uživateli následující varování (obrázek 3.6). Obrázek 3.6 Není vybrána žádná heuristika

37 Po stisknutí tlačítka OK varování zmizí a můžeme vybrat požadovanou heuristiku a pokračovat ve výpočtech. V případě, že uživatel nevytvořil, nebo smazal list Vzdalenosti, objeví se chybové hlášení (obrázek 3.7). Obrázek 3.7 Musí být vytvořen list Vzdalenosti a zadány hodnoty Obdobná chybová hlášení se vyskytnou i v případě chybějícího listu Cas (obrázek 3.8), resp. listu Cinnosti (obrázek 3.9). Obrázek 3.8 Musí být vytvořen list Cas a zadány hodnoty Obrázek 3.9 Musí být vytvořen list Cinnosti a zadány hodnoty V situaci, kdy listy Vzdalenosti, Cas a Cinnosti existují, ale matice Vzdalenosti nebo Cas neobsahuje žádné hodnoty, zobrazí se chybové hlášení

38 (obrázek 3.10), resp. (obrázek 3.11) se souřadnicemi prvního prvku, ve kterém chybí údaje. Obrázek 3.10 Matice vzdáleností neobsahuje žádné hodnoty Obrázek 3.11 Matice časů přejezdů neobsahuje žádné hodnoty Chybějící údaje na listu Cinnosti oznamuje chybové hlášení na obrázku Obrázek 3.12 Vektor činností nesmí obsahovat prázdné buňky Mezi další chyby, kterých se může uživatel na listu Vzdalenosti dopustit, patří neplatný rozměr matice. Matice Vzdalenosti musí být vždy čtvercová o rozměru n n. Jestliže tvrzení neplatí, objeví se chybové hlášení (obrázek 3.13)

39 Obrázek 3.13 Matice vzdáleností není čtvercová Nesprávný rozměr není přípustný ani u matice Cas. V případě, že matice není čtvercová, aplikace ohlásí chybu (Obrázek 3.14). Obrázek 3.14 Matice časů přejezdů není čtvercová Matice Vzdalenosti musí být symetrická podle hlavní diagonály. Pokud to neplatí, signalizuje to následující hlášení (obrázek 3.15), ze kterého se uživatel dozví, ve kterém prvku matice k chybnému zadání došlo. Obrázek 3.15 Matice vzdáleností není symetrická podle hlavní diagonály Tvrzení o symetrii podle hlavní diagonále platí i pro matici Cas. V opačném případě to oznámí chybové hlášení (obrázek 3.16) se souřadnicemi prvku, který pravidlo porušuje

40 Obrázek 3.16 Matice s časy přejezdů není symetrická podle hlavní diagonály V případě, že uživatel nevyplní do listu Vzdalenosti kladná čísla, ale například písmena nebo jiné znaky, chybové hlášení upozorní uživatele na první buňku, ve které není číselná hodnota (obrázek 3.17). Obrázek 3.17 Matice vzdáleností neobsahuje čísla Obdobné chybové hlášení s určením nesprávně zadaného prvku se objeví i u špatného zadání do matice Cas (obrázek 3.18). Obrázek 3.18 Matice s časy přejezdů neobsahuje čísla Při zadání záporných čísel do matice Vzdalenosti chybové hlášení odkáže uživatele na první prvek v matici, ve kterém bylo pravidlo porušeno (obrázek 3.19)

41 Obrázek 3.19 Matice vzdáleností obsahuje záporná čísla Zadávání záporných hodnot není přípustné ani v matici Cas. V opačném případě bude uživatel zpozorněn chybovým hlášením se souřadnicemi prvku, který porušuje toto pravidlo (obrázek 3.20). Obrázek 3.20 Matice s časy přejezdů obsahuje záporná čísla Vektor činností musí být sloupcový. Když uživatel zadá na list Cinnosti více sloupců, bude na chybu upozorněn oznámením na obrázku Obrázek 3.21 Vektor činností musí tvořit pouze jeden sloupec V situaci, kdy uživatel nezadá do vektoru Cinnosti žádné hodnoty, upozorní ho na chybu hlášení (obrázek 3.22)

42 Obrázek 3.22 Vektor činností je prázdný Pokud uživatel vyplní vektor Cinnost nečíselnými hodnotami, upozorní ho chybové hlášení (obrázek 3.23). Obrázek 3.23 Vektor činností musí obsahovat pouze čísla V případě, že bude vektor Cinnosti obsahovat záporné hodnoty, objeví se hlášení o chybě (obrázek 3.24). Obrázek 3.24 Vektor činností musí obsahovat pouze kladná čísla V aplikaci jsou nastaveny minimální rozměry matice Vzdalenosti. Při nedodržení požadavku minimálního rozměru matice Vzdalenosti n 3, upozorní uživatele hlášení (obrázek 3.25)

43 Obrázek 3.25 Minimální rozměr matice vzdáleností je 3 3 Požadavek minimálních rozměrů, n 3, platí i pro matici Cas. Jejich nedodržení je oznámeno uživateli (obrázek 3.26). Obrázek 3.26 Minimální rozměr matice s časy přejezdů je 3 3 Minimální požadavek na rozměr vektoru Cinnosti je 3 1. V případě menšího počtu řádků je zobrazeno chybové okno (obrázek 3.27). Obrázek 3.27 Minimální rozměr vektoru činností je 3 1 Následují poslední, ale neméně důležité kontroly rozměrů matic a vektoru. Matice Vzdalenosti a Cas musí mít stejný rozměr n n a vektor Cinnosti musí mít rozměr n 1, kde n 3. Nejdříve jsou porovnány rozměry matic Vzdalenosti a Cas. Pokud matice nemají shodné rozměry, oznámí to uživateli chybové hlášení (obrázek 3.28)

44 Obrázek 3.28 Matice vzdáleností nemá stejný rozměr jako matice časů přejezdů Další kontrola porovnává rozměr matice Vzdalenosti s počtem řádků vektoru Cinnosti. V případě nestejného rozměru je to oznámeno uživateli (obrázek 3.29). Obrázek 3.29 Vektor činností nemá stejný počet řádků jako matice vzdáleností Tyto dva testy stačí na ověření rozměrů dvou matic a vektoru. Shodný počet sloupců a řádků matice Cas a řádků vektoru Cinnosti vyplývá ze splnění předchozích dvou podmínek. Následující odstavce se týkají pouze výpočtů heuristik pro rozvozní úlohu. Údaje o délce a počtu cyklů je třeba vyplnit pouze při výpočtech rozvozní úlohy. Při výpočtu rozvozní úlohy je třeba zadat délku cyklu 1. V našem aplikačním příkladu se jedná o denní pracovní dobu. Pro tuto hodnotu platí pouze jedno omezení. Délka cyklu musí být kladné číslo. Při nedodržení tohoto předpokladu je chyba oznámena uživateli (obrázek 3.30)

45 Obrázek 3.30 Délka cyklu 1 musí být kladné číslo Dalším údajem, který je potřeba vyplnit, je délka cyklu 2. Platí pro něj stejné omezení jako pro délku cyklu 1 (obrázek 3.31). Obrázek 3.31 Délka cyklu 2 musí být kladné číslo Délka cyklu 2 se použe v případě, kdy máme dvě různé délky cyklů. V aplikačním příkladu se jedná o dvoudenní pracovní dobu. V případě, že chceme využít pouze jednu délku cyklu, nastavíme hodnotu délka cyklu 2 stejnou jako délka cyklu 1. V případě, kdy je zadaná délka cyklu 2 menší než délka cyklu 1, objeví se hlášení o chybě (obrázek 3.32). Obrázek 3.32 Délka cyklu 2 nesmí být menší než délka cyklu 1 Pokaždé, když využeme dvě různé délky cyklů, musíme specifikovat počet delších cyklů 2. Hodnota počet cyklů 2 musí být vždy kladné celé číslo nebo nula. Pokud předchozí tvrzení neplatí, oznámí to uživateli chybové hlášení (obrázek 3.33)

46 Obrázek 3.33 Počet cyklů 2 musí být kladné celé číslo nebo nula Po splnění všech předchozích podmínek se spustí algoritmus, který prozkoumá cesty z uzlu 1 do uzlu i + činnost v uzlu i + návrat do uzlu 1, pro i 2,3,..., n. Pokud doba trvání některé cesty přesáhne délku cyklu 2, je nabídnuta uživateli nová délka cyklu 2, aby mohly být do cyklu zařazeny všechny uzly (obrázek 3.34). Obrázek 3.34 Délka cyklu musí být minimálně Výše zmíněný algoritmus také zjistí, kolik cyklů je delších než nastavená délka cyklu 1 a pokud je uživatelem nastavený počet cyklů 2 nižší, nabídne upravenou hodnotu, aby bylo možné zařadit všechny uzly do cyklů (obrázek 3.35). Obrázek 3.35 Počet cyklů 2 musí být minimálně

47 Když uživatel zadá všechny hodnoty správně, spustí se samotný výpočet všech zvolených heuristik. Výsledky heuristik se objeví na listech Vysledky i, kde i je pořadové číslo listu

48 3.4 Výsledky Výsledky vybraných heuristik se po dokončení výpočtů zobrazí na listech Vysledky. Tyto listy jsou pro přehlednost označeny vzestupně pořadovými čísly podle pořadí výpočtů. Nyní budu popisovat interpretaci výsledků. Jako ilustrace bude sloužit pro úlohu obchodního cestujícího příklad se třemi, resp. pro rozvozní úlohu se čtyřmi uzly. Nejdříve popíši interpretaci výsledků při výpočtech úlohy obchodního cestujícího se třemi uzly. Obrázek 3.36 Výsledky - úloha obchodního cestujícího Na listu s výsledky jsou uvedeny uzly v pořadí, v jakém budou ve výsledném cyklu navštíveny. Výchozí uzel je v prvním řádku tabulky a je zvýrazněn tučným písmem. U výchozího uzlu je políčko ve sloupci Činnosti proškrtnuto, protože ve výchozím uzlu neprobíhá žádná činnost. Ve sloupci jízda je uvedena hodnota 0,35. Tento údaj znamená, že doba jízdy mezí výchozím uzlem Fučíkova 153, Lužec nad Vltavou a prvním navštíveným uzlem v cyklu, Zámek Nelahozeves, Nelahozeves 1, trvá 0,35 hodiny. V posledním sloupci Vzdálenost je uvedena vzdálenost mezi výchozím uzlem Fučíkova 153, Lužec nad Vltavou a prvním navštíveným uzlem Zámek Nelahozeves, Nelahozeves 1. Tato vzdálenost činí 15,3 km

49 Ve druhém uzlu cyklu (Zámek Nelahozeves, Nelahozeves 1) je ve sloupci činnost zapsána hodnota 1. Tento údaj znamená, že činnost, která je vykonána v tomto uzlu, trvá 1 hodinu. Poslední uzel cyklu je shodný s výchozím uzlem. Opět zde neprobíhá žádná činnost. Protože je to koncový uzel cyklu, je i jízda z uzlu a vzdálenost proškrtnuta. Koncový uzel je opět zvýrazněn tučně. Pod tímto soupisem uzlů s činnostmi, časy jízd a vzdálenostmi je souhrnná tabulka. V této tabulce je pro snazší orientaci ve výsledcích uveden název heuristiky, která byla k výpočtům použita. V našem případě se jedná o metodu nejbližšího souseda. Údaj TSP v závorce za názvem metody znamená zkratku Traveling Salesman Problem. Tímto nápisem se rozlišuje, zda se jedná o rozvozní úlohu nebo v našem případě o úlohu obchodního cestujícího. V tabulce jsou uvedeny součty trvání činností, součty celkové doby strávené jízdou mezi uzly a celková ujetá vzdálenost mezi uzly. Rozdíly v prezentaci výsledků rozvozní úlohy a úlohy obchodního cestujícího ilustrujeme na následujícím výpisu výsledků. Příklad na obrázku 3.37 ukazuje příklad pro čtyři uzly. Obrázek 3.37 Výsledky rozvozní úloha Při srovnání obrázků 3.36 a 3.37 vidíme, že výpisy pro úlohu obchodního cestujícího a rozvozní úlohu jsou velmi podobné. I v této úloze je výchozí a koncový uzel zvýrazněn tučně. Na ilustraci vidíme, že výsledkem výpočtů jsou dva cykly. První cyklus začíná v uzlu Fučíkova 153, Lužec nad

50 Vltavou, prochází uzly Zámek Nelahozeves, Nelahozeves 1, Senovážné náměstí 2, Praha 1 a končí opět v uzlu Fučíkova 153, Lužec nad Vltavou. Tento uzel je koncový uzel prvního cyklu. Protože ještě nebyly zařazeny všechny uzly do cyklů, začne v uzlu Fučíkova 153, Lužec nad Vltavou nový cyklus. Tento cyklus obsahuje výchozí uzel, cesta pokračuje do uzlu T. G. Masaryka 115, Ústí nad Orlicí a protože jsou již všechny uzly zařazeny do cyklů, cesta pokračuje zpět do výchozího uzlu Fučíkova 153, Lužec nad Vltavou. Ze souhrnné tabulky na konci výpisu výsledků se dozvíme, že byl výpočet proveden metodou nejbližšího souseda. Nyní je však v závorce uvedena zkratka VRP. Ze zkratky slov Vehicle Routing Problem se dozvíme, že výpočty byly provedeny algoritmem modifikovaným pro rozvozní úlohu. V tabulce jsou opět uvedeny sumace trvání činností, jízdy mezi uzly a vzdáleností mezi navštívenými uzly

51 4. Praktická část Tato kapitola je věnována řešení případu z praxe. V úvodní části popíši zadání příkladu a volbu modelů. Potom se budu zabývat sběrem a popisem dat. Provedu výpočet v programu LINGO 2 a v aplikaci Heuristiky, která je součástí diplomové práce. Na závěr zhodnotím dosažené výsledky a zhodnotím přínos jednotlivých heuristik. 4.1 Zadání problému V této části práce nastíním zadání problému, který budu řešit heuristickými metodami a v programu LINGO. Pro potřeby této diplomové práce jsem získal data od pana Jindřicha Kartáka. Jedná se o fyzickou osobu podnikající na základě živnostenského oprávnění. Předmětem podnikání je: montáž, opravy, revize a zkoušky elektrických zařízení 3. Místem podnikání je Fučíkova 153, , Lužec nad Vltavou. Získal jsem seznam padesáti adres, které revizní technik navštívil. Ke každé adrese mám také popis činnosti, kterou na dané adrese vykonal a také délku trvání této činnosti. Na začátek seznamu jsem připojil místo podnikání, které bude vždy výchozím uzlem. Mým cílem bylo naplánovat trasu, aby mohl revizní technik navštívit všechna místa v co nejkratším čase a pokud to bude možné, porovnat varianty podle nákladů. Při řešení problému jsem použil tři modely. Prvním modelem je úloha obchodního cestujícího. Řešením tohoto modelu získáme nepřerušenou trasu se všemi adresami (uzly) s návratem do výchozího uzlu. Tento model má při řešení našeho problému vážný nedostatek. Trasa, kterou získáme, je nepřerušená a revizní technik by tudíž bez přestávek musel pracovat, v lepším případě, několik dní bez přerušení, než by byl cyklus ukončen znovu v místě podnikání. To není zcela realistický předpoklad, cykly proto musí být kratší. Také zákazníci by zřejmě 2 Optimalizační systém LINGO je produktem firmy Lindo Systems Inc. ( 3 [6]

52 neměli pochopení, kdyby revizní technik přel pracovat v pozdních nočních hodinách. Tento model však také vypočítám, protože může sloužit k porovnání heuristik a pokud to bude možné i k porovnání výsledku z programu LINGO. Model úlohy obchodního cestujícího není nejlepším řešením pro naši úlohu. Aby byl model realističtější, přidáme do něj pracovní dobu, tím získáme rozvozní úlohu. Pracovní dobu nastavíme na 10 hodin. Pracovní doba je o delší než běžných 8 nebo 8,5 hodin, ale v úloze zabere spoustu času cestování, proto jsem zvětšil pracovní dobu. Nyní již máme celkem realistické předpoklady. Takový model je modelem 1 rozvozní úlohy (2.18) a (2.19). Ve třetím modelu, kterým se budeme zabývat, uvolníme předpoklad pracovní doby. V modelu 1 zabere spoustu času cestování mezi uzly. Pokud zvětšíme pracovní dobu (délku cyklu), může revizní technik strávit více času podstatou svého podnikání a méně času nezbytným cestováním. V modelu 2 tedy povolíme delší pracovní dobu. Nyní máme dvě možnosti jak prodloužit pracovní dobu. První možností je zvětšit pracovní dobu o práci přesčas, např. na 12 hodin. Druhou možností je povolit služební cesty. To by znamenalo, že revizní technik bude pracovat 10 hodin, potom práci přeruší a přenocuje poblíž místa, kde se zrovna nachází. Druhý den bude znovu 10 hodin pracovat a na konci druhého dne se vrátí do výchozího uzlu. Tato varianta nese zvýšené náklady za ubytování na služební cestě, ale náklady na cestování by se měly snížit. V modelu 2 jsem se rozhodl pro druhou variantu se služebními cestami. Při zběžném nahlédnutí do adres a činností zjistíme, že např. činnost na adrese Na Průhoně 3412, Mělník 1 trvá 20 hodin. Revizní technik by musel práci přerušit, protože práci nelze vykonat v deseti hodinové pracovní době. Podobných činností najdeme ještě několik. Tento poznatek vybízí k využití služebních cest v modelu. K řešení modelů použi heuristické metody. Budu používat metodu nejbližšího souseda, metodu výhodnostních čísel a metodu nejlevnějšího vkládání. V případě, že to bude možné, použi výpočty pomocí programu LINGO

53 4.2 Popis a sběr dat K výpočtům v aplikaci Heuristiky potřebujeme znát několik údajů. Jedná se o matici vzdáleností mezi uzly, matici s časy přejezdů mezi uzly a vektor s délkami trvání činností v jednotlivých uzlech. Ze zadání problému známe pouze uzly a délky trvání činností v nich. K výpočtům musíme získat matici vzdáleností a matici s časy přejezdů. Obě matice jsem získal na serveru pomocí plánovače tras. Obrázek 4.1 Plánovač tras, první část

54 Obrázek 4.2 Plánovač tras, druhá část V plánovači tras jsem vždy volil nejrychlejší cesty, protože úkolem je minimalizace potřebného času. Z okna v pravé části (obrázek 4.2) získáme údaje o celkové délce a celkovém času. Do plánovače jsem postupně zadal všechny párové kombinace 51 uzlů a získal jsem polovinu matic pod hlavní diagonálou. Údaje jsem vždy zkopíroval i do horní poloviny matice. Tím jsem získal potřebnou matici vzdáleností a matici s časy přejezdů mezi uzly. V dalších částech diplomové práce budu provádět i nákladovou analýzu. Pro analyzování nákladů musíme znát náklady vztažené na jeden ujetý kilometr. Dále při služebních cestách musíme znát i náklady na ubytování. Pokud chceme analyzovat náklady na jeden ujetý kilometr, musíme znát několik údajů. Důležitým faktorem je cena pohonných hmot a také typ vozidla. Od typu vozidla se odvíjí druh pohonných hmot, spotřeba a výpočet amortizace. Revizní technik v našem případě používá k podnikání automobil Škoda Octavia Combi 1.9 TDI. Z údajů o tomto voze budeme vycházet při dalších výpočtech. Druh

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE. Teze diplomové práce

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE. Teze diplomové práce ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE FAKULTA PROVOZNĚ EKONOMICKÁ KATEDRA SYSTÉMOVÉ A OPERAČNÍ ANALÝZY Obor: Veřejná správa a regionální rozvoj Teze diplomové práce Optimalizace tras pro cestovní kanceláře

Více

2 Spojité modely rozhodování

2 Spojité modely rozhodování 2 Spojité modely rozhodování Jak již víme z přednášky, diskrétní model rozhodování lze zapsat ve tvaru úlohy hodnocení variant: f(a i ) max, a i A = {a 1, a 2,... a p }, kde f je kriteriální funkce a A

Více

GRAFY A GRAFOVÉ ALGORITMY

GRAFY A GRAFOVÉ ALGORITMY KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ

Více

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j. Kapitola 3 Počítání s maticemi Matice stejného typu můžeme sčítat a násobit reálným číslem podobně jako vektory téže dimenze. Definice 3.1 Jsou-li A (a ij ) a B (b ij ) dvě matice stejného typu m n, pak

Více

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace UNIVERZITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA KATEDRA MATEMATICKÉ ANALÝZY A APLIKACÍ MATEMATIKY BAKALÁŘSKÁ PRÁCE Numerické metody jednorozměrné minimalizace Vedoucí bakalářské práce: RNDr. Horymír

Více

7. přednáška Systémová analýza a modelování. Přiřazovací problém

7. přednáška Systémová analýza a modelování. Přiřazovací problém Přiřazovací problém Přiřazovací problémy jsou podtřídou logistických úloh, kde lze obecně říci, že m dodavatelů zásobuje m spotřebitelů. Dalším specifikem je, že kapacity dodavatelů (ai) i požadavky spotřebitelů

Více

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami. Maticové operace Definice Skalár Představme si nějakou množinu, jejíž prvky lze sčítat a násobit. Pěkným vzorem jsou čísla, která už známe od mala. Prvky takové množiny nazýváme skaláry. Matice Matice

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_33_03 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

B a k a l ářská práce

B a k a l ářská práce Vysoká škola ekonomická v Praze Fakulta managementu v Jindřichově Hradci B a k a l ářská práce Josef Hodonský 2007 Vysoká škola ekonomická v Praze Fakulta managementu Jindřichův Hradec B a k a l ářská

Více

Stručný manuál k ovládání programu STATISTICA. Mgr. Petra Beranová Ing. Miloš Uldrich

Stručný manuál k ovládání programu STATISTICA. Mgr. Petra Beranová Ing. Miloš Uldrich Stručný manuál k ovládání programu STATISTICA Mgr. Petra Beranová Ing. Miloš Uldrich Copyright StatSoft CR s.r.o. 2011 StatSoft CR s.r.o. Ringhofferova 115/1 155 21 Praha 5 Zličín tel.: +420 233 325 006

Více

Jak pracovat s absolutními hodnotami

Jak pracovat s absolutními hodnotami Jak pracovat s absolutními hodnotami Petr Matyáš 1 Co to je absolutní hodnota Absolutní hodnota čísla a, dále ji budeme označovat výrazem a, je jeho vzdálenost od nuly na ose x, tedy je to vždy číslo kladné.

Více

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97 Vybrané části Excelu Ing. Petr Adamec Brno 2010 Cílem předmětu je seznámení se s programem Excel

Více

Vícekriteriální hodnocení variant metody

Vícekriteriální hodnocení variant metody Katedra aplikované matematiky a informatiky Jihočeská Univerzita v Českých Budějovicích, Ekonomická fakulta 2010 Metody vícekriteriální hodnocení variant (VHV) Jak jsme již zmiňovali, VHV obecně neposkytuje

Více

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry. Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít

Více

Příklad bezprostředně navazuje na předchozí příklad č. 17. Bez zvládnutí příkladu č. 17 není možné pokračovat

Příklad bezprostředně navazuje na předchozí příklad č. 17. Bez zvládnutí příkladu č. 17 není možné pokračovat Příklad zahrnuje Textová editace buněk Základní vzorce Vložené kliparty Propojené listy Grafi cká úprava buněk Složitější vzorce Vložené externí obrázky Formuláře Úprava formátu Vysoce speciální funkce

Více

Přiřazovací problém. Přednáška č. 7

Přiřazovací problém. Přednáška č. 7 Přiřazovací problém Přednáška č. 7 Přiřazovací problém je jednou podtřídou logistických úloh. Typickým problémem může být nejkratší převoz materiálu od dodavatelů ke spotřebitelům. spotřebitelé a i dodavatelé

Více

Operační výzkum. Přiřazovací problém.

Operační výzkum. Přiřazovací problém. Operační výzkum 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..7/2.2./28.326

Více

12. Lineární programování

12. Lineární programování . Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)

Více

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení

Více

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení 4EK213 Lineární modely 12. Dopravní problém výchozí řešení 12. Distribuční úlohy LP Úlohy výrobního plánování (alokace zdrojů) Úlohy finančního plánování (optimalizace portfolia) Úlohy reklamního plánování

Více

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO Heuristické algoritmy jsou speciálními algoritmy, které byly vyvinuty pro obtížné úlohy, jejichž řešení je obtížné získat v rozumném čase. Mezi

Více

8. Posloupnosti, vektory a matice

8. Posloupnosti, vektory a matice . jsou užitečné matematické nástroje. V Mathcadu je často používáme například k rychlému zápisu velkého počtu vztahů s proměnnými parametry, ke zpracování naměřených hodnot, k výpočtům lineárních soustav

Více

Rámcový manuál pro práci s programem TopoL pro Windows

Rámcový manuál pro práci s programem TopoL pro Windows Rámcový manuál pro práci s programem TopoL pro Windows Příkazy v nabídce Předmět Volba rastru rychlá klávesa F4 Příkaz otevře vybraný rastr; tj. zobrazí ho v předmětu zájmu. Po vyvolání příkazu se objeví

Více

skladbu obou směsí ( v tunách komponenty na 1 tunu směsi):

skladbu obou směsí ( v tunách komponenty na 1 tunu směsi): Klíčová slova: simplexová metoda 1 Simplexová metoda Postup výpočtu: 1. Nalezení výchozího řešení. 2. Test optima: pokud je řešení optimální výpočet končí, jinak krok 3. 3. Iterační krok, poté opět test

Více

Lineární programování

Lineární programování Lineární programování Úlohy LP patří mezi takové úlohy matematického programování, ve kterých jsou jak kriteriální funkce, tak i všechny rovnice a nerovnice podmínek výhradně tvořeny lineárními výrazy.

Více

Matematika I: Aplikované úlohy

Matematika I: Aplikované úlohy Matematika I: Aplikované úlohy Zuzana Morávková Katedra matematiky a deskriptivní geometrie VŠB - Technická univerzita Ostrava 260. Řy 283 - Pálkař Zadání Pálkař odpálí míč pod úhlem α = 30 a rychlostí

Více

Karnaughovy mapy. Pravdivostní tabulka pro tři vstupní proměnné by mohla vypadat například takto:

Karnaughovy mapy. Pravdivostní tabulka pro tři vstupní proměnné by mohla vypadat například takto: Karnaughovy mapy Metoda je použitelná již pro dvě vstupní proměnné, své opodstatnění ale nachází až s větším počtem vstupů, kdy návrh takového výrazu přestává být triviální. Prvním krokem k sestavení logického

Více

Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Jiří Neubauer. Katedra ekonometrie FEM UO Brno Přednáška č. 11 Katedra ekonometrie FEM UO Brno Jedná se o speciální případ dopravních úloh, řeší např. problematiku optimálního přiřazení strojů na pracoviště. Příklad Podnik má k dispozici 3 jeřáby,

Více

Popis změn verze 2010.5

Popis změn verze 2010.5 2010 komplexní ekonomický systém Popis změn verze 2010.5 FUKSA s.r.o. Sedlčanská 1327/65 140 00 Praha 4 Tel. 261 264 125, 603 463 137 E-mail alfis@fksoft.cz Web www.alfis.cz, www.fksoft.cz Veškeré zde

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 Mgr. Sekničková Jana, Ph.D. 2. PŘEDNÁŠKA MATEMATICKÝ MODEL ÚLOHY LP Mgr. Sekničková Jana, Ph.D. 2 OSNOVA PŘEDNÁŠKY Obecná formulace MM Množina

Více

Manuál k užívání aplikace Monitoringrejstriku.cz

Manuál k užívání aplikace Monitoringrejstriku.cz Manuál k užívání aplikace Monitoringrejstriku.cz Verze aplikace 2.0, říjen 2015 Copyright 2014, Insolvence 2008, a.s. Omezující podmínky pro zveřejnění, poskytnutí údajů: Tento dokument obsahuje informace

Více

UNIVERSITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA. KATEDRA MATEMATICKÉ ANALÝZY A APLIKACÍ MATEMATIKY školní rok 2009/2010 BAKALÁŘSKÁ PRÁCE

UNIVERSITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA. KATEDRA MATEMATICKÉ ANALÝZY A APLIKACÍ MATEMATIKY školní rok 2009/2010 BAKALÁŘSKÁ PRÁCE UNIVERSITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA KATEDRA MATEMATICKÉ ANALÝZY A APLIKACÍ MATEMATIKY školní rok 2009/2010 BAKALÁŘSKÁ PRÁCE Testy dobré shody Vedoucí diplomové práce: RNDr. PhDr. Ivo

Více

4EK311 Operační výzkum. 5. Teorie grafů

4EK311 Operační výzkum. 5. Teorie grafů 4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,

Více

EKONOMICKO-MATEMATICKÉ METODY

EKONOMICKO-MATEMATICKÉ METODY UNIVERZITA OBRANY KATEDRA EKONOMETRIE UČEBNÍ TEXT PRO DISTANČNÍ STUDIUM EKONOMICKO-MATEMATICKÉ METODY RNDr. Michal ŠMEREK doc. RNDr. Jiří MOUČKA, Ph.D. B r n o 2 0 0 8 Anotace: Skriptum Ekonomicko-matematické

Více

Jak připravit žákům trenažer pro cvičení jednoduchých dovedností

Jak připravit žákům trenažer pro cvičení jednoduchých dovedností Jak připravit žákům trenažer pro cvičení jednoduchých dovedností Ukázka 17 Trenažery Aktivní nástroje Pole pro vkládání textu, tlačítko Modely určené k procvičování model prvý bez skriptování Modely, které

Více

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25 Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

E-learningový systém Moodle

E-learningový systém Moodle NÁZEV PROJEKTU: ZVYŠOVÁNÍ PROFESNÍ KVALIFIKACE A INOVOVÁNÍ VZDĚLÁVACÍCH PROGRAMŮ SVÁŘENÍ REGISTRAČNÍ ČÍSLO PROJEKTU: CZ.1.07/3.2.03/03.0023 AUTOR: ING. ČENĚK ŘÍHA ROK: 2012 E-learningový systém Moodle

Více

Office 2013. podrobný průvodce. Tomáš Šimek

Office 2013. podrobný průvodce. Tomáš Šimek Office 2013 podrobný průvodce Tomáš Šimek Seznámení se společnými postupy při práci s dokumenty Office Popis základních a pokročilejších postupů při práci s Wordem, Excelem, PowerPointem a OneNote Možnosti

Více

(Auto)korelační funkce. 2. 11. 2015 Statistické vyhodnocování exp. dat M. Čada www.fzu.cz/ ~ cada

(Auto)korelační funkce. 2. 11. 2015 Statistické vyhodnocování exp. dat M. Čada www.fzu.cz/ ~ cada (Auto)korelační funkce 1 Náhodné procesy Korelace mezi náhodnými proměnnými má široké uplatnění v elektrotechnické praxi, kde se snažíme o porovnávání dvou signálů, které by měly být stejné. Příkladem

Více

Teoretická rozdělení

Teoretická rozdělení Teoretická rozdělení Diskrétní rozdělení Obsah kapitoly Studijní cíle Doba potřebná ke studiu Pojmy k zapamatování Úvod Některá teoretická rozdělení diskrétních veličin: Alternativní rozdělení Binomické

Více

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka

Více

VZDĚLÁVACÍ MATERIÁL III/2

VZDĚLÁVACÍ MATERIÁL III/2 VZDĚLÁVACÍ MATERIÁL III/2 Vy_32_inovace_011_Pl7 Vzdělávací oblast: Vzdělávací obor (okruh): Vyučovací předmět: Informační a komunikační technologie Informatika Informatika Téma: MS Excel 2007 Očekávaný

Více

6. T e s t o v á n í h y p o t é z

6. T e s t o v á n í h y p o t é z 6. T e s t o v á n í h y p o t é z Na základě hodnot z realizace náhodného výběru činíme rozhodnutí o platnosti hypotézy o hodnotách parametrů rozdělení nebo o jeho vlastnostech. Používáme k tomu vhodně

Více

Vítězslav Bártl. září 2012

Vítězslav Bártl. září 2012 VY_32_INOVACE_VB01_W Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, vzdělávací obor, tematický okruh, téma Anotace Vítězslav

Více

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28.

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28. Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

Obr. P1.1 Zadání úlohy v MS Excel

Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel. Výpočet budeme demonstrovat

Více

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov Implementace A* algoritmu na konkrétní problém orientace v prostoru budov Popis problému Orientaci ve známém prostředí lze převést na problém nalezení cesty z místa A do místa B. Obecně platí, že robot

Více

2. Matice, soustavy lineárních rovnic

2. Matice, soustavy lineárních rovnic Matice, soustavy lineárních rovnic Tento učební text byl podpořen z Operačního programu Praha- Adaptabilita Irena Sýkorová Některé vlastnosti matic Uvažujmečtvercovoumatici A=(a ij ) n n Matice Asenazývásymetrická,jestližeplatí

Více

Úvod do úloh plánování rozvozu (Vehicle Routing Problems)

Úvod do úloh plánování rozvozu (Vehicle Routing Problems) Úvod do úloh plánování rozvozu (Vehicle Routing Problems) RNDr. Martin Branda, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra pravděpodobnosti a matematické statistiky Výpočetní

Více

V praxi pracujeme s daty nominálními (nabývají pouze dvou hodnot), kategoriálními (nabývají více

V praxi pracujeme s daty nominálními (nabývají pouze dvou hodnot), kategoriálními (nabývají více 9 Vícerozměrná data a jejich zpracování 9.1 Vícerozměrná data a vícerozměrná rozdělení Při zpracování vícerozměrných dat, hledáme souvislosti mezi dvěmi, případně více náhodnými veličinami. V praxi pracujeme

Více

STATISTICA Téma 8. Regresní a korelační analýza, regrese prostá

STATISTICA Téma 8. Regresní a korelační analýza, regrese prostá STATISTICA Téma 8. Regresní a korelační analýza, regrese prostá 1) Lineární i nelineární regrese prostá, korelace Naeditujeme data viz obr. 1. Obr. 1 V menu Statistika zvolíme submenu Pokročilé lineární/nelineární

Více

KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO LINEÁRNÍ ALGEBRA 1 OLGA KRUPKOVÁ VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN

KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO LINEÁRNÍ ALGEBRA 1 OLGA KRUPKOVÁ VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO LINEÁRNÍ ALGEBRA 1 OLGA KRUPKOVÁ VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY

Více

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie Několik poznámek na téma lineární algebry pro studenty fyzikální chemie Jiří Kolafa Vektory. Vektorový prostor Vektor je často zaveden jako n-tice čísel, (v,..., v n ), v i R (pro reálný vektorový prostor);

Více

3 Úloha lineární optimalizace

3 Úloha lineární optimalizace 3 Úloha lineární optimalizace Od této přednášky se začneme zabývat jistou obsáhlou a dobře prozkoumanou třídou optimalizačních úloh zvanou úlohy lineární optimalizace, neboli lineární programování LP.

Více

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel 2007. Výpočet budeme demonstrovat

Více

Popis změn verze 2008.51

Popis změn verze 2008.51 2008 komplexní ekonomický systém Popis změn verze 2008.51 FKsoft Fuksa Ladislav Ing. Sedlčanská 1327/65 140 00 Praha 4 Tel. 261 264 125, 603 463 137 E-mail alfis@fksoft.cz Web www.alfis.cz, www.fksoft.cz

Více

Vzdělávání v egoncentru ORP Louny

Vzdělávání v egoncentru ORP Louny Zpracováno v rámci projektu č. CZ.1.04/4.1.00/40.00067 Vzdělávání v egoncentru ORP Louny Město Louny Obsah 1. Databáze... 4 2. Třídění pomocí filtrů... 5 3. Ukotvení a uvolnění příček... 6 3.1 Ukotvení

Více

Zásoby_Evidenční výroba Návod pro uživatele +1367

Zásoby_Evidenční výroba Návod pro uživatele +1367 Zásoby_Evidenční výroba Návod pro uživatele +1367 21.8.2015 Major Bohuslav, Ing. Datum tisku 21.9.2015 2 Zásoby_Evidenční výroba Za soby_evidenč ní vy roba Obsah Úvod... 3 Blokové schéma... 3 Volba kategorií...

Více

PROBLÉM ČTYŘ BAREV. Lze obarvit jakoukoliv mapu v rovině čtyřmi barvami tak, aby žádné dvě sousedící oblasti neměly stejnou barvu?

PROBLÉM ČTYŘ BAREV. Lze obarvit jakoukoliv mapu v rovině čtyřmi barvami tak, aby žádné dvě sousedící oblasti neměly stejnou barvu? ROBLÉM ČTYŘ BAREV Lze obarvit jakoukoliv mapu v rovině čtyřmi barvami tak, aby žádné dvě sousedící oblasti neměly stejnou barvu? ROBLÉM ČTYŘ BAREV L KH ROBLÉM ČTYŘ BAREV Vytvoříme graf Kraje = vrcholy

Více

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2 Výpočet transformačních koeficinetů vybraných 2D transformací Jan Ježek červen 2008 Obsah Odvození transformačního klíče vybraných 2D transformací 2 Meto vyrovnání 2 2 Obecné vyjádření lineárních 2D transformací

Více

Jazyk matematiky. 2.1. Matematická logika. 2.2. Množinové operace. 2.3. Zobrazení. 2.4. Rozšířená číslená osa

Jazyk matematiky. 2.1. Matematická logika. 2.2. Množinové operace. 2.3. Zobrazení. 2.4. Rozšířená číslená osa 2. Jazyk matematiky 2.1. Matematická logika 2.2. Množinové operace 2.3. Zobrazení 2.4. Rozšířená číslená osa 1 2.1 Matematická logika 2.1.1 Výrokový počet logická operace zapisujeme čteme česky negace

Více

3. Optimalizace pomocí nástroje Řešitel

3. Optimalizace pomocí nástroje Řešitel 3. Optimalizace pomocí nástroje Řešitel Rovnováha mechanické soustavy Uvažujme dvě různé nehmotné lineární pružiny P 1 a P 2 připevněné na pevné horizontální tyči splývající s osou x podle obrázku: (0,0)

Více

DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU

DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU ČVUT V PRAZE FAKULTA INFORMAČNÍCH TECHNOLOGIÍ JAN SCHMIDT A PETR FIŠER MI-PAA DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU EVROPSKÝ SOCIÁLNÍ FOND PRAHA A EU: INVESTUJEME DO VAŠÍ BUDOUCNOSTI Dynamické programování

Více

Gymnázium, Brno. Matice. Závěrečná maturitní práce. Jakub Juránek 4.A Školní rok 2010/11

Gymnázium, Brno. Matice. Závěrečná maturitní práce. Jakub Juránek 4.A Školní rok 2010/11 Gymnázium, Brno Matice Závěrečná maturitní práce Jakub Juránek 4.A Školní rok 2010/11 Konzultant: Mgr. Aleš Kobza Ph.D. Brno, 2011 Prohlášení Prohlašuji, že jsem předloženou práci zpracoval samostatně

Více

Návod na instalaci a popis změn

Návod na instalaci a popis změn Návod na instalaci a popis změn (popis změn je uveden v závěru dokumentu) 1. Instalace upgrade 2014.526 Upgrade je možné instalovat až po instalaci a zadání licenčního čísla (nahrání licenční diskety)

Více

4EK311 Operační výzkum. 4. Distribuční úlohy LP část 1

4EK311 Operační výzkum. 4. Distribuční úlohy LP část 1 4EK311 Operační výzkum 4. Distribuční úlohy LP část 1 4. Distribuční úlohy LP Úlohy výrobního plánování (alokace zdrojů) Úlohy finančního plánování (optimalizace portfolia) Úlohy reklamního plánování (plánování

Více

Euklidovský prostor Stručnější verze

Euklidovský prostor Stručnější verze [1] Euklidovský prostor Stručnější verze definice Eulidovského prostoru kartézský souřadnicový systém vektorový součin v E 3 vlastnosti přímek a rovin v E 3 a) eprostor-v2, 16, b) P. Olšák, FEL ČVUT, c)

Více

Jednotkové rozhodování v energetice

Jednotkové rozhodování v energetice 24.11.2009 Literatura Gollmer, R., Nowak, M. P., Romisch, W. and Schultz, R., Unit commitment in power generation A basic model and some extensions, Annals of Operations Research, v96, pp. 167-189, 2000.

Více

Knihomol. Manuál pro verzi 1.2

Knihomol. Manuál pro verzi 1.2 Knihomol Manuál pro verzi 1.2 Strana - 2 - I. Základy práce s programem Úvod do práce s programem Knihomol: Program knihomol slouží pro vedení evidence spojené s provozem malé knihovny. Je určen především

Více

NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková

NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková studijní materiál ke kurzu Odborné publikování, citační etika a autorské právo s podporou ICT Fakulta informatiky a managementu Univerzity Hradec

Více

3. Matice a determinanty

3. Matice a determinanty . Matice a determinanty Teorie matic a determinantů představuje úvod do lineární algebry. Nejrozsáhlejší aplikace mají matice a determinanty při řešení systémů lineárních rovnic. Pojem determinantu zavedl

Více

ISPOP 2016 MANUÁL K VYPLNĚNÍ FORMULÁŘŮ PRO OHLAŠOVÁNÍ ÚDAJŮ PRO VODNÍ BILANCI

ISPOP 2016 MANUÁL K VYPLNĚNÍ FORMULÁŘŮ PRO OHLAŠOVÁNÍ ÚDAJŮ PRO VODNÍ BILANCI ISPOP 2016 MANUÁL K VYPLNĚNÍ FORMULÁŘŮ PRO OHLAŠOVÁNÍ ÚDAJŮ PRO VODNÍ BILANCI 22, odst. 2, zákona č. 254/2001 Sb., o vodách a vyhl. č. 431/2001 Sb., přílohy 1-4 Odběr podzemní vody ( 10 vyhl. č. 431/2001

Více

Slovní úlohy v učivu matematiky 1. stupně základní školy

Slovní úlohy v učivu matematiky 1. stupně základní školy Slovní úlohy v učivu matematiky 1. stupně základní školy V každé matematické úloze jde o to, abychom dokázali platnost (pravdivost) nějakého výroku. Podle toho, o jaký výrok jde, máme různé druhy úloh.

Více

UŽIV ATELSKÁ PŘÍRUČKA

UŽIV ATELSKÁ PŘÍRUČKA UŽIVATELSKÁ PŘÍRUČKA Autor: Marek Klimša Úprava: Stanislav Chromý Verze dokumentu: 1.1 Poslední aktualizace: 11. května 2012 Obsah 1. Začínáme 3 1.1 Co je to ADVOKÁTNÍ SPIS 3 1.2 Po prvním spuštění 3 1.3

Více

ROZHRANÍ PRO ZPRACOVÁNÍ ZÁKLADNÍ SKUPINY ENTIT - UŽIVATELSKÁ PŘÍRUČKA

ROZHRANÍ PRO ZPRACOVÁNÍ ZÁKLADNÍ SKUPINY ENTIT - UŽIVATELSKÁ PŘÍRUČKA ROZHRANÍ PRO ZPRACOVÁNÍ ZÁKLADNÍ SKUPINY ENTIT - UŽIVATELSKÁ PŘÍRUČKA INTERPI Interoperabilita v paměťových institucích Program aplikovaného výzkumu a vývoje národní kulturní identity (NAKI) (DF11P01OVV023)

Více

M ě r n á t e p e l n á k a p a c i t a p e v n ý c h l á t e k

M ě r n á t e p e l n á k a p a c i t a p e v n ý c h l á t e k M ě r n á t e p e l n á k a p a c i t a p e v n ý c h l á t e k Ú k o l : Určit měrné tepelné kapacity vybraných pevných látek pomocí kalorimetru. P o t ř e b y : Viz seznam v deskách u úlohy na pracovním

Více

1. Problematika účetních výkazů a jejich aktualizace

1. Problematika účetních výkazů a jejich aktualizace Obsah 1. Problematika účetních výkazů a jejich aktualizace...2 1.1. Algoritmy výkazů...2 1.2. Distribuce algoritmů výkazů...4 1.3. Formy prezentace výkazů (formulář)...5 1.4. Katalog výkazů...5 1.5. Příprava

Více

Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu.

Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu. Školení programu TopoL xt Přechod na TopoL xt z programu TopoL pro Windows Cíl: Obsah: Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností

Více

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Model tahové hry s finančními odměnami

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Model tahové hry s finančními odměnami VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Obor: Statistika a ekonometrie Název bakalářské práce Model tahové hry s finančními odměnami Autor: Vedoucí bakalářské práce: Rok: 009 Markéta

Více

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice. [] Definice determinantu BI-LIN, determinant, 9, P Olšák [2] Determinant je číslo jistým způsobem charakterizující čtvercovou matici det A 0 pro singulární matici, det A 0 pro regulární matici používá

Více

MANUÁL K OVLÁDÁNÍ POČÍTAČOVÉHO SYSTÉMU PRO KMENOVÉ PÁSOVÉ PILY

MANUÁL K OVLÁDÁNÍ POČÍTAČOVÉHO SYSTÉMU PRO KMENOVÉ PÁSOVÉ PILY MANUÁL K OVLÁDÁNÍ POČÍTAČOVÉHO SYSTÉMU PRO KMENOVÉ PÁSOVÉ PILY Manuál k ovládání nového počítače Následující manuál je pomůckou pro případné nejasnosti v ovládání. Obsluha pily, která takto byla už novým

Více

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 1. Pomocný učební text

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 1. Pomocný učební text Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra matematiky Geometrie pro FST 1 Pomocný učební text František Ježek, Marta Míková, Světlana Tomiczková Plzeň 29. srpna 2005 verze 1.0 Předmluva

Více

TVORBA FORMULÁŘŮ V MS EXCEL

TVORBA FORMULÁŘŮ V MS EXCEL TVORBA FORMULÁŘŮ V MS EXCEL URČENO PRO DALŠÍ VZDĚLÁVÁNÍ PEDAGOGICKÝCH PRACOVNÍKŮ JOSEF BOTLÍK ESF PROJEKT OP RLZ - OPATŘENÍ 3.2 ČÍSLO PROJEKTU CZ.04.1.03/3.215.1/0104 NÁVRH A REALIZACE MODULOVÉHO SYSTÉMU

Více

Zadání projektů z BPC2 pro letní semestr 2007/2008

Zadání projektů z BPC2 pro letní semestr 2007/2008 Zadání projektů z BPC2 pro letní semestr 2007/2008 Několik poznámek na úvod Projekt může být i konzolová aplikace. Záleží však na typu zadání, ne každé v konzolové aplikace vyřešit lze. Mezi studenty jsou

Více

Vytvoření uživatelské šablony

Vytvoření uživatelské šablony Inženýrsky manuál č. 40 Aktualizováno: 11/2018 Vytvoření uživatelské šablony Program: Stratigrafie - Dokumentace Soubor: Demo_manual_40.gsg Cílem tohoto inženýrského manuálu je ukázat vytvoření vlastní

Více

Uživatelský manuál Radekce-Online.cz

Uživatelský manuál Radekce-Online.cz Uživatelský manuál Radekce-Online.cz (revize 06/2011) V prvním kroku třeba vstoupit do administrace na adrese www.redakce-online.cz kterou naleznete na záložce Administrace / Vstup do Administrace, pro

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

Lineární programování

Lineární programování Lineární programování Petr Tichý 19. prosince 2012 1 Outline 1 Lineární programování 2 Optimalita a dualita 3 Geometrie úlohy 4 Simplexová metoda 2 Lineární programování Lineární program (1) min f(x) za

Více

Gilda. Po spuštění programu v základním seznamu vidíte veřejné zakázky za Váš odbor.

Gilda. Po spuštění programu v základním seznamu vidíte veřejné zakázky za Váš odbor. Gilda Program spustíme na webové stránce Intranetové a internetové aplikace městského úřadu, nebo odkazem z plochy vašeho PC. Konkrétní adresa: GILDA Pokud Vám odkaz nebude fungovat, pravděpodobně nemáte

Více

Predispozice pro výuku IKT (2015/2016)

Predispozice pro výuku IKT (2015/2016) Konzervatoř P. J. Vejvanovského Kroměříž Predispozice pro výuku IKT (15/16) Základní algoritmy pro počítání s celými a racionálními čísly Adam Šiška 1 Sčítání dvou kladných celých čísel Problém: Jsou dána

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 5 4 4 Nadpis kapitoly Mojmír

Více

Popis postupu při zpracování atletických závodů dle programu ATLETICKÁ KANCELÁŘ ( Manuál II.část )

Popis postupu při zpracování atletických závodů dle programu ATLETICKÁ KANCELÁŘ ( Manuál II.část ) Popis postupu při zpracování atletických závodů dle programu ATLETICKÁ KANCELÁŘ ( Manuál II.část ) Různé samostatné části : 1 -Připojení k AK - 2x kliknout na Internet Explorer - kliknout na pracovat offline

Více

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény

Více

SEO Audit a další úpravy www.stranka.cz KONTAKT. Bc. Martin Dřímal E-mail: info@seoskrz.cz Telefon: 736 510 069

SEO Audit a další úpravy www.stranka.cz KONTAKT. Bc. Martin Dřímal E-mail: info@seoskrz.cz Telefon: 736 510 069 2015 SEO Audit a další úpravy www.stranka.cz KONTAKT Bc. Martin Dřímal E-mail: info@seoskrz.cz Telefon: 736 510 069 Obsah On-page faktory...4 1. Technický stav stránek www.stranka.cz...4 2. Hodnocení on-page

Více

Soustavy lineárních rovnic

Soustavy lineárních rovnic 7 Matice. Determinant Soustavy lineárních rovnic 7.1 Matice Definice 1. Matice typu (m, n) jesoustavam n reálných čísel uspořádaných do m řádků a n sloupců a 11, a 12, a 13,..., a 1n a 21, a 22, a 23,...,

Více

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................

Více

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1 Manuál správce VNI 5.1 verze 0.2 Manuál správce VNI 5.1 VARIANT plus, spol. s.r.o., U Obůrky 5, 674 01 TŘEBÍČ, tel.: 565 659 600 technická linka 565 659 655 (pracovní doba 7:30 15:00) www.variant.cz isb@variant.cz

Více

Kapitola 1. Tenzorový součin matic

Kapitola 1. Tenzorový součin matic Kapitola 1 Tenzorový součin matic Definice 1.1. Buď F komutativní těleso. Pro matice A F m n a B F r s definujeme tenzorový součin A B jako matici o rozměru mr ns zapsanou blokově: A 11 B A 12 B A 1n B

Více

Regresní a korelační analýza

Regresní a korelační analýza Přednáška STATISTIKA II - EKONOMETRIE Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz Regresní analýza Cíl regresní analýzy: stanovení formy (trendu, tvaru, průběhu)

Více

Dynamické programování

Dynamické programování ALG 11 Dynamické programování Úloha batohu neomezená Úloha batohu /1 Úloha batohu / Knapsack problem Máme N předmětů, každý s váhou Vi a cenou Ci (i = 1, 2,..., N) a batoh s kapacitou váhy K. Máme naložit

Více