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