Модифицированный муравьиный алгоритм построения минимального дерева Штейнера

17. Kureychik V.M., Lebedev B.K., Lebedev O.B. Reshenie zadachi razmeshcheniya na osnove evolyutsionnogo modelirovaniya [The solution of the location problem based on evolutionary modeling], Izvestiya RAN. Teoriya i sistemy upravleniya [Journal of Computer and Systems Sciences International], 2007, No. 4, pp. 78-91.

18. Kureychik V.V., Kureychik Vl.Vl. Bionicheskiy poisk pri proektirovanii i upravlenii [Search inspired by natural systems, for the design and management], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2012, No. 11 (136), pp. 178-183.

19. Kureychik V.V., Kureychik V.M., Rodzin S.I. Teoriya evolyutsionnykh vychisleniy [The theory of evolutionary computing]. M.: Fizmatlit, 2012, 260 p.

20. Kuliev E. V., Lezhebokov A.A. O gibridnom algoritme razmeshcheniya komponentov SBIS [On the hybrid algorithm of component placement VLSI], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2012, No. 11 (136), pp. 188-192.

21. Kuliev E.V., Lezhebokov A.A. Issledovanie kharakteristik gibridnogo algoritma razmeshcheniya [Research parameters of hybrid algorithm for placement] Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2013, No. 3 (140), pp. 255-261.

Статью рекомендовала к опубликованию д.т.н., профессор Л.С. Лисицына.

Кулиев Эльмар Валерьевич - Южный федеральный университет; e-mail: ekuliev@sfedu.ru; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371651; кафедра систем автоматизированного проектирования; доцент

Щеглов Сергей Николаевич - e-mail: sch@sfedu.ru; кафедра систем автоматизированного проектирования; доцент.

Пантелюк Елизавета Александровна - e-mail: pantelyk@sfedu.ru; кафедра систем автоматизированного проектирования; магистр.

Кулиева Нина Владимировна - e-mail: xolopova@sfedu.ru; кафедра систем автоматизированного проектирования; аспирант.

Kuliev Elmar Valerievich - Southern Federal University; e-mail: ekuliev@sfedu.ru; 44, Nekrasovskiy lane, Taganrog, 347928, Russia; phone: +78634371651; the department of computer aided design; assistant professor.

Sheglov Sergey Nikolaevich - e-mail: sch@sfedu.ru; the department of computer aided design; assistant professor.

Pantelyuk Elizaveta Alexandrovna - e-mail: pantelyk@sfedu.ru; the department of computer aided design; master's degree.

Kulieva Nina Vladimirovna - e-mail: xolopova@sfedu.ru; the department of computer aided design; graduate student.

УДК 004.896

Б.К. Лебедев, О.Б. Лебедев, Е.О. Лебедева

МОДИФИЦИРОВАННЫЙ МУРАВЬИНЫЙ АЛГОРИТМ ПОСТРОЕНИЯ МИНИМАЛЬНОГО ДЕРЕВА ШТЕЙНЕРА*

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

* Работа выполнена при финансовой поддержке РФФИ (проект № 15-01-05297). 38

тем проведения через множество точек P, расположенных на плоскости, горизонтальных и вертикальных линий. Образуется ортогональная сетка G=(V, E), где Vмножество точек (узлов) пересечений линий сетки. Исходная задача эквивалентна задаче отыскания в графе G=(V,E) дерева G =(V ,E*), имеющего минимальный суммарный вес Fребер и включающего заданный набор вершин Р графа G, т.е. PcV*cV, E*cE. Построение минимального дерева Штейнера сводится к задаче построения и выбора (n-1) s-маршрутов, связывающих n основных вершин. Задача решается в два этапа. На первом этапе формируется набор альтернативных вариантов s-маршрутов, заведомо большей размерности, чем (n-1), покрывающий минимальное дерево Штейнера. На втором этапе из сформированного набора выбирается (n-1) s-маршрутов, покрывающих минимальное дерево Штейнера. В работе рассматривается комбинаторный и параллельно последовательный подходы к построению минимального дерева Штейнера: каждый из s-маршрутов строится последовательно, но все (n-1) s-маршрутов, покрывающих минимальное дерево Штейнера, строятся параллельно. Оба рассматриваемых подхода базируются на методе муравьиной колонии. В общем случае поиск решения задачи построения минимального дерева Штейнера осуществляется популяцией кластеров агентов A={Aa\o=1,2,...,na). На каждой итерации агенты каждого кластера Aa=(aak\k=1,2,...,n-1} строят свое конкретное дерево Штейнера. Другими словами число решений, формируемых агентами на каждой итерации равно числу кластеров агентов. В работе впервые используется метод двойного непрямого обмена информации. Метод построен на основе композитной структуры феромона и дифференцированного способа его отложения. Каждый агент в кластере Ла метит путь (ребра маршрута) двумя видами феромона: феромон-1 и феромон-2. Тестирование производилось на бенчмарках. По сравнению с существующими алгоритмами достигнуто улучшение результатов на 6-7 %. Вероятность получения глобального оптимума составила 0.94. Временная сложность алгоритма при фиксированных значениях M и T лежит в пределах О(п).

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

B.K. Lebedev, O.B. Lebedev, E.O. Lebedeva

MODIFIED ANT COLONY ALGORITHM FOR BUILDING THE STEINER

MINIMAL TREES

We propose new technologies, principles and mechanisms for solving the problem of constructing a Minimal Steiner Tree using mathematical methods, which lay down the principles of natural decision-making mechanisms. The problem of constructing a Steiner tree is represented in the form of an adaptive system, based on the integration of the principles of self-organization and the ant approach to finding a solution. The well-known Steiner problem consists in the following. Given is a set of P points in the plane. An orthogonal grid is formed by conducting a horizontal and vertical line through a set ofpoints P located on a plane. An orthogonal grid G=(V, E) is formed, where V is the set ofpoints (nodes) of intersections of grid lines. The initial problem is equivalent to the problem of finding a tree G*=(V*, E*) in the graph G=(V, E) having the minimal total weight F of edges and including a given set of vertices P of G; PcV*cV, E *cE. The construction of the Minimal Steiner Tree is reduced to the problem of constructing and selecting (n-1) s-routes connecting the n major vertices. The problem is solved in two stages. At the first stage, a set of alternative variants of s-routes is formed, of course, ofgreater dimension than (n-1) covering the Minimal Steiner Tree. In the second step, the (n-1) s-routes covering the Minimal Steiner Tree are selected from the generated set. The paper discusses combinatorial and parallel sequential approaches to the construction of the Minimal Steiner Tree: each of the s-routes is constructed sequentially, but all (n-1) s-routes covering the Minimal Steiner Tree are built in parallel. Both approaches are based on the method of the ant colony. In the general case, the search for a solution to the problem of constructing a Minimal Steiner Tree is performed by a population of clusters of agents Л=(Ла\а = 1, 2, ..., nj. At each iteration, the agents of each cluster Ла = (a^k \ k = 1, 2, ..., n-1} construct their concrete Steiner tree. In other words, the number of decisions generated by agents at each iteration is equal to the number of agent clusters. The method of double indirect communication is used for the first time. The method is based on the composite structure of pheromone and its differentiated deposition

method. Each agent in cluster Aa marks the path (route edges) with two kinds of pheromone: pher-omone-1 and pheromone-2. The testing was performed on benchmarks. Compared with the existing algorithms, the improvement of results is achieved by 6-7 %. The probability of obtaining the global optimum was 0.94. The time complexity of the algorithm for fixed values M and T of the iterations number and population size lies in the range O(n).

Steiner tree; new technologies; principles; natural mechanisms; decision making; adaptive system; clusters of agents; ant colony; algorithm; optimization.

Введение. Задача Штейнера является фундаментальной задачей в проектировании сверхбольших интегральных схем (Very Large Scale Integration, VLSI). Также широко применяется в программируемых логических матрицах (Field-Programmable Gate Arrays, FPGA). FPGA представляют собой многократно используемые прикладные интегральные схемы, конфигурацию которых пользователь может достаточно легко изменить. Есть несколько доступных технологий FPGA, но чаще всего они состоят из симметричной матрицы реконфигурируемых логических блоков.

Проблема построения кратчайших связывающих сетей одна из наиболее сложных при автоматизированном проектировании внутрисхемных соединений электронных устройств. Поскольку при машинной трассировке соединений используется ортогональная опорная сетка, интерес представляет построение связывающих деревьев Штейнера в ортогональной метрике [1-6].

Существует множество различных способов, которыми можно решить задачу Штейнера.

Одним из наиболее широко распространенных методов точного решения является алгоритм, основанный на методе динамического программирования и уравнении Беллмана [2]. Другой точный метод использует приведение задачи к задаче целочисленного программирования и решения ее с помощью имеющихся в теории линейного программирования методов (метод ветвей и границ, отсечений Гомори и т.д.). Алгоритмы с применением метода ветвей и границ [7] основаны на идее последовательного разбиения множества на заданное число подмножеств и формировании оценок, позволяющих рассматривать только те подмножества, которые могут содержать решение задачи (т.е. отбрасываются заведомо не перспективные варианты). Основной недостаток этих методов заключается в необходимости корректного выбора оценок, в противном случае (при неверном выборе) данный метод будет осуществлять полный перебор. Точные алгоритмы, такие как метод ветвей и границ, не позволяют находить оптимальные решения в течение разумного периода времени, за исключением небольших проблем. В связи с этим при решении практических задач большую актуальность приобретают эвристические способы сокращения перебора.

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

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

В [8] рассматривается алгоритм построения дерева Штейнера основанный на методе горизонтальных (вертикальных) столбов Штейнера. Существенным недостатком этого метода является тот факт, что в результате получается дерево, сумма ребер которого далека от минимально возможной. В статье [9] описан эвристический алгоритм поиска приближённого решения задачи Штейнера, основанный на физических аналогиях. Суть алгоритма Z-RST [8] сводится к изменению конфигу-

рации ребер полученного на первом шаге дерева. Следующим известным методом является алгоритм ЖЯ8Т взвешенных деревьев Штейнера [8]. В алгоритме каждая цепь представляется в виде связывающего дерева, построенного алгоритмом Прима, на основе которого последовательно строится дерево Штейнера с учетом веса ребер и динамически изменяющейся в процессе построения среды (коммутационного поля). Алгоритмы [10, 11] алгоритмы последовательного введения дополнительных точек в дерево Прима-Краскала. К недостаткам алгоритма [12] следует отнести:

♦ возможное появление решений, длина которых больше, чем длина кратчайшей связывающей сети;

♦ корректность работы лишь для евклидовой метрики.

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

В настоящее время используются различные эволюционные парадигмы, которыми можно решить задачу Штейнера: генетический алгоритм, алгоритм роя, пчелиный алгоритм, муравьиный и другие [13-18].

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

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

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

Известная проблема Штейнера состоит в следующем [1,6]. Дано множество точек на плоскости: Р={р,\1=1,2, ...,п}. Требуется найти дерево 8=(Х, и), с множеством вершин Х и множеством ребер и таких, что РсХ, и суммарная длина ребер и минимальна. В случае ортогональной метрики расстояние между точками с координатами (х, у,) и (х,, у,) определяется по формуле й=\х1-х]\ + \у-у\.

Отличительной особенностью дерева Штейнера является то, что оно кроме основных вершин Р содержит некоторое множество дополнительных вершин Q=XP.

Проведем через множество точек Р=(р\1=1,2,...,п}, расположенных на плоскости горизонтальные и вертикальные линии (рис. 1). Образуется ортогональная сетка. Обозначим через V множество точек пересечений линий сетки и назовем их узлами сетки. Сопоставим ортогональной сетке граф 0=^,Е), \V\=пу, \Е\=пЕ. Ряд теорем [8, 9] доказывает, что существует дерево Штейнера, все дополнительные вершины которого принадлежат V. Другими словами, при отыскании дополнительных точек можно ограничиться узлами ортогональной сетки 0=(V, Е), а само дерево Штейнера полностью укладывается в ортогональной сети. При этом число этих точек Q<n-2.

Исходная задача эквивалентна задаче отыскания в графе О=(У,Е) дерева О =(У ,Е*), имеющего минимальный суммарный вес ^ ребер и включающего заданный набор вершин Р графа О, т.е. РсУ*сУ, Е*^Е.

Подходы к построению дерева Штейнера. Назовем цепь в графе О=(У, Е), связывающую две основные вершины, ¿--маршрутом. Задача построения МДШ сводится к задаче построения и выбора (п-1) ¿-маршрутов, связывающих п основных вершин. К настоящему времени сложились два основных подхода к построению МДШ [6, 8]. Первый подход базируется на идеях волнового алгоритма Ли [2] и заключается в последовательной реализации ¿-маршрутов.

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

Рассмотрим процесс формирования альтернативных вариантов ¿-маршрутов [5,6]. На множестве вершин Р алгоритмом Прима строится минимальное связывающее дерево (МСД) Я=(Як\к=1,2,...,п-1}, Як=(р,р,) - ребро МСД (рис. 1). Для каждого ребра Як на графе О строится набор Бк=Г(Як) альтернативных вариантов ¿-маршрута, равный $к=(8к\1=1,2,...,ш}. 8=(Бк\к=1,2,.,п-1} - множество наборов. Формирование 8к осуществляется исходя из следующих посылок: длина ¿к2 должна быть минимальна; варианты различных ¿-маршрутов должны обеспечивать максимально возможное совпадение друг с другом.

В общем случае в набор 8к для ребра Як=(р, р,) включаются все маршруты минимальной длины, соединяющие р, и р, в ортогональном графе О. На рис. 1 для ребра Як, связывающего р, и р,, существует 10 альтернативных ¿-маршрутов, проходящих через узлы с номерами 1 - 12:

¿к! =(3,6,9,12,11,10), ¿к2=(3,2,1,4,7,10), ¿кз=(3,2,5,4,7,10) и т.д.

При таком подходе все варианты ¿-маршрута, связывающего две вершины р, и р,, имеют одну и ту же длину, но различаются конфигурациями (составом ребер, входящих в маршрут).

1 2 Ч/. .3

4, s ,6

1 , 7 R 9

/ 11 Г 1

f Pi К,

Рис. 1. Формирование набора альтернативных вариантов &-ребер

Механизмы построения дерева Штейнера на основе муравьиной колонии. Для поиска решения задачи используется ортогональный граф О=(У,Е), построенный по выше приведенной методике. Поиск МДШ осуществляется на базе предварительно построенного алгоритмом Прима МСД Я=(Як\к=1,2,...,п-1}. В общем случае поиск решения задачи построения МДШ осуществляется популяцией кластеров агентов Л=(Ла\о=1,2,...,па}. На каждой итерации агенты каждого

кластера Aa=(aak\k=1,2,...,n-1} строят свое конкретное дерево Штейнера. Другими словами число решений, формируемых агентами на каждой итерации равно числу кластеров агентов.

Задача построения агентами каждого кластера Ла дерева Штейнера сводится к задаче построения и выбора в графе G совокупности маршрутов Ma s-маршрутов, покрывающих МДШ причем каждый маршрут skeSa соответствует ребру

Rk=(p,pj).

При использовании параллельно-последовательного подхода к построению МДШ за каждым ребром Rk=(p,pj) закрепляются либо один, либо два агента - ak1 и ak2. В случае двух агентов агент ak1 помещается в вершину p, а агент ak2 в вершину pj и построение МДШ осуществляется кластером, включающем 2(n-1) агентов. Задачей каждого агента ak1 или ak2 является построение на графе G s-маршрута, связывающего вершины pt и pj. Задачей кластера агентов является построение МДШ. Формирование каждым агентов ak s-маршрута осуществляется последовательно (пошагово). Все маршруты кластера строятся агентами параллельно и независимо друг от друга анализируя количество и качество феромона, отложенного на ребрах графа G=(V,E).

Для каждого агента, расположенного в вершине p, задаются координаты вершины pj к которой прокладывается s-маршрут и определяются возможные направления его перемещения по ребрам ортогонального графа G=(V,E), обеспечивающие построение s-маршрута минимальной длины. Пусть, например, вершина pj расположена ниже и левее вершины pi, тогда для агента, прокладывающего s-маршрут из вершины pt в pj возможные направления его перемещения - вниз и влево. А для агента, прокладывающего s-маршрут из вершины pj в pt возможные направления его перемещения - вверх и вправо. При этом агент не должен выходить за границы прямоугольника, диагональ которого связывает вершины pj и pt.

При таком подходе все варианты s-маршрута, связывающего две вершины pt и pj, имеют одну и ту же длину, но различаются конфигурациями (составом ребер, входящих в маршрут).

При использовании комбинаторного подхода к построению МДШ изначально для каждого ребра Rk, строится набор Sk=r(Rk) альтернативных вариантов s-маршрутов Sk={skz\z=1,2,...,m}. Методика формирования вариантов s-маршрутов изложена ниже. За каждым ребром Rk=(pip) закрепляется один агент. В общем случае за каждым ребром может быть закреплено несколько агентов. На каждой итерации каждый агент ak выбирает вариант s-маршрута из набора Sk={skz\z=1,2,...,m}.

Процесс поиска решений итерационный. Предварительно на всех ребрах графа G откладывается одинаковое (небольшое) количество феромона, равное Q/m, где m=\E\. Каждая итерация l включает три этапа.

На первом этапе каждой итерации каждый кластер Ла популяции Л строит свое дерево Штейнера. При этом каждый агент ak кластера Ла выбирает свой собственный маршрут sk(l).

На втором этапе на ребрах графа G, откладывается феромон.

В работе используется циклический (ant-cycle) метод муравьиных систем. Феромон откладывается каждым кластером Ла на ребрах сформированного агентами дерева Штейнера, после построения (или выбора) всеми кластерами агентов деревьев Штейнера.

Количество феромона откладываемого на ребрах МДШ, построенного кластером агентов Ла, пропорционально оценке качества МДШ. Чем больше феромона будет отложено на рёбрах графа G, тем большее количество агентов будет включать эти рёбра в собственные маршруты.

На третьем этапе осуществляется испарение феромона.

При параллельно-последовательном подходе процесс построения агентом маршрута ¿к пошаговый. Пусть к данному моменту . сформирована часть маршрута ¿(). Агент ак формирует список Е(.+1) еЕ ребер - кандидатов для включения в ¿-маршрут, в соответствии с ограничениями и возможными направлениями перемещения из вершины, в которой он расположен. В ¿-маршрут включается одно из ребер списка Ек(.+1). Выбор следующего ребра для включения его в формируемый маршрут ¿к выполняется с помощью вероятностного правила. Для каждого ребра е,еЕк(.+1) определяется количество к, размещенного на нем феромона. Вероятность Р, включения на шаге . ребра е,еЕк(.+1) в формируемый агентом ак маршрут ¿к(1), пропорциональна количеству феромона на ребре е, и определяется следующим соотношением

Р,= к, /Н,, где Н,=£Ь1 для

Агент с вероятностью Р, выбирает одно из ребер е,еЕк(.+1)), которое включается в маршрут ¿к(.), маршрут после этого обозначается как ¿к(.+1). На конечном шаге /=пк агентом ак будет сформирован ¿-маршрут ¿к.

При комбинаторном подходе - агентом на каждой итерации не строится, а выбирается из набора S=(¿kz\z=1,2,...,m} маршрут ¿кг. Пусть Е(¿кг) - множество ребер графа О, входящих в ¿ь.

Вероятность Рк1 выбора маршрута ¿к2, определяется следующим соотношением

,

г

где Сы- стоимость маршрута ¿kz, С^= Xк, (для всех}\е,еЕ(¿^).

На основе совокупности ¿-маршрутов, построенных или выбранных агентами одного кластераЛа, формируется дерево Штейнера Оа*

Обозначим как Га(1)=у^(Оа ) оценку качества дерева Штейнера, построенного агентами одного кластера Ла на 1-ой итерации, где Ш(Оа) - суммарный вес ребер, построенного дерева Штейнера, а у - управляющий параметр, который подбирается экспериментально.

На ребрах сети (дерева Штейнера), построенного агентами одного кластера Ла на 1-ой итерации откладывается феромон. Количество та(1) феромона, откладываемое кластером Ла на каждом ребре построенного им дерева Штейнера, определяется следующим соотношением:

та

где д - управляющий параметр, а общее количество феромона на ребре е, определится как:

к/!+1)= к/!)+ £та

а

На третьем этапе происходит общее испарение феромона на ребрах полного графа О в соответствии с формулой:

к, = к,

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

Как указывалось выше при использовании параллельно-последовательного подхода к построению МДШ за каждым ребром Як=(р,,р,) закрепляются два агента ак1 и ак2. В связи с этим после построения этими агентами маршрутов выбирается лучший из них. Лучшим является маршрут, для которого оценка Ск(1) имеет большее значение.

На основе совокупности ¿-маршрутов, построенных агентами одного кластера, формируется МДШ.

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

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

Глобальная цель коллектива (кластера агентов) заключается в построении минимального дерева Штейнера.

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

Отметим, что в соответствии с подходом, описанным выше, все маршруты, которые может построить агент, будут иметь одну и ту же длину. Качество маршрута, построенного агентом ак, будет определяться наличием общих участков с маршрутами, построенными другими агентами. Чем больше в составе маршрута общих участков с маршрутами, построенными другими агентами кластера, тем меньше суммарная длина ребер МДШ.

В работе впервые используется метод двойного непрямого обмена информации. Метод построен на основе композитной структуры феромона и дифференцированного способа его отложения. Каждый агент в кластере Ла метит путь (ребра маршрута) двумя видами феромона: феромон-1 и феромон-2.

Для отражения коллективной эволюционной памяти в течение жизни популяции кластеров агентов используются граф поиска решений 0=(У,Е) и счетчик числа включений ребер (СВР) Б={ё3\}=1,2, ...,пЕ}.

На ребрах графа О, входящих в состав дерева Штейнера, построенного кластером агентов Ла, откладывается феромон в количестве, пропорциональном оценке решения.

Для учета среднего количества включений каждого ребра е,еЕ графа поиска решений 0=(У,Е) в состав маршрутов, с формированных в процессе построения деревьев Штейнера, используется счетчик включений ребер (СВР) Б={ё,\1=1,2,...,пЕ}. Значением показателя ё, является среднее количество включений ребра е, в состав маршрутов, сформированных всеми агентами коллектива кластеров Л. Изначально счетчик Б обнуляется, т.е. всем показателям ё, присваивается нулевое значение. Пересчет значений показателей счетчика Б выполняется каждый раз после выполнения очередной итерации.

Для расчета показателей счетчика Б используются три счетчика Б1={ё1,\]=1,2,.,пЕ}, Б2={ё2,\]=1,2,.,пЕ}, Б3={ё3\'=1,2,...,пЕ}. Изначально все счетчики Б1, Б2, Б3, Б обнуляются. Счетчики Б1, Б2 обнуляются вначале каждой итерации. Счетчики Б1, Б2, Б3, Б формируются на каждой итерации последовательно один за другим. Значения показателей счетчиков формируются путем последовательного наращивания.

Счетчик Б1 используется для учета количества ё1, включений каждого ребра е,еЕ графа поиска решений 0=(У,Е), входящего в состав совокупности Ыа маршрутов, сформированных в процессе построения дерева Штейнера агентами кластера Ла.

Каждый раз после построения очередным агентом кластера Ea соединения (маршрута) skz определяется совокупность всех ребер E(skz) графа G, входящих в соединение (маршрут) skz. Затем значение каждого показателя d1j, такого, что ejeE(skz) увеличивается на единицу. После построения совокупности маршрутов Ma агентами кластера Aa определяется совокупность всех ребер E(Ma) графа G, входящих в эти соединения (маршруты).

Счетчик D2 используется для учета количества d2j включений каждого ребра ejeE графа G в состав совокупности маршрутов M=uMa, сформированных в процессе построения деревьев Штейнера агентами множества кластеров A на одной итерации.

Каждый раз после построения очередным кластером агентов Aa дерева Штейнера (совокупности маршрутов Ma) значение каждого показателя d2j, такого, что ejeE(Ma) увеличивается на значение показателя dlj, т.е. d2j=d2j+ dlj. После сложения значений показателей счетчика Dl со значениями соответствующих показателей счетчика D2 значения показателей счетчика Dl обнуляются.

Счетчик D3 используется для учета количества включений каждого ребра ejeE графа G в состав совокупности маршрутов, сформированных в процессе построения деревьев Штейнера агентами множества кластеров A на всех выполненных итерациях.

Каждый раз после выполнения очередной итерации l формируются значения показателей счетчиков D3 и D4. Значение каждого показателя d3jeD3 увеличивается на значение показателя d2j, т.е. d3j=d3j+d2j. Значение каждого показателя djeD равно среднему значению показателя d3j, сформированному за l итераций, т.е.

dj=d3j/l.

После обновления показателей счетчиков D3 и D4 показатели счетчика D2 обнуляются.

Состояние каждого ребра ejeE графа поиска решений G описывается двумя показателями hj и dj. Значения показателей hj и dj обновляются путем наращивания на каждой итерации после построения всеми кластерами агентов деревьев Штей-нера. Показатель hj соответствует феромону-1, а dj - феромону-2.

С учетом комбинированной оценки (hj и dj) состояния ребер графа поиска решений G пошаговый процесс построения маршрута sk агентом ak при параллельно-последовательном подходе осуществляется следующим образом. Пусть к данному моменту t сформирована часть маршрута sK(t). Агент ak формирует список Ek(t+1) eE ребер - кандидатов для включения в s-маршрут.

Для каждого ребра eje Ek(t+1) рассчитывается параметр Wj=dj-rj, где rj - длина ребра ej .

Показатель wj используется исходя из следующих соображений. Рассмотрим два маршрута s1 и s2. Пусть l1 длина маршрута s1, а l2 длина маршрута s2. В худшем случае общая длина сети l = l1+ l2. Если же маршруты и s2 используют общие ребра, то общая длина сети будет меньше на суммарную длину общих ребер. Таким образом, чем больше общих ребер используемых множеством маршрутов, построенных агентами одного кластера, и суммарная длина общих ребер, тем меньше общая длина сети.

По формуле (6) - при мультипликативной свертке, либо по формуле (7) - при аддитивной свертке определяется потенциальная стоимость Cj каждого ребра e}eEk(t+1).

Cj=

C = a

где a, в - управляющие параметры, которые подбираются экспериментально.

Вероятность Р, включения ребра е,еЕк(.+1) в формируемый маршрут ¿к(.+1), определяется следующим соотношением:

Р,=С/£ Сг для

I

При комбинаторном подходе агентом ак на каждой итерации не строится, а выбирается из набора Sk=(¿kz\z=1,2,...,m} маршрут ¿кх. Пусть Е^к:) - множество ребер графа О, входящих в ¿кх.

Вероятность Рь выбора маршрута ¿к2, определяется следующим соотношением:

Рк=Скг/£С1а, для

I

где Сь - потенциальная стоимость маршрута ¿к1, Ск= £ С для ( ,\е,е Е^к!)).

3

После формирования (или выбора) агентами одного кластера Ла маршрутов (каждый агент ак - свой маршрут) определяется оценка Еа(1) сети (дерева Штейне-ра), построенного агентами кластераЛа на 1-ой итерации.

После построения всеми кластерами агентов деревьев Штейнера на втором этапе итерации, для каждого ребра е, еЕ графа О обновляются значения показателей к, и а,.

Общее испарение феромона на ребрах графа О производится в соответствии с формулой (5).

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

Алгоритм построения дерева Штейнера на основе метода муравьиной колонии для модернизированного варианта концепции коллективной адаптации формулируется следующим образом.

1. В соответствии с вышеприведенной методикой на базе исходного множества точек Р=(р\1=1,2,...,п}, формируется ортогональный граф поиска решений О=(У,Е).

2. На базе исходного множества точек Р=(р\1=1,2,...,п}, с помощью алгоритма Прима строится минимальное связывающее дерево Я=(Як\к=1,2,...,п-1}, Як=(р„ р,) - ребро МСД.

3. На всех ребрах графа поиска решений О=(У,Е), откладывается начальное количество к(1) феромона-1, равное Q/m, где т=\Е\.

4. Все счетчики Б1, Б2, Б3, Б обнуляются.

5. Выбирается формула (6) или (7) для вычисления потенциальной стоимости ребра С,. Задаются значения параметров: а, р.

6. Задается число кластеров агентов - Ыа.

7. Задается число итераций - Ы1.

8. 1=1. (I - номер итерации).

(На первом этапе каждой итерации, на графе поиска решений О=(¥,Е) каждым кластером агентов Ла строится МДШ).

9. а=1. (а - номер кластера).

10. За каждым ребром Як=(р, р,) закрепляется агент акеЛа, который размещается в одной из вершин графа поиска решений О=(У,Е).

(Далее каждым агентом акеЛа на графе поиска решений О=(У,Е) строится маршрут ¿к(1)).

11. к=1. (к - номер агента).

12. .=0. (. - номер шага).

13. Агент ak определяет множество ребер Ek(t+1) кандидатов для включения в свой маршрут sk(t+1).

14. Рассчитывается стоимость Cj каждого ребра eje Ek(t+1).

15. По формуле (8) для каждого ребра ejeEk(t+1) рассчитывается вероятность Pj его включения в формируемый маршрут sk(t+1).

16. Случайным образом в соответствии с рассчитанными вероятностями выбирается ребро ejeEk(t+1), которое включается в маршрут sk(t+1).

17. Если маршрут sk(t+1) построен, то переход к п.18, иначе t=t+1 и переход к

18. (Наращивание показателей счетчика D1).

Определяется совокупность всех ребер E(skz) графа G, входящих в соединение (маршрут) skz. Затем значение каждого показателя d1j, такого, что eje E(skz) увеличивается на единицу.

19. Если k <(n-1), то k= k+1 и переход к п.12, иначе переход к п.20.

20. (Наращивание показателей счетчика D2).

D2= D2+D1.

21. Определяется оценка качества Fa(l) сети (дерева Штейнера), построенного агентами кластера Aa на l-ой итерации.

22. Обнуление счетчика D1.

22. Если а < Na, то а=а+1 и переход к п.10, иначе переход к п.23.

23. (Наращивание показателей счетчика D3).

D3= D3+D2

24. Обнуление счетчика D2.

25. Формирование счетчика D. (Vj)[dj=d3j/l].

26. Каждый кластер Aa агентов откладывает феромон на ребрах построенного им на l-ой итерации дерева Штейнера в количестве Ta(l)= д QF/l)^ общее количество феромона на ребре e

27. В соответствии с формулой (5) производится общее испарение феромона на ребрах графа G=(V,E).

28. Выбор лучшего решения, полученного на протяжении всех выполненных итераций.

29. Если l<Nl, то l= l+1 и переход к п.9, иначе конец работы алгоритма.

Временная сложность этого алгоритма на одной итерации определяется как

O(n2), где n - количество вершин графа G=(V,E).B общем случае время работы этого алгоритма зависит от времени жизни колонии l (число итераций), количества вершин графа n и числа кластеров агентов т.

Экспериментальные исследования. Для написания программы построения дерева Штейнера на основе метода муравьиной колонии был использован язык C++ в среде Microsoft Visual Studio 2010 для ОС Windows.Тестирование проводилось на ЭВМ с процессором Intel Core 2 Duo T6600 2200 МГц, 4 Гб ОЗУ под управлением операционной системы Windows 7.

Экспериментальные исследования программы построения дерева Штейнера на основе метода муравьиной колонии (AMST) показали, что начальное количество феромона Q должно быть в 14 раз больше среднего количества значения фер-ромона Tk(l), откладываемого агентами на каждой итерации.

Для нахождения наилучшего сочетания таких параметров, как объем популяции M и количество итераций T, использовались точные решения задачи Штейнера в прямоугольной метрике для тестовых наборов estein OR-library [19], приведенные в

п.13.

работе D. Warme [20]. Данный тестовый набор представляет собой совокупность задач с размерностью 10, 20, 30, 40, 50, 60, 70, 90, 100, 250 и 500 точек (по 15 задач на каждую размерность). Результаты исследований приведены в табл. 1.

Таблица 1

Результаты исследований

Число Качество решения Число гене^) аиий Г

вершин

Опт. <0.1% >0.1% Min Мах Средн.

10 8 1 1 20 100 80

20 14 4 2 20 115 90

30 15 5 0 30 200 110

40 5 4 1 32 150 120

50 6 4 0 40 175 150

60 6 4 0 70 200 150

so 6S 6 6 60 150 145

100 S2 10 S 55 135 120

250 200 20 30 50 140 125

500 460 400 60 60 135 110

На основе обработки экспериментальных исследований была построена средняя зависимость степени качества от числа итераций (рис. 2). В результате экспериментов установлено, что при объеме популяции кластеров агентов М= 100 алгоритм сходится в среднем на 130 итерации. В среднем решение близко к оптимальному. В среднем результат, полученный предложенным алгоритмом на 130-ой итерации, отличается от точного на 0.15 процента. Временная сложность адаптивной процедуры на одном итерации - О(п).

20 40 60 80 100 130 150 Рис. 2. Зависимость степени качества алгоритма ЛМБТ от числа итераций

В качестве аналога для сравнения выбраны пять алгоритмов: algorithm (RMST) [21], Refined Single Trunk Tree (RST-T) [22], the spanning graph based RSMT algorithm (SPAN)[23], the near-optimal Batched Iterated 1-Steiner (BI1S) heuristic [24], and FLUTE [25]. В качестве оценки качества рассматривалась суммарная длина ребер построенного МДШ Сравнительный анализ с другими алгоритмами производился на стандартных тестовых примерах и схемах (бенчмарках). Генерация оптимальных решений МДШ была произведена программой GeoSteiner 3.1 [26] . Исходные значения тестов были взяты из [27].

Сравнение производилось по величине отклонения в % значения суммарной стоимости ребер МДШ от оптимального по методике, изложенной в [27].

Сравнение отклонений показано в табл. 2.

Таблица 2

Сравнение отклонений

Число вершин МДШ Отклонение суммарной длины МДШ от оптимального значения в %

RMST RST-T SPAN BIIS FLUTE AMST

10 11.920 5.016 0.950 0.381 0.126 0.071

20 12.373 14.471 1.124 0.484 0.572 0.327

30 12.526 22.215 1.235 0.533 1.100 0.648

40 12.630 29.130 1.316 0.551 1.633 0.971

50 12.742 35.598 1.391 0.563 2.081 1.540

60 12.766 41.832 1.436 0.566 2.475 1.471

70 12.802 47.781 1.497 0.575 2.837 1.687

80 12.872 53.967 1.554 0.588 3.195 1.910

90 12.892 59.430 1.600 0.587 3.508 2.101

100 12.881 64.722 1.658 0.590 3.798 2.267

Анализируя данные можно сделать вывод, что разработанный алгоритм AMST находит решения, превосходящие своих аналогов. Среднее отклонение по всем примерам составляет всего 0,15 %. Из табл. 2 видно, что отклонение критерия от оптимального линейно зависит от числа вершин. Отклонение RST-T очень быстро возрастает с ростом числа вершин и очень существенно даже для сетей среднего размера. AMST очень точен для сетей с малым числом вершин, и достаточно точен для сетей с числом вершин до 100. Таким образом, он подходит для приложений СБИС. Временная сложность алгоритма при фиксированных значениях M и T лежит в пределах О(п) .

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

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

В работе рассматривается комбинаторный и параллельно последовательный подходы к построению МДШ. Впервые используется композитная структура феромона и дифференцированный метод его отложения. Каждый агент в кластере метит путь (ребра маршрута) двумя видами феромона: феромон-1 и феромон-2. Декомпозиция задачи в рамках параллельно-последовательного подхода позволили избежать проблемы очередности прокладки маршрутов и организовать систему коллективной адаптации с высокой степенью целесообразного поведения и сходимости.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Норенков И.П. Основы автоматизированного проектирования. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2006.

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

3. Promel H.J. and Steger A. The Steiner Tree Problem: A Tour Through Graphs, Algorithms, and Complexity. Friedrich Vieweg and Son, Braunschweig, 2002.

4. Zachariasen M. and Rohe A. Rectilinear group Steiner trees and applications in VLSI design // Mathematical Programming. - 2003. - P. 407-433.

5. Лебедев Б.К., Лебедев О.Б., ЧернышевЮ.О. Основные задачи синтеза топологии СБИС.

- Ростов-на-Дону: Изд-во РГАСХМ, 2006. - 184 с.

6. Лебедев Б.К. Интеллектуальные процедуры синтеза топологии СБИС. - Таганрог: Изд-во ТРТУ, 2003. - 107 с.

7. Курейчик В.М., Лебедев Б.К. Построение минимального связывающего дерева Штейнера на основе метода ветвей и границ // Методы и программы решения оптимизационных задач на графах и сетях. Ч. 2. Материалы 2 всесоюзного совещания. - Новосибирск, 1982. - С. 82-85.

8. Щемелинин В.М. Автоматизация топологического проектирования БИС. - М.: МИЭТ, 2001. - 132 с.

9. Лисин А.В., Файзуллин Р.Т. Эвристический алгоритм поиска приближённого решения задачи Штейнера, основанный на физических аналогиях // Компьютерная оптика.

- 2013. - Т. 37, № 4. - С. 503-510.

10. Рыженко Н.В. Задача построения дерева Штейнера для этапа глобальной трассировки. «Высокопроизводительные вычислительные системы и микропроцессоры» // Труды ИМВС РАН. - М., 2003. - Вып. 4. - С. 96-105.

11. Заглядин Г.Г., Сырцов И.А., Школа А.В. Алгоритм синтеза множества остовных деревьев для выполнения глобальной трассировки заказных СБИС // Известия высших учебных заведений. Электроника. - 2010. - № 5 (85). - С. 36-40.

12. Yang, Z.-X. Geometry Experiment Algorithm Steiner Minimal Tree Problem // Journal of Applied Mathematics. - 2013. - P. 1-10.

13. Rabkin M. Efficient use of Genetic Algorithms for the Minimal Steiner Tree and Arborescence Problems with applications to VLSI Physical Design // Genetic Algorithms and Genetic Programming at Stanford. - 2002. - No. 1. - P. 195-202.

14. Калашников Р.С. Экспериментальные исследования комбинированного эвристического алгоритм построения дерева Штейнера основанного на методе эволюционного поиска для этапа глобальной трассировки // Известия ТРТУ. - 2005. - № 3.

15. Лебедев В.Б. Построение связывающих сетей на основе роевого интеллекта и генетической эволюции // Сборник научных трудов XIV Всероссийской научно-технической конференции "Нейроинформатика-2012". Ч. 2. - М.: Изд-во Физматлит, 2012. - C. 93-103.

16. Tao Huang, Evangeline F.Y. Obstacle-avoiding rectilinear Steiner minimum tree construction: an optimal approach // Proceeding ICCAD '10 Proceedings of the International Conference on Computer-Aided Design San Jose, California, 2010. - P. 610-613.

17. Полежаев П.Н., Миронов А.П., Поляк Р.И. Применение алгоритмов муравьиной колонии в решении задачи Штейнера // Философские проблемы информационных технологий и киберпространства. - 2015. - Вып. № 1. - С. 96-105.

18. PatelM.K., KabatM.R., Tripathy C.R A hybrid ACO/PSO based algorithm for QoS multicast routing problem // Ain Shams Engineering Journal. - 2014. - Vol. 5, Issue 1. - P. 113-120.

19. OR-Library is collection of test data for a variety of OR problem. - http://mscmga.ms.ic.ac.uk.

20. Warme D.M. A new exact algorithm for rectilinear Steiner trees. INFORMS Conf., San-Diego, California, 1997.

21. Andrew B.K., Mandoiu I. RMST-Pack: Rectilinear minimum spanning tree algorithms. http://vlsicad.ucsd.edu/GSRC/bookshelf/Slots/RSMT/RMST/.

22. Chen H., Qiao C., Zhou F., and Cheng C.-K. Refined single trunk tree: A rectilinear Steiner tree generator for interconnect prediction // In Proc. ACM Intl. Workshop on System Level Interconnect Prediction. - 2002. - P. 85-89.

23. Hai Zhou. Efficient Steiner tree construction based on spanning graphs // In Proc. Intl. Symp. on Physical Design. - 2003. - P. 152-157.

24. Griffith J., Robins G., Salowe J.S., and Zhang T. Closing the gap: Near-optimal Steiner trees in polynomial time // IEEE Trans. Computer-Aided Design. - 1994. - No. 13 (11). - P. 1351-1365.

25. Chris Chu. FLUTE: Fast lookup table based wirelength estimation technique // In Proc. IEEE/ACM Intl. Conf. on Computer-Aided Design. - 2004. - P. 696-701.

26. GeoSteiner - software for computing Steiner trees. - http://www.diku.dk/geosteiner/.

27. Chu C. and Wong Y.-C. Fast and accurate rectilinear steiner minimal tree algorithm for VLSI design // In Proc. International Symposium on Physical Design. - ACM Press, 2005. - P. 28-35.

REFERENCES

1. Norenkov I.P. Osnovy avtomatizirovannogo proektirovaniya [Fundamentals of computer-aided design]. Moscow: Izd-vo MGTU im. N.E. Baumana, 2006.

2. Den'dobrenko B.P., Malika A.S. Avtomatizatsiya proektirovaniya radioelektronnoy apparatury [Automation of designing of radio-electronic equipment]. Moscow: Vyssh. shk., 2002, 384 p.

3. Promel H.J. and Steger A. The Steiner Tree Problem: A Tour Through Graphs, Algorithms, and Complexity. Friedrich Vieweg and Son, Braunschweig, 2002.

4. Zachariasen M. and Rohe A. Rectilinear group Steiner trees and applications in VLSI design, Mathematical Programming, 2003, pp. 407-433.

5. LebedevB.K., Lebedev O.B., Chernyshev Yu.O. Osnovnye zadachi sinteza topologii SBIS [The main tasks of synthesis of VLSI topology]. Rostov-on-Don: Izd-vo RGASKhM, 2006, 184 p.

6. Lebedev B.K. Intellektual'nye protsedury sinteza topologii SBIS [Intellectual procedures for the synthesis of VLSI topology]. Taganrog: Izd-vo TRTU, 2003, 107 p.

7. Kureychik V.M., Lebedev B.K. Postroenie minimal'nogo svyazyvayushchego dereva Shteynera na osnove metoda vetvey i granits [Construction of a minimal Steiner binding tree on the basis of the branch and boundary method], Metody i programmy resheniya optimizatsionnykh zadach na grafakh i setyakh. Ch. 2. Materialy 2 vsesoyuznogo soveshchaniya [Methods and programs for solving optimization problems on graphs and networks. Part 2. Materials of the 2nd All-Union Conference]. Novosibirsk, 1982, pp. 82-85.

8. Shchemelinin V.M. Avtomatizatsiya topologicheskogo proektirovaniya BIS [Automation of topological design of BIS]. Moscow: MIET, 2001, 132 p.

9. Lisin A.V., Fayzullin R.T. Evristicheskiy algoritm poiska priblizhennogo resheniya zadachi Shteynera, osnovannyy na fizicheskikh analogiyakh [Heuristic algorithm for the search for an approximate solution of the Steiner problem, based on physical analogies], Komp'yuternaya optika [Computer optics], 2013, Vol. 37, No. 4, pp. 503-510.

10. Ryzhenko N.V. Zadacha postroeniya dereva Shteynera dlya etapa global'noy trassirovki. «Vysokoproizvoditel'nye vychislitel'nye sistemy i mikroprotsessory» [The task of constructing a Steiner tree for the global trace phase. "High-performance computing systems and microprocessors"], Trudy MVS RAN [Proceedings of IMVS RAS]. Moscow, 2003, Issue 4, pp. 96-105.

11. Zaglyadin G.G., Syrtsov I.A., Shkola A.V. Algoritm sinteza mnozhestva ostovnykh derev'ev dlya vypolneniya global'noy trassirovki zakaznykh SBIS [Algorithm for the synthesis of a set of spanning trees for performing a global trace of custom VLSI], Izvestiya vysshikh uchebnykh zavedeniy. Elektronika [Izvestiya Vysshikh Uchebnykh Zavedenii. Electronics], 2010, No. 5 (85), pp. 36-40.

12. Yang, Z.-X. Geometry Experiment Algorithm Steiner Minimal Tree Problem, Journal of Applied Mathematics, 2013, pp. 1-10.

13. Rabkin M. Efficient use of Genetic Algorithms for the Minimal Steiner Tree and Arborescence Problems with applications to VLSI Physical Design, Genetic Algorithms and Genetic Programming at Stanford, 2002, No. 1, pp. 195-202.

14. Kalashnikov R.S. Eksperimental'nye issledovaniya kombinirovannogo evristicheskogo algoritm postroeniya dereva Shteynera osnovannogo na metode evolyutsionnogo poiska dlya etapa global'noy trassirovki [Experimental studies of the combined heuristic algorithm for constructing a Steiner tree based on the method of evolutionary search for the stage of global tracing], Izvestiya TRTU [Izvestiya TSURE], 2005, No. 3.

15. Lebedev V.B. Postroenie svyazyvayushchikh setey na osnove roevogo intellekta i geneticheskoy evolyutsii [Construction of connecting networks based on swarm intelligence and genetic evolution], Sbornik nauchnykh trudov XIV Vserossiyskoy nauchno-tekhnicheskoy konferentsii "Neyroinformatika-2012" [Collection of scientific papers of the XIV All-Russian Scientific and Technical Conference "Neuroinformatics-2012."]. Part 2. Moscow: Izd-vo Fizmatlit, 2012, pp. 93-103.

16. Tao Huang, Evangeline F.Y. Obstacle-avoiding rectilinear Steiner minimum tree construction: an optimal approach, Proceeding ICCAD '10 Proceedings of the International Conference on Computer-Aided Design San Jose, California, 2010, pp. 610-613.

17. Polezhaev P.N., Mironov A.P., Polyak R.I. Primenenie algoritmov murav'inoy kolonii v reshenii zadachi Shteynera [Application of the algorithms of the ant colony in solving the Steiner problem], Filosofskie problemy informatsionnykh tekhnologiy i kiberprostranstva [Philosophical Problems of Information Technologies and Cyberspace], 2015, Issue No. 1, pp. 96-105.

18. PatelM.K., KabatM.R., Tripathy C.R. A hybrid ACO/PSO based algorithm for QoS multicast routing problem, Ain Shams Engineering Journal, 2014, Vol. 5, Issue 1, pp. 113-120.

19. OR-Library is collection of test data for a variety of OR problem. Available at: http://mscmga.ms.ic.ac.uk.

20. Warme D.M. A new exact algorithm for rectilinear Steiner trees. INFORMS Conf., San-Diego, California, 1997.

21. Andrew B.K., Mandoiu I. RMST-Pack: Rectilinear minimum spanning tree algorithms. Available at: http://vlsicad.ucsd.edu/GSRC/bookshelf/Slots/RSMT/RMST/.

22. Chen H., Qiao C., Zhou F., and Cheng C.-K. Refined single trunk tree: A rectilinear Steiner tree generator for interconnect prediction, In Proc. ACM Intl. Workshop on System Level Interconnect Prediction, 2002, pp. 85-89.

23. Hai Zhou. Efficient Steiner tree construction based on spanning graphs, In Proc. Intl. Symp. on Physical Design, 2003, pp. 152-157.

24. Griffith J., Robins G., Salowe J.S., and Zhang T. Closing the gap: Near-optimal Steiner trees in polynomial time, IEEE Trans. Computer-Aided Design, 1994, No. 13 (11), pp. 1351-1365.

25. Chris Chu. FLUTE: Fast lookup table based wirelength estimation technique, In Proc. IEEE/ACM Intl. Conf. on Computer-Aided Design, 2004, pp. 696-701.

26. GeoSteiner - software for computing Steiner trees http://www.diku.dk/geosteiner/.

27. Chu C. and Wong Y.-C. Fast and accurate rectilinear steiner minimal tree algorithm for VLSI design, In Proc. International Symposium on Physical Design. ACM Press, 2005, pp. 28-35.

Статью рекомендовала к опубликованию д.т.н., профессор А.Г. Коробейников.

Лебедев Борис Константинович - Южный федеральный университет; e-mail: lebedev.b.k@gmail.com; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 89282897933; кафедра систем автоматизированного проектирования; профессор.

Лебедев Олег Борисович - e-mail: lebedev.ob@mail.ru; тел.: 89085135512; кафедра систем автоматизированного проектирования; доцент.

Лебедева Екатерина Олеговна - e-mail: lebedev.ob@mail.ru; тел.: 89289591426; кафедра систем автоматизированного проектирования; студентка.

Lebedev Boris Konstantinovich - Southern Federal University; e-mail: lebedev.b.k@gmail.com; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: 89282897933; the department of computer aided design; professor.

Lebedev Oleg Borisovich - e-mail: lebedev.ob@mail.ru; phone: 89085135512; the department of computer aided design; associate professor.

Lebedeva Ekaterina Olegovna - e-mail: lebedev.ob@mail.ru; phone: 89289591426; the department of computer aided design; student.

УДК 519.712.2

Л.А. Гладков, Н.В. Гладкова, С.Н. Лейба

РАЗРАБОТКА И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ГИБРИДНОГО АЛГОРИТМА РЕШЕНИЯ ЗАДАЧ РАЗМЕЩЕНИЯ И ТРАССИРОВКИ*

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

* Работа выполнена при финансовой поддержке РФФИ (проект № 17-01-00627).