Секция систем автоматического управления
Определяем целевую функцию:
Е(А)а (изеёТгаек(А)+2)*С+Т(йаГУ'ег^8е0(А),
где С - число контактов; функция Шес1Тгаск:(А) возвращает число магистралей, занимаемых каналом, полученным при восстановлении из хромосомы А, а функция Т^а1¥е11;Зе§(А) возвращает длину вертикальных сегментов цепей в полученном решении. Длина вертикальных сегментов цепи определяется как расстояние между контактами и переходными отверстиями, которые соединяют вертикальные и горизонтальные сегменты. Например, для канала на рис.1 число занятых магистралей равно 4, длина вертикальных сегментов равна 22.
Данная методика определения целевой функции направлена на минимизацию, в первую очередь, ширины канала и во вторую - суммарной длины соединений.
После процесса селекции все хромосомы разбиваются по парам, и затем применяется операция кроссинговера с вероятностью Рс к каждой паре хромосом.
Мутация произвольно изменяет один ген выбранной хромосомы, при помощи случайного изменения с вероятностью Рм, равной норме мутации.
Для иллюстрации обоснованности нашего подхода к решению задачи канальной трассировки, описанного в предыдущих разделах, алгоритм
реализовали на языке Си++ для 1ВМ РС. Установки управляющих параметров были найдены эмпирически. Размер популяции М был выбран равным 50. Мы установили значение вероятности кроссинговера Рс равным 1. Была выбрана относительно высокая вероятность мутации Р]у[ 0.1, так как мутация в нашем случае вносит очень небольшие изменения в хромосому. Была применена "элитная" селекция, т.е. из популяции, полученной после проведения операций кроссинговера и мутации, выбирается М особей с наименьшим значением целевой функции. На стандартном потоке задач алгоритм показал высокое качество полученных решений. В первых пяти поколениях во всех случаях было получено решение с минимально возможным числом занятых магистралей. А после двадцати поколений отклонение от оптимального результата по длине соединений составило менее 1%.
В этой статье мы исследовали применение нашего генетического алгоритма к задаче канальной трассировки в классической постановке. Результаты экспериментов показали, что данный алгоритм позволяет получать решения, близкие к оптимальным, за достаточно малое время.
УДК 659.512.2.011.5
В.Н. Давиденко
ПРИМЕНЕНИЕ ОПЕРАЦИИ МУТАЦИИ В ГЕНЕТИЧЕСКИХ АЛГОРИТМАХ КАНАЛЬНОЙ ТРАССИРОВКИ
Канальная трассировка - это один из этапов топологического проектирования СБИС. Задача канальной трассировки - это трассировка точно установленного списка цепей между двумя линейками контактов вдоль двухслойного канала. В каналах горизонтальные сегменты цепей
Известия ТРТУ
Специальный выпуск
проводятся в первом слое, а вертикальные - во втором. Соединения между слоями делаются с помощью переходных отверстий. Для решения задачи канальной трассировки нами был использован генетический алгоритм. Задача решается в классической постановке. Канал имеет прямоугольную форму с системой однонаправленных магистралей, на верхней и нижней сторонах канала располагаются линейки контактов, изломы не допускаются.
Для решения данной задачи был разработан генетический алгоритм. В начале работы алгоритма формируется популяция хромосом. Каждая хромосома представляет собой бинарную строку фиксированной длины. Каждый ген хромосомы задает взаимное расположение двух цепей. Затем в процессе работы алгоритма к популяции применяются стандартные генетические операции кроссинговера и мутации, после чего производится селекция. Была выбрана элитная селекция и двухточечный кроссинговер. В качестве оператора мутации можно было произвольно применять точечную мутацию, мутацию обмена и многоточечную мутацию.
На основе данного алгоритма была разработана программа на языке Си++ для ПЭВМ 1ВМ РС. Был проведен сравнительный анализ качества решений, получаемых при применении операций точечной мутации, мутации обмена и многоточечной мутации. Эксперименты, проведенные со стандартным потоком задач, показали, что более высокое качество решений было получено в случае применения многоточечной мутации.