Кажаров А.А.КурейчикВ.М.AIS'2013.ppt
- Количество слайдов: 49
ИССЛЕДОВАНИЕ И РАЗРАБОТКА МОДИФИКАЦИЙ МУРАВЬИНОГО АЛГОРИТМА В. М. Курейчик, А. А. Кажаров kur@tsure. ru, persianland 1987@gmail. com Конгресс: АИС – 2013, Дивноморск 2 -9 сентября 2013 г. 1
Муравьиные алгоритмы Данный класс алгоритмов разрабатывался в рамках научного направления «природные вычисления» . Исследования в этой области начались в середине 90 -х годов XX века. Автором идеи является Марко Дориго. Основная идея - моделирование поведения колонии муравьев. 2
Постановка задачи • Дан граф G=(X, U) • |X| = n – множество вершин (города) • |U| = m – множество ребер (возможные пути между городами). • Дана матрица чисел D(i, j), где i, j 1, 2, …, n, представляющих собой стоимость переезда из вершины xi в xj. • Цель: найти перестановку φ из элементов множества X, такую, что значение ЦФ равно: 3
Основные положения Муравьиная колония – многоагентная система. Взаимодействие – феромон, откладываемый муравьями на пройденном пути. При выборе направления движения муравей исходит из: • желания пройти кратчайший путь; • опыта других муравьев, информацию о котором получаем непосредственно через уровень феромонов на каждом пути. Отрицательная обратная связь (локальный оптимум) – испарение феромонов. 4
Свойства муравья Муравей обладает «памятью» , в котором хранится список городов Ji, k, которые необходимо посетить муравью k, находящийся в городе i. Муравьи обладают «зрением» , определяемый по следующей формуле: ηij = 1/Dij. Муравей улавливает след феромона, который определяет желание муравья пройти по данному ребру. Уровень феромона в момент времени t на ребре Dij будет соответствовать τij(t). 5
Уровень феромона (1) где Q – параметр, имеющий значение порядка длины оптимального пути(задается ЛПР), Lk(t) – длина маршрута Tk(t). 6
Пример расчета уровня феромонов Tk = 1 -2 -6 -3 -5 -4 -7 -1 Lk = 9+8+9+13+14+15+10 = 78 Q = 100 7
Уровень феромона Обновление феромона на каждой итерации определяется следующим выражением: (2) где m – количество муравьев, p – коэффициент испарения (0 ≤ p ≤ 1), τi, j(t) – уровень феромонов на ребре (i, j) на t-й итерации Δτij, k – количество феромонов, откладываемое на ребре (i, j) k-м муравьем согласно формуле (1) 8
Пример обновления уровня феромона t-я итерация (t+1)-я итерация 4 4 τ7, 4=6 7 7 τ7, 4=7. 5 где m = 3, количество муравьев p =0. 5, коэффициент испарения τ7, 4(t)=6, уровень феромонов на ребре (7, 4) Δτ7, 4, 1 (t)=1. 5, кол-во отложенного феромона 1 -м муравьем по формуле (1) Δτ7, 4, 2 (t)=1, кол-во отложенного феромона 2 -м муравьем по формуле (1) Δτ7, 4, 3 (t)=2, кол-во отложенного феромона 3 -м муравьем по формуле (1) 9
Вероятность перехода в вершину • Вероятность перехода муравья из вершины i в вершину j будет определяться следующим соотношением: (3) где α, β – параметры, задающие веса следа феромона. Они определяют «жадность» муравья. При α=0 муравей стремиться выбирать кратчайшее ребро, при β=0 – ребро с наибольшим количеством феромона. 10
Пример поведения муравья Текущая вершина: 4 Пройденный маршрут: 1 -6 -5 -4 Не пройденные вершины: 2, 3, 7, 8 Муравей определяет следующую из смежных вершину: 3, 7. 11
Распределение вероятностей перехода из одной вершины в другие Рассчитав вероятности перехода из вершины 1 в 2, 3, 4, 5 на основе формулы (1), получаем «колесо рулетки» для выбора следующей вершины 12
Пример Рассмотрим геометрическую симметричную задачу коммивояжера. Длина ребер равна евклидову расстоянию между вершинами. Слева на анимации – движение муравьев, посередине – «феромонная» карта, справа – текущее лучшее решение.
Пример Симуляция поведения муравья а) начальное распределение б) промежуточное распределение в) конечное распределение Красный круг – колония, точки – муравьи. Черным цветом обозначено препятствие, феромоны - красным. 14
Временная сложность муравьиного алгоритма ВСА по Дж. Мак. Конеллу, М. Дориго и других авторов оценивается как: 2) O(t*m*n t – количество итераций (время жизни колонии) m – количество муравьев n – количество вершин в графе 15
Модификации муравьиного алгоритма 16
«Элитные» муравьи Уровень феромонов на ребрах лучшего маршрута равен следующей величине: (4) L*(t) – длина лучшего маршрута на момент времени t Ae – «авторитет» элитных муравьев Ae = 0. Полностью игнорируется влияние «элитного» муравья. Ae (0, 1). В этом случае уровень феромонов на лучшем маршруте уменьшается. Ae = 1. Влияние «элитных» муравьев равнозначно другим. Ae (1, ). Усиливается влияние «элитных» муравьев. 17
Пример расчета уровня «элитных» феромонов Tk = 1 -2 -6 -3 -5 -4 -7 -1 Lk = 9+8+9+13+14+15+10 = 78 Q = 100 Ae = 2 18
Начальное расположение колонии «Одеяло» – стандартное размещение муравьев, в каждой вершине находиться по одному муравью. Тогда ВСА: O(t*n 3), поскольку n=m; «Дробовик» – случайное распределение муравьев на вершины графа; «Фокусировка» – вся колония находится в одной вершине; «Блуждающая колония» – в на каждой итерации, вся колония перемещается в случайно выбранную вершину. 19
Шаблоны – фрагменты решений. Шаблон формируется как массив B из n элементов, состоящий из 0 и неповторяющихся чисел от 1 до n, где n – число вершин. Алгоритм декодирования шаблонов для ориентированного графа: Если муравей попал в вершину i и Bi ≠ 0, то он выбирает ребро (i, Bi ) 20
Пример построения шаблона Пусть сформирован следующий шаблон: {7, 6, 0, 0, 0, 3, 0} Тогда в решении присутствуют ребра (1 -7), (2 -6), (6 -3) 21
Сужение пространства поиска на основе шаблонов Пространство поиска Построение новых шаблонов Муравьиный алгоритм Использование шаблонов позволяет сузить пространство поиска, т. к. кол-во вычислений и вариантов решений уменьшается с увеличением числа и размеров строительных блоков. нет Условие останова да Вывод 22
Стратегии формирования шаблона Статическая • Шаблон формируется перед работой муравьиного алгоритма на основе знаний о длинах ребрах – выборка K кратчайших ребер Динамическая • Шаблон формируется в ходе работы муравьиного алгоритма. При этом если вероятность перехода из вершины i в j превысит заданное ограничение (Plim < 1), то ребро (i, j) заносится в шаблон. 23
Локальный поиск Данная модификация основана на использовании частичного перебора; Для перебора используется метод «ветвей и границ» ; Перебор применяется к случайной части решения, т. е. к подмаршруту; Количество вершин в подмаршруте незначительна, составляет порядка 7 -15. «Выпрямитель» - интеллектуальный блок, принимающий на входе множество вершин и ребра между ними, и выдающий их кратчайший обход; Можно выделить два вида «выпрямителей» : промежуточный и дополнительный. 24
Пример Пусть задан следующий обход вершин: 9 -8 -3 -7 -2 -10 -5 -4 -6 -1 -9 Применим локальный поиск для подмаршрута размерностью l=5, с 4 позиции по 8: Вершины (7, 2, 10, 5, 4) > Маршрут (7 -2 -5 -10 -4) 25
Псевдокод модифицированного муравьиного алгоритма • • • • • 1. Ввод матрицы расстояний D 2. Инициализация параметров алгоритма - α, β, Q, Ae, l 3. Инициализация ребер – присвоение видимости ηij и начальной концентрации феромона 4. Начальное размещение муравьев 5. Выбор начального кратчайшего маршрута T* и определение L* 6. Цикл по времени жизни колонии t=1, tmax 7. Цикл по всем муравьям k=1, m 8. Построить маршрут T на основе (3) и шаблона и рассчитать длину L 9. Выпрямление и пересчет L 10. Если L < L*, то L*=L и T*=T 11. конец цикла по муравьям 12. Цикл по всем ребрам графа 13. Обновить следы феромона на ребре на основе (2) 14. конец цикла по ребрам 15. Обновить следы феромона «элиты» на основе (4) 16. конец цикла по времени 17. Вывести кратчайший маршрут T* и его длину L* 26
Анализ ВСА ØВСА по М. Дориго зависит от числа вершин n, размера колонии m и числа итераций T (время жизни колонии) – O(T*m*n 2). Из (1) следует, что ВСА зависит и от параметров α и β, т. к. возведение в степень – операция, ВСА которого O(log(α)), где α – значение степени. Тогда ВСА выражается следующей зависимостью: O(T*m*n 2*(log(α)+log(β))) ØОтметим, что ηij и β являются константой, следовательно ηijβ – константа. Тогда для повышения быстродействия ηij удобно вычислять как ηij = (1/Dij)β. Тогда ВСА: O(T*m*n 2*log(α)) 27
Экспериментальные исследования 28
Зависимость времени работы алгоритма от числа вершин • • длительность жизни колонии T=100 итераций; размер колонии m=100 муравьев; коэффициент α = 1; коэффициент β = 3; авторитет «элитных» муравьев – 2; длина выпрямления – 6; длина дополнительного выпрямления – 12. Толстой линией обозначен график ВСА с использованием шаблона (Ps = 0. 999), тонкой – без него, прямоугольники – разность в работе по времени. Экспериментальные исследования показали, что муравьиный алгоритм с использованием шаблона работает меньше времени, чем без него, без потери качества получаемого решения при Ps = 0. 999. 29
Зависимость времени работы алгоритма от числа итераций • • • размер колонии m=100 муравьев; коэффициент α = 1; коэффициент β = 3; авторитет «элитных» муравьев – 2; число вершин – 100. Толстой линией обозначен график ВСА с использованием шаблона (Ps = 0. 999), тонкой – без него, прямоугольники – разность в работе по времени. Экспериментальные исследования показали, что муравьиный алгоритм с использованием шаблона работает меньше времени, чем без него, без потери качества получаемого решения при Ps = 0. 999. 30
Зависимость ЦФ от значений параметров эвристик α и β. Оптимальные параметры: α=1 и β=4 31
Зависимость значения ЦФ от размера колонии Обобщенный график зависимости значения ЦФ от размера колонии: Увеличение числа муравьев ведет к уменьшению значения ЦФ до определенного момента, пока число муравьев m не примет оптимальное значение. При дальнейшем увеличении размера колонии алгоритм начинает выдавать худшие решения. Это связано с тем, что избыточное количество муравьев выделяют столько феромонов, что влияние процесса испарения становится пренебрежимо малым. 32
Зависимость оптимального размера колонии от размера задачи • • • Синим цветом показан график зависимости оптимального размера колонии, полученный экспериментально. Белым цветом отображена линия тренда – аппроксимированная кривая второго порядка. За основу взято квадратичное уравнение, т. к. с ростом размерности задачи исследуемая муравьями площадь (ребра графа) растет квадратично. Таким образом, уравнение зависимости оптимального числа муравьев от числа вершин в графе описывается следующей зависимостью: m(n) = 0, 0222 n 2 - 0, 1333 n + 8 Величина достоверности аппроксимации равна: R² = 0, 99 33
Результаты тестирования на стандартных бенчмарках eil 30 - 30 вершин 422, 553 34
eil 50 - 50 вершин 428, 967 427, 855 35
eil 70 - 75 вершин 542, 592 542, 309 36
eil 98 - 98 вершин 783, 723 783, 447 37
berlin 52 - 52 вершин Известное наилучшее решение (длина 7542) 38
st 70 – 70 вершин Известное наилучшее решение (длина 675) 39
Верификации задачи маршрутизации автотранспорта каждое транспортное средство имеет ограниченную грузоподъемность (Capacitated VRP – CVRP); каждый заказчик должен быть обслужен в определенный срок (VRP with Time Windows – VRPTW); предприятие использует автотранспорт из нескольких транспортных депо для обслуживания клиентов (Multiple Depot VRP – MDVRP); заказчик может вернуть некоторые товары в депо (VRP with Pick-Ups and Deliveries – VRPPD); доставка может осуществляться в течение нескольких дней (Periodic VRP – PVRP); любой участник задачи может иметь случайное поведение (Stochastic VRP – SVRP); некоторый автомобиль должен забрать товар у клиента после того, как обслужил всех клиентов (VRP with Backhauls – VRPB); существует возможность дозагрузки автомобиля на маршруте (VRP with Satellite Facilities – VRPSF); заказчик может быть обслужен различным автотранспортом (Split Delivery VRP – SDVRP) 40
Применение муравьиных алгоритмов для задачи маршрутизации автотранспорта CVRP (Capacited Vehicle Routing Problem) – задача маршрутизации автотранспорта с ограничением грузоподъемности При сборе пищи муравей старается обходить все точки (расположения пищи) кратчайшим путем, но при этом способен «брать груз» только ограниченного веса. Набрав максимально возможный груз, муравей возвращается в колонию и «разгружается» . Далее он повторяет эти действия на не посещенных местах расположения пищи, пока она вся не будет собрана. 41
Применение муравьиных алгоритмов для задачи маршрутизации автотранспорта MDVRP (Multiplied Depot Vehicle Routing Problem) – задача маршрутизации автотранспорта с множеством депо (складов) 42
Применение муравьиных алгоритмов для задачи маршрутизации автотранспорта VRPTW (Vehicle Routing Problem with Time Window) – задача маршрутизации автотранспорта с временными окнами. Для решения этой задачи необходимо наложить дополнительные правила поведения муравья: Правило 1. Если при достижении вершины j из вершины i, загруженность агента превысит заданную грузоподъемность c, то вероятность перехода равна Pij=0. Правило 2. Если при достижении вершины j из вершины i, время маршрута превысит интервал временного окна fj, то вероятность перехода равна Pij=0. Правило 3. Если вероятности перехода в любую другую ранее не посещенную вершину, не соответствующее депо, из вершины i равны нулю, то агент завершает маршрут возвратом в депо. Правило 4. Если вершина j посещена до начала временного окна sj, то агент ожидает наступления момента sj. 43
Вероятность перехода из вершины i в j для задачи маршрутизации автотранспорта Вероятность перехода в вершину j из вершины i: Pij, k(t) – вероятность перехода k-го муравья из вершины i в вершину j на t–й итерации; τij(t) – уровень феромона в момент времени t на ребре Dij; α, β – это параметры, задающие веса следа феромона, коэффициенты эвристики; γ – коэффициент эвристики, задающий «важность» посещения «открывающихся» заказов, т. е. тех вершин, чьи временные окна открываются раньше; δ – коэффициент эвристики, задающий «важность» посещения «закрывающихся» заказов, т. е. тех вершин, чьи временные окна закрываются; max – функция возврата максимального числа; ηij = 1/Dij; Tk, i – время, затраченное k-м муравьев при достижении вершины i; Ji, k – список посещенных вершин; sj – начало временного окна j-го клиента; fj – конец временного окна j-го клиента; Wk, i – загруженность k-го муравья, при достижении вершины i; dj – вес товара j-го клиента; c – грузоподъемность транспорта. 44
Пример решения задачи маршрутизации автотранспорта 45
Приложения (1) (2) (3) 1. Карта Таганрога 2. Google maps 3. Карта РФ 46
Заключение Экспериментальные исследования показали эффективность применения муравьиного алгоритма на международных тестах. Выявлены лучшие параметры муравьиного алгоритма, зависимости этих параметров от размерности задачи. Разработаны модификации муравьиного алгоритма, позволяющие находить более качественные решения за меньшее время работы алгоритма. 47
Полезные ссылки http: //vk. com/ant_colony_optimization http: //www. rennard. org/alife/english/antsgb. html http: //www. lalena. com/AI/ http: //iridia. ulb. ac. be/~mdorigo/Home. Page. Dorigo/ http: //www. aco-metaheuristic. org/ 48
Литература • • • Штовба С. Д. Муравьиные алгоритмы. 2003 г. Bonavear F. , Dorigo M. Swarm Intelligence: from Natural to Artificial Systems. Oxford university Press. 1999. Corne D. , Dorigo M. , Glover F. New Ideas in Optimization. Mc. Grav-Hill. 1999. Мак. Коннелл Дж. Основы современных алгоритмов. – М. : Техносфера, 2004. Курейчик В. В. , Курейчик В. М. , Родзин С. И. Концепция эволюционных вычислений инспирированных природными вычислениями. «Известия ЮФУ. Технические науки» . Тематический выпуск «Интеллектуальные САПР» . – Таганрог: Изд-во ТТИ ЮФУ, 2009, № 4(93) – 256 с. Курейчик В. М. , Кажаров А. А. Использование роевого интеллекта в решении np-трудных задач. Известия Южного федерального университета. Технические науки. 2011. Т. 120. № 7. С. 30 -36 Гладков Л. А. , Курейчик В. В. , Курейчик В. М. Генетические алгоритмы. – М. : ФИЗМАТЛИТ, 2006 г. Кажаров А. А. , Курейчик В. М. Муравьиные алгоритмы для решения транспортных задач. Теория и системы управления. –М: Изд-во «Наука» . 2010 г. Кажаров А. А. , Курейчик В. М. О некоторых модификациях муравьиного алгоритма. «Известия ЮФУ. Технические науки» . Тематический выпуск «Интеллектуальные САПР» . – Таганрог: Изд-во ТТИ ЮФУ, 2008, № 4(81) – 268 с. Kureichick V. M. , Miagkikh Victor V. V. Some New Features in Genetic Solution of the TSP // Proc. Second Internat. Conf. , UK. Plymouth: University of Plymouth, 1996. P. 294 -296. Кажаров А. А. , Рокотянский А. А. Разработка среды маршрутизации грузоперевозок. Известия Южного федерального университета. Технические науки. 2009. Т. 93. № 4. С. 174 -181. Кажаров А. А. , Курейчик В. М. Использование шаблонных решений в муравьиных алгоритмах. Известия Южного федерального университета. Технические науки. 2013. № 7. С. 17 -22. 49
Кажаров А.А.КурейчикВ.М.AIS'2013.ppt