Покрытие методом муравьиной колонии

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

Рубрика Математика
Вид статья
Язык русский
Дата добавления 19.01.2018
Размер файла 68,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ПОКРЫТИЕ МЕТОДОМ МУРАВЬИНОЙ КОЛОНИИ

О.Б. Лебедев (lbk@tsure.ru)

Таганрогский Технологический Институт Южного Федерального Университета, Таганрог

Аннотация

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

решение колония муравьиный

Введение

Задача о покрытии множествами [Андерсон, 2003] сводится к нахождению покрывающего набора минимальной стоимости, является NP-полной. В течение последних лет были предложены различные подходы к решению проблемы покрытия. Главным образом это алгоритмы, основанные на эвристиках, обеспечивающих получение приемлемого результата за полиномиальное время [Андерсон, 2003], [Cordone et al., 2001], [Coudert , 1996], [Деньдобренко и др., 2007]. Тем не менее, возросшие сложность решаемых задач и требования к качеству решения делают актуальной разработку новых более эффективных методов. Сравнение и анализ разработанных алгоритмов покрытия (последовательных, итерационных и т.д.) показывает, что для создания эффективного алгоритма покрытия, отвечающего современным требованиям, необходимы новые технологии и подходы.

В последние годы интенсивно разрабатывается научное направление, объединяющее математические методы, в которых заложены принципы природных механизмов принятия решений [Курейчик и др., 2009], [Мazumder et al., 2003], [Лебедев и др., 2009], [Engelbrecht, 2005], [МакКоннелл, 2004], [Курейчик и др., 2006]. Основу поведения муравьиной колонии составляет самоорганизация, обеспечивающая достижения общих целей колонии на основе низкоуровневого взаимодействия благодаря которому, в целом, колония представляет собой разумную многоагентную систему [Dorigo et al., 2004]. В работе используется представление задачи покрытия в виде адаптивной муравьиной системы, на основе сочетания принципов самообучения и самоорганизации.

1. Постановка задачи

Пусть задана функциональная схема S = {si | i=1,2,…,w}, состоящая из элементов si и множество E ={ei|i=1,2,…,n} типов элементов, образующих покрываемую функциональную схему. Количественный состав схемы по типам элементов опишем вектором B = {bi | i=1,2,…,n}, где bi - число элементов типа ei , входящих в состав схемы. Кроме того, задан набор покрывающих ячеек H = {hj | j=1,2,…,m}. Каждая ячейка имеет свой набор элементов из E. Элементы внутри ячейки между собой не соединены. Количественный состав ячеек выразим с помощью матрицы A = ||aij||nm , где aij - число элементов типа ei в ячейке типа hi. Вектор C = {cj | j=1,2,…,m} конкретизирует для каждой ячейки hj её стоимость cj. Схема считается покрытой ячейками из набора H, если каждый элемент функциональной схемы реализуется элементами из состава выбранных ячеек. Введём целочисленную переменную xj, определяющую число ячеек типа hj, входящих в покрывающий набор. Тогда задача покрытия формулируется следующим образом:

минимизировать

, (1.1)

при ограничениях F

Если в качестве показателя cj принять общее число элементов, присутствующих в составе ячейки hj, т.е. cj равно сумме aij, то F определяет общее число элементов покрывающего набора ячеек.

2.Формирование пространства решений

Для удобства изложения будем осуществлять процесс формирования пространства решений на примере. Пусть покрываемая схема составлена из элементов трех типов: E = {e1,e2,e3}. Количественный состав схемы задается вектором B = {10,30,20}. Набор покрывающих ячеек H = {h1,h2,h3,h4,h5}. Матрица A, представлена на Рис.1.

A=

H1

h2

h3

h4

h5

e1

2

3

1

2

2

e2

2

2

3

2

1

e3

3

1

1

2

2

Рис.1. Матрица A, описывающая количественный состав ячеек

Введём матрицу P, которая отражает граничные требования по количественному составу элементов, покрываемых ячейками каждого типа, P =||pij||nm, где pij - минимальное число элементов типа ei , которое обязательно должно быть покрыто ячейками типа hj, pij 0, pij - целое число. При этом для реализации полного покрытия всех элементов в соответствии с требованиями матрицы P необходимо выполнение ограничений:

(2.1)

Для вышеприведённого примера один из возможных вариантов матрицы P имеет вид, представленный на Рис.2.

P =

h1

h2

H3

h4

h5

bi= pij

e1

2

3

3

1

1

b1= 10

e2

4

4

8

5

9

b2= 30

e3

2

6

5

1

6

b3=20

Рис.2. Матрица граничных требований P

Матрица P однозначно соответствует покрывающему набору ячеек, который формируется следующим образом. Сначала строится матрица D = ||dij||nm . Элемент матрицы dij - целое число, которое определяется как большее целое от pij/aij и фактически равно минимальному числу ячеек типа hj , необходимых для покрытия pij элементов типа ei. Затем в пределах каждого j-го столбца матрицы D находится максимальное число djmax, ( i) [djmax dij]. Оно является минимальным числом xj=djmax ячеек типа hj , гарантированно обеспечивающих покрытие элементов j-го столбца матрицы P.

Для рассматриваемого примера матрица D и покрывающий набор X имеют вид, представленный на Рис.3.

D =

h1

h2

h3

h4

h5

E1

2/2=1

3/3=1

3/1=3

1/2?1

1/2?1

E2

4/2=2

4/2=2

8/3?3

5/2?3

9/1=9

E3

2/3?1

6/1=6

5/1=5

1/2?1

6/2=3

X =

xj

х1

x2

x3

x4

x5

25

2

6

5

3

9

Рис.3. Матрица D и покрывающий набор X

Общее число ячеек в покрывающем наборе Nя=25. Общее число Ni элементов типа ei , входящее в состав покрывающего набора ячеек определяются как N1=51; N2=46; N3=41. Общее число элементов, образующих покрывающий набор, Nэ= N1+ N2+ N3 =138. Итак, матрице P, значения элементов которой удовлетворяют ограничениям (2.1), соответствует одно решение. Таким образом, матрица P является символьным представлением решения задачи покрытия множествами. В работе пространство решений представляется множеством матриц P. Поиск решения сводится к поиску такой матрицы P, т.е. к поиску совокупности таких значений элементов pij матрицы P, которые оптимизируют показатель качества (критерий).

3. Организация поисковых процедур на основе моделировании адаптивного поведения муравьиной колонии

В общем случае поиск решения задачи покрытия осуществляется коллективом кластеров муравьев Z={Zk |k=1,2,…,l}. На каждой итерации муравьи каждого кластера Zk строят свое конкретное решение задачи покрытия в виде матрицы граничных требований Pk=||pkij||nm. Другими словами число решений формируемых муравьями на каждой итерации равно числу кластеров муравьев. Число муравьев в каждом кластере равно числу типов элементов - n в покрываемой функциональной схеме. Каждый i-й муравей zik k-го кластера соответствует типу ei элементов, и решает задачу формирования i-й строки Pki матрицы граничных требований Pk путем выбора конкретных значений pkij с соблюдением ограничений (2.1). Таким образом, каждый i-й муравей zik k-го кластера формирует частичное решение Pki. Полное решение - матрица граничных требований Pk=Pki формируется кластером муравьев Zk={zik|i=1,2,…,n}. Поиск решений осуществляется на n графах поиска решений G1- Gn, имеющих одну и ту же структуру. В работе исследовались два способа откладывания феромона муравьями в процессе поиска решений. При первом способе муравьи откладывают феромон на ребрах графа поиска решений (ГПР), а при втором способе на вершинах ГПР. Кроме того муравьи из разных кластеров обмениваются информацией в соответствии с которой осуществляется коррекция количества феромона на ребрах (или вершинах) ГПР.

Каждый граф Gi(Vi,Ui) соответствует типу ei элемента покрываемой схемы и на нем муравьем zik формируется i-я строка Pki матрицы граничных требований Pk. Базовая структура ГПР формируется следующим образом. Множество вершин Vi\Oi графа Gi разбито на (m-1) стадий Vij, где m - количество типов покрывающих ячеек.

Vij=Vi\Oi, j=1,2,…,(m-1)

Стадия Vij соответствует типу hj покрывающей ячейки. Если aij не равно нулю, то число вершин в каждой стадии равно (bi+1), где bi - число элементов типа ei , входящих в состав покрываемой схемы. Vij ={vijs |s=0,1,2,…, bi}. Вершины в стадии Vij имеют вес от 0 до bi и расположены в порядке возрастания веса сверху вниз. Вес вершины ц(vijs) равен ее порядковому номеру s в стадии Vij, то есть ц(vijs)=s. Если aij равно нулю, то стадия Vij включает только одну вершину с нулевым весом. Вершина Oi - начальная. ц(Oi)=0. Ребра графа Gi(Vi,Ui) ориентированные и связывают вершины соседних стадий Vij и Vi,j+1. Задача каждого муравья zik найти в графе Gi маршрут Mik из вершины Oi до одной из вершин стадии Vi,m-1. Ограничением является суммарный вес ц(Mik) вершин, входящих в маршрут Mik, он должен быть не больше bi, то есть

ц(Mik)bi. (3.1)

Каждая вершина xijs в маршруте Mik определяет значение элемента pkij Pki. При этом pkij= ц(vijs), vijs Mik. Значение последнего элемента pkim в строке Pki определяется как pkim= bi - ц(Mik).

С учетом ограничения (3.1) ребра, связывающие вершины соседних стадий Vij и Vi,j+1 формируются по следующему правилу. Вершина vijс Vij связана с такими вершинами vijs Vi,j+1 для которых выполняются условие

ц(vijс)+ц(vi,j+1,s)bi. (3.2)

Базовая структура ГПР для bi =3 и m =4 представлена на рис. 4.

В общем случае ГПР представляется совокупностью из m стадий (по числу типов покрывающих ячеек) и начальной вершины Oi. В этом случае по схеме, рассмотренной выше, начальная вершина Oi связывается с каждой стадией, в свою очередь каждая стадия связывается с остальными. Для равномерного распределения муравьев и создания равных стартовых условий можно использовать m начальных вершин, при этом каждая начальная вершина связана со своей стадией. Частным случаем является циклическая структура связей стадий: первая стадия связана со второй, вторая с третьей, …, (m-1)-я стадия с m-ой, m-я стадия с первой. Задача муравья zik найти маршрут Mik, включающий по одной вершине из (m-1)-й стадии. Значение последнего элемента pkim в строке Pki определяется как pkim= bi - ц(Mik).

Размещено на http://www.allbest.ru/

Рис. 4. Базовая структура ГПР для bi =3 и m =4

Отметим, что при построении матрицы Dk значения dkij определяется как большее целое от pkij/aij. Другими словами dkij кратно aij. В связи с эти целесообразно использовать значения весов вершин в каждом графе Gi кратными величине aij, то есть ц(vijs)=s·aij. При этом вес последней вершины стадии определяется равным bi. Сформированное таким способом множество вершин в стадии меньше в среднем в aij раз.

Процесс поиска решений итерационный. Каждая итерация l включает четыре этапа. На первом этапе муравьями каждого кластера находится решение задачи покрытия, на втором этапе на ребрах (или вершинах) графов G1- Gn откладывается феромон, на третьем этапе осуществляется коррекция количества феромона на ребрах (или вершинах) ГПР, на четвертом этапе осуществляется испарение феромона. В работе используется циклический (ant-cycle) метод муравьиных систем. В этом случае феромоны откладываются муравьями на ребрах графов G1- Gn после полного формирования решения. Не теряя общности, рассмотрим процесс поиска решения на базовой структуре ГПР.

На первом этапе каждой итерации каждый муравей zik формирует свое собственное частичное решение - маршрут Mik в графе Gi. Моделирование поведения муравьёв в задаче покрытия связано с распределением феромона на множестве ребер (или вершин) графов G1- Gn. Предварительно на всех ребрах (или вершинах) каждого графа Gi откладывается одинаковое (небольшое) количество феромона еi. Значение еi задается априорно. Процесс построения маршрута Mik пошаговый, начиная от вершины Oi, поэтому, вначале, все i-е муравьи zik из всех кластеров помещаются в вершину Oi. Число таких муравьев равно числу кластеров. На каждом шаге агент применяет вероятностное правило выбора очередной вершины в графе Gi для включения ее формируемый маршрут Mik, причем на шаге t в маршрут включается вершина стадии Vit. Процесс выбора осуществляется следующим образом. Обозначим как Mik(t) маршрут, построенный муравьем zik за t шагов, и пусть вершина vitсVit является последней в маршруте Mik(t). На шаге t+1 определяется суммарный вес вершин - ц(Mik(t)), входящих в состав Mik(t). Пусть Гit(с) множество вершин стадии Vi,t+1, смежных вершине vitс, Гit(с)Vi,t+1. Среди множества вершин Гit(с) выделяется подмножество Рit(с) Гit(с) такое, что для каждой вершины vi,t+1,sРit(с) выполняется условие

ц(Mik(t))+ ц(vi,t+1,s) bi, (3.3)

обеспечивающее выполнение ограничения (3.1). Вершины подмножества Рit(с) являются кандидатами для включения в маршрут на шаге t+1.

Агент просматривает все вершины Рit(с). При первом способе для каждой вершины vi,t+1,sРit(с) рассчитывается fcs - суммарное количество феромона, отложенного на ребре графа Gi, связывающего vitсVit с vi,t+1,sРit(с). При втором способе рассчитывается fcs - суммарное количество феромона, отложенного на каждой вершине vi,t+1,sРit(с). Вероятность Pv включения на шаге t+1 вершины vi,t+1,vРit(с) в формируемый отдельным муравьем маршрут пропорциональна суммарному количеству феромона fcv. Pv определяется следующим соотношением

Pv= fcv /, (s | vi,t+1,sР(vitс)) (3.4)

С вероятностью Pv агент выбирает одну из вершин, которая включается в маршрут Mik(t+1).

После построения муравьями маршрутов (каждый муравей zik - свой маршрут Mik за m-1 шагов), формируются частичные решения Pki и полное решение Pk, построенное кластером муравьев Zk. В соответствии с методом, изложенным выше, для каждого решения Pk, находится значение целевой функции Fk.

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

Количество феромона фik(l), откладываемое муравьем zik на каждом ребре (или вершине) построенного маршрута Mik, определяется следующим образом:

фk(l)= Qi / Fk(l), (3.5)

где l-номер итерации, Qi - общее количество феромона, откладываемое муравьем на ребрах(или вершинах) маршрута в графе Gi, Fk(l)- целевая функция для решения, полученного кластером муравьев Zk на l-ой итерации. Чем меньше Fk(l), тем больше феромона откладывается на ребрах (или вершинах) построенного маршрута и, следовательно, тем больше вероятность выбора этих ребер (или вершин) при построении маршрутов на следующей итерации.

Далее, на третьем этапе, осуществляется корректировка количества феромона, отложенного на ребрах (или вершинах) графов G1- Gn, путем обмена информацией о количествах элементов, выбранных агентами, которые должны быть покрыты ячейками типа hj.

Просмотрим матрицу Dk по столбцам. В столбце j находим максимальный элемент (dkoj)max, который и определяет число xj ячеек типа hj в покрывающем наборе, найденное агентами k-го кластера. Величина (dkoj)max соответствует весу вершины j-ой стадии в маршруте Mok, построенном агентом zok , то есть величине (pkoj)max. Для нашего примера рассмотрим 2-й столбец матрицы Dk. Максимальное значение имеет dk32=6. Значение dk32 определяется весом, равным 6, вершины стадии V32 графа G3 в маршруте агента z3k. dk32= pk32 /a32= 6/1=6. Отметим, что число ячеек xj =(dkoj)max будет избыточным для покрытия тех количеств pkij элементов типа ei eo, которые определены в столбце j матрицы Pk.

Поскольку целью оптимизации является минимизация числа покрывающих ячеек, естественным является стремление изменить, а именно уменьшить (dkoj)max, при этом уменьшится как число покрывающих ячеек, так и число избыточно покрытых элементов. В связи с этим при построении маршрута агентом zok на следующей итерации целесообразно вершины стадии Voj с весом равным и большим величины (pkoj)max сделать менее предпочтительными. При первом способе это достигается путем уменьшения количества феромона на величину б на всех ребрах графа Go входящих в вершины стадии Voj с весами от (pkoj)max до bi. В нашем примере уменьшается количество феромона на всех ребрах входящих в вершины стадии V32 графа G3 с весами от 6 до 20. При втором способе это достигается путем уменьшения количества феромона на величину б на всех вершинах стадии Voj с весами от (pkoj)max до bi.

На четвертом этапе происходит общее испарение феромона на ребрах (или вершинах) графов G1- Gn в соответствии с формулой (3.6).

fik = fik·(1- с), (3.6)

где с - коэффициент обновления.

После выполнения всех действий на итерации находится агент с лучшим решением, которое запоминается. Далее осуществляется переход на следующую итерацию. Временная сложность этого алгоритма зависит от времени жизни колонии l (число итераций), количества вершин графа n и числа муравьев m, и определяется как O(l*n2*m).

Заключение

Отличительной особенностью представленного алгоритма является то, что поиск решений осуществляется на n графах поиска решений G1- Gn, имеющих многостадийную структуру связей. С другой стороны муравьиная колония разбита на кластеры и поиск конкретного решения задачи покрытия осуществляется коллективом кластеров муравьев. Экспериментальные исследования проводились на IBM PC. Наивысшая эффективность была достигнута при использовании: циклической структуры ГПР; с числом начальных вершин равным числу стадий; значения весов вершин в каждой стадии Vij графа Gi кратными величине aij; подхода, при котором феромон откладывался на вершинах ГПР. Вероятность получения оптимального решения составила 0.9, а оценки локально оптимальных решений, отличались от глобального оптимума в среднем на 1%. Сравнение с известными алгоритмами показало, что при меньшем времени работы у полученных с помощью муравьиного алгоритма решений значения целевой функции лучше (меньше) в среднем на 6%.

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

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

[Андерсон, 2003] Андерсон Д. Дискретная математика и комбинаторика. М.: Вильямс, 2003.

[Деньдобренко и др., 2002] Деньдобренко Б.П., Малика А.С. Автоматизация проектирования радиоэлектронной аппаратуры. М., Высш. шк., 2002.

[Курейчик и др., 2006] Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Поисковая адаптация: теория и практика. М.: Физматлит, 2006.

[Курейчик и др., 2009] Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Решение задачи покрытия на основе эволюционного моделирования //Известия РАН.Теория и системы управления. 2009, №1.

[Лебедев и др., 2009] Лебедев Б.К., Лебедев В.Б. Планирование на основе роевого интеллекта и генетической эволюции // Известия ЮФУ. Изд-во ТТИ ЮФУ, 2009, №2.

[МакКоннелл , 2004] МакКоннелл Дж. Основы современных алгоритмов. Москва, Техносфера, 2004.

[Cordone et al., 2001] Cordone R., Ferrandi F., Sciuto D., Calvo R.W. An Efficient Heuristic Approach to Solve the Unate Covering Problem. IEEE Transactions on computer-aided design of integrated circuits and systems, vol.120, No.12, December 2001.

[Coudert , 1996] Coudert O., “On solving covering problems”, in proceedings of 30th ACM/IEEE Design automation conference, 1996, pp. 197-202.

[Dorigo et al., 2004] Dorigo M. and Stьtzle T.. Ant Colony Optimization. MIT Press, Cambridge, MA, 2004.

[Engelbrecht, 2005] Engelbrecht A. P. Fundamentals of Computational Swarm Intelligence. John Wiley & Sons, Chichester, UK, 2005.

[Мazumder et al., 2003] Мazumder P., Rudnick E. Genetic Algorithm

Размещено на Allbest.ru


Подобные документы

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

    реферат [361,6 K], добавлен 07.05.2009

  • Особенности математических моделей и моделирования технического объекта. Применение численных математических методов в моделировании. Методика их применения в системе MathCAD. Описание решения задачи в Mathcad и Scilab, реализация базовой модели.

    курсовая работа [378,5 K], добавлен 13.01.2016

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

    курсовая работа [1,1 M], добавлен 23.11.2010

  • Нахождение полинома Жегалкина методом неопределенных коэффициентов. Практическое применение жадного алгоритма. Венгерский метод решения задачи коммивояжера. Применение теории нечетких множеств для решения экономических задач в условиях неопределённости.

    курсовая работа [644,4 K], добавлен 16.05.2010

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

    курсовая работа [799,6 K], добавлен 20.01.2010

  • Возникновение и развитие теории динамических систем. Развитие методов реконструкции математических моделей динамических систем. Математическое моделирование - один из основных методов научного исследования.

    реферат [35,0 K], добавлен 15.05.2007

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

    контрольная работа [2,2 M], добавлен 08.01.2011

  • Методы решения одного нелинейного уравнения: половинного деления, простой итерации, Ньютона, секущих. Код программы решения перечисленных методов на языке программирования Microsoft Visual C++ 6.0. Применение методов к конкретной задаче и анализ решений.

    реферат [28,4 K], добавлен 24.11.2009

  • Изучение полиномиальных уравнений и путей их решений. Доказательство теорем Безу и Штурма. Ознакомление с правилами использования формул Виета, математических методов Лобачевского, касательных и пропорциональных отрезков для определения корней многочлена.

    курсовая работа [782,0 K], добавлен 19.09.2011

  • Основные теоремы и понятия дифференциального исчисления, связи между свойствами функции и её производных (или дифференциалов); применение математических методов в естествознании и технике. Решение уравнений и неравенств с помощью теорем Ролля и Лагранжа.

    курсовая работа [609,9 K], добавлен 09.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.