Optimalizační algoritmy inspirované chováním mravenců



Podobné dokumenty
Optimalizační algoritmy inspirované chováním mravenců

Ant Colony Optimization

PLÁNOVÁNÍ CESTY MOBILNÍHO ROBOTU POMOCÍ MRAVENČÍCH ALGORITMŮ MOBILE ROBOT PATH PLANNING BY MEANS OF ANT ALGORITHMS

Swarm Intelligence. Moderní metody optimalizace 1

Ant Colony Optimization 1 / 26

Plánování úloh na jednom stroji

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

Metaheuristiky s populacemi

VUT Brno Fakulta informačních technologií Simulační nástroje a techniky (SNT) 2014/2015 Vehicle routing problem Ant colony

Gramatická evoluce a softwarový projekt AGE

Cluster Analysis based on Bio-Inspired Algorithms

Umělá inteligence I. Roman Barták, KTIML.

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

Ant Colony Optimization v prostředí Mathematica

Optimalizace pomocí mravenčích kolonií Inspirace, definice, aplikace a perspektivy

11. Tabu prohledávání

2. RBF neuronové sítě

ŘEŠENÍ PROBLÉMU LOKACE HUBŮ POMOCÍ GENETICKÉHO ALGORITMU SOLVING THE SINGLE ALLOCATION HUB LOCATION PROBLEM USING GENETIC ALGORITHM

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na:

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1


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

Heuristické řešení problémů. Seminář APS Tomáš Müller

Základy umělé inteligence

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

GRAFY A GRAFOVÉ ALGORITMY

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

Neuropočítače. podnět. vnímání (senzory)

METODY REPREZENTACE A ZPRACOVÁNÍ ZNALOSTÍ V UMĚLÉ INTELIGENCI

FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE

Optimalizace & soft omezení: algoritmy

Paralelní grafové algoritmy

Umělá inteligence. UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI. Letošní cena nadace Vize Joseph Weizenbaum

České vysoké učení technické v Praze Fakulta elektrotechnická. Diplomová práce Přepínání metaheuristik. Aleš Kučík

Interaktivní segmentace obrazu s využitím algoritmu pro maximalizaci toku v síti.

VLIV PARAMETRU Λ NA CHOD ALGORITMU PENALIZAČNÍHO LOKÁLNÍHO PROHLEDÁVÁNÍ

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

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

Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

Algoritmy na ohodnoceném grafu

Řešení optimální cesty svozu odpadů pomocí rojové inteligence

5 Rekurze a zásobník. Rekurzivní volání metody

Systémy s umělou inteligencí

Informatika Algoritmy

HLEDÁNÍ NEJKRATŠÍ CESTY POMOCÍ MRAVENČÍCH KOLONIÍ - JAVA IMPLEMENTACE

Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.

Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (2)

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

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

OPTIMALIZAČNÍ ALGORITMY V LOGISTICKÝCH

Heuristiky UNIVERZITA PALACKÉHO V OLOMOUCI KATEDRA MATEMATICKÉ ANALÝZY A APLIKACÍ MATEMATIKY. Vypracovala:

Stromy, haldy, prioritní fronty

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu

Úvod do teorie grafů

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Vyzařování černého tělesa, termoelektrický jev, závislost odporu na teplotě.

Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013

Herní engine. Co je Engine Hotové enginy Jemný úvod do game designu

1 Úvod do kompilátorů

Grafové algoritmy. Programovací techniky

ORGANIZACE ZIMNÍ ÚDRŽBY POZEMNÍCH KOMUNIKACÍ ORGANIZATION OF WINTER ROAD MAINTENANCE

Grafové algoritmy. Programovací techniky

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Základy programování (IZP)

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

Jednotkové rozhodování v energetice

Detekce obličeje v obraze s využitím prostředí MATLAB

NAVIGACE MOBILNÍHO ROBOTU POMOCÍ FUZZY LOGIKY MOBILE ROBOT NAVIGATION BY MEANS OF FUZZY LOGIC

Řešení optimální cesty svozu odpadů pomocí rojové inteligence

Ant Colony Optimization with Castes

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

Měřicí a řídicí technika Bakalářské studium 2007/2008. odezva. odhad chování procesu. formální matematický vztah s neznámými parametry

Univerzita Karlova v Praze Matematicko-fyzikální fakulta. Vedoucí práce: RNDr. Martin Pergel, Ph.D.

Problém obchodního cestujícího pomocí metody Mravenčí kolonie

Neinformované metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

VYHLEDÁNÍ NEJDELŠÍHO SHODNÉHO PREFIXU V FPGA

Algoritmizace prostorových úloh

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

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Dynamické datové struktury III.

Analýza spolehlivosti tlakové nádoby metodou Monte Carlo

Hledáme efektivní řešení úloh na grafu

Katedra softwarového inženýrství MFF UK Malostranské náměstí 25, Praha 1 - Malá Strana

Dynamické programování

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

Úvod do mobilní robotiky AIL028

Úvod do mobilní robotiky AIL028

Dynamické datové struktury I.

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

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

Obsah. KAPITOLA 1 Dříve než začneme 19 Kdysi dávno aneb střípky z historie algoritmických strojů třicátá léta 22

Rozhodování. s více účastníky. Miroslav. school@utia

VEDENÍ ELEKTRICKÉHO PROUDU V KOVECH

Základní datové struktury III: Stromy, haldy

Jarníkův algoritmus. Obsah. Popis

(n, m) (n, p) (p, m) (n, m)

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Zvýšení spolehlivosti závěsného oka servomotoru poklopových vrat plavební komory

Transkript:

Optimalizační algoritmy inspirované chováním mravenců Biologická analogie ACO metaheuristic Ant system a jeho modifikace Specifikace problémů Aplikace

Motivace NP-hard problémy časová náročnost nalezení optimálního řešení roste exponenciálně s velikostí problému Kombinatorické problémy Jednou z možností jsou aproximační metody, které naleznou řešení alespoň blízké optimálnímu v rozumném čase Aproximační metody Lokální prohledávání/optimalizace Iterativní zlepšování počátečního řešení až do uváznutí v lok. ext. Konstruktivní algoritmy Budování řešení s využitím heuristické znalosti Ant Colony Optimization (ACO) rozšíření tradičních konstruktivních heuristik o schopnost využití zkušeností získaných v průběhu řešení daného problému

Lokální prohledávání Procedure IterativeImprovement(s S) s = Improve(s) while s s do s = s s = Improve(s) end return s end Problémy často uvázne v lokálním extrému výsledek velice závisí na počátečním řešení

Konstruktivní algoritmy Pracují s částečně rozpracovaným řešením, snaží se jej rozšířit nejvýhodnějším způsobem využívají hladový algoritmus Procedure GreedyConstructionHeur s p = empty_solution while not complete(s p ) do e = GreedyComponent(s p ) s p = s p e end return s p end TSP: přidávání nejbližšího souseda Výhody/nevýhody + rychlé - mnohdy generují ne moc dobrá řešení (ikdyž o přijatelné kvalitě) - generuje pouze velice omezený počet řešení - rozhodnutí učiněná na začátku výpočtu značně omezují možnosti v pozdějších fázích

Mravenčí algoritmy: biologická inspirace Inspirované chováním mravenčích kolonií Sociální hmyz chování směřuje k zachování kolonie Jednoduché chování jedinců složité chování kolonie Schopnost nalézt nejkratší cestu od zdroje potravy k mraveništi pomocí vzájemné komunikace prostřednictvím Feromonu Zápis - mravenci ukládají feromon po cestě za potravou Čtení mravenci umí detekovat feromony (a rozlišovat mezi různými koncentracemi) zanechané ostatními soukmenovci a vybírá si cestu s největší koncentrací feromonu Emergence toto chování aplikované celou kolonií mravenců může vést k emergenci nejkratší cesty

Experimenty se skutečnými mravenci Deneuborg et al. (mravenci Linepithema humile) Mraveniště oddělené od zdroje potravy dvojitým mostem Obě cesty stejně dlouhé Na začátku není žádný feromon na žádné z cest Po čase jedna z cest díky náhodným fluktuacím převáží

Mosty s různě dlouhými variantami Vliv náhodných fluktuací je značně redukován a většina mravenců nakonec volí tu nejkratší cestu

Příklad

Příklad V každém kroku jde 30 nových mravenců z B do A, 30 z E do D mravenec jde rychlost 1 s -1 za jednotku času položí 1 jednotku feromonu

Stigmergie Chování kolonie distribuovaný optimalizační algoritmus, kde každý mravenec přispívá svou trochou do mlýna (umí zkonstruovat celou cestu). Stigmergie - nepřímá komunikace mravenců zprostředkovaná pomocí feromonu Fyzikální podstata informace uvolněné komunikujícími mravenci modifikace místa navštíveného mravencem Lokálnost zanechané informace je viditelná pouze mravenci, kteří navštíví místo s feromonem nebo jeho okolí Autokatalytický mechanismus Odpařování feromonu realizuje zapomínání, které zabraňuje předčasné konvergenci k suboptimálnímu řešení

Umělí mravenci Podobnosti se skutečnými mravenci: Kolonie kooperujících mravenců Feromonová stopa a stigmergie Pravděpodobnostní rozhodování, lokálnost strategie Apriorní informace daná problémovou specifikací Lokální modifikace stavů, indukované předcházejícími mravenci Rozdílnosti oproti skutečným mravencům: Diskrétní svět Vnitřní stavy osobní paměť zaznamenávající doposud vykonané akce Nejsou zcela slepí Množství zanechaného feromonu je funkcí kvality nalezeného řešení Problémově závislé časování ukládání feromonu Extras lokální optimalizace, backtracking

Ant Colony Optimization Metaheuristic ACO může být použito pro řešení jakéhokoliv diskrétního optimalizačního problému, pro který lze použít nějakou konstruktivní heuristickou proceduru Mravenci použití v ACO fungují jako stochastické konstruktivní procedury, které vytvářejí řešení iterativním přidáváním komponent do do částečného řešení, přičemž při výběru každé další komponenty uvažují heuristickou informaci o řešeném problému, která směruje výpočet ke slibným řešením a zkušenosti získané všemi mravenci od začátku výpočtu, reprezentované feromonovými stopami, které se během výpočtu neustále adaptují Stochastická složka umožňuje vygenerování velkého počtu různých řešení

Ant System (AS) - definice Problém: Mějme n měst, cílem je nalézt nejkratší uzavřenou cestu, která prochází všemi městy právě jednou uvažujeme úplný graf d i je euklidovská vzdálenost z města i do města j Definice b i (t), i=1,...,n je počet mravenců v městě i v čase t m je celkový počet mravenců τ ij (t) je intenzita feromonu na spojnici (i, j) v čase t η ij je viditelnost vyjádřená hodnotou 1/d ij (1-ρ) reprezentuje faktor vypařování, ρ je konstantní během výp. tabu k je dynamicky rostoucí vektor, obsahuje seznam měst, kterými mraevnec prošel v dané cestě iterace AS je posun všech m mravenců o jeden krok cyklus AS se skládá z n iterací během nichž mravenci dokončí cestu

AS ukládání feromonu τ ij (t+n) = ρ τ ij (t) + τ ij τ ij = k τ ij k τ ij k = Q/L k, jestliže k-tý mravenec použil hranu (i, j) 0, když ji nepoužil. kde τ ij k je množství feromonu položeného na hranu (i, j) k-tým mravencem v intervalu (t, t+n) Q je konstanta L k je délka cesty, kterou urazil k-tý mravenec ρ musí být menší než 1, jinak by se neomezeně kumuloval feromon τ ij (0) je nastaveno na malé kladné hodnoty

AS - pravděpodobnost přechodu z i do j [τ ij (t)] α [η ij ] β / l [τ ij (t)] α [η ij ] β, když j {N - tabu k } p ijk (t) = 0, jinak. kde l {N - tabu k } α, β určují relativní důležitost feromonu a viditelnosti Pravděpodobnost je počítána jako kompromis mezi viditelností, která říká, že bližší města by měla být preferována a intenzitou feromonu, která říká, že často používaná hrana je zřejmě žádoucí

Ant-cycle: AS algoritmus Ant-cycle 1. Inicializace času: t=0 počtu cyklů: NC=0 feromonu: τ ij (t)=c imístění m mravenců na n měst 2. Inicializace tabu seznamů 3. Činnost mravenců iterativní vybudování cesty výpočet délky cesty L k pro všechna k aktualizace nejkratší nalezené cesty výpočet τ ijk a aktualizace τ ij (t+n) 4. Inkrementace diskrétního času t = t+n, NC = NC+1 5. If(NC < NC max ) then goto step 2 else stop

AS modifikace Liší se způsobem adaptace feromonu mravenci ukládají feromon průběžně po každé iteraci Ant-density po projití hrany (i, j) mravenec uloží konstantní množství feromonu Q Ant-quantity - po projití hrany (i, j) mravenec uloží množství feromonu Q/d ij Obě modifikace jsou horší než Ant-cycle, protože používají lokální informaci pro ukládání feromonu.

AS nastavení ρ Optimální hodnota ρ je 0.5 po úvodním hladovém prohledávání je třeba dát prostor adaptaci globální informace uložené v τ ij (t) jinými slovy, je třeba zapomenout

AS význam α, β význam α, β (optimální α=1, β=2) Vysoká hodnota α znamená, že intenzita feromonu je prioritní, takže mravenci volí cestu, kterou šli jejich předchůdci Nízká nebo nulová α mění metodu na stochastický restartovaný hladový algoritmus Stagnace větvící faktor 2, všeichni mravenci jdou stejnou cestou

AS elitismus Intenzita feromonu je posílena na hranách, které leží na nejkratší cestě Množství přidaného feromonu: e Q/L *, kde e je počet elitních mravenců a L* je nejkratší cesta Ale pozor na předčasnou konvergenci

Implementace ACO procedure ACO metaheuristics ScheduleActivities ManageAntActivity() EvaporatePheromone() // zapomínání DaemonActions() {optional} // centralizované akce end ScheduleActivities end ACO metaheuristics Nalezení vhodné garfové reprezentace Definování pozitivní zpětné vazby Výběr konstruktivní heuristika Model práce s omezeními tabu seznamy u TSP

Reprezentace problému Nalézt vhodnou grafovou reprezentaci Uvažujme minimalizační problém (S, f, Ω), kde S je množina kandidátů řešení, f je objektivní funkce a Ω je množina omezení. Cílem je najít globální optimum S opt S, které vyhovuje omezením Ω. Reprezentace kombinatorického problému (S, f, Ω), kterou využívají mravenci je charakterizována takto: Je dána konečná množina C={c 1, c 2,, c Nc }komponent Stavy problému jsou dány sekvencemi x= c i, c j,, c k,, délka x je x. Množina všech sekvencí se značí χ. Množina stavů vyhovujících omezením je χ* χ. Množina proveditelných řešení S* χ*, S* S. Každému možnému řešení S opt S je přiřazeno ohodnocení f(s,t).

Chování mravence Mravenec funguje jako konstruktivní procedura, která vytváří řešení procházením konstrukčního grafu G=(C, L), kde komponenty C jsou vrcholy grafu a L reprezentuje hrany (úplně propojený graf). Komponenty c i C a spoje l ij L mohou mít přiřazenu feromonovou stopu τ, která reprezentuje dlouhodobou paměť (zkušenost mravenců) upravovanou mravenci a heuristickou hodnotu η, která reprezentuje apriorní informaci o řešeném problému (odhad ceny spojené s rozšířením daného stavu). Tyto hodnoty používá mravenec při rozhodování o následujícím tahu. Každý mravenec má následující vlastnosti: Prohledává graf G s cílem najít optimální proveditelné řešení Má paměť M k, která uchovává doposud provedené tahy. Využívá ji pro vytváření proveditelných řešení (implementaci omezení) ohodnocování nalezeného řešení zpětné trasování nalezené cesty během něhož ukládá feromon Vybírá tahy pomocí pravděpodobnostního pravidla, které je fukcí lokálně dostupného feromonu, paměti M k a omezení Ω Feromon může být upraven při každém přidání komponenty do řešení (online step-by-step pheromone update) nebo najednou až po zkompletování celého řešení (delayed pheromone update)

Applications of ACO algorithms Static problems Traveling salesman Quadratic assigment Job-shop scheduling Vehicle routing Graph colouring Shortest common supersequence Dynamic problems Connection-oriented network routing Connection-less network routing

Aplikace ACO na mtsp mtsp TSP s více cestujícími Zadání: 100 měst, 3 agenti Cíl: Rozdělit práci mezi všechny agenty tak, aby se minimalizovalo zatížení nejvytíženějšího agenta

Definice problému: M strojů a J úkolů Aplikace ACO na JSP j-tý úkol se skládá z uspořádané posloupnosti operací z množiny O={, o jm, }, celkový počet operací je N= O každá operace má danou délku trvání cílem je nalézt nejkratší rozvrh prací, bez konfliktů, tj. žádné dva úkoly nebudou zpracovány současně na stejném stroji

Implementace Orientovaný graf Q=(O, A), Aplikace ACO na JSP kde O =O {o 0 } a A je množina hran spojující o 0 s první operací každého úkolu a realizující úplné propojení operací z O, vyjma operací stejného úkolu. Ke každé hraně jsou přiřazeny váhy {τ ij, η ij } τ ij intenzita feromonu η ij viditelnost, odvozená pomocí Longest Processing Time nebo Shortest Completion Time heuristik Příklad 3 úkoly, 2 stroje 1. stroj: o1, o3, o5 2. stroj: o2, o4, o6

Aplikace ACO na JSP Průběh výpočtu: 1. Na začátku jsou všichni mravenci v uzlu o 0 2. V každém kroku mravenec vybírá další tah z množiny G k, která obsahuje všechny uzly, které mají být navštíveny a množiny S k, která obsahuje uzly, které mohou být navštíveny v daném kroku Př.: na začátku je G k ={1, 2, 3, 4, 5, 6} a S k ={1, 2, 3} 3. Když je vybrán další uzel u, tak je přidán do tabu seznamu a vymazán z G k a S k 4. Pokud u nebyl poslední uzel daného úkolu, tak přidej do S k bezprostředního následníka u 5. Opakuj kroky 2.-4. dokud G k =

Zdroje [Dorigo et al., 1996] Dorigo M., V. Maniezzo & A. Colorni (1996). The Ant System: Optimization by a Colony of Cooperating Agents. IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26(1):29-41 [Dorigo & Gambardella, 1997] Dorigo M. & L.M. Gambardella (1997). Ant Colonies for the Traveling Salesman Problem. BioSystems, 43:73-81. [Dorigo et al., 1999] Dorigo M., G. Di Caro & L. M. Gambardella (1999). Ant Algorithms for Discrete Optimization. Artificial Life, 5(2):137-172. [Dorigo & Stützle, 2002] M. Dorigo and T. Stützle, 2002. The ant colony optimization metaheuristic: Algorithms, applications and advances. In F. Glover and G. Kochenberger editors, Handbook of Metaheuristics, volume 57 of International Series in Operations Research & Management Science, pages 251-285. Kluwer Academic Publishers, Norwell, MA. http://iridia.ulb.ac.be/~mdorigo/aco/aco.html