Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1) Pavel Burian Ústav počítačové a řídicí techniky – Vysoká škola chemicko-technologická v Praze, Technická 5, 166 28 Praha 6, tel: 220 443 773, e-mail:
[email protected]
Abstrakt: Hmyzí roj, včelí kolona, mravenčí kolona, mraveniště pracuje bez potřeby nějakého dohlížení, jejich společná práce je samoorganizující se a koordinace činnosti jednotlivců-agentů vzniká na základě různých interakcí mezi jednotlivci-agenty v koloně a mezi prostředím. I když tyto interakce mohou být poměrně jednoduché jejich výsledné působení může vést k řešení poměrně obtížných problémů. Např. problému obchodního cestujícího (Traveling Salesperson Problem), problému rozvrhování úloh na dílně, provozu (Job Shop Scheduling Problem), problémů řízení výroby, problémů z oblasti umělé inteligence. Takovéto chování může být nazváno „inteligencí roje, hejna, kolony“. Změny a poruchy výrobního provozu vyžadují rychlou reakci a snadno zaveditelné a modifikovatelné systémy řízení, což může být pro systémy, jejichž vzorem chování jsou uvedené kolony, poměrně jednoduché. Klíčová slova: včelí a mravenčí kolona, feromony, tanec včel, samoorganizovatelnost, problém obchodního cestujícího, rozvrhování úloh na dílně, provozu, řízení a ovládání výroby.
1. Rozbor řešení problému Hmyzí roj, roj včel, včelí kolona, mravenčí kolona, mraveniště pracuje bez potřeby nějakého dohlížení, jejich společná práce je samoorganizující se a koordinace činnosti jednotlivců-agentů vzniká na základě různých interakcí mezi jednotlivciagenty v koloně a mezi prostředím. I když tyto interakce mohou být poměrně jednoduché jejich výsledné působení může vést k řešení poměrně obtížných problémů. Např. problému obchodního cestujícího (Traveling Salesperson Problem), problému rozvrhování úloh na dílně, provozu (Job Shop Scheduling Problem), problémů řízení výroby, problémů z oblasti umělé inteligence. Takovéto chování může být nazváno „inteligencí roje, hejna, kolony“. Výhody „inteligence včelího roje, mravenčí kolony, včelí kolony“ spočívají především v: flexibilitě - kolona se může rychle adaptovat na měnící se prostředí; robustnosti – kolona provede své úkoly, i když někteří jedinci zahynou, zkolabují; samoorganizovatelnosti – kolona potřebuje minium dohlížení (Supervision) nebo Top-down řízení tj. řízení ze shora dolu. Co nutí výrobce k hledání nových forem řízení výroby ? V souvislosti s globalizací trhu a rychlému zkracování životního cyklu výrobků, výrobní společnosti zkouší zvýšit produktivitu řízení podniku, vedení podniku lepším využitím strojů a zkrácením výrobního cyklu. Globální trh a výrobní prostředí nutí výrobce ke snižování ceny výrobku, ke zkracování životního cyklu výrobku a ke zvyšování výrobní rozmanitosti. Vzájemné konfliktní cíle udržování nízké úrovně skladových zásob, snížování cen a rychlé odezvy na požadavky zákazníků a udržení trvalé konkurenceschopnosti volá po efektivních rozvrhových algoritmech 42
SYSTÉMOVÁ INTEGRACE 3/2007
Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1)
pro úroveň výrobní dílny, výrobního provozu. Rozvrhování výroby na dílně je důležitá úloha při zlepšování využitelnosti strojů a snížení doby výrobního cyklu. Avšak vytváření rozvrhu výroby na dílně je vlastní být obecně obtížný (Hard) NPhard Problem (Nondeterministic Polynomial-Time Hard – viz odst. 2.3). Změny a poruchy výrobního provozu vyžadují rychlou reakci a snadno zaveditelné a modifikovatelné systémy řízení. Architektury agentů potřebují, aby agenty samy o sobě z hlediska jejich organizace adaptace dynamických změn okolí byly schopny řízení bez Top-down (shora-dolů) řízení operátorem [Parunak M., 1997]. Popř. jedná-li se o programové agenty bez řízení programátorem.
2. Charakteristika vybraných úloh a problémů řešitelných pomocí chování agentových kolon 2.1
Definice problému obchodního cestujícího
Jak je definován problém, úloha Obchodního cestujícího ? Je dána množina měst {M1,…,Mn}. Pro každou dvojici měst Mi, Mj je dána přímá vzdálenost d(Mi, Mj) , měst Mi, Mj. Trasa (Tour) je posloupnost měst Mπ(1), Mπ(2), …, Mπ(n), kde π je permutace čísel 1,…, n. Délka této trasy je n −1
∑ d (M π i =1
(i )
, M π (i +1) ) + d ( M π ( n ) , M π (1) ).
(2.1)
Optimalizační verze: Najděte trasu nejmenší možné délky. Rozhodovací verze: Je dáno navíc číslo K. Rozhodněte, zda existuje trasa délky menší nebo rovné číslu K. Jak jsme viděli na předchozím příkladu, optimalizační úloha hledá řešení, které je „nejlepší“, kdežto u rozhodovací verze je součástí instance ještě číslo K a otázka zní, zda existuje řešení, jež má hodnotu „ne horší“ než je dané číslo K.
2.2
Rozvrhování úloh na dílně, provozu (Job Shop Scheduling Problem)
Čím je charakterizováno rozvrhování úloh na dílně, provozu ? Rozvrhovací problémy na dílně mohou být charakterizovány množinou úloh a každá úloha realizována jednou nebo několika operacemi. Operace úloh jsou prováděny ve specifickém pořadí na specifických strojích. Cíl rozvrhování je určit rozvrhy úlohy (Job) tak, aby minimalizovaly nebo maximalizovaly měřitelnou výkonnost. Pojem měřitelná výkonnost zahrnuje využití stroje, rychlost životního cyklu výrobku, výrobní kapacitu a úroveň zásob. Zlepšení využití zdrojů ve výrobním podniku vede ke zvýšení výrobní kapacity a ke snížení výrobních nákladů. Rozvrhování úloh na dílně znamená konkurenční prostorové rozdělení, umístění, alokaci, přiřazení, rozdělení zdrojů, které optimalizuje příslušnou účelovou funkci. SYSTÉMOVÁ INTEGRACE 3/2007
43
Pavel Burian
Rozvrhovací problém se obecně skládá z konečné množiny J obsahující n úloh, úkolů (jobs), které mají být realizovány, provedeny na konečné množině M a to na množině m strojů. Každá úloha Ji musí být realizována na stroji a skládá se z řetězce, z posloupnosti mi operací Oi1, Oi2,…,Oim, které mají být rozvrženy v předurčeném daném řádu. Oij je j-tá operace o, Ji –té úlohy, která má být realizována na stroji Mx v rámci procesní časové periody τij bez přerušení. Každý stroj může zpracovávat pouze jednu úlohu a každá úloha (Job) může být v daném čase zpracovávána pouze na jednom stroji. Nejdelší doba trvání, v které jsou všechny úlohy (Jobs) realizovány se nazývá Pracovní rozpětí (Makespan) Cmax. Společnou reprezentací pro problematiku dílenského rozvrhování (Job Shop Scheduling) je disjunktní graf. V grafu uzel reprezentuje operaci. Graf obsahuje dva dodatečné uzly známé jako zdrojový uzel a ukládající, akumulující (Sink) uzel pro reprezentaci počáteční a koncové operace. Termín sink (angl. Sink) se též používá v odborné literatuře zabývající se stavbou rostlin a znamená část rostliny, která importuje asimiláty z místa jejich vzniku (ze zdroje). Cílem transportu látek v rostlině je místo zvané sink (též úložní prostor), tj. orgán (místo), kde dochází při růstu k jejich spotřebě nebo při tvoření rezerv k jejich akumulaci. Sink je obecné označení pro část rostliny, kde jsou importované asimiláty využívány k růstu (meristematické zóny) nebo ukládány do zásoby (kořeny, oddenky, hlízy, cibule, plody). Pozitivní váha každého uzlu odpovídá procesnímu času příslušné odpovídající operace. Startovací a ukončovací časy zdrojového a ukončovacího uzlu reprezentují startovací a ukončovací časy rozvrhovacího problému na dílně. Zdrojový uzel je spojen s počáteční operací každé úlohy, zatímco konečná operace každé úlohy je spojena s koncovým uzlem typu sink. Množina přímých, konjuktivních spojovacích oblouků (Conjunctive Arcs), hran grafu se používá pro reprezentaci prioritních omezujících podmínek pro každou úlohu. Množina disjunktních spojovacích oblouků (Disjunctive Arcs), hran grafu se používá pro reprezentaci kapacitního omezení (Capacity Constraints), zajišťující, že žádné dvě operace prováděné, realizované na tomtéž stroji nejsou prováděny simultánně. Příklad grafu reprezentace operací je uveden dle [Chong C. S. C., 2006] na obr. 2.1.
44
SYSTÉMOVÁ INTEGRACE 3/2007
Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1)
3
O1 2
0
0 Zdroj ( Source )
O2
2
O1
O1
3
2
O2
O2
5
O31
Legenda:
5
6
O3
0
* 3
Nektar ( Sink )
O3
Disjunctivní hrany jsou tečkované linie. Konjunktivní hrany jsou plnné linie.
j-tá operace i-té úlohy. Oij τij Procesní čas operace Oij. Obr. 2. 1. Příklad reprezentace operací dle [Chong C. S. C., 2006]. Množina operací každého stroje je např. dána: M1 = {O11, O22, O32}, M2 = {O12, O23, O33} a M3 = {O13, O21, O31}. Řešení rozvrhovacího problému úloh na dílně můžeme obdržet přímo z disjunktního grafu vzhledem k permutacím strojů (např. z obousměrných hran vytvoříme jednosměrné hrany v grafu). Pracovní rozpětí (Makespan) řešení je délka nejdelší přímé (Directed) cesty v grafu. Délka cesty je dána součtem procesních časů operací na této cestě.
2.3
Definice NP úplného problému
NP-úloha. Třída NP je třída rozhodovacích úloh, pro něž existuje nedeterministický algoritmus pracující v polynomiální čase. Nedeterministický algoritmus Nedeterministická fáze. Algoritmus náhodně vygeneruje řetězec symbolů s a napíše jej na předem dané místo v paměti. Deterministická fáze. Deterministický algoritmus má na vstupu jak instanci úlohy, tak řetězec s. Na základě vstupu po konečném počtu kroků dá odpověď „ano“ nebo „ne“.
SYSTÉMOVÁ INTEGRACE 3/2007
45
Pavel Burian
Počet kroků potřebný k práci nedeterministického algoritmu je součet počtu kroků obou fází. To je počet kroků potřebných k vygenerování řetězce s plus počet kroků deterministického algoritmu deterministické fáze. Ostatně i nejznámější NP-úplná úloha, úloha obchodního cestujícího, silně připomíná popis úloh, se kterými se setkáme třeba při plánování a rozvrhování výroby. Právě úlohy, které jsou NP-úplné nebo ještě složitější, lze považovat za ty, o nichž hovoří ta z definic umělé inteligence UI, která hlavní úkol UI vidí v hledání algoritmů pro řešení úloh, ve kterých se až dosud lépe osvědčovali lidé. U složitých či v plné obecnosti neřešitelných úloh se zdá, že jejich uspokojivé řešení pro nějakou konkrétní situaci se neobejde bez účasti člověka nebo inteligentního agenta, který má v dané specifické oblasti bohaté zkušenosti.
3. Chování mravenčích kolon a systém shánění potravinových zdrojů s využitím feromonového principu 3.1
Mravenci, reaktivnost a feromony
Každý mravenec, který vyráží pro potravu má stejný základní program skládající se z pěti pravidel, která se aktivují kdykoliv jsou splněny jejich podmínky [Steels L., 1991]. 1. Vyhnutí se překážkám. Cokoliv mravenec dělá není bezcílným narážením proti zdi. 2. Cestují, putují náhodně v obecném směru nějakého blízkého feromonu (vůně, zápach, který mnoho hmyzu generuje a značkuje tak cestu). Jestliže nepociťuje nějaké feromony, mravenec realizuje Brownův pohyb vybíraje každý krok rovnoměrně rozložený v možných směrech. Jestliže ucítí feromony, mravenec nepokračuje v náhodném putování, ale výběr směru putování váže k favorizovanému směru vůně. 3. Jestliže mravenec drží potravu, vypouští feromony konstantní rychlostí podél své cesty. 4. Jestliže mravenec najde potravu avšak žádnou nedrží, zvedne ji. 5. Jestliže mravenec najde mraveniště a nese potravu, pustí ji. Mravenci užívají feromony (Feromon je chemická látka, kterou vylučují mravenci do prostředí.), aby sloužily jako rádce pro jejich následovníky pro optimalizaci získávání kořisti. Zatímco se mravenec vrací od zdroje potravy, vylučuje feromony do prostředí a indikuje směr výskytu potravinového zdroje. Když nějaký mravenec hledající potravu narazí na značené feromony, je váben feromonovou stopou. neboť pravděpodobnost najít v tomto směru potravu je vysoká. Zatímco více a více mravenců objevuje potravinový zdroj síla feromonové stopy mezi zdrojem potravy a mraveništěm se zvyšuje. Jak se síla zvyšuje, atraktivnost okolí stoupá, více mravenců se dostává do stopy. Když je zdroj potravy vyčerpán, žádné nové feromony nejsou vylučovány do prostředí.
3.2
Mravenci, plánování cest, úvahy o třídění
Mravenci konstruují sítě cest, které spojují jejich hnízda, mraveniště s použitelnými zdroji potravy. Matematicky tyto sítě formují stromy s minimální kostrou (Minimum 46
SYSTÉMOVÁ INTEGRACE 3/2007
Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1)
Spanning Trees) [Goss S., 1989] minimalizující energii mravenců strávenou při přinášení potravy do mraveniště, hnízda. Teorie grafů definuje velký počet algoritmů pro výpočet stromů s minimální kostrou, rozpětím (Spanning), avšak mravenci nepotřebují konvenční algoritmy. Tato globální optimální struktura vychází z jednoduchých akcí individuelních agentů. Brownův pohyb eventuelně přináší mravenci volné rozhodnutí v každém bodě jeho plánu. Dokud vzdálenost mezi potravou a mraveništěm je malá dokonce srovnatelná s dosahem mravence, putující mravenec bude náhodně nacházet potravu, je-li tam nějaká a mravenec nesoucí potravu nakonec (Eventually) najde opět mraveniště. Ve většině případů je potrava pouze v některých směrech od mraveniště a mravenci, kteří putují ve špatném směru budou hynout hlady nebo budou snědeni dravci, ale dokud je potrava dost blízko k mraveništi a dokud je dost mravenců obhlížejících terén, potrava bude nacházena. Protože pouze mravenci nesoucí potravu vypouští feromony a protože mravenci mohou nést potravu pouze po jejím vybírání z potravinového zdroje, všechny cesty označené feromony vedou k potravinovému zdroji. Protože se feromony vypařují a k vyčerpaným potravinovým zdrojům mizí, někteří mravenci se nikdy nedostanou zpět. Mravenci vrší různé druhy věcí a to larvy, vajíčka, zámotky a potravu. Mravenčí kolona tyto entity třídí podle druhu. Např. když se z vajíčka vylíhne larva, nikdy nezůstane s jinými vajíčky, ale přemístí se do oblasti pro larvy. Existuje řada algoritmů pro třídění vyvinutých počítačovými odborníky, avšak žádný mravenec je nerealizuje. Individuelní algoritmus mravence poskytuje v chování jistou systémovou úroveň třídění podobnou chování při „cestovních“ plánovacích problémech [Deneubourg J., L., 1991]: 1. Putuj náhodně v okolí, podél mraveniště. 2. Vnímej blízké objekty a udržuj v paměti (asi deset kroků) co jsi viděl. 3. Jestliže nějaký mravenec nic nenese, potká-li nějaký objekt, rozhodne stochasticky, jestli nebo nikoli tento objekt zvednout, sebrat. Pravděpodobnost sebrání objektu se zvyšuje, jestliže se mravenec dříve setkal s podobnými objekty. Modelově pravděpodobnost sebrání objektu je +
+
p(sebrání) = (k /(k + f))
2
kde f je zlomek poloh v krátkodobé paměti zapamatovaných objektů jako objekt + + vnímaný a k je konstanta. Stane-li se f menší v porovnání s k , pravděpodobnost, že mravenec sebere objekt se blíží jistotě. 4. Jestliže mravenec něco nese, v každém časovém kroku rozhoduje stochasticky zda či nikoli objekt pustí. Pravděpodobnost puštění neseného objektu se zvyšuje, jestliže se mravenec dříve setkal s podobnými objekty v prostředí. p(pouštění) = (f/(k- + f))2 kde f je zlomek poloh v krátkodobé paměti zapamatovaných objektů téhož typu jako objekty nesené a k je konstanta pouštění. SYSTÉMOVÁ INTEGRACE 3/2007
47
Pavel Burian
Brownův pohyb přináší putujícím mravencům, možnost vyzkoušení všech objektů, položek v mraveništi. Náhodné rozptýlení odlišných položek v mraveništi může poskytovat lokální koncentrace podobných položek, které stimulují mravence, aby pustili jiné podobné položky. Jak koncentrace vzrůstá, stará se o udržení současných a vábení nových členů. Stochastická povaha sbírání a pouštění umožňuje různým koncentracím položek splynout i když mravenci příležitostně seberou položky z existující koncentrace a transportují je k jiným. Konstanta + pouštění objektů k- musí být větší než konstanta k jinak shluky budou rychleji + rozloženy než formovány. Typicky k má hodnotu okolo 1 a k okolo 3. Délka, velikost krátkodobé (short-term) paměti a délka kroku mravence v každé časové periodě určí radius uvnitř kterého mravenec porovná objekty. Jestliže paměť je příliš dlouhá mravenec vidí celé mraveniště jako jednu oblast a třídění nebude vykonávat. Shlukovací techniky též na základě chování mravenců popisuje [Handl J., 2006].
3.3
Mravenčí kolona
V systému mravenčí kolony hraje mravenec čtyři úlohy. Zaprvé je řešitelem problému: mravenec musí nalézt potravu a přinášet ji do mraveniště. Zadruhé je pozorovatelem informací: pozoruje přítomnost potravních feromonů v prostředí. Zatřetí je rovněž tvůrcem informací: poté co nalezne potravu, inicializuje rozšiřování potravního feromonu. A začtvrté je i rozšiřovatelem informací: zatímco se vrací do mraveniště, vypouští stále „potravní“ feromon do prostředí. Mravenci konstruují sítě cest, které spojují jejich hnízda, mraveniště s použitelnými zdroji potravy. Matematicky tyto sítě formují stromy s minimální kostrou (Minimum Spanning Trees) [Goss S., 1989] minimalizující energii mravenců strávenou při přinášení potravy do mraveniště, hnízda. Teorie grafů definuje velký počet algoritmů pro výpočet stromů s minimální kostrou, rozpětím (Spanning), avšak mravenci nepotřebují konvenční algoritmy.
4. Příklady řešení úloh a ovládání průmyslových procesů založených na chování kolon využívajících feromonového principu 4.1
Řešení problému obchodního cestujícího
Umělá mravenčí kolona - Ant Colony System (ACS) má schopnost řešení problému obchodního cestujícího. Agenty (mravenci) umělé kolony jsou schopny generovat následně zkracující se vykonatelné pravděpodobnostní cesty pomocí informací akumulovaných ve formě feromonových stop umístěných podél hran grafu popisujícího problém obchodního cestujícího [Doringo M., 1997]. Umělý mravenec je agent, který se pohybuje z města do města grafem obchodního cestujícího. Problém obchodního cestujícího je problém najít nejkratší spojenou cestu, která navštíví všechna města v dané množině. Agent vybírá město pohybujíc se dle 48
SYSTÉMOVÁ INTEGRACE 3/2007
Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1)
pravděpodobnostní funkce závisející na akumulovaných stopách feromonů podél hran grafu a heuristické hodnotě, která je funkcí délky hrany grafu. Agent pravděpodobnostně preferuje města, která spojují hrany s větším množstvím feromonových stop a které jsou nedaleko, nablízku. Na počátku m umělých mravenců (agentů) jsou umístěny do náhodně vybraných měst. V každém časovém kroku se pohybují k novým městům a modifikují feromonové stopy na hranách „lokální aktualizace stop“. Když všechny agenty (mravenci) vykonají cestu, mravenec, který udělá nejkratší cestu modifikuje odpovídající hrany své cesty přidáním množství feromonových stop, které je inverzně úměrné délce cesty. Množství feromonů jsou podél cest aktualizovány a celý proces se opakuje. Kombinatorická optimalizace. Na základě analogie k chování mravenců Dorigo uvádí nové paradigma známé jako Optimalizace mravenčích kolonií (Ant Colony Optimization (ACO)) [Dorigo M., 1999], [Dorigo M., 2004], [http://www.aco-metaheuristic.org/]. ACO bývá uváděna jako jedna z nejúspěšnějších aplikací inspirovaná chováním mravenců resp. hmyzím společenstvím. Obecná idea týkající se algoritmu založeného na ACO se uplatňuje v problematice obchodního cestujícího (Traveling Salesperson Problem (TSP)). Začínáme s rozložením nějakého počátečního množství umělého feromonu podél hran mezi městy v rámci problému TSP (viz též obr. 4.1.). Nyní nastavíme volně populaci umělých mravenců. Každý mravenec vytváří cestu městy stochasticky dle následování feromonové stopy a heuristických informací zachycených jako vzdálenosti měst. Následující úrovně feromonových stop jsou aktualizovány na základě množství cest nalezených populací mravenců. Po provedení této aktualizace populace mravenců je nastavena opět volně. A tento postup se opakuje.
Město D Město B
Město C
Město A
Obr. 4. 1. Systém mravenčí kolony - Ant Colony System a jeho optimalizace pro řešení problému obchod. cestujícího - Traveling Salesperson Problem dle [Cicirello V. A., 2001]. Algoritmus násobných mravenčích kolonií založený na interakcích na úrovni kolonie. SYSTÉMOVÁ INTEGRACE 3/2007
49
Pavel Burian
Algoritmus násobných mravenčích kolonií [Kawamura H., 2000] je rozšířením mravenčího algoritmu pro řešení problému obchodního cestujícího. Tento algoritmus pracuje s několika mravenčími koloniemi pro řešení problémů obchodního cestujícího (TSP – Traveling Salesman Problem), zatímco původně byl problém řešen [Colorni M., 1991] pomocí jedné mravenčí kolonie. Dále lze zavést dva druhy feromonových účinků – pozitivní a negativní, jako interakce na úrovni kolonie. Výsledkem interakcí na úrovni kolonie je, že si kolonie mohou vyměňovat „dobré postupy“ pro řešení problémů a mohou si zachovat své vlastní variace vyhledávacích procesů. Navržený algoritmus prokazuje lepší výkonnost než původní při téměř stejné agentové strategii používané v obou algoritmech s výjimkou zavedení interakcí na úrovní kolonie. Mravenčí algoritmus původně zavedený pro TSP v r. 1991 Colornim a dalšími je také jedním z optimalizačních algoritmů inspirovaný analogií se shromažďovacím, drancovacím chováním mravenců a interakcí mezi mravenci v kolonii. Optimalizace v mravenčím algoritmu je založena na interakci mezi velkým počtem spolupracujících jednoduchých agentů, jako jsou mravenci, kteří si nejsou vědomi svého kooperativního jednání. Pro řešení TSP se mravenčí agenty neustále pohybují z jednoho do jiného, dosud nenavštíveného města v TSP s úmyslem dát přednost jisté dílčí cestě (subtours) spojující blízká města a zároveň kladnou silné dávky feromonů. Mravenčí agenty navštěvující všechna města kladou určitou intensitu feromonů na dílčí cesty obsažené v jejich ukončených cestách v závislosti na vzdálenostech cest. To znamená, že dílčí cesty, které mají možnost být lepší v cestách TSP směřují k tomu, aby měly silné feromony a mravenčí agenty specifikující „dobré oblasti“ v prohledaném prostoru užitím tohoto zpětnovazebního mechanismu, a tak se z dílčích cest stává optimální cesta. Algoritmus se skládá z několika nezávislých kolonií, které zásadně odpovídají původnímu algoritmu řešení TSP pomocí jedné mravenčí kolonie, ale jsou zavedeny interakce na úrovni kolonií. Podobné ideje byly zavedeny v paralelním genetickém algoritmu, ve kterém jsou interakce mezi subpopulacemi obecně uskutečňovány výměnou operací mezi některými jednotlivci. V navrženém algoritmu jsou interakce mezi koloniemi přirozeněji zavedeny výměnou informací na feromonech, jako schématech pro vyřešení problému. Feromony náležející jedné kolonii mají odlišný význam pro kolonie ostatní tj. jsou feromonové účinky positivní a negativní. Positivní feromonové účinky působí na mravenčí agenty tak, aby volily cestu, na které jsou položeny, negativní feromony působí na agenty tak, aby se jim vyhnuly. Tento mechanismus umožňuje mravenčím agentům poskytovat „dobrá schémata“ agentům v ostatních koloniích a navzájem sdílet prohledávané oblasti. Navíc se tento mechanismus zdá patřičným pro paralelní počítání ve smyslu přičlenění jednoho procesoru jedné kolonii. Z rozšíření původního algoritmu kolonie na násobný algoritmus mravenčích kolonií (zavedením interakcí na úrovni kolonií, jako jsou positivní a negativní feromonové účinky) vyplývá, že negativní feromonové účinky umožňují udržení změn v procesu vyhledávání pro zrychlování kvality řešení a kolonie jsou schopny si vyměňovat „dobrá schémata“ řešení problému zásluhou positivních feromonových účinků. Algoritmus vykazuje lepší výkonnost než původní [Kawamura H., 2000], při zachování velmi podobné agentové strategii. ACO algoritmus může být aplikován též na dynamické změny v rámci problematiky obchodního cestujícího TSP. Například, jsou-li v průběhu navštěvování množiny měst, města do množiny přidávána nebo z ní ubírána [Eyckelhof C. J., 2002].
50
SYSTÉMOVÁ INTEGRACE 3/2007
Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1)
Postup vedoucí k řešení problému obchodního cestujícího založený na algoritmech mravenčích kolonií a jejich interakcí je vhodné využít v logistických systémech, v systémech řízení dodavatelských řetězců podnikových systémů typu ERP (Enterprise Resource Planning).
4.2 Emergentní řídící systém výrobního provozu pro pružnou, flexibilní výrobu založený na feromonové koncepci mravenců Změny a poruchy výrobního provozu vyžadují rychlou reakci a snadno zaveditelné a modifikovatelné systémy řízení. Přestavování konfigurace systémů a ošetřování poruch mohou zaručit multiagentové technologie, multiagentní systém. Dosud ovšem nebyl vyvinut žádný spolehlivý kooperační mechanismus, který by zvládl všechny algoritmické problémy řízení výrobního provozu. Řídící systém výrobního provozu pro pružnou, flexibilní výrobu analogický k přirozeným multiagentním systémům založených na chování mravenčích kolonií je uveden v [Peeters P., 2001]. Jsou uvedeny výhody feromonové koncepce, integrace v řídícím systému výrobního provozu, výsledky testů a metodologie vývoje systému.
4.2.1 Typy agentů Emergentního řídícího systému -
-
-
Objednávkový, zakázkový agent je napojen na každý obrobek (nebo skupinu obrobků). Prostor jeho znalostí je omezen na informaci o zakázce a stavu obrobku např. datum plnění, zdroj na kterém je obrobek zpracováván, model stavu zakázky, aj. Objednávkový agent však neví nic o ostatních objednávkách. Zdrojový agent je napojen na každý zdroj (např. stroj) v systému. Obzor jeho znalostí je omezen na vlastní sledování a vlastní řízení. Má rovněž soupis zdrojů ve svém bezprostředním sousedství. Např. jaký je stav zdrojů, jaké je zatížení zdroje, ke které objednávce je zdroj přiřazen, k jakému zdroji je výstup x připojen, aj. Zdrojové agenty a objednávkové agenty si vyměňují znalosti o výkonu procesu a vzájemně spolupracují k dokončení obrobku. Přestože jejich rozhodování ovlivňuje celkovou výkonnost systému, sami mají přístup jen k omezenému množství informací.
4.2.2 Feromonově založené řízení Celková koncepce. Navrhovaný řídící systém výrobního provozu je založen na využití feromonů, stejná koncepce je využita několika přirozenými multiagentními systémy. Feromon je chemická látka, vypouštěná přírodními druhy do prostředí, jako vodítko pro jejich druhy, souputníky. Výhody a nevýhody. Výhody feromonové koncepce se řadí do tří oblastí: jednoduchého mechanismu koordinace, automatického vedení do optimálního řešení a schopnosti zvládat dynamické situace. Jednoduchý koordinační mechanismus. Komunikační protokol je extrémně jednoduchý. Agenty-Mravenci spolu přímo nekomunikují. Nepotřebují vzájemné doporučení. Komunikace prochází prostředím. Prostředí a feromony odlučují jednotlivé mravence. Následkem je, že agentymravenci musí znát jenom to, jak dát informaci do prostředí a jak ji z něho získat. SYSTÉMOVÁ INTEGRACE 3/2007
51
Pavel Burian
Automatické navádění k optimálnímu řešení. Rozšiřování globální informace (tj. kde nalézt potravu) a zpětná vazba, která je vložena do této informace, vede systém k řešení. Pátrání agentů-mravenců brání tomu, aby systém uvíznul v lokálním optimu. Jako výsledek nalezne systém „optimální“ řešení. Schopnost zvládat dynamické situace. Systém lze snadno rekonfigurovat za chodu. Je možno agenta-mravence přidat nebo odebrat, aniž by toto ovlivnilo koordinaci. Prostředí je možno změnit. Odloučení (decoupling) mravenců, integrované emergentní chování, pátrání, vypařování a zpětná vazba způsobují, že se systém umí přizpůsobovat měnícím se podmínkám. Hlavními nevýhodami feromonové koncepce jsou časová zpoždění a ladění.
4.2.3 Integrace v řídícím systému výrobního provozu Zde je naznačeno jak je feromonová koncepce zapojena do řídícího systému výrobního provozu. V systému mravenčí kolonie hraje mravenec čtyři úlohy jak bylo uvedeno v odst. 3.1.3. Nyní si je zopakujeme a uvedeme jejich význam ve výrobním provozu. Zaprvé je řešitelem problému: mravenec musí nalézt potravu a přinášet ji do mraveniště. Zadruhé je pozorovatelem informací: pozoruje přítomnost potravních feromonů v prostředí. Zatřetí je rovněž tvůrcem informací: poté co nalezne potravu, inicializuje rozšiřování potravního feromonu. A začtvrté je i rozšiřovatelem informací: zatímco se vrací do mraveniště, vypouští stále „potravní“ feromon do prostředí. Entity provádějící rozhodování v řídícím systému výrobního provozu – zakázkové, objednávkové a zdrojové agenty přebírají tři první úkoly mravenců tj. řešitele problému, pozorovatele informací a tvůrce informací. Jsou řešiteli problému, jelikož jsou odpovědny za dokončení obrobku. Aby mohly učinit globálně výkonnější rozhodování rovněž pozorují a přebírají přípravné informace z prostředí. Tyto přídavné informace jsou vytvářeny jinými (zakázkovými a zdrojovými) agenty. A konečně, v závislosti na výsledku agentových rozhodnutí, vytvářejí positivní nebo negativní zpětnou vazbu ke stimulaci nebo prevenci ostatních agentů zařadit stejnou informaci do svého procesu řešení problému. Úloha rozšiřovatele informací je integrována v informaci samotné a vytváří nový objekt nazývaný jako feromonový objekt (řídícího systému). Prostředí (řídícího systému) v němž se feromony šíří je modelováno jako separátní síť lokálního feromonového prostředí paralelně k síti fyzického transportu. Toto feromonové prostředí lze představit jako rozdělenou tabuli (Blackboard), skládající se ze spojených oddělených lokálních tabulí (Blackboard). Transportní síť by měla být interpretována jako spojovací síť všech zdrojů. To zahrnuje jak zdroje, které pouze pohybují obrobky, stejně tak jako zdroje, které obrobky vytvářejí.
52
SYSTÉMOVÁ INTEGRACE 3/2007
Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1)
Lokální feromonové prostředí je připojeno ke každému tělu zdroje a ke každému vstupnímu a výstupnímu portu zdroje. Tato přídavná lokální feromonová prostředí na vstupních a výstupních portech zdroje jsou nezbytná, neboť hodnota šíření informace velmi často závisí na cestě vstupu nebo výstupu jíž je feromon šířen. V každém lokálním feromonovém prostředí mohou být feromony skladovány. Uskladněný feromon je dosažitelný resp. pozorovatelný pouze cestou lokálního feromonového prostředí, ve kterém byl uskladněn. Spojení zdrojů v pružně plynulé výrobě činí tuto konstrukci přímočarou. Feromonové prostředí lze snadno rozšířit, musí-li být více agentů činících rozhodnutí zapojeno do řídícího systému výrobního provozu, např. ústřední vysokoúrovňový plánovací systém, oddělení údržby, útvar projektování, aj. Diagramy tříd, sekvenční diagramy a popis feromonových životních cyklů popisuje [Mascada – WP1, WP4, 1999].
4.2.4 Řídící algoritmus založený na feromonovém principu Na feromonovém principu založený navržený řídící algoritmus výrobního provozu byl navržen cestou zdola nahoru (Bottom-up) jako distribuovaná „vertikálně vrstvená architektura s jedním průchozím řízením“. Oba aspekty, přístup zdola nahoru (Bottom-up) a „vertikálně vrstvená architektura s jedním průchozím řízením“ jsou stručně popsány následně. Projektový přístup zdola nahoru (Bottom-up) vychází z individuálních schopností systémové dopravy a procesních zdrojů a připojuje „limity“, omezení (constrain) na zvýšení celkové výkonnosti systému, k jejich vlastnímu chování. Každý „limit“, omezení (constrain) je modelován zvláštní vrstvou a přispívá k tomu předcházejícímu. „Limity“, omezení jsou roztříděny do následujících typů: zásadní, optimálizační a “meta-limity“, omezení: Zásadní limity (omezení) udržují systém ve stavu realizovatelnosti. Např. nikdy nedopravuj obrobek ve směru, ve kterém nemůže být dokončen nebo může způsobit uváznutí. Takové tvrdé limity jsou modelovány ve tzv. vrstvě proveditelnosti. Optimalizační „limity“, omezení zlepšují celkovou výkonnost systému a neberou ohled na aspekt proveditelnosti. Tyto optimalizační „limity“, omezení jsou modelovány optimalizačními vrstvami. Meta-„limity“ kladou omezení na parametry, které jsou užívány v optimalizačních vrstvách. Tyto meta-„limity“, omezení jsou modelovány ladícími vrstvami. Řízení založené na feromonovém principu má schopnost řešit problém řízení pružné, flexibilní, průběžné (Flow) výroby. Hlavními výhodami feromonové koncepce jsou: jednoduchý koordinační mechanismus, automatické „vedení“ k „optimálnímu“ řešení a schopnost zvládání dynamických situací. Koncepce má přesto některé nevýhody: časová zpoždění a ladění. Řídící systém byl ověřován [Peeters P., 2001] na dvou simulačních modelech výrobních provozů lakování automobilů. Předběžné testování ukázalo, že stejná implementace řídícího algoritmu může být použita pro oba simulační modely výrobních provozů lakování automobilů. Pouze malé přeladění bylo nutné k dalšímu zlepšení výkonnosti systému. Jsou-li vyvíjeny knihovny algoritmů a informací pro odlišné typy provozů a SYSTÉMOVÁ INTEGRACE 3/2007
53
Pavel Burian
výkonnostních měřítek, potom je implementace řídícího systému pouze záležitostí „přeladění“ (Re-tuning) řídícího systému. Byl emulován [Peeters P., 2001] výrobní provoz lakování aut automobilky DaimlerChrysler a to reálný provoz a virtuální provoz. Na úrovni PLC (Programmable Logic Controller) systémů bylo rozhodováno kam poslat auto. Při výsledném lakování byly pro výslednou výkonnost, průchodnost brány v úvahu trojice (barva, počet aut v dávce, typ auta). Implementace evolučních modelů výrobních provozů lakování automobilky Daimler-Chrysler byla provedena řídícím systémem založeným na jazyce Java pod systémem Windows. Řízení výrobního provozu a rozvrhování v rámci transportní sítě založené na feromonovém principu pro provoz lakování aut může být využito pro řešení obdobných problémů v rámci výrobních systémů typu MES. MASCADA (Manufacturing Systems Capable of Handling Production Changes and Disturbances) [Mascada - WP1, WP4, 1999], patří k špičkovým řídicím, ovládacím systémům výroby, které jsou robusní vůči změnám a poruchám ve výrobě a výrobních systémech. Cíle systému MASCADA zahrnují výstavbu výrobních řídících systémů pomocí agentů. Kooperace je dosažena naléhavostí (Emergent) chování. Systém je konstruován z odlišných typů agentů (Výrobní - Product, Objednávkový - Order, Zdrojový - Resource, Zaměstnanecký – Staff) v souladu s architekturou PROSA - holonická referenční architektura pro výrobní systémy vyvinutá na K.U.Leuven (Katholieke Universiteit Leuven http://www.kuleuven.be/english/) univerzitě v roce 1999. Agenty šíří informace (feromony) a komunikují přes prostředí. Agent koná na základě lokálních informací. Akce a rozhodnutí a jejich vykonání je založeno na flexibilních pravidlech agentů, které jsou vykonávány kooperativně a koordinovaně. Pravidla a mechanismus šíření informací se soustřeďují na známá kritéria produkčních, výrobních systémů např. výkonnost, řiditelnost v čase. Projekt agentově založeného Multi-Site (distribuované rozvrhování po výrobnách) rozvrhování s popisem stavu prací v této oblasti uvádí [Sauer J., 2000].
4.3
Dynamické problémy v oblasti řízení výroby
Pro oblast výroby [Cicirello V. A., 2001] prezentovali (inspirováni ACO algoritmem) algoritmus pro postup práce výrobou (Shop Floor) při dynamickém nastavování výroby. Při dosažení, příjezdu do továrny, úlohy jsou přiřazeny mravencům (viz obr. 4.2). Tyto mravenci jsou zatíženi vytvářením celého postupu práce, jejich vlastním rozhodnutím resp. úlohami v rámci dílny, provozu. Pro jeden typ úlohy v továrně je systém schopen efektivně vybalancovat zatížení stroje. Pro variantní úlohy s víceúčelovými stroji a sekvenčně závislým nastavením se pro každý typ úlohy používá samostatná mravenčí kolonie a systém je schopen konvergovat k řízení specializovaných výrobních linek.
54
SYSTÉMOVÁ INTEGRACE 3/2007
Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1)
Obr. 4. 2. Dynamické rozhodnutí o postupu práce dle [Cicirello V. A., 2001].
4.4 Další aplikace řízení a ovládání průmyslových procesů založených na chování kolon využívajících feromonového principu Postup založený na feromonovém principu a mravenčím shánění potravy (Foraging) lze využít v řadě oblastí [Bonabeau E., 2001]. Např. při stanovení efektivního postupu při propojování (Routing) uzlů v telekomunikační síti, zejména při nepredikovatelných situacích např. dramatickém nárůstu počtu volání při televizních soutěžích, bouřce poblíž letiště, aj. musí být zprávy, volání přesměrovány na méně zatížené uzly. Obdobný postup při přesměrování volání lze použít též v síti Internet. Další aplikace se týká např. rozvrhování výroby ve spol. Unilever, rozvrhování barevných odstínů budek nákladních automobilů, rozvrhování „Cargo“ operací leteckých společností, aj. Řada společností používá ACO algoritmy pro řešení reálných aplikací. Např. spol. EuroBios (http://www.eurobios.com/html/gb/eurobios.asp) aplikuje ACO pro řešení různých problémů v oblasti rozvrhování s omezeními při nastavování časových a kapacitních parametrů, s omezenými možnostmi zdrojů, aj. Společnost AntOptima (http://www.antoptima.com/site/en/index.php) vyvinula řadu nástrojů pro řešení rozvrhování dopravních problémů. Např. nástroj AntRoute pro dynamickou optimalizaci rozvrhování cest kamiony stovek dopravních společností, nástroj DyvOil pro řízení a optimalizaci distribuce topných olejů kamiony, což používá např. švýcarská společnost Pina Petroli. V [Gravel M., 2002] je popsána aplikace ACO pro rozvrhování výroby při odlévání hliníkových součástí. Tato práce byla vypracována za podpory programu č. MSM 6046137306 MŠMT ČR. Pokračování v následujícím čísle. SYSTÉMOVÁ INTEGRACE 3/2007
55
Pavel Burian
Literatura [Ant colony, 2007] Ant colony optimization Wikipedia: http://en.wikipedia.org/wiki/Ant_colony_optimization, (2007). [Bee colony, 2007] Bee colony optimization Wikipedia: http://en.wikipedia.org/wiki/Bee_colony_optimization (2007). [Bonabeau E.,2001] Bonabeau E., Meyer Ch.: Swarm Intelligence: A whole New Way to Think About Bussiness. Harvard Business Review, May 2001, R01056, 106 – 114, http://www.redfish.com/research/harvardBR_Swarmintelligence.pdf, 2007. [Chong C. S. C., 2006] Chong C.S.C., Low M.Y.H., Sivakumar A.I., Gay K. L.: A BEE COLONY OPTIMIZATION ALGORITHM TO JOB SHOP SCHEDULING. Proceedings of the 2006 Winter Simulation Konference, L. F. Perrone, F. P. Wieland, J. Liu, B. G. Lawson, D. M. Nicol, and R. M. Fujimoto, eds., 2006, http://www.informs-sim.org/wsc06papers/251.pdf, (2007). [Cicirello V. A., 2001] Cicirello V. A., Smith S. F.: Insect Societies and Manufacturing. The Robotics Institute, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, 2001, http://www.agent.ai/doc/upload/200302/smit01.pdf, (2007). [Colorni A., 1991] Colorni A., Doringo M., Machiniezzo V.: Distributed optimalization by ant colonies. Proc. of ECAL91 – European conference on Artificial Life, Elsewier, Paris, 1991, pp 134-142. [Deneubourg J.-L., 1991] Deneubourg J.-L., Goss S., Franks N., SendovaFranks A., Detrain C., Chrétien L.: “The dynamics of collective sorting: Robotlike ants and ant-like robots,” in Proc. First International Conference on Simulation of Adaptive Behavior: From Animals to Animats, J.-A. Meyer and S. W. Wilson, Eds., MIT Press, Cambridge, MA, pp. 356–363, 1991. [Dorigo M., 1997] Dorigo M., Gambardella L. M: ANT colonies for traveling salesman problem TR/IRIDIA/1996-3, Biosystems, 1997, http://www.idsia.ch/~luca/abstracts/papers/acsbio97.pdf. [Dorigo M., 1997] Dorigo M., Gambardella L. M.: Ant colony system: A cooperative learning approach to the travelling salesman problem. IEEE Trans Evolutionary Comput. 1997, 1(1), 53-66. [Dorigo M., 1997] Dorigo M., Maniezzo V., Colorni A.: Ant system. Optimalization by a colony of cooperating agents. IEEE Trans. Sys. Man. Cybernetics 1996, 26, 29-41. [Dorigo M., 1998] Dorigo M.: Ant Colony Optimization, http://iridia.ulb.ac.bc/~mdoringo/ACO/ACO.html, 1998. [Dorigo M., 1999] Dorigo M., Di Caro G., Gambardella L. M.: Ant Algorithms for Discrete Optimization. Artificial Life, Spring 1999, Vol. 5, No. 2, pp. 137-172. [Dorigo M., 2001] Dorigo M.: SWARM-BOTS Project. IRIDIA Institut de Recherches Interdisciplinaires et de Développements en Intelligence Artificielle Brussels, Belgium. 2001, http://iridia.ulb.ac.be/~mdorigo/, (2007). [Dorigo M., 2004] Dorigo M., Stützle T.: Ant Colony Optimization. MIT Press, Cambridge, MA, 2004.
56
SYSTÉMOVÁ INTEGRACE 3/2007
Uplatnění agentových kolon při ovládání a optimalizaci průmyslových procesů (1)
[Dorigo M., 2006] Dorigo M., Birattari M., Stützle T.: The Ant Colony Optimization (Artificial Ants as a Computational Inteligence Technique). Université Libre de Bruxelles, BELGIUM, IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE, NOVEMBER 2006, pp. 29-39, http://code.ulb.ac.be/dbfiles/DorBirStu2006cim.pdf (2007). [Eyckelhof C. J., 2002] Eyckelhof C.J., Snopek M.: Ant systems for a dynamic TSP: Ants caught in a traffic jam, in Proc. ANTS 2002, ser. LNCS, M. Dorigo et al., Eds., Springer Verlag, vol. 2463, pp. 88–99, 2002. [Goldratt E. M., 1992] Goldratt E. M.: The Goal. The North River Press, Crotonon-Hudson, NY, 1992. [Goss S., 1989] Goss S., Aron S., Deneubourg J. L., and Pasteels J. M.: Selforganized Shortcuts in the Argentine Ant. Naturwissenschaften, 76:579-581, 1989. [Gravel M., 2002] Gravel M., PriceW.L., Gagné C.: “Scheduling continuous casting of aluminum usány a multiple objective ant colony optimization metaheuristic.” European Journal of Operational Research, vol. 143, pp. 218–229, 2002. [Handl J., 2006] Handl J., Knowles J., Dorigo M.: “Ant-based clustering and topographic mapping.” Artificial Life, vol. 12, no. 1, pp. 35–62, 2006. [Henoch J., 2000] Henoch J., Ulrich H.: Agent-Based Management Systems in Logistics. Proc. of the ECAI 2000 Workshop 13 „Agent Tech. and Their Appl. Scen in Logistics“, Berlin June 2000, http://www.ifor.math.ethz.ch/~henoch. [Kawamura H., 2000] Kawamura H., Yamato M., Suzuki K., Ohuchi A.: Multiple Ant Colonies Algorithm Based on Colony Level Interactions. IEICE TRANS. FUNDAMETALS, VOL. E83-A, No. 2, Feb. 2000. [Lemmens N., 2007] Lemmens N.1, de Jong S.2, Tuyls K. 2, Nowé A.1: Bee behaviour in multi-agent systems: A bee foraging algorithm.1 CoMo, Vrije Universiteit Brussel, Belgiím, 2 MICC-IKAT, Universiteit Maastricht, Netherlands, http://www.cs.unimaas.nl/steven.dejong/publications/alamas07_lemmens.pdf, (2007). [MASCADA - WP1,WP4, 1999] MASCADA - WP1,WP4 (Espirit LTR 22 728): MASCADA - Manufacturing Systems Capable of Handling Production Changes and Disturbances, 1999, http://www.mech.kuleuven.ac.be/pma/project/mascada.html, (2007). [Nakrani, S., 2004] Nakrani, S. and C. Tovey: On honey bees and dynamic allocation in an internet server colony. Adaptive Behavior, 12(3-4), p. 223-240, 2004. [NP-hard, 2007] NP-hard Wikipedia: http://en.wikipedia.org/wiki/NP-hard (2007). [Parunak H. D., 1997] Parunak H. D.: „Go to the Ant“: Engineering Principles from Natural Multi-Agent Systems. Annals of Operations Research 75, 1997, 69-101 (Special Issue on Artificial Intelligence and Management Science), http://www.erim.org/~vparunak/gotoant.pdf. [Parunak H. D., 1997] Parunak H. D.: The AARIA Agent Architecture: From Manufacturing Requirements to Agent-Based System Design. Workshop on
SYSTÉMOVÁ INTEGRACE 3/2007
57
Pavel Burian
Agent-Based Manufact., ICAA´98, Minneapolis, MN, ERIM CEC, 1998, http://www.erin.org/~vparunak/icca98.pdf. [Peeters P., 2001] Peeters P., Van Brussel H., Valckenaers P., Wyns J., Bongaerts L., Heikkila T., Kollingbaum: Pheromone Based Emergent Shop Floor Control System for Flexible Flow Shops. Kathol. Univ. Leuven, http://www.mech.kuleuven.ac.be/pma/pma.html, 2001. [Sauer J., 2000] Sauer J., Freese T., Teschke T.: Towards Agent-Based MultiSite Scheduling. 2000, http://www.shaping-thefuture.de/pdf_www/Poster152.pdf. [Silva N., 1998] Silva N., Sousa P., Ramos C.: Proposal for Dynamic Scheduling Architecture and Method Using a Holonic Approach, Intelligent Manufactoring Systems´98, 10-12, Nov. 1998, Brazil. [Steels L., 1991] Steels L.: Toward a Theory of Emergent Functionality. In J.A.Meyer and S.W.Wilson, eds., From Animals to Animats: Proceedings of the First International Conference on Simulation of Adaptive Behavior. MIT Press, 451-461, 1991. [SWARM-BOTS, 2001] SWARM-BOTS Project, IRIDIA, Belgiím: http://iridia.ulb.ac.be/~mdoringo/swarmbotsvacamńcies.html, 2001. [Travelling salesman, 2007] Travelling salesman problem Wikipedia: http://en.wikipedia.org/wiki/Travelling_salesman_problem, (2007). Pokračování v následujícím čísle.
58
SYSTÉMOVÁ INTEGRACE 3/2007