Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
САПР.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
665.6 Кб
Скачать

Глава 2. Алгоритмы и модели размещения.

2.1.Задача размещения элементов схемы в линейку с использованием графа схемы (последовательный алгоритм размещения).

Исходные данные:

задан граф G=(X,U) в виде матрицы смежности (рис. 1)

рис. 1. Матрица R.

Задача: Разместить элементы в линейку с заданным критерием оптимальности.

Критерий оптимальности: минимум общей суммарной длины соединений между размещаемыми элементами.

В САПР часто графы представляют в виде координатной решетки. На прямоугольную конструкцию (ячейка, кристалл, панель) накладывается, декартова система координат с осями S, t , определяющая граф Gr, представляющий собой координатную решетку.

Задача размещения сводится теперь к отображению заданного графа G=(X,U) в решетку Gr=(Xr,Ur).

1 шаг. Разместить элементы произвольным образом в узлах решетки.

t

2

1

S

0 1 2 3

рис.2. граф Gr.

Хr - множество вершин размещается в узлах решеток.

Ur - множество ребер соответствует горизонтальным и вертикальным отрезкам, соединяющим узлы решетки.

Расстояние между смежными вершинами называется шагом решетки. В нашем случае шаг решетки принимается равным 1.

2 шаг Необходимо определить расстояние между двумя произвольными вершинами.

Расстоянием d(xi,xj) между вершинами Xi и Xj графа Gr=(Xr,Ur) называется длина кратчайшей цепи, соединяющей эти вершины.

Под длиной цепи подразумевается число входящих в нее ребер.

Функцию расстояний для графа удобно задавать матрицей расстояний

D=//dij//n*n.

Расстояние между двумя произвольными вершинами можно определить по формуле:

dij = / Si - Sj / + / ti - tj / (ф.1).

Sij; tij - координаты вершин Xi,XjєXr.

Обычно задаются размеры решетки p*q (p - количество узлов решетки по оси S; q - количество узлов решетки по оси t.)

Например:

d1,9 = /S1-S9/ + /t1-t9/ = /0-2/ + /0-2/ = 4

d1,8 = /S1-S8/ + /t1-t8/ = /0-1/ + /0-2/ = 3

и.т.д.

В результате расчетов получаем матрицу D (рис.3)

рис. 3.Матрица D.

3 Шаг Составляем матрицу геометрий .

Матрица геометрий - это матрица смежности R, отображенная на координатную решетку. Элементы получаются путем поэлементного перемножения:

dγij=rij×dij

В результате получаем (рис. 4)

рис. 4 рис.5

4 шаг По матрице геометрии определяем суммарное значение связей каждого элемента с остальными Σdij.

Например: для элемента Xl суммарное значение связей

X1= d1,3+d1,2+d1,4+d1,5+d1,6+d1,7+d1,8+d1,9 = 3.

для элемента

X6 = d6,1(3)+d6,2(2)+d6.3(0)+d6,4(2)+d6,5(l)+d6,7(0)+d6,8(0)+d6,9(0) = 8

и т. д.

(рис.5)

Из полученного ряда значений выбирается элемент с минимальным значением связей X1 и устанавливается на первое посадочное место Р1 в линейке (рис.6)

5шаг Преобразуем матрицу , исключив первую строку, а элементы первого столбца вычитаются из предыдущего суммарного значения связей Σdij.

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

Например: для Х6 Σdij = Σdij(8) - d6,1(3) = 5

Х2 Σdij = Σdij(11) - d2,1(0) = 11

и.т.д.

Из полученного ряда значений выбираем элемент с min Σdij и устанавливаем на 2-ое посадочное место Р2. Это элемент Х5. (рис 6.)

6 шаг Далее преобразуется матрица , исключив элемент Х5 (аналогично шагу 5).

На третьем месте закрепляется элемент Х7, т.к. Σdij на данном шаге для X7 - min и равен 3.

Далее вычисление ведется аналогично шагам 5, 6 до размещения всех элементов.

Окончательное размещение в линейку будет следующим:

рис.6.