кальный оптимум, а за счет распараллеливания уменьшается время. На каждой итерации оно равно времени поиска в самом перспективном блоке.
Заключение. Данный алгоритм позволяет распараллеливать процесс размещения элементов, эффективно управлять поиском, получать оптимальные и квазиопти-мальные решения. Проведен вычислительный эксперимент. Проведенные серии тестов и экспериментов позволили уточнить теоретические оценки временной сложности алгоритмов проектирования и их поведение для схем различной структуры. В лучшем случае временная сложность алгоритма »O(n-log(n)), в худшем случае - О(п3).
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Биоинспированные методы в оптимизации / Гладков Л. А., Курейчик В.В., Курейчик В.М., Сороколетов П.В. - Биоинспирированные методы в оптимизации. - М.: ФИЗМАТЛИТ, 2009. - 384 с.
2. The Bees Algorithm - A Novel Tool for Complex Optimization Problems / D.T. Pham, A. Ghanbarzadeh, E. Kof, S. Otri , S. Rahim, M. Zaidi - Manufacturing Engineering Centre, Cardiff University, Cardiff CF24 3AA, UK.
3. Муравьиный алгоритм разбиения / О.Б. Лебедев. Эволюционная адаптация на основе колонии пчел / В.В. Курейчик, Е.Е. Полупанова.
4. Курейчик В.В., Курейчик В.М., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки. - 2009.
- № 4 (93). - С. 16-24.
Курейчик Владимир Викторович
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634383451.
Запорожец Дмитрий Юрьевич
E-mail: [email protected].
Тел.: 88634371651.
Kureichik Vladimir Viktorovich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education «Southern Federal University».
E-mail: [email protected].
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: +78634383451.
Zaporoghetz Dmitri Urievich
E-mail: [email protected].
Phone: +78634371651.
УДК 681.3.001.63
Б.К. Лебедев, В.Б. Лебедев ГЛОБАЛЬНАЯ ТРАССИРОВКА НА ОСНОВЕ РОЕВОГО ИНТЕЛЛЕКТА*
Излагается метод решения задачи глобальной трассировки на основе роевого интеллекта и генетической эволюции. Связующим звеном такого подхода является структура данных, описывающая в виде хромосомы решение задачи. Это позволило организовать про-
*
Работа выполнена при поддержке: РФФИ (гранты № 09-01-00509, № 10-07-00055), г/б № 2.1.2.1652.
странство решений, в рамках которого организован поисковый процесс, базирующийся на моделировании адаптивного поведения роя частиц. По сравнению с существующими алгоритмами достигнуто улучшение результатов.
Роевой интеллект; генетическая эволюция; гибридизация; оптимизация; глобальная трассировка.
B.K. Lebedev, V.B. Lebedev GLOBAL ROOTING ON THE BASIS OF SWARM INTELLIGENCE
In work the method of the decision of a problem of global rooting on a basis swarm intelligence and genetic evolution is stated. A link of such approach is the structure of data describing in the form of a chromosome the decision of a problem. It has allowed to form the space of decisions in which frameworks the search process which is based on modelling of adaptive behaviour of a swarm of particles is organized. In comparison with existing algorithms improvement of results is reached.
Swarm intelligence; genetic evolution; hybridization; optimization; global rooting.
Введение. Алгоритмы глобальной трассировки можно разбить на два класса: последовательный и комбинаторный [1].
При последовательном подходе цепи распределяются по областям последовательно. В основе большинства из них лежит волновой алгоритм Ли и его модификации [1,2]. Качество решения во многом определяется порядком трассируемых соединений. Анализ существующих методов упорядочения показывает, что не существует радикального метода, гарантирующего оптимальную трассировку.
Сущность комбинаторных алгоритмов заключается в том, что для каждого соединения tj формируется набор вариантов его реализации, т.е. набор вариантов прохождения его по областям. Цель задачи заключается в нахождении на заданном наборе таких вариантов, которые обеспечивают наилучшее решение задачи глобальной трассировки. Большинство алгоритмов [1,2] используют традиционные итерационные улучшающие структуры, основанные на слепом случайном поиске. Основным недостатком, присущим этому подходу, является вхождение алгоритмов в локальный оптимум, часто далекий от глобального оптимума. В последнее время для решения различных «сложных» задач, к которым относятся и задачи глобальной трассировки, всё чаще используются способы, основанные на применении методов искусственного интеллекта. Особенно наблюдается стремительный рост интереса к разработке алгоритмов, инспирированных природными системами [3-5]. Одним из новых направлений таких методов являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта [5-7]. Оптимизация с использованием роя частиц (Particle Swarm Optimization, PSO) - это метод поиска, который базируется на понятии популяции, и моделирует поведение птиц в стае и косяков рыб [7-9]. Рой частиц рассматривается как многоагентная система, в которой каждый агент (частица) функционирует автономно по очень простым правилам. В таких случаях говорят о роевом интеллекте (Swarm intelligence).
В работе излагается метод решения задачи глобальной трассировки на основе интеграции роевого интеллекта [6] и генетической эволюции [10]. С этой целью разработана единая для обоих подходов структура данных. С учетом особенностей единой структуры данных разработаны модифицированные механизмы поведения роя частиц и структура пространства решений, в рамках которого организован поисковый процесс, базирующийся на моделировании адаптивного поведения роя частиц.
Постановка задачи. Для решения задачи распределения соединений по областям в качестве модели КП используется граф G=(X,U). Вершины графа xteX
соответствуют областям оієА. Если две области a, и aj имеют общую границу Ьк, то вершины хі и Xj , соответствующие этим областям, связываются ребром ukeU. Для каждого ребра uk, связывающего вершины х, и х, задается вес ak, равный пропускной способности общей границы bK между областями, соответствующими вершинам Хі и Xj. Будем считать, что граф G метризован, т.е. каждая вершина xteG имеет координаты. Координаты вершины принимаются, равными координатам центра соответствующей области.
На графе G множеству областей, связываемых цепью tteT, соответствует множество вершин ХєХ. Распределить цепь t, по областям - это значит построить в графе G на множестве вершин Xi связывающую сеть.
Пусть имеется некоторое решение задачи глобальной трассировки, в соответствии с которым построено множество связывающих сетей E. В качестве исходных данных для каждой цепи ti задается параметр pi, равный ширине цепи плюс расстояние между цепями. Иногда для одной цепи задаются два параметра -p1i при распространении цепи по горизонтали, p2i - по вертикали.
Пусть Е,єЕ - множество связывающих сетей, построенных для множества цепей TjeT , в состав которых входит ребро uj. Обозначим через Pj сумму ресурсов, необходимых множеству связывающих сетей ЕJ для прохождения через ребро ujeG. Другими словами, сумму ресурсов, необходимых цепям множества Т для пересечения границы bf.
Pj = I pi, (i | ti gTj).
Для каждого ребра uj графа G определяется параметр wj=aj-Pj.
Введем функцию знака sign(wj):
sign(wj) = +1, если wj> 0;
sign(wj) = 0, если wj = 0;
sign(wj) = -1, если wf< 0;
В качестве критерия оптимизации будем использовать величину:
m
F =2 sign (w ■) -1 ^ max.
1 j=1 J
Задача сводится к выбору такого допустимого распределения соединений по областям, при котором число границ bj, чьих ресурсов недостаточно, минимально. Найдем в графе G минимальное значение параметра wj и обозначим его wmin, т.е.
wmin^Vj[w
min
щ].
В другой постановке задача представляется в виде:
F2 = wmm ^max.
Для нашей задачи цель оптимизации - максимизация параметра wmin. Действительно, чем больше остаток ресурсов, тем легче реализовать соединения при детальной трассировке, и абсолютно неприемлем результат, когда wj имеет отрицательное значение
Рассмотрим подход к формированию альтернативных вариантов связывающих сетей. Для каждой цепи ti на множестве связываемых ею вершин Xi графа G с помощью алгоритма Прима [1] строится минимальное связывающее дерево (МСД) Di={dik\k = 1, 2,..., n}, где dik - ребро минимального связывающего дерева. Для каждого ребра dikeDi формируется набор Vki={vikj\j=1,2,.} вариантов маршрутов, связывающих на графе G соответствующие вершины. Каждому маршруту vikf- со-
ответствует множество Г(у) ребер графа О. Назовем такой маршрут двухтерминальным соединением или ё-соединением. Некоторое решение задачи глобальной трассировки, заключается в том, что для всех ребер всех МСД цепей, выбраны варианты, реализующих их маршрутов (ё-соединений). Итак, поиск решения сводится к поиску некоторого набора вариантов ё-соединений для реализации ребер связывающих деревьев, оптимизирующего показатель качества (критерий).
Общая структура представления решений в алгоритмах разбиения на основе роевого интеллекта и генетического поиска. В эвристических алгоритмах роевого интеллекта многомерное пространство поиска населяется роем частиц [9]. Каждая частица представляет некоторое решение. В нашем случае решение задачи глобальной трассировки. Процесс поиска решений заключается в последовательном перемещении частиц в пространстве поиска.
Обозначим позицию частицы I в пространстве решений в момент времени t (имеет дискретные значения) как х,((). По аналогии с эволюционными стратегиями, рой можно трактовать как популяцию, а частицу - как индивида (хромосому). Это дает возможность построения гибридной структуры поиска решения, основанную на сочетании генетического поиска с методами роевого интеллекта. Связующим звеном такого подхода является структура данных, описывающая в виде хромосомы решение задачи. Если в качестве частицы используется хромосома, то число параметров, определяющих положение частицы в пространстве решений должно быть равно числу генов в хромосоме. Значение каждого гена откладывается на соответствующей оси пространства решений. В этом случае возникают некоторые требования к структуре хромосомы и значениям генов. Значения генов должны быть независимыми друг от друга, то есть хромосомы должны быть гомологичными. В работе предлагается подход к построению структур и принципов кодирования хромосом, обеспечивающих их гомологичность и возможность одновременного использования в генетическом алгоритме, и в алгоритме на основе роя частиц.
Каждое двухтерминальное соединение представляет собой маршрут, состоящий из горизонтальных и вертикальных отрезков. В работе рассматриваются два подхода к формированию маршрутов. При первом подходе конфигурация маршрутов формируется априори. В простейшем случае формируются два варианта.
На рис. 1,а показаны два варианта маршрута минимальной длины, связывающего вершины А и В.
В
2
Рис. 1. Способы формирования маршрутов на опорной сетке
На основе выше изложенного хромосома, задающая распределение соединений по областям, имеет следующую структуру: К=(Щі=1, 2, п}. К представляет собой объединение множества частей К. Каждая часть К, соответствует цепи и несет информацию о распределении цепи по областям. В свою очередь, К, состоит из генов gik, число которых равно числу ребер дерева Д. Каждый ген gik соответствует ребру дерева Д, построенного для цепи 4 и несет информацию о варианте двухтерминального соединения (маршрута), реализующего ребро йк. Ес-
1
1
ли gjk=1, то выбран первый вариант маршрута, если £*=0, то выбран второй вариант маршрута.
В общем случае хромосома имеет вид: Я={£* ^=1, 2, п; к=1, 2, пк}.
Таким образом, при первом подходе варианты ё-соединений (в простейшем случае два) формируются априори. В общем случае, максимальное значение гена равно числу вариантов ё-соединений, сформированных априори для ребра йк.
Механизмы глобальной трассировки на основе роевого интеллекта. В методе оптимизации роем частиц агентами являются частицы в пространстве параметров задачи оптимизации. Основу поведения роя частиц составляет самоорганизация, обеспечивающая достижение общих целей роя на основе низкоуровневого взаимодействия. Каждая частица связана со всем роем, может взаимодействовать со всем роем и она тяготеет к лучшему решению роя. Процесс поиска решений итерационный. На каждой итерации каждая частица перемещается в новую позицию. В каждый момент времени (на каждой итерации) частицы имеют в этом пространстве некоторое положение и вектор скорости. Для каждого положения частицы вычисляется соответствующее значение целевой функции. При определении следующего положения частицы учитывается информация о наилучшей частице из числа «соседей» данной частицы, а также информация о данной частице на той итерации, когда этой частице соответствовало наилучшее значение целевой функции, и на этой основе по определенным правилам частица меняет свое положение и скорость в пространстве поиска [8].
В каноническом методе роя частиц [9], использующем непрерывные метрические шкалы, новая позиция частицы j определяется как
х(1+1) = х() + \(1+1),
где у (1+1) скорость перемещения частицы j из позиции х$) в позицию х(1+1). Начальное состояние определяется, как х,(0), у,(0). Приведенная формула представлена в векторной форме. Для отдельного измерения к пространства поиска формула примет вид
х,к(г+1)= х*(г)+ у*(г+1), (3)
где хк(1) - позиция частицы j в измерении к, ук(1+1) - скорость частицы j в измерении к.
Введем обозначения:
♦ 1(1) — текущее значение целевой функции частицы j в позиции х^);
♦ / (1) — лучшее значение целевой функции среди частиц роя в момент времени 1, а х (1) — позиция с этим значением;
♦ х — лучшая позиция частицы j, которую она посещала с начала первой итерации, а /,(1) — значение целевой функции в этой позиции — лучшее значение частицы j.
Лучшие частицы с точки зрения целевой функции объявляется «центром притяжения». Векторы скоростей всех частиц устремляются к этим центрам.
В работе в отличие от стандартной парадигмы метода роя частиц вместо непрерывной метрической (числовой) шкалы используется дискретная.
Для того, чтобы избежать при описании популяции (роя) путаницы будем в дальнейшем каждую хромосому, описывающую j-е решение популяции обозначать как Н,(1). Причем каждая Н(() имеет структуру аналогичную структуре Я. В нашем случае позиция х() соответствует /'-му решению, задаваемому хромосомой Н^), т.е. х()= Н(1). Аналогично х (1) = Н (1), х (1) = Н (1). Число осей в про-
странстве решений равно числу генов в хромосоме Н(1). Точками отсчета на каждой оси к являются значения генов.
Рассмотрим первый подход. При первом подходе к кодированию решения гены имеют только два значения - 0 или 1. Таким образом, решение Н(() можно рассматривать как вектор Н(()={ка(()\1=1, 2, ..., п} элементы которого имеют только два значения - 0 или 1. Аналогичную структуру имеют решения Н» ={к*()\1=1, 2, ..., п}, Н*(1) ={к*(1)\1=1, 2, ..., п}.
Скорость у(1+1) рассматривается как средство изменения решения. В отличие от канонического метода роя частиц, в нашем случае скорость у(1+1) не может быть представленной в виде аналитического выражения. В качестве скорости у(1+1) выступает процедура перемещения, суть которой заключается в изменения значения элементов в векторе Н(1). Частица j перемещается в новую позицию Н(1+1) с новыми значениями переменных кц.
По аналогии с каноническим методом роя частиц позицию х 1(1) будем называть когнитивным центром притяжения, а позицию х (1) - социальным центром притяжения. Когнитивный центр выступает в роли индивидуальной памяти о наиболее оптимальных позициях данной частицы. Благодаря социальному центру частица имеет возможность передвигаться в оптимальные позиции, найденные соседними частицами.
Для учета одновременного тяготения частицы j к позициям х(1) и х 1(1) формируется центр притяжения хс,(1) этой частицы. Формирование хс,(1) осуществляется путем применения процедуры перемещения к позициям х(1) и х (1). После определения центра притяжения хс,(1) частица j с помощью процедуры перемещения перемещается в направлении хс,(1) из позиции х,(1) в позицию х(1+1).
В качестве оценки расстояния между двумя позициями будем использовать расстояние Хемминга. Расстояние Хемминга между двумя бинарными векторами одинаковой длины - это число несовпадающих бит в этих векторах. Пусть 5() -расстояние Хемминга между позициями х(1) и х (1), 8с,(1)- расстояние Хемминга между позициями х() и хс,(1). Целью процедуры перемещения является уменьшение расстояния Хемминга между позициями.
Введем определение лотереи.
Простой лотереей Ь(х1,р,х2) назовем вероятностное событие, имеющее два возможных исхода х1 и х2, вероятности наступления которых обозначим соответственно через р и (1-р). Ожидаемая (или средняя) цена лотереи определяется по формуле: рх1+(1-р)х2.
Как уже указывалось выше, позиции задаются хромосомами. Позициям х(1), х$), х*,(1) хс$) соответствуют Н(1)={к1({)\1=1, 2, ..., п}, Н({)={кц({)\1=1, 2, ..., п},
Н*1(1)={к*ат=1,2,..., п} ыс1(1)={ксйт=1,2,..., п}.
Рассмотрим процедуру перемещения. Для формирования Нс() (позиции хс,(1)) последовательно просматриваются (начиная с первого) локусы хромосом Н(1) и Н () и сравниваются соответствующие им гены.
Если на шаге I значения генов равны, т.е. к()= к (), то гену кс() присваивается их значение, ксц(1) =к$)= к ц(1).
Если же к$) не равно к ц(1), то гену ксц(1) присваивается значение, определяемое лотереей Ь, т.е. ксц(1)=Ь(к(1), р, к ц(1)). Путем изменения параметра р осуществляется управление степенью приближения Нс() к Н(1) или Н (1). При р=0,5 степень приближения нейтральна. При р<0,5 позиция Нс() ближе к Н(1). При р>0,5 позиция Нс() ближе к Н ().
Аналогичным образом осуществляется перемещение частицы из позиции Н(1) в позицию Н,(1+1) под воздействием притяжения к позиции Нс,(1). Для формирова-
ния Щ1+1) (позиции х,(1+1)) последовательно просматриваются (начиная с первого) локусы хромосом Н(1) и Н(1) и сравниваются соответствующие им гены.
Если на шаге I значения генов равны, т.е. ка(1)=кс (), то значение гена к/1+1) = к/1).
Если же ка(1) не равно кс а(1), то гену кй(1+1) присваивается значение, определяемое лотереей Ь, т.е. ка(1+1)=Ь(0, р, 1). Параметр р зависит от расстояния Хемминга &с (1) между позициями Н(1) и Нс() и определяется следующим образом:
р=а-8с,(1)/п,,
где а - коэффициент. Таким образом, чем больше расстояния Хемминга &с (1) между позициями Н(1) и НО, тем больше вероятность, что значением кц(1+1) будет значение кс ().
Схема работы роевого алгоритма канальной трассировки включает следующие шаги:
1. В соответствии с постановкой задачи глобальной трассировки и исходны-
ми данными для каждой цепи и на множестве вершин Х, графа О с помощью алгоритма Прима строится минимальное связывающее дерево Б^^^к = 1, 2,., п}. Для каждого ребра формируется набор ¥*=^*{1=1,2,...} вариантов маршру-
тов, связывающих на графе О соответствующие вершины.
2. Создается исходная «случайная» популяция частиц И={Н^(1)\,=1, 2, ..., п}, 1=0. Для каждой частицы случайным образом задается начальная позиция х,(0). В соответствии с принятой методикой кодирования решения элементы ка(() у каждой Н,(1) имеют значения 0 или 1.
3. Шаги 4-10 итерационно повторяются заданное число раз.
4. Рассчитывается целевая функция/1(1) для каждой частицы.
5. Определяются лучшая позиция роя х (1) на шаге 1 и значение целевой функции /(1) в этой позиции.
6. Для каждой частицы определяются лучшая позиции х (1), которую она посещала с начала первой итерации, и значение целевой функции/(I) в этой позиции.
7. Для каждой частицы определяется центр притяжения хс(1) этой частицы.
8. Рассчитываются новые позиции частиц в пространстве решений. С помощью процедуры перемещения каждая частица перемещается из позиции х(1) в позицию х(1+1).
9. 1=1+1.
10. Запоминается лучшее решение, найденное роем к моменту 1.
Заключение. В отличие от канонического метода роя частиц, в работе в качестве скорости у(1+1) выступает процедура перемещения, суть которой заключается в изменения взаимного расположения элементов в столбцах матрицы Д(1). Частица j перемещается в новую позицию с новыми значениями лингвистических переменных хк(1). Экспериментальные исследования проводились на ВМ РС. Для анализа точности получаемых решений был синтезирован ряд примеров с априори известным оптимальным значением целевой функции. Исследованию подвергались примеры, содержащие до 1000 цепей. При совместной работе алгоритмов в рамках второго подхода вероятность получения оптимального решения составила 0,9.
Сравнительный анализ с другими алгоритмами трассировки производился на стандартных тестовых примерах и схемах. Представленный роевой алгоритм канальной трассировки в сочетании с генетическим алгоритмом находит решения для задач большой размерности, не уступающие по качеству, а, иногда, и превосходящие своих аналогов с меньшими временными затратами, кроме того, он оптимизирует длину соединений.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Деньдобренко Б.П., Малика А.С. Автоматизация проектирования радиоэлектронной аппаратуры. - М.: Высш. шк., 2002.
2. Mazumder P., Rudnick E. Genetic Algorithm For VLSI Design, Layout & Test Automation. India, Pearson Education, 2003.
3. G. Di Caro, F. Ducatelle, L. M. Gambardella. AntHocNet: An adaptive nature-inspired algorithm for routing in mobile ad hoc networks // European Transactions on Telecommunications.
- 2005. - Vol. 16 (5). - C. 443-455.
4. Курейчик В.В., Полупанова Е.Е. Эволюционная оптимизация на основе алгоритма колонии пчел // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 41-46.
5. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Поисковая адаптация: теория и практика.
- М.: Физматлит, 2006.
6. Лебедев Б.К., Лебедев О.Б. Трассировка в канале на основе коллективной адаптации // Международная НТК IEEE AIS’05, CAD 2005. - М.: Изд-во Физматлит, 2005. - С. 58-63.
7. Лебедев О.Б. Трассировка в канале методом муравьиной колонии // Известия ЮФУ. Технические науки. -2009. -№ 4 (93). - С. 46-52.
8. A. P. Engelbrecht. Fundamentals of Computational Swarm Intelligence. John Wiley & Sons, Chichester, UK, 2005.
9. M. Clerc. Particle Swarm Optimization. ISTE, London, UK, 2006.
10. Курейчик В.М. Модифицированные генетические операторы // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 7-15.
Лебедев Борис ^нстантинович Лебедев Владимир Борисович
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования “Южный федеральный университет” в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634371743.
Lebedev Boris Konstantinovich Lebedev Vladimir Borisovich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovsky, Taganrog, 347928, Russia.
Phone: +78634371743.
УДК 004.896:004.424.4
В.В. Бегляров, А.Н. Берёза, А. С. Стороженко
ГИБРИДНЫЙ МНОГОПОПУЛЯЦИОННЫЙ МУРАВЬИНЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ*
Приведен анализ требований к проектированию радиоэлектронных систем, в том числе, и информационных. Рассмотрен подход к применению генетических, многопопуляционных генетических и гибридных алгоритмов при решении задачи параметрической оптимизации. Предложен новый гибридный многопопуляционный генетический алгоритм и приведены экспериментальные исследования предложенного алгоритма, дана сравнительная оценка этого алгоритма и существующих алгоритмов подобного уровня.
Системы автоматизации проектирования; многопопуляционные генетические алгоритмы; муравьиные алгоритмы; эволюционное моделирование.
*
Работа выполнена при поддержке: РФФИ (гранты № 09-01-00509, № 10-07-00055), г/б № 2.1.2.1652.