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). Схему соединений удобно представлять в виде