БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Курейчик В.В., Курейчик В.М., Гладков Л.А., Сороколетов П.В. Бионспирированные методы в оптимизации. - М.: Физмалит, 2009.
2. Курейчик В.В., Курейчик В.М., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки.
- 2009. - № 4 (93). - С. 16-27.
3. Гладков Л.А, Курейчик В.В., Курейчик В.М. Генетические алгоритмы. - М.: Физматлит, 2010.
4. Курейчик В.М., Кныш Д.С. Проблемы, обзор и параллельные генетические алгоритмы: состояние // Известия РАН. Теория и системы управления. - 2010. - № 4. - С. 72-82.
5. Abraham A., Grosan G., Ramos V. Swarm Intelligence in Data Mining. - Berlin - Heidelberg: Springer Verlag, 2006.
6. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Разбиение на основе моделирования адаптивного поведения биологических систем // Нейрокомпьютеры. Разработка применение.
- 2010. - № 2. - С. 28-33.
7. Dorigo M., Maniezzo V., Colorni A. The Ant System: Optimization by a colony of cooperating objects // IEEE Trans. on Systems, Man, and Cybernetics. - 1996. - Part B. - № 26 (1). - P. 29-41.
8. Karaboga D. An idea based on honey bee swarm for numerical optimization // Technical Report TR06, Erciyes University, Engineering Faculty, Computer Engineering Department, 2005.
9. Курейчик В.В., Запорожец Д.Ю. Роевой алгоритм в задачах оптимизации // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 28-32.
Статью рекомендовала к опубликованию д.т.н., профессор Л. С. Лисицына.
Курейчик Владимир Викторович - Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44, ГСП 17А; тел.: 88634371651; кафедра систем автоматизированного проектирования; зав. кафедрой; д.т.н.; профессор.
Курейчик Владимир Владимирович - e-mail: [email protected]; кафедра систем автоматизированного проектирования; студент.
Kureichik Vladimir Victorovich - Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; GSP 17A, 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634371651; the department of computer aided design; head of department; dr. of eng. sc.; professor.
Kureichik Vladimir Vladimirovich - e-mail: [email protected]; the department of computer aided design; student.
УДК 621.3.049:004.896
Д.Ю. Запорожец, Д.В. Заруба, А.А. Лежебоков
ОБ ОДНОМ СПОСОБЕ КОДИРОВАНИЯ РЕШЕНИЯ ДЛЯ ЗАДАЧИ
РАЗМЕЩЕНИЯ*
Рассматривается современное состояние проблемы размещения компонентов сверхбольших интегральных схем. Предложен новый способ кодирования решения в генетическом алгоритме, используемом для решения задачи размещения. Приводится пример хромосомы, рассматривается процедура получения координат для каждого фрагмента схемы и дальнейшего построения дерева размещения на основе обратной польской записи. Приведены результаты экспериментальных исследований, показавшие эффективность модифицированного генетического алгоритма на основе предложенного способа кодирования решений.
Размещение; генетический алгоритм; кодирование и декодирование решений; обратная польская запись; дерево решений.
* Работа выполнена при частичной поддержке РФФИ (проект № 12-01-31356).
D.Y. Zaporozhets, D.V. Zaruba, A.A. Lezhebokov
A METHOD OF CODING SOLUTIONS FOR SOLVING PROBLEMS
PLACEMENT
This paper considers the current state of component placement VLSI. A new way of encoding solutions in the genetic algorithm used to solve the problem of accommodation. The example of the chromosome is considered the procedure of obtaining the coordinates for each piece of the scheme and to further build a tree placement based on RPN. The results of experimental studies showed the effectiveness of the modified genetic algorithm based on the proposed method of encoding solutions.
Placement; genetic algorithm; coding and decoding solutions; RPN; a decision tree.
Введение. Одним из наиболее сложных и трудоемких этапов при проектировании сверхбольших интегральных схем (СБИС) является этап конструкторского проектирования. Среди типовых задач этапа конструкторского проектирования СБИС размещение их элементов является наиболее проблемной задачей. Состав СБИС насчитывает несколько сотен логических блоков, и размещаемая схема занимает до 80 % ее площади. В условиях современного развития информационных технологий существующие алгоритмы автоматизированного проектирования не справляются с решением или требуют много процессорного времени для поиска эффективных решений [1, 5].
В связи с большой сложностью и размерностью задач конструкторского проектирования, а также с возникновением новых тенденций в технологии изготовления СБИС, появляется необходимость в разработке новых направлений, методик, алгоритмов для решения данного класса проблем [1]. Рассматриваемая в данной работе задача разработки и исследования алгоритма размещения разногабаритных фрагментов СБИС, позволяющего сократить время поиска решений в задачах большой размерности, и, в то же время, повысить качество получаемых решений за счёт адаптивной архитектуры, является актуальной.
Проблема размещения. Исходными данными задачи размещения элементов СБИС являются: коммутационное поле; электрическая схема, содержащая заданное количество блоков; список цепей [1-5]. Сформулируем задачу размещения следующим образом. На заданном коммутационном поле необходимо разместить множество элементов друг относительно друга таким образом, чтобы производительность системы стремилась к оптимальной. Для достижения оптимальной производительности системы необходимо минимизировать суммарную временную задержку передачи сигнала путем уменьшения длины межсоединений. Оптимизация данного параметра сводится к минимизации длины критического соединения. Под критическим соединением будем понимать электрическую цепь, имеющую на данном этапе наибольшую длину [1, 4].
Дадим формальное описание задачи размещения элементов СБИС [1, 5]. Пусть B1, ..., Bn размещаемые на коммутационном поле элементы. Каждый элемент Bi |1 < i < N, задается геометрическми размерами: высотой hi и шириной wi. Пусть N = {Ni | i = 1,m} - список цепей. Пусть Li - длина цепи Ni | i = 1,m.
Задача размещения заключается в нахождении прямоугольных областей на коммутационном поле для каждого размещаемого элемента из B и Q и определяется множеством областей R = {Ri | i = 1, n} таким, что:
1. Каждый блок располагается в соответствующей прямоугольной области таким образом, что Ri имеет высоту hi и ширину wi.
2. Области из множества R не пересекаются.
3. Общая площадь описывающего прямоугольника множества R стремится к минимальной.
4. Минимизируется суммарная длина межсоединений так, что
Б = ££^. Б ^ тт.
В данной работе для нахождения Ы - длины 1-ой цепи, предлагается использовать результат, полученный муравьиным алгоритмом. Данный поисковый механизм позволяет наиболее адекватно моделировать временные задержки в цепи благодаря используемым эвристикам.
Кодирование решения. Основной проблемой при использовании генетического алгоритма для решения прикладных задач является кодирование и декодирование решений [2]. В данной работе предлагается кодировать решения с помощью обратной польской нотации. Обратная польская нотация (ОПН) — форма записи выражений, в которой операнды расположены перед знаками операторов. Под операндами будем понимать размещаемые блоки, а под операторами - действия, определяющие взаимное расположение двух соседних операндов (блоков). При решении задачи размещения фрагментов СБИС на плоскости предлагается использовать следующие операторы: «вправо» - последующий фрагмент располагается правее предыдущих вдоль оси Ох; «вверх» - последующий фрагмент располагается выше предыдущих вдоль оси Оу.
Для удобства кодирования обозначим оператор «вверх» знаком «+», оператор «вправо» знаком «*».
В соответствие с вышесказанным приведем пример кодирования решения для размещения фрагментов СБИС, указанного на рис. 1.
Представим данное размещение в виде дерева, изображенного на рис. 2.
О(6)(3)(9
Рис. 1. Размещение фрагментов СБИС Рис. 2. Пример дерева размещения
В соответствии с данным деревом составим обратную польскую запись. Учитывая тот факт, что обратная польская нотация читается справа налево, получим следующую запись: {16+39*+8+57+*24+*}.
Закодированное решение будет иметь два типа генов: ген-оператор и ген-операнд. Представим каждый ген-операнд кортежем длины два. В общем виде кортеж выглядит следующим образом <і, аі>, где і=[1,п] - номер элемента, аі = {0, 1} -ориентация размещаемых фрагментов. Так как первый элемент кортежа гена-операнда является неотрицательным целым числом, то целесообразно гены-операторы кодировать отрицательными числами.
Закодированное решение (хромосома), соответствующее размещению, указному на рисунке (см. рис. 1) примет вид, показанный на рис. 3.
1 6 -1 3 9 -2 -1 8 -1 5 7 -1 -2 2 4 -1 -2
0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
Рис. 3. Закодированное решение
Для того чтобы в ходе решения полученные хромосомы соответствовали обратной польской нотации, следует соблюдать следующее правило: количество операторов должно быть на один меньше, чем число операндов стоящих перед ними. Соответственно общее количество операндов в хромосоме всегда на один больше, чем число операций. Общее число генов в хромосоме 2п-1, где п - число элементов.
Декодирование решения. При решении задачи размещения с использованием обратной польской записи важным этапом является декодирование решения. Предложенный метод декодирования состоит их двух этапов: свертка и вычисление реальных координат. На первом этапе выполняется попарное объединение элементов в макроблоки (МВ). Макроблоком будем называть блок, состоящий из двух элементов, причем, в качестве элементов могут выступать как реальные элементы схемы, так и макроблоки, образованные на предыдущих шагах, и оператора, соответствующего взаимному расположению элементов друг относительно друга. Стоит отметить, что на данном этапе формируются строительные блоки в том случае, если площадь макроблока равна суммарной площади каждого входящего в него элемента. На втором этапе производится определение действительных координат элементов путем последовательного размещения элементов в макроблоках. Рассмотрим процесс декодирования решения на примере следующей хромосомы: 16+39*+.
Пример первого этапа декодирования для элементов 1, 3, 6 ,9 представлен на рис. 4. Информация о взаимном расположении блоков «1» и «6» сохраняется в макроблоке МВ(1,6). Данный макроблок являтся кортежем длины три МВ(1,6) = <1,6,+>, где «1» и «6» - порядковый номер размещаемых блоков, «+» - оператора взаимного расположения элементов друг относительно друга (в хромосоме операторы кодируются отрицательными числами, но для наглядности представления используются обозначения «+» - вверх, «*» - вправо). Габаритные размеры макроблока (ширина W и высота Н) вычисляются следующим образом:
♦ для макроблока, содержащего оператор «+» и элементы а, Ь ширина W(a,b) = МАХ ^(а)^(Ь)), высота Н(а,Ь) = Н(а) + Н(Ь);
♦ для макроблока, содержащего оператор «*» и элементы а, Ь ширина W(a,b) = W(a) + W(b), высота Н(а,Ь) = МАХ (Н(а),Н(Ь)).
Определим действительные координаты элементов (рис. 4). Для этого рассмотрим макроблок наивысшего порядка МВ1 = МВ(МВ(1,6),МВ(3,9)) = <МВ(1,6),МВ(3,9),+>, где Х(МВ1) = 0, У(МВ1) = 0. Данный блок состоит из двух макроблоков МВ(1,6) и МВ(3,9) расположенных в отношении «вверх» друг относительно друга. Поэтому координаты блока имеют вид:
МВ(1,6) = {Х(МВ1),У(МВ1)} = {0,0} (рис. 4,а);
МВ(3,9) = {Х(МВ1), У(МВ1)+Н(МВ(1,6)} = {0, 40} (рис. 4,б).
На следующем шаге для всех макроблоков, координаты которых рассчитаны, применяется метод расчета координат описанный выше. Отметим, что процесс расчета завершается тогда и только тогда, когда найдены координаты всех элементов схемы.
Так при расчете МВ(1,6) = <1,6,+> элемент «1» примет координаты {Х(МВ(1,6)), У(МВ(1,6))} = {0,0}, элемент «6» примет координаты {Х(МВ(1,6)), У(МВ(1,6))+Н(1)} = {0,10}.
Для элементов «3» и «9» из блока МВ(3,9) = <3,9,*> координаты будут следующие (рис. 4,в): для элемента «3»: {Х(МВ(3,9)), У(МВ(3,9))} = {0, 40}; для элемента «9»: {Х(МВ(3,9)) + W(3), У(МВ(3,9))} = {10, 40}. Зная координаты элементов, разместим их на монтажной плоскости. Результат представлен на рис. 5.
Представленное размещение выбранных элементов совпадет с размещением этих элементов до выполнения кодирования-декодирования. Таким образом, подтверждается корректность работы алгоритма декодирования.
Рис. 4. Пример выполнения первого этапа декодирования для макроблоков: а - МВ(1,6); б - МВ(3,9); в -МВ(1,6)+МВ(3,9)
Рис. 5. Результат декодирования хромосомы
Результаты экспериментальных исследований. Для получения экспериментальных данных был проведен ряд исследований с использованием следующих алгоритмов: алгоритм парных перестановок, основанный на моделировании процесса отжига [1, 2]; модифицированный генетический алгоритм, с предложенным способом кодирования/декодирования. Временная сложность метода моделирования отжига О(п2), также как и временная сложность модифицированного генетического алгоритма - О(п2). На рис. 6 представлен график зависимости времени работы алгоритмов от размерности схемы.
— Моделирование отжига _ Модифицированный ГА
Рис. 6. Зависимость времени работы алгоритмов от размера схемы
Заключение. Наиболее перспективными методами для решения №-полных задач являются методы эволюционных вычислений [1, 2, 6]. При использовании генетического поиска многочисленные эксперименты демонстрируют значительный выигрыш в качестве решений и в скорости их нахождения. Проведенные экспериментальные исследования показали, что временная сложность генетического алгоритма с предложенным способом кодирования не выходит из области поли-номинальной сложности. Исследованию подвергались примеры, содержащие до 12000 фрагментов СБИС. Генетический алгоритм размещения с предложенным способом кодирования находит решения для задач большой размерности, не уступающие по качеству, а иногда и превосходящие своих аналогов с меньшими временными затратами.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Курейчик В.В., Бушин С.А. Размещение узлов и блоков радиоэлектронной и электронновычислительной техники на основе бионических методов // Программные продукты и системы. - 2010. - № 1 (89). - С. 12-15.
2. Кныш Д.С., Курейчик В.М. Проблемы, обзор и параллельные генетические алгоритмы: состояние // Известия РАН. Теория и системы управления. - 2010. - № 4. - С. 72-82.
3. Гладков Л.А., Курейчик В.В., Курейчик В.М., Сороколетов П.В. Биоинспирированные методы в оптимизации. - М.: Физматлит, 2009. - 384 с.
4. Курейчик В.В., Курейчик Вл.Вл. Архитектура гибридного поиска при проектировании // Известия ЮФУ. Технические науки. - 2012. - № 7 (132). - С. 22-27.
5. Курейчик В.В., Запорожец Д.Ю. Современные проблемы при размещении элементов СБИС // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 68-73.
6. Курейчик В.М., Кажаров А.А. Использование роевого интеллекта в решении NP-трудных задач // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 30-37.
Статью рекомендовала к опубликованию д.т.н., профессор Л. С. Лисицына.
Запорожец Дмитрий Юрьевич - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44, ГСП-17А; тел.: 88634371651; кафедра систем автоматизированного проектирования; аспирант.
Заруба Дарья Викторовна - e-mail: [email protected]; кафедра систем автоматизированного проектирования; аспирант.
Лежебоков Андрей Анатольевич - e-mail: [email protected]; кафедра систем автоматизированного проектирования; к.т.н.; ассистент.
Zaporozhets Dmitry Yur’evich - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; GSP-17A, 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634371651; the department of computer aided design; postgraduate student.
Zaruba Daria Viktorovna - e-mail: [email protected]; the department of computer aided design; postgraduate student.
Lezhebokov Andrey Anatol’evich - e-mail: [email protected]; the department of computer aided design; cand. of eng. sc.; assistant.
УДК 621.3.049.771.14:004.023
Э.В. Кулиев, А.А. Лежебоков О ГИБРИДНОМ АЛГОРИТМЕ РАЗМЕЩЕНИЯ КОМПОНЕНТОВ СБИС*
В работе рассматривается алгоритм решения задачи размещения компонентов сверхбольших интегральных схем, на основе адаптивных процедур. Рассматривается роевой алгоритм размещения, приводится схема поиска и определения окрестности. Приводится описание разработанного алгоритма размещения на основе моделирования адаптивного поведения пчелиной колонии. Предложена гибридная схема поиска решений задачи размещения на основе разработанных алгоритмов, позволяющая управлять процессом поиска для получения более качественных решений. Приведены параметры программной реализации разработанных моделей и алгоритмов.
Размещение; адаптивные процедуры; моделирование эволюции; генетический алгоритм; гибридный поиск; программная реализация.
* Работа выполнена нри частичной поддержке РФФИ (проект № 12-01-31356). 188