Материал: Алгоритм парных перестановок для решения задач оптимизации компоновки и размещения элементов РЭС. Муратов А.В., Скоробогатов В.С

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

46

Каждая пара модулей согласно электрической схемы имеет между собой Sij

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

 

 

 

 

 

Н А Ч А Л О

1

 

 

Ввод матрицы соединений, координат

 

 

 

 

начального размещения модулей

 

 

 

 

 

 

 

 

2

 

Вычисление суммарной длины соединений

 

 

 

 

 

начального размещения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

Вычисление матрицы Wij для

 

 

 

 

 

всех пар модулей

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

Поиск максимального элемента матрицы ( Wij)max

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

5

( Wij)max 0

Нет

6 Перестановка местами i-го и j-го модулей

7

Вычисление суммарной длины соединений для

оптимального размещения

 

47

Расстояние между двумя позициями или двумя модулями, установленными в эти позиции, будем определять по одной из следующих формул:

 

l

 

(x

x

)2

(y

y

)2

;

(4.1)

 

ij

 

i

j

 

i

j

 

 

 

 

 

lij*

| xi

x j |

| yi - y j | ,

 

(4.2)

где li j и

l*i j -

расстояние между

 

i-й

 

и j-й позициями или между

модулями, установленными в эти позиции;

 

 

 

 

 

xi , yi - координаты

i-й

позиции;

 

 

 

 

 

xj , yj - координаты

j-й позиции;

 

 

 

 

 

Исходными

данными

для

решения задачи

 

будут: матрица соединений,

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

позицию, а j-й модуль - в j- ю позицию, то можно считать, что исходными данными

будут: матрица соединений и координаты модулей при начальном размещении.

Суммарная длина соединений i-го модуля, стоящего в i-й позиции, со всеми

остальными выразится формулой

N

 

 

 

Wi

Si k li k ,

i k.

(4.3)

k

1

 

 

Тогда полная суммарная длина соединений всех модулей в исходном состоянии выразится формулой

 

 

 

 

 

 

48

 

 

 

1

N N

 

 

 

 

Wo

 

Sij ij,

i j,

(4.4)

 

 

 

 

 

 

2 i=1 j 1

 

 

где

li j

- расстояние между i- м

 

и j- м модулями,

 

 

 

Si j

- количество связей между ними.

 

 

В

формуле 4.4 перед суммой

ставится коэффициент

1/2, так

как при

суммировании длина связей между i-м и j-м модулями складывается дважды: один раз как

длина связей между i-м и j-м, а второй раз как

длина связей между j -м и i-м модулями.

Фактически же эта длина должна учитываться только один раз. Чтобы

избавиться от

этого коэффициента и от условия i j формулу 4.4.a можно записать в виде:

 

N-1

N

 

Wo

Sij ij.

(4.4.a)

i=1

j i 1

 

Подставив в формулы 4.4 и 4.4.а вместо lij их выражения из

(4.1) и (4.2), получим

 

 

 

 

1 N N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W

o

 

 

S

ij

 

 

(x

i

 

 

 

x

 

j

)2

 

( y

i

 

y

j

)2 , i j .

(4.5)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 i 1 j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N-1

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Wo

 

 

 

 

Sij

 

 

(xi

 

 

xj)2

(yi

yj)2 .

(4.5.а)

 

 

 

 

 

 

 

i=1

j

i

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W *

 

 

1 N

N

S

 

 

(| x

 

 

 

x

 

 

|

| y

 

 

y

 

|) , i

 

 

j .

(4.6)

 

 

 

 

 

 

 

ij

i

 

 

j

 

i

 

j

 

 

 

 

o

 

 

 

2 i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N-1

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Wo

 

 

 

 

 

Sij (

 

xi

xj

 

 

yi

 

yj

) .

(4.6.а)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

j

i

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После перестановки i-го модуля в j-ю позицию, а j-го модуля в i-ю позицию суммарная длина всех соединений изменится на величину

 

 

Wi j =W0

Wi j ,

 

где Wi

j - суммарная длина всех соединений после перестановки местами i-го и

j-го модулей.

 

 

 

 

Если

Wij

0, то перестановка

целесообразна. Если же

Wi j 0 , то

нецелесообразна, т.к. не уменьшает W0 .

49

При перестановке местами i-го и j-го модулей суммарная длина W0 меняется на

величину, равную изменению длины связей переставляемых модулей с остальными, а

непереставляемые модули на

Wi

j не влияют. Поэтому запишем

 

W

j

(W

W

j

)

(W 1

W 1 ) ,

(4.7)

i

i

 

 

i

j

 

где Wi - суммарная длина соединений i-го модуля, стоящего в i-й позиции, со всеми остальными до перестановки;

W j -суммарная длина соединений j-го модуля, стоящего в j-й позиции, со всеми

остальными до перестановки;

W1 - суммарная длина соединений i-го модуля, переставленного в j-ю позицию,

i

 

 

 

 

 

 

 

 

 

со всеми остальными;

 

 

 

 

 

 

 

 

 

W1j - суммарная длина соединений j-го модуля , переставленного в i-ю позицию,

со всеми остальными.

 

 

 

 

 

 

 

 

 

Аналогично формуле (4.3) , записанной для Wi , запишем

 

 

N

 

 

 

 

 

 

 

 

W j

 

S j k

l j k ,

 

k

j .

(4.8)

 

k

1

 

 

 

 

 

 

 

W 1

N

 

 

 

 

 

 

 

 

S

i k

l

j k

,

к

j .

(4.9)

i

 

 

 

 

 

 

 

 

k

1

 

 

 

 

 

 

 

W 1j

N

 

 

 

 

 

 

 

 

S j k

li k ,

к

j .

(4.10)

 

k

1

 

 

 

 

 

 

 

Подставив значения Wi , Wj , Wi‘ и Wj‘ , определяемые соответственно формулами (4.3), (4.8), (4.9) и (4.10), в формулу (4.7), получим

N

N

N

N

Wi j (

Si k li k

S j k l j k ) (

Si k l j k

S j k li k )

k

1

k 1

k 1

k 1

N

 

 

 

 

 

[(Si k li k

S j k l j k ) (Si k l j k S j k li k )]

k

1

 

 

 

50

N

Si k (li k l j k ) S j k (l j k li k )

k1

Апосле преобразования получим

 

N

 

Wij

(Sik Sjk)( ik - jk) ,

где к i, к j, i j. (4.11)

 

k=1

 

Получив формулу (4.11) для определения значений

Wij , используем ее в блок-

схеме алгоритма оптимального размещения модулей (рис. 4.2). Особенностью алгоритма

является то, что вычисление Wij производится для всех пар модулей

( блок № 3 ), далее

из всех значений

Wi j выбирается максимальное значение ( блок № 4 ) и , если это

максимальное значение положительно, то соответствующие

i-й

и j-й

модули

переставляются

местами (блоки № 5 и № 6). Как показывают статистические данные,

алгоритм оптимального размещения с выбором максимального положительного значения

Wi j дает более глубокую оптимизацию по сравнению с алгоритмом, в котором перестановка модулей производится при первом появившемся положительном значении

Wi j .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставив в

эту

формулу

вместо

 

lik и ljk

их выражения

 

из

(4.1)

и (4.2),

получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x )2

 

 

 

 

 

)2

 

 

 

 

x )2

 

 

 

 

 

)2 .

 

 

W

(S

ik

S

jk

)( (x

 

( y

y

k

 

 

(x

j

( y

j

y

k

 

(4.12)

ij

 

 

 

 

i

 

k

 

i

 

 

 

 

 

k

 

 

 

 

 

 

 

 

k

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W

 

 

 

(S

ik

S

jk

) (| x

i

 

x

k

|

 

| y

i

y

k

|

 

 

 

 

 

 

 

 

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

x j

 

xk |

|

y j

 

yk

 

 

|)

 

 

i

j

 

k ,

 

 

 

 

 

 

(4.13)

Таким образом получили формулу для

определения

 

Wi

j

 

при

оптимизации

размещения модулей, расположенных на прямоугольном

 

или на

каком-либо

другом

по форме коммутационном поле.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Используя полученные формулы (4.6) и (4.13), по блок-схеме алгоритма,

аналогичной приведенной

 

на рис. 4.2, была составлена

 

программа

решения

задачи

оптимизации размещения модулей, расположенных на коммутационном поле.

 

В качестве примера рассмотрим

вариант схемы

 

рис. 4.5,

в

котором цифра у

линии соединения показывает число связей между соответствующей парой модулей, а их координаты при начальном размещении следующие : модуль А1 имеет координаты (1,3), А2 – (3,4), А3 – (3,1), А4 – (1,1). Схему соединений удобно представлять в виде

Источник: https://studfile.net/preview/16565529/