- •1. Автоматизированное проектирование эвм
- •1.1. Этапы жизненного цикла промышленных изделий
- •1.2. Сапр эвм и их место среди других автоматизированных систем
- •1.3. Проектирование технического объекта
- •1.4. Этапы проектирования сложных систем
- •2. Общие сведения о сапр
- •2.1. Блочно-иерархический подход к проектированию
- •2.2. Классификация сапр
- •2.3. Структура сапр
- •2.4. Виды обеспечения сапр
- •3. Математическое обеспечение сапр
- •3.1. Требования к математическому обеспечению
- •3.2. Требования к математическим моделям
- •3.3. Классификация математических моделей
- •3.4. Формализация проектных задач
- •3.5. Математические методы описания моделей конструкций эвм
- •3.3.1. Понятия теории множеств
- •3.5.2. Элементы теории графов
- •3.5.3. Деревья
- •3.5.4. Способы задания графов
- •3.5.5. Характеристические числа графов
- •3.6. Математические модели электрических схем
- •Модель схемы в виде двудольного графа g(e, u, p)
- •Модель схемы в виде гиперграфа h(e, u)
- •Модель схемы в виде мультиграфа g(e, u)
- •4. Алгоритмы автоматизированного проектирования эвм
- •4.1. Основные свойства алгоритмов
- •4.2. Элементы теории сложности
- •5. Алгоритмы компоновки
- •5.1. Алгоритм покрытия
- •5.2. Последовательный алгоритм компоновки
- •5.3. Итерационный алгоритм компоновки
- •5.4. Смешанный алгоритм компоновки
- •6. Алгоритмы размещения элементов
- •6.1. Постановка задачи
- •6.2. Математическая модель задачи размещения
- •6.3. Метод ветвей и границ
- •6.4. Конструктивные алгоритмы начального размещения
- •6.5. Алгоритм обратного размещения
- •6.6. Итерационные алгоритмы улучшения начального размещения
- •6.7. Алгоритм групповых перестановок
- •6.8. Непрерывно-дискретные методы размещения
- •6.9. Размещение разногабаритных элементов
- •7. Алгоритмы трассировки межсоединений
- •7.1. Алгоритмы построения минимальных связывающих деревьев
- •7.1.1. Алгоритм Прима
- •7.1.2. Алгоритм Краскала
- •7.1.3. Кратчайшие пути
- •7.1.4. Задачи, близкие к задаче о кратчайшем пути
- •7.1.5. Алгоритм Франка – Фриша
- •7.1.6. Задача Штейнера
- •7.2. Алгоритмы раскраски графа
- •7.2.1. Алгоритм Вейссмана
- •7.2.2. Алгоритм, использующий упорядочивание вершин
- •Порядок проведения проводников
- •Трассировка соединений
- •Волновой алгоритм трассировки
- •7.4.2. Волновой алгоритм с кодированием по mod 3
- •7.4.3. Метод путевых координат
- •7.4.4. Метод Акерса
- •7.4.5. Оптимизация пути по нескольким параметрам
- •7.4.6. Методы повышения быстродействия волнового алгоритма
- •7.4.7. Многослойная трассировка
- •7.5. Лучевые алгоритмы трассировки
- •7.5.1. Алгоритм Абрайтиса
- •7.6. Канальные алгоритмы трассировки
- •7.7. Программа автоматической трассировки specctra
- •8. Графо-теоретический подход к синтезу топологии
- •Разбиение графа на планарные суграфы
- •8.1.1. Построение графа пересечений g’
- •8.1.2. Нахождение максимальных внутренне устойчивых множеств
- •8.1.3. Выделение из g' максимального двудольного подграфа h'
- •8.2. Нахождение гамильтонова цикла. Алгоритм Робертса-Флореса
- •Нахождение гамильтонова цикла
- •8.2.2. Построение графа пересечений g'
- •8.2.3. Построение семейства ψg '
- •9. Верификация. Основные понятия
- •9.1. Место верификации при проектировании вычислительных систем
- •9.2. Изоморфизм графов
- •10. Нахождение эйлерова цикла
- •10.1. Алгоритм Флери
- •10.2. Сравнение эйлеровых и гамильтоновых циклов
- •11. Эволюционные алгоритмы оптимизации
- •11.1. Генетические алгоритмы
- •11.2. Биоинспирированные методы в оптимизации
- •11.2.1. Муравьиные методы и алгоритмы
- •11.2.2. Пчелиные методы и алгоритмы
- •Заключение
- •Список литературы
- •Законы Мэрфи для программистов. Теория ошибок
- •Алгоритмы конструкторского проектирования эвм Учебное пособие по дисциплине «Конструкторско-технологическое обеспечение производства эвм»
6.4. Конструктивные алгоритмы начального размещения
Характерной особенностью этого класса алгоритмов является то, что они создают размещение.
Среди конструктивных алгоритмов размещения выделяют последовательные и параллельно-последовательные алгоритмы.
Наиболее представительная группа конструктивных алгоритмов – алгоритмы последовательного размещения.
Рассмотрим алгоритм последовательного размещения по связности.
Вводится n - шаговый процесс принятия решений, на каждом шаге которого выбирается один из неразмещенных элементов и помещается в одну из незанятых позиций.
Структура любого последовательного алгоритма размещения определяется правилами выбора очередного элемента и позиции для его установки.
Пусть, Ek - элементы, размещенные за k шагов алгоритма, а Pk - позиции, занятые этими элементами.
Для каждого неразмещенного элемента eiEk подсчитывается характеристика
Очередным размещенным элементом является элемент, имеющий максимальную характеристику Ci, т.е. выбор элемента осуществляется по наибольшему числу связей с уже размещенными элементами.
Позиция-кандидат для установки ei выбирается с учетом связности ei с уже размещенными элементами.
Для каждой свободной позиции pt вычисляется характеристика
Выбирается та из позиций, для которой Ft минимальна.
Для экономии вычислений всегда целесообразно рассматривать не все множество позиций ptPk , а лишь часть, находящихся на периферии множества Pk незанятых позиций.
В любом последовательном алгоритме размещения особо оговаривается правило размещения первого элемента. Первым размещается элемент, входящий в максимальное число цепей. Он помещается в центр коммутационного поля.
Достоинством последовательных алгоритмов является быстродействие.
Недостатком является последовательный характер, оптимизируется только размещение элемента-кандидата.
Для оптимизации размещения используются итерационные алгоритмы.
6.5. Алгоритм обратного размещения
Алгоритм обратного размещения принадлежит группе алгоритмов параллельно-последовательного размещения.
В методе обратного размещения осуществляются предварительные оценки каждого из размещаемых элементов и каждой свободной позиции, после чего все элементы размещаются одновременно.
Даны: матрица соединений R и матрица расстояний D.
Для каждого элемента ei найдем суммарное число соединений с другими элементами
Для каждой позиции pi найдем суммарное расстояние до остальных позиций
Очевидно, что позиции в центральной части коммутационного поля имеют меньшую характеристику di, чем позиции на периферии. Естественно, что центральные позиции наиболее благоприятны для размещения сильно связанных элементов.
Учитывая условия минимальности скалярного произведения r×d, получим следующий алгоритм:
1. Упорядочить элементы ei в порядке неубывания ri;
2. Упорядочить позиции pi в порядке невозрастания di;
3. i-ый элемент из упорядоченного списка элементов помещается в i-ую позицию из упорядоченного списка позиций.
Достоинство алгоритма – простота. Он может быть использован даже при ручном проектировании.
Недостаток – неоптимальность размещения.
П
ример.
Разместить элементы, заданные взвешенным
графом G
(рис. 6.6 (а))
на
множестве позиций Р
(рис.
6.6 (б)).
Рисунок 6.6. Взвешенный граф G (а) и множество позиций Р (б)
Составим матрицы соединений R и расстояний D.
Упорядочим элементы ei в порядке неубывания ri {e5, e4, e3, e6, e2, e1}.
Упорядочим позиции pi в порядке невозрастания di {p1, p3, p4, p6, p2, p5}.
Размещаем элементы в соответствии с упорядоченными списками (рис. 6.7).
Рисунок 6.7. Результат размещения
Значение целевой функции для полученного размещения F(р)=36. Низкое качество размещения объясняется, прежде всего, небольшим количеством позиций, четыре позиции из шести имеют одинаковую характеристику di. Но этим можно воспользоваться для улучшения размещения. Можно менять позиции вершин, помещенные в равноценные позиции. Так, можно переставить вершины e4 и e6 (рис. 6.8 (а)). Целевая функция нового размещения F(р)=24. У оптимального размещения (рис. 6.8 (б)) значение целевой функции F(р)=22.
a
Рисунок 6.8. Улучшенное (а) и оптимальное (б) размещения
