Сравнительный анализ модифицированных методов муравьиных колоний

№ 4 (40) 2012

А. И. Павленко, канд. техн. наук, доцент Московского авиационного института Ю. П. Титов, студент Московского авиационного института

Сравнительный анализ модифицированных методов муравьиных колоний

Скорость сходимости эвристического алгоритма решения комбинаторных задач относится к его наиболее важным параметрам. По этой причине представляют интерес разработки новых алгоритмов с улучшенными значениями данного показателя.

Введение

В последнее время при решении задач комбинаторной оптимизации широко используются методы метаэври-стики, в основе которых лежат процедуры случайного поиска, позволяющие находить решения, близкие к оптимальным. Метаэв-ристическими (от англ. metaheuristic, meta — «за пределами» и heuristic — «найти») называются алгоритмы, не имеющие, в большинстве случаев, строгого доказательства сходимости, но основанные на естественных правилах выбора, существующих в объектах живой и неживой природы. Метаэвристики обычно применяются для задач, не имеющих удовлетворительного алгоритма решения, или в случае, когда нет практической необходимости реализовывать данный алгоритм при нахождении строго оптимального решения [1].

Среди широкого класса метаэвристиче-ских методов особое место занимает метод оптимизации муравьиными колониями (от англ. ant colony optimization, ACO), предложенный бельгийским исследователем Марко Дориго в 1992 г. [6].

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

оказывается достаточно разумным. Муравьи, как и пчелы, также являющиеся социальными насекомыми, не претерпевали изменений в течение миллионов лет эволюции. Основой стабильности и выживаемости вида является его способность к коллективному взаимодействию, позволяющая решать сложные задачи поддержания жизнедеятельности колонии в изменяющихся условиях.

Фактическое отсутствие у многих видов муравьев зрения и механизмов передачи информации посредством телодвижений, наподобие танца у пчел, восполняется выработанным механизмом взаимодействия и обмена информацией на основе обоняния и выделения специального пахучего вещества — феромона. Отмечая феромоном свой путь и ориентируясь по силе его запаха, оставленного на пути другими муравьями, муравьи способны отыскивать кратчайшие пути к запасам пищи.

Этот биологический механизм обмена информацией был положен в основу алгоритмов комбинаторной оптимизации на графах и получил название «муравьиный алгоритм» (Ant Colony Optimization — ACO). В настоящее время муравьиные алгоритмы используются для решения широкого класса комбинаторных задач дискретной оптимизации, таких как маршрутизация, раскраска графа, календарное планирование, квадратичная задача о назначениях, оптимизация сетевых графиков, задача коммивояжера и многие другие.

№ 4 (40) 2012

Ряд исследователей [2, 3] отмечают, что на сегодняшний день муравьиные алгоритмы весьма конкурентоспособны по сравнению с другими метаэвристиками и для некоторых задач дают наилучшие результаты.

Достаточно удобна для исследования муравьиных алгоритмов задача коммивояжера [4]. Как известно, она относится к NP-трудным, и точный переборный алгоритм ее решения имеет факториальную сложность.

Задача формулируется как поиск минимального по стоимости замкнутого маршрута по всем вершинам без повторений на полном взвешенном графе с п вершинами. Содержательно вершины графа являются городами, которые должен посетить коммивояжер, а веса дуг отражают расстояния (длины) или стоимости проезда.

Общие положения по муравьиному алгоритму

Муравьи (агенты) перемещаются по графу исходя из правил: чем больше феромона на дуге, тем больше вероятность агента выбрать этот путь.

Вероятность перехода агента по дуге i -\ рассчитывается по формуле:

7 (?) =

т „

I т

( ^¡к 0,7 г

, 7 е Jl

Количество феромона на дугах постоянно меняется. Агенты, определив решение, оставляют на всех дугах, по которым прошли, количество феромона, вычисляемое по формуле:

Q

—,

¿т „к (?) =

0,

где А т 7 к (?) — изменение феромона на дуге / -7, Q — общее количество феромона у муравья, Lk (?) — длина пройденного агентом пути, Тк (?) — набор дуг, пройденных к-м агентом.

После окончания итерации (т. е. когда все агенты завершили проход по графу) определяется количество феромона, которое оставят на своих путях агенты. Изменение количества феромона на дугах / -7 вычисляется по формуле:

7 (? +1) = Р  (т н(?) + £¿7 (?)),

где ? — момент времени, в которое агент приходит в вершину /, / — вершина, в которой находится агент, 7 — следующая на пути агента вершина, вероятность перехода в которую вычисляется, к — номер агента, и, к — набор вершин, в которые можно попасть из текущей вершины, т7 (?) — количество феромона на дуге / - 7 в момент времени ?, 2т(( (?) — общее количество феромона на всех дугах, выходящих из вершины /, Р7 к(?) — вероятность перехода /-7 (0 < Р,к (?) < 1). Количество феромона задается некоторым безразмерным числом.

С:

I

где т7 (? + 1) — количество феромона на дуге /-7, на следующей итерации, т7(?) — текущее количество феромона на дуге /-7, р — коэффициент испарения феромона (0 < р < 1), ЪАт^к(t) — общее количество феромона, которое добавили агенты на дугу /-7 на текущей итерации.

При решении задачи коммивояжера необходимо учитывать условие, запрещающее агенту более раза заходить в одну и ту же вершину. Его выполнение обеспечивается наличием у агента «памяти», т. е. каждый агент помнит, по каким вершинам он прошел. Если агент, не пройдя всех вершин, попадает в вершину /, из которой далее продвигаться не может, то он «умирает», т. е. не оставляет феромона на графе.

Муравьиный алгоритм для задачи коммивояжера

Агентов представим в виде объектов. В памяти каждого агента сохраняется спи-

101

№ 4 (40) 2012

Листинг 1

1 о

¡1

Начало

Пока не найден оптимальный путь, Создать популяцию агентов Поместить агента в начальную вершину Повторять по всем агентам

Пока агент не закончит перемещение

Переместить агента в следующую вершину

Конец Пока

Конец Повторять

Если есть не пройденные вершины То Удалить агента Конец Если Повторять по всем агентам

Добавить феромон на дуги графа Конец Повторять Испарить феромон со всех дуг графа Конец Пока

Вывести список дуг оптимального пути Конец

«Переместить агента в следующую вершину» (*) Начало процедуры

Составить список вершин, достижимых из текущей Удалить посещенные вершины Если список вершин не пуст То

Вычислить общее количество феромонов на доступных дугах Назначить дугам вероятности Выбрать вершину для перехода Переместить агента в выбранную вершину

Увеличить общую длину пройденного пути на величину перемещения

Конец Если Конец процедуры

Л

сок пройденных им вершин и указатель Отметим случай, когда элитные агенты I на вершину, в которой он находится. нашли путь, наименьший по длине за всю

Тогда алгоритм можно представить, как работу алгоритма. Для выделения пути бу-показано в листинге 1. дем использовать другой коэффициент Ае,

что даст возможность выделить эту итерацию алгоритма среди других итераций.

£

й Модификации муравьиного алгоритма

I

| Элитный алгоритм Ранговый алгоритм

Данный алгоритм предполагает наличие

Будем считать, что не все агенты одина- .

у\ м увеличенного количества феромона не толь-

Ц ковы. Тех агентов, которые нашли самый

~ ко у элитных агентов, но и у некоторого чис-

э короткий путь, назовем элитными, откуда

€ ^ у ^ у ла других агентов, с наименьшими длинами

§ и пошло название алгоритма. Эти элитные

. ,. . пройденных путей.

агенты будут заносить в граф больше фе-

уму к м- м- в алгоритме ранжирования агенты сор-

ромонов, чем остальные агенты. Тогда выражение (2) для элитных агентов примет вид:

тируются по возрастанию длин путей, най денных агентами на этой итерации.

Р . „ч .е Q

I 5

дх (£) = а1 —— (4) Для тех агентов, которые нашли самый

е L  (Г)' короткий путь, выражение (2) будет выгля-

где Ае — коэффициент элиты. деть следующим образом:

102 I =

№ 4 (40) 2012

Лте (?) = Ж

L  (?),

где Ж — коэффициент ранжирования.

Для остальных агентов, отсортированных по возрастанию длин пройденных путей, формула (2) будет иметь вид

Лте

L  (?У

где к — порядковый номер агента в упорядоченном списке.

Если параметр Ж = 2, то алгоритм ранжирования превращается в элитный алгоритм с параметром Ае = 2. Поэтому алгоритм ранжирования иногда называют расширением элитного алгоритма.

Исследование алгоритма муравьиных колоний

Исходными данными алгоритма являются:

1) граф;

2) начальная вершина (вершина, из которой выходят агенты);

3) число агентов

4) количество феромона у агента

5) коэффициент испарения феромона (Р).

Для сравнения алгоритмов построим полный граф с десятью вершинами и произвольно выберем в нем начальную вершину. Значения остальных трех параметров будем изменять.

Оценим эффективность алгоритма на основе двух параметров:

1) число необходимых итераций.

2) длина найденного пути.

Так как агенты выбирают путь исходя из вероятностных характеристик, полученные значения рассматриваемых параметров в каждой итерации будут различными, поэтому для оценки эффективности алгоритмов найдем математические ожидания параметров для выборки из 500 опытов.

Зафиксируем Q и Р и будем варьировать количество агентов. Зависимость количества итераций от числа агентов представлена на рис. 1.

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

Алгоритм, основанный на элитной стратегии, показал более быструю сходимость, поскольку конкретный путь определяется уже на первой итерации, и он будет, веро-

С: £

I £

-Стандартный алгоритм -Элитная стратегия -Ранжирование

3 4 5 6 7 9 11 13 15 18 21 25 29 34 40 47 55 64 74

Число агентов

Рис. 1. Зависимость количества итераций от числа агентов

103

№ 4 (40) 2012

2200

Стандартный алгоритм

Элитная стратегия

Ранжирование

3 4 5 6 7 9 11 13 15 18 21 25 29 34 40 47 55 64 74

Число агентов Рис. 2. Зависимость длины пути от числа агентов

1 о

¡1

§ I

со

о ?

а

и

0 &

г И ¡5 €

1 §

«о

¡1 I «I

ятнее всего, использован многими агентами на следующей итерации. В результате алгоритм сходится к решению быстрее.

Быстрая сходимость алгоритма, основанного на ранжировании, обусловлена очень большим количеством феромона, заносимого муравьем, нашедшим самый короткий путь. Кроме того, сразу, исключая из рассмотрения длинные дуги, алгоритм включает в рассмотрение короткие дуги.

На рисунке 2 показано, как изменяется длина найденного пути в зависимости от числа агентов.

Модификации стандартного алгоритма при одинаковом числе агентов позволяют определять более короткие пути, так как происходит выделение коротких дуг большим количеством феромона, чем при использовании стандартного алгоритма.

Из приведенных рисунков очевидно, что по достижении некоторого порогового числа агентов дальнейшее его увеличение не приводит к росту числа итераций и уменьшению длины пути. Назовем это состояние графа состоянием, насыщенным агентами. Насыщение обусловлено конечным числом дуг графа. На приведенных графиках насыщение наступает при числе агентов, превышающем 40. При росте числа агентов выше порога насыщения агенты новых путей уже не находят, и поэтому величина крат-

чайшего пути, найденного агентами, не увеличивается.

Число итераций начинает уменьшаться в результате того, что большее количество агентов начинают выбирать короткий путь, увеличивая на нем количество выделенного феромона. В результате агенты находят путь быстрее. Лучше всего определять такое число агентов, которое приведет к насыщению графа, но оно очень велико и требует многих ресурсов.

Зафиксируем параметры N и Р и будем варьировать количество феромона у муравья.

Из рисунка 3 очевидно, что количество феромона слабо влияет на число итераций. Этот параметр сказывается только на начальном этапе, так как при небольших его величинах количество феромона, которое добавляется на дуги, настолько мало, что почти не увеличивает вероятность прохождения конкретной дуги. Постоянно уменьшающееся число итераций обусловлено также и тем, что при большом количестве феромона выделяются ранее пройденные пути. Модифицированные алгоритмы муравьиных колоний почти не подвержены такому изменению, потому что они выделяют короткие пути другими средствами.

На рисунке 4 показаны результаты эксперимента по оцениванию влияния на дли-

104

№ 4 (40) 2012

250

га а

<и

200

150

100

50

О

\ 1

L ж. •н

Л V » А т- *- Ш- Щ-

А- А А А А

ж

Стандартный алгоритм Элитная стратегия Ранжирование

20 60 100 140 180 220 260 300 340 380

Количество феромонов

Рис. 3. Зависимость количества итераций от количества феромона

S 2000

>

с

га 1900

s

1800

1700

1600

1500

1400

1300

—— Стандартный алгоритм ♦ Элитная стратегия А Ранжирование

4с

20 60 100 140 180 220 260 300 340 380

Количество феромонов

Рис. 4. Зависимость длины пути от количества феромона

ну путей количества выделяемого муравьями феромона.

Как показали эксперименты, увеличение выделяемого муравьями количества феромона на начальном этапе на длину найденного пути влияет мало.

Эксперименты показали также, что количество феромона целесообразно выбирать близким к значению длины предполагаемого кратчайшего пути.

На рисунке 5 приведены графики, показывающие влияние коэффициента испарения феромона на число итераций.

Анализ данного рисунка показывает, что чем выше коэффициент испарения, тем

больше итераций требуется для завершения работы алгоритма. Это вызвано тем, что с ростом коэффициента испарения феромон испаряется быстрее, тем самым превращая выбор между путями в практически равновероятный.

Аналогично исследовались зависимости длины пути от коэффициента испарения феромона (рис. 6).

Среди модификаций стандартного алгоритма трудно выделить наиболее эффективный, так как в этих алгоритмах используются дополнительные параметры, варьирование которыми изменяет и число итераций, и качество найденного решения, поэтому

105

е=

I £

№ 4 (40) 2012

1 о

¡1

§ I

со

о ?

а

и

0 &

г

И §

€

1 §

«о

8 I ¿1

Стандартный алгоритм

Элитная стратегия

Ранжирование

0,1

0,2 0,3

0,4

0,5 0,6 0,7 0,8 0,9 Коэффициент испарения Рис. 5. Зависимость количества итераций от коэффициента испарения феромона

2000

^ 1800 1700 1600 1500 1400 1300 1200

-Стандартный алгоритм -Элитная стратегия -Ранжирование

0,1

0,2 0,3

0,4

0,5 0,6 0,7 0,8 0,9 Коэффициент испарения Рис. 6. Зависимость длины пути от коэффициента испарения

целесообразно исследовать влияние данных параметров на число итераций и длину пути.

Исследование элитного алгоритма

В качестве образца для сравнения алгоритмов возьмем полный граф, состоящий из 30 вершин. Зафиксируем параметры Р, Q. Параметр N будем изменять в пределах от 15 до 24 агентов.

Исследуем алгоритм, основанный на элитной стратегии. Оценим влияние ко-

106

эффициента элиты А на получаемые решения (рис. 7, 8).

Из рисунка 7 очевидно, что при увеличении параметра элиты до определенного уровня растет число итераций. Рассмотрим процесс подробнее. На первой итерации агенты находят короткий путь и выделяют его. На следующей итерации существует вероятность, что один из агентов, проходя по короткому пути, найдет путь еще короче. В результате на данный путь будет занесен феромон, поэтому малейшее изменение длины пути «размажет» феромон по корот-

№ 4 (40) 2012

300

о 250

200

150

100

50

*

I \

1 1 \

V 1 X *

Л -Ж л у* £ I > X ж X 5К.

ш ь. т I 2 * 1 -ф- ж- т 4 Х-1 /Т^ 1 ж * 1 1 I 1 ш § 1 I ш й

N=15

—я- N=17

- -А- N=19

— * - N=21

—Ж - N=23

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Параметр элиты {А)

Рис. 7. Влияние величины параметра элиты (А) на количество итераций

ким путям, которые агенты находят на каждой итерации.

В результате выбор пути будет требовать больше итераций. При определенном значении параметра число итераций начинает уменьшаться в силу того, что начинает оказывать влияние незначительная разность длин дуг.

Увеличение параметра элиты А приводит к уменьшению длины найденного пути, так как растет количество феромона на коротких дугах.

При использовании алгоритма, основанного на элитной стратегии, лучше выбирать большой параметр элиты. Это обеспечит нахождение наиболее короткого пути при небольшом числе итераций.

з 7200

Исследование ранжированного алгоритма

Рисунки 9, 10 отражают влияние на число итераций изменения параметра ранжирования W.

Первый пик на рис. 9 обусловлен тем, что небольшой параметр ранжирования одинаково выделяет короткие пути. Количество феромона на них приблизительно равно, и агенты выбирают путь долго. При последующем увеличении параметра ранжирования происходит спад, обусловленный тем, что короткий путь выделяется сильнее, и итераций в результате требуется меньше. Последующий подъем на графике обусловлен количеством агентов. Этот пик прихо-

га

7000

£ 6800 с

4 6600 6400 6200 6000 5800 5600 5400 5200

1 1 •л

* 1 А,

X 1 3 А V

ж * * ц -ф- А А ♦

V V к

*

V к г X к У А. * * * х- -X. Ж

ж  А X А А А V

/К ж ж ж ж ж- ж -ж- Ж Ж "Ж

N=15

—— N=17

N=19

—* - N=21

—* - N=23

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Параметр элиты (А) Рис. 8. Влияние величины параметра элиты А на длину пути

С:

I £

107

№ 4 (40) 2012

250

^ а

? 200 О

с

и

.5 150

100

50

1

I 1

1 / 1 1 \ А 1 ч Ж»

/ # * £ / . » * ж •V- Ж -Ж -к * х- ,ж -X -х ж. * .ж ж

X ч  -ф- А А * -Аг * А* * 'Х- 4 'X * -X х- X ж X. А. ж I ж

N=15

—— N=17

- -А- - N=19

—X - N=21

- N=23

3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41

Параметр ранжирования

Рис. 9. Влияние величины параметра ранжирования на число итераций.

1 о

¡1

§ I

со

о ?

а

и

0 &

г И ¡5 €

1 §

«о

I

I? Й

I

дится на значение параметра, равное числу агентов. При этом агенты заносят феромон на все найденные пути, в результате путь дальнейшего следования приходится выбирать дольше. При последующем увеличении параметра № число итераций уменьшается, так как увеличивается разрыв между количеством феромона, которое заносит агент на пути близкой длины.

При увеличении параметра ранжирования длина найденного пути сначала уменьшается. Уменьшение связано с тем, что короткие пути помечаются большим количеством феромона. При росте параметра № разность между путями близкой длины увеличивается в несколько раз. В результате при большом значении параметра № на пер-

вом найденном коротком пути остается настолько много феромона, что все агенты начинают двигаться по этому пути, не рассматривая другие варианты. По графикам видно увеличение длины найденного пути при росте параметра ранжирования.

Из рассмотренных зависимостей следует, что значения параметра ранжирования целесообразно устанавливать близкими числу вершин в графе.

Сравнение алгоритмов показало, что при одинаковых значениях числа агентов, количества феромона и коэффициента испарения алгоритм, основанный на ранжировании, находит более короткий путь, чем алгоритм, основанный на элитной стратегии. Но при использовании алгоритмов

с

а

7400 6900 6400 5900 5400 4900

4400

| -А- -А- -А- -А-

* А' А' А-  Д-  I- А Х- Я- -Ах- х- X  Ж * ж

* А ъ- -я- А' ж У X х- Ж' ж ж- ж- ж- <Г\

1 IX А -А- А' ✓ X

1 1 X .X х ж Л

X ж- Ж- Ж ж *

N=15

—— N=17

- -А- - N=19

—X - N=21

—X - N=23

3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41

Параметр ранжирования

Рис. 10. Влияние величины параметра ранжирования (Щ на длину пути

108

№ 4 (40) 2012

В таблице 1 Min (/) означает минимальный £ по длине путь на /-й итерации; Max (/) — мак- ^ симальный по длине путь на /-й итерации; gs M (/) — математическое ожидание длины пу- <э тей на /-й итерации; MGlobal — математиче- | ское ожидание длины путей за работу алго- Ц ритма; M/nGlobal — минимальная длина пу- ss ти, пройденная агентом, за всю работу ал- ^ горитма.

Для того чтобы управлять параметрами агентов, разделим весь процесс нахождения оптимального пути на три этапа:

1) прохождение по всем путям графа, что увеличивает вероятность прохождения всех дуг, составляющих кратчайший путь (иначе он не будет найден);

2) исключение длинных путей;

3) выбор оптимального пути.

Каждый этап определяется своими значениями отношений из табл. 1. Предложим такое изменение параметров системы в зависимости от этапа (рис. 11-13).

На первом этапе целесообразно увеличивать число агентов до момента, пока в системе не наступит насыщение агентами, при котором все дуги графа с высокой вероятностью будут пройдены. В момент насыщения агентами (точка 1) алгоритм пре-

возникает проблема выбора параметров А и Ш. В алгоритме, основанном на элитной стратегии, проще выбрать параметр А, так как при увеличении этого параметра уменьшается как число итераций, так и величина найденного решения. При использовании алгоритма, основанном на ранжировании, требуется точно определить величину параметра ранжирования Ш. При больших значениях параметров А и Ш алгоритм, основанный на ранжировании, находит пути длины большей, чем алгоритм, основанный на элитной стратегии.

Все улучшения базового алгоритма муравьиных колоний основаны на процессе изменения количества феромона в зависимости от длины пути, пройденного агентом. В результате на каждой итерации накапливается некоторая информация о длине пути агента. В результате можно получать такие характеристики путей, как минимальная длина, максимальная длина и математическое ожидание длины.

Модифицированный алгоритм «Королева»

На основе анализа полученных результатов предлагается ввести в существующие алгоритмы некоторый орган управления про- о цессом поиска (назовем его «Королева»). 5

«Королева» не будет контролировать ка- о ждого агента, а изменит только общие па- | раметры алгоритма: количество феромона х у агента, коэффициент испарения феромона и количество агентов. Для изменения этих параметров «Королеве» нужна информация о графе, которой может служить информация о статистических характеристиках длин путей, пройденных агентами на текущей итерации и за весь процесс поиска пути.

В связи с тем, что значение длины путей в каждом конкретном случае может быть любым, для управления процессом целесообразно использовать отношения длин путей. В результате получим несколько отношений, которые позволяют определить состояние процесса поиска (табл. 1).

)1

2

01 23456789 10

Номер итерации

Рис. 11. Изменение параметра N при использовании метода «Королевы»

№ 4 (40) 2012

Таблица 1

Состояние графа

Отношение Состояние графа

МП(/) МтШЬа1 Если отношение равно единице, значит, на данной итерации хотя бы 1 агент прошел по самому короткому из известных путей

Если отношение не равно единице, то ни один агент не прошел по самому короткому из известных путей

Мах(/) Если отношение больше 5, то вероятность пойти по длинным путям еще есть

МтвЫЯ Если отношение меньше 5, значит, все агенты выбирают короткие пути

(Мах(/) - М(/)) (М(/) - М/п(/)) Если отношение больше 1, то большинство агентов выбирают длинные пути

Если отношение меньше 1, то большинство агентов выбирают короткие пути

Положение MGlobal относительно других величин В зависимости от позиции можно говорить о том, как данная итерация изменяет состояние графа

о

X

о г о о.

<и

о

с

о *

1 о

¡1

§ I

со

о ?

а

и

0 &

г И ¡5 €

1 §

«о

8

I «§

120

115

110

105

100

95

2<

/

\

х ш о.

о о

0,6

0,4 .

0,2

2

У \ 51

01 23456789 10

Номер итерации

Рис. 12. Изменение параметра Р при использовании метода «Королевы»

дусматривает резкое уменьшение их количества. В связи с тем, что во время первого этапа количество феромона и коэффициент испарения не менялись, количество феромона на коротких дугах будет больше, чем на длинных. Если теперь на этот граф поместить небольшое количество агентов, они с большей вероятностью пойдут по ко-

01 23456789 10

Номер итерации

Рис. 13. Изменение параметров Q при использовании метода «Королевы»

роткому пути. Чтобы ускорить процесс нахождения оптимального пути, следует увеличить количество феромона и коэффициент испарения (чтобы уменьшить вероятность выбора длинного пути).

После точки 1 начинается второй этап. Если окажется, что граф недостаточно насыщен феромонами, алгоритм опять вернется к этапу 1. Второй этап заканчивается точкой 2. После нее вероятность агента пойти по длинному пути близка к нулю.

Поскольку данный алгоритм не указывает, каким образом распределять феромон

110

№ 4 (40) 2012

10

га а. ф

р- Ж' г м ♦

ж- 4 V

Г г м~ -ш- м

4

- Элитная стратегия

- Предложенный алгоритм

3 4 5 6 7 9 11 13 15 18 21 25 29 34 40 47 55 64 74

Число агентов

Рис. 14. Зависимость количества итераций от количества агентов

между агентами, он может быть модифицирован по аналогии с алгоритмами муравьиных колоний (в него можно добавить элитную или ранжированную стратегии).

Для оценки эффективности алгоритма проводились серии опытов с различным начальным числом агентов. В каждой серии вычислялись математическое ожидание числа итераций и математическое ожидание длины найденного оптимального пути. Число агентов, которые используют алгоритм на каждой итерации, различно, поэтому введем еще один критерий сравнения алгоритмов — математическое ожидание числа агентов на каждой итерации.

На рисунках 14-16 приводятся результаты сравнения алгоритмов «Королева» с использованием элитной стратегии и модифи-

5 124

н

>

с

? 104

цированного алгоритма муравьиных систем, основанного на элитной стратегии.

Число итераций предложенного алгоритма при небольшом числе агентов больше, чем число итераций у основного алгоритма. Это вызвано тем, что предложенный алгоритм сам увеличивает число агентов, а чем больше агентов, тем больше итераций требуется для нахождения оптимального решения. Последнее обстоятельство обусловлено тем, что критерием нахождения оптимального решения является обязательность следования всеми агентами по одному пути.

Путь, получаемый в результате работы предложенного алгоритма, более короткий: большое количество агентов точно проходит большое число путей, следовательно, с большей вероятностью пройдут по пути

с

а

84 64 44 24 4

\

\

- Элитная стратегия -Предложенный алгоритм

3 5 7 11 15 21 29 40 55 74

Число агентов

Рис. 15. Зависимость величины найденного оптимального решения от количества агентов

111

С: £

I £

№ 4 (40) 2012

84 74

у А-

>-

Л-

- Элитная стратегия -Предложенный алгоритм

а.

0

1 64 са

§ 54

Н

2 44

О

5 34 т 24 14 4

3 4 5 6 7 9 11 13 15 18 21 25 29 34 40 47 55 64 74

Число агентов

Рис. 16. Зависимость количества использованных агентов от их начального количества

1

0

1

5 £

! со

о ?

Si

а

и

s

0

6

?

t ¡5

5

1 <0

I

IS i ¿1

наименьшей длины. При большом числе агентов число итераций предложенного алгоритма меньше, чем у основного алгоритма. Это обусловлено уменьшением количества агентов на втором и третьем этапах. На рисунке 14 показано, что при большом числе агентов, т. е. в случае большого числа вершин в графе, предложенный алгоритм уменьшает число агентов, ускоряя поиск оптимального решения.

Заключение

В работе получены следующие результаты.

1. Проведены экспериментальные исследования и дан сравнительный анализ различных модификаций метода муравьиных колоний, который позволяет сделать вывод о том, что эффективность различных модификаций методов определяется структурой графа: для полных графов более эффективным является использование алгоритма ранжирования, для слабо связных графов предпочтительнее стандартный алгоритм.

2. Предложен алгоритм «Королевы», обладающий по отношению к рассмотренным алгоритмам преимуществами:

— длина пути, определяемого алгоритмом «Королевы», меньше длины пути, определяемого другими алгоритмами;

— число итераций и, следовательно, время нахождения решения у алгоритма

«Королевы» меньше, чем у стандартного алгоритма, на котором основывается распределение феромонов;

— алгоритм «Королевы» может находить перенасыщение графа агентами.

К недостаткам алгоритма отнесем необходимость определения функции, которая управляет изменением параметров алгоритма: количеством агентов, количеством феромонов и коэффициентом испарения.

Список литературы

1. Come D., Dorigo M, Glover F. New Ideas in Optimization. McGrav-Hill. 1999.

2. Курейчик В. М, Кажаров А. А. О некоторых модификациях муравьиного алгоритма // Известия ЮФУ. Технические науки. 2008. № 4 (81).

3. Павленко А. И, Титов Ю. П. Методы муравьиной оптимизации в задачах распределения ресурсов // 9-я международная конференция «Авиация и Космонавтика — 2010». Тезисы докладов. М.: МАИ, 2010. — 313 с.

4. Субботин С. А, Олейник Ан. А., Олейник Ал. А. Фрагмент рабочих материалов монографии. Часть III. Интеллектуальные мультиагентные методы. URL: http://www.csit.narod.ru/subject/MA/ MA_lect.pdf.

5. Хэмди Ф. Таха. Введение в исследование операций. М.: Вильямс, 2001. — 912 с.

6. Штовба С. Д. Муравьиные алгоритмы // Exponen-ta Pro. Математика в приложениях. 2003. № 4 (4). С. 70-75.

112