УДК 658.512
А.В. Бородулин, Е.Е. Хайрова ЭКСПЕРТНАЯ ПОДСИСТЕМА УПРАВЛЕНИЯ ГЕНЕТИЧЕСКИМ ПОИСКОМ В КАНАЛЬНОЙ ТРАССИРОВКЕ.
1. Введение
Проектирование схем соединений, иначе трассировка соединений, является одной из наиболее трудных задач в общей проблеме автоматизации проектирования электронных Устройств. Прежде всего это связано с многообразием способов конструктивно-технологических реализации соединений, каждый из которых обуславливает использование специфических критериев оптимизации и ограничений при алгоритмическом решений задачи 'Фассировки.
Проблема канальной трассировки является №-полной и в настоящее время не существует радикального метода, гарантирующего нахождение глобально оптимального Решения. Генетические алгоритмы - новый класс эвристических методов поиска основанных На биологической модели эволюции. В течении последних нескольких лет ГА применялись все более успешно для нахождения оптимальных эвристических решений для ЫР-полных задач.
2. Постановка задачи
Любая оптимизационная задача может быть описана следующим кортежем: <Х,0,(}>, где X - множество всех решений данной задачи,
О ограничения, накладываемые на множество X, для получения допустимых
Решений,
<3 целевая функция, с помощью которой можно определить наилучшее (оптимальное) решение.
Для задачи канальной трассировки этот вектор можно интерпретировать следующим °бразом:
X - множество всех решений (хромосом) из всех популяций, причем эти хромосомы ^огут представлять собой недопустимые решения или решения являющиеся не 100% Массировкой канала. Пусть Р, - некоторая популяция на шаге 1 ; Р;={Ь,, ^}, где Ь, -
*Ромосома из этой популяции, тогда Х=£ Р( = £ 5^ Ьц .
О ограничения: цепи не могут пересекаться; горизонтальные сегменты цепей
проводятся в одном слое, вертикальные в другом, т.е. накладываются ограничения О(Ьц) на Множество Х(Ьу) такие, что на множестве допустимых решений БеХ не могут существовать хромосомы Ьл , гены которых имеют номера двух цепей одновременно (т.е. пересекаются) значения нескольких горизонтальных (вертикальных) ген Бд, - при 1=сопз1
§1+д...]=соп51) имеют одинаковый номер цепи в нижнем (верхнем) слое
^ограничение на недопустимость проведения горизонтальных участков цепей в нижнем слое, а
ВеРтикальных участков в верхнем).
- целевая функция вычисляется в зависимости от количества магистралей в канале, Количества межслойных переходов и общей длины цепей в канале.
0_ 1000
к,К+к2М+кзЬ’
где к| 2,з-коэффициенты (факторы стоимости),
N - число магистралей,
М - число межслойных переходов,
Ь - суммарная длина цепей.
Оптимизация задачи сводится к максимизации критерия <3, т.е. 0(Х)—нпах. Р(Ь0пт)=тах<3(Ну), где ЬуСБ.
3. Генетический алгоритм поиска решений в задачах канальной трассировки
3.1 Структура хромосом, их кодирование и декодирование
Хромосома в данном алгоритме состоит из двух частей и имеет следующий вид:
1 g 12 £ІЗ £ ІЛ d 11 d\2 d\3 d\n
£21 £22 g2Ъ g2n d2\ d22 d23 d2n
£31 £32 £33 gЗn d3\ d32 d33 d3n
£«1 £/я 2 gm 3 Нижний слой ётп dm\ dm 2 dm3 Верхний слой dmn
В представленной структуре и гены хромосомы; т - количество магистралей канала, п - количество выводов канала. Два крайних ряда ген gli и §1Ш содержат выводы соответствующих цепей. В остальных генах нижнего и верхнего слоя находятся номера оттрассированных цепей. Отрицательный номер цепи свидетельствует о наличии межслойного перехода, а незанятый участок канала кодируется нулем.
3.3 Пример работы экспертной подсистемы ГА
Допустим каждая из трех популяций состоит из 3 хромосом. На каждой итерации подсчитываются значения ЦФ хромосом и оценивается общее состояние популяций Б.
г= 1000
к^М+к2М+к^Ь
Где к|,2,э- коэффициенты, N - число магистралей, М - число межслойных переходов, Ь ~ суммарная длина цепей
2Л/
А
где Я - размер популяции, ^ - ЦФ хромосом Предположим на 3 итерации:
N=9 _М=15 Ь=102 Р=5,05 N=8 М=19 Ь=115 Р=4,85 N=8 М=17Ь=107 Р=5,10
N=8 -М=19Ь=91 Р=5,49 N=8 М=15Ь=103 Р=5,26 N=7 М=20 Ь =91 Р=5,74
N=7 _М=30 Ь=98 Р=5,23 N=10 М=4Ь=130 Р=4,46 N=7 М=30 Ь=84 Р=5,64
N=8 ^М=17 Ь=80 Р=5,91 N=10 М=6 Ь=110 Р=4,85 N=9 М=10 Ь=103 Р=5,15
N=7 *М=21 Ь=83 Р-5,98 N=7 М=20 Ь=100 Р=5,46 N=9 М=15 Ь=95 Р=5,23
3Э,=5,53 ^ МахР| = 5,98 8э2=4,97 тахР| = 5,46 833=5,37 тахР, = >,74
Задастся вероятность искусственной селекции Р(ОИС) = 0,9 => копируются в Дополнительную популяцию РдоП:
из 1 популяции: 2, 4, 5 хромосомы из 2 популяции: 2 и 5 хромосомы из 3 популяции: 2, 3 и 5 хромосомы
Среди плохих хромосом бросается жребий выбора их в дополнительную популяцию. это операция проводится так: случайным образом задается какое-то число г для каждого Неоптимального решения и сравнивается с заданным параметром \у=0,8, управляемым экспертной системой. Если г > №, то хромосома заносится в дополнительную популяцию, иначе нет. Предположим ни одна из хромосом не попала в Рдоп.
На следующем шаге подсчитывается изменение состояний в каждой популяции.
а/ _ еЫ л л
шах(5<,5/ *)
Пусть во 2 итерации: 821=5,32 Б 2=5,3 в э=5,88
4С _ 5,53-5,32 _пп, АС _ 4,97-5,3 _ ппе 4Р _ 5,37-5,88 _
ДБ,------—---------0,03 *>2- --0,06 ДБз-----—----------0,08
Оценивая изменение состояний по заданным ОГР 21=0,01 < ДБ < 22=0,05 можно сДелать вывод, что в первой популяции процесс эволюции происходит нормально, а во второй и третьей произошли существенные изменения в худшую сторону => необходимо увеличить значение управляющего параметра \у для сокращения отбора худших решений в
дополнительную популяцию, тем самым в последующем улучшая общее состояние второй и третьей популяции.
3.4 Генетические операторы
3.4.1 Оператор кроссинговера
Кроссинговер - генетический оператор, в результате которого производится обмен участками в различных точках гомологичных хромосом (родителей), приводящий к появлению нового сочетания сцепленных генов (потомков).
Рассмотрим подробнее оператор кроссинговера, предложенный в данной работе.
Два родителя, необходимых для оператора кроссинговера, выбираются независимо друг от друга.
Пусть Раи Рр- копии родителей (рис.3.4.1.1);
Ру- полученный в результате применения ОК потомок.
13 2 12
13 2 12
1
2 3 1 3 1 2 3 1 3 1
Ра Рр
Рис.3.4.1.1
Сначала произвольно выбирается точка кроссинговера (ТК) точка разрыва родительских хромосом, или другими словами продольное сечение хс между двумя какими-либо выводами, причем 1 <хс ^х;„а, где xjnj- число возможных ссчений канала.
Затем в Р7 из индивида Ра наследуется трассировочная структура, удовлетворяющая следующим двум условиям:
1. расположена на участке (ха, г) при 1 SxaS хс,
1 ^уа ^Уы (yi„d — число магистралей), 1 йг <>2 (z- номер слоя);
2. не пересекает сечение хс
Аналогичным образом наследуется трассировочная структура из индивида Рр при условии что она: 1. расположена на участке (хр, yp, z) при хс <, ха ^ хы, 1 ^ ур ^ уы. 1 ^ z <, 2;
2. не пересекает сечение х,;.
Связи родителей Ра и Рр, пересеченные сечением Хс, просматриваются пока их точки Штейнера или выводы не будут достигнуты. Оставшиеся участки цепей наследуются в Р7.
Если трассировочная структура Ра (или Рр>, которая должна быть передана в Ру, содержит магистрали yinda (yj„dp ) не занятые горизонтальными отрезками или точками Штейнера, то они удаляются. Начальное число магистралей в Pv: yindy = max (y^da Утар)-Часть
индивида-родителя, содержащая меньше магистралей, чем Р^ расширяется добавлением магистрали в произвольную позицию перед преобразованием трассировочной структуры Рг
Трассировка оставшихся несоединенных в Pv цепей осуществляется с помощью волнового алгоритма со случайным выбором трассируемых цепей.
Если произвольная трассировка между двумя точками не приводит к связям после проведения i-числа итераций заданных заранее, тогда канал расширяется в произвольной ПОЗИЦИИ yadd при условии 1 ^УиИ ^yindr
13 2 12
ш
2 З 1
1
Рис.3.4.1.2 Потомок Pv
3.4.2 Оператор сегрегации
Сегрегация это генетический оператор или случайный селекционный процесс, создающий новую хромосому, которая выбирает по одному или более членов из каждого стринга популяции для формирования новой хромосомы.
Рассмотрим подробнее оператор сегрегации. Число родителей, принимающих участие в операторе сегрегации генерируется случайным образом в диапазоне: п,У4 ^ ^ Пс/2,
гДе пс - число цепей канала.
Т.е. если рассмотреть пример канала, в котором число цепей равно 5, то для успешной работы оператора сегрегации достаточно взять 2 родительские хромосомы. Пусть Ра и Рр -«опии родителей (рис.3.4.2.1); Ру- полученный в результате применения ОС потомок.
51231434 51231434
Ра Рр
Рис.3.4.2.1.
Начальное число магистралей в Ру Ушйу = max (ума Уыр)-Чтобы определить какие именно цепи унаследует индивид Р^ необходимо их оценить. Для этого введем целевую функцию Fr (i) = (1с + vc), где 1с - длина цепи индивида Рг, определяемая по принципу Манхеттена; vc число межслойных переходов, входящих в Данную цепь; i - номер цепи родительской хромосомы Рг
После подсчета ЦФ для цепей каждого родителя формируется упорядоченный список:
Рг (І) Fa (5) Fa (3) FB(2) Fb(5) FB(3) Fb (4) Fad) Fa (4) Fa (2) Fb(U
ЦФ 15 16 16 16 18 18 19 19 22 29
Если значения ЦФ совпадают, то соответствующие цепи в списке можно расположить в Произвольном порядке.
На следующем шаге последовательно просматривается упорядоченный список и °Дновременно производится проверка на возможность наследования рассматриваемой цепи п°томком Ру Она должна быть проведена без наложений и пересечений с уже ОГграссированными цепями.
Не всегда в результате работы ОС формируется жизнеспособный потомок, обычно "екоторые выводы остаются несоединенными, поэтому на последнем шаге производится ^отрассировка этих несоединенных выводов в потомке Руволновым алгоритмом.
1 3 2 4 2 1 5 2
Рис. 3.4.2.2 Потомок Ру
Достоинство оператора сегрегации заключается в формировании потомка, содержащего цепи родителей с наибольшими значениями ЦФ. Это увеличивает вероятность получения индивида с улучшенными свойствами.
Оператор мутации
Мутации - это возникновение качественно новых генов (аллелей), хромосом и наборов хромосом.
Оператор мутации предназначен для внесения небольших случайных изменений в хромосомы популяции. В результате его применения к индивиду могут быть получены как хорошие потомки, так и плохие. Другими словами оператор мутации осуществляет произвольную модификацию индивидов.
Рассмотрим два типа оператора мутации, применяющиеся в произвольном порядке с некоторой вероятностью к каждому индивиду.
1. Определяется произвольное число цепей пг в хромосоме, выбираются пг цепей и затем они удаляются. На следующем шаге эти цепи трассируются стратегией произвольной трассировки.
2. Удаляется магистраль в произвольной позиции у^. Затронутые сегменты цепи прослеживаются, пока их точки Штейнера или выводы не будут достигнуты и перетрассируются стратегией произвольной трассировки.
4. Заключение
Был представлен ГА для проблемы канальной трассировки СБИС. Алгоритм основан на проблемно-специфическом представлении схемы и проблемно- ориентированных генетических операторах, и опирается на архитектуру поиска оптимального решения GAMAS. Также разработана экспертная подсистема управления генетическим поиском, отслеживающая в первую очередь неблагоприятные изменения и увеличивающая вероятность непопадания в локальный оптимум. Она основана на оценке общего состояния каждой из популяций. В зависимости от ТОГО, улучшилось ИЛИ ухудшилось ЭТО состояние (Si), и от того как быстро или насколько значимо оно изменилось, производится изменение параметров ГА. Предварительное исследование предполагает, что результаты, полученные с использованием данного алгоритма аналогичны, а в некоторых случаях и лучше опубликованных результатов для бенчмарок канальной трассировки.
Программа, реализующая данный алгоритм, разработана для ОС MS Windows 95/98 на языке программирования Borland C++ 5.02. Она производит трассировку канала в зависимости от заданных ОГР: количество итераций, численность популяций, вероятности генетических операторов.
ЛИТЕРАТУРА
1. В.М. Курейчик «Генетические алгоритмы» ( ТРТУ, Таганрог 1998.- 242с. с илл.)
2. В.А. Селютин «Машинное конструирование электронных устройств» (Советское радио, 1997.-384 с. с илл.).
3. «Автоматизированое конструирование монтажных плат РЭА»: Справочник специалиста; под редакцией Л.П.Рябова (Радио и связь, 1986.- 192с.).
4. В.М. Курейчик «Математическое обеспечение конструкторского и технологического проектирования с применением САПР» (Радио и связь, 1990.-352с.).
5. В.М. Курейчик, В.А. Калашников, Б.К. Лебедев «Автоматизация проектирования ПП» (РГУ, 1984.-80C.).
6. Jens Lienig and К. Thulasiraman «А Genetic Algorithm for Channel Routing in VLSI Circuits » (“Evolutionary Computation Volume 1” ,Number 4).
УДК 658.512
В.Б. Земляное, Ю.М. Почтмаи, В.В. Скалозуб, С.Ю. Цейтлин ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ С ДЕКОМПОЗИЦИЕЙ НЕПРЕРЫВНЫХ УПРАВЛЯЕМЫХ ПАРАМЕТРОВ
Введение
Развитие эволюционных вычислений (ЕС) характеризуется расширением сферы их применений, поиском подходов к решению все более сложных прикладных задач; совершенствованием ЕС на основе интеграции в процессы моделирования идей других Методов оптимизации (адаптация, аппроксимация, многоуровневое управление и др.); Разработкой теоретической базы (проблемы представления, глобальной сходимости, Использование различных форм эволюции и др.) [I]. В работе построены и исследованы генетические алгоритмы (вАв) решения оптимизационных задач с ограничениями Непрерывных управляемых параметров Х=(хи...,хп), представляющих члены популяции Рп(Х), которые основаны на декомпозиции X на подмножества Хк с: X. При этом в различных Подмножествах Х|< процессы ЕС(Х|<) обладают специфическими чертами. Декомпозиция придает направленность моделированию за счет ограничения множеств параметров Хк, Участвующих в ЕС(Х),(|)), 1-этап; обмен процессов пе"элитными" членами (Х^, №> пе £1) при специализации поиска в Хк способствует нахождению глобальных решений задач оптимизации.
1. Ко-эволюционный генетический алгоритм
При реализации задач с ограничениями в нашем случае применяется следующая ко-Эволюционная форма ЕС(Х) с элитизмом и пополнением Х(|) элементами - иммигрантами. В Решении участвуют две популяции А(х) и В(у): одна разыскивает параметры ХА, Другая - Ув СеДловой точки функции Лагранжа. В популяциях пригодность членов Х,к (5) оценивается Функциями
к' /а(х) = ГПОХ Цх,у)\ъ™щмт*Ъ\/в(¥) = т1пЦх,у)- (1) уеВ хеА
В (1) Цх, у) функции Лагранжа, а У, 20 - переменные при ограничениях g,(x) < 0. В Процессе решения задач (1) популяции (А(х), В(у)) последовательно эволюционируют заданное Число итераций (Ы,), затем фиксируются, уступая место другой. Цикл повторяется № раз, либо выполнения некоторого иного критерия остановки. вАв использует операторы