Алгоритъм за оптимизация по метода на мравките

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
Поведението на мравките вдъхновява тази метаевристична техника за оптимизация

Алгоритъмът за оптимизация по метода на мравките (ant colony optimization, ACO) е вероятностен подход за решаване на изчислителни задачи, който може да бъде сведен до откриване на добри пътища през граф.

Основният такъв алгоритъм и неговите различни модификации образуват подмножество на класа алгоритми за метаевристична оптимизация. За първи път предложен от проф. Марко Дориго в докторската му дисертация от 1992 година [1] [2], оригиналният алгоритъм за оптимизация по метода на мравките е имал за цел да търси оптимален път в граф на базата на поведението на мравките, търсещи път между своята колония и даден източник на храна. От тогава до днес оригиналната идея на Дориго е многократно разширявана и модифицирана, за да решава по-широк клас от изчислителни задачи, и в резултат са се появили няколко нови проблема и подхода, базирани на различни други аспекти от поведението на мравките.

Разясняване на понятието[редактиране | edit source]

В реалността, истинските мравки (първоначално) се движат по случаен начин и при откриване на източник на храна се завръщат към гнездото на колонията си, като по целия обратен път полагат следи от вещество, наречено феромон, което служи за комуникация с останалите мравки. Ако други мравки се натъкнат на маршрута на първата мравка, те с голяма степен на вероятност престават да се движат по случаен начин, а поемат по оставената следа от феромон до източника на храна и в случай, че също открият храна, при връщането си полагат собствена следа от феромон върху вече съществуващата. По този начин количеството феромон се увеличава и маршрута до източника на храна става още по-привлекателен за следващите мравки.

Феромонът обаче има свойството да се изпарява с времето, което снижава способността му да привлича други мравки. Колкото повече време отнема на една мравка да премине разстоянието до източника на храната и обратно, толкова повече феромонът се изпарява. За сравнение, един по-кратък път между същите две крайни точки, бива извървян за по-кратко време и интензитетът на феромона остава по-висок. В контекста на алгоритъма на мравките, изветряването на феромона представлява предимство, тъй като се избягва сходимостта на алгоритъма към решение, представляващо локален оптимум. Ако не съществуваше ефектът с изпарението, то пътищата избрани от първите "мравки" биха имали тенденцията да са прекомерно привлекателни за всички следващи, което на свой ред би ограничило значително изследваната от "мравките" област на решенията.

По този начин, когато една мравка открие добър (т.е. кратък) път от мравуняка си до някакъв източник на храна, с голяма вероятност и други мравки ще последват пътя й и постепенно положителната обратна връзка ще доведе до това всички мравки да следват един и същ път. Идеята на алгоритъма за оптимизация по метода на мравчената колония е да се имитира това поведение с "изкуствени (симулирани) мравки", които се движат по дъгите на граф, представляващ областта на възможните решения, като откритият от мравките път представлява оптималното от тези решения.

Представяне на алгоритъма[редактиране | edit source]

Aco branches.svg

Оригиналната идея за алгоритъма произлиза от наблюденията как мравки усвояват източници на храна и по-специално от наблюдението, че индивидуално ограничените откъм когнитивни възможности мравки, взети заедно, откриват най-кратък път между източника на храната и своя мравуняк.

  1. Първата мравка открива източника на храна (F) по някакъв (без значение какъв) начин (a), завръща се в гнездото си (N), оставяйки след себе си следа от феромон (b).
  2. Мравките безразборно следват четири възможни пътя, но затвърждаването на някой от тях посредством полагането на повече феромон го прави по-привлекателен като най-краткия маршрут.
  3. Мравките поемат по най-краткия маршрут, като така дълги отрязъци от други маршрути губят привлекателността си, поради постепенното изпаряване на феромона от тях.

В серия от експерименти с мравчени колонии, с възможен избор между различни по дължина пътя водещи до един и същ източник на храна, биолози са наблюдавали, че мравките проявяват склонност да откриват най-късия път. [3][4] Моделът, обясняващ това поведение, е следният:

  1. Една мравка (наречена "блиц") се движи повече или по-малко на случаен принцип в близост до колонията си;
  2. Ако тя се натъкне на източник на храна, тя се връща относително директно в мравуняка, като по обратния път оставя след себе си следа от феромон;
  3. Следите от феромон са привлекателни за другите мравки и тези, които се намират в съседство, са предразположени да поемат по оставената следа, следвайки я сравнително плътно;
  4. При завръщането си в мравуняка, тези мравки усилват следата от феромон по маршрута;
  5. Ако до един и същ източник на храня водят два пътя, за едно и също количество време повече на брой мравки ще изминат по-краткия, отколкото по-дългия път;
  6. Тъй като повече мравки ще избират по-късия път, той ще бъде подсилван с феромон от все повече мравки;
  7. По-дългият път в крайна сметка ще се загуби, тъй като феромонът е летливо вещество и се изпарява с времето;
  8. Накрая всички мравки решително ще избират пътя с високо насищане на феромон, следователно открит ще бъде най-късият път между източника на храната и мравчената колония.

Мравките използват околната среда като средство за комуникация. Те обменят информация индиректно, чрез полагане на феромон по пътя си. Това средство за общуване има локален обхват, тъй като само мравка, която се намира на място, на което е положен феромон, получава информация от предходната мравка. Такава система се нарича "стигмергия" и може да бъде открита в много животински съобщества (изучавана е при строежа на термитни стълбове).

Така този механизъм за решаване на дадена задача, която се оказва твърде сложна, за да е по силите на единични агенти ("мравки"), се явява добър пример за самоорганизираща се система. Тази система се основава на положителна обратна връзка (полагането на феромон привлича други мравки, които следвайки следата сами я подсилват) и на отрицателна обратна връзка (излиняването на пътя поради изпарението на феромона, което предотвратява системата да се препълни с информация и да се срине). На теория, ако количеството феромон остава по всички пътища непроменено във времето, то никой маршрут няма да се изяви като по-привлекателен пред останалите. На практика, поради съществуващите обратните връзки в системата, дори и слабите вариации в привлекателността на дадени пътища позволяват даден маршрут да бъде предпочетен, което с нарастващия брой на мравките, които го избират, води и до изявяването му като оптимален. Алгоритъмът еволюира от състояние на неустойчивост (когато никой път в графа не е по-привлекателен от останалите) към състояние на устойчивост (при което маршрутът се състои от най-привлекателните, т.е. най-често прохождани дъги в графа).

Разширения на понятието[редактиране | edit source]

Следват някои от най-популярните вариации на алгоритмите за оптимизация по метода на мравките.

Оптимизация чрез елитни мравки[редактиране | edit source]

Това е първата по време модификация на алгоритъма. При нея мравките, които към всяка отделна итерация дават най-добро решение, се обявяват за елитни мравки и те получават право да полагат специален феромон по маршрута си.

Минимаксна мравчена оптимизация[редактиране | edit source]

Моделът се променя, като се добавят максимални и минимални количества феромон [τmaxmin] Феромон се полага само по маршрута, отговарящ на глобално най-доброто решение или най-доброто решение за конкретната итерация. Всички дъги се инициализират с τmax и повторно получават стойността τmax при наближаване на ситуация на стагнация. [5]

Мравчена система, базирана на рангове[редактиране | edit source]

Всички решения се ранжират по отношение на фитнес функцията им. После количеството отложен феромон се претегля за всяко решение, по такъв начин, че решенията с по-добри показатели на фитнес функцията да получат повече феромон от тези с по-слаби показатели.

Непрекъсната ортогонална мравчена система[редактиране | edit source]

Механизмът за полагане на феромон при непрекъснатата ортогонална мравчена система е такъв, че позволява на мравките на търсят решения по един колаборативен и ефективен начин. Използвайки ортогоналния метод за дизайн (orthogonal design method), мравките могат да изследват избраните от тях региони от допустимата област бързо и ефикасно с подобрени възможности за глобално търсене и с по-висока точност.

Ортогоналният метод за дизайн и адаптивния метод на радиусите за приспособяване (adaptive radius adjustment method) също могат да бъдат разширени към други оптимизационни алгоритми, предоставяйки по-добри възможности за решаване на задачи от практиката.[6]

Сходимост[редактиране | edit source]

При някои версии на алгоритъма е възможно да се докаже сходимост (т.е. че е възможно да се открие глобален оптимум за крайно време). Първото доказателство за сходимост на алгоритъма за оптимизация по метода на мравките е дадено през 2000 година за граф-базирания алгоритъм на мравките, а впоследствие и за алгоритмите за системи от мравчени колонии и минимаксния алгоритъм за оптимизация. Както при повечето метаевристични методи, и тук е много трудно да се направи теоретична оценка на скоростта на сходимост.

През 2004, Злохин (Zlochin) и негови колеги [7] показват, че алгоритмите за мравчена оптимизация могат да се представят като вариации на стохастичното спускане по градиент (stochastic gradient descent), крос-ентропията (cross-entropy) и алгоритъма за оценка на разпределяне (estimation of distribution algorithm).

Приложения[редактиране | edit source]

Задача за раницата. Мравките предпочитат по-малката капка мед пред по-голямото количество но по-малко хранителна захар

Алгоритмите за оптимизация по метода на мравките са прилагани към множество задачи за комбинаторна оптимизация, вариращи от quadratic assignment to fold protein или routing vehicles. Много производни на тях методи са адаптирани към динамични задачи с реални променливи, стохастични задачи, многоцелеви и паралелни приложения.

Оптимизация по метода на мравките е използвана за достигане на почти оптимални решения на задачата за търговския пътник. Тези алгоритми имат предимство пред използването на симулирано закаляване и генетични алгоритми за сходни задачи, в случаите, когато графът може да се променя динамично: алгоритъмът на мравките може да се адаптира към промените в реално време. Това представлява интерес при задачи за маршрутизация в мрежа и при градски транспортни системи.

Много добър пример за приложението на алгоритъма на мравките е свързан с почти оптималните решения на задачата за търговския пътник. Първият алгоритъм от този клас, наречен Ant system („Система от мравки“) [8] е прилаган за решаване на тази задача, при която целта е да се намери най-краткия маршрут за обхождане на множество от градове.

Общият алгоритъм е относително прост и базиран на множество изкуствени мравки, всяка от които извършваща един от всички възможни обходи на градовете. На всяка итерация, мравката избира да се придвижи от един град до друг в зависимост от следните правила:

  1. Тя трябва да посети всеки град точно по веднъж;
  2. По-отдалечените градове имат по-малък шанс да бъдат избрани (проблема с видимостта);
  3. Колкото по-интензивна е следата от феромон, положена върху пътя, свързваща два града, толкова по-голяма е вероятността този път да бъде избран;
  4. След приключване на обхода, мравката полага повече феромон по пътищата, по които е минала, ако целият маршрут е счетен за къс;
  5. След всяка итерация следите от феромон се изпаряват.
Aco TSP.svg

Примерен псевдокод и формули[редактиране | edit source]

 procedure ACO_MetaHeuristic
   while(not_termination)
      generateSolutions()
      daemonActions()
      pheromoneUpdate()
   end while
 end procedure
Избор на дъга

Мравка се придвижва от връх i до връх j на графа с вероятност


p_{i,j} = 
\frac
{ (\tau_{i,j}^{\alpha}) (\eta_{i,j}^{\beta}) }
{ \sum (\tau_{i,j}^{\alpha}) (\eta_{i,j}^{\beta}) }

където

  • \tau_{i,j} е количеството феромон върху дъгата i,j
  • \alpha е параметър за контрол на влиянието на \tau_{i,j}
  • \eta_{i,j} е привлекателността на дъгата i,j (априори, обичайно 1/d_{i,j}, където d е разстоянието)
  • \beta е параметър за контрол на влиянието на \eta_{i,j}
Обновяване на феромона


\tau_{i,j} = 
(1-\rho)\tau_{i,j} + \Delta \tau_{i,j}

където

  • \tau_{i,j} е количеството феромон върху дадена дъга i,j
  • \rho е скоростта на изпарение на феромона
  • \Delta \tau_{i,j} е количеството на отложения феромон, обичайно представен чрез

\Delta \tau^{k}_{i,j} = 
\begin{cases}
1/L_k &  \\
0 & 
\end{cases}
ако мравката k премине дъгата i,j
в противен случай
където L_k е цената на k-тия обход на мравката (обичайно - дължината).

Задачи за разпределение[редактиране | edit source]

  • Задача за разпределение на работни задания (Job-shop scheduling problem, JSP)[9]
  • Отворена задача за разпределение (Open-shop scheduling problem, OSP)[10][11]
  • Permutation flow shop problem (PFSP)[12]
  • Single machine total tardiness problem (SMTTP)[13]
  • Single machine total weighted tardiness problem (SMTWTP)[14][15][16]
  • Resource-constrained project scheduling problem (RCPSP)[17]
  • Group-shop scheduling problem (GSP)[18]
  • Single-machine total tardiness problem with sequence dependent setup times (SMTTPDST)[19]

Задачи за маршрутизация[редактиране | edit source]

  • Capacitated vehicle routing problem (CVRP)[20][21][22]
  • Multi-depot vehicle routing problem (MDVRP)[23]
  • Period vehicle routing problem (PVRP)[24]
  • Split delivery vehicle routing problem (SDVRP)[25]
  • Стохастична задача за маршрутизация (Stochastic vehicle routing problem, SVRP)[26]
  • Vehicle routing problem with pick-up and delivery (VRPPD)[27][28]
  • Vehicle routing problem with time windows (VRPTW)[29][30][31]

Задачи за назначаване[редактиране | edit source]

  • Quadratic assignment problem (QAP)[32]
  • Generalized assignment problem (GAP)[33][34]
  • Frequency assignment problem (FAP)[35]
  • Redundancy allocation problem (RAP)[36]

Задачи върху подмножества[редактиране | edit source]

  • Задача за покриване на множества (Set covering problem, SCP)[37][38]
  • Задача за разделяне на множества (Set partition problem, SPP)[39]
  • Задача за разделяне на дървовиден граф с ограничения (Weight constrained graph tree partition problem, WCGTPP)[40]
  • Arc-weighted l-cardinality tree problem (AWlCTP)[41]
  • Многомерна задача за раницата (Multiple knapsack problem, MKP)[42]
  • Задача за максимален брой независими множества (Maximum independent set problem, MIS)[43]

Други задачи[редактиране | edit source]

  • Класификационна задача (Classification problem)[44]
  • Ориентирана към връзките маршрутизация в мрежа (Connection-oriented network routing)[45]
  • Connectionless network routing[46][47]
  • Извличане на знания от данни (Data mining)[48][49]
  • Discounted cash flows in project scheduling[50]
  • Разпределение на работни пакети в грид (Grid Workflow Scheduling Problem)[51]
  • Обработка на изображения (Image processing)[52] [53]
  • Интелигентни тестови системи (Intelligent testing systems)[54]
  • Идентификация на система (System identification)[55][56]
  • Нагъване на белтъци (Protein Folding)[57][58]
  • Power Electronic Circuit Design[59]

Свързани подходи[редактиране | edit source]

  • Генетичните алгоритми поддържат цял генетичен фонд от решения, вместо едно-единствено. Процесът по намиране на по-добри решения наподобява механизма на еволюцията, като решенията биват комбинирани и мутирани с цел да се внесат изменения в генетичния фонд и по-слабите от тях биват изхвърляни от него.
  • Симулирано закаляване (Simulated annealing) е свързана техника за глобална оптимизация, която обхожда пространството на решенията чрез генериране на решения по съседство на дадено решение. Ако дадено съседно решение е по-добро от текущото, алгоритъмът продължава работата си с него. По-слабо съседно решение бива предпочетено на вероятностен принцип, в зависимост от разликата между качеството на двете решения и температурен параметър, който подлежи на модификация с напредването на алгоритъма. Избирането на по-слаби решения се прави, за да се избегне изпадане в локален минимум.
  • Табу търсене (Tabu search) е подход подобен на симулираното закаляване в това, че и двата алгоритъма обхождат пространството на решенията чрез изпробването на мутациите на дадено отделно решение. Докато симулираното закаляване генерира само едно съседно мутирало решение, табу търсенето генерира множество мутирали решения и приема за нова стойност решението с най-ниска фитнес функция измежду всички генерирани. За да се предотврати зациклянето и да се насърчи по-голямо движение из пространството на решенията, се поддържа табу списък на частичните и пълните решения. Забранено е алгоритъмът да се придвижва към решение, което съдържа елементите на табу списъка, който на свой ред се обновява при обхождането на решението из пространството на решенията.
  • Алгоритъм за гравитационно търсене (Gravitational Search Algorithm), a Swarm intelligence method
  • Метод за клъстеризация по метода на мравките (Ant colony clustering method).

Източници[редактиране | edit source]

  1. 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.
  2. M. Dorigo, Optimization, Learning and Natural Algorithms, PhD thesis, Politecnico di Milano, Italie, 1992.
  3. 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
  4. 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
  5. T. Stützle et H.H. Hoos, MAX MIN Ant System, Future Generation Computer Systems, volume 16, pages 889-914, 2000
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. B. Pfahring, “Multi-agent search for open scheduling: adapting the Ant-Q formalism,” Technical report TR-96-09, 1996.
  11. C. Blem, “Beam-ACO, Hybridizing ant colony optimization with beam search. An application to open shop scheduling,” Technical report TR/IRIDIA/2003-17, 2003.
  12. T. Stützle, “An ant approach to the flow shop problem,” Technical report AIDA-97-07, 1997.
  13. 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.
  14. M. den Besten, “Ants for the single machine total weighted tardiness problem,” Master’s thesis, University of Amsterdam, 2000.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. P. Toth, D. Vigo, “Models, relaxations and exact approaches for the capacitated vehicle routing problem,” Discrete Applied Mathematics, vol.123, pp.487-512, 2002.
  21. 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.
  22. T. K. Ralphs, “Parallel branch and cut for capacitated vehicle routing,” Parallel Computing, vol.29, pp.607-629, 2003.
  23. 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.
  24. 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.
  25. 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.
  26. 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.
  27. 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.
  28. 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.
  29. 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..
  30. [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.
  31. 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.
  32. T. Stützle, “MAX-MIN Ant System for the quadratic assignment problem,” Technical Report AIDA-97-4, FB Informatik, TU Darmstadt, Germany, 1997.
  33. R. Lourenço and D. Serra “Adaptive search heuristics for the generalized assignment problem,” Mathware & soft computing, vol.9, no.2-3, 2002.
  34. 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.
  35. 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.
  36. 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.
  37. 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.
  38. R. Hadji, M. Rahoual, E. Talbi and V. Bachelet “Ant colonies for the set covering problem,” Abstract proceedings of ANTS2000, pp.63-66, 2000.
  39. V Maniezzo and M Milandri, “An ant-based framework for very strongly constrained problems,” Proceedings of ANTS2000, pp.222-227, 2002.
  40. 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.
  41. C. Blum and M.J. Blesa, “Metaheuristics for the edge-weighted k-cardinality tree problem,” Technical Report TR/IRIDIA/2003-02, IRIDIA, 2003.
  42. S. Fidanova, “ACO algorithm for MKP using various heuristic information”, Numerical Methods and Applications, vol.2542, pp.438-444, 2003.
  43. 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.
  44. 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.
  45. 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.
  46. 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.
  47. 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.
  48. 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.
  49. 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.
  50. 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.
  51. 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.
  52. 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.
  53. H. Nezamabadi-pour, S. Saryazdi, and E. Rashedi, “ Edge detection using ant algorithms”, Soft Computing, vol. 10, no.7, pp. 623-628, 2006.
  54. 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.
  55. 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.
  56. 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.
  57. 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.
  58. 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.
  59. 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.

Избрани публикации[редактиране | edit source]

  • 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 & 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. "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 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.

Външни препратки[редактиране | edit source]

Криейтив Комънс - Признание - Споделяне на споделеното Лиценз за свободна документация на ГНУ Тази страница частично или изцяло представлява превод на страницата „Ant colony optimization“ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс - Признание - Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.