Optimalizace pomocí mravenčích kolonií
Transkript
Optimalizace pomocí mravenčích kolonií
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra kybernetiky DIPLOMOVÁ PRÁCE Optimalizace pomocí mravenčích kolonií Praha, 2006 Miloš Němec II Poděkování Na tomto místě bych rád poděkoval vedoucímu diplomové práce Ing. Petru Pošíkovi za jeho trpělivost, ochotu, odborné rady a konzultace při tvorbě práce. III Abstrakt Mravenčí kolonie představují poměrně novou metodu diskrétní optimalizace inspirovanou chováním skutečných biologických systémů. Aplikací jednoduchých pravidel, jimiž se řídí jednotliví jedinci, vzniká komplexní chování celku, schopné řešit složité optimalizační úlohy. V této diplomové práci jsou rozebrány modely mravenčích kolonií aplikované na řešení NP-těžké úlohy Quadratic Assignment Problem (QAP) a metody použité pro zlepšení jejich vlastností. Dále je navržen algoritmus pro kombinaci lokálně optimálních řešení a této kombinace je využito v dalším vylepšení modelu. Je předložena modifikace algoritmu s pravděpodobnostním výběrem lokací a je zavedeno více typů feromonů. Vliv navrhovaných modifikací na efektivitu algoritmu je experimentálně ověřen řešením vybraných instancí různých typů a velikostí. Pro odhad kvality navrhovaného algoritmu jsou obdržené výsledky porovnány s výsledky Greedy Randomized Adaptive Search Procedure (GRASP) algoritmu. IV Abstract The Ant Colony Optimization represents a relatively new method of discrete optimization, inspired by the behaviour of real biological systems. By the applying of simple rules, which are followed by the behaviour of each real individual, we get a new complex behavior, which is able to solve complicated optimization problems. This diploma thesis introduces the concepts of basic models of the Ant Colony Optimization, which are applied to solve NP-hard Quadratic Assignment Problem and methods to improve their quality. A local optimal solution combination algorithm is proposed and this combination is used to improve the subsequent model. A modification of an algorithm with probabilistic selection of location is designed and more pheromone types are implemented. The efficiency of the proposed modification is experimentally verified by solving chosen instances of different types and sizes. The results obtained in solving several classical instances of the problem are compared with those obtained from Greedy Randomized Adaptive Search Procedure (GRASP) to evaluate the quality of the proposed system. V VI Obsah 1 Úvod 1 1.1 Rojová inteligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Mravenčí kolonie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1 Získávání potravy . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.2 Umělí mravenci . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Uspořádání diplomové práce . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 2 Quadratic Assignment Problem 5 2.1 Formulace úlohy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Typy QAP instancí . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Lokální prohledávání . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 2.4.1 První etapa konstrukční fáze . . . . . . . . . . . . . . . . . . . 10 2.4.2 Druhá etapa konstrukční fáze . . . . . . . . . . . . . . . . . . 10 Aplikace ACO meta-heuristik na QAP . . . . . . . . . . . . . . . . . 12 2.5.1 2.5.2 2.5.3 2.5.4 Ant system . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5.1.1 Heuristická informace . . . . . . . . . . . . . . . . . 14 2.5.1.2 Konstrukce řešení . . . . . . . . . . . . . . . . . . . . 14 2.5.1.3 Aktualizace feromonu . . . . . . . . . . . . . . . . . 15 ANTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5.2.1 Použití spodních mezí . . . . . . . . . . . . . . . . . 16 2.5.2.2 Konstrukce řešení . . . . . . . . . . . . . . . . . . . . 17 2.5.2.3 Aktualizace feromonu . . . . . . . . . . . . . . . . . 17 MAX − MIN Ant System . . . . . . . . . . . . . . . . . . . 18 2.5.3.1 Konstrukce řešení . . . . . . . . . . . . . . . . . . . . 18 2.5.3.2 Aktualizace feromonu . . . . . . . . . . . . . . . . . 19 2.5.3.3 Další vlastnosti . . . . . . . . . . . . . . . . . . . . . 19 FANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 VII 2.5.5 2.5.4.1 Počet mravenců . . . . . . . . . . . . . . . . . . . . . 19 2.5.4.2 Aktualizace feromonu . . . . . . . . . . . . . . . . . 19 HAS-QAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.5.1 Modifikace založená na feromonových stopách . . . . 20 2.5.5.2 Aktualizace feromonu . . . . . . . . . . . . . . . . . 21 2.5.5.3 Další vlastnosti . . . . . . . . . . . . . . . . . . . . . 21 2.5.6 Přehled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.7 Strategie využití feromonu . . . . . . . . . . . . . . . . . . . . 22 3 Kombinace lokálně optimálních řešení 24 3.1 Sekvenční pořadí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Pořadí podle heuristiky . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3 Experimentální výsledky . . . . . . . . . . . . . . . . . . . . . . . . . 26 4 Modifikace algoritmu Ant System 4.1 29 Testovací úlohy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.1.1 Rou12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.1.2 Lipa20a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.3 Tai30a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.4 Had12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.5 Nug20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.6 Sko42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.7 Els19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.8 Bur26a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1.9 Italian company problem (ICP) . . . . . . . . . . . . . . . . . 31 4.1.10 Přehled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 Pravděpodobnostní výběr lokací . . . . . . . . . . . . . . . . . . . . . 32 4.2.1 4.3 Použití více typů feromonů bez odpuzování . . . . . . . . . . . . . . . 36 4.3.1 4.4 Experimentální výsledky . . . . . . . . . . . . . . . . . . . . . 33 Experimentální výsledky . . . . . . . . . . . . . . . . . . . . . 36 Použití více typů feromonů s odpuzováním . . . . . . . . . . . . . . . 39 4.4.1 Experimentální výsledky . . . . . . . . . . . . . . . . . . . . . 40 5 Závěr 48 Literatura 49 Příloha A – CD-ROM 53 VIII Seznam obrázků 2.1 Úplný bipartitní graf pro problém velikosti n = 3. . . . . . . . . . . . 12 3.1 Porovnání četností výskytu kvality řešení podle parametru výběru. 4.1 Oddělení ve třech budovách milánské společnosti. . . . . . . . . . . . 31 4.2 Vývoj odchylky nejlepší nalezené ceny od optimální ceny řešení pro . 27 původní Ant System a modifikovaný Ant System s pravděpodobnostním výběrem lokací . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3 Vývoj rozptylu v závislosti na počtu iterací pro původní Ant System a modifikovaný Ant System s pravděpodobnostním výběrem lokací . . 35 4.4 Vývoj odchylky nejlepší nalezené ceny od optimální ceny řešení pro různý počet feromonů bez odpuzování . . . . . . . . . . . . . . . . . . 38 4.5 Vývoj odchylky nejlepší nalezené ceny od optimální ceny řešení pro tři typy feromonů s odpuzováním . . . . . . . . . . . . . . . . . . . . 42 4.6 Vývoj odchylky nejlepší nalezené ceny od optimální ceny řešení pro pět typů feromonů s odpuzováním . . . . . . . . . . . . . . . . . . . . 42 4.7 Odchylky od optima pro míry odpuzování γ = 0.2, 0.4, 0.6 a 0.8 pro instance had12, nug20, lipa20a a bur26a pro tři typy feromonů. . . . . 44 4.8 Odchylky od optima pro míry odpuzování γ = 0.2, 0.4, 0.6 a 0.8 pro instance had12, nug20, lipa20a a bur26a pro pět typů feromonů. . . . 44 4.9 Odchylky od optima pro míry odpuzování γ = 0.2, 0.4, 0.6 a 0.8 pro instance els19, tai30a, ICP a sko42 pro tři typy feromonů. . . . . . . . 45 4.10 Odchylky od optima pro míry odpuzování γ = 0.2, 0.4, 0.6 a 0.8 pro instance els19, tai30a, ICP a sko42 pro pět typů feromonů. . . . . . . 45 IX Seznam tabulek 2.1 Zevrubný popis GRASP algoritmu v pseudokódu. . . . . . . . . . . . 9 2.2 Zevrubný popis druhé etapy konstrukční fáze GRASP v pseudokódu. 11 2.3 Zevrubný popis ACO algoritmu na QAP v pseudokódu. . . . . . . . . 13 2.4 Přehled základních vlastností ACO heuristických algoritmů . . . . . . 22 3.1 Četnost výskytu kvality řešení pro a = 0.3 a pořadí podle heuristiky. 4.1 Přehled testovacích dat . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 Srovnání výsledků GRASPu, původního Ant Systému a modifikova- 26 ného Ant Systému s pravděpodobnostním výběrem lokací . . . . . . . 34 4.3 Výsledky modifikovaného Ant System algoritmu pro různý počet feromonů bez odpuzování . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4 Výsledky modifikovaného Ant System algoritmu pro tři a pět feromonů s odpuzováním . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.5 Srovnání výsledků GRASPu, původního Ant Systému a modifikovaného Ant Systému s pravděpodobnostním výběrem lokací a více typy feromonů s odpuzováním . . . . . . . . . . . . . . . . . . . . . . . . . 46 X Kapitola 1 Úvod Optimalizační problémy se vyskytují téměř v každém oboru lidské činnosti. Každodenně řešíme řadu problémů, jak něco provést nejlepším způsobem. Vedle tradičních metod optimalizace, mezi které patří například lineární a nelineární programování, numerické metody, variační metody nebo dynamické programování, existují optimalizační algoritmy, které bychom mohli s trochou nadsázky nazývat „inteligentníÿ. Jedná se například o genetické algoritmy, simulované žíhání, metody Monte-Carlo, statistické teorie optimalizace nebo různé heuristické algoritmy. Tyto algoritmy nacházejí uplatnění především při řešení problémů, na které neznáme exaktní algoritmus, nebo které jsou pro exaktní algoritmy příliš rozsáhlé. V takovém případě se musíme spokojit s postupem, který dokáže v krátkém výpočetním čase najít sice ne optimální, ale velmi kvalitní řešení. Tato diplomová práce rozebírá heuristický optimalizační algoritmus inspirovaný chováním skutečných biologických systémů. Algoritmus využívá kolonie umělých mravenců – kooperujících stochastických konstruktivních procedur, které spolu komunikují na základě feromonových stop ukládaných na graf problému. Algoritmus je aplikován na řešení NP-těžké úlohy Quadratic Assignment Problem a jsou rozebrány metody zlepšující jeho vlastnosti. Cílem práce je zvolit vhodnou strategii využití feromonu z hlediska okamžiku jeho depozice a způsobu vypařování a dále vylepšit tento algoritmus zavedením více typů feromonů. Terminologické poznámky: Názvy některých algoritmů a problémů, které jsou v anglické literatuře běžně zavedené a nemají český ekvivalent, jsou ponechány v originálním znění. Rovněž všechny zkratky jsou ponechány v původním znění. U některých přeložených termínů, jejichž 1 KAPITOLA 1. ÚVOD 2 překlad by mohl způsobit nejasnosti, je v závorce vždy uveden anglický originál. Úvodní kapitola seznamuje s myšlenkou rojové inteligence, uvádí biologickou inspiraci systémů mravenčích kolonií a zavadí pojem umělého mravence, jako základní konstruktivní procedury optimalizačního algoritmu. 1.1 Rojová inteligence Rojová inteligence je technika umělé inteligence založená na studiu kolektivního chování decentralizovaných samoorganizujících se systémů. Systémy rojové inteligence se typicky skládají z populace jednoduchých agentů interagujících lokálně mezi sebou a s okolním prostředím. Agenti spolu mohou komunikovat přímo, nebo nepřímo působením na lokální prostředí. Ačkoli tyto systémy nemají žádnou centrální kontrolu chování agentů, lokální interakce mezi agenty a jednoduché vzory chování agentů často vedou k emergenci globálního chování. Tyto systémy mohou být v přírodě pozorovány například u mravenců, včel nebo bakterií. Algoritmy založené na rojové inteligenci, jakými jsou například mravenčí kolonie (ACO - Ant Colony Optimization) nebo rojení částic (PSO - Particke Swarm Optimization), byly úspěšně aplikovány na řešení náročných optimalizačních úloh. 1.2 Mravenčí kolonie Mravenčí kolonie (ACO – Ant Colony Optimization) představují poměrně novou metodu diskrétní optimalizace. Inspirace pochází z chování skutečných mravenčích kolonií. Aplikací jednoduchých pravidel, jimiž se řídí jednotliví jedinci, vzniká komplexní chování celku, schopné řešit složité optimalizační úlohy. 1.2.1 Získávání potravy Mravenci jsou považováni za sociální hmyz – jejich chování směřuje k zachování kolonie. Mnoho druhů mravenců se vyznačuje specifickým chováním při získávání potravy: každý mravenec, při pohybu od hnízda ke zdroji potravy a zpět, ukládá chemickou látku zvanou feromon. Ostatní mravenci umí detekovat feromony (a roz- KAPITOLA 1. ÚVOD 3 lišovat mezi různými koncentracemi) zanechané svými soukmenovci a vybírají si cestu s největší koncentrací feromonu. Toto chování aplikované na celou kolonii mravenců může vést k emergenci nejkratší cesty. 1.2.2 Umělí mravenci Pro účely implementace optimalizačních algoritmů je vytvářen umělý mravenec, jehož chování je inspirováno chováním skutečných mravenců. Ovšem oproti skutečným mravencům byly některé vlastnosti umělých mravenců posíleny tak, aby došlo ke zlepšení výsledků algoritmů řešících konkrétní problémy. Podobnosti se skutečnými mravenci: • kolonie kooperujících mravenců, • feromonová stopa, • nepřímá komunikace mravenců zprostředkovaná pomocí feromonu, • pravděpodobnostní rozhodování, lokálnost strategie. Rozdíly oproti skutečným mravencům: • diskrétní svět, • vnitřní stavy – osobní pamět zaznamenávající doposud vykonané akce, • umělí mravenci 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. Mravenčí kolonie mohou být použity 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 mravenčích koloniích fungují jako stochastické konstruktivní procedury, které vytvářejí řešení interaktivním přidáváním komponent 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, KAPITOLA 1. ÚVOD 4 • 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í. 1.3 Uspořádání diplomové práce Úvodní kapitola seznamuje s myšlenkou rojové inteligence, uvádí biologickou inspiraci systémů mravenčích kolonií a zavadí pojem umělého mravence, jako základní konstruktivní procedury. V druhé kapitole je formulována úloha Quadratic Assignment Problem (QAP) a instance QAP jsou rozděleny do tříd. Je vysvětlen vybraný postup lokálního prohledávání. Dále je rozebrán algoritmus Greedy Randomized Adaptive Search Procedure (GRASP), jeden z nejlépe fungujících stochastických algoritmů na QAP, který je použit pro srovnání výsledků algoritmů. Model mravenčích kolonií je aplikován na QAP a jsou uvedeny metody používané pro zlepšení vlastností tohoto modelu. V závěru jsou diskutovány strategie využití feromonu z hlediska okamžiku jeho depozice a způsobu vypařování. V třetí kapitole je navržen algoritmus pro kombinaci lokálně optimálních řešení. Čtvrtá kapitola uvádí vybrané testovací úlohy, je navržen pravděpodobnostní výběr lokací a modely s více typy feromonů. Závěrečné vyhodnocení práce je v poslední kapitole. Kapitola 2 Quadratic Assignment Problem V předcházející kapitole byl uveden základní princip rojové inteligence, biologická inspirace systémů mravenčích kolonií a zaveden pojem umělého mravence, jako základní stochastické konstruktivní procedury. V této kapitole je formálně zavedena NP-těžká úloha Quadratic Assignment Problem (QAP), jako referenční úloha pro experimentální ověření efektivity algoritmů. Instance QAP jsou rozděleny do tříd podle typu problému. Z jednotlivých tříd budou později vybrány testovací instance. Dále je vysvětlen vybraný postup lokálního prohledávání a podrobně rozebrán algoritmus Greedy Randomized Adaptive Search Procedure (GRASP).jeden z nejlépe fungujících stochastických algoritmů na QAP, který je v dalších kapitolách použit pro srovnání výsledků algoritmů. Model mravenčích kolonií je aplikován na QAP a jsou uvedeny metody používané pro zlepšení vlastností tohoto modelu. V závěru jsou diskutovány strategie využití feromonu z hlediska okamžiku jeho depozice a způsobu vypařování. 2.1 Formulace úlohy Quadratic Assignment Problem (dále jen QAP) byl poprvé představen Koopmansem a Beckmannem [3] v ekonomickém kontextu. Od té doby byl tento problém použit jako model v mnoha reálných situacích s aplikacemi například při rozmisťování budov v univerzitních campusech, uspořádání oddělení v nemocnicích, minimalizaci celkové délky vodičů v elektronických obvodech, návrzích rozvržení klávesnice a podobně [2]. QAP může být formulován jako problém přiřazení množiny aktivit množině lokací, s danými cenami přesunu mezi lokacemi a danými toky mezi aktivitami. 5 KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 6 Formálně, máme m aktivit a n lokací1 , matici D = [dih ] o rozměru n×n udávající ceny přesunu mezi lokacemi, kde dih je cena přesunu mezi lokací i a lokací h, matici F = [fjk ] o rozměru m × m charakterizující toky2 mezi aktivitami (přesuny dat, materiálu, lidí atd.), kde fjk je tok mezi aktivitou j a aktivitou k. Dále nechť π je permutace prvků {1, ..., n}, kde π(i) je aktivita, která byla přiřazena lokaci i. Cena přenesených dat (nebo materiálu atd.) mezi aktivitami může být vyjádřena jako součin ceny přesunu mezi lokacemi, kterým byly aktivity přiřazeny, a toku mezi aktivitami, cih = dih fπ(i)π(h) . Cílem je tedy najít takovou permutaci π, která minimalizuje následující účelovou funkci: C(π) = n X n X dih fπ(i)π(h) . (2.1) i=1 h=1 Optimální permutace πopt je definována jako: πopt = arg min C(π), Q π∈ kde (n) (2.2) Q (n) je množina všech permutací prvků {1, ..., n}. Problém lze snadno přeformulovat k ukázání kvadratické podstaty účelové funkce. Nechť X je matice permutací velikosti n × n s prvky: ( 1 π(i) = k xik = 0 jinak. (2.3) Přiřadíme-li aktivitu j k lokaci i a zároveň aktivitu k k lokaci h (tedy π(i) = j a π(h) = k), pak platí: n X n X dih fjk xij xhk = dih fπ(i)π(h) . (2.4) j=1 k=1 Cílem je tedy nalézt matici permutací X takovou, že C(π) = n X n X n X n X dih fjk xij xhk (2.5) i=1 j=1 h=1 k=1 1 Je-li n > m, je třeba doplnit aktivity s nulovými toky k ostatním aktivitám. Je-li naopak n < m, má úloha řešení jen tehdy, pokud některé lokace umožňují přiřazení více aktivit najednou. V takovém případě by navíc formulace úlohy musela zahrnovat i omezení na počet aktivit, které mohou být přiřazeny k jednotlivým lokacím, případně i omezení typu, které aktivity mohou být přiřazeny do jakých lokací. Tuto variantu úlohy zde studovat nebudeme a nadále budeme předpokládat, že n = m. 2 Představíme-li si aktivity jako uzly grafu, pak toky nemusí splňovat Kirchhoffův zákon a nejedná se tedy o toky v sítích zavedené v teorii grafů. KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 7 je minimální, při zahrnutí omezení: n X xij = 1 (2.6) xij = 1 (2.7) x ∈ {0, 1}. (2.8) i=1 n X j=1 QAP je NP-těžká úloha [4], problémy o velikosti n ≥ 20 nemohou být při současné úrovni hardware zcela optimálně vyřešeny tradičními přímými metodami. Pro praktické řešení těchto problémů byla vyvinuta řada heuristických algoritmů, které dokáží v krátkém výpočetním čase najít velmi kvalitní řešení. Jedná se například o simulované žíhání, tabu prohledávání, genetické algoritmy, evoluční strategie, GRASP3 a další [2]. 2.2 Typy QAP instancí Podle [5] mohou být instance QAP klasifikovány do čtyř tříd. • Nestrukturované, náhodně generované instance: Instance s maticemi cen přesunů a toků generovanými náhodně podle jednotného rozdělení. Řešení těchto instancí patří mezi nejobtížnější. • Nestrukturované instance s mřížkovými vzdálenostmi: Instance s maticemi cen přesunů definovanými jako vzdálenosti na mřížce n1 × n2 a náhodně generovanými maticemi toků. • Instance ze „skutečného životaÿ: Instance z praktických aplikací QAP. Tyto instance mají narozdíl od výše uvedených tu vlastnost, že matice toků obsahují mnoho nul a zbývající hodnoty nejsou rovnoměrně rozdělené. • Instance podobné instancím ze „skutečného životaÿ: Protože instance ze „skutečného životaÿ jsou většinou malé, jsou generovány instance s podobným rozložením, ale většího rozměru. Z těchto tříd jsou ve čtvrté kapitole vybrány testovací instance, na kterých je posuzována efektivita navrhovaných algoritmů. 3 Greedy Randomized Adaptive Search Procedure KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 2.3 8 Lokální prohledávání Lokální prohledávání začíná z nějakého počátečního řešení a opakovaně se pokouší vylepšit současné řešení prostřednictvím lokálních výměn. Pokud je v sousedství aktuálního permutace π nalezena lepší permutace π̂, je aktuální permutace nahrazena a lokální prohledávání pokračuje z π̂. Pro QAP je sousedství permutace π typicky definováno množinou permutací získaných výměnou dvou aktivit. Nechť ψj je lokace aktivity j. Rozdíl ∆(π, r, s) v účelové funkci získaný výměnou aktivit r a s v dané permutaci π lze určit s časovou náročností O(n) podle vztahu [5]4 : ∆(π, r, s) = frr · (dψs ψs − dψr ψr ) + frs · (dψs ψr − dψr ψs )+ fsr · (dψr ψs − dψs ψr ) + fss · (dψr ψr − dψs ψs )+ n P (fkr · (dψk ψs − dψk ψr ) + fks · (dψk ψr − dψk ψs )+ (2.9) k=1,k6=r,s frk · (dψs ψk − dψr ψk ) + fsk · (dψr ψk − dψs ψk )). Výsledek jednotlivé výměny může být určen rychleji s využitím informace z předcházejícího výpočtu. Nechť π̂ je řešení obdržené výměnou aktivit r a s v permutaci π. Potom výměna aktivit u a v ({u, v} ∩ {r, s} = ∅) může být ohodnocena v konstantním čase [5]: ∆(π̂, u, v) = ∆(π, r, s)+ (fru − frv + fsv − fsu ) · (dψs ψu − dψs ψv + dψr ψv − dψr ψu )+ (fur − fvr + fvs − fus ) · (dψu ψs − dψv ψs + dψv ψr − dψu ψr ). (2.10) Tento nejjednodušší postup lokálního prohledávání založený nad výše popsaným sousedstvím se nazývá 2-opt. Iterativní vylepšení může být implementováno s využitím pravidla prvního vylepšení, nebo nejlepšího vylepšení. Zatímco v prvním případě je zlepšující výměna provedena okamžitě, ve druhém případě je nejprve prozkoumáno celé sousedství a poté je vybrána výměna, která nabízí nejlepší vylepšení. 2.4 GRASP Pro praktické řešení QAP byla vyvinuta řada heuristických algoritmů, které dokáží v krátkém výpočetním čase najít velmi kvalitní řešení. Greedy Randomized Adaptive Search Procedure (GRASP) [17] patří mezi nejlepší. 4 Jsou-li obě matice D i F symetrické s nulovou diagonálou, vztah je zjednodušen s ohledem na fakt, že fsr = frs a dψs ψr = dψr ψs . KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 9 GRASP je iterační proces, kde každá iterace se skládá ze dvou fází: konstrukční fáze a fáze lokálního prohledávání. V první fázi (konstrukční fáze) je element po elementu sestavováno vhodné řešení. V každém konstrukčním kroku je výběr následujícího elementu k přidání určen seřazením všech elementů v seznamu kandidátů s ohledem na hladovou funkci. Tato funkce měří užitek výběru každého elementu. Heuristika je adaptivní, protože užitek asociovaný s každým elementem je aktualizován v každém kroku konstrukční fáze k reflexi změn přinesených výběrem předcházejícího elementu. Pravděpodobnostní komponenta GRASPu je charakterizována náhodným výběrem jednoho z nejlepších kandidátů v seznamu. Tato technika dovoluje získání různých řešení v každé iteraci GRASPu. Řešení, které je generováno konstrukční fází GRASPu, nemusí ležet v lokálním optimu, proto je užitečné aplikovat v druhé fázi iteračního procesu na toto řešení lokální prohledávání. procedure grasp(instance,velikostSeznamu,maxIter ) Inicializace(); for k = 1 to maxIter do (1) Konstrukce řešení. (2) Lokální prohledávání. end for; return nejlepšíŘešení; end grasp; Tabulka 2.1: Zevrubný popis GRASP algoritmu v pseudokódu. GRASP vlastní čtyři základní komponenty: hladovou funkci, adaptivní strategii, pravděpodobnostní výběr a lokální prohledávání. Při aplikaci na QAP je každá permutace tvořena ve dvou krocích: (i) první 2 přiřazení a (ii ) zbylých n − 2 přiřazení. První dvě přiřazení jsou provedena současně v prvním konstrukčním kroku, zatímco zbývajících n − 2 přiřazení je prováděno postupně, krok po kroku. Hladová funkce řadí přípustná přiřazení s ohledem na cenu. Pro počáteční dvě přiřazení vybírá hladová funkce pár přiřazení s minimální cenou interakce. Funkce přiřazuje aktivity s vysokým vzájemným tokem k lokacím s minimální vzájemnou cenou přesunu. KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 10 Dalších n − 2 přiřazení využívá hladový výběr přiřazení s minimální cenou interakce vzhledem k již hotovým přiřazením. 2.4.1 První etapa konstrukční fáze V první etapě konstrukční fáze je vybrán jeden pár aktivit a jim odpovídajících lokací. Jsou tak provedena první dvě přiřazení. Nechť 0 < β < 1 je parametr omezující velikost seznamu kandidátů a bxc je největší celé číslo menší nebo rovné x. n2 − n položek z matice D je seřazeno a bβ(n2 − n)c nejmenších je uchováno, tedy di1 h1 ≤ di2 h2 ≤ · · · ≤ dibβ(n2 −n)c hbβ(n2 −n)c , (2.11) dále je seřazeno n2 − n položek z matice F a bβ(n2 − n)c největších je uchováno, tedy fj1 k1 ≥ fj2 k2 ≥ · · · ≥ fjbβ(n2 −n)c kbβ(n2 −n)c . (2.12) di1 h1 fj1 k1 , di2 h2 fj2 k2 , . . . , dibβ(n2 −n)c hbβ(n2 −n)c fjbβ(n2 −n)c kbβ(n2 −n)c (2.13) Potom, ceny interakcí jsou seřazeny v neklesajícím pořadí a bαβ(n2 − n)c elementů je uchováno, kde parametr α (0 < α < 1) je druhý parametr omezující velikost seznamu. Výše popsané seřazení cen elementů může být provedeno pouze jednou, v inicializační části GRASPu. V GRASP iteracích vybírá hladová funkce pár mající nemenší dih fjk z bαβ(n2 − n)c možných párů. Omezení seznamu kandidátů limituje výběr na páry mající bαβ(n2 −n)c nejmenších dih fjk termů. Náhodná komponenta vybírá pár k přiřazení ze seznamu kandidátů náhodně. Protože bαβ(n2 − n)c cen je seřazeno předem, první etapa konstrukční fáze je vypočítána v konstantním čase. Stačí jen vygenerovat náhodné celé číslo v intervalu h1, bαβ(n2 − n)ci a přistoupit k indexům aktivit a lokací korespondujícím s pozicí danou náhodným číslem. 2.4.2 Druhá etapa konstrukční fáze Ve druhé etapě konstrukční fáze jsou postupně přiřazovány zbylé aktivity a lokace, v každém kroku jedna dvojice. Nechť Γ = {(h1 , k1 ), (h2 , k2 ), . . . , (hr , kr )} (2.14) KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 11 je množina již hotových přiřazení. Druhá etapa začíná s |Γ| = 2, protože v první etapě byly vytvořeny dva páry. Dále nechť X Cij = dih fjk (2.15) (h,k)∈Γ je cena přiřazení aktivity j k lokaci i vzhledem k již provedeným přiřazením. procedure etapa2(α, (h1 , k1 ), (h2 , k2 )) Γ = {(h1 , k1 ), (h2 , k2 )}; for t = 3 to n do m = 0; for i = 1 to n do for j = 1 to n do if (i,j )6∈ Γ then P Cij = (h,k)∈Γ dih fjk ; inheap(Cij ); m = m + 1; end if ; end for; end for; s = randomh1, bαmci; for v = 1 to s do Cij = outheap(); end for; Γ = Γ ∪ {(i, j)}; end for; end etapa2; Tabulka 2.2: Zevrubný popis druhé etapy konstrukční fáze GRASP v pseudokódu. Hladová funkce vybírá takový pár aktivita-lokace z doposud nepřiřazených aktivit a lokací, který má minimální Cij . Nechť v dané GRASP iteraci je m počet nepřiřazených párů aktivita-lokace a nechť α je parametr omezující velikost seznamu, stejný jako v první etapě. Použité omezení velikosti seznamu limituje výběr z bαmc párů aktivita-lokace, které KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 12 mají nejmenší hodnotu Cij . Náhodná komponenta vybírá ze seznamu párů náhodně. Adaptivní komponenta je zachycena aktualizací množiny již přiřazených párů Γ, tedy Γ = Γ ∪ {(i, j)}. (2.16) Tímto způsobem se hladová funkce mění v každé iteraci GRASPu. Ve druhé etapě konstrukční fáze je využito dvou operátorů pracujících s datovou strukturou halda: inheap vloží element do haldy a outheap smaže vrchní (nejmenší) element z haldy. 2.5 Aplikace ACO meta-heuristik na QAP Pro aplikaci ACO meta-heuristik je vhodné daný problém reprezentovat grafem G = (V, E), kde V je množina uzlů a E množina hran. Reprezentace QAP jako grafového problému je dána úplným bipartitním grafem, kde množina uzlů V je tvořena disjunktními množinami lokací a aktivit, množina hran E zcela spojuje prvky množiny lokací s prvky množiny aktivit (viz obr. 2.1). Dále je nutné zvolit aktivity lokace Obrázek 2.1: Úplný bipartitní graf pro problém velikosti n = 3. pevný směr přiřazování, například aktivity k lokacím (nebo lokace k aktivitám). Nadále budeme předpokládat, že jsou přiřazovány aktivity k lokacím. Konstrukce přiřazení aktivit k lokacím pak může být interpretována jako cesta mravence na grafové reprezentaci problému, kdy cílem každého mravence je navštívit všechny lokace a každé lokaci přiřadit jednu aktivitu. Každý mravenec iterativně aplikuje následující dva kroky, dokud nedokončí kompletní řešení. V prvním kroku vybere aktivitu, která má být přiřazena. Ve druhém kroku je vybraná aktivita přiřazena k některé lokaci. Feromonové stopy a heuristické informace mohou být asociované s oběma kroky. V prvním kroku mohou být feromonové stopy a heuristické informace využity k určení vhodného pořadí výběru aktivit. Pokud jde o druhý krok, feromonová KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 13 stopa τij a heuristická informace ηij asociovaná s každou dvojicí aktivity j a lokace i, určuje vhodnost přiřazení aktivity j k lokaci i. Poté, co všichni mravenci vygenerují svoje řešení (které je případně ještě vylepšeno aplikací některé z metod lokálního prohledávání), mohou ukládat feromon v množství odpovídajícím kvalitě nalezeného řešení. procedure acoqap(instance, parametry) Inicializace(); for t = 1 to MaxIter do /* Iterace */ for k = 1 to m do /* Pro všechny mravence */ for l = 1 to n-1 do /* Pro všechny lokace */ (1) Na základě heuristických informací, případně feromonu, vyber lokaci a přesuň se do ní. (2) Na základě heuristických informací a feromonu vyber aktiviku a přesuň se do ní. end for; end for; for k = 1 to m do Spočti cenu řešení mravence k. end for; if Nalezeno lepší řešení then Aktualizuj nejlepšíŘešení. end if; for každou dvojici (i, j) do Aktualizuj feromon. end do; end for; return nejlepšíŘešení; end acoqap; Tabulka 2.3: Zevrubný popis ACO algoritmu na QAP v pseudokódu. Kdybychom QAP reprezentovali stejně jako je reprezentován problém obchodního cestujícího (TSP), tedy množinu uzlů by tvořily pouze lokace a permutace KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 14 π by byla dána jen pořadím navštívených lokací, přepravili bychom se o možnost výběru vhodných aktivit pro přiřazení k lokacím. TSP je ve skutečnosti speciálním případem QAP, kde matice D je maticí vzdáleností daného problému a matice F je maticí sousednosti cyklu [18]. 2.5.1 Ant system Ant System (AS) [6] je prvním ACO algoritmem aplikovaným na QAP. V tomto algoritmu jsou jednotlivé lokace předem seřazeny podle vypočtených potenciálů cen přesunu, jak je popsáno níže. Při pohybu mravence po grafu problému je potom s ohledem na hladinu feromonu τij a heuristickou informaci ηij v každém kroku vybrána aktivita, která bude přiřazena k dané lokaci. 2.5.1.1 Heuristická informace Heuristická informace o potenciální vhodnosti dvojice (i,j ) je určována následujícím způsobem. Uvažujme vektory d~ a f~, takzvané potenciály cen přesunu a potenciály toku. Tyto vektory jsou určeny jako součet elementů každého řádku matice cen přesunů D a matice toků F : di = n X dih {i = 1, ..., n}, (2.17) fjk {j = 1, ..., n}. (2.18) h=1 fj = n X k=1 Čím nižší je hodnota di (potenciálu ceny přesunu) lokace i, tím je lokace i blíže centru všech lokací. Čím větší je hodnota fj (potenciálu toku) aktivity j, tím je daná aktivita významnější z hlediska toků vůči ostatním aktivitám. Dále je určena matice B = d~ · f~T , kde bij = di · fj . Hodnoty bij matice B indikují „potenciální vhodnostÿ přiřazení aktivity j k lokaci i. Platí tedy: ηij = bij = di · fj . (2.19) Motivace k použití tohoto typu heuristické informace je intuitivní přiřazování aktivit s vysokým potenciálem toků k lokacím s nízkým potenciálem cen přenosů. 2.5.1.2 Konstrukce řešení Konstrukce permutací probíhá následujícím způsobem: začíná se v řádku odpovídajícímu lokaci s nejmenším potenciálem cen přesunu a k této lokaci je vybrána KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 15 aktivita podle níže uvedené pravděpodobnosti. K další lokaci s druhým nejmenším potenciálem cen přesunu je přiřazena aktivita z množiny všech aktivit (vyjma již přiřazené) a takto se pokračuje pro všech n řádků. Konstrukce permutace je opakována m krát, m je počet mravenců v kolonii. Pravděpodobnost, že k -tý mravenec vybere aktivitu j, jako aktivitu přiřazenou k lokaci i je: pkij (t) = P 0 [τij (t)]α ·[ηij ]β [τ (t)]α ·[ηil ]β l∈J k il j ∈ Jik (2.20) i j 6∈ Jik , kde Jik je množina aktivit, které mravenec k doposud nepřiřadil, τij (t) je feromonová stopa v iteraci t a α a β jsou parametry umožňující definovat relativní význam P feromonové stopy τij a heuristické informace ηij . Platí j∈J k pij (t) = 1. i 2.5.1.3 Aktualizace feromonu Aktualizace feromonové stopy probíhá podle následujícího pravidla: τij (t) ← (1 − ρ) · τij (t) + m X ∆τijk (t), (2.21) k=1 kde m je počet mravenců a ρ (0 ≤ ρ < 1) je trvanlivost feromonové stopy (1 − ρ tedy představuje vypařování feromonu). Užití parametru ρ zabraňuje neomezené akumulaci feromonových stop a umožňuje algoritmu zapomenout předchozí špatná rozhodnutí. ∆τijk je množství feromonu, které mravenec k ukládá na spojení (i,j ) a je dáno: ( ∆τijk = Q/C k (t) (i, j) ∈ Ak (t); 0 jinak. (2.22) Ak (t) je řešení k -tého mravence v iteraci t, Q je množství feromonu uloženého mravencem, C k (t) je účelová funkce mravence k v iteraci t. Aktualizace feromonových stop způsobí, že vazby s nízkou hodnotou účelové funkce C k (t) budou mít vysokou hodnotu feromonové stopy. 2.5.2 ANTS V [7] bylo představeno podstatné vylepšení předchozího algoritmu nazvané ANTS5 . Hlavní rozdíl je v použití spodní meze ceny řešení, která je využita jak při inicializaci a seřazení lokací, tak při každém kroku algoritmu při výpočtu heuristické 5 Approximate Nondeterministic Tree Search KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 16 informace ηij . Rovněž konstrukce řešení a aktualizace feromonových stop probíhá podle upravených pravidel. 2.5.2.1 Použití spodních mezí Při konstrukci řešení je k aktuálnímu řešení pokusně přidána dvojice (i, j) a ve smyslu spodní meze je odhadnuta cena kompletního řešení obsahující tuto dvojici. Tento odhad má potom vliv na pravděpodobnost, se kterou mravenec konstruuje svoje řešení. Čím nižší je odhad, tím atraktivnější je přidání dané dvojice (i, j). Pro QAP existuje celá řada spodních mezí, jedna z nejlepších je Gilmore-Lawlerova [8, 9] spodní mez (dále GLB), která může být formulována následujícím způsobem. Nechť Φ je množina indexů všech aktivit, Λ je množina indexů všech lokací. Nejprve se pro každý pár (ij), i ∈ Φ, j ∈ Λ vypočte zij : zij = min n X dih fjk xhk , (2.23) h,k=1 kde dih je cena přesunu mezi lokacemi i a h, fjk je tok mezi aktivitami j a k, xhk nabývá hodnoty 1 je-li aktivita k přiřazena lokaci h, jinak 0. Koeficienty zij lze snadno spočítat jako skalární součin koeficientů dih seřazených vzestupně a koeficientů fjk seřazených sestupně. GLB je potom dána zGLB = n X zij xij (2.24) i,j=1 při splnění podmínek 2.6, 2.7 a 2.8. Při výpočtu GLB dostáváme spolu s hodnotou spodní meze také hodnoty duálních proměnných příslušejících omezením 2.6 a 2.7. Nechť ui (0), i = 1, . . . , n jsou hodnoty duálních proměnných příslušející omezení 2.6 a nechť vi (0), i = 1, . . . , n P P vj (0). jsou duální proměnné příslušející omezení 2.7. Platí GLB = ui (0) + i∈Φ j∈Λ Pro nastavení heuristické informace o potenciální vhodnosti dvojice (i,j ) je využito velmi podobné strategie. Množina indexů aktivit Φ může být rozdělena na dvě podmnožiny Φ1 a Φ2 označující indexy již přiřazených a doposud nepřiřazených aktivit. Podobně Λ1 označuje množinu indexů již přiřazených lokací a Λ2 množinu indexů lokací doposud nepřiřazených. Účelová funkce 2.1 pak může být přepsána následovně: zQAP = P P dih fjk xij xhk + i,h∈Φ1 j,k∈Λ1 P P i,h∈Φ2 j,k∈Λ1 P P dih fjk xij xhk + i,h∈Φ1 j,k∈Λ2 dih fjk xij xhk + P P i,h∈Φ2 j,k∈Λ2 dih fjk xij xhk . (2.25) KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 17 Na účelovou funkci 2.25 lze pohlížet jako na součet zQAP = z1 + z2 + z3 + z4 , kde z1 odpovídá ceně již stanovených přiřazení, z2 odpovídá ceně interakcí mezi přiřazenými aktivitami a nepřiřazenými lokacemi, z3 odpovídá ceně interakcí mezi nepřiřazenými aktivitami a přiřazenými lokacemi a z4 odpovídá ceně interakcí mezi nepřiřazenými aktivitami a nepřiřazenými lokacemi. Zatímco z1 je známá konstanta, z2 , z3 a z4 mohou být pouze odhadnuty ve smyslu spodních mezí. z4 je odhadován ve smyslu GLB (dle vztahu 2.24), součet členů z2 + z3 je podle [10] určen řešením lineární přiřazovací úlohy definované nad maticí cen přiřazení [χlm ], l ∈ Φ2 , m ∈ Λ2 , kde χlm = XX (dil fjm + dli fmj ). (2.26) i∈Φ1 j∈Λ1 Spodní mez je potom určena: zLB = z1 + z23 + z4 . (2.27) Při výpočtu spodní meze pro danou dvojici (i,j ) se předpokládá Φ1 = Φ1 ∪ {i}, Λ1 = Λ1 ∪ {j}, Φ2 = Φ2 \ Φ1 a Λ2 = Λ2 \ Λ1 . Potom ηij = zLB . 2.5.2.2 Konstrukce řešení Seřazení lokací je dáno hodnotami duálních proměnných vj (0), j = 1, . . . , n získaných při výpočtu GLB. Čím vyšší je hodnota duální proměnné asociované s lokací, tím větší je vliv této lokace na cenu řešení. Proto je vhodné k této lokaci přiřadit aktivitu co nejdříve. K lokaci j mravenec k vybírá k přiřazení aktivitu i s následující pravděpodobností: pkij (t) = P α · τij (t) + (1 − α) · ηij , l∈J k α · τlj (t) + (1 − α) · ηlj (2.28) j je-li i v množině aktivit Jjk , tedy aktivit, které nebyly doposud přiřazeny žádné P lokaci. Opět platí i∈J k pij (t) = 1. j 2.5.2.3 Aktualizace feromonu V ANTS není použito vypařování feromonu a aktualizace feromonu je prováděna až poté, co všichni mravenci dokončí konstrukci svého řešení. Platí τij (t + 1) = τij (t) + m X k=1 ∆τijk , (2.29) KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 18 kde ∆τijk je definováno jako ( ∆τijk = τ0 · (1 − C k −LB ) Cavg −LB 0 (i, j) ∈ Ak ; jinak. (2.30) Cavg je klouzavý průměr posledních l řešení a LB je hodnota spodní meze spočítaná na začátku algoritmu. Je-li řešení horší než pohyblivý průměr, hodnoty feromonových stop dvojic (i,j ) jsou sníženy, v opačném případě jsou zvýšeny. 2.5.3 MAX − MIN Ant System MAX − MIN Ant System (dále MMAS), vylepšení algoritmu AS, byl nejprve aplikován na problém obchodního cestujícího [11, 12] a teprve později na QAP. Modifikace MMAS oproti AS jsou následující: • Po každé iteraci může ukládat feromon pouze jeden mravenec. A to ten, který nalezl nejlepší řešení v dané iteraci, nebo za běhu celého algoritmu. • Aby nedošlo ke stagnaci6 prohledávání, povolený rozsah množství feromonu je limitován intervalem [τmin , τmax ], ∀τij τmin ≤ τij ≤ τmax . • Feromonové stopy jsou inicializovány na hodnotu horní hranice intervalu, což způsobí větší prohledávání na začátku algoritmu [14]. 2.5.3.1 Konstrukce řešení V algoritmu MMAS vybírá v každém konstrukčním kroku mravenec k náhodně aktivitu i (z množiny dosud nepřiřazených aktivit) a poté tuto aktivitu umístí do volné lokace j s pravděpodobností danou: τij (t) , l∈J k τil (t) pkij (t) = P j ∈ Jik . (2.31) i MMAS tedy nevyužívá žádné heuristické informace, čímž je redukován jeden parametr algoritmu a vysoké kvality řešení je docíleno také s pomocí lokálního prohledávání. 6 Stagnace prohledávání, definována ve [13], je situace, ve které všichni mravenci následují stej- nou cestu a konstruují stejná řešení. KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 2.5.3.2 19 Aktualizace feromonu Když všichni mravenci zkonstruují svoje řešení, feromonová stopa je aktualizována podle pravidla τij (t + 1) = ρ · τij (t) + ∆τijbest . (2.32) ∆τijbest je definováno jako ( ∆τijbest = 1/C best (i, j) ∈ ψ best 0 jinak, (2.33) kde C best je účelová funkce ψ best . ψ best může být nejlepší řešení v iteraci ψ ib , nebo nejlepší řešení z celého běhu algoritmu ψ gb . Nejlepších výsledků je dosaženo tehdy, když frekvence použití ψ gb postupně roste v průběhu algoritmu [14]. Je-li po aktualizaci feromonu τij > τmax , je nastaveno τij = τmax . Analogicky, je-li τij < τmax , potom τij = τmax . 2.5.3.3 Další vlastnosti Algoritmus MMAS využívá další techniku k posílení rozmanitosti prohledávání. V okamžiku, kdy během prohledávání nedochází k žádnému (nebo jen velmi malému) pokroku, hodnoty feromonových stop jsou znovu inicializovány na τmax . 2.5.4 FANT V [15] byl představen další algoritmus pro řešení QAP, nazvaný FANT7 . V tomto algoritmu jsou řešení konstruována stejným způsobem jako v MMAS, tedy podle pravidla 2.31, bez využití jakékoli heuristické informace. FANT se liší od doposud popsaných algoritmů ve dvou hlavních aspektech: v počtu mravenců a v řízení aktualizace feromonu. 2.5.4.1 Počet mravenců Ve FANT je využit pouze jeden mravenec. Tato vlastnost umožňuje velmi rychlé nalezení dobrých řešení (také s pomocí lokálního prohledávání). 2.5.4.2 Aktualizace feromonu Stejně jako ANTS, ani FANT nevyužívá vypařování feromonu. Při inicializaci jsou všechny feromonové stopy nastaveny na jedničku a po každé iteraci je feromon při7 Fast Ant System KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 20 dáván podle pravidla τij (t + 1) = τij (t) + r · ∆τij + r∗ · ∆τijgb , (2.34) kde ∆τij = 1/C pro každou dvojici (i, j) která je součástí řešení generovaného v aktuální iteraci a ∆τijgb = 1/C gb pro každou dvojici náležící nejlepšímu řešení ψ gb z celého běhu algoritmu. r a r∗ jsou parametry. Hodnota parametru r může být za běhu algoritmu modifikována, zatímco parametr r∗ zůstává fixní. Ve dvou případech je aktualizace feromonu prováděna jinak, než bylo popsáno: 1. Je-li vylepšeno doposud nejlepší nalezené řešení, parametr r je nastaven na jedničku a všechny feromonové stopy jsou vymazány a nastaveny na jedničku. To způsobí posílení prohledávání kolem nejlepšího řešení. 2. Pokud mravenec zkonstruuje řešení, které je stejné jako ψ gb , parametr r je zvýšen o jedničku a všechny feromonové stopy jsou vymazány a nastaveny na r. Tím dojde k rozšíření prohledávání snížením relativní váhy ψ gb . 2.5.5 HAS-QAP HAS8 -QAP [16] se od všech doposud popsaných algoritmů velmi výrazně liší. Hlavní rozdíl spočívá v tom, že feromonové stopy jsou použity pouze k modifikaci řešení, nikoli ke konstrukci nových řešení. V inicializační fázi je každému mravenci k, k = 1, . . . , m přidělena permutace π k , která je složena z náhodně vygenerované permutace dovedené k lokálnímu minimu prostřednictvím lokálního prohledávání. Feromonové stopy τij (t) jsou inicializovány na hodnotu τ0 = 1/(100 · C(π + )), kde π + je nejlepší z m počátečních permutací a C(π + ) její cena. Algoritmus se potom skládá ze třech procedur, (i) modifikace založené na feromonových stopách, (ii) lokálního prohledávání a (iii) aktualizace feromonových stop. 2.5.5.1 Modifikace založená na feromonových stopách Každý mravenec modifikuje svoji permutaci π k aplikací množiny R výměn, kde R je parametr algoritmu. Aktivita i je vybrána náhodně z {1, . . . , n}, aktivita j 6= i je vybrána dále popsaným způsobem z {1, . . . , n}, a π k (i) a π k (j) (tedy lokace příslušející těmto aktivitám) jsou vyměněny. Druhá aktivita j je vybrána následujícím způsobem: s pravděpodobností q, kde q je parametr algoritmu, je vybrána taková 8 Hybrid Ant System KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 21 aktivita, pro kterou je τiπk (j) + τjπk (i) maximální; s pravděpodobností 1 − q je výběr i proveden podle pravděpodobnosti τiπk (j) + τjπk (i) . l=1,l6=i (τiπ k (l) + τlπ k (i) ) pkij = Pn (2.35) Těchto R výměn generuje řešení π̃ k . 2.5.5.2 Aktualizace feromonu Po modifikaci řešení a lokálním prohledávání je aktualizována matice feromonových stop. Aktualizační pravidlo je τiπ(i) (t) ← (1 − ρ) · τiπ(i) (t) + ρ · ∆τiπ(i) (t), (2.36) kde ∆τiπ(i) (t) = 1/C(π + ) pokud (i, π(i)) ∈ π + a 0 jinak. 2.5.5.3 Další vlastnosti Je-li nalezeno nové řešení, pro které platí C(π̂ k (t)) < C(π + ), potom π + = π̂ k (t). Pro vyvolání podrobnějšího průzkumu okolí nejlepší nalezené permutace je použita procedura intenzifikace, která je aktivována v okamžiku, kdy je vylepšeno doposud nejlepší nalezené řešení. Mravenec začíná další iteraci s lepší permutací ze dvojice π k a π̂ k . Je-li tedy řešení na začátku iterace lepší, mravenec se k němu vrací; v opačném případě pokračuje s aktuálním řešením. Aby nedošlo ke stagnaci, je použita procedura diverzifikace, která je aktivována v okamžiku, kdy během posledních S iterací nedošlo k žádnému vylepšení nejlepší permutace. V takovém případě jsou všechny feromonové stopy znovu inicializovány na hodnotu τ0 = 1/(100 · C(π + )), m − 1 mravencům je přiděleno nové náhodně vygenerované řešení a jednomu mravenci je přiděleno doposud nejlepší nalezené řešení π + . 2.5.6 Přehled V předcházející části byla ACO heuristika aplikována na Quadratic Assignment Problem a byly předloženy metody modifikující některé vlastnosti tohoto algoritmu. Bohužel není k dispozici žádné porovnání výsledků jednotlivých metod na stejných testovacích úlohách, při stejném nastavení parametrů a stejném přidělení prostředků √ (např. počet iterací). Využití základních vlastností shrnuje tabulka 2.4. Symbol značí přítomnost, symbol ¬ nepřítomnost vlastnosti. Jako výchozí algoritmus pro KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 22 další modifikace byl zvolen Ant System (AS). Ten využívá heuristické znalosti, populace mravenců, vypařování feromonu i konstrukci řešení a nabízí tedy největší prostor k dalším modifikacím. Heuristická znalost Populace mravenců Vypařování feromonu Konstrukce řešení AS ANTS √ √ √ √ √ MMAS √ ¬ √ ¬ √ √ √ FANT HAS ¬ ¬ ¬ √ ¬ √ √ ¬ Tabulka 2.4: Přehled základních vlastností ACO heuristických algoritmů 2.5.7 Strategie využití feromonu Ve všech výše zmíněných metodách je feromon ukládán až v okamžiku, kdy všichni mravenci dokončí v dané iteraci konstrukci svého řešení. Výhody tohoto přístupu spočívají především v možnosti určovat množství ukládaného feromonu podle kvality nalezených řešení všech mravenců v dané iteraci, či využít znalost o nejlepším nalezeném řešení jednoho mravence a nechat ukládat feromon pouze tohoto mravence. Tato strategie se tedy jeví jako velmi dobrá. Některé výše zmíněné metody využívají vypařování feromonu. Tato technika sice zavádí další parametr, ale přináší celou řadu výhod. Užití vypařování feromonu zabraňuje neomezené akumulaci feromonových stop a umožňuje algoritmu zapomenout předchozí špatná rozhodnutí. Je-li množství feromonu uloženého na hraně limitováno určitým intervalem, potom feromonové stopy inicializované na horní hranici intervalu způsobují větší prohledávání na začátku algoritmu. Dochází-li ke stagnaci prohledávání, tedy situaci, kdy všichni mravenci následují stejnou cestu a konstruují stejná řešení, lze znovu nastavit feromonové stopy na horní hranici intervalu a podpořit tak rozšíření prohledávání. Trvanlivost feromonové stopy je nastavována parametrem ρ (1 − ρ tedy představuje vypařování feromonu). Je-li hodnota parametru ρ příliš nízká, vypařování se téměř neprojeví a na hranách se akumulují feromonové stopy. Je-li naopak hodnota parametru ρ nastavena příliš vysoko, feromon se z hran rychle ztrácí a prohledávání brzy stagnuje v nějakém zpravidla nepříliš kvalitním lokálním minimu. Není-li navíc KAPITOLA 2. QUADRATIC ASSIGNMENT PROBLEM 23 nastavena spodní mez intervalu množství feromonu, pak se díky nulové hodnotě feromonové stopy v čitateli pravidla pravděpodobnostního výběru některé hrany navždy vyřazují z budoucího prohledávání. Z předložených strategií využití feromonu z hlediska okamžiku jeho depozice a způsobu vypařování je s ohledem na výše zmíněné důvody pro následující návrhy modifikací zvoleno ukládání feromonu po dokončení konstrukce řešení všech mravenců a užití vypařování feromonu. Optimální hodnota parametru ρ byla experimentálně zjištěna v [6] a tato hodnota je použita i nadále. V této kapitole byla formálně zavedena NP-těžká úloha Quadratic Assignment Problem (QAP), jako referenční úloha pro experimentální ověření efektivity algoritmů. Bylo vysvětleno lokální prohledávání, GRASP algoritmus a ACO algoritmy aplikované na QAP. Nakonec byla zvolena strategie využití feromonu, která je použita v navrhovaných modifikacích původního systému ve čtvrté kapitole. V příští kapitole bude navržen algoritmus pro kombinaci lokálně optimálních řešení. Kapitola 3 Kombinace lokálně optimálních řešení V této kapitole je navržen algoritmus pro kombinaci lokálně optimálních řešení. Motivace k použití této kombinace spočívá v myšlence, že by si mravenci mohli mezi sebou vyměňovat dobré části svých řešení. V okamžiku, kdy každý mravenec dokončí konstrukci svého řešení a na toto řešení je aplikována funkce lokálního prohledávání, je možné zkombinovat dvě lokálně optimální řešení dvou mravenců a zkusit nalézt řešení s ještě nižší hodnotou účelové funkce. Princip kombinace dvou lokálně optimálních řešení spočívá v tom, že je ponechána část jednoho řešení a tato část je doplněna z řešení druhého. Při tomto doplňování může nastat situace, kdy aktivita, kterou chceme přiřadit k vybrané lokaci z prvního permutace, již byla přiřazena. V takovém případě lze pokračovat dvěma způsoby: • ponechat v řešení dvojici lokace-aktivita z první permutace, • ponechat lokaci nepřiřazenou a po dokončení přiřadit nepřiřazené lokace a aktivity podle nějaké heuristiky. Experimentální výsledky takřka jednoznačně prokazují, že lepších řešení je dosaženo při použití prvního postupu. Může dojít také k situaci, kdy při obsazené aktivitě z druhé permutace nelze použít ani aktivitu z první permutace. V takovém případě zůstává lokace neobsazena a po dokončení všech možných přiřazení jsou zbylé lokace a aktivity přiřazeny podle následující hladové heuristiky. 24 KAPITOLA 3. KOMBINACE LOKÁLNĚ OPTIMÁLNÍCH ŘEŠENÍ 25 Nechť Γ = {(h1 , k1 ), (h2 , k2 ), . . . , (hr , kr )} (3.1) je množina již hotových přiřazení. Potom pro každý možný pár (i, j) je určena cena Cij vzhledem k již hotovým přiřazením: Cij = X (dih fjk + dhi fkj ). (3.2) (h,k)∈Γ Vybrán je vždy takový pár aktivita-lokace z doposud nepřiřazených aktivit a lokací, který má minimální Cij . Výsledné řešení je opět dovedeno do lokálního optima. Přístup, ve kterém jsou brány páry lokací a aktivit z jednotlivých řešení může být sekvenční, nebo jsou páry předseřazeny podle určité heuristiky. Tyto vlastnosti jsou diskutovány v následujících podkapitolách. 3.1 Sekvenční pořadí Při tomto postupu jsou páry lokací a aktivit vybírány v pořadí podle rostoucího indexu lokace. Do výsledné permutace je tedy zahrnuta část prvního řešení s indexy lokací h1, ba · nci, kde a je parametr výběru (0 < a < 1), bxc je největší celé číslo menší nebo rovné x a n je velikost instance (počet párů). Tato částečná permutace je doplňována z druhého řešení s indexy lokací hda · ne, ni, kde dxe je nejmenší celé číslo větší nebo rovné x. Na nepřiřazené lokace a aktivity je poté aplikována výše popsaná heuristika (vztah 3.2). Výhodou tohoto postupu je rychlost přístupu k jednotlivým párům lokace-aktivita. Nevýhodou je, že není brán ohled na kvalitu přiřazení každého páru. 3.2 Pořadí podle heuristiky Při tomto postupu jsou páry lokací a aktivit nejprve předseřazeny podle odhadu kvality přiřazení. Tento odhad je určován podle vztahu 3.2 vyjadřujícího cenu páru (i, j) vzhledem k ostatním přiřazením. Množina hotových přiřazení Γ je v tomto případě dána celou permutací prvního nebo druhého řešení. Jednotlivé páry v obou permutacích jsou poté seřazeny v pořadí neklesajících Cij . Toto seřazení je provedeno pomocí datové struktury halda s časovou náročností O(n · log n). Další postup již je shodný s výše popsaným postupem u sekvenčního pořadí, jen namísto indexů lokací jsou páry vybírány podle neklesajících Cij . KAPITOLA 3. KOMBINACE LOKÁLNĚ OPTIMÁLNÍCH ŘEŠENÍ 3.3 26 Experimentální výsledky Kombinace lokálně optimálních řešení byla testována prakticky na všech úlohách z [21]. Jedná se o úlohy různých velikostí a struktur, lokálně optimální řešení byla generována s různými hodnotami účelové funkce, od hodnot velmi blízko globálnímu minimu (optimální řešení), až po hodnoty pětkrát horší, než je optimální (nebo doposud nejlepší nalezené) řešení. Většina lokálně optimálních řešení byla generována s takovou hodnotou účelové funkce, jakou v průběhu algoritmu budou generovat jednotliví mravenci. Ti zpravidla začínají na hodnotách přibližně o čtvrtinu horších, než je optimum a v průběhu algoritmu dochází k postupnému vylepšování jednotlivých řešení. Kombinací lokálně optimálních řešení jsou nacházena lepší řešení nejen pro zdrojová řešení, která jsou optimu značně vzdálena, ale i pro řešení, která se od optima liší jen o několik málo procent. Porovnání výsledků obou postupů pro různé hodnoty parametru výběru a je shrnuto na obrázku 3.1. Sloupce grafů zachycují četnosti výskytu kvality řešení, LO1 a LO2 označují hodnoty účelové funkce původních řešení, výsledky generované postupem se sekvenčním pořadím jsou označené tmavším odstínem šedi, světlejší odstín označuje výsledky generované postupem s pořadím podle heuristiky. Jednotlivé sloupce vypovídají o tom, kolik procent kombinací lokálně optimálních řešení bylo lepší než obě zdrojová řešení, lepší než jedno zdrojové řešení, nebo horší než obě řešení. Podrobné číselné výsledky pro jednotlivá nastavení parametru a a přístupu, ve kterém jsou brány páry lokací a aktivit z jednotlivých řešení, zde nejsou z důvodu úspory místa uvedeny a přehledně je shrnuje obrázek 3.1. Uvedena je pouze statistika pro experimentálně nejlepší nalezené nastavení parametru a. Z grafů je patrné, že nejlepších výsledků bylo dosaženo s parametrem výběru a = 0.3 a postupem pořadí podle heuristiky. Podrobnější statistika pro tento případ je v tabulce 3.1. Podíl v % Výsledek lepší než obě zdrojová řešení 21,6% Výsledek lepší než jedno zdrojové řešení 16,2% Výsledek horší než obě zdrojová řešení 59,5% Výsledek stejný jako jedno ze zdrojových řešení 2,7% Tabulka 3.1: Četnost výskytu kvality řešení pro a = 0.3 a pořadí podle heuristiky. KAPITOLA 3. KOMBINACE LOKÁLNĚ OPTIMÁLNÍCH ŘEŠENÍ 80% 80% 60% 60% 40% 40% 20% 20% LO1 LO2 (a) a=0.2 cena 80% 80% 60% 60% 40% 40% 20% 20% LO1 LO2 (c) a=0.4 cena 80% 80% 60% 60% 40% 40% 20% 20% LO1 LO2 (e) a=0.6 cena 27 LO1 LO2 (b) a=0.3 cena LO1 LO2 (d) a=0.5 cena LO1 cena LO2 (f) a=0.7 Obrázek 3.1: Porovnání četností výskytu kvality řešení podle parametru výběru. Podařilo se tedy nalézt algoritmus pro kombinaci lokálně optimálních řešení, který nalezne řešení lepší než byla obě zdrojová přibližně v jednom z pěti případů. Tento algoritmus bude později využit při zavedení více feromonů. V každé iteraci bude z každé feromonové komunity vybrán jeden mravenec s nejnižší hodnotou účelové funkce a tito mravenci si budou navzájem vyměňovat části svých řešení. Výše zmíněný postup kombinace lokálně optimálních řešení zavádí do modifikovaného Ant System algoritmu další parametr, ale podařilo se najít doporučenou hodnotu tohoto KAPITOLA 3. KOMBINACE LOKÁLNĚ OPTIMÁLNÍCH ŘEŠENÍ 28 parametru a algoritmus navíc není na přesné nastavení tohoto parametru příliš citlivý. Experimentálně zjištěná doporučená hodnota a = 0.3 odpovídá i představě, že by si mravenci měli vyměňovat řešení přibližně půl na půl. Je-li z původního řešení ponechána asi jedna třetina, potom díky tomu, že během doplňování z druhého řešení dochází občas k tomu, že aktivita, kterou chceme přiřadit k vybrané lokaci z prvního permutace, již byla přiřazena a v řešení je ponechána dvojice lokace-aktivita z první permutace, podílí se na výsledné kombinaci každé zdrojové řešení přibližně jednou polovinou. V této kapitole byl navržen heuristický algoritmus pro kombinaci lokálně optimálních řešení. V následující kapitole bude zavedeno více typů feromonu a algoritmus kombinace lokálně optimálních řešení bude aplikován na kombinace řešení nejlepších mravenců každé feromonové komunity. Dále budou navrženy další modifikace Ant System algoritmu. Kapitola 4 Modifikace algoritmu Ant System V předcházející kapitole byl navržen algoritmus pro kombinaci lokálně optimálních řešení. V této kapitole jsou navrženy modifikace Ant System algoritmu mající za cíl zvýšení efektivity této heuristické procedury. Výše zmíněný algoritmus kombinace lokálně optimálních řešení je využit po zavedení více typů feromonu. V souvislosti s více typy feromonů je také diskutována strategie využití vlastnosti odpuzování, kdy jsou mravenci z jednotlivých feromonových komunit odpuzování feromonem náležícím ostatním komunitám. Vzhledem k tomu, že experimentální ověřování vlivu jednotlivých modifikací je výpočetně časově náročné, je vybrána sada testovacích instancí, použitých pro porovnání výsledků jednotlivých modifikací. 4.1 Testovací úlohy Následující testovací úlohy byly vybrány s ohledem na rozdělení QAP problémů do jednotlivých tříd, jak je popsáno v druhé kapitole. Testovací instance zahrnují úlohy různých velikostí a typů, tak aby pokud možno pokrývaly všechny možnosti charakteru vstupních matic cen přesunů a toků. Jako ukázka praktické aplikace QAP je uvedena úloha ICP. 4.1.1 Rou12 Rou12 [21] je náhodně generovaná instance o velikosti n = 12, ve které jsou prvky matic D a F vybrány z intervalu h1, 100i. Optimální hodnota účelové funkce je 235528. 29 KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 4.1.2 30 Lipa20a Lipa20a [21] je náhodně generovaná asymetrická instance o velikosti n = 20, pocházející z generátoru instancí se známým optimálním řešením. Optimální hodnota účelové funkce je 3683. 4.1.3 Tai30a Tai30a [21] je rovnoměrně generovaná instance o velikosti n = 30. Doposud nejlepší nalezená hodnota účelové funkce je 1818146. 4.1.4 Had12 Had12 [21] je instance o velikosti n = 12, ve které matice cen přesunů obsahuje mřížkové vzdálenosti v rovině, definované následujícím způsobem: vzdálenost bodů i a j o souřadnicích [xi , yi ], [xj , yj ] je dij = |xi − xj | + |yi − yj |. Prvky matice toků jsou rovnoměrně rozloženy v intervalu h1, 10i. Optimální hodnota účelové funkce je 1652. 4.1.5 Nug20 Nug20 [21] patří mezi nejvyužívanější standardní testovací úlohy. Jedná se o instanci o velikosti n = 20 s maticí cen přesunů obsahující mřížkové vzdálenosti. Optimální hodnota účelové funkce je 2570. 4.1.6 Sko42 Sko42 [21] je instance o velikosti n = 42 s maticí cen přesunů obsahující mřížkové vzdálenosti a maticí toků s pseudonáhodnými čísly. Doposud nejlepší nalezená hodnota účelové funkce je 15812. 4.1.7 Els19 Els19 [21] je instance o velikosti n = 19 popisující reálný problém rozvržení oddělení v nemocnici. Matice cen přesunů obsahuje vzdálenosti mezi lokacemi a matice toků zachycuje pohyb pacientů mezi jednotlivými odděleními. Optimální hodnota účelové funkce je 17212548. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 4.1.8 31 Bur26a Bur26a [21] je asymetrická instance o velikosti n = 26 popisující problém rozvržení klávesnice pro minimalizaci času psaní textu. V instanci je zachycena frekvence jednotlivých párů písmen. Optimální hodnota účelové funkce je 5426670. 4.1.9 Italian company problem (ICP) Italian company problem (ICP) [7] je reálná úloha o velikosti n = 33. Cílem je najít optimální rozvržení provozu v kancelářích milánské nadnárodní společnosti. Kanceláře jsou rozdělené na oddělení rozmístěné v následujících třech budovách: 1. Věž: budova o šesti patrech, každé patro je rozděleno na tři oddělení. 2. Budova A: třípatrová stavba stojící blízko věže, první dvě patra jsou mostem přímo spojena s věží, každé patro je rozděleno na tři oddělení. 3. Budova B: třípatrová budova stojící opodál, každé patro je rozděleno na dvě oddělení. Celek je znázorněn na obrázku 4.1. 16 17 18 13 14 15 10 11 12 7 8 9 25 26 27 32 33 4 5 6 22 23 24 30 31 1 2 3 19 20 21 28 29 Budova A Budova B Věž Obrázek 4.1: Oddělení ve třech budovách milánské společnosti. Matice cen přesunu je vytvořena z časů (v sekundách) potřebných k pohybu zaměstnance z lokace i do lokace h. Matice toků mezi aktivitami je vytvořena z týdenních průměrných četností osobních kontaktů mezi zaměstnanci různých oddělení, vážených dle kvalifikace zaměstnance (běžným zaměstnanců je přiřazena váha 1, řídícím pracovníkům váha 2). Doposud nejlepší nalezená hodnota účelové funkce je 339416. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 4.1.10 32 Přehled Tyto úlohy jsou použity jako základní testovací instance pro porovnání výsledků jednotlivých algoritmů a jejich modifikací. Ve všech následujících tabulkách jsou úlohy seřazeny podle skupin uvedených v tabulce 4.1. Třída instance Testovací data Náhodně generované instance Rou12, Lipa20, Tai30a Instance s mřížkovými vzdálenostmi Had12, Nug20, Sko42 Instance ze „skutečného životaÿ Els19, Bur26a, ICP(33) Tabulka 4.1: Přehled testovacích dat 4.2 Pravděpodobnostní výběr lokací V původním algoritmu Ant System jsou lokace předem seřazeny podle vypočtených potenciálů cen přesunu. I všechny další metody vylepšující vlastnosti tohoto algoritmu využívají předseřazení lokací (nebo aktivit, záleží na zvoleném směru přiřazování) podle nějaké heuristiky. V této sekci je navržena modifikace umožňující vybírat lokace pravděpodobnostně s ohledem na heuristickou znalost (potenciály cen přesunu) a hodnoty feromonových stop. Výběr lokací se děje až při konstrukci řešení. Konstrukce řešení se tak mnohem více přibližuje myšlence pohybu mravence po úplném bipartitním grafu problému. Díky aktualizaci feromonových stop je brána v úvahu i kvalita nalezených řešení a pořadí lokací se v průběhu algoritmu mění. Princip pravděpodobnostního výběru lokací vyhází z pravděpodobnostního výběru aktivit v algoritmu Ant System. V této modifikaci je využito heuristické znalosti založené na potenciálech cen přesunu určovaných dle vztahu 2.17. Ale lze využít i jiné heuristické informace, například jako v ANTS. Konstrukce řešení probíhá následujícím způsobem. Je-li mravenec v aktivitě j, vybírá následující lokaci i podle pravidla: ∗ α β i] P [τji (t)]∗ ·[1/d i ∈ Jik α β k [τli (t)] ·[1/di ] k l∈J pji (t) = i 0 i 6∈ Jik , (4.1) kde Jik je množina lokací, které mravenec k doposud nenavštívil, τji∗ (t) je feromonová stopa dvojice (j,i) v iteraci t, di je potenciál cen přesunu a α a β jsou stejné parametry KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 33 umožňující definovat relativní význam feromonové stopy a heuristické informace, P jako v případě pravděpodobnostního výběru aktivit. Opět platí i∈J k pji (t) = 1. i Mravenec se poté přesune do lokace i a odtud známým způsobem vybírá další aktivitu do své permutace řešení. Takto postupuje dokud nedokončí celou konstrukci svého řešení. Poté, co v dané iteraci všichni mravenci zkonstruují svá řešení, jsou aktualizovány feromonové stopy. Aktualizace feromonových stop probíhá podle stejných pravidel, jako aktualizace feromonových stop sloužících k výběru aktivit. Platí tedy: τji∗ (t) ← (1 − ρ) · τji∗ (t) + m X ∆τjik (t), (4.2) k=1 kde ∆τjik (t) je dáno: ( ∆τjik = Q/C k (t) (i, j) ∈ Ak (t); 0 jinak. (4.3) Ak (t) obsahuje všechny dvojice aktivita-lokace, které mravenec k na své cestě po grafu instance vybral. 4.2.1 Experimentální výsledky Modifikovaný algoritmus s pravděpodobnostním výběrem lokací je porovnán s GRASP algoritmem a s původním Ant System algoritmem v tabulce 4.2. Parametry pro AS-LS a AS2-LS jsou zvoleny jako v [6], tedy α = 1, β = 1, ρ = 0.1, m = n, Q = 10 a τ0 = 10−6 . Pro AS-LS a AS2-LS je uváděn aritmetický průměr z pěti běhů algoritmu při maximálním počtu 10 000 iterací. Parametry pro GRASP byly zvoleny stejně jako v [17], tedy α = 0, 5 a β = 0, 1. Počet iterací pro GRASP byl zvolen tak, aby odpovídal počtu ohodnocení účelové funkce pro každou testovací instanci v AS-LS a AS2-LS (účelová funkce je v každé iteraci ohodnocena každým mravencem). V tabulce je pro GRASP opět uváděn aritmetický průměr z pěti běhů algoritmu. Aritmetický průměr z výsledků pěti běhů algoritmu je použit i při vyhodnocení všech dalších experimentů. S ohledem na fakt, že rozptyl výsledků je velmi malý a zpravidla se nevyskytují žádné vychýlené hodnoty, je aritmetický průměr udávající nejočekávanější hodnotu běhu algoritmu dostačující statistikou. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM Rou12 Lipa20a AS-LS 34 OPT GRASP AS2-LS cena cena %e cena %e cena %e 235528 235528,0 0,00 235528,0 0,00 235528,0 0,00 3683 3757,0 2,01 3763,4 2,18 1909876,4 5,05 1898351,6 4,41 1905976,6 4,83 1652,0 0,00 3752,8 1,90 Tai30a 1818146 Had12 1652 1652,0 0,00 1660,8 0,53 Nug20 2570 2626,8 2,21 2618,0 1,87 2595,2 0,98 Sko42 15812 16698 5,60 16367,6 3,51 16453,6 4,06 Els19 17212548 18738272,0 8,86 5426670 5453199,4 0,49 Bur26a ICP 339416 348213,2 2,59 18967692,4 10,20 18710390,4 8,70 5450047,0 0,43 544330,6 0,33 349286,4 2,91 350957,2 3,40 Tabulka 4.2: Srovnání jednotlivých algoritmů. OPT je optimální, nebo nejlepší známé řešení, AS-LS je původní Ant System algoritmus doplněný o lokální prohledávání, AS2-LS je modifikovaný Ant System algoritmus s pravděpodobnostním výběrem lokací a lokálním prohledáváním, % e udává odchylku od optima. Nejlepší výsledky jsou vyznačeny tučně. Porovnání rychlosti s jakou původní a modifikovaný Ant System algoritmus nachází řešení je na obrázku 4.2 zachycujícím průběh vývoje odchylky nejlepší nalezené ceny účelové funkce od optimální ceny v závislosti na počtu iterací. Průběh je určen jako průměr z pěti nezávislých běhů algoritmu pro problém nug20. Z průběhů vývoje odchylky nejlepší nalezené ceny řešení od optimální ceny je patrné, že u modifikovaného Ant System algoritmu dochází díky pravděpodobnostnímu výběru lokací k většímu prohledávání, což typicky vede k nalezení o něco lepšího řešení. O vývoji diverzity ceny vypovídá obrázek 4.3 zachycující průběh rozptylu (průměr čtverců odchylek od průměru) v závislosti na počtu iterací. Jedná se o rozptyl cen řešení všech mravenců v dané iteraci. Průběh je opět určen jako průměr z pěti nezávislých běhů algoritmu. Z porovnání vývoje rozptylu je velmi dobře vidět, že zatímco původní algoritmus velmi brzy stagnuje, modifikovaný algoritmus s pravděpodobnostním výběrem lokací má stále z čeho brát. Modifikovaný algoritmus s pravděpodobnostním výběrem lokací nalezl lepší řešení u většiny testovacích problémů. Tento modifikovaný algoritmus je použit jako základ pro další navrhované úpravy spočívající v použití více typů feromonu. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 35 AS−LS AS2−LS 7 6 5 %e 4 3 2 1 0 2000 4000 6000 8000 10000 Iterace Obrázek 4.2: Vývoj odchylky nejlepší nalezené ceny od optimální ceny řešení (problém nug20). Osa y v logaritmické stupnici. 18000 AS−LS AS2−LS 16000 14000 Rozptyl 12000 10000 8000 6000 4000 2000 0 0 2000 4000 6000 8000 10000 Iterace Obrázek 4.3: Vývoj rozptylu v závislosti na počtu iterací (problém nug20). KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 4.3 36 Použití více typů feromonů bez odpuzování Myšlenka použití více typů feromonů bez odpuzování je prostá. V inicializační části algoritmu jsou mravenci rozděleni do několika komunit, každá komunita využívá jiný typ feromonu. Mravenci reagují pouze na feromon ukládaný soukmenovci ze své komunity. Feromony uložené mravenci z jiných komunit zcela ignorují. V každé iteraci je z každé komunity vybrán nejúspěšnější jedinec (mravenec s nejnižší hodnotou účelové funkce své permutace) a jeho řešení (dovedené do lokálního optima prostřednictvím lokálního prohledávání) je zkombinováno s řešeními všech nejlepších jedinců z ostatních komunit (každý s každým). Ke kombinaci lokálně optimálních řešení je využit heuristický algoritmus navržený v předcházející kapitole. Je-li cena účelové funkce kombinace nižší než u obou zdrojových řešení, je toto řešení přiřazeno mravenci s nižší hodnotou účelové funkce a teprve poté je zavolána procedura aktualizace feromonových stop. Vylepšené nové řešení tedy ihned pozitivně ovlivní prohledávání v úspěšnější z obou komunit. Aktualizace feromonu probíhá podle klasického pravidla 2.21, upraveného tak, aby jednotlivé typy feromonů byly aktualizovány s ohledem na kvalitu řešení, jakou nacházejí mravenci disponující tímto feromonem. Pro pravděpodobností výběr lokací (který je rozebrán výše) je ponechán pouze jeden typ feromonu, jednoduchá heuristika tohoto výběru tak důležitá není a použití více typů feromonu by velký užitek nepřineslo. 4.3.1 Experimentální výsledky Výsledky modifikovaného Ant System algoritmu pro různé počty feromonů bez odpuzování jsou uvedeny v tabulce 4.3. Parametry byly znovu zvoleny jako v [6], tedy α = 1, β = 1, ρ = 0.1, m = n, Q = 10 a τ0 = 10−6 . Parametr výběru pro heuristický algoritmus kombinace lokálně optimálních řešení byl zvolen a = 0.3. V tabulce je opět uváděn aritmetický průměr z pěti běhů algoritmu při maximálním počtu 10 000 iterací. tučně. 0,00 350957,2 ICP 18710390,4 8,70 Els19 544330,6 16453,6 4,06 Sko42 Bur26a 2592,2 0,98 Nug20 3,40 0,33 0,00 1652,0 Had12 4,83 1905976,6 3752,8 1,90 235528,0 Tai30a Lipa20a Rou12 346842,5 5447373,8 19135656,0 16391,2 2593,6 1652,0 1899897,6 3754,6 235528,0 cena cena %e f=2 f=1 2,19 0,38 11,17 3,66 0,92 0,00 4,50 1,94 0,00 %e 3,74 0,64 0,02 4,65 1,85 0,00 %e 347072,0 5447917,8 2,26 0,39 18981189,6 10,28 16402,8 2586,4 1652,4 1902681,6 3751,0 235528,0 cena f=3 3,66 0,54 0,00 4,58 1,97 0,00 %e 346362,0 5445551,4 2,05 0,35 18962170,8 10,16 16390,4 2584,0 1652,0 1901349,6 3755,4 235528,0 cena f=5 KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 37 Tabulka 4.3: Výsledky modifikovaného Ant System algoritmu pro počty feromonů f = 1,2,3 a 5. % e udává odchylku od optima. Optimální výsledky jsou vyznačeny KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 38 Porovnání rychlosti, s jakou modifikovaný Ant System algoritmus s více typy feromonů bez odpuzování nachází řešení, je na obrázku 4.4, zachycujícím průběh vývoje odchylky nejlepší nalezené ceny účelové funkce od optimální ceny v závislosti na počtu iterací pro počet feromonů f = 1,2,3 a 5. Průběh je určen jako průměr z pěti nezávislých běhů algoritmu pro problém nug20. f=1 f=2 f=3 f=5 4 %e 3 2 1 0 2000 4000 6000 8000 10000 Iterace Obrázek 4.4: Vývoj odchylky nejlepší nalezené ceny od optimální ceny řešení pro různý počet feromonů bez odpuzování (problém nug20). Osa y v logaritmické stupnici. Z průběhů je patrné, že při vyšším počtu feromonů, doprovázeném častější aplikací kombinace lokálně optimálních řešení, dochází k rychlejšímu nalezení lepších řešení. Toto však nemusí platit pro všechny úlohy, jak ostatně ukazují výsledky v tabulce 4.3. K nalezení lepšího řešení kombinací zdrojových řešení nedochází jen na začátku běhu algoritmu, kdy jsou obě zdrojová řešení dost vzdálena od optima, ale i v okamžicích, kdy jsou obě zdrojová řešení optimu relativně blízko. Kombinace lokálně optimálních řešení je tedy využita v celém průběhu výpočtu algoritmu. Je-li kombinací nalezeno řešení lepší než byla obě zdrojová, je aktualizována permutace jednoho z mravenců a tím je pozitivně ovlivněno následné prohledávání a konstruování řešení jedné feromonové komunity. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 39 Na rozptyl cen řešení nemá použití více feromonů bez odpuzování žádný efekt. Průběhy rozptylu (přes všechny mravence a všechny typy feromonu) v závislosti na počtu iterací prakticky splývají a proto zde graf není uveden. Rovněž výsledky výpočtu vývoje rozptylů v rámci každé komunity se prakticky neliší, průběhy pro různé počty feromonů v grafu splývají a proto zde nejsou uvedeny. Z naměřených dat nelze jednoznačně určit nejvýhodnější počet feromonů. Vývoj odchylky od optima v závislosti na počtu feromonů má pro jednotlivé testovací instance kolísavý, nebo mírně klesající charakter. Rovněž průměrná odchylka od optima se s rostoucím počtem feromonů mírně snižuje. Nalezení o něco lepších řešení při vyšším počtu feromonů je zřejmě způsobeno častější aplikací kombinace lokálně optimálních řešení. Zatímco při dvou feromonech se v každé iteraci provede jen jedna kombinace, při pěti feromonech se těchto kombinací provádí deset. Dochází tak k většímu prohledávání, které může vést k nalezení lepších permutací. Další výhody spojené s větším počtem feromonů přináší strategie využití odpuzování, popsaná v následující podkapitole. 4.4 Použití více typů feromonů s odpuzováním Strategie využití vlastnosti odpuzování vychází z myšlenky, že mravenci by reagovali nejen na feromon své komunity, ale také na feromon ostatních komunit. Při konstrukci řešení by mravenec byl povzbuzován k tomu, aby dvojici lokace-aktivita, která je hojně využívána v řešení ostatních komunit, do svého řešení nezahrnul a pokusil se prohledávat jinde. To vše navíc podpořeno aktualizací feromonu každé feromonové komunity založenou na kvalitě nalezených řešení. Cílem je tedy vyvolat takovou situaci, kdy si jednotlivé komunity řešení rozdělí a nejlepší mravenci z každé komunity si budou prostřednictvím algoritmu kombinace lokálně optimálních řešení vyměňovat dobré části svých řešení. Použití více typů feromonů s odpuzováním vychází z použití více typů feromonů bez odpuzování. Hlavní rozdíl je v pravděpodobnostním výběru aktivit, kdy je pro každou hranu určena nová hodnota feromonové stopy pro mravence k podle pravidla: f γ X i τ = max{τ0 , τ − · τ }, f i=1,i6=t t kde t je typ feromonu mravence k (τ t je množství tohoto feromonu na hraně), γ je parametr určující míru odpuzování a f je počet druhů feromonu. Mravenec si tedy od svého feromonu odečte součet všech ostatních feromonů na hraně (zmenšený o γ/f KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 40 násobek, 0 < γ < 1) a pro nové hodnoty feromonových stop počítá pravděpodobnosti pro výběr další aktivity. Výše zmíněnou jednoduchou strategii odpuzování je samozřejmě možné nahradit i nějakým sofistikovanějším výpočtem, který by například bral v úvahu kvalitu řešení, kterou mravenci jednotlivých feromonových komunit generují. Tento přístup tedy zavádí do heuristického algoritmu mravenčích kolonií další parametr γ řídící míru odpuzování. Na základě experimentálních výsledků pro různé hodnoty míry odpuzování i počtu feromonů bude nalezena doporučená hodnota vedoucí k nejvyšší efektivitě algoritmu. Využití hodnoty τ0 představující spodní mez hodnot feromonových stop na hranách zabraňuje vyřazení hrany z případného prohledávání, ke kterému by došlo v případě nulové hodnoty feromonové stopy v čitateli pravidla pravděpodobnostního výběru. Aktualizace feromonu probíhá stejně jako v případě použití více typů feromonu bez odpuzování. Tedy prostřednictvím klasického pravidla 2.21 upraveného tak, aby jednotlivé typy feromonů byly aktualizovány s ohledem na kvalitu řešení, jakou nacházejí mravenci disponující tímto feromonem. 4.4.1 Experimentální výsledky V závěru podkapitoly o využití více typů feromonů bez odpuzování bylo stanoveno, že zvyšující se počet feromonů vede k nalezení o něco lepších řešení. Toto tvrzení však neplatilo pro všechny úlohy. Experimenty s odpuzováním také nedopadaly jednoznačně, proto byly provedeny pro tři i pět typů feromonu. Motivací je minimalizovat náhodný vliv a skutečně kvalitně stanovit doporučené hodnoty parametrů počtu feromonů a míry odpuzování. Výsledky modifikovaného Ant System algoritmu pro tři a pět feromonů s odpuzováním jsou uvedeny v tabulce 4.4. Ostatní parametry byly znovu zvoleny jako v [6], tedy α = 1, β = 1, ρ = 0.1, m = n, Q = 10 a τ0 = 10−6 . Parametr výběru pro heuristický algoritmus kombinace lokálně optimálních řešení byl zvolen a = 0.3. V tabulkách je opět uváděn aritmetický průměr z pěti běhů algoritmu při maximálním počtu 10 000 iterací. 0,00 výsledky jsou vyznačeny tučně. 5445140,4 0,34 345816,8 1,89 Bur26a ICP 16420,0 3,85 Sko42 9,91 2578,4 0,33 Nug20 18918839,2 1652,4 0,02 Had12 Els19 1899587,6 4,48 3713,6 0,83 0,00 Tai30a Lipa20a 235528,0 347850,8 2,49 ICP Rou12 5444427,2 0,33 Bur26a 9,94 18923552,8 16424,4 3,87 Sko42 Els19 2582,4 0,48 Nug20 0,00 1652,0 1895696,0 4,27 3715,0 0,87 235528,0 Had12 Tai30a Lipa20a Rou12 346391,6 5445515,4 18975090,8 16379,6 2578,8 1655,6 1895619,6 3741,4 235528,0 346936,4 5444312,2 19155161,6 16462,4 2584,8 1654,5 1886023,2 3724,0 235528,0 cena cena %e γ = 0.4 γ = 0.2 2,06 0,35 10,24 3,59 0,34 0,22 4,26 1,59 0,00 cena 346534,8 5443880,0 18572062,8 16470,4 2587,6 1652,8 1877591,6 3738,4 235528,0 347015,6 5440970,2 19097742,4 16442,8 2586,0 1654,0 1882402,4 3735,0 235528,0 f =5 2,22 0,33 11,29 4,11 0,58 0,16 3,73 1,11 0,00 f =3 %e γ = 0.6 2,10 0,32 7,90 4,16 0,68 0,05 3,27 1,50 0,00 2,24 0,26 10,95 3,99 0,62 0,12 3,53 1,41 0,00 %e 4,27 0,53 0,19 3,05 1,99 0,00 %e 0,00 2,39 0,28 3,65 0,34 0,15 347354,8 5443515,2 2,34 0,31 18729826,8 8,81 16389,6 2578,8 1654,4 1875480,4,6 3,15 3735 1,41 235528,0 347535,6 5441897,8 18638921,2 8,29 16486,8 2583,6 1655,2 1873657,6 3756,2 235528,0 cena γ = 0.8 KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 41 Tabulka 4.4: Výsledky modifikovaného Ant System algoritmu pro tři a pět feromonů s odpuzováním. γ je míra odpuzování, % e udává odchylku od optima. Optimální KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 42 gama = 0.2 gama = 0.4 gama = 0.6 gama = 0.8 %e 3 2 1 0.8 0.6 0 2000 4000 6000 8000 10000 Iterace Obrázek 4.5: Vývoj odchylky nejlepší nalezené ceny od optimální ceny řešení pro tři typy feromonů s mírou odpuzování γ (problém nug20). Osa y v logaritmické stupnici. gama = 0.2 gama = 0.4 gama = 0.6 gama = 0.8 3 %e 2 1 0.8 0.6 0.4 0 2000 4000 6000 8000 10000 Iterace Obrázek 4.6: Vývoj odchylky nejlepší nalezené ceny od optimální ceny řešení pro pět typů feromonů s mírou odpuzování γ (problém nug20). Osa y v logaritmické stupnici. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 43 Zavedení strategie použití více typů feromonů s odpuzováním vede k nalezení o něco lepších řešení, ale zavádí do algoritmu další parametr γ řídící míru odpuzování. Následuje stanovení doporučené hodnoty tohoto parametru. Na obrázcích 4.5 a 4.6 je porovnání rychlosti, s jakou modifikovaný Ant System algoritmus s třemi a pěti typy feromonů s odpuzováním nachází řešení. Průběh zachycuje vývoj odchylky nejlepší nalezené ceny účelové funkce od optimální ceny v závislosti na počtu iterací pro různé míry odpuzování γ. Průběh je určen jako průměr z pěti nezávislých běhů algoritmu pro problém nug20. Vychýlenou hodnotu pro míru odpuzování γ = 0.6 a pět typů feromonů je zřejmě třeba přičíst na vrub stochastické podstatě algoritmu. V obou případech se jako nejvýhodnější hodnota parametru míry odpuzování jeví γ = 0.2. Ale to zdaleka neplatí pro všechny úlohy. Pro výběr doporučené hodnoty parametru γ a počtu feromonů jsou uvedeny následující sloupcové grafy. Ty ukazují, jakým způsobem se pro jednotlivé úlohy vyvíjí odchylka od optima v závislosti na parametru míry odpuzování γ. Úlohy jsou rozděleny do dvou grafů podle velikostí odchylek. Jsou uvedeny grafy pro tři a pět typů feromonů. Úloha rou12 není v grafech uvedena, neboť algoritmus pro všechna nastavení parametrů vždy nalezl optimální řešení. Ve všech grafech jsou opět uvedeny průměrné odchylky od optima nejlepších nalezených cen z pěti nezávislých běhů algoritmu. Obrázek 4.7 zachycuje závislost odchylky od optima na míře odpuzování γ pro instance had12, nug20, lipa20a a bur26a pro tři typy feromonů. Obrázek 4.8 zachycuje závislost odchylky od optima na míře odpuzování γ pro stejné instance, ale pět typů feromonů. Obrázek 4.9 zachycuje závislost odchylky od optima na míře odpuzování γ pro instance els19, tai30a, ICP a sko42 pro tři typy feromonů. A obrázek 4.10 zachycuje stejnou závislost pro stejné úlohy jako 4.9, ale pro pět typů feromonů. Z grafů lze vysledovat, že většina úloh vykazuje pro tři i pět typů feromonů velmi podobný vývoj odchylky od optima v závislosti na míře odpuzování γ. U úlohy tai30a dochází s rostoucí mírou odpuzování k mírnému zlepšení odchylky, úlohy bur26a a ICP si drží více méně stabilní hodnotu odchylky, nezávislou na nastavení γ, úloha nug20 vykazuje nejlepší výsledky pro malou a velkou hodnotu γ, ostatní úlohy mají kolísavý průběh. Tyto typické vývoje by moli souviset s charakterem úlohy. Úlohy bur26a a ICP, které vykazují značnou necitlivost na nastavení γ, jsou instance ze „skutečného životaÿ, prvky v maticích nejsou rovnoměrně rozložené a matice toků obsahují mnoho nul. Pro potvrzení takové domněnky by však bylo potřeba mnohem více testovacích instancí. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 2 had12 nug20 lipa20a bur26a 1.5 %e 44 1 0.5 0 0.2 0.4 0.6 0.8 gama Obrázek 4.7: Odchylky od optima pro míry odpuzování γ = 0.2, 0.4, 0.6 a 0.8 pro instance had12, nug20, lipa20a a bur26a pro tři typy feromonů. 1.6 had12 nug20 lipa20a bur26a 1.4 1.2 %e 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 gama Obrázek 4.8: Odchylky od optima pro míry odpuzování γ = 0.2, 0.4, 0.6 a 0.8 pro instance had12, nug20, lipa20a a bur26a pro pět typů feromonů. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 45 els19 tai30a ICP sko42 12 10 %e 8 6 4 2 0 0.2 0.4 0.6 0.8 gama Obrázek 4.9: Odchylky od optima pro míry odpuzování γ = 0.2, 0.4, 0.6 a 0.8 pro instance els19, tai30a, ICP a sko42 pro tři typy feromonů. els19 tai30a ICP sko42 12 10 %e 8 6 4 2 0 0.2 0.4 0.6 0.8 gama Obrázek 4.10: Odchylky od optima pro míry odpuzování γ = 0.2, 0.4, 0.6 a 0.8 pro instance els19, tai30a, ICP a sko42 pro pět typů feromonů. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 46 S pěti feromony je dosaženo o něco lepších výsledků než se třemi. Potvrzuje se tedy domněnka o větším prohledávání vlivem častější aplikace kombinace lokálně optimálních řešení, jak bylo zmíněno v kapitole o strategii použití více feromonů bez odpuzování. Ale stanovení nejlepší hodnoty míry odpuzování γ není nijak jednoznačné. Statisticky je s pěti feromony dosaženo nejlepších výsledků pro míru odpuzování γ = 0.8 (nejnižší průměrná odchylka a nejčastější nalezení nejlepšího výsledku). Pro γ = 0.8 bylo nalezeno nejlepší řešení pro necelou polovinu úloh. Značnou výhodou je, že algoritmus je na nastavení γ poměrně necitlivý. V tabulce 4.5 je závěrečné porovnání výsledků GRASPu, původního Ant System algoritmu s lokálním prohledáváním (AS-LS) a modifikovaného Ant System algoritmu (Mod. AS-LS) s lokálním prohledáváním, pravděpodobnostním výběrem lokací a více typy feromonů s odpuzováním. Parametry pro modifikovaný Ant System algoritmus byly zvoleny jako výše stanovené doporučené hodnoty, tedy a = 0.3, f = 5 a γ = 0.8. Ostatní parametry byly zvoleny stejné jako v AS-LS, tedy α = 1, β = 1, ρ = 0.1, m = n, Q = 10 a τ0 = 10−6 . Parametry pro GRASP byly zvoleny α = 0, 5 a β = 0, 1 a počet iterací odpovídá počtu ohodnocení účelové funkce pro každou testovací instanci v AS-LS a Mod. AS-LS. V tabulce jsou uvedeny průměrné hodnoty z pěti běhů algoritmu. Rou12 Lipa20a OPT GRASP AS-LS Mod. AS-LS cena cena %e cena %e cena %e 235528 235528,0 0,00 235528,0 0,00 235528,0 0,00 3683 3757,0 2,01 3763,4 2,18 1909876,4 5,05 1898351,6 4,41 3735,0 1,41 Tai30a 1818146 Had12 1652 1652,0 0,00 1660,8 0,53 1654,4 0,15 Nug20 2570 2626,8 2,21 2618,0 1,87 2578,8 0,34 Sko42 15812 16698 5,60 16367,6 3,51 16389,6 3,65 Els19 17212548 18738272,0 8,86 5426670 5453199,4 0,49 Bur26a ICP 339416 348213,2 2,59 18967692,4 10,20 5450047,0 0,43 349286,4 2,91 1875480,4 3,15 18729826,8 8,81 5443515,2 0,31 347354,8 2,34 Tabulka 4.5: Srovnání jednotlivých algoritmů. OPT je optimální, nebo nejlepší známé řešení, AS-LS je původní Ant System algoritmus doplněný o lokální prohledávání, Mod. AS-LS je modifikovaný Ant System algoritmus s pravděpodobnostním výběrem lokací, lokálním prohledáváním a více typy feromonů s odpuzováním. % e udává odchylku od optima. Nejlepší výsledky jsou vyznačeny tučně. KAPITOLA 4. MODIFIKACE ALGORITMU ANT SYSTEM 47 Modifikovaný Ant System algoritmus s pravděpodobnostním výběrem lokací a více typy feromonů s odpuzováním nachází v porovnání s původním Ant System algoritmem lepší řešení všech úloh s výjimkou úlohy sko42. S výjimkou úlohy had12 nalezl modifikovaný Ant System algoritmus lepší řešení oproti GRASPu u všech úloh. GRASP je přitom považován za jeden z nejlépe fungujících algoritmů pro řešení QAP. Odchylku 0.15% u úlohy had12 lze s ohledem na relativní jednoduchost této úlohy vysvětlit stochastickou podstatou algoritmu. V tabulce je uveden průměrný výsledek z pěti běhů algoritmu, ve většině případů došlo k nalezení optimálního řešení, ale jednou modifikovaný Ant System algoritmus stagnoval v méně kvalitním lokálním minimu. V této kapitole byly postupně navrhovány modifikace Ant System algoritmu a jejich vliv na efektivitu byl ověřován na vybraných testovacích instancích. Byl navržen pravděpodobnostní výběr lokací, zavedeno více typů feromonu a aplikován algoritmus kombinace lokálně optimálních řešení. Strategie využití feromonu s odpuzováním se oproti strategii bez odpuzování ukázala přinášet o něco lepší řešení. Na základě výsledků testovacích instancí se podařilo nalézt doporučené hodnoty všech nově zavedených parametrů. V příští kapitole následuje závěrečné vyhodnocení práce. Kapitola 5 Závěr Tato diplomová práce rozebírá heuristický optimalizační algoritmus inspirovaný chováním skutečných biologických systémů. Algoritmus využívá kolonie umělých mravenců – kooperujících stochastických konstruktivních procedur, které spolu komunikují na základě feromonových stop ukládaných na graf problému. Algoritmus je aplikován na řešení NP-těžké úlohy Quadratic Assignment Problem a jsou rozebrány metody zlepšující jeho vlastnosti. Cílem práce bylo zvolit vhodnou strategii využití feromonu z hlediska okamžiku jeho depozice a způsobu vypařování a dále vylepšit tento algoritmus zavedením více typů feromonů. Quadratic Assignment Problem (QAP), zvolený jako referenční úloha pro posuzování vlivu navrhovaných modifikací na efektivitu algoritmu, je problém přiřazení množiny aktivit množině lokací, s danými cenami přesunu mezi lokacemi a danými toky mezi aktivitami. Všechny doposud používané metody optimalizace pomocí mravenčích kolonií aplikované na řešení QAP využívaly předseřazení lokací podle nějaké heuristiky. V této práci je navržena modifikace algoritmu s pravděpodobnostním výběrem lokací, která výrazným způsobem zlepšuje efektivitu algoritmu. V této modifikaci je zavedeno více typů feromonu a jsou diskutovány strategie využití vlastnosti odpuzování. Dále je navržen heuristický algoritmus, který kombinuje lokálně optimální řešení nejlepších mravenců z každé feromonové komunity. Všechny použité algoritmy a jejich navrhované modifikace byly naprogramovány v jazyce Java a vliv jednotlivých modifikací na efektivitu algoritmu byl ověřován na vybrané sadě testovacích instancí. Navrhované modifikace přinášejí do algoritmu nutnost nastavení dalších parametrů. Jedná se o parametr výběru při kombinaci lokálně optimálních řešení, počet feromonů a míru odpuzování feromonů. Na základě výsledků testovacích instancí se podařilo nalézt doporučené hodnoty všech těchto parametrů, které vedou k nej48 KAPITOLA 5. ZÁVĚR 49 lepší efektivitě algoritmu. Navíc je citlivost algoritmu na nastavení těchto parametrů velmi malá. Výsledný algoritmus se všemi modifikacemi je přibližně o 20 % pomalejší než původní algoritmus, ale u naprosté většiny testovacích úloh nalezne lepší řešení nejen oproti původnímu algoritmu, ale i oproti Greedy Randomized Adaptive Search Procedure (GRASP) algoritmu, který je považován za jeden z nejlépe fungujících postupů pro řešení QAP. Literatura [1] Eric Bonabeau, Marco Dorigo, Guy Theraulaz: Swarm Intelligence. From Natural to Artificial Systems.. Oxford University Press, 1999. [2] Thomas Stutzle, Marco Dorigo: ACO Algorithms for the Quadratic Assignment Problem.. In: Corne, D., Dorigo, M. and Glover, F. (Eds.): New Ideas in Optimization. Mc Graw-Hill, London (1999). [3] T. C. Koopmans, M. J. Beckmann: Assignment Problems and the Location of Economic Activities. Econometrica, 25, 1957, 53–76. [4] S. Sahni, T. Gonzales: P-complete Approximation Problems. Journal of the ACM, 23:555-565, 1976. [5] É. D. Taillard: Comparison of Iterative Searches for the Quadratic Assignment Problem. Location Science, 3:87-105, 1995. [6] V. Maniezzo, A. Colorni, M. Dorigo: The Ant System Applied to the Quadratic Assignment Problem. Technical Report IRIDIA/94-28, Universite Libre de Bruxelles, Belgium, 1994. [7] V. Maniezzo: Exact and Approximate Nondeterministic Tree-Search Procedures for the Quadratic Assignment Problem. Technical Report CSR 98-1, C.L. in Scienze dell’Informazione, Universita di Bologna, Sede di Cesena, Italy, 1998. [8] P.C. Gilmore: Optimal and Suboptimal Algorithms for the Quadratic Assignment Problem. Journal of the SIAM, 10:305-313, 1962. [9] E.T. Lawler: The Quadratic Assignment Problem. Management Science, 9:586-599, 1963. [10] R.E. Burkard: Quadratic Assignment Problems. European Journal of Operational Research, 15, 1984, 283-289. 50 LITERATURA 51 [11] T. Stutzle, H.H. Hoos: The MAX − MIN Ant System and Local Search for the Traveling Salesman Problem. In T. Baeck, Z. Michalewicz, and X. Yao, editors, Proceedings 1997 IEEE International Conference on Evolutionary Computation, ICEC’97, pages 309-314, 1997. [12] T. Stutzle, H.H. Hoos: Improvements on the Ant System: Introducing the MAX − MIN Ant System. In R.F. Albrecht G.D. Smith, N.C. Steele, editor, Artificial Neural Networks and Genetic Algorithms, pages 245-249. Springer Verlag, Wien New York, 1998. [13] M. Dorigo, V. Maniezzo, and A. Colorni: The Ant System: Optimization by a Colony of Cooperating Agents. IEEE Transactions on Systems, Man, and Cybernetics - Part B, 26(1):29-41, 1996. [14] T. Stutzle: Local Search Algorithms for Combinatorial Problems – Analysis, Improvements, and New Applications. PhD thesis, Intellectrics Group, Department of Computer Science, Darmstadt University of Technology, Germany, 1998. [15] É.D. Tailland and L.M. Gambardella: Adaptive Memories for the Quadratic Assignment Problem. Technical Report IDSIA-87-97, IDSIA, Lugano, Switzerland, 1997. [16] L.M. Gambardella, É.D. Tailland, and M. Dorigo: Ant Colonies for the QAP. Technical Report IDSIA-4-97, IDSIA, Lugano, Switzerland, 1997. [17] Y.Li, P.M. Pardalos and M.G.C. Resende: A greedy randomized adaptive search procedure fot the quadratic assignment problem. In P.M. Pardalos and H. Wolkowicz, editors, Quadratic Assignment and Related Problems, volume 16 of DIMACS Series on Discrete Mathematics and Theoretical Computer Science, pages 237-261. American Mathematical Society, 1994. [18] Renata Sotirov: Bundle Methods in Combinatorial Optimization.. Dissertation, Universität Klagenfurt, Fakultät für Wirtschaftswissenschaften und Infrmatik, 2003. [19] Jiří Kubalík: venců[online]. Optimalizační Poslední revize algoritmy 2005-05-01 inspirované [cit. chováním 2005-05-23]. z <http://labe.felk.cvut.cz/˜kubalik/kopr/kopr ants.pdf>. mra- Dostupné LITERATURA 52 [20] Jaroslav Nešetřil: Teorie grafů. SNTL Praha, 1979. [21] QAPLIB rary[online]. – Poslední A Quadratic revize Assignment 2006-03-22 [cit. Problem 2006-03-2]. Lib- Dostupné z <http://www.seas.upenn.edu/qaplib/>. [22] Jan Štecha: Optimální rozhodování a řízení. Skriptun FEL ČVUT, 2000. Příloha A – CD-ROM Přílohou diplomové práce je CD-ROM s následující adresářovou strukturou: • dp src/ jsou zdrojové kódy diplomové práce připravené ke zpracování systémem LATEX, včetně všech obrázků v .eps • dp pdf/ je celé znění diplomové práce (včetně originálního oficiálního zadání a podepsaného prohlášení) ve formátu .pdf • ant src/ jsou zdrojové kódy výsledného modifikovaného Ant System algoritmu • ant javadoc/ je vygenerovaná programátorská dokumentace pro modifikovaný Ant System • ant dist/ je spustitelný projekt (java -jar AntApp.jar [parametry] [cesta/]instance) • grasp src/ jsou zdrojové kódy GRASP algoritmu • grasp javadoc/ je vygenerovaná programátorská dokumentace pro GRASP • grasp dist/ je spustitelný projekt (java -jar GraspApp.jar [parametry] [cesta/]instance) • benchmarks/ je sada používaných testovacích instancí 53