Научная статья на тему 'Генетический поиск при планировании методом не гильотинного разреза'

Генетический поиск при планировании методом не гильотинного разреза Текст научной статьи по специальности «Математика»

CC BY
254
43
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Генетический поиск при планировании методом не гильотинного разреза»

пуск: Интеллектуальные САПР / материалы международной НТК "ИСАПР" Таганрог: Изд-во ТРТУ, 2000. №2. С.75-78.

УДК 681.3:536.2.072

Б.К. Лебедев, В.Б. Лебедев

ГЕНЕТИЧЕСКИЙ ПОИСК ПРИ ПЛАНИРОВАНИИ МЕТОДОМ “НЕ ГИЛЬОТИННОГО” РАЗРЕЗА*

. -

бой возрастание сложности СБИС. В ближайшем будущем, будут проектироваться схемы технологии меньше 0.1 |ак при количестве транзисторов, превышающем 100 миллионов. Такие схемы могут быть спроектированы только на основе иерархи.

Планирование СБИС заключается в размещении на поле кристалла блоков, имеющих заданную площадь и не имеющих фиксированных размеров [1]. Блоки и кристалл имеют форму прямоугольников. В результате планирования решаются сразу две задачи: определяется взаимное расположение блоков (модулей) друг относительно друга, т.е. их размещение, а также фиксируются размеры каждого блока. В результате планирования строится план кристалла, представляющий собой

,

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

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

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

План или размещение элементов, чрезвычайно важен для самого процесса проектирования. Задача планирования относится к классу №. Анализ существующих подходов к решению поставленной задачи показал, что наиболее удачными являются подходы, основанные на методах моделирования отжига [2,3] и методах генетической эволюции [4]. Эти методы отличаются друг от друга, как постановками, так и моделями. Однако, недостаточно полный учёт специфики рассматри-, -туальной проблему построения более совершенных эволюционных моделей.

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

,

.

В последнее время были предложены новые подходы такие, как представление размещения в виде бинарных и последовательных пар, ББО.

* Работа выполнена при поддержке Мин. образования, грант № Т02-02.3-491

В своей работе [5] Мурата представил представление размещения элементов, названное последовательной парой. Все алгоритмы размещения, использующие последовательные пары используют метод отжига, где требуется формирование и вычисление большого количества последовательных пар. В связи с этим необходим быстрый алгоритм для вычисления, т.е. перевода последовательной пары в

.

виде упорядоченных деревьев.

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

Постановка задачи планирования. Проблема планирования формулируется следующим образом [6].

Имеется множество модулей М = {т,\,=1,2,...,п}. Каждый модуль характеризуется тройкой где 5- площадь модуля, а параметры ^ и ti задают нижнюю

к.

и верхнюю границу значения , т.е.

I. < ^ < I.. , (1)

' ^ '

где к, - это высота модуля, wi - ширина модуля , 5, = к, • wi .

План для множества модулей М представляет собой прямоугольник Я, разрезанный вертикальными и горизонтальными линиями на множество областей г, , в каждую из которых помещается соответственно модуль т. Каждая область г; имеет размеры X; и у; . Очевидно, что размеры области должны соответствовать ограничениям

•5 <х, ■ у,, wi , к,<у, (2)

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

х= Xх ■ у, .

Будем считать, что связи между модулями т, и mj связывают центры соответствующих областей г, и г . Обозначим через dj длину связей между mi и mj, а через Су - стоимость связей. Тогда критерий оптимизации при планировании имеет вид:

р = Ё х у + Ё сМ

,=1

при соблюдении ограничений:

V V

и=1

к

5, = к, • wi 5, <х, • у,, Wi <, к,<у,, I, < —— < t.. , = 1,2,...,п.

' ^ ,

В наиболее распространенном подходе в качестве плана кристалла используется план, получаемый путём рекурсивного использования “гильотинного разреза”, т.е. последовательного разрезания прямоугольников на две части [7]. Однако, при таком подходе сужена область возможных конфигураций плана.

Результаты предыдущих исследований показали, что “не гильотинный” план “ ”. даже лучшего представления “не гильотинного” плана.

При использовании плана, получаемого путём рекурсивного использования “ ”, . -пе синтезируется дерево разрезов. Второй этап заключается в метризации плана, . . , -ничениям (1,2). Если модули имеют фиксированные размеры и ориентацию, то процесс метризации плана осуществляется путем последовательно бинарной свертки областей по дереву разрезов, начиная от листьев дерева. Каждой внутренней вершине дерева разрезов будет соответствовать область, полученная в результате бинарной свертки поддерева, имеющего корнем эту внутреннюю вершину.

В работе [8] план или размещение строится на основе упорядоченного дерева (УД), являющегося модификацией графа ограничений.

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

Сначала обратим внимание на класс размещений, которые мы считаем приемлемыми. Имея размещение, мы можем перейти от него к приемлемому размещению, располагая элементы по левой и нижней сторонам. В приемлемом размещении элементы не могут сдвинуться ни вниз, ни влево. Приемлемое размещение можно изображать с помощью упорядоченного дерева. Дерево состоит из конечного множества Т одной или более вершин. Существует одна выделенная вершина, называемая корнем дерева. Корень может иметь ноль или более ветвей. Под ветвями понимаются ориентированные исходящие к дочерним вершинам упорядоченные друг относительно друга ребра.

УД для заданного размещения является граф 0=(В,Е), где вершины В - элементы размещения плюс четыре дополнительных ограничивающих вершины, а Е -ребра, определяющие геометрическую протяженность между элементами. Г еомет-рическая протяженность существует, если мы можем соединить два элемента, не пересекая остальные. Ребра ориентированы. Существует два типа ребер: в направлении слева направо (между вершинами) и снизу вверх. Вес ребра - расстояние между вершинами, который равен нулю, если вершины лежат на одной линии, ес, .

На рис.1 показано УД для размещения трёх элементов. Кроме трех вершин, соответствующих размещаемым элементам, добавлены четыре вершины, ограничивающие четыре границы. Если мы приняли геометрические протяженности в , : -зонтальные. Тогда мы имеем уже два графа: вертикальной и горизонтальной протяженности. Оба графа - планарные ориентированные ациклические графы ( ) .

, .

А

Горизонтальное огр. -► Вертикальное огр.

) Вершина

Рис.1

Оба графа планарны, т.к. само размещение планарно. В работе [8] описана тривиальная процедура получения приемлемого размещения по УД.

Рассмотрим теперь концепцию размещения элементов методом последова-.

Последовательная пара - пара последовательностей, состоящая из п элементов, т.е. X и У представляют собой списки из п элементов [5]. Пусть имеется последовательная пара (Х=4,3,1,б,2,5; У=6,3,5,4,1,2). Структура последовательной пары является мета сеткой. Имея одну последовательную пару (X, У), можно по-

45 , .2, .

элемента, площадь делится двумя наклонными прямыми на четыре части, как показано на рис.2,Ь. Здесь элемент 2 находится в правой части от элемента 1, т.е. просто справа от него (рис.2,с.). Последовательная пара задает отношение между парой элементов в следующем виде:

(<..., Ь;,..., Ьр... >, <..., Ь;,..., Ъ|,...>) - Ь; левее Ьj (3)

(<..., Ь;,..., Ь,.. >, <..., Ьу..., Ь;,... >) - Ь; ниже Ъ| (4)

2

1

4 1 2

3

6

5

Рис.2

Следовательно, имея последовательную пару (X, У), задающую горизонтальное отношение между элементами, можно построить горизонтальный граф ограничений Gh(V, E) следующим образом:

2

b)

с)

1) V = { } и { ^ } и { у;|; = 1..п } , где у; соответствует элементу, - исход-

ная вершина, представляющая левую границу и ^ - конечная вершина, представляющая правую границу;

2) Е = {(бь у)|; = 1..п } И { (у;, У|; = 1..п } И { (у;, У|) | элемент ; левее элемента j};

3) Вес вершины равен ширине элемента ; для вершины у;, и нулю для Бь ^. Вертикальный граф ограничений ОУ^, Е) строится аналогично. Пример: на

.3 (с . .2.). - -

, .

Рис.3

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

,

плана лежит дерево. В связи с этим актуальной проблемой является проблема представления самого дерева. Основные требования к такому представлению это линейная пространственная сложность и линейная временная сложность алгоритмов модификации (изменения) дерева. Ниже приводится методика кодирования дерева в виде хромосом для использования такого представления в процедурах .

Представление и кодирование деревьев. Рассмотрим теперь структуру и принципы формирования записи для деревьев без ограничений на локальную сте-. . -бор элементов А={а; | ;=1,2,.. .,п}.

Каждому элементу а, древовидной записи соответствует вершина х;. Формирование дерева в соответствии с древовидной записью осуществляется на основе иерархического подхода при просмотре записи слева направо, начиная с первого .

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

Значением аг является число поддеревьев, корни которых являются дочерними вершинами вершины х. Если аг = 0, то хг является листом дерева, т.е. концевой вершиной. Фактически число аг + 1 является локальной степенью вершины х. Описания поддеревьев расположены в древовидной записи непосредственно слева от

а.

Например: запись 0,0,0,3 соответствует дереву, у которого х4 - корневая вершина, а X], х2, х3 - дочерние вершины.

Рассмотрим запись 0,0,2,0,1,0,2,0,0,3,0,3. Выделим с помощью скобок иерархически вложенные друг в друга поддеревья, образованные при просмотре записи :

(0,0,2),{[(0,1),0,2],0,0,3},0,3 (5)

Соответствующее дерево представлено на рис.4.

Рис.4

Древовидная запись обладает следующими свойствами:

- число элементов аг записи равно числу вершин дерева;

- а] ;

- между номером позиции к и значениям и элементов, расположенных в пози-

к

циях с 1-й по к-ю, существует зависимость X а < к, т.е. сумма значений элемен-

г=]

, 1- к- , к.

Если запись удовлетворяет перечисленным свойствам, то она является древовидной и ей соответствует некоторое дерево.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Простейший способ получения древовидной записи заключается в последовательном наращивании значений элементов аг. В начале всем элементам аг присваивается нулевое значение. Число шагов равно п-1, где п - число вершин дерева ( ).

На первом шаге увеличивается на единицу один из элементов а2, а3,..., ап.

На втором шаге увеличивается на единицу один из элементов а3, а4,..., ап. На г-ом шаге увеличивается на единицу один из элементов а+], аг+2,..., ап. И так далее, пока не будут выполнены п-1шаго в.

При таком способе формирования записи она будет древовидной и ей будет соответствовать некоторое дерево.

Хромосома для хранения информации о древовидной записи имеет вид H={gi \i=1,2,..., n-1}. Каждый ген содержит номер элемента а, который надо увеличить на единицу.

Ген g¡ может принять любое значение в интервале от 2 до n.

Ген g2 может принять любое значение в интервале от 3 до п.

Ген gi может принять любое значение в интервале от i+1 до п.

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

Для дерева, (см. рис.4) хромосома имеет вид:

H={3,3,5,7,7,10,10,10,12,12,12} и ей соответствует запись (5).

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

Генетические операторы. Основными генетическими операторами являются кроссинговер и мутация.

У описанной выше структуры хромосом гены, расположенные в одних и тех , .

.

( « »)

гомологичные пары генов и с вероятностью Pk осуществляется обмен генами. При таком подходе степень модификации родительских хромосом определяется значением параметра Рк.

Суть оператора мутации - в произвольном изменении значений генов. Реализация оператора мутации осуществляется следующим образом. Последовательно

, 1 . Если хромосома мутирует, то последовательно просматриваются локусы хромосо-, 2 . Мутация заключается в принятии геном случайного значения из заданного диапазона значений для гена в данном локусе.

Как видно из алгоритмов, реализующих операторы кроссинговера и мутации, оценка их временной сложности имеет вид O(n).

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

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

1. Naveed Sherwani. Algorithms for VLSI physical design automation. Kluwer academic publishers. Boston /Dordrecht/ London. 1995.

2. C.Sechen and A.Sangiovanni Vincentelli, ” The Timberwolf placement and routing package,” IEEE J. Solid.State Circuits, v.SC-20, pp.510-522, 1985.

3. D.F.Wong, H.W.Leong, and C.L.Lin. Simulated Annealing for VLSI Design. Boston, MA: Kluwer Academic, 1988.

4. J.P.Cohoon, S.U.Hegde, W.N.Martin, D.Richards,” Distributed genetic algorithms for the floorplan design problem”, in Proc. IEEE Transactions on Computer Aided Design, v.10. №4, April 1991. pp.483-492.

5. H.Murata, K.Fujioshi, S.Nakatake. and Y.Kajitani, “VLSI module placement based on restan-gle-packing by the sequence pair”. IEEE Trans. Computer Aided Design, Dec.1996,v.15, pp.1518-1524.

6. D.F.Wong and C.I.Lin, A new algoritm for floorplan design, Proc. 23 rd ACM/IEEE Design Automation Conf., Las Vegas, NV, 1986, pp.101-107.

7. Лебедев В.Б. Планирование СБИС методом генетического поиска. // Известия ТРТУ. Тематический выпуск “Интеллектуальные САПР”. Таганрог: Изд-во ТРТУ. 1999. №3.

.119-126 .

8. Pei-Ning Guo, Toshiniko Takahashi, Chung-Kuan Cheng,”Flooplanning using a tree representation”. IEEE Trans. Computer Aided Design, v.20, pp.281-289, February 2001.

УДК 628.3

B.B. Курейчик РЕШЕНИЕ ЗАДАЧ О КОММИВОЯЖЕРЕ МЕТОДАМИ ЭВОЛЮЦИОННОГО МОДЕЛИРОВАНИЯ*

Введение. Задача о коммивояжере (ЗК) в английской интерпретации TSP является классической NP-полной задачей [1-3]. Она заключается в нахождении кратчайшего гамильтонова цикла в графе и нашла применение при решении инженерных и практических задач. ЗК имеет теоретическую ценность, и ее результаты являются асимптотической оценкой различных эвристических алгоритмов, которые могут быть применены для решения задач комбинаторной оптимизации. Для решения ЗК большой размерности используются различные эвристики. К ним относятся алгоритм принятия решения с порогом, поиск с запретом и др. алгоритмы, основанные на эволюционных принципах [1-5]. В работе предлагаются новые комбинированные эволюционные стратегии и методы локального поиска для эффективного решения ЗК.

. -

разом: коммивояжеру необходимо посетить n городов, не заезжая в один и тот же , -стью. Более строго имеем: дан граф G=(X,U), где |X| =n - множество вершин (города), |U|=m - множество ребер (возможные пути между городами). Дана матрица чисел R(i,j), где i,je 1,2,...,n (стоимость транспортировки из вершины xi в Xj). Требуется найти перестановку ф из элементов множества X, такую что ЦФ:

Fitness(9)=R(9(1),9(n))+2{R(9(i),9(i+1))}^min. (1)

Если граф не является полным, то дополнительными ограничениями на ф яв:

<ф(1),ф(1+1)> е U, V i е 1,2,...,n-1 и <ф(1),ф(и)>еи. (2)

Данные ограничения можно учесть, например, проставив большие числа в R , .

Например, для графа (рис.1) для пути ф(1)=<1,2,3,4,5,6,7> получим целевую функцию (ЦФ) или условную стоимость: Fitness^Q)) =1+1+1+1+1+1+1=7, а для пути ф(2)= <7,2,5,4,3,6,1> имеем ЦФ: Fitness^(2))= 3+6+1+1+5+3+1=20. Следова-

* Работа выполнена при поддержке РФФИ, грант № 03-01-00336

i Надоели баннеры? Вы всегда можете отключить рекламу.