15. Kureychik V.V., Kureychik V.M., Gladkov L.A., Sorokoletov P.V. Bionspirirovannye metody v optimizatsii [Inspirowane methods in optimization]. Moscow: Fizmalit, 2009, 384 p.
16. Kureychik V.M., Lebedev B.K., Lebedev O.B. Razbienie na osnove modelirovaniya adaptivnogo povedeniya biologicheskikh sistem [Partitioning based on simulation of adaptive behavior of biological systems], Neyrokomp'yutery: razrabotka, primenenie [Neurocomputers: development, application], 2010, No. 2, pp. 28-34.
17. Lebedev B.K., Lebedev V.B. Razmeshchenie na osnove metoda pchelinoy kolonii [Plasement on the basis of the beer colony method], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2010, No. 12 (113), pp. 12-19.
18. Gladkov L.A. Gibridnyy geneticheskiy algoritm resheniya zadachi razmeshcheniya elementov SBIS s uchetom trassiruemosti soedineniy [A hybrid genetic algorithm for solving the placement of elements VLSI traceability connections], Vestnik Rostovskogo gosudarstvennogo universiteta putey soobshcheniya [Vestnik Rostovskogo Gosudarstvennogo Universiteta Putey Soobshcheniya], 2011, No. 3, pp. 58-66.
19. Kureychik V.V., Kureychik Vl.Vl. Bioinspirirovannyy algoritm razbieniya skhem pri proektirovanii SBIS [Bioinspired algorithms for partitioning VLSI circuits in design], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2013, No. 7 (144), pp. 23-29.
20. Kuliev E.V., Lezhebokov A.A. Issledovanie kharakteristik gibridnogo algoritma raz-meshcheniya [Research parameters of hybrid algorithm for placement], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2013, No. 3 (140), pp. 255-261.
Статью рекомендовала к опубликованию д.т.н., профессор Л. С. Лисицына.
Щеглов Сергей Николаевич - Южный федеральный университет; e-mail: [email protected];
347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371625; кафедра систем автоматизированного проектирования; к.т.н.; доцент.
Shcheglov Sergey Nikolaevich - Southern Federal University; e-mail: [email protected];
44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634371625; the department of computer
aided design; cand. of eng. sc.; associate professor.
УДК 681.325
О.Б. Лебедев, О.А. Пурчина
РОЕВОЙ АЛГОРИТМ ТРАССИРОВКИ В ПРИКАНАЛЬНОЙ НАДЪЯЧЕЕЧНОЙ ОБЛАСТИ*
Представлен алгоритм синтеза эскиза однослойной трассировки в надъячеечной области (НЯО) топологии СБИС. Разработаны новые механизмы решения задачи трассировки, использующие математические методы, в которых заложены принципы природных механизмов принятия решений. Для синтеза эскиза однослойной трассировки используется новая парадигма комбинаторной оптимизации муравьиное дерево (trees ant colony optimization (T-ACO)), основанная на идеях адаптивного поведения муравьиной колонии и в первую очередь на идее непрямого обмена — стигмержи (stigmiergy), позволяющая осуществлять синтез дерева. В отличие от канонической парадигмы муравьиного алгоритма муравьем на специальном графе поиска решений G=(X,U) строится решающее дерево. Рассматривается структура и методика формирования специального графа поиска решений G=(X,U). Описываются принципы интерпретации полученного муравьями решения в виде эскиза однослойной трассировки. Задача решается в различных постановках, отличающихся типом границ области трассировки. Программа трассировки в НЯО была реализована на языке С для IBM PC. Во всех перечисленных постановках был получен результат, близкий к оптимальному. Трудоемкость программы имеет вид 0(n2), где n - число
* Работа выполнена при поддержке Министерства образования и науки РФ. Проект № 8.823.2014.
фрагментов. При использовании "ломаных" границ, процедуры "прилипания" и последовательной трассировки НЯО удавалось дополнительно снизить общую плотность каналов до 4 0%. Предложенный трассировщик полностью применим для "беcсеточной" трассировки соединений разной ширины. Экспериментальные исследования проводились на IBM PC. Временная сложность алгоритма (ВСА), полученная экспериментальным путем, практически совпадает с теоретическими исследованиями и для рассмотренных тестовых задач составляет (ВСА ~ 0(n2)). Для проведения объективных экспериментов были использованы известные тестовые задачи, представленные в литературе и в Интернет. Для составления достоверных выводов был проведен не один, а серия опытов-экспериментов. По сравнению с существующими алгоритмами достигнуто улучшение результатов на 2-3 %.
Роевой интеллект; муравьиная колония; адаптивное поведение; муравьиное дерево; трассировка; надъячеечная область; оптимизация.
O.B. Lebedev, O.A. Purchina SWARMS OVER-THE-CELL TRACING ALGORITHM
This paper presents a synthesis algorithm of single layer routing sketch in over-the-cell (OTC) field VLSI layout. Develop new mechanisms for solving the problem tracing, using mathematical methods, which lays down the principles of the natural mechanisms of decision-making. For the synthesis of single layer routing sketch uses a new paradigm of combinatorial optimization tree ant colony optimization (T-ACO)), based on the ideas of adaptive behavior of an ant colony and first of all on the idea of indirect exchange — stigmiergy, which allows for the synthesis of a tree. Unlike the canonical paradigm of ant algorithm the ant at a special graph to find solutions G = (X, U) is constructed decision trees. The structure and method of forming a special graph to find solutions G = (X, U) are described. Are offered the principles of interpretation of the ants solutions in the form of a single layer trace sketch. The problem is solved in various productions with different type of trace areas boundaries. Program OTC trace was implemented in C ++ for the IBM PC. In all of these productions was received result close to optimum. When using "broken" border procedures "sticking" and consistent trace OTC able to further reduce the overall density of channels up to 40 %. The proposed router is fully applicable to "gridless" trace of different widths connections. Experimental researches were carried out on IBM PC. The time complexity of the algorithm, obtained by experiment, almost the same as the theoretical research and test problems is considered about O(n2), where n - number of connections. For the objective of the experiments were used known test problems represented in the literature and the Internet. To provide reliable conclusions was held not one but a series of experiments, experiments. In comparison with existing algorithms improve the results achieved on 2-3 %.
Swarm intelligence; ant colony; adaptive behavior; trees ant colony optimization; trace; over the cell areas.
1. Проблемная формулировка, термины и обозначения. Канальная трассировка - одна из важнейших задач, решаемых при проектировании топологии СБИС.
Разработано большое количество канальных трассировщиков и некоторые из них позволяют получать решения, близкие к оптимальным [1-5]. Тем не менее, по-прежнему актуальной является проблема минимизации области канальной трассировки. С этой целью предлагается использовать области, примыкающие к каналу сверху и снизу с единственным трассировочным слоем, расположенным над ячейками (over-the-cell) (рис. 1). В этом случае некоторые из соединений или их фрагментов могут быть направлены в надъячеечную область (НЯО), что приводит к уменьшению числа магистралей, используемых в канале [1, 5].
Задача «надъячеечного» (over-the-cell) трассировщика - построение максимального планарного эскиза топологии в надъячеечной области с целью минимизации плотности канала [5].
Среди разработанных алгоритмов трассировки в НЯО [1] наибольшее распространение получили алгоритмы на основе методов динамического программирования (МДП) авторов N. Holmes, N. Sherwani, M. Sarrafzadeh и генетический алгоритм (ГА) авторов B.M. Goni, T. Arslan, B. Torton. Задача относится к классу NP. В связи с резким ростом сложности и размеров решаемых задач классические методы МДП становятся неприемлемыми в связи с их трудоемкостью. По этой же причине в ГА резко возрастает трудоемкость декодирования и проблема получения легальных решений. Кроме того, возникла проблема надъячеечной трассировки в области с ломанными границами. В связи с этим разработка алгоритма трассировки в НЯО, отвечающего современным требованиям, является актуальной.
Рис. 1.Структура коммутационного поля
В работе рассматриваются два варианта верхней границы НЯО. В первом варианте граница НЯО представляет собой прямую (тип Т1) линию, а нижняя граница может быть либо прямой, либо ломаной зигзагообразной (тип Т2) линией.
Во втором случае верхняя граница может быть зигзагообразной, а нижняя граница либо прямой (тип Т3), либо зигзагообразной линией (тип Т4) (рис. 2).
Предусмотрен случай трассировки соединения различной ширины. В этом случае используется "бессеточный" ("gridless") способ трассировки, при котором магистрали, как таковые, в НЯО отсутствуют.
Аналогично большинству работ в этой области будем считать, что имеется два слоя для канальной трассировки и один слой для надъячеечной (НЯ) трассировки [1, 5].
Рис. 2. Виды границ НРО
Предварительно формируется набор соединений - кандидатов для перевода из канала в надъячеечную область. Каждая многовыводная цепь (рис. 3,а) на каждой стороне канала разбивается на двухвыводные цепи. Двухвыводная цепь связывает соседние в линейке выводы цепи. На рис. 3,б это/¡, /2, /¡, /4, /¡- Фрагмент/6 связывает верхний и нижний участки цепи. Каждая такая двухвыводная цепь может располагаться либо в канале, либо в НЯО.
Вначале осуществляется однослойная трассировка в надъячеечных областях. Затем, при наличии альтернативных вариантов, решается вопрос о выборе соединения для связи верхнего и нижнего участков цепи (/ на рис. 3,б). Выбор таких связей осуществляется с учетом плотности канала и вертикальных ограничений и с учетом назначения двух выводных цепей в НЯО. После этого осуществляется трассировка в канале не попавших в НЯО соединений.
Л Й Ь
у о <д» о у о
о А о А о А
Л />
а б
Рис. 3. Разбиение многовыводной цепи
Не теряя общности, рассмотрим одну (верхнюю) сторону канала. На рис. 2 НЯО расположена выше канала, и магистрали НЯО пронумерованы снизу вверх.
Обозначим через ^ левый край фрагмента /, а через г, - правый. Пусть х(1) и х(г) координаты краёв фрагмента / по оси х, распространяющейся вдоль линейки выводов.
Назовём / вложенным в /,, если: - х(у<х(/,), х(г^)>х(г); - £ и ^ размещены в НЯО без пересечений, то есть £ выше [, (рис. 4).
Рис. 4. Вложение цепей
Назовём два фрагмента / и / непересекающимися, если х(г) < х(1'). В этом случае фрагменты / и / могут быть размещены в НЯО без взаимного пересечения.
Построим граф решений О=(У,П). Вершина у,еУсоответствует фрагменту/, то есть / = Г(у). Между у, и существует ребро, направленное от у, к Vj тогда и только тогда, когда / вкладывается в / В состав У включена вершина уг, соответствующая верхней границе НЯО. Вершина уг связана со всеми вершинами У\уп т.к. любой фрагмент вкладывается в НЯО, ограниченную верхней границей. На рис. 5 представлена схема, а на рис. 6 - соответствующий ей граф О.
Обозначим через Б, множество дочерних вершин вершины у, графа О, Ребра, связывающие у, с Б,, исходят из у. Если уеВ,, то это значит, что /=Г(у) вкладывается в/=Г(у). В этом случае будем считать, что УjеБi вкладывается в у,.
В множестве Е, фрагментов, вкладываемых в /, можно выделить подмножество Е,,^,, Г'^^Бя, такое, что никакие два фрагмента/кеЕ, и/еГ^ не пересекаются. Назовем такое подмножество ,-м вложением фрагмента/ а подмножество Б^ ,-м вложением вершины у,. Отметим, что таких множеств как может быть несколько, и = Е,.
Выделим в графе О подграф ТК=(УК,ПК), ТКеО , обладающий следующими свойствами:
- ТК является деревом с корневой вершиной уг;
- Б„ -множество дочерних вершин вершины у,е ¥к.
- для любой у,е ¥к множество Б^ является вложением вершины у,. Другими словами множество фрагментов ¥„=Г(Б„) является непересекающимся и вкладываемым в фрагмент /¡.
Рис. 5. Пример схемы
Рис. 6. Граф решений
Дерево ТкеО с вышеперечисленными свойствами фактически задает способ планарной укладки в НЯО фрагментов, соответствующих вершинам множества У„с.У. Назовем такой подграф решающим деревом.
На рис. 7 приведены варианты решающих деревьев Т1 и Т2 с соответствующими им планарными укладками фрагментов.
2. Постановка задачи трассировки в надъячеечной области. Пусть для каждого фрагмента £ задана его стоимость р,. Тогда решающему дереву Т„=(¥„, соответствует суммарная стоимость
р.
¡\у,е¥„
Величина у принимается в качестве критерия оптимизации.
Введем рекурсивное определение уровня а^ фрагмента£ (вершины у,), входящего в состав решающего дерева Тк [5].
Фрагмент £, у которого нет вложенных в него фрагментов, имеет уровень, равный нулю (а„,=0).
Пусть вм - это максимальный уровень среди фрагментов, вложенных в £ тогда уровень £ равен р^ +1, а = в^ +1).
Вершина у, (фрагмент £) в различных решающих деревьях может иметь различный уровень а,. На рис.7,а а2=а5=0; а8=а9=1. На рис. 7,б а1=а3=а4=а5=0; а6=а7=1.
Назовем блоком поддерево решающего дерева Т„, имеющее своим корнем вершину Уровень блока ^ равен уровню вершины входящей в ре-
шающее дерево Т„. Будем считать, что блок ^ входит в состав блока если в решающем дереве Тк корневая вершина блока ^ является дочерней вершиной корневой вершины у блока ^ и а^ > а^+\.
a б
Рис. 7. Примеры решающих деревьев
Назовем два блока twi и twj непересекающимися, если не пересекаютсяf и fj.
Введем рекурсивное определение стоимости ywi блока twi:
- любая вершина vieVw нулевого уровня представляет собой блок нулевого уровня, стоимость которого равна стоимости вершины vi, т.е.
Yw, = P,
- стоимость блока twi ненулевого уровня (a ^0) определяется как сумма стоимостей блоков, входящих в состав twi, плюс стоимость корневой вершины vi блока twi, т.е.
Ywi=P+ ZYwj-
j I vj ¿Bwi
Тогда yw=ywr, т.е. стоимость блока twr, имеющего корнем вершину vr, равна стоимости всех вершин решающего дерева Tw, а twr фактически есть Tw.
Для НЯО типа Т1 и Т2 фрагмент f независимо от места его расположения представляет собой один горизонтальный отрезок, к которому от контактов подходят вертикальные отрезки.
Число магистралей iw, необходимых для укладки решающего дерева Tw, определяется значением уровня awr корневой вершины, т.е. ¡xw =awr.
Для НЯО типа Т1 задача надъячеечной трассировки формулируется следующим образом.
Выделить в графе G решающее дерево Tmax с максимальным значением iymax при выполнении ограничения
lmax amax,r — l0,
где ц0 - заданное число магистралей в НЯО.
Номер магистралей mwi для размещения каждого fi определяется как
mwi awi +1.
Для НЯО типа Т2 для каждого f вводятся дополнительные ограничения. Это S, - минимальный номер магистрали, на которой может быть размещен f,. В этом случае номер магистрали для размещения fi определится как
mwi awi +S'.
А для каждой вершины v, решающего дерева введем ограничение
awi + б, <
При трассировке соединений различной ширины используется "бессеточный" метод трассировки, при котором опорные магистрали отсутствуют. В этом случае размещение фрагментов в НЯО сводится к фактической привязке координат опорных точек фрагментов к системе координат НЯО.
Каждый фрагмент f характеризуется параметром Sh интегральным образом учитывающим ширину цепи и допустимое расстояние между цепями.
Введем рекурсивное определение ширины dwi, блока twi:
- если блок twi нулевого ранга, т.е. фактически он состоит из одного фрагмента f , то
dwi Si;
- если блок twi ненулевого ранга, то его ширина равна самой максимальной ширине max(dwj) блоков, входящих в состав twi, плюс ширина Si фрагмента/¡:
dwi= S + max(dwj).
j \vj eBwi
Пусть ширина НЯО типа Т1 равна Smax, тогда для НЯО типа Т1 задача формулируется следующим образом.
Выделить в графе G решающее дерево Tw, для которого dwr < Smax.
Отметим, что Sr =0.
Для НЯО типа Т2 на основе анализа его геометрической структуры для каждого f определяется максимально возможная толщина di , построенного на нем блока twi.
В этом случае вводится ограничение:
(Vi)[dw, < di ].
Размещение fi в соответствии с решающим деревом Tw заключается в последовательной укладке фрагментов с прижиманием в сторону нижней границы НЯО, начиная с фрагментов нижнего уровня, и так до тех пор, пока не будут размещены фрагменты самого высокого уровня.
3. Построение решающего дерева на основе механизмов муравьиного дерева. Приведенный в [1, 5] обзор, сравнение и анализ разработанных алгоритмов однослойной трассировки (последовательных, итерационных и т.д.) показывает, что для создания эффективного алгоритма, отвечающего современным требованиям, необходимы новые технологии и подходы. В последние годы интенсивно разрабатывается научное направление, объединяющее математические методы, в которых заложены принципы природных механизмов принятия решений [6-9]. Одним из таких направлений являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта [10-13].
Для построения решающего дерева используется новая парадигма комбинаторной оптимизации муравьиное дерево (trees ant colony optimization (T-ACO)) [14], основанная на идеях адаптивного поведения муравьиной колонии [7, 9] и в первую очередь на идее непрямого обмена - стигмержи (stigmiergy), позволяющая осуществлять синтез дерева. Такой подход является эффективным способом поиска рациональных решений для задач оптимизации, допускающих интерпретацию решений в виде деревьев.
Представление оптимизационной задачи в виде парадигмы T-ACO опирается на два ключевых момента: формирование графа поиска решений (ГПР) и построения допустимых альтернативных решений деревьев на графе поиска решений [9].
В качестве ГПР используется модифицированный граф решений. Построение модифицированного графа решений G=(V, U) осуществляется путем рекурсивного определения возможных вложений фрагментов друг в друга.
Процесс построения графа решений начинается от корневой вершины уг, соответствующей верхней границе НЯО. На первом шаге на основе анализа схемы формируется множество вершин У1, каждая из которых может быть вложена только в корневую вершину уг. Для нашего примера на рис. 5 это будет У1= {у6, у8, у7, у9}. Вершина уг связана ребрами со всеми вершинами множества У1. На втором шаге на основе анализа схемы формируется множество вершин У2, каждая из которых может быть вложена только в некоторые вершины множества У1. Для нашего примера на рис. 5 это будет У2= {у1, у2, у3, у4, у5}. Между парами вершин у,еУ1 и УjeУ2 вводится ребро, направленное от у, к у^, тогда и только тогда, когда £ вкладывается в £ На шаге п на основе анализа схемы формируется множество вершин Уп, каждая из которых может быть вложена только в некоторые вершины множества Уп-1. И так далее, пока в графе О не будут отражены все фрагменты схемы. Построенный для нашего примера граф решений представлен на рис. 8.
Рис. 8. Граф поиска решений - граф решений
Работа алгоритма муравьиного дерева T-ACO заключается в нахождении на графе решений решающего дерева с лучшей оценкой. Поисковая процедура базируется на использовании графа решений GF с фиксированной структурой и графа решений G, структура которого трансформируется в процессе поиска в искомое решающее дерево. Исходная структура графа G идентична структуре графа GF.
В общем случае поиск решения задачи осуществляется коллективом муравьев Z={zk\k=1,2, ...,nk}. Моделирование поведения муравьёв связано с распределением феромона на ребрах графа GF. На начальном этапе на всех ребрах графа GF откладывается одинаковое (небольшое) количество феромона Q/v, где v=|U|. Параметр Q задается априори.
Вначале муравьи размещаются в стартовой вершине vr графа решений G. Процесс поиска решений итерационный. На каждой итерации алгоритма муравьиного дерева каждый муравей zk строит свое конкретное решение задачи на своем конкретном графе решений G. Решением является решающее дерево Тк, которому соответствует эскиз планарной трассировки в надъячеечной области. Каждая итерация l включает три этапа. На первом этапе каждый муравей находит свое решение, являющееся результатом последовательной трансформации собственного исходного графа решений G=(V, U), на втором этапе муравьи откладывает феромон на ребрах графа решений GF, на третьем этапе осуществляется испарение феромона на ребрах графа решений GF. В работе используется циклический (ant-cycle) метод муравьиных систем. В этом случае ферромон откладывается агентом на ребрах графа решений GF после полного формирования решения.
Поиск решения организован в процессе последовательного выбора вершин дерева решений. На каждом шаге муравей формирует на графе решений G для выбранной вершины vi подмножество вкладываемых в нее непересекающихся вершин Dik и удаляет из графа решений множество вершин Pik, конфликтующих с вершинами Dk.
Для организации последовательного выбора вершин используются два вспомогательных подмножества VV1 и УУ2. На первом шаге VV1={vr}, УУ2=0. Вершины выбираются из подмножества VV1, содержимое которого периодически обновляется. Для очередной выбранной вершины vieVV1 определяется множество ее дочерних вершин Bik. На базе Bik муравей последовательно формирует подмножество вершин DikcBik, являющееся непересекающимся и вкладываемым в вершину v,-. После этого:
- Dik включается в VV2=0,
- формируется множество вершин Pik, пересекающихся с вершинами подмножество Dik. Вершины множества Pik, удаляются из графа решений G=(V,U).
После этого осуществляется выбор очередной вершины множества VV1. Если просмотрены все вершины множества VV1, то:
- из VV1 удаляются все элементы;
- в VV1 включаются все элементы множества VV2, т.е. VV1 =VV2;
- из VV2 удаляются все элементы и снова VV2=0.
Процесс поиска продолжается, начиная с выбора первой вершины подмножества VV1. Завершение процесса поиска наступает при достижении VУ1=VУ2=0. Таким образом, конечный результат формируется путем последовательной трансформации исходного графа решений. На каждом шаге муравей формирует для выбранной вершины vi подмножество вкладываемых в нее непересекающихся вершин DfccBik, формирует множество вершин Pik, пересекающихся с вершинами подмножество Dik, и удаляет Pik из графа решений G=(V,U).
Для нашего примера вначале VV1={vr}, VV2=0. Просматривая VV1 выбираем vr. Определяется в исходном графе решений G множество Brk дочерних вершин вершины vr. Brk={v6, v8. v7, v9}. На базе Brk муравей zk последовательно формирует подмножество непересекающихся вершин DrkcBrk, вкладываемых в вершину vr. Drk={v6, v7}. Вершины {v6, v7} заносятся в VV2. Формируется множество вершин Prk, пересекающихся с вершинами подмножества Drk, Prk={v8, v9}. Вершины {v8, v9} удаляются из графа решений, представленного на рис.8. Новый вид графа решений G представлен на рис. 9.
Рис. 9. Граф решений О после первой трансформации
Поскольку список УУ1 исчерпан, то вершины из УУ2 переносятся в УУ1. Теперь УУ1={уб, у7}, УУ2=0. Сначала из УУ1 выбираем уб. Ббк={у1}. Рбк=0. Граф решений остается без изменений. Из УУ1 выбираем у7. Б7к={у2, у3. у4}. Пусть муравьем сформировано 07к={у2, у4}. Р7к={у3}. Удаляем у3 из ГПР и получаем дерево решений, представленное на рис. \0.
Рис. 10. Дерево решений
Рассмотрим процедуру последовательного формирования муравьем гк подмножества непересекающихся вершин БксВк, вкладываемых в вершину у,. Множество формируется путем последовательного включения в него вершин множества Вк,. Пусть Б1,к множество уже включенных в вершин множества Вк Определяется множество вершин В1ксВк, каждая из которых может быть добавлена к Б1к с соблюдением условий и ограничений. Для каждой вершины УjeB1k определяется параметр /к - суммарный уровень феромона на ребре, связывающем Уj с Уi
Вероятность Ррк включения вершины Уj в формируемое множество определяется следующим соотношением
Рук=/у /
Агент с вероятностью Ррк выбирает одну из вершин, которая включается в подмножество непересекающихся вершин Б,ксВ,к. Процесс продолжается пока ни одна из вершин множества В1,к не может быть назначена в 01^.
На втором этапе итерации, каждый муравей откладывает феромон на рёбрах построенного дерева решений в графе решений.
Количество феромона Лтк(1), откладываемое муравьем 2к на каждом ребре построенного дерева решений Бк, определяется следующим образом
Атк(!)= б / ад,
где I - номер итерации, Qi - общее количество феромона, откладываемое муравьем на ребрах дере Бк, Гк(1) - целевая функция для решения, полученного муравьем 2к на 1-ой итерации. Чем меньше Рк(1), тем больше феромона откладывается на ребрах построенного дерева и, следовательно, тем больше вероятность выбора этих ребер при построении деревьев на следующей итерации.
После того, как каждый агент сформировал решение и отложил феромон, на третьем этапе происходит общее испарение феромона на ребрах графа О в соответствии с формулой
/,к = /,к(1 - р),
где р - коэффициент обновления. После выполнения всех действий на итерации находится агент с лучшим решением, которое запоминается. Далее осуществляется переход на следующую итерацию.
Временная сложность этого алгоритма зависит от времени жизни колонии I (число итераций), количества вершин с и числа агентов т, и определяется как 0(1*с2*т).
Если НЯО относится к типу Т3 и Т4, то для рационального использования ресурсов НЯО конфигурация фрагмента / может представлять собой ломаную линию.
После построения Тт производится укладка фрагментов с прижиманием в сторону нижней границы НЯО, сопровождающаяся модификацией конфигураций фрагментов, входящих в состав Тт. Укладка производится начиная с конфигурации нулевого уровня.
Используя ломаные границы НЯО и процедуру укладки с "прилипанием" к границе, можно организовать оптимизацию использования ресурсов всех НЯО в целом. НЯО нумеруются сверху вниз. Процесс трассировки в НЯО реализуется последовательно, в порядке возрастания их номеров. В пределах НЯО сначала трассируется верхняя часть, а затем нижняя. После трассировки в верхней части НЯО и использования процедуры "прилипания" образуется ломаная граница между верхней и нижней частями НЯО. Это позволяет рационально использовать ресурсы НЯО.
Программа трассировки в НЯО была реализована на языке С++ для IBM/PC. Во всех перечисленных постановках был получен результат, близкий к оптимальному. Трудоемкость программы имеет вид О(п2), где n - число фрагментов. При использовании "ломаных" границ, процедуры "прилипания" и последовательной трассировки НЯО удавалось дополнительно снизить общую плотность каналов до 40 %.
Отдельный момент исследования был связан с выбором функции стоимости фрагментов. Исследовались два варианта. В первом варианте в качестве стоимости фрагмента использовалась длина фрагмента, а во втором - интегральная оценка. Стоимость фрагмента равна сумме плотностей сечений в канале, которые пересекают фрагменты.
Эксперименты показали, что общая плотность при использовании второй функции в среднем меньше на 4%, чем при использовании первой функции. Однако в отдельных конкретных примерах результаты были противоположными.
Заключение. В работе был представлен НЯО-трассировщик, позволяющий выполнять однослойную трассировку в различных постановках. Для построения эскиза однослойной трассировки используется новая парадигма комбинаторной оптимизации муравьиное дерево (trees ant colony optimization (T-ACO)), основанная на идеях адаптивного поведения муравьиной колонии и в первую очередь на идее непрямого обмена - стигмержи (stigmiergy), позволяющая осуществлять синтез дерева. В отличие от канонической парадигмы муравьиного алгоритма муравьем на графе поиска решений G=(X, U) строится дерево.
Предложенный трассировщик полностью применим для "бессеточной" трассировки соединений разной ширины.
Источником усовершенствования может стать более адекватный подбор функции стоимости фрагментов. Другой проблемой является выбор очередности рассматриваемых НЯО и способ их разделения на верхнюю и нижнюю части, что может способствовать снижению суммарной плотности каналов. Повышения качества можно добиться с помощью интеграции различных методов роевого интеллекта [15].
Предложены новые механизмы решения задачи трассировки, использующие математические методы, в которых заложены принципы природных механизмов принятия решений Экспериментальные исследования проводились на IBM PC. Временная сложность алгоритма (ВСА), полученная экспериментальным путем, практически совпадает с теоретическими исследованиями и для рассмотренных тестовых задач составляет (ВСА ~ 0(n2)).
Для проведения объективных экспериментов были использованы известные тестовые задачи, представленные в литературе и Интернет. Для составления достоверных выводов был проведен не один, а серия опытов-экспериментов. По сравнению с существующими алгоритмами достигнуто улучшение результатов на 2-3 %.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Charles J. Alpert, Dinesh P. Mehta, Sachin S. Sapatnekar. Handbook of algorithms for physical design automation. CRC Press, New York, USA, 2009.
2. Roy J.A. High-Performance routing at the nanometer scale // IEEE Trans.Comput.-Aided Design Integr. - Syst. June 2008. - Vol. 27, issue. 6. - P. 1066-1077.
3. Лебедев Б.К., Лебедев В.Б.. Поисковые процедуры канальной трассировки базирующиеся на моделировании адаптивного поведения роя частиц в пространстве решений с неупорядоченным лингвистическим шкалированием // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 15-22.
4. Лебедев О.Б. Трассировка в канале методом муравьиной колонии // Известия ЮФУ. Технические науки. - 2009. - № 4 (93). - С. 46-52.
5. Лебедев Б.К. Интеллектуальные процедуры синтеза топологии СБИС. - Таганрог: Изд-во ТРТУ, 2003.
6. Dorigo M. and Stutzle Т. Ant Colony Optimization. MIT Press, Cambridge, MA, 2004.
7. Dorigo M., Stutzle T. Ant Colony Optimization: Overview and Recent Advances. M. Gendreau and Y. Potvin, editors, Handbook of Metaheuristics, 2nd edition. Vol. 146 in International Series in Operations Research & Management Science. Springer, Verlag, New York, 2010.
- P. 227-263.
8. Лебедев Б.К., Лебедев В.Б. Оптимизация методом кристаллизации россыпи альтернатив // Известия ЮФУ. Технические науки. - 2013. - № 7 (144). - С. 11-17.
9. Лебедев О.Б. Модели адаптивного поведения муравьиной колониив в задачах проектирования. - Таганрог: Изд-во ЮФУ, 2013.
10. Лебедев О.Б. Покрытие методом муравьиной колонии // Двенадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2010. Труды конференции. Т. 2. - М.: Физматлит, 2010. - С. 423-431.
11. Лебедев Б.К., Лебедев В.Б. Построение кратчайших связывающих сетей на основе метода муравьиной колонии // Нечеткие системы и мягкие вычисления: сб. ст. Третьей Всероссийской научной конференции. В 2 т. Т .II. Волгоградский гос. техн. университет.
- Волгоград, 2009. - С. 42-50.
12. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Разбиение на основе моделирования адаптивного поведения биологических систем // Нейрокомпьютеры: разработка, применение. - 2010. - № 2. - С. 28-34.
13. Лебедев В.Б. Построение кратчайших связывающих сетей на основе роевого интеллекта // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 37-44.
14. Лебедев Б.К., Лебедев О.Б. Моделирование адаптивного поведения муравьиной колонии при поиске решений, интерпретируемых деревьями // Известия ЮФУ. Технические науки. - 2012. - № 7 (132). - С. 27-35.
15. Лебедев В.Б., Лебедев О.Б. Роевой интеллект на основе интеграции моделей адаптивного поведения муравьиной и пчелиной колоний // Известия ЮФУ. Технические науки.
- 2013. - № 7 (144). - С. 41-47.
REFERENCES
1. Charles J. Alpert, Dinesh P. Mehta, Sachin S. Sapatnekar. Handbook of algorithms for physical design automation. CRC Press, New York, USA, 2009.
2. Roy J.A. High-Performance routing at the nanometer scale, IEEE Trans. Comput.-Aided Design Integr. Syst., - June 2008, Vol. 27, issue 6, pp. 1066-1077.
3. Lebedev B.K., Lebedev V.B. Poiskovye protsedury kanal'noy trassirovki baziruyushchiesya na modelirovanii adaptivnogo povedeniya roya chastits v prostranstve resheniy s neuporyadochennym lingvisticheskim shkalirovaniem [Search procedures of channel trace in space of decisions with disorder linguistic scales, based on modelling of adaptive behaviour of a plenty of particles], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2009, No. 12 (101), pp. 15-22.
4. Lebedev O.B. Trassirovka v kanale metodom murav'inoy kolonii [Chanel routing bases on method of unt colony optimization], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2009, No. 4 (93), pp. 46-52.
5. Lebedev B.K. Intellektual'nye protsedury sinteza topologii SBIS [Intellectual procedure of synthesis of VLSI topology]. Taganrog: Izd-vo TRTU, 2003.
6. Dorigo M. and Stutzle T. Ant Colony Optimization. MIT Press, Cambridge, MA, 2004.
7. Dorigo M, Stutzle T. Ant Colony Optimization: Overview and Recent Advances. M. Gendreau and Y. Potvin, editors, Handbook of Metaheuristics, 2nd edition. Vol. 146 in International Series in Operations Research & Management Science. Springer, Verlag, New York, 2010, pp. 227-263.
8. Lebedev B.K., Lebedev V.B. Optimizatsiya metodom kristallizatsii rossypi artemativ[Optimization by the crystallization of alternatives field (CAF) Method], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2013, No. 7 (144), pp. 11-17.
9. Lebedev O.B. Modeli adaptivnogo povedeniya murav'inoy koloniiv v zadachakh proektirovaniya [Models of adaptive behaviour formic colonies in the task of designing]. Taganrog: Izd-vo YuFU, 2013.
10. Lebedev O.B. Pokrytie metodom murav'inoy kolonii [The coating method of the ant colony], Dvenadtsataya natsional'naya konferentsiya po iskusstvennomu intellektu s mezhdunarodnym uchastiem KII-2010. Trudy konferentsii [Twelfth national conference on artificial intelligence with international participation KII-2010. The conference proceedings]. Vol. 2. Moscow: Fizmatlit, 2010, pp. 423-431.
11. Lebedev B.K., Lebedev V.B. Postroenie kratchayshikh svyazyvayushchikh setey na osnove metoda murav'inoy kolonii [Build shortest connecting networks based on ant colony method], Nechetkie sistemy i myagkie vychisleniya: sb. st. Tret'ey Vserossiyskoy nauchnoy konferentsii [Fuzzy systems and soft computing: a collection of articles of the Third all-Russian scientific conference]. In 2 volumes. Vol .II. Volgograd state technical University. Volgograd, 2009, pp. 42-50.
12. Kureychik V.M., Lebedev B.K., Lebedev O.B. Razbienie na osnove modelirovaniya adaptivnogo povedeniya biologicheskikh sistem [Partitioning based on simulation of adaptive behavior of biological systems], Neyrokomp'yutery: razrabotka, primenenie [Neurocomputers: Development, Application], 2010, No. 2, pp. 28-34.
13. Lebedev V.B. Postroenie kratchayshikh svyazyvayushchikh setey na osnove roevogo intellekta [Construction of the shortest connecting networks on the basis of swarm intelligence], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2011, No. 7 (120), pp. 37-44.
14. Lebedev B.K., Lebedev O.B. Modelirovanie adaptivnogo povedeniya murav'inoy kolonii pri poiske resheniy, interpretiruemykh derev'yami [Modelling of an ant colony adaptive behaviour by search of the decisions interpreted by trees], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2012, No. 7 (132), pp. 27-35.
15. Lebedev V.B., Lebedev O.B. Roevoy intellekt na osnove integratsii modeley adaptivnogo povedeniya murav'inoy i pchelinoy koloniy [Swarm intelligence on the basis of the adaptive behaviour models integration of the ant and beer colonies], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2013, No. 7 (144), pp. 41-47.
Статью рекомендовал к опубликованию д.т.н., профессор Ю.А. Гатчин.
Лебедев Олег Борисович - Южный федеральный университет; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371743; кафедра систем автоматизированного проектирования; доцент.
Пурчина Ольга Андреевна - Донской государственный технический университет; e-mail: [email protected]; 344000, г. Ростов-на-Дону, пл. Гагарина, 1; тел.: 8952581299; кафедра автоматизации процессов и производств в нефтегазовом комплексе; ассистент.
Lebedev Oleg Borisovich - Southern Federal University; e-mail: [email protected]; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +78634371743; the department of computer aided design; associate professor.
Purchina Olga Andreevna - Don State Technical University; e-mail: [email protected]; 1, Gagarin sq., Rostov-on-Don, 344000, Russia; phone: +7952581299; the department of processes automation and manufactures in an oil and gas complex; the assistant.