Исследование генетического алгоритма для решения задачи назначения слоев в базовых матричных кристаллах

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

В результате селекции из объединенного множества решений отбрасывается ilk «худших»1 и размер популяции вновь становится равным пР.

С вероятностью Pm над пм хромосомами может быть реализован оператор мутации. В этом случае пм мутантов объединяются с популяцией. Далее в результате селекции из объединенного множества хромосом удаляется пм «худших».

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

Параметры nP, nie, ni, nm, nd, Pm и Рср являются управляющими и определяющими в некоторой степени эффективность генетического алгоритма. Хотя с другой стороны, их значения ограничиваются вычислительными ресурсами.

Заключение.

Алгоритм был реализован на языке С для ПЭВМ типа IBM PC. Чтобы оценить эффективность алгоритма пермутации выводов (АПВ), использовались канальные трассировщики. Сначала канальные трассировщики работали без АПВ, а затем после работы АПВ. Сравнения результатов трассировки показали, что предварительное исполнение АПВ существенно сокращает плотность канала в рассмотренных примерах в среднем на 20%.

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

Литература.

1. J.Cong, B.Preas and C.L.Liu, «Physical models and efficient algorythms for over-the-cell routines and standart cell design», IEEE Trans. Computer-Aided Design, vol. 12, no.5, p.p. 723-734,1993.

2. C.Hu and C.Y.R.Chen «A pin permutation algorythm for improving over-the-cell channel routing», in Proc. 29,h ACM/IEEE Design Automation Conf., 1992, p.p. 594-599.

3. T.W.Her and D.F.Wong, «On Over-the-Cell Channel Routing with Cell Orientations Concideration», IEEE Trans. Computer-Aided Design, vol. 14, no.6,p.p.766-771,1995.

УДК 681.3-519.8

С.Н. Щеглов, М.Д. Сеченов Исследование генетического алгоритма дня решения задачи назначения слоев в базовых матричных кристаллах

Одной из задач проектирования4 топологии матричных БИС и СБИС является задача оптимального распределения по слоям трассируемых соединений в базовом

кристалле [1]. Самой общей целью при решении этой проблемы является наиболее эффективное использование площади коммутационного пространства при одновременной оптимизации таких конструктивных параметров схемы, как число слоев, количество межслойных переходов, процент реализованных соединений. Традиционные методы решения этой задачи имеют существенный недостаток ловушки локальных оптимумов. Рассматриваемый генетический метод является методом направленного случайного поиска. Основной характеристикой таких методов является то, что они допускают временное ухудшение целевой функции. Это позволяет избежать ловушек" а при достаточном числе итераций найти приемлемое решение.

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

Оператор селекции выбирает представителей настоящего поколения для участия в последующих операциях кроссинговера и мутации. Для каждой хромосомы вычисляется целевая функция. В данном случае основным критерием оценки является минимум числа слоев, необходимых для распределения трассируемых соединении: г

Шд)=1.0/Ы,

где ОД,0 - значение целевой функции для ¡-й хромосомы-

N - число слоев. ’

Целевая функция определяет ценность каждой хромосомы. Хромосомы с лучшими муТацииРИСТИКаМИ 3аТвМ П0ДВергаются действию операторов кроссинговера и

В рассматриваемом алгоритме каждое решение представляется в виде списка, количество элементов которого соответствует необходимому числу слоев а элемент списка соответствует количеству цепей, расположенных в данном слое ’ Кроссинговер - операция смешивания составляющих хромосом , называемых родителями. Существует много версий операции кроссинговера [31 Для оешения задачи назначения слоев удобно использовать следующий оператор кооссинговеоа Потомок производится от двух родителей, которые выбираются на основе значений их целевых функции. У каждого родителя определяется слой содержащий максимальное число цепей. Затем происходит обмен информацией между родителями - выбранные слои переносятся из одного родителя к другому и наоборот. Цепи, перенесенные при переписывании слоев исключаются из остальных слоев новой хромосомы. ’

Операция мутации применяется к одной хромосоме и незначительно преобразует ее путем локальных случайных перемещений. Цель - предотвращение единообразия во множестве решений (популяции). Сознательное ухудшение "РИВН0СИТ Н0ВУЮ Инф°Рмацию и »“Л*™ механизмом выхода

ИЗ ЛОКАЛЬНЫХ ям*

Таким образом, получается новая популяция,^которая в свою очередь

подвергается действию генетических операторов. Следует отметив ™

необязательно применять генетические операторы для получения каждой

хромосомы в каждом поколении. Лучшее решение может помещаться 6« изменения в новую популяцию. помещаться оез

Рассмотренный процесс выполняется итерационно до тех пор, пока не будет получено приемлемое решение.

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

Были проведены сравнительные экспериментальные исследования зависимости времени работы алгоритма от размерности задачи для различных популяций. Размер популяции определяется числом возможных решений , от которых ведется поиск оптимального .решения (Р|=10, Рг=20, Рэ=30). Результаты статистической обработки полученных данных приведены в Табл. 1.

Таблица 1

Количество _ цепей ТР1 Тр2 Тр2

_ 10 10 8 7

_ 20 25 19 18

_ 30 42 30 25

_ 50 50 40 33

_ 80 83 75 64

100 135 120 110

Отображение таблицы в виде графиков показано на рис. I. Полученные Эависимости показывают, что временная сложность алгоритма сравнительно невелика, выражается степенной зависимостью порядка kn.

140 120 100

80

00

40

20 0

0 10 20 30 60 80 100

Рис. I

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

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

Таблица 2 ^

Количество итераций SF

0 0

10 0.01

20 0.04

30 0.06

50 0.1

70 0.08

100 0.15

120 0.13

График зависимости изменения целевой функции от количества итераций Í показан на Рис. 2.

0,16 т

0,14  •

0,12

0,1-0,08 •

0,06--

0,04 -0,02 - -

0 -И—1—1--------------1-н | |------1— | |

0 10 20 30 50 70 100 120 150 200

Рис. 2

Как показали эксперименты, большое влияние на производительность, эффективность и временную сложность ГА оказывает размер популяции.

Недостаточно эффективно ГА работает с очень маленькими по размеру

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

На основании вышеописанного алгоритма была разработана программа на языке C++ для IBM PC. Экспериментальные исследования показали возможность применения данного метода для решения задачи назначения слоев в базовых матричных кристаллах.

Литература

1. Морозов К.К., Одинокое В.Г., Курейчик В.М. Автоматизированное проектирование конструкций радиоэлектронной аппаратуры. М.: Радио и связь, 1983.

2. J.H. Holland Adaptation in N aturar and Artificial Systems. University of Michigan Press, Ann Arbor, M.I., 1985.

3. Ho J. Layer assignment for multichip moduls. IEEE Trans. CAD, Vol. 9, no. 12, December, 1990.

УДК 681.3-519.8

А. В. Бондалетов

Применение псевдогенетического алгоритма для решения задач одномерной

упаковки.

Предлагаемый алгоритм использует псевдогенетические процедуры для одномерной упаковки произвольно заданного количества элементов в блоки. Алгоритм автоматически выбирает необходимое количество блоков (по заданному Размеру блока и коэффициенту заполнения). Сделана программа по данному алгоритму на языке Borland C++ 4.5 под Windows, которая имеет наглядное Цветное графическое изображение процесса работы алгоритма.

Введение

Данный алгоритм выполняет следующие функции:

1) упаковка одномерных элементов в блоки одинакового заданного размера с помощью псевдогенетического алгоритма;

2) автоматическое определение количества необходимых блоков;

3) позволяет задать процент заполнения блоков (от 0 до 100%);

4) возможность изменять основные параметры в динамике процесса.

Этот алгоритм может использоваться как подзадача в более сложных задачах Упаковки.

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

Постановка задачи

Дано конечное множество элементов Е = { ei, ег,..., еп }, каждый элемент можно представить числом, характеризующим его длину. Максимальная длина элемента 0граничена параметром SIZE, размер одного блока • МАХ (тоже число), минимальный коэффициент заполнения одного блока - COEF (от 0 до 100%). Тогда нижняя граница заполнения будет равна MIN = МАХ * COEF. А оптимумом будет являться диапазон чисел между МАХ и MIN. Требуется найти разбиение Множества Е на такие подмножества {Si, S2, ..., Sm}, чтобы сумма элементов в

каждом подмножестве Sk (SUMk = 2(eieSk), i=l...n) лежала в пределах оптимума, т-е. MIN * SUMk 5 МАХ, для Vk = 1 ... (m-1).

Описание алгоритма

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

Те блоки, которые оптимально заполнены, уже являются частью решения 3аДачи и не участвуют в дальнейшем процессе. Если поменять местами