Kureichik Vladimir Viktorovich
Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 88634383451.
The Department of Computer Aided Design; Head of the Department; Professor.
Polupanov Aleksey Aleksandrovich
Federal State-Owned Educational Establishment of Higher Vocational Education «Admiral F.F. Ushakov Marine State Academy».
E-mail: [email protected].
195, ap. 47, Dzerzhinskogo Street, Novorossiysk, 353900, Russia.
Phone: +79282734490.
Department of Automation and Computing Technics; Associate Professor.
УДК 681.325
Б.К. Лебедев, В.Б. Лебедев
РАЗМЕЩЕНИЕ НА ОСНОВЕ МЕТОДА ПЧЕЛИНОЙ КОЛОНИИ*
Рассматривается алгоритм решения задачи размещения, на основе моделирования поведения пчелиной колонии. Описаны модели поведения агентов разведчиков и агентов фуражиров, механизмы поиска и выбор позиций в заданной окрестности. Приведена общая структура оптимизационного процесса. Экспериментальные исследования проводились на IBM PC. По сравнению с существующими алгоритмами достигнуто улучшение результатов.
Роевой интеллект; пчелиная колония; адаптивное поведение; самоорганизация, размещение, оптимизация.
B.K. Lebedev, V.B. Lebedev PLASEMENT ON THE BASIS OF THE BEER COLONY METHOD
In work the algorithm of the decision of a placing problem, on the basis of modeling of a beer colony behaviour is considered. Models of behaviour of scouts agents and foragers agents, search engines and a choice of positions in the set vicinity are described. The general structure of optimization process is resulted. Experimental researches were spent on IBM PC. In comparison with existing algorithms improvement of results is reached.
Swarm intelligence; a beer colony; adaptive behaviour; self-organizing; placement; optimization.
Введение. Разработка методов и алгоритмов для решения задачи размещения осуществляется на протяжении многих лет, но, по-прежнему, является актуальной. Это связано, в первую очередь, с тем, что эта задача является NP-полной, и разработать универсальный алгоритм, позволяющий находить точное оптимальное решение за приемлемое время затруднительно. Появление новых более совершенных средств вычислительной техники, дающих мощные вычислительные ресурсы, а также повышение требований к проектируемым устройствам, является побудительной причиной разработки новых алгоритмов размещения. Одним из новых направлений таких методов являются мультиагентные методы интеллектуальной
* Работа выполнена при поддержке: РФФИ (грант № 10-07-00055), г/б № 2.1.2.1652. 12
оптимизации [1], базирующиеся на моделировании коллективного интеллекта. Такие методы являются итеративными, эвристическими методами случайного поиска. Среди них особенно активно развиваются методы роевого интеллекта (Swarm Intelligence) [2-4], в которых совокупность сравнительно простых агентов конструирует стратегию своего поведения без наличия глобального управления.
Одним из новейших мультиагентных методов интеллектуальной оптимизации является метод пчелиной колонии [5-9]. Колонии социальных насекомых, таких как пчелы, имеют инстинктивные способности, известные как коллективный интеллект. Высокоорганизованное поведение позволяет колониям насекомых решать проблемы, выходящие за рамки возможностей отдельных членов колонии, путем коллективных действий и примитивного взаимодействия между членами группы. Такая колония характеризуется самоорганизацией, адаптивностью,
Основные механизмы поведения пчел заключаются в следующем. Сначала из улья вылетают в случайном направлении какое-то количество пчел-разведчиков, которые отыскивают источники, где есть нектар. Через какое-то время пчелы возвращаются в улей и особым образом сообщают остальным - где и сколько они нашли нектара. После этого на найденные источники отправляются другие пчелы, причем, чем больше на некотором источнике предполагается найти нектара, тем больше пчел летит в этом направлении. А разведчики опять улетают искать другие источники, после чего процесс повторяется. Иммитация самоорганизации пчелиной колонии составляет основу пчелиного алгоритма оптимизации - нового перспективного метода природных вычислений.
В работе, в соответствии с предложенными в [6,7] математическими моделями поведения пчёл, разработана модификация метода пчелиной колонии для решения задачи размещения, позволяющая находить качественные решения задач большой размерности.
Постановка задачи. Пусть дано множество элементов A={aj\j=1,2,...,n} и множество позиций П={п,^=1,2,...,с} на коммутационном поле (КП). В качестве модели схемы используется гиперграф H=(X,E), где X = (xt | i=1,2, ...,n} - множество вершин, моделирующих элементы, E = {ej | ejcX, j=1,2,...,m} - множество гиперребер, моделирующих цепи, связывающие элементы. Для размещения всех элементов необходимо выполнение условия с>я. Некоторое s-е решение задачи размещения элементов в позициях представляет собой перестановку Vs=<vsl,...,v si,.,vc>, где vsi задает номер элемента, который назначен в позицию п. В зависимости от выбранного критерия для оценки результатов размещения вводится целевая функция F(Vs). Задача сводится к отысканию для каждого элемента таких позиций на КП кристалла CБИС, при которых оптимизируется выбранный показатель качества.
В качестве оценки lj длины цепи tj, моделируемой гиперребром ej, используются: длина минимального связывающего дерева, построенного на множестве вершин ejCX; длина звездного графа, ребра которого инцидентны вершинам ej^ а корневая вершина помещена в центре “тяжести” множества вершин ej; длина полупериметра прямоугольника, описывающего множество вершин ej; суммарная длина ребер полного графа, построенного на множестве ej.
С учетом этого, критерий оптимизации имеет вид:
m
F = Z'j.
J=1
Задача размещения состоит в отыскании оптимального значения функции Е на множестве перестановок V. Для более полного учета связей между задачами размещения и трассировки используется критерий, основанный на оценках числа цепей, пересекающих заданные линии КП. Эти линии могут быть либо прямыми, пересекающими все КП, либо замкнутыми и ограничивающими некоторую область [1]. В настоящее время проводятся интенсивные исследования проблемы размещения, управляемого временными задержками. Разработка расширяемого, мощного и устойчивого алгоритма минимизации временной задержки схемы в процессе размещения является ключевой задачей в разработке топологии микросхем [10].
В работе основное внимание сосредоточено на построении поисковой процедуры размещения оптимизирующей выбранный показатель качества.
Представления решений в алгоритме размещения на основе роевого интеллекта. Основу поведения пчелиного роя составляет самоорганизация, обеспечивающая достижение общих целей роя на основе низкоуровневого взаимодействия. Основная идея парадигмы пчелиной колонии заключается в использовании двухуровневой стратегии поиска. На первом уровне с помощью пчел разведчиков формируется множество перспективных областей, на втором уровне с помощью пчел фуражиров осуществляется исследования окрестностей данных областей. Цель пчелиной колонии найти источник, содержащий максимальное количество нектара.
В алгоритме размещения каждое решение представляется в виде точки (позиции) х; в многомерном пространстве, где каждая координата позиции х, представляет собой один параметр функции Е;, которую надо оптимизировать. Каждая позиция является аналогией источника нектара. Количество нектара содержащегося в некотором источнике определяется координатами соответствующей позиции. Найденное количество нектара представляет собой значение целевой функции в этой точке.
В эвристических алгоритмах роевого интеллекта процесс поиска решений заключается в последовательном перемещении агентов Ьк в многомерном пространстве поиска. Процесс поиска решений итерационный. На каждой итерации I каждый агент Ьк перемещается в новую позицию хк(1). Значения целевой функции Е определяется позициями, выбранными агентами.
Разработка поведенческой модели самоорганизации колонии пчёл, заключаются в разработке методов и механизмов:
♦ формирования роя агентов разведчиков и роя агентов фуражиров;
♦ поиска перспективных позиций разведчиками;
♦ выбора базовых позиций среди перспективных для исследования их окрестностей;
♦ передачи информации между разведчиками и фуражирами;
♦ выбора фуражирами базовых позиций;
♦ выбора фуражирами позиций в окрестности базовой позиций;
♦ общей структуры оптимизационного процесса.
Первая задача при разработке алгоритма на основе парадигмы пчелиной колонии заключается в формировании пространства поиска.
Представим множество позиций КП в виде ортогональной решетки. Позиции пронумерованы. Пусть щ - позиция КП. Каждая щ имеет свои координаты - номер строки и номер столбца решетки. Информация о координатах позиций хранится в виде двумерной матрицы ^=|| кр \\сх2, где ка и к2 - кординаты позиции щв решетке, ка - номер строки, к 2 - номер столбца. Позиция кi =(как¡2) расположена на пересе-
чении строки кп и столбца к2. Будем в дальнейшем пару координат (кик2 рассматривать в качестве эквивалента позиции п,. То есть ж=(кцка). Некоторое ;-е решение задачи размещения элементов в позициях КП представляет собой перестановку У;=<у;Ь...,у;,... у>, где задает номер элемента, который назначен в позицию п,.
Теперь рассмотрим пространство решений. В работе в отличие от стандартной парадигмы вместо метрической (числовой) шкалы используется неупорядоченная лингвистическая шкала. Пространство решений содержит одну ось. В нашем случае позиция пространства решений х; соответствует решению, задаваемому перестановкой У;. Точками отсчета на оси являются значения лингвистической переменной х; неупорядоченные друг относительно друга. Значением х; является некоторая комбинация взаимного расположения элементов в векторе У;. Отметим, что точки отсчета х; на оси определяются после нахождения агентами роя решений V и откладываются в порядке нахождения этих решений.
Ключевой операцией алгоритма является исследование перспективных позиций и их окрестностей в пространстве решений. Рассмотрим принципы формирования окрестности позиции в пространстве решений, опираясь на понятие окрестности позиции в коммутационном поле, то есть окрестности позиции в ортогональной решетке.
Назовем 5-окрестностью позиции п1 множество позиций П1 таких, что координаты любой из позиций множества П1 отличаются от координат позиции п1 не более, чем на величину 5. Пусть 5=1, тогда 5-окрестностью позиции п=(кп,к12), является множество позиций П1={(к11+1, к12), (к11-1, к12), (к11, к12+1), (к11, к12-1), (к11+1, к12+1), (к11+1, к12-1), (к11-1, к12+1), (к1а-1, к12-1)}. Назовем две позиции соседними, если одна из них лежит в окрестности другой. На рис. 1 представлены позиции КП. Позиция п1 залита черным цветом. Множество заштрихованных вершин входят в 5-окрестность П1 позиции п1 для 5 = 1.
Пусть множество элементов А={а^=1,2,...,п} размещено на КП в соответствии с решением У8. После любой взаимной перестановки пары элементов (аь ат), один из которых расположен в позиции п1, а другой в одной из позиций пг, принадлежащей окрестности П1, будет получено новое решение. Пусть паре элементов (аь ат), размещенных в соседних позициях (п1, пг), соответствуют элементы (у81, у8г) вектора У8. Перестановке на КП пары элементов (аь ат) соответствует перестановка пары элементов (у81, у8г) в векторе У8. В результате чего образуется вектор У„. Будем считать, что полученное таким способом решение - вектор У„ лежит в окрестности решения У8. В общем случае окрестность решения У8 составляют решения, полученные путем парной перестановки элементов, расположенных в двух соседних позициях КП. Отметим, что перестановка пары соседних элементов в векторе У8 не всегда приводит к получению решения У„, лежащего в окрестности решения У8.
О о о о о о о о о
о о р о о о о
о о ©- о о о о
о о о о о о
о о о о о о о о о
Рис. 1. Множество позиций КП в виде ортогональной решетки; 8-окрестностъ позиции щ
Организация поисковых процедур на основе моделировании адаптивного поведения пчелиной колонии. На первом шаге задаются основные параметры метода пчелиной колонии: количество агентов пЬ, максимальное количество итераций Ь, начальное количество агентов-разведчиков пг, ограничение максимального количества агентов-разведчиков, пороговое значение размера окрестности д и др.
В начале процесса поиска все агенты расположены в улье, т.е. вне пространства поиска.
На первой итерации (1=1) агенты-разведчики в количестве пг случайным образом размещаются в пространстве поиска. Эта операция заключается в генерации случайным образом множества отличающихся друг от друга решений ¥(1) = {¥,(1)1 ;=1,2,...,пг}, которым соответствует множество позиций
Х(1) = {х;(1)\ ;'=1,2,...,пг}. Для каждого решения ¥;(1) вычисляется значение целевой функции Е;(1). Выбирается пб базовых (лучших) решений, у которых значения целевой функции не меньше, чем значение целевой функции у любого не выбранного решения. Формируется множество базовых (лучших) решений ¥б(1) и соответствующее ему множество базовых (лучших) позиций X б(1).
Предлагается три подхода к определению числа агентов фуражиров, направляемых в окрестности базовых позиций, выбранных агентами разведчиками. При первом подходе агенты фуражиры распределяются по базовым позициям равномерно. При втором подходе агенты фуражиры распределяются по базовым позициям пропорционально значению целевой функции позиции. При третьем подходе реализуется вероятностный выбор. Вероятность р(х,) выбора агентом фуражиром базовой позиции хб; (1) еХ (1) пропорциональна значению целевой функции Е3(!) в этой позиции и определяется как
р(хб,(1))= Е;(1) ^ (Е;(1)).
После выбора агентом фуражиром Ь2 базовой позиции хб(1) е Хб(1), реализуется вероятностный выбор позиции х(1), расположенной в окрестности базовой позиции хб(1). Вероятностный выбор позиции х(1) осуществляется следующим образом. На КП случайным образом выбирается позиция п, а затем в д-окрестности позиции щ случайным образом выбирается позиция пг. После перестановки пары элементов (у;,, у;1) вектора ¥;(1), соответствующих паре (щ, пг), образуется новое решение ¥(1) и соответствующая ему позиция х(1) в которую и помещается фуражир Ьг.
Обозначим множество позиций, выбранных агентами фуражирами в окрестности позиции х;(1) как 0(1). Назовем множество позиций 0/1)ихб/1) областью 0;(1).В каждой области 0/1) выбирается лучшая позиция х ;(1)с лучшим решением ¥*(). Назовем решение ¥*() оценкой области 0,(1). Среди ¥*(1) выбирается лучшее решение ¥ (1), найденное на данной итерации совместно роем разведчиков и роем фуражиров. Лучшее решение ¥ (1) сохраняется, а затем происходит переход к следующей итерации.
Отметим, что в рассматриваемой парадигме пчелиной колонии не важно, знать, каким агентом выбрана позиция в пространстве поиска. Важно знать число агентов-разведчиков и число агентов фуражиров, а также - какие именно позиции выбраны агентами-разведчиками и какие - агентами фуражирами.
В начале второй и на последующих итерациях, прежде всего, формируется множество базовых позицийХ'(1) (1=2,3,...,Ь), составленное из двух частей Хб1(1) и Хб2(1), Хб1(1) и Х2(1)= Хб(1). В первую часть X*1(1) включаются пб1 лучших позиций, среди позиций х;, найденных агентами в каждой из областей, сформированных на предыдущей итерации. Вторая часть Х2(1) формируется также, как и на первой ите-
рации. Отличие заключается в числе пг1 агентов разведчиков, выбирающих случайным способом новые позиции. пг1 <пг. В множество Хб2(1) включается пб2 лучших позиций из пг1 новых позиций, найденных агентами разведчиками на 1-ой итерации. пб1 + пб2 = пб. Далее выполняются действия, аналогичные действиям, рассмотренным на первой итерации. Рассчитывается число агентов фуражиров, направляемых в окрестности каждой базовой позиции. Каждым агентом фуражиром Ьг выбирается базовая позиция х;(1) и позиция х(1), расположенная в окрестности этой базовой позиции. В каждой области 0,(1) выбирается лучшая позиция х (I) с лучшим решением ¥ (I). Среди ¥ (I) выбирается лучшее решение ¥ (I). Если ¥ (I) лучше ¥ (1-1), то оно сохраняется, а затем происходит переход к следующей итерации.
Схема работы роевого алгоритма размещения включает следующие шаги:
1. Задаются основные параметры метода пчелиной колонии:
Ь - максимальное количество итераций;
пг - начальное количество агентов-разведчиков; пб - количество базовых позиций; д - пороговое значение размера окрестности; пу - начальное количество агентов фуражиров;
пб1 - количество базовых позиций, формируемых из лучших позиций х (1), найденных роем на 1-ой итерации; пг1 - количество агентов-разведчиков, выбирающих случайным способом новые позиции;
пб2 - количество базовых позиций, формируемых из лучших новых позиций, найденных агентами разведчиками на 1-ой итерации.
2. Генерация случайным образом множества отличающихся друг от друга решений ¥(1) = {¥;(1)\ ;'=1,2,...,пг}, которым соответствует множество позиций Х(1) = {х(1)\ ;=1,2,...,пг}.
3. Для каждого решения ¥;(1) вычисляется значение целевой функции Е;(1).
4. Формируется множество базовых решений Уб(1)с ¥(1) с лучшими значениями целевых функций Е;(1) и соответствующее множество базовых позиций X б(1)сХ(1). |¥б(1)\ = X б(1)\ = пб.
5. 1=1. (I - номер итерации).
6. г=1. (г- порядковый номер агента фуражира).
7. Выбор с вероятностью р(хб(1)) = Еб;(1) (Еб;(1)) базовой позиции
хб,(1)ЕХб(1).
8. Вероятностный выбор позиции х(1), расположенной в окрестности базовой позиции хб(1), с соответствующим решением ¥(1).
9. Если позиция х(1) совпадает с ранее выбранными позициями, то переход к
8, иначе переход к 10.
10. Позиция х(1)включается в множество 0(1).
11. Расчет значения целевой функции Е() решения ¥г(1).
12. Если 7< пу, то г= г+1 и переход к 6, иначе переход к 13.
13. Формирование для каждой базовой позиции х (I) области 0,(1)=0,(1)ихб,(1).
14. В каждой области 0,(1) выбирается лучшая позиция х (I) с лучшим решением ¥ (I).
15. Среди ¥ (I) выбирается лучшее решение ¥(1).
16. Если ¥ (I) лучше ¥ (1-1), то оно сохраняется, иначе ¥ (1) = ¥ (1-1).
17. Если 1< Ь, то 1= 1+1 и переход к 18, иначе переход к 22.
18. В первую часть Хб1(1) включаются пб1 лучших позиций, среди позиций х ;(1-1), найденных агентами в каждой из 0(1-1) областей, сформированных на предыдущей итерации.
19. Генерация случайным образом множества отличающихся друг от друга решений V(l) = {Vs(l)\ s=1,2,...,nr1}, которым соответствует множество позицийX(l) = {xs(l)\ s=1,2, ...,nrl}. \V(l)\= nrI.
20. Включение в множество X62(l) n62 лучших позиций из множества X(l) новых позиций, найденных агентами разведчиками на l-ой итерации. п61 +п62 = п6.
21. Формирование множества базовых позиций. X6(l)=X61(l)uX2(l). Переход к 6.
22. Конец работы алгоритма. Решение V (l) - лучшее решение, найденное роем агентов.
Временная сложность этого алгоритма зависит от времени жизни колонии l (число итераций), количества позиций с и числа агентов т, и определяется как
O(l*c2*m).
Заключение. На основе сравнительного анализа существующих подходов и методов для решения задачи размещения использованы мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании адаптивного поведения пчелиной колонии. В работе задача размещения представлена в виде набора компонент пчелиного алгоритма. Описаны модели поведения агентов разведчиков и агентов фуражиров, механизмы поиска и выбора позиций в заданной окрестности, усиливающие сходимость алгоритма.
В отличие от стандартной парадигмы роевого метода вместо метрической (числовой) шкалы используются неупорядоченная лингвистическая шкала измерений. Повышения эффективности роевого алгоритма можно добиться путем адаптивного управления параметрами процедуры размещения, такими как размер ¿-окрестности позиции п, соотношение между числом агентов фуражиров и агентов разведчиков и т.д.
Экспериментальные исследования проводились на IBM PC. Для анализа точности получаемых решений был синтезирован ряд примеров с априори известным оптимальным значением целевой функции. Исследованию подвергались примеры, содержащие до 1000 элементов. Представленный роевой алгоритм размещения находит решения для задач большой размерности, не уступающие по качеству, а иногда и превосходящие своих аналогов с меньшими временными затратами. Вероятность получения оптимального решения составила 0.9. Сравнение с известными алгоритмами показало, что при меньшем времени работы у полученных с помощью пчелиного алгоритма решений значения целевой функции лучше (меньше) в среднем на 6 %. В среднем запуск программы обеспечивает нахождения решения, отличающегося от оптимального менее, чем на 1 %.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Ледедев Б.К., Ледедев О.Б. Методы размещения. Монография. - Таганрог: Изд-во ТРТУ, 2006.
2. Engelbrecht A.P. Fundamentals of Computational Swarm Intelligence. John Wiley & Sons, Chichester, UK, 2005.
3. З.Курейчик В.М., Ле6едев Б.К., Ле6едев О.Б. Поисковая адаптация: теория и практика.
- М.: Физматлит, 2006.
4. КурейчикВ.М., Ле6едев Б.К., Ле6едев О.Б. Адаптация в задачах проектирования топологии. // Проблемы разработки перспективных микро- и наноэлектронных систем. - 2010. Сборник научных трудов / Под ред. А.Л. Стемпковского. - М.: ИППМ РАН, 2010.
- С. 170-177.
5. Lucic P., Teodorovic D. Computing with Bees: Attacking Complex Transportation Engineering Problems // International Journal on Artificial Intelligence Tools. - 2003. - № 12.
- P. 375-394.
6. Teodorovic D., Dell’Orco M. Bee Colony Optimization - a Cooperative Learning Approach to Complex Transportation Problems // Advanced OR and AI Methods in Transportation: Proceedings of 16th Mini-EURO Conference and 10th Meeting of EWGT (13-16 September 2005).
- Poznan: Publishing House of the Polish Operational and System Research, 2005. - P. 51-60.
7. Quijano N., Passino K.M. Honey Bee Social Foraging Algorithms for Resource Allocation: Theory and Application. - Columbus: Publishing house of the Ohio State University, 2007. - 39 p.
8. Clerc M. Particle Swarm Optimization. ISTE, London, UK, 2006.
9. Курейчик В.В., Полупанова Е.Е. Эволюционная оптимизация на основе алгоритма колонии пчел // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 41-46.
10. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Решение задачи размещения на основе эволюционного моделирования // Известия Академии наук. Теория и системы управления.
- 2007. - № 4. - С. 78-90.
Лебедев Борис ^^та^иновт
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634371743.
Кафедра систем автоматизированного проектирования; профессор.
Лебедев Владимир Борисович
Кафедра системного анализа и телекоммуникаций; доцент.
Lebedev Boris Konstantinovich
Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovsky, Taganrog, 347928, Russia.
Phone: +78634371743.
Department of Computer Aided Design; Professor.
Lebedev Vladimir Borisovich
Department of System Analysis and Telecommunications; Associate Professor.
УДК 681.3.001.63
В.Н. Кучуганов, М.А. Наборщиков
РАСПРЕДЕЛЕНИЕ РАБОТ С ПОМОЩЬЮ ГЕНЕТИЧЕСКОГО
АЛГОРИТМА
Предложен эволюционный метод проектирования технологических схем распределения труда. Укрупненно порядок действий предопределен технологическим процессом. Конкретный план работ формируется исходя из реального состояния ресурсов, в первую очередь, невозобновляемых: оборудование, люди, время. Алгоритм рассмотрен на примере работы цеха по пошиву мужской и женской защитной одежды.
Планирование производственное; процесс технологический; ресурс невозобновляемый; алгоритм генетический; локус; место рабочее.
V.N. Kuchuganov, M.A. Naborschikov
WORK DISTRIBUTION BY MEANS OF A GENETIC ALGORITHM
In the paper an evolutional method for the design of work distribution flowcharts is proposed. In general terms the workflow is predetermined by the manufacturing process. The concrete working schedule is generated basing on the as-is state of the resources, above all of nonrenewa-