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

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

Swarm Intelligence. Moderní metody optimalizace 1

Ant Colony Optimization 1 / 26

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

Ant Colony Optimization

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

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

11. Tabu prohledávání

Základy umělé inteligence

Metaheuristiky s populacemi

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

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

Algoritmizace prostorových úloh

Ant Colony Optimization v prostředí Mathematica

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE

Optimalizace & soft omezení: algoritmy

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

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

Úvod do teorie grafů

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

7. Heuristické metody

Usuzování za neurčitosti

Úvod do mobilní robotiky AIL028

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

Časová a prostorová složitost algoritmů

Plánování úloh na jednom stroji

Algoritmy na ohodnoceném grafu

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Dynamické datové struktury I.

Prohledávání do šířky = algoritmus vlny

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Dynamické datové struktury III.

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

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

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

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

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

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

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.

Použití dalších heuristik

Stromy, haldy, prioritní fronty

Paralelní grafové algoritmy

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

Datové struktury 2: Rozptylovací tabulky

Dynamické programování

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

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

Vzdálenost uzlů v neorientovaném grafu

8. Simulované ochlazování Simulated Annealing, SA

Binární soubory (datové, typované)

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

TGH09 - Barvení grafů

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

Numerická stabilita algoritmů

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

Václav Jirchář, ZTGB

Rozvrhování výroby. František Koblasa Technická univerzita v Liberci. TU v Liberci

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

Informační systémy plánování výroby - pokročilé rozvrhování

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

10. Složitost a výkon

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

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

OPTIMALIZAČNÍ ALGORITMY V LOGISTICKÝCH

Operační výzkum. Síťová analýza. Metoda CPM.

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

Markov Chain Monte Carlo. Jan Kracík.

"Agent Hledač" (3. přednáška)

Odečítání pozadí a sledování lidí z nehybné kamery. Ondřej Šerý

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

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

Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly

Úvod do optimalizace, metody hladké optimalizace

Rekurzivní algoritmy

Základy umělé inteligence

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1

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

Gramatická evoluce a softwarový projekt AGE

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

Rozvrhování na více procesorech

Teorie rozhodování (decision theory)

Cluster Analysis based on Bio-Inspired Algorithms

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.

Matice sousednosti NG

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

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

2. RBF neuronové sítě

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

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

7. Rozdělení pravděpodobnosti ve statistice

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

Numerické metody a programování. Lekce 8

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

Metody síťové analýzy

Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy

Simulace pohybu chodců pomocí celulárních modelů

Transkript:

Optimalizační algoritmy inspirované chováním mravenců Motivace a biologická analogie ACO metaheuristic Ant system a jeho modifikace Specifikace problémů vhodných pro ACO 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 lokální optimalizace 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 A do B, 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 čím silnější záznam, tím více se bude dále posilovat Odpařování feromonu realizuje zapomínání, které zabraňuje předčasné konvergenci k suboptimálnímu řešení

Téměř slepí Živí mravenci Neschopní samostatně řešit složité úlohy Neschopni určit nejkratší cestu s mraveniště ke zdroji potravy a zpět. Používají stigmergickou komunikaci prostřednictvím feromonu S velkou pravděpodobností následují silnou feromonovou stopu.

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 částečně rozpracované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 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 mravenec 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 Δ ijk = 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 umí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 (1,...,m) 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

Optimální hodnota je 0.5 AS nastavení 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

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

Shrnutí: Chování umělého 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í (implementace omezení) ohodnocování nalezeného řešení (rekonstrukce celé cesty TSP) 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 Network routing

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 naplánová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