УДК 658.512
А.С. Сергеев
РАЗРАБОТКА АЛГОРИТМА ТРАССИРОВКИ СОЕДИНЕНИЙ НА ОСНОВЕ ГЕНЕТИЧЕСКОЙ ОПТИМИЗАЦИИ КЛИКИ ГРАФА ПЕРЕСЕЧЕНИЙ
ЦЕПЕЙ
Известно, что в алгоритмическом плане задача трассировки заключается в построении Для цепей схемы оптимальных соединений и размещении их на коммутационном поле (КП) при соблюдении критериев оптимальности. Однако, несмотря на то, при прокладке каждой Цепи выбирается оптимальный вариант размещения, последовательность прокладки соединений при использовании большинства классических алгоритмов /1/ остается “узким Местом”, т.е. основной проблемой, поскольку цепи, проложенные в первую очередь, могут препятствовать проведению последующих. С другой стороны, полный или частичный Просмотр всех вариантов последовательности проведения цепей имеет комбинаторную сложность и для реальных размерностей схем неприменим для практического использования.
Таким образом, из отмеченного выше очевидна необходимость разработки таких влгоритмов проектирования схем соединений, которые ликвидируют отмеченные недостатки, сохраняя в то же время универсальность и возможность получения оптимальных и квазиоптимапьных решений. Для этой цели в статье рассматривается подход, основанный на Применении эволюционного направленно-случайного поиска с помощью основных генетических операторов.
Для решения задачи трассировки цепей используется дискретное КП, разбитое на элементарные ячейки. Формирование вариантов цепей осуществляется с помощью алгоритма Построения дерева Штейнера (Д1И), разработанного в /2,3/. Сущность алгоритма заключается в Последовательном выборе пар контактов (х, Xj), имеющих наибольшую площадь охватывающего прямоугольника, и нахождения во множестве трасс, соединяющих выводы (XnXj), вариантов соединения, максимально совпадающего с проложенным ранее фрагментом ДШ, включающим выводы х)...хн. Отметим, что для формирования множества вариантов соединений, имеющих равную длину между двумя выводами, в /2/ разработан алгоритм Формирования сети трасс (ФСТ). Отметим также, что количество получаемых вариантов Цепей, а также вариантов трасс, проводимых между парами выводов, в общем случае может быть определено пользователем, исходя из объема оперативной памяти, требований к °птимальности решения, временных ресурсов.
Таким образом, в данном случае задача размещения п заданных цепей на КП сводится к поиску такого взаиморасположения вариантов, при котором оптимизируется значение fitness " Целевой функции. Для этого рассмотрим п-дольный граф G, содержащий число долей, равное Числу проводимых цепей п, число вершин каждой доли равно числу вариантов прокладки Vj с°ответствующей цепи (i=l,...,n). В данном случае задача сводится к нахождению °Птимальной клики в графе G, где ребрам присвоены значения ЦФ при проведении соответствующих цепей. Таким образом, каждому варианту разводки может быть поставлена в соответствие некоторая клика графа G, содержащая по одной вершине из каждой доли.
Отметим, что при реализации этапа распределения соединений по m каналам, Имеющим пропускные способности gi,...,gnu оптимальная загрузка может быть достигнута ^Утем присвоения ребрам графа G значения ЦФ 1, если соответствующие вершинам варианты с°единений проходят одновременно через один канал на каком-либо его участке, и 0 в противном случае. В этом случае задача сводится к определению клики, имеющей ^Чнимапьный суммарный вес ребер и не содержащей для канала i подклик с более чем g;(gj-^2 ребрами, имеющими вес 1, так как наличие такой клики означает, что через канал i °Дновременно проходят более чем g цепей.
Отметим, что поскольку задача выделения семейства клик графа относится к классу NP-полных и имеет комбинаторную сложность, для ее решения представляет интерес разработка методов, использующих направленно-случайный поиск для приближения к оптимуму и основанных на генетической оптимизации. Известно, что основной задачей при реализации генетических процедур является представление решения в виде хромосомы. Для данной задачи хромосома состоит из генов, количество которых равно числу проводимых цепей, значением i-ro гена является номер позиции вершины i-й доли графа, входящей в клику. Например, хромосома <3,6,1 > означает, что для цепей 1,2,3 проведены соответственно 3,6 и 1 варианты. Отметим, что данный способ кодирования обеспечивает взаимно-однозначное соответствие между видом хромосомы и топологией КП, в то же время исключена возможность появления нелегальных решений при формировании начальной популяции, поскольку отсутствует какая-либо зависимость между генами хромосомы. Начальная популяция заданного размера М формируется путем выбора для каждого гена j (j=l,...,n) каждой хромосомы i случайным образом значения, лежащего в интервале [l,Vj]. где vj - число вариантов прокладки цепи j.
Для получения нового решения используются генетические операторы: кроссовер, мутация, селекция. Кроссовер заключается во взаимном обмене множеств генов, расположенных до и после точки разрыва в хромосомах-родителях. Как показали экспериментальные исследования, для рассматриваемой проблемы наиболее применимы простые операторы с одной и более точками разрыва, поскольку применение операторов, использующих обмен позиций генов одной хромосомы, может привести к появлению нелегального решения. Если, например, в хромосоме
<1,8, 3,6, 4, 2>
I 3 4 5 6
значение гена в позиции 2 будет присвоено гену в позиции 5, будет нелегальное решение, если v5<=4.
Оператор мутации проводится для хромосомы, если случайное значение t из интервала [0.1J удовлетворяет условию t[lnmu„ где п™, - норма мутации. Поскольку, как и ранее, в данном случае возможно получение нелегального решения, то после произвольного выбора двух позиций хромосомы и обмена значений генов в них производится проверка для каждого гена i (i=l,...,n), не превышает ли его значение t, допустимое Vj. Если tj>Vi, значение tj выбирается случайным образом в интервале [l,vj.
При работе генетического алгоритма были использованы два вида селекции: элитная и “колесо рулетки”. При использовании элитной селекции на каждой генерации из множества родителей и потомков формируется новая популяция путем выбора М лучших индивидуумов, начиная с имеющих самое оптимальное значение ЦФ.
Стратегия “колеса рулетки” реализуется следующим образом. Вначале произвольным образом (с помощью генератора случайных чисел) осуществляется генерация числа В, удовлетворяющего условию ттщйВГЛШпшх, где гп^п и т11ШХ . наименьшие и наибольшие значения ЦФ элементов расширенной популяции (родители и потомки). Далее случайным образом из этой популяции выбирается индивидуум, если его значение ЦФ f удовлетворяет условию f<B, данный индивидуум включается в популяцию для следующей генерации. Этот процесс обеспечивает большую вероятность выживания для следующей генерации индивидуумов с меньшим значением ЦФ (аналогично может быть осуществлено преимущественное выживание для индивидуумов с большим значением ЦФ).
Реализация описанного алгоритма проводилась на языке СИ. Для проведения экспериментов был выбран ряд схем (каналы, switchbox), ниже будут приведены результаты для двух примеров: Burstein difficult channel (10 цепей) /5/ и Burstein difficult switchbox (24 цепи) /6/. В табл. 1 показаны сравнительные характеристики трассировки схемы Burstein difficult channel, проведенные с помощью предлагаемого подхода и некоторых известных трассировщиков, (символ “-” означает, что по данным характеристикам сведений не имеется).
Табл. 1
трассировщик столбцы строки длина связей межсл. число переход, пересечений
Mighty 13 4 83 8
Packer 12 4 82 10
Monreale 12 4 82 10
ГА Liening 12 4 82 8 21
Г А формирования оптимальной клики (ГАФОК) 12 4 82 8 20
Таким образом, приведенные результаты свидетельствуют о том, что представленный генетический алгоритм формирования оптимальной клики (ГАФОК) позволяет оптимизировать результаты трассировки путем минимизации числа пересечений цепей на 1. По остальным параметрам результаты не уступают известным. При проведении экспериментов чорма кроссовера изменялась в пределах 80-95 %, норма мутации 0,05-0,08. В зависимости от Размера популяции наблюдалась различная частота сходимости к оптимальному варианту. Табл. 2 показывает изменение отношения числа экспериментов, при которых достигнут оптимум, к общему числу при трассировке Burstein difficult channel при использовании ЗДитной и “рулеточной” селекции.
Табл, 2
тип селекции размер популяции
50 100 200
элитная 1 1 1
колесо рулетки 0,6 1 1
Как видно из полученных результатов, при использовании “рулеточной” селекции Наблюдается несколько более редкая сходимость к оптимуму, однако с увеличением размера Популяции это различие исчезает. При реализации ГАФОК на Burstein difficult switchbox была Получена более редкая сходимость к оптимальному варианту, что обусловлено большей Размерностью задачи, требующей больший размер и разнообразие популяции. В табл. 3 Представлены сравнительные характеристики трассировки Burstein difficult switchbox. В табл. ^ показана частота сходимости алгоритма в зависимости от размера популяции (отношение чИсла экспериментов, при которых достигнут оптимум, к общему числу, а также значение К, Представляющее разность между квазиоптимальным значением, полученным при проведении Э|<сПериментов и наиболее сильно отличающимся от оптимального, и оптимальным значением.
Отметим, что приведенные результаты были получены при максимально возможном цИсле вариантов цепей, формируемых на заданных выводах. При уменьшении числа вариантов Наблюдается более высокая частота и ускорение сходимости к имеющемуся оптимуму. При
применении генетического алгоритма для тестовых схем-каналов /4/ необходима ручная корректировка, поскольку цепи, имеющие выводы на одной стороне кагала, имеют однозначный вариант проведения, и в этом случае может потребоваться введение дополнительных магистралей и проведение некратчайших соединений (что в общем случае необходимо и для двух цепей Burstein difficult switchbox).
Таким образом, в данной статье был рассмотрен генетический подход для оптимального размещения кратчайших вариантов цепей с помощью основных операторов эволюционного поиска. Экспериментальные исследования показали возможность получения результатов, не уступающих по качеству известным, при реализации на схемах, содержащих цепи с выводами на различных сторонах КП. При трассировке цепей с выводами на одной стороне канала может быть использовано введение дополнительных магистралей или слоев для разведения пересекающихся
Табл.3
трассировщик число цепей, проведенных некратчайшим образом и не проведенных вообще длина связей число пересечений
иерархическая трассировка 3,1 498 144
волновой трассировщик WEAVER 0 531 177
трассировщик MAGIC 5 564 185
трассировщик Marek-Sadowska 6 184
ГАФОК 0 533 173
Табл.4
тип селекции размер популяции
50 1000 200 250
элитная частота 0 0,45 0,80 0,95
значение К 7 3 1 1
колесо Рулетки частота 0 0,1 0,55 0,75
значение К 8 5 3 3
Отметим также, что элитная селекция показала лучшие результаты при решении данной Задачи трассировки. Для каждой размерности схемы в общем случае необходим выбор размера Популяции, дающего наилучшую сходимость.
ЛИТЕРАТУРА
*• Селютин В.А. Машинное конструирование электронных устройств. - М.: Сов. Радио, 1977. Калашников В.А., Сергеев А.С. Разработка инвариантных методов трассировки в технологической схеме процесса проектирования топологии БИС на основе синхронного формирования соединений, ориентированных для реализации на супер-ЭВМ с одно- и многопроцесорной архитектурой. Труды 2 Международной научно-технической конференции “Актуальные проблемы фундаментальных наук”. М.: МГТУ им. Баумана, т. 6> с. А51-А55.
Калашников В.А., Сергеев А.С. Алгоритм построения сети соединений на КП и его применение для трассировки соединений. Труды научно-технической конференции “Автоматизация проектирования РЭА и ЭВА”, Пенза, ПДНТП, 1992, с. 26-28.
Давиденко В.Н. Надъячеечная трассировка на основе генетических процедур. - Известия 5 ТРТУ, №2, 1998, с. 22-27.
Liening J. A Genetic Algorithm for Channel Routing in VLSI Circuits. Evolutionary Computation, v. 1, № 4, p. 293-311.
Rostan J. Weaver: A knowledge - Based Routing Expert. - IEEE Design & Test, 1986.
УДК 658.512
^ Л.А. Гладков
Диетический алгоритм планаризации на основе матрицы
ЦЕПЕЙ
Несмотря на то, что проблема определения планарности давно известна и хорошо И0в ена> она, тем не менее, не потеряла своей актуальности, о чем свидетельствует появление ЭтаЬ|х публикаций, посвященных различным аспектам решения данной проблемы. Кроме того, Наст3аДаЧа тесно связана с другой важной задачей САПР минимизацией пересечений. В Лл °Я1Цей статье представлен алгоритм позволяющий не только однозначно ответь на вопрос -^ло а^ЄН Ли “‘следуемый граф? - но и, в зависимости от полученного ответа либо получить МакСКУЮ УкладкУ Данного графа, либо минимизировать пересечения путем выделения его СиМальной планарной части.