Известия ТРТУ Тематический выпуск УДК 658.512 .

реклама
Известия ТРТУ
Тематический выпуск
УДК 658.512
Б.К. Лебедев*
ГЛОБАЛЬНАЯ ТРАССИРОВКА НА ОСНОВЕ ГЕНЕТИЧЕСКОЙ
ЭВОЛЮЦИИ
Введение. Задача глобальной трассировки в общем случае состоит из предварительного этапа, заключающегося в разбиении общей области коммутационного поля на отдельные области, и основного этапа, заключающегося в распределении соединений по областям и определения наборов цепей на границах каждой
области [1,2,3]. В работе используется комбинаторный подход, основанный на
методах генетической эволюции, реализующих процесс случайного направленного
поиска, а также использующий критерии, учитывающие распределение ресурсов
коммутационного поля.
Проблемная формулировка. Для решения задачи распределения соединений по областям используется графовая модель G=(X,U). Вершины графа xi∈X
соответствуют областям ai∈A. Если две области ai и aj имеют общую границу bк ,
то вершины xi и xj , соответствующие этим областям, связываются ребром uk∈U.
Для каждого ребра uk связывающего вершины xi и xj задается вес αk, равный пропускной способности общей границы bк между областями, соответствующими
вершинам xi и xj.
Пусть заданно множество цепей Т={ti|i=1,2,…}. Для каждой цепи определяется множество областей, в которых существуют контакты, связываемые этой цепью.
На графе G множество областей, связываемых цепью ti∈T, соответствует множество вершин xi∈X. Распределить цепь ti по областям это значит построить в графе G
на множестве вершин xi связывающую сеть. Каждая цепь ti после ее реализации,
т.е. распределения по областям, потребляет определенную часть ресурсов пересекаемых ее границ [4,5].
В качестве исходных данных для каждой цепи ti задается параметр ϕi равный
ширине цепи плюс расстояние между цепями. Иногда для одной цепи задаются два
параметра - ϕ1i при распространении цепи по горизонтали, ϕ2i – по вертикали.
Пусть имеется некоторое решение задачи глобальной трассировки, в соответствии с которым построено множество связывающих сетей E.
Пусть Еi ∈ Е множество связывающих сетей, построенных для множества цепей Ti ∈ T , в состав которых входит ребро uj. Обозначим через βj сумму ресурсов,
необходимых множеству связывающих сетей Еi для прохождения через ребро uj.
Другими словами сумму ресурсов, необходимых цепям множества Тi для пересечения границы bj.
β j = Σ ϕi (i | ti∈Ti).
Для каждого ребра uj графа G введен параметр wj = αj - βj.
минимальное значение параметра wj и обозначим его wmin, т.е.
Найдем в графе G
wmin → ∀j [wmin ≤ wj]
Для нашей задачи цель оптимизации – максимизация параметра wmin. Действительно, чем больше остаток ресурсов, тем легче реализовать соединения при
*
Работа выполнена при финансовой поддержке РФФИ (проект №99-01-00050)
93
Материалы Международной конференции
Интеллектуальные САПР”
“
детальной трассировке, и абсолютно неприемлем результат, когда wj имеет отрицательное значение.
Распределение ресурсов коммутационного поля. Рассмотрим подход к
формированию альтернативных вариантов связывающих сетей. Для каждой цепи
Тi на множестве вершин Xi, |Xi| = n + 1 графа G строится минимальное связывающее дерево (МСД) Di с помощью алгоритма Прима.
Di = {rik | k = 1, 2,…, n},
где rik – ребро минимального связывающего дерева.
Для каждого ребра rik ∈ Di существует набор Vik = {vikj | j = 1, 2,…} вариантов
маршрутов, связывающих на графе G соответствующие вершины. Каждому маршруту vikj соответствует множество Г(vikj) ребер графа G. Формирование возможных маршрутов осуществляется следующим образом. Для ребра rik ∈ Di, связывающего xn ∈ G и xm ∈ G, определяется множество вершин Xk ⊂ X, смежных вершинам xn и xm ребра rik. Через множество вершин Xk, а так же через вершины xn и
xm проводятся новые вертикальные и горизонтальные линии. Отметим, что эти
линии проходят по ребрам ортогонального графа G. В узлах пересечения этих линий лежат некоторые вершины xl ∈ X. Эти вершины являются узловыми для формирования вариантов. Будем считать, что варианты маршрутов проходят по тем
ребрам графа G, которые лежат на этих линиях . Назовем такой маршрут двухтерминальным соединением или d-соединением.
Формирование d-соединений осуществляется из следующих соображений:
1) d-соединения формируются таким образом, чтобы они были минимальной
длины.
2) варианты d-соединений формируются так, чтобы обеспечилось максимально возможное совпадение вариантов d-соединений различных ребер
одной цепи друг с другом.
Альтернативная реализация для цепи ti заключается в том, что для всех ребер
rik МСД Di выбраны соответствующие варианты их реализации в виде dсоединений. Введем переменную уikj:
уikj = 1, если вариант viki ребра rik, дерева Di реализован;
уikj = 0, в противном случае.
Альтернативная реализация цепи ti задается набором параметров y ik j , удовлетворяющих следующей группе ограничений:
nk
∑y
j =1
ikj
= 1; k = 1,2,..., n i ; i = const.
Обозначим через Ril альтернативную реализацию Тi, выбранную при решении
Rl. Тогда в нашем случае
Rl =
U Ril , а Ril = {vikl | k = 1, 2,…, ni},
i
где vikl – вариант d - соединения для реализации ребра rik МСД Di, выбранный в
соответствии с альтернативой Ril. Каждый вариант vikl представляет собой набор
ребер Г (vlik ) графа G, составляющих соответствующий варианту маршрут на
графе
94
G. Альтернативе Ril соответствует набор Г(Ril) ребер графа G, через которые
Известия ТРТУ
Тематический выпуск
проходит цепь Тi, причем Г(Ril)
=
U Г (vlik ) . Отметим, что если выбранные ваk
рианты
d - соединений различных ребер одного и того же МСД Di включают одно
и то же uj, то совместно они используют в uj объем ресурсов равный ϕij.
Некоторое решение задачи глобальной трассировки, заключается в том, что
для всех ребер rik всех МСД цепей, выбраны варианты их реализации.
Итак, поиск решения сводится к поиску некоторого набора вариантов dсоединений для реализации ребер связывающих деревьев, оптимизирующего показатель качества (критерий).
Рассмотрим задачу распределения соединений по областям как задачу распределения ресурсов. Это дает возможность расширить сферу применения рассматриваемого ниже алгоритма.
В общем случае имеется множество потребителей Р={pi|i=1,2,…,n} и множество складов S = {sj | j = 1, 2,…, m}. Пусть Аi – множество альтернатив потребителя
рi, Аi = {aik | k = 1, 2,…, v}.
Допустимым решением Rl, |Rl| = n является набор альтернатив, содержащий
по одной альтернативе из каждого набора Аi.
Для задачи распределения соединений по областям множество потребителей
это множество цепей Т; множество складов
S это множество границ В (или множеU моделирующего графа G = (X,U)). Множество альтернатив Аi это
множество вариантов реализации связывающих сетей для цепи ti. Потребности
потребителей в ресурсах ϕij определяются шириной цепи, задаваемой априорно.
Основной целью является полное распределение цепей по областям и исключение по возможности того, чтобы параметр wj принимал отрицательное значение,
т.к. при этом невозможна 100% детальная трассировка (критерий F1).
ство ребер
Введем функцию знака
sign(wj):
sign(wi) = +1, если wi > 0;
sign(wi) = 0, если wi = 0;
sign(wi) = -1, если wi < 0;
В качестве критерия оптимизации будем использовать величину:
m
F = ∑ sign( w j ) ⋅ 1 → max
1 j =1
Задача сводится к выбору такого допустимого набора альтернатив
Rl, при ко-
тором число складов, чьих ресурсов недостаточно для обслуживания потребителей, минимально. Найдем минимальное значение wmin среди всех wj, т.е. ∀j[wmin ≤
wj]. В другой постановке задача представляется в виде:
F2 = wmin → max
Rl ∈R
Задача заключается в максимизации минимального остатка ресурсов на складах после обслуживания потребителей.
Очевидно, что оптимизация по критерию
ствует решения, для которых
F2 имеет здравый смысл, если сущеwmin ≥ 0. Оптимизация по критерию F2 – максимиза-
ция минимального остатка ресурсов создает благоприятные условия для детальной
трассировки.
95
Материалы Международной конференции
Интеллектуальные САПР”
“
Обозначим через
tl число потребителей рi, чьи альтернативы в соответствии с
Rl включают склады с отрицательными значениями wj. Это значит, что
потребители в этом складе могут быть не полностью обслужены. Следующая постановка задачи представляется в виде:
решением
F3 = t l → min
Rl ∈R
Задача сводится к минимизации числа не полностью обслуженных потребителей. Оптимизация по критерию
F3 приводит к минимизации числа непроложен-
ных, а следовательно и числа перетрассируемых цепей.
Структура хромосом. Разработка генетического алгоритма включает три ос-
новных компонента: разработка структуры, принципов кодирования и декодирования хромосом; разработка основных генетических операторов; разработка общей
структуры генетического поиска.
Разработка структуры хромосомы производилась так, чтобы гены в одних и
тех же локусах хромосом или же соответствующие группы генов являлись гомологичными, так как это упрощает выполнение генетических операторов кроссинговера и мутации и делает возможным использование естественных механизмов генетической эволюции.
Каждое двутерминальное соединение представляет собой маршрут, состоящий из горизонтальных и вертикальных отрезков. Обозначим через
X = {xi i = 1,2,…, nx} и Y = {yj j = 1,2,…, ny}
соответственно базовые множества горизонтальных и вертикальных отрезков,
составляющих некоторое
d - соединение (маршрут). Любой маршрут М на опорной
сетке, связывающий точки А и В, состоит из вертикальных и горизонтальных отрезков. Отметим, что в любом маршруте число и размеры отрезков не изменяются.
Вариант маршрута описывается следующим списком отрезков:
M = < x1, y1, y2, x2, x3, y3 >.
Различные маршруты отличаются различными вариантами чередования горизонтальных и вертикальных отрезков, причем отрезки одного вида (горизонтальные или вертикальные) имеют строго фиксированное взаимное расположение.
Обозначим через
zl значение l-го элемента списка (маршрута) М. Это может быть
xi, либо - вертикальный отрезок yi.
либо некоторый горизонтальный отрезок
Тогда:
∀(l1,l2) [(z l 1 = xi) & (z l 2 = xj) & (l1 < l2) → (i < j)];
∀(l1,l2) [(z l 1 = yi) & (z l 2 = yj) & (l1 < l2) → (i < j)].
Этим обстоятельством можно воспользоваться для кодирования маршрута.
Поставим в соответствие горизонтальному отрезку ноль, а вертикальному
-
единицу. Тогда маршрут М в закодированном виде имеет вид:
М* = < 0, 1, 1, 0, 0, 1>.
Число нулей равно
nx, а число единиц равно ny.
Для обратного перехода необходимо для каждого элемента списка М* определить порядковый номер
l в списке среди элементов своего вида. Тогда, если это
xl, а если это была единица, то ей соответствует yl.
Будем использовать множество нулей в качестве опорного множества для кодирования списка М*. Сформируем на базе опорного множества нулей множество
был ноль, то ему соответствует
96
Известия ТРТУ
Тематический выпуск
позиций Р, в которых могут располагаться единицы, образующие совместно с нулями код некоторого маршрута.
Если число нулей
Каждая из
nx, то число позиций Р равно nx + 1.
ny единиц может быть расположена в любой из позиций
pi ∈ P = { pi  i = 1, 2, …, (nx + 1)}.
Всевозможным вариантам размещения единиц в позициях Р совместно с
опорным множеством нулей соответствуют всевозможные списки М*, а следовательно и всевозможные маршруты М, соединяющие две точки.
Распределение единиц по позициям будем задавать с помощью списка
Q,
ny, а значением элемента списка является число, лежащее в
диапазоне 1 ÷ (nx + 1). Таким образом, Q является кодом маршрута, соединяющего
две точки на опорной сетке.
Например. Пусть ny = 4, nx = 4, Q = 5, 3, 3, 1.
Тогда М* = < 1, 0, 0, 1, 1, 0, 0, 1 >, а М = < y1, x1, x2, y2, y3, x3, x4, y4 >.
Отметим, что порядок расположения элементов в списке Q не имеет значения, важно только какие значения имеют элементы списка Q.
Очевидно также, что для построения по коду Q маршрута на опорной сетке
необходимо описание геометрии этой сетки и координаты связываемых точек.
На основе вышеизложенного хромосома, задающая распределение соединений по областям, имеет следующую структуру.
Хромосома Н = { Hi | i = 1, 2, …, n } представляет собой объединение множества частей Hi . Каждая часть Hi соответствует цепи ti и несет информацию о распределению по областям цепи ti.
В свою очередь каждая часть Hi = { Hik | k = 1, 2, …, ni } является объединением частей Hik. Каждая часть Hik соответствует ребру rik дерева Di построенного для
цепи ti, и несет информацию о двутерминальном соединении (маршруте), реализующем ребро rik.
Структура Hik эквивалентна структуре кода Q, несущем информацию о двутерминальном соединении (маршруте), реализующем ребро rik. Hik состоит из генов
glik, значениями которых являются числа, лежащие в диапазоне 1 ÷ wik, где wik равно числу горизонтальных участков в маршруте плюс единица. Число генов в Hik
равно числу вертикальных участков в маршруте.
Как уже указывалось выше, порядок расположения элементов в списке Q и
следовательно в части Hik хромосомы не имеет значения. Это приводит к избыточности пространства решений, представленного хромосомами. Пусть Pik - число
перестановок элементов в списке Hik. Это значит, что одному маршруту соответствует Pik списков Hik. Тогда одному решению задачи распределения соединений
по областям соответствует ∑ ∑ P хромосом.
ik
размер которого равен
i
k
Устранить избыточность можно путем использования модифицированной
структуры хромосомы, отличающейся от основной тем, что в пределах каждой
части
Hik гены упорядочены по возрастанию их значений.
Формирование исходной популяции хромосом осуществляется случайным
образом. При формировании отдельной хромосомы генам в пределах
ваются случайные значения в диапазоне
1 ÷ wik.
Hik присваи-
При использовании модифицированной структуры в пределах каждой части
Hik осуществляется упорядочивание генов по возрастанию их значений.
97
Материалы Международной конференции
Интеллектуальные САПР”
“
Постоянными параметрами, определяемыми исходным заданием (исходными
данными), необходимыми для оперирования с хромосомами и декодирования являются: n - число цепей; ni - число ребер rik каждого дерева Di, построенного для
соответствующей цепи; для каждого ребра rik координаты связываемых точек, число горизонтальных участков - (wik - 1) и число вертикальных участков vik, кроме
того декодирование хромосомы опирается на описание опорной сетки, построенной в соответствии с вышеприведенной методикой, и на описание всех горизонтальных и вертикальных отрезков.
Трудоемкость декодирования как основной, так и модифицированной хромосом имеет одну и ту же оценку О(L), где L - длина хромосомы.
. Основными генетическими операторами являются кроссинговер и мутация. Кроссинговер заключается в обмене гомологичными
генами, либо гомологичными участками между родительской парой хромосом.
Для описанной выше основной структуры хромосомы для любой пары хромосом гомологичными являются гены, расположенные в одном и том же локусе, а
гомологичными участками являются участки, соответствующие одной и той же
части хромосом Hi, либо Hik. В соответствии с этим используются три типа кроссинговера: К1, К2, К3. При кроссинговере К1 осуществляется обмен гомологичными
частями Hi, при кроссинговере К2 - обмен гомологичными частями Hik, а при кроссинговере К3 - обмен гомологичными генами.
Во всех случаях реализация кроссинговера осуществляется следующим образом. Последовательно просматриваются гомологичные участки или гены и с вероятностью PK1 для К1, PK2 для К2, PK3 для К3 осуществляется обмен.
В случае модифицированной структуры хромосомы гомологичными будут те
участки хромосом, которые не приводят к нарушению упорядоченности значений
генов в пределах каждой части Hik. Поэтому после выбора родительской пары
осуществляется разбиение каждой Hik на гомологичные участки. Прежде всего
проводятся секущие линии, разделяющие в хромосоме части Hik друг от друга, т.е.
ограничивающие Hik. Затем в каждой Hik последовательно просматриваются локу-
Генетические операторы
ik
сы, начиная со второго. Если для пары генов
ik
g1 l и g2 l , расположенных в текущем локусе l родительской пары хромосом выполняются условия:
ik
ik
ik
ik
≥ g2 l −1
и
g2 l ≥ g1 l −1 ,
то между локусами (l - 1) и l проводится секущая линия .
g1 l
Участки хромосом между двумя соседними секущими линиями для данной
родительской пары хромосом будут гомологичными, т.к. обмен участками не приведет к нарушению упорядоченности генов в Hik.
Таким образом, кроссинговер К3 для модифицированных хромосом выполняется следующим образом. Предварительно родительская пара разбивается на гомологичные участки. Затем осуществляется последовательный просмотр пар гомологичных участков и с вероятностью PK3 осуществляется обмен.
Суть оператора мутации в произвольном изменении значений генов. Реализация оператора мутации осуществляется следующим образом. Последовательно
просматриваются локусы хромосом. При этом отслеживается номер части Hik, в
которой расположен рассматриваемый локус. С вероятностью Pm осуществляется
мутация гена в рассматриваемом локусе. При этом, в случае использования основ-
ной структуры хромосомы, гену присваивается случайное значение в диапазоне 1 ÷
wik, где wik - число горизонтальных участков в маршруте, реализующем ребро rik,
98
Известия ТРТУ
Тематический выпуск
плюс единица. В случае модифицированной структуры хромосомы ген
ik
g l прини-
мает случайное значение в следующем диапазоне:
ik
ik
ik
1 ≤ g l ≤ g l +1 , если g l первый в Hik и | Hik | > 1;
ik
ik
ik
g l − 2 ≤ g l ≤ wik, если g l - последний в Hik и | Hik | > 1;
ik
ik
ik
ik
g l −1 ≤ g l ≤ g l +1 , если g l - ни первый, ни последний и | Hik | >1;
ik
1 ≤ g l ≤ 2, если | Hik | = 1.
При таком способе гены по-прежнему останутся упорядоченными по возрастанию их значений в пределах каждой части Hik.
Как видно из алгоритмов реализующих операторы кроссинговера и мутации
оценка их временной сложности имеет вид О( L ), где L - длина хромосомы.
. На начальном этапе работы генетического алгоритма осуществляется построение модели КП, построение
минимальных связывающих деревьев для всех цепей, формирование описаний составов маршрутов, реализующих ребра, описаний отрезков, составляющих маршруты и другой информации, необходимой для формирования структуры хромосомы,
выполнения ее декодирования и организации оперирования с хромосомами.
Для организации генетического поиска формируется исходная популяция
хромосом.
m
Организация процедуры генетического поиска
Пи = { H | m = 1, 2, …, M },
где М - размер популяции.
В работе используется описанный выше принцип случайного формирования
исходной популяции.
Объем ОЗУ, необходимый для хранения популяции, имеет оценку простран-
ственной сложности, равную O(L ⋅ M).
В качестве фитнесса для оценки хромосом используется один из показателей:
F1, F2, F3* = 1 / 1 + F3 или же их аддитивная свертка. Цель генетического поиска максимизация фитнесса.
Algorithm ГЛОБАЛЬНАЯ_ТРАССИРОВКА
begin
задача = ИСХОДНЫЕ_ДАННЫЕ;
генетика = НАСТРОЙКА;
деревья = МСД (задача);
маршруты =СОСТАВ (задача, деревья);
нач_попул = ФОРМ (задача, генетика, маршруты);
фитнесс = РАСЧЕТ (нач_попул, задача, маршруты);
К = число_генераций;
while K > 0 do
{
кросс_попул = ∅;
мут_попул = ∅;
N1 = число_крос_1;
N2 = число_крос_2;
N3 = число_крос_3;
while N1 > 0 do
99
Материалы Международной конференции
{
Интеллектуальные САПР”
“
род_пара = СЕЛЕК_ПАРЫ (нач_попул, фитнесс, генетика);
доч_пара = КРОССИНГ_1 (род_пара, генетика);
кросс_попул = ВКЛЮЧИТЬ (кросс_попул, доч_пара);
N1 = N1 - 1;
};
while N2 > 0 do
{
род_пара = СЕЛЕК_ПАРЫ (нач_попул, фитнесс, генетика);
доч_пара = КРОССИНГ_2 (род_пара,генетика);
кросс_попул = ВКЛЮЧИТЬ (кросс_попул, доч_пара);
N2 = N2 - 1;
};
while N3 > 0 do
{
род_пара = СЕЛЕК_ПАРЫ (нач_попул, фитнесс, генетика);
гомолог = РАЗБИЕН (род_пара);
доч_пара = КРОССИНГ_3 (род_пара, гомолог, генетика);
кросс_попул = ВКЛЮЧИТЬ (кросс_попул, доч_пара);
N3 = N3 - 1;
};
фитнесс = РАСЧЕТ (кросс_попул);
тек_попул = ОБЪЕДИНИТЬ (нач_попул, кросс_попул);
while N4 > 0 do
{
мутант = МУТАЦИЯ (тек_попул (N4), генетика);
мут_попул = ВКЛЮЧИТЬ (мут_попул, мутант);
N4 = N4 - 1;
};
фитнесс = РАСЧЕТ (мут_попул);
тек_попул = ОБЪЕДИНИТЬ (тек_попул, мут_попул);
лучш_решение = ВЫБОР (тек_попул, фитнесс);
К = К - 1;
нач_попул = СЕЛЕК_ПОПУЛ (тек_попул, фитнесс, генетика);
};
end
Рис.1.
На рис.1 представлен псевдокод алгоритма генетического поиска для задачи глобальной трассировки. В начале вводятся массивы задача и генетика.
Массив задача содержит параметры, описывающие области и структуру коммутационного поля, значения пропускных способностей границ, разделяющих области,
описание цепей, критерии оптимизации и т.п.
Массив генетика включает основные параметры, управляющие процессом генетического поиска: К - число генераций; М - объем популяции; Pk1, Pk2, Pm, - вероятности
кроссинговера и мутации; N1, N2, N3 - число пар для кроссинговера K1, K2, K3; t1 - тип
селекции при выборе родительской пары; t2 - тип селекции при отборе популяции;
С помощью процедуры МСД (задача) на опорной сетке для каждой цепи ti строится алгоритмом Прима минимальное связывающее дерево Di. Информация о построенных деревьях заносятся в массив деревья. Процедурой СОСТАВ (задача, деревья)
формируется массив маршруты, включающий описания для каждого ребра каждого
100
Известия ТРТУ
Тематический выпуск
дерева вертикальных и горизонтальных отрезков, из которых образуется маршрут, реализующий ребро. Процедурой ФОРМ (задача, генетика, маршруты) генерируется
начальная популяция хромосом, которая заносится в массив нач_попул. Процедурой
РАСЧЕТ (нач_попул, задача, маршруты) рассчитывается значение фитнесса для каждой хромосомы в популяции, рассчитанные значения заносятся в массив фитнесс.
На каждой генерации (число генераций равно К) в начале реализуются операторы кроссинговера К1, К2, К3, мутации, а затем расширенная популяция подвергается редукции с помощью селективного отбора, т.е. уменьшению до начального
объема.
Операторы кроссинговера выполняют N1 раз для кроссинговера К1, N2 - для
К2, N3 - для К3. Каждый раз процедурой СЕЛЕК_ПАРЫ (нач_попул, фитнесс,генетика) выбирается родительская пара.
Выбор род_пара осуществляется одним из способов, задаваемых при настройке механизмов генетического поиска. Это может быть "принцип рулетки",
выбор на основе рейтинга и т.д.
С помощью процедур КРОССИНГ_1, КРОССИНГ_2, КРОССИНГ_3 реализуется оператор кроссинговера и образуется пара дочерних хромосом доч_пара,
которая процедурой ВКЛЮЧИТЬ (кросс_попул, доч_пара) включается в массив
кросс_попул.
ры
Для модифицированной структуры хромосомы перед выполнением процеду-
КРОССИНГ_3 (род_пара, гомолог, генетика) выполняется процедура
РАЗБИЕН (род_пара), с помощью которой каждая часть Hik у пары хромосом раз-
бивается на гомологичные участки. Информация о гомологичных участках заносится в массив гомолог.
С помощью процедуры РАСЧЕТ (кросс_попул) рассчитываются значения
фитнесса для всех хромосом массива кросс_попул. Затем процедурой
ОБЪЕДИНИТЬ (нач_попул, кросс_попул) массивы нач_попул и кросс_попул объединяются в тек_попул.
Каждая хромосома популяции тек_попул подвергается мутации с помощью
процедуры МУТАЦИЯ (тек_попул (N4), генетика), при этом образуется новая индивидуальность - мутант, которая процедурой ВКЛЮЧИТЬ (мут_попул, мутант)
включается в популяцию мут_попул.
Затем для каждой индивидуальности массива мут_попул процедурой
РАСЧЕТ (мут_попул) рассчитывается значение фитнесса.
Процедура ОБЪЕДИНИТЬ (тек_попул, мут_попул) объединяет популяции
тек_попул и мут_попул в одну тек_попул. Процедурой ВЫБОР (тек_попул, фитнесс) выбирается лучшее решение.
Заключительным этапом в пределах одного поколения является реализация
процесса "естественного отбора", то есть сокращение популяции тек_попул до
размеров начальной популяции нач_попул.
Селекция осуществляется процедурой СЕЛЕК_ПОПУЛ (тек_попул, фитнесс,
генетика), чаще всего использующей "принцип рулетки".
Временные затраты в пределах одного поколения складываются из затрат на
декодирование хромосом tд, затрат на операторы кроссинговера tк, мутации tм, селекции tс, расчета фитнесса tф. Все эти оценки имеют линейную зависимость. Отсюда временные затраты в пределах поколения для популяций хромосом объема М
имеют оценку трудоемкости О(L ⋅ M), где L - длина хромосомы.
Экспериментальные исследования. Основной целью экспериментальных
исследований являлось выявление зависимости и влияния на качество решения
задачи глобальной трассировки различных комбинаций управляющих параметров
101
Материалы Международной конференции
Интеллектуальные САПР”
“
и структур. В результате экспериментов было установлено, что такими значениями
являются Рк = 0,35; Рм = 0,1; М = 80; К = 120.
Вероятность получения оптимального решения после одного прогона генетического алгоритма составила 0,8. Исследования трудоемкости алгоритма показали,
что при фиксированных значениях Рк и Рм, М и К она имеет оценку О(L). Время
выполнения 120 генераций для разнесения 200 цепей на коммутационном поле
размером 10 х 10 составило 48 секунд.
Экспериментальные исследования показали, что наилучшие по качеству решения получались при использовании подхода, связанного с распараллеливанием
генетического алгоритма. В процессе генетического поиска осуществляется эволюционирование нескольких подпопуляций. На каждой генерации хромосомы случайным образом мигрируют из одной подпопуляции в другую. Исследования показали, что достаточно трех подпопуляций, при этом вероятность оптимального решения составила 0,94. Сравнение с алгоритмами, приведенными [1,2,3] показало,
что при том же и даже меньшем времени работы предложенный алгоритм дает
более качественные решения. Преимущество особенно заметно для задач большой
размерности.
ЛИТЕРАТУРА
1. Naveed Sherwani. Algorithms for VLSI physical design automation // Kluwer academic pablishers. Boston / Dordrecht / London. - 1995.
2. K.W.Lee and C.Sechen. A new global ronter for row - based layout // Proceedings of IEEE
International Conference on Computer - Aided Design, November, 1998.
3. C.Chiang, M.Sarrafraden, C.K.Wong. A Weighted - Steiner - Tree - Based Global Router /
Manuscript. - 1992.
4. Лебедев Б.К. Метод оптимального распределения ресурсов платы. // Техническая кибернетика. - 1980. - Вып.1. - С. 217.
5. Лебедев Б.К. Распределение ресурсов коммутационного поля. // Автоматизация проектирования электронной аппаратуры. - Таганрог: Изд-во ТРТИ, 1988. - Вып.1. - С. 9-92.
УДК 681.3.001.63+007.52:611.81
В.А. Костенко, Р.Л. Смелянский, А.Г. Трекин
СИНТЕЗ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ, ОПТИМАЛЬНЫХ ПО ЧИСЛУ
ПРОЦЕССОРОВ, С ИСПОЛЬЗОВАНИЕМ ГЕНЕТИЧЕСКИХ
АЛГОРИТМОВ
Введение. Задача синтеза архитектур вычислительных систем (ВС) в самом
общем виде может быть поставлена следующим образом. Для заданного поведения
прикладной программы H(PR) требуется синтезировать архитектуру HW, параллельную прикладную программу НР и выбрать способ организации параллельного
вычислительного процесса ϕ. При этом должны оптимизироваться критерии оценки качества решения {fi} и выполняться ограничения на допустимые решения {gi}.
В качестве параметров оптимизации (управляемых переменных) выступают варьируемые параметры моделей HW, HP и ϕ. Критерии оценки качества решения, ограничения на допустимые решения и варьируемые параметры моделей определяются
при конкретизации задачи синтеза архитектур.
Задача синтеза архитектур ВС относится к классу задач структурного синтеза.
В отличии от задач параметрического синтеза, задачи структурного синтеза в общем случае не могут быть отнесены к классу формально разрешимых. При реше102
Скачать