ОПТИМИЗАЦИЯ ПРОИЗВОЛЬНОГО РАЗМЕЩЕНИЯ ГРАФА В КООРДИНАТНОЙ РЕШЁТКЕ С ИСПОЛЬЗОВАНИЕМ ГРУППОВЫХ ПЕРЕСТАНОВОК

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

А.С. Шандриков

Витебский государственный политехнический колледж учреждения образования «Витебский государственный политехнический колледж»

ОПТИМИЗАЦИЯ ПРОИЗВОЛЬНОГО РАЗМЕЩЕНИЯ ГРАФА В КООРДИНАТНОЙ РЕШЁТКЕ С ИСПОЛЬЗОВАНИЕМ ГРУППОВЫХ ПЕРЕСТАНОВОК

Описываемый в данной статье итерационный алгоритм используется для оптимизации первоначального произвольного размещения графа с целью уменьшения суммарной длины связей. Суть алгоритма в следующем.

Для любой пары вершин xi и xj, занимающих текущие позиции di и dj соответственно, по матрице смежностиR и матрице расстояний D можно подсчитать суммарную длину их связей

(1)

где и – длина связей вершиныxi с вершиной xm и вершины xj с вершиной xn соответственно;

– длина связей между вершинами xi и xj.

Если выполнить перестановку этой пары вершин, то вершина xi переместится в позицию dj, а вершина xj – в позицию di. В этом случае суммарная длина их связей

(2)

Изменение суммарной длины связей вершин xi и xj определяется по формуле

(3)

Отрицательное значение означает уменьшение суммарной длины связей.

Работа алгоритма производится циклически. В течение одного цикла:

1) по формуле (3) вычисляются величины приращений суммарной длины связей для всех возможных парных перестановок и строится матрица приращений;

2) из множества пар вершин, перестановка которых даст отрицательные приращения суммарной длины связей, выделяется некоторое подмножество, которое должно удовлетворять следующим условиям [1]:

2.1) выбранное подмножество перестановок максимально уменьшает суммарную длину связей;

2.2) любая вершина может менять свою позицию только один раз;

2.3) выбранное подмножество пар вершин не должно иметь связей с другими парами.

Несоблюдение условий 2.2 и 2.3 (особенно 2.3) может ухудшить результат размещения по сравнению с первоначальным на любой итерации.

Алгоритм реализации описанного метода содержит следующие шаги:

Шаг 1. Построить матрицу расстояний D=||dij||, исходя из заданных параметров решетки. Перейти на шаг 2.

Шаг 2. Построить матрицу смежности R=||rij|| графа G=(X,U). Перейти на шаг 3.

Шаг 3. Вычислить матрицу приращений ΔL=||Δlij||n по формуле (3). Перейти на шаг 4.

Шаг 4. Проверить наличие в матрице приращений отрицательных элементов. Если отрицательные элементы обнаружены, то перейти на шаг 5, в противном случае – на шаг 7.

Шаг 5. По отрицательным элементам матрицы приращений выбрать подмножества парных перестановок. При этом вершины одного подмножества (пары) не должны иметь связей с вершинами из любого другого подмножества. Перейти на шаг 6.

Шаг 6. Переставить в матрице смежности R строки и столбцы, соответствующие выбранным вершинам подмножеств. Перейти на шаг 3.

Шаг 7. Вывод результатов размещения. Перейти на шаг 8.

Шаг 8. Конец работы алгоритма.

Работу алгоритма рассмотрим на примере.

Рис. 1

Пример. На рис 1 представлено произвольное размещение графа G=(X,U) в решетку Gr= 4х3. Вершины x1,x2,…,x12 занимают позиции d1,d2, …, d12 соответственно. Задача: оптимизировать размещение графа с целью минимизации суммарной длины связей.

Решение

Построить матрицу расстояний для решетки Gr= 4x3.

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

x11

x12

ρ(xi)

x1

0

0

0

0

0

0

2

0

2

0

1

0

5

x2

0

0

0

0

0

0

0

0

0

1

0

1

2

x3

0

0

0

1

2

0

0

1

1

0

0

0

5

x4

0

0

1

0

0

1

0

2

1

0

0

0

5

x5

0

0

2

0

0

0

2

1

0

0

1

0

6

R =

x6

0

0

0

1

0

0

0

1

0

0

0

0

2

(4)

x7

2

0

0

0

2

0

0

0

1

1

0

0

6

x8

0

0

1

2

1

1

0

0

0

0

0

1

6

x9

2

0

1

1

0

0

1

0

0

0

0

0

5

x10

0

1

0

0

0

0

1

0

0

0

0

1

3

x11

1

0

0

0

1

0

0

0

0

0

0

3

5

x12

0

1

0

0

0

0

0

1

0

1

3

0

6

Вычислить матрицу приращений суммарной длины связей по формуле (3). Матрица приращений имеет вид:

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

x11

x12

(5)

L=

x1

0

1

-4

6

-3

-4

-3

4

-6

-4

6

7

x2

0

-1

0

-4

-2

-6

0

-11

0

1

8

x3

0

2

-3

-6

-1

2

-4

-2

4

3

x4

0

-6

-1

4

1

6

0

2

6

x5

0

-4

-14

4

-1

0

1

2

x6

0

-8

2

-2

1

2

-2

x7

0

6

-9

-2

3

6

x8

0

6

5

4

8

x9

0

2

0

5

x10

0

0

2

x11

0

1

x12

0

В матрице приращений (5) выбрать максимальный отрицательный элемент. Таким элементом является элемент Δl(x5,x7). Вершины x5, и x7 образуют первое подмножество переставляемых вершин. Из всех остальных 25 отрицательных перестановок только элемент Δl(x2,x6) определяет подмножество {x2,x6}, у которого ни одна из вершин не связана ни с вершиной x5, ни с вершиной x7 первого подмножества. Парная перестановка вершин x2 и x6 и вершин x5 и x7 позволит уменьшить суммарную длину связей графа на 16 единиц.

Поменять местами x2 и x6 строки и столбцы и x5 и x7 строки и столбцы матрицы смежности. Матрица смежности примет вид.

x1

x6

x3

x4

x7

x2

x5

x8

x9

x10

x11

x12

(6)

R(1)

=

x1

0

0

0

0

2

0

0

0

2

0

1

0

x6

0

0

0

1

0

0

0

1

0

0

0

0

x3

0

0

0

1

0

0

2

1

1

0

0

0

x4

0

1

1

0

0

0

0

2

1

0

0

0

x7

2

0

0

0

0

0

2

0

1

1

0

0

x2

0

0

0

0

0

0

0

0

0

1

0

1

x5

0

0

2

0

2

0

0

1

0

0

1

0

x8

0

1

1

2

0

0

1

0

0

0

0

1

x9

2

0

1

1

1

0

0

0

0

0

0

0

x10

0

0

0

0

1

1

0

0

0

0

0

1

x11

1

0

0

0

0

0

1

0

0

0

0

3

x12

0

0

0

0

0

1

0

1

0

1

3

0

Размещение графа после выполненных перестановок показано на рис.2.

Рис. 2

Вычислить матрицу приращений для размещения, представленного на рисунке 2.

x1

x6

x3

x4

x7

x2

x5

x8

x9

x10

x11

x12

L(1)=

x1

0

5

12

14

1

2

7

14

-6

0

18

17

x6

0

1

0

4

2

2

4

-3

4

7

4

x3

0

2

7

2

3

0

8

6

4

5

x4

0

12

1

4

1

12

6

4

10

x7

0

2

14

18

-1

6

11

16

(7)

x2

0

2

4

-4

-1

2

4

x5

0

6

5

6

7

6

x8

0

14

9

4

8

x9

0

2

8

9

x10

0

4

4

x11

0

1

x12

0

Рис. 3

В матрице приращений (7) максимальным отрицательным элементом является элемент Δl(x1,x9), определяющий первое подмножество {x1,x9} переставляемых вершин. Подмножество{x2,x10} единственное из четырёх оставшихся, которое не имеет связей с первым.
Размещение графа после выполненных перестановок показано на рис. 3.

Поменять местами x1иx9 строки и столбцы и x2 и x10 строки и столбцы матрицы смежностиR(1).

Вычислить матрицу приращений суммарной длины связей для размещения, представленного на рис. 3.

x9

x6

x3

x4

x7

x10

x5

x8

x1

x2

x11

x12

(7)

L(2)=

x9

0

3

12

14

5

4

7

12

6

5

16

17

x6

0

1

0

6

3

2

4

5

4

11

4

x3

0

2

11

6

5

2

14

9

12

9

x4

0

16

6

6

3

18

8

12

14

x7

0

3

14

18

3

4

13

16

x10

0

3

6

0

1

6

7

x5

0

6

11

6

9

6

x8

0

22

8

6

8

x1

0

5

16

15

x2

0

3

2

x11

0

1

x12

0

В матрице приращений нет отрицательных элементов, следовательно, размещение, представленное на рис. 3 оптимизировать данным алгоритмом нельзя.

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

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

В первом случае разобьем множество Х графа G на n классов х1, х2, …, хn и отнесем в них вершины, лежащие в строках решетки внутри области размещения. В каждом классе выделим внутренние и внешние соединительные ребра. Заменим класс xiодной вершиной C1. В результате будет получен линейно расположенный мультиграф.

Рис. 4

Факторизация размещенного в решетке графа (рис. 3) по строкам представлена на рис. 4. Класс X1= {x9,x6,x3,x4} заменим вершиной С1, класс X2= {x7,x10,x5,x8} – вершиной С2, а класс X3= {x1,x2,x11,x12} заменим вершиной С3.

Матрица смежности линейного мультиграфа

R=

C1

C2

C3

C1

0

7

2

C2

7

0

6

(8)

C3

2

6

0

Матрица расстояний

D =

C1

C2

C3

C1

0

1

2

C2

1

0

1

(9)

C3

2

1

0

Матрица приращений суммарной длины соединений

C1

C2

C3

C1

0

4

0

C2

0

5

(10)

C3

0

Для факторизации по столбцам множество вершин Х графа G разобьём на m = 4 класса, и каждый класс заменим вершиной Сi. Соответствие вершин С и классов:

С1: Х1={х9, х7, х1}; С2: Х2={х6, х10, х2}; С3: Х3={х3, х5, х11}; С4: Х4={х4, х8, х12}

Факторизация размещенного в решетке графа (3) по столбцам представлена на рис. 5.

Рис. 5

Матрица смежности линейного мультиграфа

R =

C1

C2

C3

C4

C1

0

1

4

1

C2

1

0

0

4

(11)

C3

4

0

0

6

C4

1

4

6

0

Матрица расстояний графа

D =

C1

C2

C3

C4

C1

0

1

2

3

C2

1

0

1

2

(12)

C3

2

1

0

1

C4

3

2

1

0

Матрица приращений суммарной длины соединений

L =

C1

C2

C3

C4

C1

0

-1

10

-1

C2

0

-1

0

(13)

C3

0

-1

C4

0

В матрице (13) четыре элемента имеют одинаковые отрицательные значения:Δl(c1,c2),Δl(c1,c4),Δl (c2,c3),Δl (c3,c4). Выбираем элемент с наименьшим индексомΔl (c1,c2) и меняем местами классы c1 и c2.

Матрица смежности после перестановок c1 и c2 строк и столбцов:

C2

C1

C3

C4

C2

0

1

0

4

C1

1

0

4

1

(14)

C3

0

4

0

6

C4

4

1

6

0

Матрица приращений суммарной длины соединений:

C2

C1

C3

C4

C2

0

1

4

6

C1

0

6

-6

(15)

C3

0

-1

C4

0

По результатам вычислений в матрице смежности R(1) (15) следует поменять местами c1 и c4 строки и столбцы. Получим:

C2

C4

C3

C1

C2

0

4

0

1

C4

4

0

6

1

(16)

C3

0

6

0

4

C1

1

1

4

0

Матрица приращений суммарной длины соединений:

C2

C4

C3

C1

C2

0

6

6

7

C4

0

7

6

(17)

C3

0

4

C1

0

В матрице приращений (17) нет ни одного отрицательного элемента, следовательно, факторизация графа по столбцам закончена. Полученное отображение графа в решетку представлено на рис. 6.

Рис. 6

Рис. 7

Примечание: в процессе реализации описанного метода вершина х2 переставлялась дважды: на первой итерации в паре с вершиной х6, и на второй итерации в паре с вершиной х10. Если бы при решении задачи была бы принято во внимание условие 2.2, указанное в [1], то от повторной перестановки вершины х2 на второй итерации следовало бы отказаться и тогда результат размещения был бы не таким оптимальным (рис. 7). Суммарная длина соединений была бы на единицу больше.

Литература

1.Конструирование и технология печатных плат [Текст] / А.Т. Жигалов [и др.] – Москва : Высш. шк., 1973 – С. 57-61.

2.Шандриков, А.С. Оптимизация начального размещения графа в координатной решётке методом групповых перестановок [Текст] / А.С. Шандриков // Успешен тот, кто творит:XIII открытая международная научно-практическая конференции учащихся, студентов и преподавателей учреждений среднего специального образования. / Брестский государственный технический колледж. – Брест : 2020. – С. 1-4.

Комментировать
Свидетельство участника экспертной комиссии
Оставляйте комментарии к работам коллег и получите документ бесплатно!
Подробнее
Также Вас может заинтересовать
Научная статья
Дошкольное образование по научные статьи для ««Семья и традиционные семейные ценности»»
Научная статья
Дошкольное образование по научные статьи для высшей школы «Ежедневное планирование в средней группе»
Научная статья
Дошкольное образование по научные статьи для «Наставничество в детском саду»
Научная статья
Дошкольное образование по научные статьи для «Рабочая программа для средней группы»
Научная статья
Дошкольное образование по научные статьи для «Исcледовательскo – творческий проект «Светофор — наш друг »»
Комментарии
Добавить
публикацию
После добавления публикации на сайт, в личном кабинете вы сможете скачать бесплатно свидетельство и справку о публикации в СМИ.
Cвидетельство о публикации сразу
Получите свидетельство бесплатно сразу после добавления публикации.
Подробнее
Свидетельство за распространение педагогического опыта
Опубликует не менее 15 материалов и скачайте бесплатно.
Подробнее
Рецензия на методическую разработку
Опубликуйте материал и скачайте рецензию бесплатно.
Подробнее
Свидетельство участника экспертной комиссии
Стать экспертом и скачать свидетельство бесплатно.
Подробнее
Помощь