Итерационный алгоритм парных перестановок элементов

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

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

Пусть задано некоторое разбиение множества элементов схемы Х={х1, х2,…, хn} на узлы T1, T2, …,Tγ. Схема описана с помощью матрицы R (матрицы соединений или смежности) R=||rij||nxn.

Рассмотрим итерацию между двумя узлами (T1, T2). Строим перестановочную матрицу W для этой пары узлов. Строки матрицы – элементы одного узла. Столбцы матрицы – элементы второго узла. Элемент матрицы W (wij) отражает изменение количества межузловых соединений при обмене местами элементов xiÎT1, xjÎT2. wij находится по формуле

wij = αi + αj -2 rij, (5.4.1.1)

rij – элемент матрицы смежности R;

αi и αj - характеристические числа элементов хi и хj (количество внешних связей минус количество внутренних связей данного элемента с элементами того же узла).

 
 


Рис.5.4.1.1

αi = Li2 - Fi1; αj -= Lj1 - Fj2; (5.4.1.2)

Li2 - число связей между xi и элементами узла T2 (внешние связи),

Lj1 - число связей между xj и элементами узла T1 (внешние связи):

L i2 = ∑ ri2, L j1 = ∑ rj1, (5.4.1.3)

x2ÎT2 x1ÎT1

Fi1 - число связей между xi и элементами узла T1 (внутренние связи),

Fj2 - число связей между xj и элементами узла T2 (внутренние связи):

Fi1 = ∑ ri1, Fj2 = ∑ rj2. (5.4.1.4)

x1ÎT1 x2ÎT2

Если в перестановочной матрице W оказалось число больше нуля, то элементы меняют местами. В результате обмена пары элементов образуется новый вариант разбиения. Зафиксировав положение переставленных элементов, строим новую перестановочную матрицу W, т. е. повторяем процесс итерации для другой пары элементов. Процесс обмена заканчивается, когда в перестановочной матрице W все значения будут отрицательными. Переходят к рассмотрению другой пары узлов. Просмотр всех пар узлов – большая итерация.

Если была результативна одна малая итерация, то проводят новую большую итерацию. Для окончания итерационного процесса при исполнении алгоритма на ЭВМ применяют различные критерии (например, число итераций).

Пример Дана матрица смежности

  x1 x2 x3 x4 x5 x6 x7
x1 0 0 0 0 1 0 2
R = x2 0 0 2 0 3 0 0
x3 0 2 0 1 0 0 1
x4 0 0 1 0 0 2 1
x5 1 3 0 0 0 0 0
x6 0 0 0 2 0 0 1
x7 2 0 1 1 0 1 0

 
 


Рис. 5.4.1.2

Строим перестановочную матрицу W для узлов T1 и T2.

  x2 x3
x1 -2 -4
W1 = x5 -3 1
x7 0 -4

w12 = (0-3)+(3-2)-2*0= -2 w52 = (3-1)+(3-2)-2*3= -3

w13 = (0-3)+(1-2)-2*0= -4 w53 = (3-1)+(1-2)-2*3= 1

w72 = (1-2)+(3-2)-2*0= 0 w73 = (1-2)+(1-2)-2*1= -4

Меняем местами элементы x5и x3.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: