Fakulta dopravní OPTIMALIZACE

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

Download "Fakulta dopravní OPTIMALIZACE"

Transkript

1 České vysoké učení technické v Praze Fakulta dopravní DIPLOMOVÁ PRÁCE VYUŽITÍ GENETICKÝCH ALGORITMŮ V ÚLOHÁCH DISKRÉTNÍ OPTIMALIZACE Alena Rybičková 2012

2

3 Prohlášení Nemám závažný důvod proti užívání tohoto školního díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). 5

4 Prohlášení Prohlašuji, že jsem předloženou práci vypracovala samostatně a že jsem uvedla veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. V Praze dne Alena Rybičková 6

5 Poděkování Na tomto místě bych ráda poděkovala všem, kteří se podíleli na vzniku této práce. Především své vedoucí Ing. Denise Mockové, Ph.D. za vedení diplomové práce a cenné rady. 7

6 Abstrakt Diplomová práce se zabývá využitím genetických algoritmů v optimalizačních úlohách v dopravě - úloze okružních jízd a lokačních úlohách. V teoretické části jsou definovány a představeny oba typy úloh, jejich varianty a možné způsoby řešení. Dále je popsán obecný princip fungování genetických algoritmů. V praktické části je pro obě úlohy vytvořen genetický algoritmus s více možnostmi použitých operátorů a otestován na reálné úloze distribuce náhradních dílů pro autoservisy. Součástí řešení je porovnání výsledků v případě úlohy okružních jízd s heuristickou Clarke-Wrightovou metodou, v případě lokačních úloh s exaktním řešením. 8

7 Abstract This master thesis focuses on the use of genetic algorithms in transportation-optimization problems - vehicle routing problem and location problem. In the theoretical part both types of problems, their variants and possible solution are defined and introduced. Further, general principles of genetic algorithms are described. In the practical part a specific genetic algorithm with several possible operators for both problems is proposed and tested on a real problem of spare parts distribution for garages. Part of the solution is the comparison with Clarke-Wright heuristic method in case of vehicle routing problem and comparison with exact solution in case of location problem. 9

8 OBSAH Seznam obrázků Seznam tabulek Seznam příloh na CD Úvod 16 2 Úlohy diskrétní optimalizace Složitost algoritmů Lokační úlohy Úloha okružních jízd Metody řešení úloh diskrétní optimalizace Genetické algoritmy Terminologie Princip genetického algoritmu Vícekriteriální úlohy Clarke-Wrightova metoda Princip Clarke-Wrightovy metody Výsledky Aplikace genetických algoritmů na úlohu okružních jízd Návrh genetického algoritmu

9 5.2 Výsledky Porovnání výsledků GA a CW Aplikace genetických algoritmů na lokační úlohu 74 7 Závěr 82 Literatura 84 A Seznam autoservisů 88 11

10 SEZNAM OBRÁZKŮ 3.1 Výběr pomocí vážené rulety Základní typy křížení Základní typy mutace Schéma výpočtu úspor u Clarke-Wrightovy metody Trasy získané pomocí Clarke-Wrightovy metody Příklad reprezentace genomu Příklad křížení Průběh algoritmu - varianta Průběh algoritmu - varianta Průběh algoritmu - varianta Průběh algoritmu - varianta Průběh algoritmu - varianta Průběh algoritmu - varianta Nejlepší nalezené řešení - Praha Srovnání minimálních nalezených hodnot Srovnání prvních 200 kroků algoritmu Nejlepší nalezené řešení - Brno Rozložení hodnot fitenss funkce pro dvě umist ovaná střediska Rozložení hodnot fitenss funkce pro tři umist ovaná střediska

11 6.3 Nejlepší nalezené trasy po změně umístění dep

12 SEZNAM TABULEK 5.1 Minimální hodnoty fitness funkce pro variantu Minimální hodnoty fitness funkce pro variantu Minimální hodnoty fitness funkce pro variantu Minimální hodnoty fitness funkce pro variantu Minimální hodnoty fitness funkce pro variantu Minimální hodnoty fitness funkce pro variantu Minimální hodnoty fitness funkce pro trasy z brněnského depa Srovnání nalezených řešení z CW a GA Minimální hodnoty fitness funkce pro 2 umist ovaná střediska Minimální hodnoty fitness funkce pro 3 umist ovaná střediska Srovnání nalezených řešení z CW a GA A.1 Seznam autoservisů v ČR

13 SEZNAM PŘÍLOH NA CD Diplomová práce v pdf Příloha č.1 Program pro generování vzdáleností Příloha č.2 Implementace Clarke-Wrightova algoritmu Příloha č.3 Implementace genetického algoritmu pro úlohu okružních jízd Příloha č.4 Implementace genetického algoritmu pro lokační úlohu 15

14 KAPITOLA 1 Úvod Během celé historie čelí lidstvo optimalizačním problémům a zabývá se otázkou jak je co nejlépe vyřešit. Počátky praktické optimalizace jako vědy o přidělování omezených zdrojů s co nejlepším výsledným efektem sahají do poloviny minulého století. Řada z dnes běžně používaných technik má svoje kořeny v metodách vyvinutých během druhé světové války, kdy bylo nutné vypořádat se s obrovskými logistickými problémy vycházejících z potřeby přesouvat do té doby nevídané množství lidí a techniky. Každá metoda, která slibovala zlepšení efektivity válečného snažení, byla velmi vítaná: jaké je optimální umístění zásob nafty, jaký je nejlepší vzor pro hledání ponorek na takové otázky se snažily tyto metody odpovědět. Během války byly vytvořeny základy první optimalizační techniky pro rozsáhlé úlohy simplexové metody, která byla krátce po válce dovedena k dokonalosti v souvislosti s dostupností prvních počítačů. S nástupem vědecko-technické revoluce, rozvojem moderních technologií a možností výpočetní techniky došlo k ještě výraznějšímu nárůstu využití řídících a optimalizačních procesů ve všech průmyslových odvětvích. Se složitějšími procesy řízení se rozšiřují i úlohy, jež je třeba řešit. Úměrně tomu roste význam optimalizace a dnes hrají optimalizační techniky stále významnější roli při každodenních otázkách v průmyslovém plánování, alokování zdrojů, rozvrhování nebo rozhodování. Řada problémů, které jsou řešeny v rámci operačního výzkumu, vede na matematické modely obsahující celočíselné proměnné nebo je modelována diskrétními množinami hovoříme o diskrétní optimalizaci. Využití těchto úloh se objevuje v mnoha průmyslových odvětvích jako 16

15 je např. výroba a distribuce, návrh telekomunikačních nebo distribučních sítí, tvorba rozvrhů leteckých posádek, apod., i v aplikované vědě (fyzika, biochemie, strojírenství). V dopravní problematice jsou pak nejčastěji řešenými úlohami problém obchodního cestujícího, problém okružních jízd, či lokační úloha. V těchto úlohách je často množina všech přípustných řešení tak obsáhlá, že hrubou silou ani běžnými heuristickými metodami není možné najít řešení v přijatelném čase s použitím finančně přiměřené výpočetní techniky. Např. v úloze obchodního cestujícího je počet všech možných řešení možné vypočítat jako faktoriál počtu bodů, které má obchodní cestující navštívit, což pro více než zhruba 15 bodů činí prohledávání prostoru všech řešení prakticky neproveditelným. Z toho důvodu byly vyvinuty metody, označované jako metaheuristiky, které pracují na principech kombinatorické optimalizace a hledají řešení nedeterministicky metodou postupného iterativního zlepšovaní počátečního řešení na omezeném prostoru všech přípustných řešení. Výhodou metaheuristik je polynomiální časová náročnost, naopak nevýhodou je, že není zaručeno nalezení optimálního řešení. Metaheuristik existuje mnoho druhů, přičemž v poslední době k nejpoužívanějším patří evoluční algoritmy. Evoluční algoritmy se nechávají inspirovat procesy přirozeně probíhajícími v přírodě při vývoji živočišných a rostlinných druhů, kdy vlastnosti jedinců jedné generace (jejich genetická výbava) se jejich vzájemným křížením za současné přítomnosti náhodných mutací kombinují do vlastností potomků tvořících následující generaci. Ti pak procházejí výběrem, který je ovlivněn selekčními tlaky okolního prostředí, a jen ti nejlépe adaptovaní mají největší naději na přežití a mohou dostat šanci předat svoje geny do další generace. Při implementaci jsou využívány různé varianty tvorby populací, které napodobují určité konkrétní selekční mechanismy, které fungují v některých živočišných nebo rostlinných společenstvech. Nezřídka jsou využívány i člověkem uměle zkonstruované mechanismy mající za cíl poněkud vylepšit sice robustní, leč ve své podstatě jednoduchou a někdy zdlouhavou přírodní metodu o prvky, které mají urychlit proces hledání optimálního jedince, např. výběrem těch nejlepších jedinců populace pro křížení a vytvoření nové generace. Cílem této diplomové práce je prozkoumat možnosti využití genetických algoritmů pro úlohy diskrétní matematiky na konkrétním příkladě. Druhá kapitola práce přináší přehled problematiky, algoritmů a metod řešení úloh diskrétní optimalizace a popisuje principy dvou v dopravě a logistice nejčastěji se vyskytujících úloh: úlohy okružních jízd a lokační úlohy. 17

16 Třetí kapitola blíže rozebírá jednu z podmnožin metaheuristických metod používaných k řešení těchto úloh genetické algoritmy, jejich možnosti a principy. Ve čtvrté kapitole, která odkazuje na mou bakalářskou práci řešící problém optimalizace rozvozových tras distribuční sítě autoservisů Peugeot a Citroën, pak na praktickém příkladu této distribuční sítě nalezneme s pomocí nejznámější a nejpoužívanější heuristické Clarke-Wrightovy metody řešení rozvozových tras, které nám bude sloužit jako etalon pro srovnání s výsledky poskytovanými genetickým algoritmem. V následující páté kapitole navrhneme několik variant genetického algoritmu vhodných k nalezení optimálních rozvozových tras vzhledem k danému umístění rozvozových dep a dané síti obsluhovaných bodů (úloha okružních jízd) a jejich výsledky porovnáme s výsledky dosaženými Clarke-Wrightovou metodou. Poslední šestá kapitola pak hledá optimální umístění rozvozových dep vzhledem k dané síti servisů a silniční síti České republiky (lokační úloha) a pro tato nová umístění jsou poté genetickým algoritmem navrženy optimální rozvozové trasy a zhodnocena úspora. 18

17 KAPITOLA 2 Úlohy diskrétní optimalizace Diskrétní optimalizace, často označovaná také jako kombinatorická optimalizace, patří mezi nejmladší oblasti diskrétní matematiky. Ačkoli její kořeny můžeme najít v kombinatorice, operačním výzkumu i teoretické informatice, jako samostatná oblast se vyčlenila až kolem poloviny dvacátého století. Využití úloh diskrétní optimalizace se objevuje v průmyslových odvětvích (např. výroba a distribuce, návrh telekomunikačních sítí, tvorba rozvrhů leteckých posádek) i v aplikované vědě (statistika, fyzika, chemie). Pojem optimalizace zahrnuje celou řadu úloh, jejichž společné vlastnosti lze shrnout do dvou bodů [1]: - jsou dány omezující podmínky, které popisují množinu přípustných řešení úlohy; - je dána tzv. účelová funkce, která jednotlivým řešením přiřazuje jejich funkční hodnotu. Cílem optimalizace je najít řešení, které je vzhledem k účelové funkci minimální (nebo maximální, dle řešeného problému). Podle charakteru omezujících podmínek můžeme optimalizační úlohy rozdělit na dvě hlavní skupiny - diskrétní a spojité. Množina přípustných řešení se v diskrétních úlohách skládá z několika izolovaných bodů nebo oblastí, což odpovídá tomu, že je v matematice vyjadřujeme pomocí celých čísel. Takové úlohy se vyskytují především v kombinatorice, a proto se také pojmy kombinatorické a diskrétní optimalizace zaměňují. V případě, že uvažujeme obecnější 19

18 minimalizaci (resp. maximalizaci) funkce v prostoru reálných parametrů, jedná se o spojitou optimalizaci. 2.1 Složitost algoritmů V úlohách diskrétní optimalizace je často množina všech přípustných řešení velmi rozsáhlá. Například u úlohy obchodního cestujícího lze počet všech možných řešení vypočítat jako faktoriál počtu bodů, které má obchodní cestující navštívit. Vzhledem k počtu přípustných řešení je u algoritmů diskrétní optimalizace důležité provést analýzu, kterou bývá nejčastěji analýza časová, někdy také analýza pamět ová. Časová složitost algoritmu popisuje, kolik operací se provede v závislosti na velikosti vstupu. Zajímá-li nás složitost algoritmu, jedná se obvykle o asymptotické chování funkce f (počtu operací) při velkých hodnotách vstupu n. Pro odhad časové složitosti se nejčastěji používá operátor O, který značí horní asymptotický odhad. Zápis f O(g) tedy znamená, že f roste nejvýše tak rychle jako g. Teorie složitosti rozlišuje několik tříd úloh. Většina algoritmů, které jsou dnes běžně používány at už v dopravě či jiných oblastech, má polynomiální časovou složitost, kterou s použitím operátoru O můžeme zapsat jako O(n c ) pro nějakou konstantu c. Problémy, pro které existují algoritmy s polynomiální časovou složitostí, označujeme jako patřící do třídy P (nebo také zvládnutelné), pro řadu praktických problémů však nejsou takové algoritmy známy. Mezi typické úlohy z dopravy ze třídy P patří např. problém nejkratší cesty v grafu, hledání minimální kostry grafu nebo dopravní problém. Pokud má algoritmus vyšší složitost než polynomiální, typicky exponenciální, je možné ho použít pouze pro malé hodnoty n. Pro větší vstupy by běh programu v rozumném čase vůbec neskončil. Problémy, které nepatří do třídy P označujeme jako nezvládnutelné. S takovými úlohami se setkáváme v nejrůznějších oblastech teoretické matematiky i aplikovaných věd. Protože mají tyto úlohy často důležité praktické využití, ale možnosti najít optimální řešení existují pouze pro malé vstupy, hledají se algoritmy, které v polynomiálním čase vrátí alespoň,,skoro optimální řešení. Takovým algoritmům říkáme polynomiální aproximační algoritmy. 20

19 V dopravě do této skupiny úloh patří např.: - problém hamiltonovské kružnice, - problém obchodního cestujícího, - problém okružních jízd, - lokační úlohy. Tyto úlohy patří k nejčastěji zkoumaným problémům z oblasti diskrétní optimalizace a byla pro ně vyvinuta řada aproximačních algoritmů. Algoritmy pro hledání přibližných řešení můžeme rozdělit do dvou základních kategorií. Obecné heuristiky označované také jako metaheuristiky se dají použít pro celou řadu kombinatorických úloh, zatímco problémově specifické heuristiky řeší pouze jednu konkrétní úlohu. V následujícím textu se zaměříme na ty úlohy, které později využijeme pro řešení praktického problému z oblasti optimalizace zásobování autoservisů - lokační úlohy a problém okružních jízd. Popíšeme obecné zadání úloh, možné varianty a některé možnosti řešení. 2.2 Lokační úlohy Plánování optimálního umístění logistických středisek patří mezi významné rozhodovací problémy. To, které místo zvolíme jako nejlepší, záleží na řadě kritérií, kterými může být optimální vzdálenost, kapacita střediska, hustota osídlení, výše nákladů apod. Nejčastěji se používá kritérium vzdálenosti, ale reálné problémy jsou často komplexnější a je nutné zahrnout do úlohy kombinaci více kritérií najednou. Cílem lokačních úloh je pak najít umístění pro daný počet středisek tak, aby byla hodnota zvolené kriteriální funkce minimální (resp. maximální u maximalizační úlohy). Na základě výběru kriteriální funkce rozlišujeme úlohy jedno- nebo vícekriteriální. Lokační problém byl poprvé představen Cooperem [2] a rozšířen na váženou sít Hakimim [3]. K dalšímu rozvoji přispěli např. Badri [4], Klose a Drexl [5], Henrik a Robert [6]. 21

20 Terminologie Předtím než lokační úlohy rozebereme podrobněji, je třeba vysvětlit základní pojmy. Mezi základní komponenty lokačních úloh patří střediska, obsluhované vrcholy (resp. hrany) a atrakční obvody. V různých typech lokačních úloh se jejich role mohou lišit. Středisko Pojmem středisko nebo depo je v lokačních úlohách označován objekt, jehož prostorové umístění je optimalizováno použitím zvoleného modelu nebo algoritmu, který zahrnuje vzájemné vztahy střediska s již existujícími objekty v systému. Příklady středisek mohou být např. obchody, školy, nemocnice, sklady, stanice požární nebo záchranné služby. Jedním ze základních parametrů lokačních modelů je počet středisek, která je potřeba umístit. Nejjednodušším případem je lokace pouze jednoho střediska, častěji ovšem uvažujeme více středisek, která jsou umist ována zároveň. Dalším důležitým parametrem je typ střediska. Ten zahrnuje kapacitu střediska a služby, které středisko poskytuje. Kapacita může být omezená nebo neomezená podle velikosti poptávky, kterou může středisko obsloužit. Klasifikace může probíhat také na základě služeb, které středisko nabízí. Rozlišujeme střediska, která nabízí pouze jednu službu nebo skupinu služeb. Dalším významným parametrem jsou náklady. Uvažujeme zde dva druhy nákladů - fixní a variabilní. Fixní náklady se vztahují ke zřízení střediska, zatímco variabilní závisí především na způsobu zajištění služeb, které středisko nabízí. Obsluhované vrcholy a hrany Druhou základní součástí lokačních úloh jsou vrcholy. Ve vrcholech jsou umístěni zákazníci, kteří požadují dostupnost služby nebo zásobování zbožím. Protože je lokační problém úzce spojený s uspokojením poptávky zákazníků, je důležité znát její rozložení, objem a chování. V jiných typech úloh jsou zdojem požadavků celé hrany, v tomto případě mluvíme o hranové lokaci. Jedná se např. o zajištění zimní údržby silnic. 22

21 Atrakční obvod Jako atrakční obvod označujeme spádovou oblast patřící k danému depu. Atrakční obvod depa A(v) je množina vrcholů a hran sítě obsluhovaných pouze z jednoho depa v D k, pro které platí: vrchol u A(v), pokud neexistuje depo w D k, pro které d(w, u) < d(v, u); hrana h A(v), pokud neexistuje depo w D k, pro které d(w, h) < d(v, h), kde d(u, v) je zvolená metrika. Prvotní atrakční obvod depa A (v) je množina vrcholů a hran sítě obsluhovaných z depa v D k, pro které platí: vrchol u A (v), pokud neexistuje depo w D k, pro které d(w, u) d(v, u); hrana h A (v), pokud neexistuje depo w D k, pro které d(w, h) d(v, h). Přidělený atrakční obvod A (v) je množina vrcholů a hran sítě obsluhovaných z depa v D k, pro které platí: A (v) A (v) A(v) pro každé depo v D k ; A (v) = X V, v D k A (v) A (u) = pro u v; u, v D k, kde množina X označuje množinu všech hran a V množinu všech vrcholů. Matematická formulace Lokační úloha (v angličtině označovaná jako Uncapacitated Facility Location Problem), tj. úloha, ve které uvažujeme neomezenou kapacitu středisek, může být definována následovně [7]: Necht je dána množina zákazníků I = 1,..., m, kteří mají být obslouženi, a množina možných umístění středisek J = 1,..., n. Pro umístění střediska do místa j J jsou dány fixní náklady f j a pro uspokojení poptávky zákazníka i I ze střediska j J jsou dány náklady c ij. Dále uvažujeme: 23

22 x ij = 1, pokud středisko j zajišt uje obsluhu zákazníka i, x ij = 0 jinak, y j = 1, pokud je v místě j umístěno středisko, y j = 0 jinak. Potom může být model formulován následovně. Hledáme minimum účelové funkce: m n n c ij x ij + f j y j i=1 j=1 j=1 za podmínek: n x ij = 1, pro i j=1 x ij y j 0, pro i, j x ij {0, 1}, pro i, j y j {0, 1}, pro j Modely lokačních úloh Lokační úlohy a modely, které je mohou reprezentovat, lze rozdělit podle různých kritérií [8]. Spojité a sít ové lokační modely V některých situacích je vhodné umožnit, aby střediska mohla být umístěna kdekoli v rámci dané oblasti. Také požadavky mohou být modelovány jako spojitě rozmístěné v uvažovaném prostoru. V těchto případech se jedná o spojité modely. Tyto modely jsou nejvhodnější, pokud chceme znát přibližný odhad počtu středisek a kde přibližně by měla být střediska umístěna. Za předchůdce spojitých lokačních úloh můžeme považovat Weberovu úlohu [9], která hledá střed gravitace množiny bodů. Další výzkum tohoto typu úloh byl založen na geometrickopravděpodobnostní teorii [10], v tomto případě bylo snahou zahrnout i náklady na provoz vozidel. Spojité modely se potýkají s množstvím výpočetních i praktických problémů. Vedou na nelineární rovnice, které je složité řešit, především v případech, kdy požadujeme umístění 24

23 více než jednoho střediska. Z praktického hlediska je výsledným řešením těchto modelů často umístění, které není realizovatelné (např. uprostřed vodní plochy). Přestože řada autorů (např. [11, 12, 13]) vyvinula spojité modely se zahrnutím zakázaných oblastí, tyto modely o to více naráží na výpočetní překážky. Na rozdíl od spojitých lokačních modelů, sít ové lokační modely předpokládají, že střediska i požadavky jsou umístěny v uzlech nebo na hranách sítě. Pokud uvažujeme požadavky pouze v uzlech, vzniká zde otázka, zda-li i optimální řešení úlohy leží v uzlech, nebo je nutné uvažovat i hrany sítě. Hakimi [3] v roce 1964 jako první ukázal, že pro lokační úlohu na obecné síti umístění středisek pouze do uzlů nedegraduje řešení 1. Pokud úlohu tímto způsobem zjednodušíme, přináší to při řešení takovou výhodu, že se používá i v případě úloh, u kterých se řešení degraduje. Řešení zjednodušené úlohy podporuje i to, že v reálných úlohách je umístění středisek obvykle omezeno na konečnou množinu míst. Úlohy, které předpokládají, že požadavky i střediska jsou umístěny do diskrétních bodů v prostoru, se nazývají diskrétní lokační úlohy. Pro výpočet vzdáleností mezi těmito středisky a požadavky se používá zvolená vzdálenostní metrika (např. nejjednodušší euklidovská). Je zřejmé, že mnoho modelů a algoritmů vyvinutých pro sít ové úlohy lze použít i pro diskrétní lokační úlohy. Statické a dynamické modely Všechny klasické lokační modely fungují jako statické modely předpokládající, že rozhodnutí probíhají pouze v jednom okamžiku a náklady, vzdálenost a požadavky se v čase nemění. Ve skutečnosti se vstupy modelů v čase mění a rozhodování probíhá v delším období. Rozhodnutí v určitém okamžiku omezí možnosti v budoucnu, např. při otevření střediska v určitém časovém okamžiku je nutné, aby toto středisko zůstalo otevřené po plánované období. Deterministické a stochastické modely Klasické modely jsou nejen statické, ale také deterministické, které předpokládají, že všechny vstupy jsou známé a nejsou zde žádné náhodné procesy, které by ovlivňovaly poptávku 1 degradované řešení - ačkoli ne všechna optimální řešení úlohy jsou umístěna do vrcholů, Hakimi dokázal, že vždy existuje řešení, které minimalizuje účelovou funkci a leží pouze v uzlech 25

24 a obsluhu zákazníků. Stochastické modely naopak uvažují, že faktory jako je poptávka, ale i umístění zákazníků nebo středisek se v čase mohou měnit. Tyto modely obvykle pracují se zvoleným pravděpodobnostním rozdělením proměnné veličiny. Jedno a vícekriteriální modely Převážná část modelů používá jedno kritérium, v reálných problémech však vstupuje do rozhodování více proměnných. Ty mají často rozdílné a někdy i protichůdné cíle. Konfliktní kritéria se zdají být lokačním úlohám vlastní. Např. při umístění úložiště odpadu chceme minimalizovat dopad těchto středisek na obytné oblasti, a tedy maximalizovat jejich vzdálenost od těchto obytných oblastí, ale také minimalizovat náklady na přepravu odpadu. Protože většina odpadu vzniká v obytných oblastech, dostávají se tyto cíle do konfliktu. 2.3 Úloha okružních jízd Úlohu okružních jízd můžeme popsat jako úlohu, ve které je cílem určit trasy vozidel, kdy každá trasa začíná v depu, navštíví podmnožinu zákazníků ve specifické posloupnosti a vrátí se zpět do depa. Každý zákazník musí být přiřazen k právě jedné z tras a celková velikost dodávek zákazníků přiřazených ke každému vozidlu nesmí překročit kapacitu vozidla. Volba tras by měla být taková, aby celkové náklady na dodání byly minimální [14]. Můžeme říci, že úloha okružních jízd je zobecněním úlohy obchodního cestujícího. Na rozdíl od úlohy obchodního cestujícího má řadu dalších omezení a rozšíření, která můžeme často najít v reálných problémech. Zahrnují např. následující: - distribuce může probíhat z více dep; - každé vozidlo může operovat na více než jedné trase, pokud celkový čas nepřekročí stanovenou hodnotu; - každý zákazník musí být obsloužen v daném časovém intervalu, kterému říkáme časové okno; - úloha může zahrnovat jak doručování tak odvoz od zákazníků; 26

25 - rozlišujeme úlohy s homogenním a heterogenním vozovým parkem, kdy je použit bud jeden, nebo více typů vozidel; - vozidlům může být přiřazeno časové rozpětí, kdy mohou pracovat, apod. Matematická definice Obecnou verzi úlohy okružních jízd (v angličtině označované jako Capacitated Vehicle Routing Problem - CVRP) můžeme formálně popsat následovně [15]: je dané jedno centrální depo 0, které používá k nezávislých vozidel s identickou kapacitou K, která zajišt ují uspokojení poptávky d i od n zákazníků, i = 1,..., n. Řešením úlohy okružních jízd je rozklad množiny n zákazníků do k tras R 1,..., R k, který minimalizuje účelovou funkci celových přepravních nákladů a zároveň na žádné trase R j není překročena kapacita vozidla v p R j d p K: k minf CV RP = C(R j ). j=1 Náklady jedné trasy R j = v 0, v 1,..., v l+1, kde v 0 = v l+1 = 0, se spočítají nasledovně: l C(R j ) = c i,i+1 i=0 kde c ij označuje přepravní náklady mezi zákazníky i a j pro i, j = 1,..., n. Platí c ii = 0 pro i = 1,..., n a pro symetrickou úlohu navíc platí, že i, j : c ij = c ji. Varianty úlohy okružních jízd Dále si podrobněji rozebereme některé z variant, jmenovitě úlohu zahrnující služby doručování a odvozu, úlohu okružních jízd s více středisky, úlohu okružních jízd s více komoditami, stochastickou úlohu okružních jízd a problém rozvrhování vozidel. Úloha zahrnující služby doručování a odvozu Řada aplikací zahrnuje služby doručování a odvozu mezi středisky a ostatními lokacemi (sklady, obchody, stanicemi). Doručení se vztahuje k dopravě zboží ze střediska k zákazníkovi a odvoz opačným směrem do depa. V úloze může být požadováno, aby nejdříve proběhl rozvoz a až poté odvoz, nebo je možné spojit doručování a odvoz do jedné trasy. V literatuře je tento 27

26 problém známý jako,,delivery and pick-up problem (DPD). Cílem je nalézt množinu tras, kterými se zajistí doručení zboží zákazníkům a odvoz od zákazníků tak, že kapacita vozidel není překročena a celková ujetá vzdálenost je minimální. Úloha s více středisky V případě více středisek mohou tato střediska být autonomní s vlastním vozovým parkem a geografickou oblastí zákazníků, kterou obsluhují. V této situaci se řeší vícekrát jednoduchá úloha okružních jízd s jedním střediskem. V opačném případě, kdy střediska nejsou autonomní, ale jejich operace jsou provázané a mezi sebou závislé, mluvíme o vícenásobné úloze okružních jízd. Jednotlivá vozidla mohou po obsluze zákazníků skončit ve stejném, ale i v jiném středisku, než ze kterého vyrazila. Vícekomoditní úloha okružních jízd V úloze, kterou označujeme jako vícekomoditní úlohu okružních jízd, zajišt ují vozidla doručení různých typů zboží a každý zákazník může požadovat zvolené množství od každé komodity. Stochastická úloha okružních jízd V případě problému trasování a doručování v podmínkách náhodné poptávky hovoříme o stochastické úloze okružních jízd. Úloha je obvykle formulována s následujícími podmínkami: - poptávka zákazníků je náhodná proměnná se známým rozdělením pravděpodobnosti; - trasy musí být navržený před tím, než je známa skutečná poptávka; - cílem je minimalizovat předpokládanou sumu ujetých vzdáleností. Úloha rozvrhování vozidel Úlohu rozvrhování vozidel lze považovat za úlohu okružních jízd s dodatečnými omezeními danými časovými intervaly, během nichž mají proběhnout různé činnosti. Složitost tohoto typu úloh je dána nejčastěji třemi omezeními: 28

27 - dobou po jakou je vozidlo v provozu před tím, než se musí vrátit do depa (např. kvůli servisu nebo natankování); - skutečností, že některé činnosti mohou být zabezpečeny pouze některými typy vozidel; - přítomností jednoho nebo více dep. Zahrnutí okružních jízd do lokačních úloh Všechny klasické lokační úlohy předpokládají, že služba je doručována ze střediska vozidlem jedoucím k jednomu zákazníkovi a pak zpět do střediska, nebo naopak jednotliví zákazníci cestují ke středisku. Kriteriální funkce se tedy spočítá jako součet vzdáleností ze střediska k uzlu s požadavky násobenou množstvím požadavků daného uzlu. Neuvažují se cesty, při kterých by se navštívilo více zákazníků, přestože tento systém je v praxi velmi častý. Přítomnost obslužných cest s více zákazníky na trase může v lokačním modelu významně snížit přepravní náklady, a tím i následně ovlivnit počet a umístění středisek. Webb [16] byl mezi prvními, kteří poukázali na to, že modelování distribučních nákladů jako nákladů jednotlivých cest ze střediska k zákazníkům může významně zkreslit skutečné náklady. Tím je následně ovlivněn i výběr umístění středisek ve prospěch pouze suboptimální varianty ve srovnání se zahrnutím okružních jízd. Perl a Daskin [17] formulovali integrovaný problém lineárního programování pro lokačnětrasovací úlohu pro umístění skladů. Rozpoznali, že úloha zahrnuje tři základní propojená rozhodnutí: kam umístit střediska, jak přiřadit zákazníky ke střediskům a jak zvolit trasy vozidel objíždějící zákazníky. Problém vyřešili postupným použitím tří heuristik, kdy každá heuristika byla použita na dvojici ze tří rozhodování. 2.4 Metody řešení úloh diskrétní optimalizace V následující kapitole si ukážeme algoritmy, které byly vyvinuty pro řešení úloh diskrétní optimalizace. Většina přístupů není omezena jen na lokační úlohy a úlohy optimálního trasování, obecné schéma lze použít na velké množství úloh. Během let byla vyvinuta řada metod, které mohou být klasifikovány do následujících skupin: 29

28 - exaktní přístupy; - klasické heuristiky; - metaheuristiky. Exaktní metody Úlohy menšího rozsahu je možné řešit exaktními přístupy, které postupně procházejí a vyhodnocují všechna možná řešení úlohy. Jedná se především o metody větví a hranic (branch and bound) a větví a řezů (branch and cut). Heuristiky Klasické heuristiky jsou metody, které nezaručují nalezení optima, zaručují ovšem že je řešení,,dostatečně dobré a je nalezeno v rozumném čase. Heuristické metody fungují na několika principech. Hladové algoritmy Nejjednodušší algoritmus pro řešení mnoha lokačních úloh je hladový algoritmus. S tímto přístupem najdeme nejlepší umístění prvního střediska vyhodnocením zvolené účelové funkce. Při umist ování druhého střediska uvažujeme pozici prvního střediska jako danou a opět spočítáme pro každé možné umístění zvolenou funkci. Každé další středisko je umist ováno identickým způsobem. Stejně jako je možné střediska hladovým algoritmem přidávat, je možné je stejným způsobem i ubírat. Začneme umístěním střediska v každém uvažovaném místě. V každém kroku pak odebereme jedno středisko a to vždy takové, jehož odebrání způsobí nejnižší přírůstek vážené sumy nákladů. Takto pokračujeme dokud nezbývá právě P středisek v řešení. Zatímco hladové algoritmy mohou generovat řešení relativně rychle, výsledek často není dostačující. Byla proto vyvinuta řada algoritmů, které vycházejí z hladových algoritmů a náhodnými nebo jinými způsoby se snaží zlepšit získané řešení. 30

29 Lokální hledání Další skupina heuristických algoritmů využívá tzv. lokálního hledání: začínají od nějakého stávajícího přípustného řešení (zpravidla získané použitím jiné heuristické metody) a postupně ho mění tak, že prozkoumávají okolí stávajícího řešení. Pokud je některá ze změn lepší než stávající řešení, prohlásí se toto řešení za stávající a dále se zkoumá okolí nového řešení. Tento postup se opakuje, dokud se daří řešení zlepšovat nebo pokud nalezneme dostatečně dobré řešení. Z algoritmů pro řešení lokačních úloh můžeme do této skupiny zařadit iterativní algoritmus [18]. Základní myšlenka je zaměnit uzel v aktuální množině vybraných umístění uzlem, který v této množině není. Pokud výměna zlepší hodnotu účelové funkce, je přijata jako nové aktuální řešení, v opačném případě se vrátíme k původnímu. Obecně pokračujeme, dokud je možné najít záměnu, která zlepší hodnotu účelové funkce. Další heuristiky Jiným principem v heuristických metodách je použití upravených variant exaktních metod, v nichž se využívá ne zcela přesných a spolehlivých odhadů. Tím se výpočet výrazně urychlí, kvůli nepřesnému odhadu ovšem nemusí být nalezeno optimum. Metaheuristiky Metaheuristiky jsou metody určené pro řešení velmi obecných tříd úloh. Můžeme je chápat jako obecný rámec, který může být aplikován na řadu různých optimalizačních problémů s relativně málo modifikacemi, které jsou potřeba k adaptaci algoritmu na specifický problém [19]. Na rozdíl od klasických heuristik se metaheuristiky vyznačují také tím, že je možné za určitých podmínek opustit lokální optimum, a to v případě, že v jiné oblasti přípustných řešení je naděje na nalezení řešení s lepší hodnotou účelové funkce. K tomu obvykle využívají určitý kompromis mezi randomizací a lokálním hledáním. V literatuře se pojmy heuristika a metaheuristika často zaměňují, vývoj ale směřuje k tomu, používat termín metaheuristiky pro metody, ve kterých je použit náhodný prvek. Ačkoli jsou metaheuristiky široce používané techniky, stále ještě není zcela pochopené, jak a proč fungují. 31

30 Uvedeme si stručný přehled metaheuristik nejčastěji používaných pro řešení úloh diskrétní optimalizace. Metody byly zpracovány dle [20]. Simulované žíhání Simulované žíhání patří do třídy lokálních prohledávacích algoritmů známých jako prahové algoritmy. Prahové algoritmy hrají speciální roli ze dvou důvodů. Jednak jsou tyto algoritmy úspěšné při aplikaci na široké spektrum praktických úloh a navíc mají některé prahové algoritmy, mezi které patří i simulované ochlazování, náhodnou komponentu, která umožňuje teoretickou analýzu jejich asymptotické konvergence. Přístup simulovaného žíhání vychází z teoretické fyziky a metod Monte-Carlo, které jsou zde využívány pro simulaci jevů ve statistické termodynamice. Jejich předchůdcem je tzv. Metropolis filter. Simulační metoda může být ve fyzice motivována následovně. Uvažujme velké množství částic o konstantním objemu při určité teplotě. Protože se částice pohybují, mohou se v důsedku vzájemných srážek dostat do různých energetických stavů. Pravděpodobnost, že částice je ve stavu o určité energii E, je dána Maxwellovým-Boltzmannovým rozdělením f(e) = exp( E/κ Bϑ), kde z(ϑ) je normalizační faktor a κ z(ϑ) B je Bolzmannova konstanta. Rozdělení charakterizuje statistickou rovnováhu systému při teplotě ϑ. Tabu prohledávání Metoda tabu prohledávání byla představena Fredem Gloverem [21]. Zkušenosti ukázaly, že tabu prohledávání je dobře fungující aproximační technika, která může soutěžit s téměř každou známou metodou a která je svou flexibilitou schopná porazit mnoho klasických postupů. Tabu prohledávání kombinuje deterministický iterativní zlepšovací algoritmus s možností přijmout i řešení zvyšující náklady. Tím je prohledávání odvedeno od lokálního minima a mohou být prozkoumány ostatní části daného prostoru. Další navštívené řešení je vždy vybráno jako přípustný soused současného řešení s nejlepšími náklady, a to i v případě že jsou tyto náklady horší než u současného řešení. Množina přípustných sousedů je omezena tabu seznamem navrženým tak, aby zabránil cyklení. Tabu seznam se dynamicky mění během běhu algoritmu. Tabu seznam definuje řešení, která 32

31 nejsou přijatelná v příštích několika iteracích. Řešení z tabu seznamu může být přijato, pokud je v určitém smyslu dostatečně kvalitní, a to v případě že dosáhlo určité požadované výše nákladů. Neuronové sítě Použití neuronových sítí k hledání řešení kombinatorických optimalizačních problémů se dostává v poslední době zvýšené pozornosti. Neuronové sítě se skládají ze sítě [22], kterou tvoří elementární uzly (neurony) navzájem propojené váženými spoji. Uzly představují výpočetní jednotky schopné provádět jednoduché operace, které tvoří sečtení vážených vstupů, následované přičtením konstanty nazývané práh a aplikací nelineární funkce. Výsledek výpočtu jednotky tvoří výstup, který je použit jako vstup pro uzly, které mají s tímto uzlem odpovídající orientovaný spoj. Úkolem celé sítě je dosáhnout určitého nastavení, např. požadovaného vztahu mezi vstupem a výstupem. Tento proces je často nazýván také samoorganizace. První pokus použití neuronových sítí pro řešení úlohy obchodního cestujícího byl založen na Hopfieldových neuronových sítích [23]. Hopfieldovy sítě mohou sloužit jako asociativní paměti pro ukládání a získávání informací a k řešení kombinatorických problémů. Patří do třídy rekurentních neuronových sítí. Implementace zahrnuje dva základní kroky: 1. transformaci nákladů a omezení problému do jedné funkce, kterou označujeme jako Hopfieldovu energetickou funkci; 2. určení Lagrangeových parametrů. Tyto kroky jsou rozhodujícími faktory úspěchu aplikace. Jsou také důvodem proč je převod Hopfieldovy metody při řešení úlohy obchodního cestujícího velmi obtížný. K mapování úlohy obchodního cestujícího do Hopfieldova rámce je nutné schéma pro reprezentaci koncového stavu sítě ve formě seznamu tras. Hopfield a Tank [23] zvolili reprezentační schéma, ve kterém je posloupnost měst v seznamu tras kódována koncovými stavy množiny neuronů. Pro úlohu s n městy potřebujeme sít s n 2 neurony - jeden neuron pro každou možnou pozici na trase pro každé město. Protože máme n měst a každé může být na n pozicích, je potřeba n n neuronů. 33

32 Samoorganizující se mapy Samoorganizující se mapy jsou příkladem tzv. soutěživých neuronových sít ových modelů [24, 25]. Samoorganizace probíhá postupnými změnami vah na spojích neuronů. Mravenčí kolonie Metoda mravenčích kolonií byla představena Dorigem [26] a poprvé použita na úloze obchodního cestujícího. Pozorování skutečných mravenců hledajících potravu bylo inspirací k napodobení chování mravenčích kolonií. Skuteční mravenci jsou schopni si mezi sebou předávat informace týkající se zdrojů potravy použitím pachových esencí - feromonů. Vylučováním feromonů si značí cestu v závislosti na její délce a kvalitě nalezeného zdroje potravy. Ostatní mravenci jsou tak schopni nalézt feromonovou stopu a následovat ji. Popsané chování mravenčích kolonií může být použito pro řešení kombinatorických optimalizačních úloh, kde umělé mravenčí kolonie simulují skutečné mravence při jejich prohledávání prostředí. Hodnoty účelové funkce odpovídají kvalitě potravních zdrojů a adaptivní pamět odpovídá feromonovým stopám, navíc jsou umělé kolonie vybaveny lokální heuristickou funkcí, která zajišt uje, že hledání probíhá pouze na množině přípustných řešení. Evoluční algoritmy Analogie mezi přirozeným výběrem a učením se (nebo také optimalizací) vedla k rozvoji tzv.,,evolučních algoritmů, jejichž hlavním cílem je simulovat evoluční proces na počítači. Použití evolučních algoritmů se stalo v poslední době velmi populární a rozšířilo se prakticky do všech myslitelných oborů. Pro mnoho reálných problému jsou evoluční techniky robustnější a efektivnější než metody založené na formální logice nebo matematickém programování a se složitými úlohami jsou schopny se vypořádat lépe než tradiční optimalizační metody. Širší oblast, pro kterou se dnes používá označení evoluční algoritmy, zahrnuje témata evoluční strategie, evolučního programování, umělé inteligence, klasifikačních systémů, genetického programování a nejnověji i učící se hardware. Všechny evoluční algoritmy mají dva hlavní znaky, které je odlišují od ostatních algoritmů. Za prvé jsou založené na populacích a za druhé mezi členy populace probíhá komunikace 34

33 a výměna informací. Tato komunikace a výměna informace vzniká jako výsledek selekce a rekombinace v evolučních algoritmech. Obecný rámec evolučních algoritmů lze shrnout do následujících kroků [27]: 1. nastav i = 1 2. náhodně generuj počáteční populaci P (i) 3. opakuj dokud populace nezkonverguje k požadované hodnotě nebo není dosažen zadaný čas (počet cyklů): - vyhodnot fitness funkci pro každého člena populace P (i) - vyber rodiče z populace na základě hodnoty fitness funkce - použij operátor selekce na rodiče a vytvoř novou generaci P (i + 1) Konkrétní algoritmy, které vycházejí z tohoto obecného schématu, se pak liší způsobem, jaký používají pro reprezentaci členů populace, a schématem, kterým implementují fitness funkci, operátor selekce a rekombinace. Evoluční strategie Pro evoluční strategie platí, že reprezentace prvků je velmi podobná přirozené reprezentaci úlohy a nezdůrazňuje se genetická reprezentace. V případě numerických optimalizačních úloh mohou být prvky reprezentovány například vektorem reálných čísel spíše než binárním řetězcem. Evoluční strategie obvykle používají deterministické schéma selekce, Gaussovu mutaci a diskrétní rekombinaci. Jen zřídka se v kontextu evolučních strategií setkáváme s pojmem křížení, protože simulace evoluce neprobíhá na úrovni genů. Evoluční programování V případě použití pro numerickou optimalizaci jsou mezi evolučními strategiemi a evolučním programováním jen malé rozdíly. Stejně jako u evoluční strategie je u evolučního programování použita Gaussova mutace a k reprezentaci vektor reálných čísel. Nejvýznamnější rozdíl se týká rekombinace a selekce, evoluční programování rekombinaci a selekci nepoužívá a namísto nich je jako mechanismus selekce zvoleno pravděpodobnostní soutěžení. 35

34 Genetické algoritmy Genetické algoritmy (GA) se od evolučních strategií a evolučního programování liší především ve způsobu reprezentace členů populace a operátorem rekombinace. Genetické algoritmy zdůrazňují genetické kódování potenciálních řešení do chromozomů a aplikaci genetických operátorů na tyto chromozomy. Genetická reprezentace má na úspěch algoritmu zásadní význam. Dobře zvolená reprezentace řešení problému výrazně usnadní, špatná reprezentace bude mít vliv opačný. Genetické algoritmy budou podrobně rozebrány v další kapitole. 36

35 KAPITOLA 3 Genetické algoritmy Náhodné optimalizační algoritmy si rychle získaly popularitu po té, co se ukázaly nedostatky klasických analytických a enumerativních metod. Analytické metody, které využívají znalostí matematické analýzy, jsou omezeny především existencí derivace a spojitostí funkce a často u nich dojde k uvíznutí v lokálním extrému. Enumerativní metody jsou naproti tomu velmi jednoduché. Fungují tak, že postupně procházejí všechna možná řešení, jejich časová složitost je ovšem velmi vysoká. Ačkoli lze předpokládat, že náhodné hledání přinese při delším běhu lepší výsledky než enumerativní metody, efektivita jednoduchých náhodných metod jako je náhodná procházka nebo náhodná schémata, která hledají a ukládají pouze nejlepší řešení, je stále velmi nízká. Je ovšem důležité rozlišit striktně náhodné metody od randomizovaných technik. Genetické algoritmy jsou příkladem procedury, která využívá náhodný výběr pouze jako prostředek ke směrování v řízeném procesu hledání. U randomizovaných metod tedy nemusí platit, že hledání probíhá zcela bezcílně. Při zkoumání důvodů funkčnosti a robustnosti genetických algoritmů, je zřejmé, že se musí od tradičních optimalizačních metod lišit v zásadních vlastnostech. Tyto rozdíly lze shrnout do čtyř bodů [27]: 37

36 1. Genetecké algoritmy pracují s kódováním parametrů množiny, ne s parametry samotnými. Vyžadují přirozenou množinu parametrů optimalizovaného problému, která je kódována do řetězce konečné délky nad konečnou abecedou. 2. Genetické algoritmy pracují s populací bodů, ne s jedním bodem. V mnoha optimalizačních metodách se pohybujeme z jednoho bodu v rozhodovacím prostoru k dalšímu pomocí přechodových pravidel, což často vede k uvíznutí v lokálním optimu. Genetické algoritmy oproti tomu pracují s celou množinou bodů současně. Paralelně nalézají různá lokální optima a výrazně tím snižují šanci ukončení algoritmu ve špatném bodě. 3. Genetické algoritmy využívají informace z účelové funkce, ne odvozené nebo jiné přidružené znalosti, například výpočty derivací apod. 4. Genetické algoritmy používají pravděpodobnostní přechodová pravidla, ne deterministická pravidla. Náhodná volba zde slouží jako prostředek k přechodu do oblastí s pravděpodobným zlepšením. 3.1 Terminologie Terminologie uvedená v následující kapitole vychází z [28, 29]. Genetické algoritmy používají terminologii převzatou z genetiky. Každý jedinec v populaci má v genetických algoritmech stejně jako v přírodě geny. Tyto geny tvoří řetězec označovaný jako chromozom, v němž jsou geny uspořádány do lineární posloupnosti. Každý gen v přírodě zajišt uje dědičný přenos jednoho nebo několika znaků. Geny určitých znaků jsou umístěny na daných místech v řetězci. Jakýkoli znak jedince (např. barva vlasů) se projevuje určitým způsobem - říkáme že gen má několik stavů, které označujeme jako alely. Sadu parametrů chromozomu nazýváme genotyp. Každý genotyp by tedy představoval potenciální řešení daného problému. Celková dědičná informace organismu tvoří genom, který se skládá z několika chromozomů, u člověka např. z 23 párů chromozomů. V genetických algoritmech jsou řešení obvykle tvořena pouze jedním chromozomem a termíny genom a chromozom mají tím pádem stejný význam. Evoluční proces pracující s populací genomů pak odpovídá prohledávání prostoru potenciálních řešení. 38

37 Fitness funkce V literatuře se dále používají termíny účelová funkce (cost function) a fitness funkce (fitness function, česky označovaná také jako vhodnost). Fitness funkce číselně vyjadřuje kvalitu každého jedince a je transformovanou hodnotou účelové funkce. Obvykle se používá maximalizační funkce, případně s normalizací do zvoleného intervalu. Fitness funkce dále slouží pro výběr rodičů, kteří se použijí pro další vývoj populace. Podle Darwinovy teorie přežívají jen ti nejlepší, proto by i v genetických algoritmech měli být upřednostněni jedinci s vyšší hodnotou fitness funkce. Na druhou stranu, pokud by byli vybíráni vždy jen nejlepší jedinci, brzy by mohlo dojít k uvíznutí na mrtvém bodě a je tedy vhodné zahrnout s menší pravděpodobností i horší jedince, kteří mohou přinést vhodné geny. Kódování Pro kódování chromozomů se používá nejčastěji binární kódování, tj. posloupnost nul a jedniček. Dle typu úlohy lze pro reprezentaci použít i celá čísla, reálná čísla, matice, vektory nebo křivky. Existují i další typy kódování, např. pro úlohu obchodního cestujícího nebo úlohu okružních jízd je vhodné kódování označované jako permutační, kdy je každému vrcholu, který má být obsloužen, přiřazeno specifické číslo a posloupnost čísel v chromozómu pak udává trasu. 3.2 Princip genetického algoritmu Genetické algoritmy používají tři základní operátory, které si dále popíšeme. Jedná se o: - selekci, - křížení, - mutaci. Výsledkem aplikace těchto operátorů na stávající generaci je vytvoření nové generace. 39

38 Selekce Pro výběr jedinců v dané populaci, kteří se stanou rodiči, slouží řada metod. Nejčastěji se jedná o výběr pomocí vážené rulety, pořadovou selekci a turnajovou selekci. Pro ohodnocení kvality jedinců se používá fitness funkce, jedinci s vyšší hodnotu fitness funkce tak mají vyšší pravděpodobnost, že budou vybráni. Výběr pomocí vážené rulety Metoda selekce pomocí vážené rulety používá pomyslnou ruletu, jejíž obvod je rozdělen do různě velkých oblastí. Každý jedinec dostane takový podíl, který odpovídá hodnotě jeho fitness funkce. Obrázek 3.1: Výběr pomocí vážené rulety. Každému jedinci je přiřazen podíl, který odopovídá hodnotě jeho fitness funkce. V případě maximalizačního kritéria je cílem vybírat častěji jedince s vyšší hodnotou fitness funkce, kterým je na pomyslné ruletě přiřazena větší výseč. V případě minimalizačního kritéria je nutné použití transformace, která menším hodnotám fitness přiřadí větší podíl na ruletě. Zdroj: Autor Algoritmus lze zapsat do následujících kroků [29]: 1. spočti sumu všech účelových hodnot v populaci a označ ji S; 2. vygeneruj náhodné číslo r z intervalu (0,S); 3. projdi populací a pro každého jedince spočítej sumu účelových hodnot od hodnoty nula. Jakmile tato suma překročí r, je vybrán poslední jedinec do reprodukčního pole. Na stejném principu jako výběr pomocí vážené rulety funguje také výběr na jednotkové úsečce, kdy nejsou hodnoty zobrazeny na kruhu, ale na pomyslné úsečce. 40

39 Pořadová selekce Výběr pomocí vážené rulety není vhodný v případě, že hodnoty fitness funkce nejsou transformovány do intervalu (0,1) s rovnoměrným rozdělením. U pořadové selekce se používá jiný systém přerozdělení - nejmenší hodnota dostane hodnotu 1, následující hodnotu 2 atd. Tím se zmenší rozdíly mezi jedinci a ti získají podobnou šanci, že budou vybráni. Dále metoda funguje stejně jako výběr pomocí vážené rulety. Turnajová selekce V této metodě se vždy náhodně vybere skupina jedinců (minimálně dvou, ale může jich být i více) a z nich se zvolí nejlepší na základně hodnoty fitness funkce. Ten se stává vítězem turnaje. Elitismus Elitismus není selekční metodou. Je to mechanismus, který zajišt uje, že při přechodu do nové generace nepřijdeme o nejlepší existující chromozóm. Nejlepší jedinec je tedy přímo vybrán ze stávající generace a zkopírován do nové. Teprve poté se použije jiná selekční metoda na výběr rodičů. Křížení Mezi všemi evolučními metodami používají genetické algoritmy rekombinační operátory, které se nejvíce blíží přírodnímu modelu. Rekombinace dvou chromozómů, tzv. křížení, spočívá ve výměně částí genotypů. V případě jednobodového křížení (single-point crossover - SPX) jsou oba rodičovské chromozómy přerušeny v náhodně určeném bodě. Následně je nový genotyp potomka vytvořen spojením první části chromozómu prvního rodiče a druhé části druhého rodiče (Obr. 3.2a). Ve dvoubodovém křížení (two-point crossover - TPX) jsou oba rodičovské chromozómy rozděleny ve dvou bodech a potomek je vytvořen z krajních částí prvního rodiče a prostřední části druhého rodiče (Obr. 3.2b). Obecnou formou operace křížení je vícebodové křížení (multi- 41

40 Obrázek 3.2: Základní typy křížení. Dvě rodičovská řešení, která prochází procesem křížení, jsou tvořena chromozomy o deseti genech. Každý gen může nabývat dvou hodnot - bílé a šedé. V případě (a) dojde k přerušení rodičovských řešení v jednom místě, jedná se o jednobodové křížení, analogicky (b) dvoubodové křížení a (c) vícebodové křížení. Zdroj: Autor point crossover - MPX) (Obr. 3.2c). Pro chromozómy pevných délek jsou zvolené body křížení pro oba rodiče vždy identické. Mutace Význam mutace spočívá v zachování diverzity jedinců tím, že do nich přináší malé náhodné změny. V případě chromozomů pevné délky lze mutaci provést náhodnou změnou hodnoty (alely) genu. Podobně jako při křížení je obecnější variantou mutace změna více genů naráz, a to bud u sousedící skupiny (dvoubodová mutace), nebo zcela nezávislých náhodných genů (n-bodová mutace). Pokud použijeme pro reprezentaci chromozómů binární kódování, provedeme mutaci jednoduše přepnutím hodnot (z 0 na 1 a obráceně). V případě, že pracujeme s reálnými čísly, vychází se u mutace obvykle z normálního pravděpodobnostního rozdělení. Alternativou k mutaci může být permutace, kdy si dva geny v chromozomu vymění místa. To má samozřejmě smysl jen případě stejných datových typů jednotlivých genů. Permutace může být užitečná u úloh, které mají za úkol stanovit pořadí prvků, jako je tomu například u úlohy obchodního cestujícího nebo optimálního trasování. 42

41 Obrázek 3.3: Základní typy mutace. Vybraný jedinec, který je tvořen chromozomem s deseti geny, prochází procesem mutace. Každý gen může nabývat dvou hodnot - bílé a šedé. V případě (a) dojde náhodné změně v jednom genu, jedná se o jednobodovou mutaci, analogicky (b) dvoubodová mutace a (c) n-bodová mutace. Zdroj: Autor Parametry křížení a mutace Ke křížení a mutaci dochází s určitou předem zvolenou pravděpodobností. Pokud je pravděpodobnost křížení nulová, k žádnému křížení nedochází a všichni potomci vzniknou jako přesné kopie rodičů vybraných během selekce. Naopak pokud pravděpodobnost křížení zvolíme 100%, budou všichni potomci vytvořeni křížením. Podobně jako v případě křížení je to i u mutace, rozdílné jsou však hodnoty pravděpodobnosti, které se používají. Doporučená pravděpodobnost křížení je podle [30] 80-95% a pro mutaci 0,5-1%. 3.3 Vícekriteriální úlohy K oblastem, kde dochází u evolučních algoritmů k nejrychlejšímu rozvoji, patří především vícekriteriální úlohy, které na rozdíl od jednokriteriálních obsahují více, často protichůdných cílů, které vyžadují optimalizaci. V případě vícekriteriálních úloh obvykle neexistuje jedno optimální řešení, a je proto nutné vybrat řešení s určitými kompromisy, které by mělo na přijatelné úrovni splňovat všechny požadované cíle. V mnoha odvětvích reálného světa lze nalézt problémy, které vedou k řešení složitých vícekriteriálních úloh, a byla pro ně vyvinuta řada technik v rámci informatiky, věd na podporu 43

42 rozhodování a operačního výzkumu. Nápad využít potenciál evolučních algoritmů pro řešení vícekriteriálních úloh se objevuje již v šedesátých letech, ale k první implementaci došlo až v letech osmdesátých. Evoluční algoritmy obecně byly až do poloviny osmdesátých let řešeny především na teoretické úrovni, což souvisí s rozvojem a rozšířením počítačové techniky. Od té doby došlo v této oblasti, která je dnes označovaná jako evoluční vícekriteriální optimalizace (evolutionary multiobjective optimization - EMOO), k rozsáhlému vývoji. Hlavní motivace pro použití evolučních algoritmů pro řešení úloh vícekriteriální optimalizace spočívá v tom, že evoluční algoritmy jsou schopné současně vytvářet množinu řešení (tzv. populaci), což umožní nalézt prvky Paretovsky optimální množiny 1 v jednom běhu algoritmu na rozdíl od tradičních matematických metod, které potřebují k dosažení stejného výsledku spuštění řady oddělených běhů. Řada problémů v oblasti dopravy se snaží nalézt řešení, které má být optimální z hlediska časové náročnosti, bezpečnosti, důsledků pro životní prostředí, externích a interních nákladů apod. V takových případech mohou genetické algoritmy nacházet svoje uplatnění. 1 Paretova množina označuje množinu bodů takových, že pro žádný z nich neexistuje bod, který by mu dominoval. Vztah dominance je definován tak, že pro každou složku vektorů u, v platí, že hodnota v podle i- tého kritéria je větší nebo rovná hodnotě u podle i-tého kritéria a zároveň existuje alespoň jedno i, pro které je hodnota u ostře větší než v. Říkáme, že v dominuje u (v případě minimalizační úlohy). 44

43 KAPITOLA 4 Clarke-Wrightova metoda Pro porovnání chování a výsledků jednotlivých metod využijeme stejný příklad jako v mé bakalářské práci [31], která se zabývala optimalizací distribuce náhradních dílů ve společnosti Gefco. Gefco zajišt uje v České republice zásobování autorizovaných servisů značek Peugeot a Citröen. Zásobování probíhá ze dvou dep umístěných v blízkosti Prahy a Brna, ze kterých jsou díly rozváženy do jednotlivých autoservisů, kterých je v České republice celkem 97. Jejich přehled je uveden v příloze v Tabulce č. A.1 Bakalářská práce se zabývala pouze servisy, jejichž zásobování probíhá z pražského depa a hledala trasy vozidel tak, aby náklady na distribuci byly minimální při současném splnění časových omezení a limitů daných kapacitou vozidel. K řešení problému byla použita nejznámější heuristická metoda pro úlohu okružních jízd - Clarke-Wrightova metoda (CW). Ačkoli je založena na velmi jednoduché myšlence, poskytuje obvykle relativně dobré řešení, tedy takové, které se jen málo odlišuje od optima. 4.1 Princip Clarke-Wrightovy metody Algoritmus funguje na principu úspor nákladů získaných spojením dvou tras do jedné tak, jak je ilustrováno na Obrázku č. 4.1, kde bod 0 představuje depo. 45

44 Obrázek 4.1: Schéma výpočtu úspor u Clarke-Wrightovy metody Zdroj: Autor Na začátku jsou zákazníci i a j jsou obslouženi na různých trasách (Obr. 4.1a). Alternativně lze tyto dva zákazníky navštívit na stejné trase, například v pořadí i j, jak je ukázáno na Obrázku 4.1b. Vzdálenosti (respektive přepravní náklady), které minimalizujeme jsou známé, a je tedy možné spočítat úsporu spojené trasy (4.1b) oproti dvěma trasám (4.1a). Přepravní náklady pro dvě samostané trasy (Obr. 4.1a) lze vyjádřit jako: D a = c 0i + c i0 + c 0j + c j0, a pro trasu vzniklou spojením i a j (Obr. 4.1b): D b = c 0i + c ij + c j0 Odečtením obou rovnic získáme úsporu S ij S ij = c i0 + c 0j c ij Vysoká hodnota S ij indikuje, že je výhodné navštívit body i a j na stejné trase a to tak, aby byly v pořadí hned za sebou. V prvním kroku algoritmu jsou spočteny úspory pro každou dvojici zákazníků a úspory se poté setřídí od největších hodnot k nejmenším. Následně se vybere nejvyšší hodnota úspor, která je na prvním místě v seznamu, a testuje se, zda lze odpovídající dvojici bodů spojit do jedné trasy. Trasy lze spojit do jedné, pokud jsou body i a j koncové body dvou tras a zároveň jsou splněny podmínky přípustnosti (délka trasy, kapacita vozidel apod.). Takto projdeme všechny hodnoty úspor v setříděném seznamu. V případě, že některý bod nebyl přiřazen do žádné trasy, je nutné ho navštívit na samostatné trase. 46

45 4.2 Výsledky Problém nyní rozšíříme o druhé depo, využijeme již získané výsledky pomocí Clarke- Wrightovy metody a stejnou metodu použijeme i pro návrh tras z brněnského depa. Tyto hodnoty nám budou sloužit pro základní porovnání úspěšnosti navrhovaných metaheuristických algoritmů. Program byl spuštěn pro jednu kombinaci použitých vstupních hodnot z pražského depa a tutéž kombinaci z brněnského depa. Hodnoty omezení vycházely z původního řešení distribuce, požadavků na časy dodání a kapacity vozidel. Byly zvoleny 400 km jako maximální ujetá vzdálenost na jedné trase a 8 bodů jako maximální počet navštívených servisů na jedné trase. Maximální počet servisů na trase odpovídá omezené kapacitě vozidla. Při známých hodnotách hmotnosti a počtu rozvážených kusů by bylo samozřejmě možné zohlednit jako omezující podmíku maximální hmotnost nákladu. Ta se ovšem mění každý den, zatímco optimalizace tras se předpokládá jako jednorázová pro delší období, a proto jsou hmotnosti nahrazeny maximálním počtem servisů, který odpovídá průměrným objemům rozvážených náhradních dílů. Nalezené trasy jsou uvedeny v následujícím souhrnu. Pro větší přehlednost jsou použita pouze čísla autoservisů, která odpovídají ID (pořadovému číslu) v Tabulce A.1, nula odpovídá v obou případech - pro Prahu i Brno - depu. Při daných omezeních 400 km a 8 bodů na trase vyšlo celkem 8 rozvozových tras z pražského (jažlovického) depa a 5 tras z brněnského. Celková minimální nalezená délka všech tras z obou dep je km, dohromady tedy 4070 km. Nalezené trasy jsou znázorněny na mapě České republiky na Obr Depo Praha trasa 1: Délka trasy: 367,5 km trasa 2: Délka trasy: 327,9 km 47

46 trasa 3: Délka trasy: 75,4 trasa 4: Délka trasy: 390,1 km trasa 5: Délka trasy: 258,8 km trasa 6: Délka trasy: 366,3 km trasa 7: Délka trasy: 359,9 km trasa 8: Délka trasy: 346,2 km Celková délka: 2492,1 km Obrázek 4.2: Trasy získané pomocí Clarke-Wrightovy metody Zdroj: Autor 48

47 Depo Brno trasa 1: délka trasy: 399,1 km trasa 2: délka trasy: 234,9 km trasa 3: délka trasy: 256,1 km trasa 4: délka trasy: 297,1 km trasa 5: délka trasy: 390,4 km Celková délka: 1577,60 km 49

48 KAPITOLA 5 Aplikace genetických algoritmů na úlohu okruˇzních jízd Pro stejná data z předchozí kapitoly se zachováním umístění dep nyní použijeme genetický algoritmus. Konkrétní schéma implementovaného genetického algoritmu vychází z [15]. Nejzásadnější otázkou je v případě genetických algoritmů použitých pro úlohu okružních jízd způsob reprezentace jednotlivých řešení a dále zajištění toho, že se nevytváří řešení s duplicitními hodnotami při křížení a mutaci. 5.1 Návrh genetického algoritmu Reprezentace Reprezentace genomů byla zvolena tak, aby co nejvíce připomínala přirozenou reprezentaci úlohy. Každý genom (jedinec) je tvořen množinou seznamů jednotlivých bodů, kdy body jsou v seznamu v takovém pořadí v jakém jsou navštíveny na dané trase. K reprezentaci jsou použita přirozená čísla, která odpovídají číselnému identifikátoru ID z Tabulky A.1. Příklad reprezentace jednoho genomu, který je tvořen trasami s celkem deseti navštívenými vrcholy je uveden na Obr

49 Obrázek 5.1: Příklad reprezentace jednoho genomu s deseti navštívenými vrcholy Zdroj: Autor Při počáteční inicializaci jsou jedinci tvořeni náhodně, zároveň ale při inicializaci i v každém kroku algoritmu probíhá kontrola, zda jsou splněny všechny omezující podmínky. Pokud je na některé trase jedince překročena maximální délka nebo počet vrcholů, rozdělí se daná trasa do několika nových, které již daná omezení splňují. Fitness funkce Volba fitness funkce vyplývá ze zadání úlohy, kdy je cílem minimalizovat celkovou ujetou vzdálenost. Proto hodnotu fitness funkce volíme jako prostý celkový součet délek jednotlivých tras a kritérium je použito jako minimalizační. Selekce Jako metoda selekce je použita turnajová selekce, která je popsána v části 3.2, s parametrem 3, tj. v každém kroku jsou náhodně vybráni tři jedinci a z nich je na základě hodnoty fitness funkce vybrán nejlepší, který dále vstupuje jako rodič do procesu křížení. Křížení Jak již bylo zmíněno výše, v úloze okružních jízd není možné použít klasické metody křížení s jedním nebo několika body, ve kterých se přeruší rodičovská řešení a jejich jednotlivé části se poté pospojují dohromady. U takového způsobu křížení by docházelo ke vzniku duplicit, a tím nepřípustných řešení. Namísto toho je z jednoho rodičovského řešení náhodně vybrána část 51

50 trasy a ta je vložena do druhého rodičovského řešení, ze kterého jsou poté vymazány všechny hodnoty z vkládaného úseku tak, aby byl každý bod v řešení opět právě jednou. Příklad fungování takového křížení je zobrazen na Obr Obrázek 5.2: Příklad křížení Zdroj: Autor Místo, kam vkládáme zvolený úsek, může být vybráno náhodně. Jinou možností, která je popsána v článku [15], je nalézt bod v rodičovském řešení, který je nejblíže prvnímu bodu vkládaného úseku (a zároveň se tento bod nevyskytuje ve vkládaném úseku), a vložit úsek přímo za něj. Při testování byly použity obě varianty, jejichž výsledky budou popsány dále. Zároveň byla testována varianta, kdy se náhodně střídají obě možnosti. Pravděpodobnost přiřazená oběma způsobům křížení byla zvolena shodná, tj. 0,5. Metoda, při které se vkládá k nejbližšímu bodu, zajistí rychlejší konvergenci řešení, mohla by ovšem způsobit, že by se velká množina prostoru možných řešení vůbec nenavštívila. Mutace Stejně jako v případě křížení i způsob provádění mutace je nutné přizpůsobit charakteru úlohy. Zvolená mutace probíhá záměnou dvou bodů v řešení, které jsou oba vybrány náhodně. Jinou možností, kterou by bylo možné v tomto případě použít, je zvolit bod a vložit ho do jiného místa řešení. 52

51 Elitismus Byly otestovány varianty s použitím i vynecháním elitismu. V případě zahrnutí elitismu je do další generace přesouván jeden jedinec s nejlepší hodnotou fitness funkce. Parametry křížení a mutace Křížení a mutace neprobíhají vždy, ale s předem stanovenou pravděpodobností. Nejprve se pomocí selekce vyberou dva rodiče, vygeneruje se náhodné číslo z intervalu (0,1) a pokud je toto číslo menší než pravděpodobnost křížení, vstupují rodiče do procesu křížení. Pokud náhodné číslo převyšuje stanovenou hodnotu pravděpodobnosti, přesuneme prvního rodiče přímo do další generace a druhého již dále neuvažujeme. Analogicky probíhá mutace, ke které dochází pouze, pokud je vygenerované číslo menší než zvolená hodnota pravděpodobnosti mutace. Na základě doporučených hodnot pravděpodobnosti křížení a mutace [30] byl program spuštěn pro všechny možné kombinace následujících hodnot parametrů: - pravděpodobnost křížení: 0,70; 0,80; 0,85; 0,90; 0,95; - pravděpodobnost mutace: 0,05; 0,10; 0,15. Implementace Pro implementaci algoritmu bylo zvoleno prostředí Matlab. Matlab umožňuje velmi jednoduchou práci s poli, které jsou implicitní datovou strukturou, není potřeba předem alokovat pamět ani ji posléze uvolňovat. Vzhledem k rozdílné délce jednotlivých řetězců jsou pro ukládání jednotlivých řešení použita tzv. buněčná pole (CellArray), kdy je možné do každé buňky pole vložit jiný datový typ (v našem případě se do jednotlivých buněk vkládají vektory čísel různých délek). Klasické vícerozměrné pole s pevně danými rozměry by na rozdíl od buněčné struktury mělo výrazně vyšší pamět ové nároky, kdy by velká část pole zůstávala prázdná. 53

52 Na druhé straně je výpočet pomalejší než při použití jiných programovacích jazyků, při běhu algoritmu s vytvářením desítek tisíc populací se tyto rozdíly již výrazně projevují. Při požadavku na získání řešení v kratším čase by bylo vhodné zvolit např. programovací jazyk C. 5.2 Výsledky Pražské depo Stejně jako při řešení úlohy Clarke-Wrightovou metodou jsou zvoleny omezující podmínky 8 bodů na trase a délka trasy omezená na 400 km. Pro toto zadání pak bylo testováno chování genetického algoritmu s různým nastavením jednotlivých parametrů: - typem křížení, - pravděpodobností křížení, - pravděpodobností mutace, - velikostí populace, - použití elitismu. Počet iterací omezíme na , kdy se minimální nalezená hodnota fitness funkce mění již minimálně. Jednotlivé varianty a vliv nastavení parametrů nejprve porovnáme na části úlohy, která zahrnuje servisy příslušející pražskému depu. Nejlépe fungující variantu pak využijeme dále pro návrh tras z brněnského depa a také pro návrh tras po změně umístění dep. 54

53 Varianta 1 - křížení s náhodným vkládáním bez elitismu První testovanou variantou je genetický algoritmus, který používá způsob křížení, kdy jsou úseky mezi rodiči přesouvány na náhodné pozice. Minimální nalezené hodnoty fitness funkce pro všechny kombinace pravděpodobnosti křížení, pravděpodobnosti mutace a velikosti populace jsou shrnuty v Tabulce 5.1 a zároveň jsou zde data z tabulky zobrazena pro přehlednost do grafů. Pokud srovnáme získané hodnoty s výsledky Clarke-Wrightovy metody (2492,1 km), je zřejmé, že výsledky genetického algoritmu u této varianty jsou velmi vzdálené od optima (které musí být nutně menší nebo rovno výsledkům Clarke-Wrighta). I v nejlepším případě, kdy je celková ujetá vzdálenost 2847,9 km, se jedná o rozdíl více než 14 procent oproti Clarke-Wrightovi. Z grafů u Tabulky 5.1 je také patrná významná závislost výsledků na nastavení jednotlivých parametrů. Jen malý vliv má pravděpodobnost mutace, naopak při změně pravděpodobnosti křížení se projevují větší rozdíly. Oproti očekávání byly získány lepší výsledky při nižších pravděpodobnostech křížení (0,7), přestože se jedná o nižší hodnoty, než které jsou obecně doporučovány (dle [30] kolem 0,9). Je pravděpodobné, že i malé změny, které vznikají při křížení nebo mutaci, mohou výrazně ovlivnit délku tras a způsobit ztrátu dobrých řešení. Proto nízké hodnoty pravděpodobnosti křížení, kdy jsou již získaná dobrá řešení přenesena do další generace, zajistí nalezení lepší výsledné hodnoty fitness funkce. Z tohoto důvodu otestujeme ve variantách 4,5 a 6 zahrnutí elitismu. Závislost je vidět i při změně velikosti populace, kdy jsou získané výsledky lepší s větší velikostí populace, což odpovídá tomu, že je vytvořeno a otestováno větší množství možných řešení. Průběh jednoho konkrétního spuštění algoritmu zachycuje graf na Obr Je zde vidět, že po počátečních několika stech krocích již nedochází k téměř žádné konvergenci maximální, minimální a průměrné fitness hodnoty. Naopak průměrná a minimální hodnota fitness funkce se v jednotlivých populacích často výrazně vzdálí od již nalezeného absolutního minima. Na grafu na Obr. 5.3b je pro stejné hodnoty parametrů zachycen průběh prvních dvě stě kroků běhu algoritmu. 55

54 Velikost populace Pravděpodobnost mutace 20 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,2 3469,6 3791,7 0, ,9 3791,6 3968,5 0, ,7 3914,7 4139,1 0, ,2 4119,9 4193,6 0, ,9 4398,5 4332,4 Fitness [km] ,15 0,10 0, 7 0, 8 0, 9 Pravděpodobnost křížení 0,05 Velikost populace Pravděpodobnost mutace 30 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,0 3366,1 3430,6 0, ,9 3696,5 3873,8 0, ,8 3869,4 3690,2 0, ,2 3885,7 3750,1 0, , ,9 Fitness [km] ,15 0,05 0, , 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 60 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,9 2971,5 2967,1 0, ,7 3195,3 3516,9 0, , ,9 0, ,8 3751,6 3724,6 0, ,1 3807,4 3590,5 Fitness [km] ,15 0,05 0,10 0, 7 0, 8 0, 9 Pravděpodobnost křížení Tabulka 5.1: Minimální hodnoty fitness funkce pro variantu 1. V grafech jsou zobrazeny nalezené hodnoty fitness funkce v závislosti na hodnotě pravděpodobnosti křížení. Tabulky a jim odpovídající grafy jsou zobrazeny zvlášt pro velikost populace 20, 30 a 60 jedinců. Pravděpodobnost mutace je konstantní pro každou zobrazenou křivku a její hodnota je zobrazena u dané křivky. Zdroj: Autor 56

55 6000 Fitness [km] min, max avg min abs , Počet iterací (a) Fitness [km] min, max avg min abs Počet iterací (b) Obrázek 5.3: Průběh algoritmu - varianta 1. Graf znázorňuje chování jednoho běhu algoritmu s počátečními hodnotami 30 členů v populaci, pravděpodobností mutace 0,1 a pravděpodobností křížení 0,8. Na grafu (a) je vždy po 100 iteracích zobrazena maximální hodnota fitness funkce v populaci (max), průměrná hodnota fitness v populaci (avg), minimální hodnota fitness v populaci (min) a minimální celková hodnota fitness nalezená od začátku běhu algoritmu (min abs). Na grafu (b) jsou tytéž hodnoty fitness funkce zobrazeny pro prvních dvě stě iterací. Zdroj: Autor 57

56 Varianta 2 - křížení s vkládáním k nejbližšímu bodu bez elitismu Druhá testovaná varianta používá křížení, ve kterém je náhodně vybrán úsek rodiče 1 a vložen na místo v rodiči 2 za takový bod, který je nejblíže prvnímu bodu přesouvaného úseku. Minimální nalezené hodnoty fitness funkce jsou shrnuty v Tabulce 5.2. Velikost populace Pravděpodobnost mutace 20 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,4 2728,6 2693,8 0, ,0 2641,0 2745,7 0, ,3 2754,3 2718,1 0, ,8 2746,5 2800,6 0, ,5 2674,7 2782,3 Fitness [km] ,05 0,15 0, , 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 30 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,5 2660,1 2573,8 0, ,3 2693,7 2723,3 0, ,8 2794,3 2555,7 0, ,8 2795,1 2583,2 0, ,3 2702,0 2517,9 Fitness [km] ,10 0,15 0, , 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 60 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,9 2715,1 2621,8 0, ,2 2763,4 2774,5 0, ,8 2732,4 2629,6 0, ,1 2641,8 2737,7 0, ,5 2762,6 2602,4 Fitness [km] ,10 0,15 0, , 7 0, 8 0, 9 Pravděpodobnost křížení Tabulka 5.2: Minimální hodnoty fitness funkce pro variantu 2 - Popis viz Tabulka 5.1 Zdroj: Autor Změna typu křížení výrazně ovlivnila výsledky a nalezená minimální hodnota fitness funkce se pro různé hodnoty parametrů pohybuje mezi 2517,9 a 2865,8. Výsledné hodnoty nevykazují výraznou závislost na nastavení parametrů a je tedy možné získat relativně dobré řešení pro 58

57 jakékoli počáteční nastavení pravděpodobností a velikosti populace. Při srovnání s Clarke- Wrightem se již nejlepší nalezená hodnota o tolik neliší, ale stále se nepodařilo najít řešení s kratší délkou tras. Rozdíl je v tomto případě přibližně 1%. Na Obr. 5.4 je pak vidět chování algoritmu v čase. Na rozdíl od náhodného křížení se zde minimum populace a absolutní minimum téměř shodují a i průměrná hodnota fitness populace má jen malé výchylky. Zároveň dochází k rychlé konvergenci na počátku běhu algoritmu (Obr. 5.4b) a po pěti tisících krocích se nalezené řešení již prakticky nemění (Obr. 5.4a) Fitness [km] 3000 min, max avg min abs , Počet iterací (a) Fitness [km] Počet iterací min, max avg min abs (b) Obrázek 5.4: Průběh algoritmu - varianta 2. Hodnoty paramterů a popis grafů viz Obr. 5.3 Zdroj: Autor 59

58 Varianta 3 - střídání obou metod křížení bez elitismu Ve třetí variantě je zkombinován způsob křížení použitý ve variantě 1 a 2. Metoda křížení je v každém kroku volena náhodně s pravděpodobností 0,5. Minimální hodnoty fitness funkce jsou uvedeny v Tabulce 5.3. Velikost populace Pravděpodobnost mutace 20 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,8 2560,1 2587,7 0, ,4 2535,8 2597,7 0, ,7 2584,9 2700,0 0, ,1 2622,4 2723,3 0, ,6 2755,7 2724,9 Fitness [km] ,15 0,05 0,10 0, 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 30 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,8 2491,8 2506,0 0, ,1 2521,7 2571,8 0, ,9 2567,7 2608,7 0, ,7 2593,4 2654,0 0, ,6 2644,6 2680,6 Fitness [km] ,15 0,05 0,10 0, 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 60 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,3 2542,9 2493,8 0, ,6 2477,2 2524,6 0, ,2 2498,4 2513,7 0, ,8 2512,5 2525,6 0, ,8 2524,7 2594,9 Fitness [km] ,15 0,05 0,10 0, 7 0, 8 0, 9 Pravděpodobnost křížení Tabulka 5.3: Minimální hodnoty fitness funkce pro variantu 3 - Popis viz Tabulka 5.1 Zdroj: Autor Kombinací obou typů křížení se podařilo získat ještě lepší výsledky než u varianty 2. Minimální nalezená hodnota 2468,8 km je již nižší než výsledky získané pomocí Clarke-Wrightovy metody (2492,1 km). Z grafů na Obr. 5.5 je vidět, že oproti druhé variantě dochází na počátku 60

59 k pomalejšímu poklesu fitness funkce a i v dalším průběhu jsou minimální i průměrné hodnoty více kolísavé. Větší variabilita pravděpodobně umožnila získat lepší výsledky. Ty zároveň nevykazují zásadní závislost na nastavených parametrech, jak je vidět z Tabulky Fitness [km] 3000 min, max avg min abs , Počet iterací (a) Fitness [km] Počet iterací min, max avg min abs (b) Obrázek 5.5: Průběh algoritmu varianta 3 - Hodnoty paramterů a popis grafů viz Obr. 5.3 Zdroj: Autor 61

60 Varianta 4 - křížení s náhodným vkládáním s elitismem V chování algoritmu u varianty 1 se projevilo, že pokud nezahrneme do algoritmu elitismus, přicházíme často o dobrá řešení a tím nalezneme i celkově horší výsledná řešení. V této variantě proto zachováme způsob křížení z varianty 1 a přidáme elitismus. Velikost populace Pravděpodobnost mutace 20 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,2 2482,7 2563,0 0, ,7 2546,9 2626,2 0, ,6 2750,2 2526,9 0, ,4 2782,5 2578,4 0, ,7 2528,4 2712,2 Fitness [km] ,10 0,05 0,15 0, 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 30 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,7 2481,5 2466,7 0, ,2 2551,7 2696,6 0, ,2 2756,0 2664,2 0, ,3 2658,0 2696,5 0, ,6 2661,5 2662,6 Fitness [km] ,15 0,05 0,10 0, 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 60 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,9 2789,3 2733,3 0, ,6 2596,2 2547,5 0, ,1 2643,3 2644,6 0, ,9 2648,6 2567,2 0, ,0 2696,3 2724,1 Fitness [km] ,15 0,05 0, , 7 0, 8 0, 9 Pravděpodobnost křížení Tabulka 5.4: Minimální hodnoty fitness funkce pro variantu 4 - Popis viz Tabulka 5.1 Zdroj: Autor Přestože se v algoritmu jedná o relativně malou změnu, projevila se v konečných hodnotách výrazným poklesem nalezené hodnoty fitness funkce. Výsledky se pohybují v podobném 62

61 rozmezí jako ve variantách 2 a 3, nejlepší nalezená hodnota fitness je v případě této varianty 2463,7 km. Minimální nalezené hodnoty fitness funkce jsou shrnuty v Tabulce 5.4. Vzhledem k použití náhodného křížení dochází dle očekávání k pomalejšímu poklesu fitness funkce i větší variabilitě populací, jak je vidět na Obr Fitness [km] 4000 min, max avg , Počet iterací (a) Fitness [km] min, max avg Počet iterací (b) Obrázek 5.6: Hodnoty parametrů a popis grafů viz Obr. 5.3 Grafy na Obr. 5.6, 5.7 a 5.8 nezobrazují absolutní minimum fitness funkce, které se při zahrnutí elitismu rovná minimu jednotlivých populací. Zdroj: Autor 63

62 Varianta 5 - křížení s vkládáním k nejbližšímu bodu s elitismem Přidání elitismu do varianty 2 má na rozdíl od varianty 1 jen velmi malý vliv. To odpovídá také tomu, že se i bez zahrnutí elitismu (varianta 2) minimum populace a absolutní minimum po celý průběh programu téměř shodovala a současně průměrná hodnota fitness funkce v populaci byla jen o málo vyšší než její minimum. Po počáteční rychlé konvergenci dojde k tomu, že při křížení, které je do určité míry deterministické, dochází jen k malým změnám v populaci. Nejlepší řešení se tak i bez zahrnutí elitismu s vysokou pravděpodobností přenáší do další generace. Velikost populace Pravděpodobnost mutace 20 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,2 2763,1 2742,8 0, ,4 2808,9 2682,8 0, ,0 2653,3 2585,5 0, ,4 2759,3 2700,0 0, ,1 2827,6 2705,7 Fitness [km] ,15 0,10 0,05 0, 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 30 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,5 2704,8 2503,4 0, ,3 2752,6 2624,0 0, ,5 2849,0 2623,9 0, ,4 2603,7 2585,4 0, ,5 2637,7 2578,0 Fitness [km] ,15 0,10 0, , 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 60 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,9 2834,1 2610,0 0, ,7 2651,3 2564,9 0, ,3 2728,7 2523,6 0, ,1 2683,4 2661,6 0, ,4 2594,5 2633,7 Fitness [km] ,10 0, , , 7 0, 8 0, 9 Pravděpodobnost křížení Tabulka 5.5: Minimální hodnoty fitness funkce pro variantu 5 - Popis viz Tabulka 5.1 Zdroj: Autor 64

63 Minimální nalezená hodnota je 2468,4, která je spolu s výsledky ostatních kombinací pravděpodobností uvedena v Tabulce 5.5. Z průběhu algoritmu na Obr. 5.7a se může zdát zvláštní, že k výraznému poklesu minima fitness funkce došlo v oblasti kolem iterací. Zde se pravděpodobně jedná o vliv mutace, která zajistila i po velkém počtu kroků skokové zlepšení. Tento závěr koresponduje i s tím, že tento typ křížení, který málo využívá náhodných procesů, nemusí vést k nejlepším řešením Fitness [km] 3000 min, max avg , Počet iterací (a) Fitness [km] Počet iterací min, max avg (b) Obrázek 5.7: Hodnoty paramterů a popis grafů viz Obr. 5.6 Zdroj: Autor 65

64 Varianta 6 - střídání obou metod křížení s elitismem Poslední testovaná varianta kombinuje oba typy křížení spolu s elitismem. Tím se podařilo získat nejen nejnižší hodnotu ze všech testovaných variant, ale celkově se pro všechny kombinace parametrů dařilo dosahovat nízkých hodnot, jak je vidět z Tabulky 5.6. Minimální hodnoty fitness funkce se zde pohybují v rozmezí 2462,2 až 2661,9 km. Navíc dochází k rychlému poklesu fitness funkce na počátku běhu programu, jejíž hodnota se v testovaném běhu po 1000 krocích již dále nemění (viz. grafy na Obr. 5.8). Velikost populace Pravděpodobnost mutace 20 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,5 2633,0 2495,6 0, ,5 2482,3 2559,8 0, ,1 2565,9 2551,8 0, ,2 2519,4 2527,1 0, ,6 2627,0 2468,4 Fitness [km] ,10 0,15 0,05 0, 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 30 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,5 2550,4 2509,6 0, ,7 2661,9 2638,8 0, ,6 2565,6 2562,6 0, ,5 2538,8 2539,2 0, ,9 2479,0 2528,3 Fitness [km] ,15 0,10 0,05 0, 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 60 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,0 2563,2 2470,5 0, ,0 2622,0 2476,3 0, ,6 2542,2 2462,2 0, ,0 2552,0 2542,4 0, ,6 2488,4 2501,2 Fitness [km] ,10 0,05 0,15 0, 7 0, 8 0, 9 Pravděpodobnost křížení Tabulka 5.6: Minimální hodnoty fitness funkce pro variantu 6 - Popis viz Tabulka 5.1 Zdroj: Autor 66

65 5000 Fitness [km] min, max avg , Počet iterací (a) Fitness [km] Počet iterací min, max avg (b) Obrázek 5.8: Hodnoty paramterů a popis grafů viz Obr. 5.3 Zdroj: Autor 67

66 Porovnání výsledků Srovnání průběhu všech šesti variant je zobrazeno na grafech na Obr a Grafy zobrazují minimální nalezenou hodnotu fitness funkce pro celý průběh iterací (Obr. 5.10), resp. pro prvních dvě stě kroků (Obr. 5.11), stejně jako tomu bylo u grafů zobrazených u jednotlivých variant. Je zde vidět, že u varianty 1 dochází na počátku k nejpomalejšímu poklesu hodnoty fitness funkce a zároveň je v celém průběhu minimální hodnota fitness funkce výrazně vyšší než u ostatních variant. U varianty 4 dochází také k pomalejšímu počátečnímu poklesu, ale po přibližně dvou tisících iteracích se již varianty 2 až 6 pohybují v podobném rozmezí a konečné výsledky jsou podobné. Nejlepší řešení bylo získáno u varianty 6 s celkovou délkou tras 2462,2 km, což je o 1,2% nižší hodnota než řešení nalezené pomocí Clarke-Wrightovy metody. Přehled tras je uveden v následujícím odstavci a na Obr. 5.9 jsou trasy zobrazeny na mapě. U šesté varianty byly zároveň získány výsledky s nejmenším rozmezím hodnot. Otázka rozptylu výsledků je důležitá pro obecné použití algoritmu, abychom si mohli být jisti, že nalezená hodnota není příliš vzdálená od optima. I přesto z výsledků vyplývá, že je u genetických algoritmů v dané úloze vhodnější použít více kombinací parametrů. Nejlepší nalezené řešení trasa 1: délka trasy: 309,7 km trasa 2: délka trasy: 350,9 km trasa 3: délka trasy: 362,1 km trasa 4: délka trasy: 328,6 km trasa 5: délka trasy: 295,1 km 68

67 trasa 6: délka trasy: 390,3 km trasa 7: délka trasy: 76,8 km trasa 8: délka trasy: 348,7 km Celková délka: 2462,2 km Obrázek 5.9: Nejlepší řešení nalezené genetickým algoritmem pro servisy přiřazené pražskému depu Zdroj: Autor 69

68 4000 Fitness [km] 3000 varianta 1 varianta 2 varianta 3 varianta 4 varianta 5 varianta , Počet iterací Obrázek 5.10: Srovnání minimálních nalezených hodnot jednotlivých varianta pro celý běh algoritmu s počátečními hodnotami 30 členů v populaci, pravděpodobností mutace 0,1 a pravděpodobností křížení 0,8. Zdroj: Autor Fitness [km] Počet iterací varianta 1 varianta 2 varianta 3 varianta 4 varianta 5 varianta 6 Obrázek 5.11: Srovnání minimálních nalezených hodnot pro prvních 200 kroků běhu algoritmu s počátečními hodnotami 30 členů v populaci, pravděpodobností mutace 0,1 a pravděpodobností křížení 0,8. Zdroj: Autor 70

69 Brněnské depo Na základě otestování chování jednotlivých variant algoritmu, bylo pro získání rozvozových tras z brněnského depa použito pouze nastavení parametrů z varianty 6, při kterém byly dosaženy nejlepší výsledky. Jedná se tedy o kombinaci obou typů křížení se zahrnutím elitismu. Výsledky jsou opět shrnuty v přehledové tabulce 5.7 společně se zobrazením těchto výsledků do grafů. Velikost populace Pravděpodobnost mutace 20 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,5 1463,3 1576,3 0, ,4 1465,3 1570,0 0, ,6 1678,8 1467,5 0, ,4 1468,4 1467,6 0, ,6 1466,7 1464,8 Fitness [km] ,15 0,05 0, , 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 30 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,4 1468,4 1499,0 0, ,2 1615,3 1577,1 0, ,7 1465,7 1586,6 0, ,7 1465,7 1467,5 0, ,5 1616,7 1579,4 Fitness [km] ,05 0,10 0,15 0, 7 0, 8 0, 9 Pravděpodobnost křížení Velikost populace Pravděpodobnost mutace 60 0,05 0,10 0,15 Pravděpodobnost křížení 0, ,6 1467,0 1468,9 0, ,3 1465,2 1467,6 0, ,4 1470,0 1468,0 0, ,1 1462,5 1467,5 0, ,5 1466,7 1467,8 Fitness [km] ,15 0,05 0, , 7 0, 8 0, 9 Pravděpodobnost křížení Tabulka 5.7: Minimální hodnoty fitness funkce pro trasy z brněnského depa Zdroj: Autor 71

70 Minimální nalezená hodnota fitness funkce je 1462,5 km pro trasy uvedené v následujícím přehledu. Na Obr jsou tyto trasy zobrazeny na mapě. Nejlepší nalezené řešení trasa 1: délka trasy: 382,3 trasa 2: délka trasy: 399,9 trasa 3: délka trasy: 293,6 trasa 4: délka trasy: 3,6 trasa 5: délka trasy: 383,1 km Celová délka 1462,5 Obrázek 5.12: Nejlepší řešení nalezené genetickým algoritmem pro servisy přiřazené brněnskému depu Zdroj: Autor 72

71 5.3 Porovnání výsledků GA a CW Pokud srovnáme získaná řešení z obou dep s Clarke-Wrightovou metodou, podařilo se najít trasy kratší celkem o 3,56%. Přehled nejlepších nalezených řešení obou metod a procentuální úspory genetického algoritmu oproti Clarke-Wrightovi jsou uvedeny v Tabulce 5.8. depo Praha depo Brno celkem Clarke-Wright [km] 2492,1 1577, ,7 GA [km] 2462,2 1462,5 3924,7 úspora GA oproti CW 1,20% 7,30% 3,56% Tabulka 5.8: Srovnání nalezených řešení pomocí Clarke-Wrightovy metody a genetických algoritmů 73

72 KAPITOLA 6 Aplikace genetických algoritmů na lokační úlohu V předchozí kapitole jsme uvažovali pozici dep danou na základě jejich skutečného současného umístění. Nyní se zaměříme na to, jaký vliv má na délku rozvozových tras změna jejich lokace, pokusíme se najít optimální umístění a pro toto nové umístění navrhneme nové rozvozové trasy, abychom je mohli porovnat s trasami nalezenými při původním umístění dep. Na rozdíl od úlohy okružních jízd je použití genetických algoritmů pro lokační úlohy jednodušší. Standardní verze operátorů není potřeba upravovat a jsou pro tento typ úlohy přímo použitelné. Umístění středisek je omezeno na konečnou množinu míst a to tak, že Českou republiku rozdělíme na 250 bodů ve vodorovném směru a 150 ve svislém, což odpovídá kroku přibližně 2 km v obou směrech. Každý průsečík této sítě je uvažován jako možné umístění střediska, celkem je tedy možné umístění do bodů. Pro každý z těchto bodů byla spočtena vzdálenost do všech z 97 autoservisů pomocí GoogleMaps. Vzhledem k dennímu limitu GoogleMaps 2500 dotazů za den byl výpočet řešen distribuovaně pomocí webové aplikace

73 Reprezentace Stejně jako u úlohy okružních jízd byla zvolena reprezentace pomocí přirozených čísel. Jednotlivé lokace, kam mohou být umístěna střediska, jsou očíslovány a každý jedinec (řešení) v populaci tvoří neuspořádaný seznam vybraných lokací o délce n, kde n je počet umist ovaných středisek. Fitness funkce Servisy jsou přiděleny do atrakčních obvodů středisek tak, že každý servis je přidělen do atrakčního obvodu toho střediska, ke kterému je nejblíže. Při shodných vzdálenostech se atrakční obvod zvolí náhodně. Hodnota fitness funkce se poté spočítá jako součet vzdáleností všech servisů ke středisku, do jehož atrakčního obvodu je daný servis přidělen. Jedná se o minimalizační kritérium. Selekce Stejně jako v případě úlohy okružních jízd byla použita turnajová selekce. Mutace Mutace je řešena tak, že v genomu je náhodně vybrána pozice a na její místo je vložen náhodný prvek ze seznamu všech možných lokací. Křížení Byla zvoleno jednobodové křížení, tak jak bylo popsáno v sekci 3.2. Výsledky V případě jednoho nebo dvou umist ovaných středisek je možné získat výsledky i otestováním všech možných kombinací, kterých je ( ) n k, kde n je počet možných umístění a k počet umist ovaných středisek. Pro k větší než dva začíná počet možných kombinací výrazně narůstat a výpočet řešení,,hrubou silou v rozumném čase neskončí. Již při umist ování tří středisek je 75

74 v naší úloze počet možných řešení přibližně Naproti tomu v genetickém algoritmu o velikosti populace 50 a počtu generací se vytváří a ohodnocuje jedinců (řešení). Problematickým místem je v této úloze velké množství možných umístění, které bylo zvoleno tak, aby se řešení blížilo spojité lokační úloze, kdy je možné umístění střediska zcela libovolné. Dochází tak k tomu, že se velký počet z možných lokací během celého běhu programu vůbec nepoužije. Řešením tohoto problému by mohla být změna mutace tak, že bližší lokace by měly větší pravděpodobnost výběru na základě zvoleného typu rozdělení. Tím by se zkoumala pouze oblast s větší pravděpodobností vhodného umístění střediska. Zde je ovšem nutná také změna reprezentace, kdy nestačí pouze očíslovaný seznam lokací, ale je nutné znát také jejich geografické vztahy a rozmístění. Zároveň by pravděpodobnost mutace v případě vysokého poměru možných lokací a umist ovaných středisek neměla být příliš nízká, aby se do řešení použilo více možností. Do testování byla proto zahrnuta i vysoká pravděpodobnost mutace 50%. V reálných situacích obvykle spojitou úlohu neuvažujeme, protože možné umístění je téměř vždy limitováno a počet možných umístění nebývá veliký. Pokud bychom ovšem v úloze uvažovali jen malý počet možných lokací nemělo by velký význam řešit úlohu pomocí genetických algoritmů, protože i pro větší počty umist ovaných středisek by bylo stále možné projít všechny možnosti. Výsledky genetického algoritmu pro dvě a tři umist ovaná střediska jsou v Tabulkách 6.1 a 6.2. Zároveň bylo exaktním výpočtem ověřeno, že pro dvě střediska se minimální nalezená hodnota 7784,7 km rovná i skutečnému optimu. Přibližně ve třetině výsledků se tedy podařilo najít optimum, a to přestože je počet vytvářených řešení v genetickém algoritmu pro dvě střediska řádově 1000-krát nižší než skutečný počet možných řešení. V případě mutace 50% nebyly získány lepší výsledky než při nižších hodnotách, zde by bylo zřejmě vhodné uvažovat o přidání elitismu, protože v případě vysoké mutace přicházíme o dobrá řešení. Pro tři střediska již není možné porovnat výsledky s exaktním řešením. Vzhledem k relativně malému rozptylu získaných hodnot, je ovšem pravděpodobné, že výsledky nebudou od optima příliš vzdálené. 76

75 Počet středisek Pravděpodobnost mutace 2 0,05 0,10 0,15 0,50 Pravděpodobnost křížení 0, ,1 7784,7 7784,7 7804,5 0, ,7 7795,0 7785,6 7792,7 0, ,0 7785,6 7784,7 7792,7 0, ,6 7784,7 7785,6 7784,7 0, ,6 7784,7 7785,6 7826,2 Fitness [km] ,10 0,15 0,05 0, 7 0, 8 0, 9 Pravděpodobnost křížení 0,50 Tabulka 6.1: Minimální hodnoty fitness funkce pro 2 umist ovaná střediska Zdroj: Autor Počet středisek Pravděpodobnost mutace 3 0,05 0,10 0,15 0,50 Pravděpodobnost křížení 0, ,0 6479,3 6519,6 6543,7 0, ,9 6506,4 6515,3 6503,0 0, ,7 6530,6 6479,3 6548,7 0, ,4 6561,2 6496,8 6546,8 0, ,1 6482,7 6486,1 6554,5 Fitness [km] ,50 0,05 0,10 0,15 0, 7 0, 8 0, 9 Pravděpodobnost křížení Tabulka 6.2: Minimální hodnoty fitness funkce pro 3 umist ovaná střediska Zdroj: Autor Hodnoty fitness funkce jsou dále zobrazeny na Obr. 6.1 a 6.2. Pro každý bod z možných lokací, který byl během běhu programu zahrnut do řešení, se spočítal průměr hodnot fitness funkce, které byly danému řešení přiřazeny. V případě umist ování dvou středisek se vyhodnotila fitness funkce daného jedince a tato hodnota fitness funkce se přičetla pro obě umístění k hodnotě, která se na závěr zprůměrovala. Na obrázcích je znázorněno jak je která oblast vhodná pro umístění střediska. Je zde vidět, že výsledky úlohy jsou velmi ovlivněny silniční sítí v České republice a také rozmístěním servisů ve velkých městech a jejich okolí. V obou případech, jak při umist ování dvou, tak tří středisek je nejvýraznějším místem Praha a to z důvodu velkého počtu servisů v dané oblasti. Oproti očekávání se v případě dvou středisek nevytvořily dvě výrazné oblasti a kromě zřejmého umístění střediska v Praze tvoří velká oblast takřka barevně jednolitou plochu jen s malými rozdíly fitness funkce. Naopak při umist ování tří středisek se tři oblasti jednoznačně vyčlenily. 77

76 Obrázek 6.1: Rozložení hodnot fitenss funkce pro dvě umist ovaná střediska zobrazené na mapě ČR se znázorněním dálnic a hlavních silnic. Zdroj: Autor Obrázek 6.2: Rozložení hodnot fitenss funkce pro tři umist ovaná střediska Zdroj: Autor 78

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky

Více

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví Genetické algoritmy Informační a komunikační technologie ve zdravotnictví Přehled přednášky Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad problém

Více

OPTIMALIZACE DISTRIBUČNÍHO SYTÉMU NÁHRADNÍCH DÍLŮ AUTOMOBILŮ OPTIMIZATION OF DISTRIBUTING SYSTEM OF CAR SPARE PARTS

OPTIMALIZACE DISTRIBUČNÍHO SYTÉMU NÁHRADNÍCH DÍLŮ AUTOMOBILŮ OPTIMIZATION OF DISTRIBUTING SYSTEM OF CAR SPARE PARTS OPTIMALIZACE DISTRIBUČNÍHO SYTÉMU NÁHRADNÍCH DÍLŮ AUTOMOBILŮ OPTIMIZATION OF DISTRIBUTING SYSTEM OF CAR SPARE PARTS Denisa Mocková 1, Alena Rybičková 2 Anotace: Článek se zabývá problematikou optimalizace

Více

OSA. maximalizace minimalizace 1/22

OSA. maximalizace minimalizace 1/22 OSA Systémová analýza metodika používaná k navrhování a racionalizaci systémů v podmínkách neurčitosti vyšší stupeň operační analýzy Operační analýza (výzkum) soubor metod umožňující řešit rozhodovací,

Více

Evoluční výpočetní techniky (EVT)

Evoluční výpočetní techniky (EVT) Evoluční výpočetní techniky (EVT) - Nacházejí svoji inspiraci v přírodních vývojových procesech - Stejně jako přírodní jevy mají silnou náhodnou složku, která nezanedbatelným způsobem ovlivňuje jejich

Více

7. Rozdělení pravděpodobnosti ve statistice

7. Rozdělení pravděpodobnosti ve statistice 7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,

Více

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi

Více

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího: OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního

Více

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP 1. Definice úlohy Úloha VRP (Vehicle Routing Problem problém okružních jízd) je definována na obecné dopravní síti S = (V,H), kde V je množina uzlů sítě a H

Více

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu 4EK311 Operační výzkum 1. Úvod do operačního výzkumu Mgr. Jana SEKNIČKOVÁ, Ph.D. Nová budova, místnost 433 Konzultační hodiny InSIS E-mail: jana.seknickova@vse.cz Web: jana.seknicka.eu/vyuka Garant kurzu:

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento

Více

Úvod do optimalizace, metody hladké optimalizace

Úvod do optimalizace, metody hladké optimalizace Evropský sociální fond Investujeme do vaší budoucnosti Úvod do optimalizace, metody hladké optimalizace Matematika pro informatiky, FIT ČVUT Martin Holeňa, 13. týden LS 2010/2011 O čem to bude? Příklady

Více

Seminář z umělé inteligence. Otakar Trunda

Seminář z umělé inteligence. Otakar Trunda Seminář z umělé inteligence Otakar Trunda Plánování Vstup: Satisficing task: počáteční stav, cílové stavy, přípustné akce Optimization task: počáteční stav, cílové stavy, přípustné akce, ceny akcí Výstup:

Více

Kombinatorická minimalizace

Kombinatorická minimalizace Kombinatorická minimalizace Cílem je nalézt globální minimum ve velké diskrétní množině, kde může být mnoho lokálních minim. Úloha obchodního cestujícího Cílem je najít nejkratší cestu, která spojuje všechny

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Jak se matematika poučila v biologii

Jak se matematika poučila v biologii Jak se matematika poučila v biologii René Kalus IT4Innovations, VŠB TUO Role matematiky v (nejen) přírodních vědách Matematika inspirující a sloužící jazyk pro komunikaci s přírodou V 4 3 r 3 Matematika

Více

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function

Více

Otázky ke státní závěrečné zkoušce

Otázky ke státní závěrečné zkoušce Otázky ke státní závěrečné zkoušce obor Ekonometrie a operační výzkum a) Diskrétní modely, Simulace, Nelineární programování. b) Teorie rozhodování, Teorie her. c) Ekonometrie. Otázka č. 1 a) Úlohy konvexního

Více

Numerické metody a programování. Lekce 8

Numerické metody a programování. Lekce 8 Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:

Více

Markov Chain Monte Carlo. Jan Kracík.

Markov Chain Monte Carlo. Jan Kracík. Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),

Více

Metody síťové analýzy

Metody síťové analýzy Metody síťové analýzy Řeší problematiku složitých systémů, zejména pak vazby mezi jejich jednotlivými prvky. Vychází z teorie grafů. Základní metody síťové analýzy: CPM (Critical Path Method) deterministický

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

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy

Více

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D. Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických

Více

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných

Více

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky Pokročilé heuristiky jednoduchá heuristika asymetrické stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy pokročilá heuristika symetrické stavový prostor, který vyžaduje řízení 1 2 Paměť pouze

Více

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,

Více

1. Úvod do genetických algoritmů (GA)

1. Úvod do genetických algoritmů (GA) Obsah 1. Úvod do genetických algoritmů (GA)... 2 1.1 Základní informace... 2 1.2 Výstupy z učení... 2 1.3 Základní pomy genetických algoritmů... 2 1.3.1 Úvod... 2 1.3.2 Základní pomy... 2 1.3.3 Operátor

Více

ALGORITMY A DATOVÉ STRUKTURY

ALGORITMY A DATOVÉ STRUKTURY Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu

Více

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods CW057 Logistika (R) PŘEDNÁŠKA 03 Optimization methods Ing. Václav Venkrbec skupina obecných modelů slouží k nalezení nejlepšího řešení problémů a modelovaných reálií přináší řešení: prvky konečné / nekonečné

Více

4EK201 Matematické modelování. 2. Lineární programování

4EK201 Matematické modelování. 2. Lineární programování 4EK201 Matematické modelování 2. Lineární programování 2.1 Podstata operačního výzkumu Operační výzkum (výzkum operací) Operational research, operations research, management science Soubor disciplín zaměřených

Více

Přednáška 13 Redukce dimenzionality

Přednáška 13 Redukce dimenzionality Vytěžování Dat Přednáška 13 Redukce dimenzionality Miroslav Čepek Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL) Redukce dimenzionality 1 /

Více

Emergence chování robotických agentů: neuroevoluce

Emergence chování robotických agentů: neuroevoluce Emergence chování robotických agentů: neuroevoluce Petra Vidnerová, Stanislav Slušný, Roman Neruda Ústav Informatiky, AV ČR Kognice a umělý život VIII Praha 28. 5. 2008 Evoluční robotika: EA & neuronové

Více

1 Úvod do celočíselné lineární optimalizace

1 Úvod do celočíselné lineární optimalizace Úvod do celočíselné lineární optimalizace Martin Branda, verze 7.. 7. Motivace Reálné (smíšeně-)celočíselné úlohy Optimalizace portfolia celočíselné počty akcií, modelování fixních transakčních nákladů,

Více

5. Umělé neuronové sítě. Neuronové sítě

5. Umělé neuronové sítě. Neuronové sítě Neuronové sítě Přesný algoritmus práce přírodních neuronových systémů není doposud znám. Přesto experimentální výsledky na modelech těchto systémů dávají dnes velmi slibné výsledky. Tyto systémy, včetně

Více

Metaheuristiky s populacemi

Metaheuristiky s populacemi Metaheuristiky s populacemi 8. března 2018 1 Společné vlastnosti 2 Evoluční algoritmy 3 Optimalizace mravenčí kolonie Zdroj: El-Ghazali Talbi, Metaheuristics: From Design to Implementation. Wiley, 2009.

Více

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém Obsah přednášky Mgr. Květuše Sýkorová Optimalizace Lineární programování Distribuční úlohy Okružní problém KI Př UJEP Ústí nad Labem Nederivační metody Metody 1D optimalizace Derivační metody Optimalizace

Více

Pokročilé operace s obrazem

Pokročilé operace s obrazem Získávání a analýza obrazové informace Pokročilé operace s obrazem Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 (BFÚ LF MU) Získávání

Více

Základy umělé inteligence

Základy umělé inteligence Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v

Více

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti.

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti. Přednáška č. 1 Úvod do statistiky a počtu pravděpodobnosti Statistika Statistika je věda a postup jak rozvíjet lidské znalosti použitím empirických dat. Je založena na matematické statistice, která je

Více

EKONOMETRIE 7. přednáška Fáze ekonometrické analýzy

EKONOMETRIE 7. přednáška Fáze ekonometrické analýzy EKONOMETRIE 7. přednáška Fáze ekonometrické analýzy Ekonometrická analýza proces, skládající se z následujících fází: a) specifikace b) kvantifikace c) verifikace d) aplikace Postupné zpřesňování jednotlivých

Více

Dynamické programování

Dynamické programování Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

11. Tabu prohledávání

11. Tabu prohledávání Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Exponenciální modely hromadné obsluhy

Exponenciální modely hromadné obsluhy Exponenciální modely hromadné obsluhy Systém s čekáním a neohraničeným zdrojem požadavků Na základě předchozích informací je potřeba probrat, jaké informace jsou dostupné v počtu pravděpodobnosti řešícím

Více

Globální matice konstrukce

Globální matice konstrukce Globální matice konstrukce Z matic tuhosti a hmotnosti jednotlivých prvků lze sestavit globální matici tuhosti a globální matici hmotnosti konstrukce, které se využijí v řešení základní rovnice MKP: [m]{

Více

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb Anotace: Optimalizace objektů pozemních staveb

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

Úloha - rozpoznávání číslic

Úloha - rozpoznávání číslic Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání

Více

13. Lineární programování

13. Lineární programování Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Use of ant colony optimization for vehicle routing problem. Použití metody mravenčích kolonií pro úlohy okružních jízd

Use of ant colony optimization for vehicle routing problem. Použití metody mravenčích kolonií pro úlohy okružních jízd Use of ant colony optimization for vehicle routing problem Použití metody mravenčích kolonií pro úlohy okružních jízd Adéla Burketová i Abstract: Ant colony optimization is a metaheuristic method used

Více

Úvod do mobilní robotiky AIL028

Úvod do mobilní robotiky AIL028 Pravděpodobnostní plánování zbynek.winkler at mff.cuni.cz, md at robotika.cz http://robotika.cz/guide/umor05/cs 12. prosince 2005 1 Co už umíme a co ne? Jak řešit složitější případy? Definice konfiguračního

Více

A0M33EOA: Evoluční optimalizační algoritmy

A0M33EOA: Evoluční optimalizační algoritmy A0M33EOA: Evoluční optimalizační algoritmy Zkouškový test Pátek 8. února 2011 Vaše jméno: Známka, kterou byste si z předmětu sami dali, a její zdůvodnění: Otázka: 1 2 3 4 5 6 7 8 Celkem Body: 1 3 2 1 4

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

2. část: Základy matematického programování, dopravní úloha. Ing. Michal Dorda, Ph.D.

2. část: Základy matematického programování, dopravní úloha. Ing. Michal Dorda, Ph.D. 2. část: Základy matematického programování, dopravní úloha. 1 Úvodní pojmy Metody na podporu rozhodování lze obecně dělit na: Eaktní metody metody zaručující nalezení optimální řešení, např. Littlův algortimus,

Více

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D. Úvod do modelování a simulace systémů Ing. Michal Dorda, Ph.D. 1 Základní pojmy Systém systémem rozumíme množinu prvků (příznaků) a vazeb (relací) mezi nimi, která jako celek má určité vlastnosti. Množinu

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška devátá Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 Obsah 1 Kombinatorika: princip inkluze a exkluze 2 Počítání

Více

Státnice odborné č. 20

Státnice odborné č. 20 Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin

Více

12. Globální metody MI-PAA

12. Globální metody MI-PAA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB 62 REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB BEZOUŠKA VLADISLAV Abstrakt: Text se zabývá jednoduchým řešením metody nejmenších čtverců v prostředí Matlab pro obecné víceparametrové aproximační funkce. Celý postup

Více

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

Úvod do teorie grafů

Úvod do teorie grafů Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí

Více

Modelování a simulace Lukáš Otte

Modelování a simulace Lukáš Otte Modelování a simulace 2013 Lukáš Otte Význam, účel a výhody MaS Simulační modely jsou nezbytné pro: oblast vědy a výzkumu (základní i aplikovaný výzkum) analýzy složitých dyn. systémů a tech. procesů oblast

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

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

OPTIMALIZACE. (přehled metod)

OPTIMALIZACE. (přehled metod) OPTIMALIZACE (přehled metod) Typy optimalizačních úloh Optimalizace bez omezení Nederivační metody Derivační metody Optimalizace s omezeními Lineární programování Nelineární programování Globální optimalizace

Více

[1] samoopravné kódy: terminologie, princip

[1] samoopravné kódy: terminologie, princip [1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla

Více

Architektura - struktura sítě výkonných prvků, jejich vzájemné propojení.

Architektura - struktura sítě výkonných prvků, jejich vzájemné propojení. Základní pojmy z oblasti neuronových sítí Zde je uveden přehled některých základních pojmů z oblasti neuronových sítí. Tento přehled usnadní studium a pochopení předmětu. ADALINE - klasická umělá neuronová

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT PEF ČZU Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT Okruhy SZB č. 5 Zdroje: Demel, J., Operační výzkum Jablonský J., Operační výzkum Šubrt, T., Langrová, P., Projektové řízení I. a různá internetová

Více

UČENÍ BEZ UČITELE. Václav Hlaváč

UČENÍ BEZ UČITELE. Václav Hlaváč UČENÍ BEZ UČITELE Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz, http://cmp.felk.cvut.cz/~hlavac 1/22 OBSAH PŘEDNÁŠKY ÚVOD Učení

Více

Detekce interakčních sil v proudu vozidel

Detekce interakčních sil v proudu vozidel Detekce interakčních sil v proudu vozidel (ANEB OBECNĚJŠÍ POHLED NA POJEM VZDÁLENOSTI V MATEMATICE) Doc. Mgr. Milan Krbálek, Ph.D. Katedra matematiky Fakulta jaderná a fyzikálně inženýrská České vysoké

Více

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

24.11.2009 Václav Jirchář, ZTGB

24.11.2009 Václav Jirchář, ZTGB 24.11.2009 Václav Jirchář, ZTGB Síťová analýza 50.let V souvislosti s potřebou urychlit vývoj a výrobu raket POLARIS v USA při závodech ve zbrojení za studené války se SSSR V roce 1958 se díky aplikaci

Více

Příklady ke cvičením. Modelování produkčních a logistických systémů

Příklady ke cvičením. Modelování produkčních a logistických systémů Modelování produkčních a logistických systémů Katedra logistiky, kvality a automobilové techniky Garant, přednášející, cvičící: Jan Fábry 10.12.2018 Příklady ke cvičením Opakování lineárního programování

Více

Náhodné chyby přímých měření

Náhodné chyby přímých měření Náhodné chyby přímých měření Hodnoty náhodných chyb se nedají stanovit předem, ale na základě počtu pravděpodobnosti lze zjistit, která z možných naměřených hodnot je více a která je méně pravděpodobná.

Více

Soustavy lineárních rovnic

Soustavy lineárních rovnic Soustavy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních diferenciálních rovnic y = a (x)y + a (x)y + + a n (x)y n + f (x) y = a (x)y + a (x)y + + a n (x)y n + f (x). y n = a

Více

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte

Více

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze NP-ÚPLNÉ PROBLÉMY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 13 Evropský sociální fond Praha & EU: Investujeme do

Více

4. Aplikace matematiky v ekonomii

4. Aplikace matematiky v ekonomii 4. Aplikace matematiky v ekonomii 1 Lineární algebra Soustavy 1) Na základě statistických údajů se zjistilo, že závislost množství statku z poptávaného v průběhu jednoho týdne lze popsat vztahem q d =

Více

Stochastické modely Informace k závěrečné zkoušce

Stochastické modely Informace k závěrečné zkoušce Stochastické modely Informace k závěrečné zkoušce Jan Zouhar Katedra ekonometrie, FIS VŠE v Praze, zouharj@vse.cz 10. února 2015 Průběh zkoušky. Zkouška je ústní s přípravou na potítku. Každý si vylosuje

Více

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy Metody lineární optimalizace Simplexová metoda Dvoufázová M-úloha Duální úloha jednofázová Post-optimalizační analýza Celočíselné řešení Metoda větví a mezí Distribuční úlohy 1 OÚLP = obecná úloha lineárního

Více

Simulační modely. Kdy použít simulaci?

Simulační modely. Kdy použít simulaci? Simulační modely Simulace z lat. Simulare (napodobení). Princip simulace spočívá v sestavení modelu reálného systému a provádění opakovaných experimentů s tímto modelem. Simulaci je nutno považovat za

Více

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat Západočeská univerzita v Plzni Fakulta aplikovaných věd SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU MATEMATICKÉ MODELOVÁNÍ Ivana Kozlová Modely analýzy obalu dat Plzeň 2010 Obsah 1 Efektivnost a její hodnocení 2 2 Základní

Více

Interpolace Uvažujme třídu funkcí jedné proměnné ψ(x; a 0,..., a n ), kde a 0,..., a n jsou parametry, které popisují jednotlivé funkce této třídy. Mějme dány body x 0, x 1,..., x n, x i x k, i, k = 0,

Více

Náhodné (statistické) chyby přímých měření

Náhodné (statistické) chyby přímých měření Náhodné (statistické) chyby přímých měření Hodnoty náhodných chyb se nedají stanovit předem, ale na základě počtu pravděpodobnosti lze zjistit, která z možných naměřených hodnot je více a která je méně

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

Ctislav Fiala: Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb

Ctislav Fiala: Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb 16 Optimální hodnoty svázaných energií stropních konstrukcí (Graf. 6) zde je rozdíl materiálových konstant, tedy svázaných energií v 1 kg materiálu vložek nejmarkantnější, u polystyrénu je téměř 40krát

Více

2. RBF neuronové sítě

2. RBF neuronové sítě 2. RBF neuronové sítě Kapitola pojednává o neuronových sítích typu RBF. V kapitole je popsána základní struktura tohoto typu neuronové sítě. Poté následuje definice a charakteristika jednotlivých radiálně

Více

Numerická matematika 1

Numerická matematika 1 Numerická matematika 1 Obsah 1 Řešení nelineárních rovnic 3 1.1 Metoda půlení intervalu....................... 3 1.2 Metoda jednoduché iterace..................... 4 1.3 Newtonova metoda..........................

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

Diskrétní náhodná veličina

Diskrétní náhodná veličina Lekce Diskrétní náhodná veličina Výsledek náhodného pokusu může být vyjádřen slovně to vede k zavedení pojmu náhodného jevu Výsledek náhodného pokusu můžeme někdy vyjádřit i číselně, což vede k pojmu náhodné

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,

Více

VYUŽITÍ NĚKTERÝCH METOD TEORIE GRAFŮ PŘI ŘEŠENÍ DOPRAVNÍCH PROBLÉMŮ

VYUŽITÍ NĚKTERÝCH METOD TEORIE GRAFŮ PŘI ŘEŠENÍ DOPRAVNÍCH PROBLÉMŮ VYUŽITÍ NĚKTERÝCH METOD TEORIE GRAFŮ PŘI ŘEŠENÍ DOPRAVNÍCH PROBLÉMŮ Markéta Brázdová 1 Anotace: Metody operačního výzkumu mají při řešení praktických problémů široké využití. Článek se zabývá problematikou

Více

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31 Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu

Více

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách Ústní zkouška z oboru Náročnost zkoušky je podtržena její ústní formou a komisionálním charakterem. Předmětem bakalářské zkoušky

Více

Základy algoritmizace. Pattern matching

Základy algoritmizace. Pattern matching Základy algoritmizace Pattern matching 1 Pattern matching Úloha nalézt v nějakém textu výskyty zadaných textových vzorků patří v počítačové praxi k nejfrekventovanějším. Algoritmy, které ji řeší se používají

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ

MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ ESKÉ VYSOKÉ U ENÍ TECHNICKÉ V PRAZE Fakulta stavební MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ Studijní program: Stavební inženýrství Studijní obor: Fyzikální a materiálové inženýrství Vypracovala: Ing. Markéta

Více