|
|
(48 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| [[Image:Safari ants.jpg|thumb|300px|Ant behavior was the inspiration for the metaheuristic optimization technique]]
| |
| '''Алгоритъмът за оптимизация по метода на мравките''' (ant colony optimization, ACO) е [[вероятност]]ен подход за решаване на изчислителни задачи, който може да бъде сведен до откриване на добри пътища през [[граф (математика)|граф]].
| |
|
| |
|
| Основният такъв алгоритъм и неговите различни модификации образуват подмножество на класа алгоритми за метаевристична оптимизация.
| |
| За първи път предложен от проф. [[Марко Дориго]] в докторската му дисертация от 1992 година <ref>A. Colorni, M. Dorigo et V. Maniezzo, ''Distributed Optimization by Ant Colonies'', actes de la première conférence européenne sur la vie artificielle, Paris, France, Elsevier Publishing, 134-142, 1991.</ref> <ref name="M. Dorigo, Optimization, Learning and Natural Algorithms">M. Dorigo, ''Optimization, Learning and Natural Algorithms'', PhD thesis, Politecnico di Milano, Italie, 1992.</ref>, оригиналният алгоритъм за оптимизация по метода на мравките е имал за цел да търси оптимален път в граф на базата на поведението на мравките, търсещи път между своята [[мравчена колония|колония]] и даден източник на храна. От тогава до днес оригиналната идея на Дориго е многократно разширявана и модифицирана, за да решава по-широк клас от изчислителни задачи, и в резултат са се появили няколко нови проблема и подхода, базирани на различни други аспекти от поведението на мравките.
| |
|
| |
| == Разясняване на понятието ==
| |
|
| |
| В реалността, истинските мравки (първоначално) се движат по случаен начин и при откриване на източник на храна се завръщат към гнездото на колонията си, като по целия обратен път полагат следи от вещество, наречено [[феромон]], което служи за комуникация с останалите мравки. Ако други мравки се натъкнат на маршрута на първата мравка, те с голяма степен на вероятност престават да се движат по случаен начин, а поемат по оставената следа от феромон до източника на храна и в случай, че също открият храна, при връщането си полагат собствена следа от феромон върху вече съществуващата. По този начин количеството феромон се увеличава и маршрута до източника на храна става още по-привлекателен за следващите мравки.
| |
|
| |
| Феромонът обаче има свойството да се изпарява с времето, което снижава способността му да привлича други мравки. Колкото повече време отнема на една мравка да премине разстоянието до източника на храната и обратно, толкова повече феромонът се изпарява. За сравнение, един по-кратък път между същите две крайни точки, бива извървян за по-кратко време и интензитетът на феромона остава по-висок. В контекста на алгоритъма на мравките, изветряването на феромона представлява предимство, тъй като се избягва сходимостта на алгоритъма към решение, представляващо локален оптимум. Ако не съществуваше ефектът с изпарението, то пътищата избрани от първите "мравки" биха имали тенденцията да са прекомерно привлекателни за всички следващи, което на свой ред би ограничило значително изследваната от "мравките" област на решенията.
| |
|
| |
| По този начин, когато една мравка открие добър (т.е. кратък) път от мравуняка си до някакъв източник на храна, с голяма вероятност и други мравки ще последват пътя й и постепенно положителната [[обратна връзка]] ще доведе до това всички мравки да следват един и същ път. Идеята на алгоритъма за оптимизация по метода на мравчената колония е да се имитира това поведение с "изкуствени (симулирани) мравки", които се движат по дъгите на граф, представляващ областта на възможните решения, като откритият от мравките път представлява оптималното от тези решения.
| |
|
| |
| === Представяне на алгоритъма ===
| |
| [[Image:Aco branches.svg|left|400px]]
| |
|
| |
| Оригиналната идея за алгоритъма произлиза от наблюденията как мравки усвояват източници на храна и по-специално от наблюдението, че индивидуално ограничените откъм когнитивни възможности мравки, взети заедно, откриват най-кратък път между източника на храната и своя мравуняк.
| |
|
| |
| # Първата мравка открива източника на храна '''(F)''' по някакъв (без значение какъв) начин '''(a)''', завръща се в гнездото си '''(N)''', оставяйки след себе си следа от феромон '''(b)'''.
| |
| # Мравките безразборно следват четири възможни пътя, но затвърждаването на някой от тях посредством полагането на повече феромон го прави по-привлекателен като най-краткия маршрут.
| |
| # Мравките поемат по най-краткия маршрут, като така дълги отрязъци от други маршрути губят привлекателността си, поради постепенното изпаряване на феромона от тях.
| |
|
| |
| В серия от експерименти с мравчени колонии, с възможен избор между различни по дължина пътя водещи до един и същ източник на храна, биолози са наблюдавали, че мравките проявяват склонност да откриват най-късия път. <ref name="S. Goss">S. Goss, S. Aron, J.-L. Deneubourg et J.-M. Pasteels, ''The self-organized exploratory pattern of the Argentine ant'', Naturwissenschaften, volume 76, pages 579-581, 1989</ref><ref>J.-L. Deneubourg, S. Aron, S. Goss et J.-M. Pasteels, ''The self-organizing exploratory pattern of the Argentine ant'', Journal of Insect Behavior, volume 3, page 159, 1990</ref>
| |
| Моделът, обясняващ това поведение, е следният:
| |
| # Една мравка (наречена "блиц") се движи повече или по-малко на случаен принцип в близост до колонията си;
| |
| # Ако тя се натъкне на източник на храна, тя се връща относително директно в мравуняка, като по обратния път оставя след себе си следа от феромон;
| |
| # Следите от феромон са привлекателни за другите мравки и тези, които се намират в съседство, са предразположени да поемат по оставената следа, следвайки я сравнително плътно;
| |
| # При завръщането си в мравуняка, тези мравки усилват следата от феромон по маршрута;
| |
| # Ако до един и същ източник на храня водят два пътя, за едно и също количество време повече на брой мравки ще изминат по-краткия, отколкото по-дългия път;
| |
| # Тъй като повече мравки ще избират по-късия път, той ще бъде подсилван с феромон от все повече мравки;
| |
| # По-дългият път в крайна сметка ще се загуби, тъй като феромонът е летливо вещество и се изпарява с времето;
| |
| # Накрая всички мравки решително ще избират пътя с нисоко насищане на феромон, следователно открит ще бъде най-късият път между източника на храната и мравчената колония.
| |
|
| |
| Мравките използват околната среда като средство за комуникация. Те обменят информация индиректно, чрез полагане на феромон по пътя си. Това средство за общуване има локален обхват, тъй като само мравка, която се намира на място, на което е положен феромон, получава информация от предходната мравка. Такава система се нарича "[[стигмергия]]" и може да бъде открита в много животински съобщества (изучавана е при строежа на термитни стълбове).
| |
|
| |
| Така този механизъм за решаване на дадена задача, която се оказва твърде сложна, за да е по силите на единични агенти ("мравки"), се явява добър пример за самоорганизираща се система. Тази система се основава на положителна обратна връзка (полагането на феромон привлича други мравки, които следвайки следата сами я подсилват) и на отрицателна обратна връзка (излиняването на пътя поради изпарението на феромона, което предотвратява системата да се препълни с информация и да се срине). На теория, ако количеството феромон остава по всички пътища непроменено във времето, то никой маршрут няма да се изяви като по-привлекателен пред останалите. На практика, поради съществуващите обратните връзки в системата, дори и слабите вариации в привлекателността на дадени пътища позволяват даден маршрут да бъде предпочетен, което с нарастващия брой на мравките, които го избират, води и до изявяването му като оптимален. Алгоритъмът еволюира от състояние на неустойчивост (когато никой път в графа не е по-привлекателен от останалите) към състояние на устойчивост (при което маршрутът се състои от най-привлекателните, т.е. най-често прохождани дъги в графа).
| |
|
| |
| == Разширения на понятието ==
| |
| Следват някои от най-популярните вариации на алгоритмите за оптимизация по метода на мравките.
| |
|
| |
| === Оптимизация чрез елитни мравки ===
| |
| Това е първата по време модификация на алгоритъма. При нея мравките, които към всяка отделна итерация дават най-добро решение, се обявяват за елитни мравки и те получават право да полагат специален феромон по маршрута си.
| |
|
| |
| === Минимаксна мравчена оптимизация ===
| |
| Моделът се променя, като се добавят максимални и минимални количества феромон [τ<sub>max</sub>,τ<sub>min</sub>]
| |
| Феромон се полага само по маршрута, отговарящ на глобално най-доброто решение или най-доброто решение за конкретната итерация.
| |
| Всички дъги се инициализират с τ<sub>max</sub> и повторно получават стойността τ<sub>max</sub> при наближаване на ситуация на стагнация. <ref name="T. Stützle et H.H. Hoos">T. Stützle et H.H. Hoos, ''MAX MIN Ant System'', Future Generation Computer Systems, volume 16, pages 889-914, 2000</ref>
| |
|
| |
| === Proportional pseudo-random rule ===
| |
| Представен е по-горе. <ref name="M. Dorigo et L.M. Gambardella">M. Dorigo et L.M. Gambardella, ''Ant Colony System : A Cooperative Learning Approach to the Traveling Salesman Problem'', IEEE Transactions on Evolutionary Computation, volume 1, numéro 1, pages 53-66, 1997.</ref>
| |
|
| |
| === Мравчена система, базирана на рангове ===
| |
|
| |
| Всички решения се ранжират по отношение на фитнес функцията им. После количеството отложен феромон се претегля за всяко решение, по такъв начин, че решенията с по-добри показатели на фитнес функцията да получат повече феромон от тези с по-слаби показатели.
| |
|
| |
| === Непрекъсната ортогонална мравчена система ===
| |
| Механизмът за полагане на феромон при непрекъснатата ортогонална мравчена система е такъв, че позволява на мравките на търсят решения по един колаборативен и ефективен начин. Използвайки '''orthogonal design method''', мравките могат да изследват избраните от тях региони от допустимата област бързо и ефикасно с подобрени възможности за глобално търсене и с по-висока точност.
| |
|
| |
| '''The orthogonal design method''' и '''adaptive radius adjustment method''' също могат да бъдат разширени към други оптимизационни алгоритми, предоставяйки по-добри възможности за решаване на задачи от практиката.<ref>[http://eprints.gla.ac.uk/3894/ X Hu, J Zhang, and Y Li (2008). Orthogonal methods based ant colony search for solving continuous optimization problems. ''Journal of Computer Science and Technology'', 23(1), pp.2-18.]</ref>
| |
|
| |
| == Сходимост ==
| |
| При някои версии на алгоритъма е възможно да се докаже сходимост (т.е. че е възможно да се открие глобален оптимум за крайно време). Първото доказателство за сходимост на алгоритъма за оптимизация по метода на мравките е дадено през 2000 година за граф-базирания алгоритъм на мравките, а впоследствие и за алгоритмите за системи от мравчени колонии и минимаксния алгоритъм за оптимизация. Както при повечето метаевристични методи, и тук е много трудно да се направи теоретична оценка на скоростта на сходимост.
| |
|
| |
| През 2004, Злохин (Zlochin) и негови колеги <ref name="Zlochin model-based search">M. Zlochin, M. Birattari, N. Meuleau, et M. Dorigo, ''Model-based search for combinatorial optimization: A critical survey'', Annals of Operations Research, vol. 131, pp. 373-395, 2004.</ref> '''have shown COA type algorithms could be assimilated methods of '''стохастичното спускане по градиент,''' on the cross-entropy and Estimation of distribution algorithm'''.
| |
|
| |
| == Приложения ==
| |
| [[Image:Knapsack ants.svg|thumb|[[Knapsack problem]]. The ants prefer the smaller drop of honey over the more abundant, but less nutritious, sugar.|200px]]
| |
| Алгоритмите за оптимизация по метода на мравките са прилагани към множество задачи за [[комбинаторна оптимизация]], вариращи от quadratic assignment to fold [[protein]] или routing vehicles. Много производни на тях методи са адаптирани към динамични задачи с реални променливи, стохастични задачи, многоцелеви и паралелни приложения.
| |
|
| |
| Оптимизация по метода на мравките е използвана за достигане на почти оптимални решения на [[Задача за търговския пътник|задачата за търговския пътник]]. Тези алгоритми имат предимство пред използването на [[simulated annealing]] и [[генетичен алгоритъм|генетични алгоритми]] за сходни задачи, в случаите, когато графът може да се променя динамично: алгоритъмът на мравките може да се адаптира към промените в реално време. Това представлява интерес при задачи за маршрутизация в мрежа и при градски транспортни системи.
| |
|
| |
| Много добър пример за приложението на алгоритъма на мравките е свързан с почти оптималните решения на задачата за търговския пътник. Първият алгоритъм от този клас, наречен Ant system <ref name="Ant system">M. Dorigo, V. Maniezzo, et A. Colorni, ''Ant system: optimization by a colony of cooperating agents'', IEEE Transactions on Systems, Man, and Cybernetics--Part B , volume 26, numéro 1, pages 29-41, 1996.</ref> е прилаган за решаване на тази задача, при която целта е да се намери най-краткия маршрут за обхождане на множество от градове.
| |
|
| |
| Общият алгоритъм е относително прост и базиран на множество изкуствени мравки, всяка от които извършваща един от всички възможни обходи на градовете. На всяка итерация, мравката избира да се придвижи от един град до друг в зависимост от следните правила:
| |
| # Тя трябва да посети всеки град точно по веднъж;
| |
| # По-отдалечените градове имат по-малък шанс да бъдат избрани (проблема с видимостта);
| |
| # Колкото по-интензивна е следата от феромон, положена върху пътя, свързваща два града, толкова по-голяма е вероятността този път да бъде избран;
| |
| # След приключване на обхода, мравката полага повече феромон по пътищата, по които е минала, ако целият маршрут е счетен за къс;
| |
| # След всяка итерация следите от феромон се изпаряват.
| |
|
| |
| [[Image:Aco TSP.svg|thumb|600px|center]]
| |
|
| |
| === Примерен псевдокод и формули ===
| |
| procedure ACO_MetaHeuristic
| |
| while(not_termination)
| |
| generateSolutions()
| |
| daemonActions()
| |
| pheromoneUpdate()
| |
| end while
| |
| end procedure
| |
|
| |
| ; Избор на дъга
| |
|
| |
| Мравка се придвижва от връх <math>i</math> до връх <math>j</math> на графа с вероятност
| |
|
| |
| <math>
| |
| p_{i,j} =
| |
| \frac
| |
| { (\tau_{i,j}^{\alpha}) (\eta_{i,j}^{\beta}) }
| |
| { \sum (\tau_{i,j}^{\alpha}) (\eta_{i,j}^{\beta}) }
| |
| </math>
| |
|
| |
| където
| |
|
| |
| * <math>\tau_{i,j}</math> е количеството феромон върху дъгата <math>i,j</math>
| |
| * <math>\alpha</math> е параметър за контрол на влиянието на <math>\tau_{i,j}</math>
| |
| * <math>\eta_{i,j}</math> е привлекателността на дъгата <math>i,j</math> (априори, обичайно <math>1/d_{i,j}</math>, където <math>d</math> е разстоянието)
| |
| * <math>\beta</math> е параметър за контрол на влиянието на <math>\eta_{i,j}</math>
| |
|
| |
| ; Обновяване на феромона
| |
|
| |
| <math>
| |
| \tau_{i,j} =
| |
| (1-\rho)\tau_{i,j} + \Delta \tau_{i,j}
| |
| </math>
| |
|
| |
| където
| |
|
| |
| * <math>\tau_{i,j}</math> е количеството феромон върху дадена дъга <math>i,j</math>
| |
| * <math>\rho</math> е скоростта на изпарение на феромона
| |
| * <math>\Delta \tau_{i,j}</math> е количеството на отложения феромон, обичайно представен чрез
| |
| *:: <math>
| |
| \Delta \tau^{k}_{i,j} =
| |
| \begin{cases}
| |
| 1/L_k & \mbox{if ant }k\mbox{ travels on edge }i,j \\
| |
| 0 & \mbox{otherwise}
| |
| \end{cases}
| |
| </math>
| |
| *:: където <math>L_k</math> е цената на <math>k</math><sup>-тия</sup> обход на мравката (обичайно - дължината).
| |
|
| |
| ==== Job-shop scheduling problem ====
| |
| *Job-shop scheduling problem (JSP)<ref>D. Martens, M. De Backer, R. Haesen, J. Vanthienen, M. Snoeck, B. Baesens, ''Classification with Ant Colony Optimization'', IEEE Transactions on Evolutionary Computation, volume 11, number 5, pages 651—665, 2007.
| |
| </ref>
| |
| *Open-shop scheduling problem (OSP)<ref>B. Pfahring, “Multi-agent search for open scheduling: adapting the Ant-Q formalism,” Technical report TR-96-09, 1996.</ref><ref>C. Blem, “Beam-ACO, Hybridizing ant colony optimization with beam search. An application to open shop scheduling,” Technical report TR/IRIDIA/2003-17, 2003.</ref>
| |
| *Permutation flow shop problem (PFSP)<ref>T. Stützle, “An ant approach to the flow shop problem,” Technical report AIDA-97-07, 1997.</ref>
| |
| *Single machine total tardiness problem (SMTTP)<ref>A. Baucer, B. Bullnheimer, R. F. Hartl and C. Strauss, “Minimizing total tardiness on a single machine using ant colony optimization,” Central European Journal for Operations Research and Economics, vol.8, no.2, pp.125-141, 2000.</ref>
| |
| *Single machine total weighted tardiness problem (SMTWTP)<ref>M. den Besten, “Ants for the single machine total weighted tardiness problem,” Master’s thesis, University of Amsterdam, 2000.</ref><ref>M, den Bseten, T. Stützle and M. Dorigo, “Ant colony optimization for the total weighted tardiness problem,” Proceedings of PPSN-VI, Sixth International Conference on Parallel Problem Solving from Nature, vol. 1917 of Lecture Notes in Computer Science, pp.611-620, 2000.</ref><ref>D. Merkle and M. Middendorf, “An ant algorithm with a new pheromone evaluation rule for total tardiness problems,” Real World Applications of Evolutionary Computing, vol. 1803 of Lecture Notes in Computer Science, pp.287-296, 2000.</ref>
| |
| *Resource-constrained project scheduling problem (RCPSP)<ref>D. Merkle, M. Middendorf and H. Schmeck, “Ant colony optimization for resource-constrained project scheduling,” Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2000), pp.893-900, 2000.</ref>
| |
| *Group-shop scheduling problem (GSP)<ref>C. Blum, “ACO applied to group shop scheduling: a case study on intensification and diversification,” Proceedings of ANTS 2002, vol. 2463 of Lecture Notes in Computer Science, pp.14-27, 2002.</ref>
| |
| *Single-machine total tardiness problem with sequence dependent setup times (SMTTPDST)<ref>C. Gagné, W. L. Price and M. Gravel, “Comparing an ACO algorithm with other heuristics for the single machine scheduling problem with sequence-dependent setup times,” Journal of the Operational Research Society, vol.53, pp.895-906, 2002.</ref>
| |
|
| |
| ==== Vehicle routing problem ====
| |
| *Capacitated vehicle routing problem (CVRP)<ref>P. Toth, D. Vigo, “Models, relaxations and exact approaches for the capacitated vehicle routing problem,” Discrete Applied Mathematics, vol.123, pp.487-512, 2002.</ref><ref>J. M. Belenguer, and E. Benavent, “A cutting plane algorithm for capacitated arc routing problem,” Computers & Operations Research, vol.30, no.5, pp.705-728, 2003.</ref><ref>T. K. Ralphs, “Parallel branch and cut for capacitated vehicle routing,” Parallel Computing, vol.29, pp.607-629, 2003.</ref>
| |
| *Multi-depot vehicle routing problem (MDVRP)<ref>S. Salhi and M. Sari, “A multi-level composite heuristic for the multi-depot vehicle fleet mix problem,” European Journal for Operations Research, vol.103, no.1, pp.95-112, 1997.</ref>
| |
| *Period vehicle routing problem (PVRP)<ref>E. Angelelli and M. G. Speranza, “The periodic vehicle routing problem with intermediate facilities,” European Journal for Operations Research, vol.137, no.2, pp.233-247, 2002.</ref>
| |
| *Split delivery vehicle routing problem (SDVRP)<ref>S. C. Ho and D. Haugland, “A tabu search heuristic for the vehicle routing problem with time windows and split deliveries,” Computers & Operations Research, vol.31, no.12, pp.1947-1964, 2004.</ref>
| |
| *Stochastic vehicle routing problem (SVRP)<ref>N. Secomandi, “Comparing neuro-dynamic programming algorithms for the vehicle routing problem with stochastic demands,” Computers & Operations Research, vol.27, no.11, pp.1201-1225, 2000.</ref>
| |
| *Vehicle routing problem with pick-up and delivery (VRPPD)<ref>W. P. Nanry and J. W. Barnes, “Solving the pickup and delivery problem with time windows using reactive tabu search,” Transportation Research Part B, vol.34, no. 2, pp.107-121, 2000.</ref><ref>R. Bent and P.V. Hentenryck, “A two-stage hybrid algorithm for pickup and delivery vehicle routing problems with time windows,” Computers & Operations Research, vol.33, no.4, pp.875-893, 2003.</ref>
| |
| *Vehicle routing problem with time windows (VRPTW)<ref>A. Bachem, W. Hochstattler and M. Malich, “The simulated trading heuristic for solving vehicle routing problems,” Discrete Applied Mathematics, vol. 65, pp.47-72, 1996..</ref><ref>[57] S. C. Hong and Y. B. Park, “A heuristic for bi-objective vehicle routing with time window constraints,” International Journal of Production Economics, vol.62, no.3, pp.249-258, 1999.</ref><ref>R. A. Rusell and W. C. Chiang, “Scatter search for the vehicle routing problem with time windows,” European Journal for Operations Research, vol.169, no.2, pp.606-622, 2006.</ref>
| |
|
| |
| ==== Assignment problem ====
| |
| *Quadratic assignment problem (QAP)<ref>T. Stützle, “MAX-MIN Ant System for the quadratic assignment problem,” Technical Report AIDA-97-4, FB Informatik, TU Darmstadt, Germany, 1997.</ref>
| |
| *Generalized assignment problem (GAP)<ref>R. Lourenço and D. Serra “Adaptive search heuristics for the generalized assignment problem,” Mathware & soft computing, vol.9, no.2-3, 2002.</ref><ref>M. Yagiura, T. Ibaraki and F. Glover, “An ejection chain approach for the generalized assignment problem,” INFORMS Journal on Computing, vol. 16, no. 2, pp. 133–151, 2004.</ref>
| |
| *Frequency assignment problem (FAP)<ref>K. I. Aardal, S. P. M.van Hoesel, A. M. C. A. Koster, C. Mannino and Antonio. Sassano, “Models and solution techniques for the frequency assignment problem,” A Quarterly Journal of Operations Research, vol.1, no.4, pp.261-317, 2001.</ref>
| |
| *Redundancy allocation problem (RAP)<ref>Y. C. Liang and A. E. Smith, “An ant colony optimization algorithm for the redundancy allocation problem (RAP),” IEEE Transactions on Reliability, vol.53, no.3, pp.417-423, 2004.</ref>
| |
|
| |
| ==== Set problem ====
| |
| *Set covering problem(SCP)<ref>G. Leguizamon and Z. Michalewicz, “A new version of ant system for subset problems,” Proceedings of the 1999 Congress on Evolutionary Computation(CEC 99), vol.2, pp.1458-1464, 1999.</ref><ref>R. Hadji, M. Rahoual, E. Talbi and V. Bachelet “Ant colonies for the set covering problem,” Abstract proceedings of ANTS2000, pp.63-66, 2000.</ref>
| |
| *Set partition problem (SPP)<ref>V Maniezzo and M Milandri, “An ant-based framework for very strongly constrained problems,” Proceedings of ANTS2000, pp.222-227, 2002.</ref>
| |
| *Weight constrained graph tree partition problem (WCGTPP)<ref>R. Cordone and F. Maffioli,“Colored Ant System and local search to design local telecommunication networks,” Applications of Evolutionary Computing: Proceedings of Evo Workshops, vol.2037, pp.60-69, 2001.</ref>
| |
| *Arc-weighted l-cardinality tree problem (AWlCTP)<ref>C. Blum and M.J. Blesa, “Metaheuristics for the edge-weighted k-cardinality tree problem,” Technical Report TR/IRIDIA/2003-02, IRIDIA, 2003.</ref>
| |
| *Multiple knapsack problem (MKP)<ref>[http://parallel.bas.bg/~stefka/heuristic.ps S. Fidanova, “ACO algorithm for MKP using various heuristic information”], Numerical Methods and Applications, vol.2542, pp.438-444, 2003.</ref>
| |
| *Maximum independent set problem (MIS)<ref>G. Leguizamon, Z. Michalewicz and Martin Schutz, “An ant system for the maximum independent set problem,” Proceedings of the 2001 Argentinian Congress on Computer Science, vol.2, pp.1027-1040, 2001.</ref>
| |
|
| |
| ==== Други ====
| |
| *Classification<ref>D. Martens, M. De Backer, R. Haesen, J. Vanthienen, M. Snoeck, B. Baesens, "Classification with Ant Colony Optimization", IEEE Transactions on Evolutionary Computation, volume 11, number 5, pages 651—665, 2007.
| |
| </ref>
| |
| *Connection-oriented network routing<ref>G. D. Caro and M. Dorigo, “Extending AntNet for best-effort quality-of-service routing,” Proceedings of the First Internation Workshop on Ant Colony Optimization (ANTS’98), 1998.</ref>
| |
| *Connectionless network routing<ref>G.D. Caro and M. Dorigo “AntNet: a mobile agents approach to adaptive routing,” Proceedings of the Thirty-First Hawaii International Conference on System Science, vol.7, pp.74-83, 1998.</ref><ref>G. D. Caro and M. Dorigo, “Two ant colony algorithms for best-effort routing in datagram networks,” Proceedings of the Tenth IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS’98), pp.541-546, 1998.</ref>
| |
| *Data mining<ref>R. S. Parpinelli, H. S. Lopes and A. A Freitas, “An ant colony algorithm for classification rule discovery,” Data Mining: A heuristic Approach, pp.191-209, 2002.</ref><ref>R. S. Parpinelli, H. S. Lopes and A. A Freitas, “Data mining with an ant colony optimization algorithm,” IEEE Transaction on Evolutionary Computation, vol.6, no.4, pp.321-332, 2002.</ref>
| |
| *Discounted cash flows in project scheduling<ref>W. N. Chen, J. ZHANG and H. Chung, “Optimizing Discounted Cash Flows in Project Scheduling--An Ant Colony Optimization Approach”, IEEE Transactions on Systems, Man, and Cybernetics--Part C: Applications and Reviews Vol.40 No.5 pp.64-77, Jan. 2010.</ref>
| |
| *Grid Workflow Scheduling Problem<ref>W. N. Chen and J. ZHANG “Ant Colony Optimization Approach to Grid Workflow Scheduling Problem with Various QoS Requirements”, IEEE Transactions on Systems, Man, and Cybernetics--Part C: Applications and Reviews, Vol. 31, No. 1,pp.29-43,Jan 2009.</ref>
| |
| *Image processing<ref>S. Meshoul and M Batouche, “Ant colony system with extremal dynamics for point matching and pose estimation,” Proceeding of the 16th International Conference on Pattern Recognition, vol.3, pp.823-826, 2002.</ref> <ref>H. Nezamabadi-pour, S. Saryazdi, and E. Rashedi, “ Edge detection using ant algorithms”, Soft Computing, vol. 10, no.7, pp. 623-628, 2006.</ref>
| |
| *Intelligent testing system<ref>Xiao. M.Hu, J. ZHANG, and H. Chung, “An Intelligent Testing System Embedded with an Ant Colony Optimization Based Test Composition Method”, IEEE Transactions on Systems, Man, and Cybernetics--Part C: Applications and Reviews, Vol. 39, No. 6, pp. 659-669, Dec 2009.</ref>
| |
| *System identification<ref>L. Wang and Q. D. Wu, “Linear system parameters identification based on ant system algorithm,” Proceedings of the IEEE Conference on Control Applications, pp.401-406, 2001.</ref><ref>K. C. Abbaspour, R. Schulin, M. T. Van Genuchten, “Estimating unsaturated soil hydraulic parameters using ant colony optimization,” Advances In Water Resources, vol.24, no.8, pp.827-841, 2001.</ref>
| |
| *Protein Folding<ref>X. M. Hu, J. ZHANG,J. Xiao and Y. Li, “Protein Folding in Hydrophobic-Polar Lattice Model: A Flexible Ant- Colony Optimization Approach ”, Protein and Peptide Letters, Volume 15, Number 5, 2008, Pp. 469-477.</ref><ref>A. Shmygelska, R. A. Hernández and H. H. Hoos, “An ant colony algorithm for the 2D HP protein folding problem,” Proceedings of the 3rd International Workshop on Ant Algorithms/ANTS 2002, Lecture Notes in Computer Science, vol.2463, pp.40-52, 2002.</ref>
| |
| *Power Electronic Circuit Design<ref>J. ZHANG, H. Chung, W. L. Lo, and T. Huang, “Extended Ant Colony Optimization Algorithm for Power Electronic Circuit Design”, IEEE Transactions on Power Electronic. Vol.24,No.1, pp.147-162, Jan 2009.</ref>
| |
|
| |
| ==A difficulty in definition==
| |
| {{unreferenced-section|date=January 2010}}
| |
| [[Image:Aco shortpath.svg|thumb|200px]]
| |
| With an ACO algorithm, the shortest path in a graph, between two points A and B, is built from a combination of several paths. It is not easy to give a precise definition of what algorithm is or is not an ant colony, because the definition may vary according to the authors and uses.
| |
| Broadly speaking, ant colony algorithms are regarded as [[people|populated]] [[metaheuristics]] with each solution represented by an ant moving in the search space. Ants mark the best solutions and take account of previous markings to optimize their search.
| |
| They can be seen as [[probabilistic]] [[multi-agent]] algorithms using a [[probability distribution]] to make the transition between each [[iteration]]. In their versions for combinatorial problems, they use an iterative construction of solutions.
| |
| According to some authors, the thing which distinguishes ACO algorithms from other relatives (such as algorithms to estimate the distribution or particle swarm optimization) is precisely their constructive aspect. In combinatorial problems, it is possible that the best solution eventually be found, even though no ant would prove effective. Thus, in the example of the Travelling salesman problem, it is not necessary that an ant actually travels the shortest route: the shortest route can be built from the strongest segments of the best solutions. However, this definition can be problematic in the case of problems in real variables, where no structure of 'neighbours' exists.
| |
| The collective behaviour of [[social insects]] remains a source of inspiration for researchers. The wide variety of algorithms (for optimization or not) seeking self-organization in biological systems has led to the concept of "[[swarm intelligence]]", which is a very general framework in which ant colony algorithms fit.
| |
|
| |
| == Stigmergy algorithms ==
| |
| There is in practice a large number of algorithms claiming to be "ant colonies", without always sharing the general framework of optimization by canonical ant colonies (COA). In practice, the use of an exchange of information between ants via the environment (a principle called "[[Stigmergy]]") is deemed enough for an algorithm to belong to the class of ant colony algorithms. This principle has led some authors to create the term "value" to organize methods and behavior based on search of food, sorting larvae, division of labour and cooperative transportation. <ref>A. Ajith; G. Crina; R. Vitorino (éditeurs), ''Stigmergic Optimization'', Studies in Computational Intelligence , volume 31, 299 pages, 2006. ISBN 978-3-540-34689-0</ref>.
| |
|
| |
| == Свързани подходи ==
| |
| *[[Genetic algorithm]]s (GA) maintain a pool of solutions rather than just one. The process of finding superior solutions mimics that of evolution, with solutions being combined or mutated to alter the pool of solutions, with solutions of inferior quality being discarded.
| |
| *[[Simulated annealing]] (SA) is a related global optimization technique which traverses the search space by generating neighboring solutions of the current solution. A superior neighbor is always accepted. An inferior neighbor is accepted probabilistically based on the difference in quality and a temperature parameter. The temperature parameter is modified as the algorithm progresses to alter the nature of the search.
| |
| *[[Tabu search]] (TS) is similar to simulated annealing in that both traverse the solution space by testing mutations of an individual solution. While simulated annealing generates only one mutated solution, tabu search generates many mutated solutions and moves to the solution with the lowest fitness of those generated. To prevent cycling and encourage greater movement through the solution space, a tabu list is maintained of partial or complete solutions. It is forbidden to move to a solution that contains elements of the tabu list, which is updated as the solution traverses the solution space.
| |
| *[[Artificial immune system]] (AIS) algorithms are modeled on vertebrate immune systems.
| |
| *[[Particle swarm optimization]] (PSO), a [[Swarm intelligence]] method
| |
| *[[Intelligent Water Drops]] (IWD), a swarm-based optimization algorithm based on natural water drops flowing in rivers
| |
| *Gravitational Search Algorithm (GSA), a [[Swarm intelligence]] method
| |
| *Ant colony clustering method (ACCM), a method that make use of clustering approach,extending the ACO.
| |
|
| |
| == История==
| |
| <div class="thumb tright" style="width:210px">
| |
| <div class="thumbcaption">
| |
| <div class="magnify" class="internal">
| |
| <timeline>
| |
| ImageSize = width:210 height:300
| |
| PlotArea = width:170 height:280 left:40 bottom:10
| |
|
| |
| DateFormat = yyyy
| |
| Period = from:1985 till:2005
| |
| TimeAxis = orientation:vertical
| |
| ScaleMajor = unit:year increment:5 start:1985
| |
|
| |
| Colors=
| |
| id:fond value:white #rgb(0.95,0.95,0.98)
| |
| id:marque value:rgb(1,0,0)
| |
| id:marque_fond value:rgb(1,0.9,0.9)
| |
| BackgroundColors = canvas:fond
| |
|
| |
| Define $dx = 7 # décalage du texte à droite de la barre
| |
| Define $dy = -3 # décalage vertical
| |
| Define $dy2 = 6 # décalage vertical pour double texte
| |
|
| |
| PlotData=
| |
| bar:Leaders color:marque_fond width:5 mark:(line,marque) align:left fontsize:S
| |
|
| |
| from:1989 till:1989 shift:($dx,$dy) text:comportement collectifs
| |
| from:1991 till:1992 shift:($dx,$dy) text:Ant System (AS)
| |
| from:1995 till:1995 shift:($dx,$dy) text:continuous problem (CACO)
| |
| from:1996 till:1996 shift:($dx,$dy) text:Ant Colony System (ACS)
| |
| from:1996 till:1996 shift:($dx,$dy2) text:MAX-MIN Ant System (MMAS)
| |
| from:2000 till:2000 shift:($dx,$dy) text:proof to convergence (GBAS)
| |
| from:2001 till:2001 shift:($dx,$dy) text:multi-objectif
| |
|
| |
| </timeline>
| |
| </div>
| |
| Chronology of COA Algorithms.
| |
| </div>
| |
| </div>
| |
|
| |
| Chronology of Ant colony optimization algorithms.
| |
| * 1959, Pierre-Paul Grass invented the theory of [[Stigmergy]] to explain the behavior of nest building in [[termites]]<ref>P.-P. Grassé, ''La reconstruction du nid et les coordinations inter-individuelles chez Belicositermes natalensis et Cubitermes sp. La théorie de la Stigmergie : Essai d’interprétation du comportement des termites constructeurs'', Insectes Sociaux, numéro 6, p. 41-80, 1959.</ref>;
| |
| * 1983, Deneubourg and his colleagues studied the [[collective behavior]] of [[ants]]<ref>J.L. Denebourg, J.M. Pasteels et J.C. Verhaeghe, ''Probabilistic Behaviour in Ants : a Strategy of Errors?'', Journal of Theoretical Biology, numéro 105, 1983.</ref>;
| |
| * 1988, and Moyson Manderick have an article on '''self-organization''' among ants<ref name="F. Moyson, B. Manderick">F. Moyson, B. Manderick, ''The collective behaviour of Ants : an Example of Self-Organization in Massive Parallelism'', Actes de AAAI Spring Symposium on Parallel Models of Intelligence, Stanford, Californie, 1988.</ref>;
| |
| * 1989, the work of Goss, Aron, Deneubourg and Pasteels on the '''collective behavior of Argentine ants''', which will give the idea of Ant colony optimization algorithms<ref name="S. Goss" />;
| |
| * 1989, implementation of a model of behavior for food by Ebling and his colleagues <ref>M. Ebling, M. Di Loreto, M. Presley, F. Wieland, et D. Jefferson,''An Ant Foraging Model Implemented on the Time Warp Operating System'', Proceedings of the SCS Multiconference on Distributed Simulation, 1989</ref>;
| |
| * 1991, M. Dorigo proposed the '''Ant System''' in his doctoral thesis (which was published in 1992<ref name="M. Dorigo, Optimization, Learning and Natural Algorithms" />). A technical report extracted from the thesis and co-authored by V. Maniezzo and A. Colorni <ref>Dorigo M., V. Maniezzo et A. Colorni, ''Positive feedback as a search strategy'', rapport technique numéro 91-016, Dip. Elettronica, Politecnico di Milano, Italy, 1991</ref> was published five years later<ref name="Ant system" />;
| |
| * 1996, publication of the article on Ant System<ref name="Ant system" />;
| |
| * 1996, Hoos and Stützle invent the '''MAX-MIN Ant System''' <ref name="T. Stützle et H.H. Hoos" />;
| |
| * 1997, Dorigo and Gambardella publish the '''Ant Colony System''' <ref name="M. Dorigo et L.M. Gambardella" />;
| |
| * 1997, Schoonderwoerd and his colleagues developed the first application to [[telecommunication]] networks <ref>R. Schoonderwoerd, O. Holland, J. Bruten et L. Rothkrantz, ''Ant-based load balancing in telecommunication networks'', Adaptive Behaviour, volume 5, numéro 2, pages 169-207, 1997</ref>;
| |
| * 1998, Dorigo launches first conference dedicated to the ACO algorithms<ref>M. Dorigo, ''ANTS’ 98, From Ant Colonies to Artificial Ants : First International Workshop on Ant Colony Optimization, ANTS 98'', Bruxelles, Belgique, octobre 1998.</ref>;
| |
| * 1998, Stützle proposes initial '''parallel implementations''' <ref> T. Stützle, ''Parallelization Strategies for Ant Colony Optimization'', Proceedings of PPSN-V, Fifth International Conference on Parallel Problem Solving from Nature, Springer-Verlag, volume 1498, pages 722-731, 1998.</ref>;
| |
| * 1999, Bonabeau, Dorigo and Theraulaz publish a book dealing mainly with artificial ants <ref>É. Bonabeau, M. Dorigo et G. Theraulaz, ''Swarm intelligence'', Oxford University Press, 1999.</ref>
| |
| * 2000, special issue of the Future Generation Computer Systems journal on ant algorithms<ref>M. Dorigo , G. Di Caro et T. Stützle, ''Special issue on "Ant Algorithms"'', Future Generation Computer Systems, volume 16, numéro 8, 2000</ref>
| |
| * 2000, first applications to the [[scheduling]], scheduling sequence and [[the satisfaction of constraints]];
| |
| * 2000, Gutjahr provides the first evidence of [[limit of a sequence|convergence]] for an algorithm of ant colonies<ref>W.J. Gutjahr, ''A graph-based Ant System and its convergence'', Future Generation Computer Systems, volume 16, pages 873-888, 2000.</ref>
| |
| * 2001, the first use of COA Algorithms by companies ([http://www.eurobios.com/ Eurobios] and [http://www.antoptima.com/ AntOptima]);
| |
| * 2001, IREDA and his colleagues published the first '''multi-objective''' algorithm <ref>S. Iredi, D. Merkle et M. Middendorf, ''Bi-Criterion Optimization with Multi Colony Ant Algorithms'', Evolutionary Multi-Criterion Optimization, First International Conference (EMO’01), Zurich, Springer Verlag, pages 359-372, 2001.</ref>
| |
| * 2002, first applications in the design of schedule, Bayesian networks;
| |
| * 2002, Bianchi and her colleagues suggested the first algorithm for [[stochastic]] problem<ref>L. Bianchi, L.M. Gambardella et M.Dorigo, ''An ant colony optimization approach to the probabilistic traveling salesman problem'', PPSN-VII, Seventh International Conference on Parallel Problem Solving from Nature, Lecture Notes in Computer Science, Springer Verlag, Berlin, Allemagne, 2002.</ref>;
| |
| * 2004, Zlochin and Dorigo show that some algorithms are equivalent to the [[stochastic gradient descent]], the [[cross-entropy]] and [[algorithms to estimate distribution]] <ref name="Zlochin model-based search"/>
| |
| * 2005, first applications to folding [[protein]] problems.
| |
|
| |
| == Източници ==
| |
| {{Reflist}}
| |
|
| |
| == Избрани публикации ==
| |
| * [[Marco Dorigo|M. Dorigo]], 1992. ''Optimization, Learning and Natural Algorithms'', PhD thesis, Politecnico di Milano, Italy.
| |
| * M. Dorigo, V. Maniezzo & A. Colorni, 1996. "Ant System: Optimization by a Colony of Cooperating Agents", IEEE Transactions on Systems, Man, and Cybernetics–Part B, 26 (1): 29–41.
| |
| * M. Dorigo & [[Luca Maria Gambardella|L. M. Gambardella]], 1997. "Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem". IEEE Transactions on Evolutionary Computation, 1 (1): 53–66.
| |
| * M. Dorigo, G. Di Caro & L. M. Gambardella, 1999. "Ant Algorithms for Discrete Optimization". Artificial Life, 5 (2): 137–172.
| |
| * E. Bonabeau, M. Dorigo et G. Theraulaz, 1999. ''Swarm Intelligence: From Natural to Artificial Systems'', Oxford University Press. ISBN 0-19-513159-2
| |
| * M. Dorigo & T. Stützle, 2004. ''Ant Colony Optimization'', MIT Press. ISBN 0-262-04219-3
| |
| * M. Dorigo, 2007. [http://www.scholarpedia.org/article/Ant_Colony_Optimization "Ant Colony Optimization"]. Scholarpedia.
| |
| * C. Blum, 2005 "Ant colony optimization: Introduction and recent trends". Physics of Life Reviews, 2: 353-373
| |
| * M. Dorigo, M. Birattari & T. Stützle, 2006 ''[http://iridia.ulb.ac.be/IridiaTrSeries/IridiaTr2006-023r001.pdf Ant Colony Optimization: Artificial Ants as a Computational Intelligence Technique]''. TR/IRIDIA/2006-023
| |
| *Mohd Murtadha Mohamad,”Articulated Robots Motion Planning Using Foraging Ant Strategy”,Journal of Information Technology - Special Issues in Artificial Intelligence, Vol.20, No. 4 pp. 163-181, December 2008, ISSN0128-3790.
| |
|
| |
| == Въъншни препратки ==
| |
| *[http://www.aco-metaheuristic.org/ Ant Colony Optimization Home Page]
| |
| * [http://ems.eit.uni-kl.de/index.php?id=156 University of Kaiserslautern, Germany, AG Wehn: Ant Colony Optimization Applet] Visualization of Traveling Salesman solved by Ant System with numerous options and parameters (Java Applet)
| |
| * [http://itoworld.pe.kr/ Department of Electronics & Information Engineering, JBNU, Jeonju, Korea, Ant Colony Optimization]
| |
|
| |
| <!--
| |
| {{collective animal behaviour}}
| |
|
| |
| [[Category:Optimization algorithms]]
| |
| [[Category:Stochastic algorithms]]
| |
|
| |
| {{Link FA|fr}}
| |
|
| |
| [[ca:Algorisme de la colònia de formigues]]
| |
| [[de:Ameisenalgorithmus]]
| |
| [[es:Algoritmo hormiga]]
| |
| [[fa:روش بهینهسازی گروه مورچهها]]
| |
| [[fr:Algorithme de colonies de fourmis]]
| |
| [[id:Algoritma semut]]
| |
| [[ja:蟻コロニー最適化]]
| |
| [[pl:Algorytm mrówkowy]]
| |
| [[pt:Otimização da colônia de formigas]]
| |
| [[ru:Муравьиный алгоритм]]
| |
| [[su:Algoritma sireum]]
| |
| [[uk:Мурашиний алгоритм]]
| |
| [[zh:蚁群算法]] -->
| |