České vysoké učení technické v Praze Fakulta dopravní - Horská 30. září 2015 Praha, Česká republika
Use of ant colony optimization for vehicle routing problem Použití metody mravenčích kolonií pro úlohy okružních jízd Adéla Burketovái
Abstract: Ant colony optimization is a metaheuristic method used for finding an approximate solution of complex combinatorial problems. Vehicle routing problem is an optimization problem which goal is to determine routes of vehicles that start and end in the same depot and visit a subset of customers in a specific sequence such that all customers are visited exactly once on some route and the objective function is minimized. The paper focuses on the use of the ant colony optimization for a vehicle routing problem and the design of the method for this particular optimization problem. Keywords: ant colony optimization, vehicle routing problem
1. Optimalizace pomocí mravenčích kolonií Optimalizace pomocí mravenčích kolonií spadá do metaheuristik a je jedním z nejúspěšnějších vzorů inteligentních rojových systémů. Přikládá se jí pozornost, jelikož její výsledky mají velkou úspěšnost. Vznik optimalizace pomocí mravenčích kolonií (ACO - Ant Colony Optimization) byl inspirován metaheuristickým algoritmem s názvem Ant System [1, 2, 3], který je založen na pozorování skutečných mravenců a jejich decentralizovaného samoorganizovaného chování, kdy bylo zjištěno, že tato metoda je vhodná pro řešení výpočetně časově náročných problémů a shrnuje poznatky ze studia společenstev různých druhů mravenců. Mravenci jako celek jsou totiž schopni úspěšně řešit problémy s nalezením nejkratší možné cesty k potravě pomocí feromonové stopy. Jedná se o pachovou stopu, kterou po sobě mravenci - agenti zanechávají a navádějí tak další mravence k nejlepšímu možnému zdroji potravy, tedy k hledání globálně optimálního řešení. Jelikož feromonová stopa navádí k nalezení nejkratší možné cesty mezi dvěma a více lokacemi (nejčastěji mezi mraveništěm a zdrojem potravy), je přirozené, že nejvíce je tato problematika zkoumána ve spojitosti s problémem obchodního cestujícího (TSP - Travelling Salesman Problem). 1.1. Chování mravenců Systém mravenčích kolonií vychází z přímého pozorování mravenců – agentů. Ti dokáží velmi rychle najít nejkratší cestu mezi mraveništěm a zdrojem potravy. Hledání minimální cesty je u mravenců založeno na nepřímé komunikaci zprostředkované prostředím, tzv. stigmergií. Stigmergie je komunikace mezi jednotlivými agenty pomocí změn v prostředí, ve kterém se pohybují. Změna prostředí (např. feromonu) způsobená jedním agentem, způsobuje změnu v chování i ostatních agentů, kteří na tuto feromonovou stopu narazí. i
Ing. Bc. Adéla Burketová (rozená Karásková), Horská 3, Praha 2, 128 03,
[email protected]
1
České vysoké učení technické v Praze Fakulta dopravní - Horská 30. září 2015 Praha, Česká republika
Po opuštění mraveniště mravenci – agenti nahodile prohledávají okolí mraveniště. Během své cesty na zem kladou chemické stopy (feromony). Jakmile naleznou zdroj potravy, vrátí se zpět stejnou cestou (popř. kratší cestou), a tím vznikne cesta s nejsilnější feromonovou stopou. Tuto stopu ostatní mravenci cítí a následují ji. Čím silnější je koncentrace feromonů, tím pravděpodobnější je, že ji budou sledovat. Během sledování stopy kladou i oni feromony, a tím se stopa stává silnější a silnější a pravděpodobnost použití této cesty ostatními mravenci se zvyšuje. Až význam stopy pomine, přestanou mravenci chodit zpátečním směrem. Není-li stopa udržována, feromony vyprchají a mravenci věnují své síly opět průzkumu. Kolonie mravenců takto stálým opakováním hledání, vyhodnocování a aktualizace postupně vylepšuje svou představu globálně optimálního řešení. Napodobování mravenčích kolonií tvoří základ pravděpodobnostní metaheuristické metody, která se využívá pro řešení komplexních problémů, které lze pojmenovat jako hledání optimální cesty v grafu [2, 4]. Mravenci jsou navzdory své jednoduchosti schopni velmi sofistikované, koordinované a efektivní činnosti jako celek. Poradí si s problémy, které dalece přesahují schopnosti jednotlivce. 1.2. Principy Mravenčí kolonie řeší problém náhodným procházením sestaveného grafu. Tento graf prochází umělí mravenci a je složen z uzlů – měst, zdrojů. Na rozdílech mezi umělými a skutečnými mravenci stojí principy metaheuristiky – optimalizace pomocí mravenčích kolonií. Umělí mravenci mají oproti skutečným mravencům paměť, nejsou úplně slepí a žijí v prostředí, kde je diskrétní čas [1]. Výběr cesty umělých mravenců je dán heuristickou informací, což je nějaká lokální znalost, která mravenci pomáhá rozhodnout se o dalším vhodném pokračování jeho cesty, i když toto rozhodnutí může být vhodné pouze při rozhledu v tomto vrcholu, ne globálně. Dále je výběr cesty ovlivněn množstvím feromonů v části grafu, kde se právě nachází. Rozlišujeme zde dva typy řešení. Jako kandidátní řešení je označována každá i hypotetická cesta. Dalším typem řešení je řešení přípustné, to je takové řešení, které splňuje předem stanovené omezující podmínky. Kandidátní řešení je užitečné nechat v případě, kdy nevychází přípustné řešení, protože nejsou splněny všechny omezující podmínky. Příkladem je např. požadavek, že má být vozidlo na cestě omezenou dobu, ale tento požadavek lze někdy překročit a řidiči zaplatit raději přesčas, než realizovat více rozvozových tras. Úplné cesty jsou po dokončení algoritmu vyhodnoceny objektivní funkcí a na základě té jsou aktualizovány nové feromonové stopy, které se buď zesílí, nebo mohou vyprchat. Kolonie mravenců takto stálým opakováním hledání, vyhodnocování a aktualizace postupně vylepšuje svou představu globálně optimálního řešení. Iterace jsou opakovány do té doby, dokud jsou splněny stanovené omezující podmínky, např. řešení je dostatečně dobré nebo po mnoha průchodech cyklem v řadě nedošlo ke změně představy o globálně optimální hodnotě. Schopnosti řešení úloh pomocí mravenčích kolonií zahrnují problémy statické i dynamické. Charakteristiky statického problému jsou dány během definice a dále se nemění. Příkladem je problém obchodního cestujícího. Naproti tomu dynamické problémy jsou definovány pro veličiny, jejichž hodnota se během řešení mění a optimalizační algoritmus musí být schopný se jim přizpůsobovat [5].
2
České vysoké učení technické v Praze Fakulta dopravní - Horská 30. září 2015 Praha, Česká republika
2. Definice okružní úlohy Úloha okružních jízd (VRP - Vehicle Routing Problem) je úlohou diskrétní optimalizace kombinatorického charakteru používaná v dopravě, distribučních problémech a logistice. Navrhl ji jako první Dantzig a Ramser v roce 1959 [6] a definoval ji na obecné dopravní síti S = (V,H), kde V je množina uzlů sítě a H množina hran spojujících tyto uzly. Uzel V0 je označován jako depo sítě a uzly V1,…,Vn představují místa, které je potřeba obsloužit. V obsluhovaných místech vzniká požadavek na přepravu určitého množství dopravních elementů - tato přeprava je uskutečňována vozidly, jejichž trasa začíná a končí v depu V0 a jejichž kapacita je shora omezená. Cílem je pak sestavit rozvozové trasy vozidel tak, aby byl požadavek každého místa odběru uspokojen jedinou obsluhou vozidla, a aby celkové náklady na přepravu byly minimální (z hlediska délky nebo času).
Obrázek 1: Schéma rozvozových tras
Ze zadání úlohy vyplývají dvě podmínky přípustnosti jejího řešení: každé obsluhované místo musí být v rámci některé trasy obslouženo právě jednou musí být respektována nepřekročitelná kapacita vozidla Vedle těchto základních podmínek mohou být na rozvozové trasy kladeny další podmínky přípustnosti řešení, jejichž zavedením se původní úloha okružních jízd modifikuje – jsou to, např.: Globální podmínky: množství elementů, které je možné rozvést v rámci jedné trasy omezení maximální doby trvání, resp. délky jedné trasy (nepřekročitelná pracovní doba řidičů vozidel, nutná doba odpočinku, zákazy jízd v určitých dnech apod.) omezení vyplývající z maximálně možného počtu obsloužených míst jednou trasou vzhledem k jejich požadavkům a kapacitám vozidel omezený vozový park, kde v případě, že je park heterogenní, se mohou jednotlivá vozidla lišit svou technologickou a kapacitní způsobilostí
3
České vysoké učení technické v Praze Fakulta dopravní - Horská 30. září 2015 Praha, Česká republika
Lokální podmínky: respektování časové dosažitelnosti obsluhovaných míst, tzn. uspokojení požadavku obsluhovaného místa v zadaném časovém intervalu respektování technologické dosažitelnosti obsluhovaných míst, tzn. požadavek na obsloužení zákazníka pouze vozidlem určitých parametrů limitovaná spotřeba pohonných hmot, přijatelné náklady vynaložené na obsluhu apod. 2.1. Rozvozové trasy Rozvozové trasy slouží k tomu, aby byla zajištěna rovnováha mezi rentabilitou a úrovní zákaznického servisu. Dobré plány musí vycházet nejen z informace o kapacitě vozidla, ale musí také zohledňovat další parametry jako například časová okna (čas otevření/zavření), překládky a technologická omezení. K optimalizaci těchto rozvozových plánů jsou využívány pokročilé algoritmy, díky kterým lze rychleji tvořit několik variant tras. Cílem je snížit distribuční náklady a počet najetých kilometrů, více využívat zdroje, uspokojit zákazníkovy požadavky, rozhodnout se dle skutečných nákladů, stanovit normy řidičům, snížit čas pro trasování a stanovit i mimosezónní trasování.
3. Použití optimalizace mravenčích kolonií na řešení úlohy rozvozových tras 3.1. Vytvoření trasy Pomocí mravenčích kolonií simuluje mravenec vozidlo a jeho trasu, která je tvořena postupným výběrem zákazníků, dokud vozidlo neobslouží všechny zákazníky. Počátek každé trasy je v depu a před začátkem není trasa nijak stanovena. Mravenec si vybírá, který další vrchol navštíví dle dostupného seznamu zákazníků a dle volné kapacity vozidla. Tato data jsou aktualizována vždy před výběrem další obsloužené lokace. Mravenec se musí vrátit do depa, když je naplněna omezující podmínka kapacity vozidla, nebo pokud již obsloužil všechny zákazníky (vrcholy grafu). Celková vzdálenost L se spočítá jako hodnota účelové funkce celkové trasy umělého mravence. Při použití optimalizace pomocích mravenčích kolonií musí mravenec projít takovou trasu pro vozidlo, aby obsloužil všechny zákazníky. Pro vybrání následujícího zákazníka j použije mravenec tento vzorec: 𝑗 = 𝑎𝑟𝑔 𝑚𝑎𝑥 {(𝜏𝑖𝑢 )(𝜂𝑖𝑢 )𝛽 } 𝑝𝑟𝑜 𝑢 ∉ 𝑀𝑘 , 𝑘𝑑𝑦ž 𝑞 ≤ 𝑞0 𝑗𝑖𝑛𝑎𝑘𝑆
(1)
𝜏𝑖𝑢 je rovno množství feromonů na cestě mezi aktuální polohou i a možnou polohou u 𝜂𝑖𝑢 je definováno jako převrácená hodnota vzdálenosti mezi dvěma obsluhovanými zákazníky 𝛽 určuje důležitost vzdálenosti v porovnání s množstvím feromonů ve vybraném algoritmu (𝛽>0) Vrcholy, které už mravenec navštívil, jsou uloženy v mravencově pracovní paměti 𝑀𝑘 a už nejsou nadále brány v úvahu při dalším výběru. Hodnota 𝑞 je náhodná proměnná s rovnoměrným rozdělením z intervalu <0, 1>, 𝑞0 je parametr. Při každém rozhodování mravenec vybírá hranu s nejvyšší hodnotou podle vzorce (1), pokud je menší než 𝑞0 . 4
České vysoké učení technické v Praze Fakulta dopravní - Horská 30. září 2015 Praha, Česká republika
V opačném případě vybere mravenec následujícího zákazníka jako náhodnou proměnnou 𝑆 na základě pravděpodobnostního rozdělení 𝑝𝑖𝑗 , které upřednostňuje kratší trasu s vysokým stupněm intenzity feromonů: 𝑝𝑖𝑗 = ∑
(𝜏𝑖𝑢 )(𝜂𝑖𝑢 )𝛽
𝛽 𝑢∉𝑀𝑘 (𝜏𝑖𝑢 )(𝜂𝑖𝑢 )
jestliže 𝑗 ∉ 𝑀𝑘 , jinak bude 0
(2)
Dle vzorců (1) a (2) by měl každý mravenec buď následovat nejvýhodnější cestu, nebo by měl zvolit cestu náhodnou, a to na základě pravděpodobnostního rozdělení – podle vzdálenosti a množství feromonů. V případě, že už je naplněna kapacita vozidla, se mravenec otočí zpět do depa, aniž by začal vybírat dalšího zákazníka. Proces výběru pokračuje, dokud není každý zákazník obsloužen. 3.2. Aktualizace trasy Trasy je třeba v budoucnu zlepšovat a optimalizovat, aby byly co nejefektivnější. Právě proto musí být i feromonové stopy aktualizovány. Tato aktualizace je klíčová schopnost optimalizace pomocí mravenčích kolonií a pomáhá zajistit zlepšení následujících řešení. Zahrnuje lokální změny tras u jednotlivých vytvořených řešení a globální aktualizace těch nejlepších řešení poté, co byl vytvořen předem stanovený počet řešení m. Lokální aktualizace je provedena zredukováním množství feromonů na všech navštívených hranách s cílem simulovat přírodní vypařování feromonů. Tento proces zajistí, že ani jedna z cest nebude příliš dominantní. Aktualizace je provedena podle následující rovnice: 𝜏𝑖𝑗 = (1 − 𝛼)𝜏𝑖𝑗 + (𝛼)𝜏0
(3)
kde 𝛼 je parametr, který kontroluje rychlost vypařování feromonů a 𝜏0 je rovno počáteční hodnotě feromonů přiřazené všem hranám v grafu G. Poté, co předem stanovený počet mravenců (vozidel) m vytvoří přípustnou trasu, přijde na řadu globální aktualizace. Ta je provedena přidáním feromonů na všechny hrany zahrnuté do nejlepší cesty nalezené jedním z m mravenců. Globální aktualizace tras je zajištěna následujícím vztahem: 𝜏𝑖𝑗 = (1 − 𝛼)𝜏𝑖𝑗 + 𝛼(𝐿)−1
(4)
Tato aktualizace podporuje využívání kratších cest a zvyšuje pravděpodobnost, že budoucí cesty povedou přes hrany, které jsou zahrnuty v nejlepších řešeních. Tento proces je opakován pro předem určený počet opakování a právě nejlepší řešení ze všech tvoří výstup a mělo by představovat dobrou aproximaci optimálního řešení problému.
5
České vysoké učení technické v Praze Fakulta dopravní - Horská 30. září 2015 Praha, Česká republika
4. Závěr Úloha okružních jízd patří do skupiny problémů, pro něž v rozumném čase neexistuje optimální řešení. Z toho důvodu se hledají metody, které poskytují řešení alespoň suboptimální ve výrazně kratším časovém úseku. Takové řešení nám nabízejí metaheuristiky, do nichž patří i mravenčí kolonie. Mravenčí kolonie představují poměrně novou metodu diskrétní optimalizace inspirovanou chováním skutečných biologických systémů. Skuteční mravenci si jsou schopni mezi sebou předávat informace týkající se zdrojů potravy použitím pachových esencí - feromonů. Vylučováním feromonů si značí cestu v závislosti na její délce a kvalitě nalezeného zdroje potravy. Ostatní mravenci jsou tak schopni nalézt feromonovou stopu a následovat ji. Aplikací těchto jednoduchých pravidel vzniká komplexní chování celku schopné řešit složité optimalizační úlohy. Umělé mravenčí kolonie simulují skutečné mravence při jejich prohledávání prostředí. Hodnoty účelové funkce odpovídají kvalitě potravních zdrojů a adaptivní paměť odpovídá feromonovým stopám, navíc jsou umělé kolonie vybaveny lokální heuristickou funkcí, která zajišťuje, že hledání probíhá pouze na množině přípustných řešení. Ve třetí části tohoto článku je představeno použití optimalizace mravenčích kolonií na řešení úlohy rozvozových tras
Literatura [1]
[2] [3] [4] [5] [6]
M. Dorigo, V. Maniezzo, and A. Colorni: Ant System: Optimization by a Colony of Cooperating Agents. IEEE Transactions on Systems, Man and Cybernetics, Part B (Cybernetics), vol. 26, no. 1, pp. 29–41, Feb. 1996. M. Dorigo and T. Stützle: Ant Colony Optimization. Cambridge, MA: MIT Press, 2004. E. Bonabeau, M. Dorigo, G. Theraulaz, Swarm Intelligence: From Natural to Artificial Systems. New York, NY, USA: Oxford University Press, Inc., 1999. A. Abraham, H. Guo, H. Liu: Swarm Intelligence: Foundations, Perspectives and Applications. In: Swarm Intelligent Systems, M. Mec: Grafická interaktivní implementace algoritmu Ant Colony Optimization. Masarykova Univerzita, Fakulta informatiky, bakalářská práce, Brno. 2008. G. B. Dantzig, J. H. Ramser: The Truck Dispatching Problem, Management Science 6 (1), pp 80–91, October 1959.
Zkrácené recenzní řízení provedl: doc. Ing. Ivan Nagy, Ph.D.
6