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

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

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

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

2. Burkard R.E., Karisch S., Rendel F. QAPLIB A Quadratic Assignment Problem Library, EJOR 55, 1991, pp. 115-119. Goldberg D.E., Lingl J.R. "Alleles, Loci and the Traveling Salesman

3. Problem, Proceedings of the International Conference on Genetic Algorithms and their Applications, Hillsdale NJ, 1985, pp. 154-159. Heragu S.S.. Facility Layout (Special Issue), EJOR 57 (2), 1991, pp.

4. Kureichik V.M., Melikhov A.N.. Miagkikh V V. Some New Feati^es in Genetic Solution of the Traveling Salesman Problem, to appear in Proc. of the IC on Adaptive Computing in Eng. Design and Control'96, Plymouth UK, March 1996.

5. Nissen V., Paul H. A Modification of Threshold Accepting and its Application to the Quadratic Assignment Problem.OR Spektrum (1995) 17, 205-210.

6. Nissen V. Evolutionary Facility Layout - A Comparison, submitted to Studies in Locational Analysis. Heuristics in Location (Special Issue).

7. Skorin-Kapov J. Tabu Search Applied to the Quadratic Assignment Problem, ORSA Jomal on Computing, v.2, 1990, pp. 33-45.

УДК 681.356

Давиденко В.Н.

АЛГОРИТМ ЗАДАЧИ КАНАЛЬНОЙ ТРАССИРОВКИ, ОСНОВАННЫЙ НА МЕТОДЕ ГЕНЕТИЧЕСКОГО ПОИСКА

ВВЕДЕНИЕ

Трассировка — это заключительный этап конструкторского проектирования интегральных схем (ИС). Осйовная задача трассировки состоит в определении линий, соединяющих эквипотенциальные контакты элементов и компонентов ИС. В данной работе мы предлагаем генетический алгоритм для задачи канальной трассировки в классической постановке.

ЗАДАЧА КАНАЛЬНОЙ ТРАССИРОВКИ В КЛАССИЧЕСКОЙ ПОСТАНОВКЕ

I

Задача канальной трассировки в классической постановке — это простой метод трассировки двухстороннего канала, по верхней и нижней сторонам которого проходят линейки контактов. Изломы, т.е. переход горизонтального участка с одной магистрали на другую, не допускаются. Трассировка ведется в двух слоях: в одном проводятся горизонтальные сегменты, в другом — вертикальные. Соединение горизонтальных и вертикальных отрезков осуществляются через переходные отверстия.

Канал описывается двумя последовательностями Тор и Bottom, в которых размещены верхняя и нижняя линейки канала [6]. Размер обоих последовательностей равен С, — числу колонок в канале. Множество цепей определяется как Net= { Nj, .... Nn}, где n — число цепей.

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

Материалы Всероссийской конференции “Интеллектуальные САПР-95”

-------------------,------------------------------------------------

описываются ориентированным графом вертикальных ограничений (ГВО) GV= (ENel,EV), где Not множество вершин, соответствующих множеству цепей NPt, EV множество направленных ребер. Ребро (п,ш)

принадлежащее ребру EV, существует тогда и только тогда, когда цепь п расположена выше цепи m для предотвращения наложений вертикальных сегментов цепей.

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

В нашей работе мы будем использовать расширенный граф вертикальных ограничений (РГВО) GRV= (EN0t,ERV), где Nel —множество вершин, соответствующих множеству цепей Net, ERV —множество направленных ребер. Ребро (n,m) принадлежащее ERV, существует тогда и только тогда, когда в ГВО существует путь из вершины п в вершину т.

Горизонтальные ограничения представлены неориентированным графом горизонтальных ограничений (ГТО) GH = (ENe(,EH), где ENet —множество Цепей, ЕН множество ребер Ребро (п,ш) принадлежащее ЕН существует тогда и только тогда, когда магистрали для пит должны быть разными Для исключения наложения горизонтальных сегментон пит.

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ДЛЯ КАНАЛЬНОЙ ТРАССИЮВКИ

Генетический алгоритм‘ требует чтобы хромосомы оценивались с точки зрения целевой функции задачи. Целевая функция оценивает какие-либо качества особи ( длину цепей, число магистралей и т.д.). Как было указано выше, генетический алгоритм обрабатывает популяцию решений закодированных в хромосомы. В процессе обработки популяции, к ней последовательно применяются различные генетические операторы, такие как к рос инговер и "точечная" мутация, с заданными вероятностями (РС и РМ соответственно). Затем проводится селекция увеличившейся популяции Для отбора лучших решений, которые составят следующее поколение, после чего цикл повторяется. Число таких циклов называется числом поколений Т

Для нашего генетического алгоритма, мы приняли следующую схему:

Шаг 1. Определение размера популяции М, числа поколений Т, вероятности кроссинговера РС и вероятности мутации РМ.

Шаг 2. Задание случайным образом начальной популяции П(0) размером

М.

Шаг 3. 1 = 0.

Шаг 4. Выбор случайным образом М пар хромосом из популяции П(1) и применение операции кроссинговера к каждой паре с заданной вероятностью РС.

Шаг 5. Применение операции мутации к каждой особи популяции

П(1) с заданной вероятностью РМ.

Шаг 6. Селекция. Отбор М особей с наилучшим значением целевой Функции из получившейся популяции П(Ц в новую популяцию П(1+ 1).

Шаг 7 1 = 1+1.

Шаг 8. Если КТ, то переход к шагу 4.

Шаг 9. Вывод особи с наилучшим значением целевой функции. Далее в статье мы рассмотрим генетические операции применяемые в нашем диетическом алгоритме.

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

И (А) = (изе<1Тгаск(А) + 2)*С +То1а!Уег15*д(А»,

где С — число контактов, функция 1>аиГГгаск(Л) возвращает число магистралей занимаемых каналом полученном при восстановлении из хромосомы А, а функция То1а1Уе115ед(А) возвращает длину вертикальных сегментов цепей в полученном решении. Длина вертикальных сегментов цепи определяется как расстояние между контактами и переходными отверстиями, которые соединяют вертикальные и горизонтальные сегменты. После процесса селекции, все хромосомы разбиваются по парам, и затем применяется операция кроссинговера с вероятностью РС к каждой паре хромосом.

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

ЭКСПЕРИМЕНТАЛЬНЫЕ РЕЗУЛЬТАТЫ

Для иллюстрации обоснованности нашего подхода для решения задачи канальной трассировки, описанного в предыдущих разделах, алгоритм реализовали на языке Си для 1ВМ РС. Установки управляющих параметров были найдены эмпирически. Размер популяции М был выбран равным 50. Мы установили значение вероятности кроссинговера РС равным 1. Была выбрана относительно высбкая вероятность мутации РМ 0.1, так как мутация в нашем случае вносит очень небольшие изменения в хромосому. Была применена "элитная" селекция, т.е. из популяции полученной после проведения операций кроссинговера и мутации выбирается М особей с наименьшим значение целевой функции. На стандартном потоке задач алгоритм показал высокое качество полученных решений. В течении первых пяти поколений во всех случаях было получено решение с минимально возможным числом занятых магистралей. А после двадцати поколений отклонение от оптимального результата по длине соединений составило менее 1%. Временная сложность восстановления эскиза канала из хромосомы составляет <Э(Ы2).

Таблица

Ыо Число Число Минимальная Отклонение от

теста контактов цепей длина цепей оптимума, %

0 80 51 8 0.001%

1 80 36 9 0.0005%

2 80 37 10 0%

3 80 37 10 0%

4 {00 66 10 0.92%

Таким образом, общая временная сложность алгоритма составляет Т*(М*РС*2)*РМ'0(Ы2), где М — размер популяции, а Т — число поколений. В таблице приведены оптимальные результаты для выбранных примеров, и среднее отклонение от оптимального результата, полученное в результате проведения 10 испытаний для каждого примера с различными начальными

Материалы Всероссийской конференции “Интеллектуальные САПР-95"

установками генератора случайных чисел. Испытания проводились при М = 50, Т = 20, РС= 1.00 и РМ = 0.10.

ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА

1. Yoshimura, T and Kuh, E S. "Efficient, algorithms for channel routing , IEEE Trans. Comput. — Aided Des. Integrated Circuits & Syst., vol.I, no.l, PP-25 —35,1982.

2. Burstein, M. "Channel routing" Layout Design and Verification, pp. 133 — 167, Elsevier Science, 1986.

3. Michalewicz, Z., Genetic Algorithms 4- Data Structures Evolution Programs, Springer - Verlag, 1992

4. Liu, X. Sakamoto, A., Shimamoto, T. "Restructive Channel Routing with Evolution Programs", Trans. IEICE. vol.E76 —A, no.10, pp.1738—1745, 1993.

5 Goldberg, D.E. "Genetic Algorithm in Search, Optimization & Machine Learning" Addison — Westley, 1989.

ЫК 658.512.2

В.НЛуценко

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ДЛЯ РЕШЕНИЯ ТРАНСПОРТНОЙ

ЗАДАЧИ

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

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

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