Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1530

.pdf
Скачиваний:
8
Добавлен:
30.04.2022
Размер:
1.32 Mб
Скачать

31

10

0

0

0

0

0

0

0

0

3

0

4

0

 

 

 

 

 

 

 

 

 

 

 

 

 

11

0

0

0

2

0

2

0

0

0

4

0

4

 

 

 

 

 

 

 

 

 

 

 

 

 

12

0

0

0

0

0

3

0

0

0

0

4

0

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Блок 1

1

3

4

6

8

11

 

 

 

 

 

 

 

Блок 2

2

5

7

9

10

12

 

 

 

 

 

 

 

число соединений между блоками до оптимизации равно 44.

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

начальном распределении, указанном выше; таковы:

Блок 1

3

4

5

6

11

12

 

 

 

 

 

 

 

Блок 2

1

2

7

8

9

10

 

 

 

 

 

 

 

Число соединений между блоками равно 12.

 

 

 

5

 

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

8

 

 

2

3

 

 

4

3

 

 

2

 

 

 

 

4

 

 

 

 

 

 

 

2

32

Результаты работы только алгоритма начального распределения

Блок 1

2

3

1

8

9

10

 

 

 

 

 

 

 

Блок 2

5

6

4

12

11

7

 

 

 

 

 

 

 

Число соединений между блоками равно 10

Результаты работы алгоритма парных перестановок с использованием алгоритма начального распределения:

33

Блок 1

2

3

1

8

9

7

 

 

 

 

 

 

 

Блок 2

5

6

4

12

11

10

 

 

 

 

 

 

 

Число соединений между блоками равно 5.

Результаты работы алгоритма полного перебора (глобальный оптимум):

Блок 1

2

3

1

8

9

7

 

 

 

 

 

 

 

Блок 2

5

6

4

12

11

10

 

 

 

 

 

 

 

Число соединений между блоками равно 5. (рис. 3.7.)

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

 

 

 

 

2

 

 

 

 

 

3

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

5

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

34

3.3. Исследование зависимости эффективности алгоритма парных перестановок от

исходных начальных распределений и пути повышения его эффективности

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

35

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

Поставленные задачи были нами решены.

1. Разработана программа оптимального распределения элементов с получением большого количества (1000-10000) исходных начальных распределений методом рандомизации;

Для создания начального распределения методом рандомизации была написана подпрограма, работающая следующим образом.

а) в цикле заполняем промежуточную матрицу именами элементов по возрастанию;

б) для введения случайного фактора выбора ячейки промежуточной матрицы подключаем процедуру RANDOMIZE языка PASCAL;

в) организуем цикл по проходу всех блоков и всех элементов в блоке.

В этом цикле промежуточной переменной q присваиваем случайное значение с помощью функции RANDOM языка PASCAL, имеющей в качестве параметра общее количество элементов в блоках, а затем увеличиваем значение q на 1, так как функция

RANDOM возвращает значение в пределах ( 0 <= возвращаемое значение < параметр ).

Если не увеличить значение переменной q на 1, то произойдет обращение к нулевому элементу промежуточной матрицы, который содержит ошибочную информацию и не произойдет обращение к последнему элементу матрицы, т.е. мы потеряем одно имя элемента из промежуточной матрицы, что приведет к ошибке.

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

д) если найденное имя элемента не равно нулю, то присваиваем его элементу матрицы распределения;

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

36

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

Исследования проводились на пяти различных схемах соединений с использованием 1000 - 10000 исходных начальных распределений для каждой схемы.

Рассмотрим несколько контрольных примеров и дадим анализ их результатов. Контрольный пример №1 Исходные данные:

количество элементов = 12 количество блоков = 2

количеcтво элементов в блоке 1 = 6 количеcтво элементов в блоке 2 = 6 количество начальных распределений = 1000 матрица связей:

 

1

2

3

4

5

6

7

8

9

10

11

12

1

0

5

0

0

0

0

2

2

0

0

0

0

2

5

0

8

0

0

0

0

3

2

0

0

0

3

0

8

0

2

0

0

0

0

0

0

0

0

4

0

0

2

0

4

0

0

0

0

0

2

0

5

0

0

0

4

0

5

0

0

0

0

0

0

6

0

0

0

0

5

0

0

0

0

0

2

3

7

2

0

0

0

0

0

0

2

0

0

0

0

8

2

3

0

0

0

0

2

0

4

0

0

0

9

0

2

0

0

0

0

0

4

0

3

0

0

10

0

0

0

0

0

0

0

0

3

0

4

0

11

0

0

0

2

0

2

0

0

0

4

0

4

12

0

0

0

0

0

3

0

0

0

0

4

0

Результаты оптимизации: Наилучшая матрица распределения

Блок N1 с элементами:(1)(3)(8)(9)(2)(7)

Блок N2 с элементами:(10)(4)(11)(12)(5)(6)

Наименьшее количество межблочных соединений при данном распределении=5

кол-во связей - 5 встречается 867 раз кол-во связей - 16 встречается 56 раз кол-во связей - 21 встречается 77 раз

37

Особенности результатов решения :

-число минимумов - 3 (из них первый глобальный);

-наилучший минимум (глобальный) дает 5 межблочных соединений с

вероятностью 0,87;

-второй (локальный) дает 16 межблочных соединений с вероятностью 0,06;

-третий (локальный) дает 21 межблочное соединение с вероятностью 0,08;

-отношение числа связей наихудшего минимума к числу связей наилучшего - 4,2

-вероятность появления каждого последующего минимума убывает

немонотонно.

Расчеты показывают, что у начального распределения, приводящего к глобальному минимуму до оптимизации было 20 связей, у начального распределения, приводящего ко второму минимуму, до оптимизации было 29 связей, у начального распределения, приводящего к третьему минимуму до оптимизации было 37 связей, то есть при оптимизации число связей уменьшается в 1,76 - 4 раза.

Контрольный пример №2

Исходные данные: количество элементов = 12 количество блоков = 2

количество элементов в блоке 1 = 6 количество элементов в блоке 2 = 6 количество начальных распределений = 10000 матрица связей:

 

1

2

3

4

5

6

7

8

9

10

11

12

1

0

4

1

0

0

2

0

0

1

0

1

0

2

4

0

0

0

0

2

0

1

0

0

1

1

3

1

0

0

3

1

0

1

0

1

1

0

0

4

0

0

3

0

1

0

1

0

1

1

0

1

5

0

0

1

1

0

0

4

3

0

1

0

0

6

2

2

0

0

0

0

0

0

0

0

4

0

7

0

0

1

1

4

0

0

1

0

0

0

1

8

0

1

0

0

3

0

1

0

0

3

0

4

9

1

0

1

1

0

0

0

0

0

3

3

0

10

0

0

1

1

1

0

0

3

3

0

1

0

11

1

1

0

0

0

4

0

0

3

1

0

1

12

0

1

0

1

0

0

1

4

0

0

1

0

38

Результаты оптимизации: Наилучшая матрица распределения

Блок N1 с элементами:(6)(2)(10)(11)(9)(1)

Блок N2 с элементами:(12)(4)(3)(5)(8)(7)

Наименьшее количество межблочных соединений при данном распределении =

12

кол-во связей - 12 встречается 6687 раз кол-во связей - 18 встречается 2125 раз кол-во связей - 20 встречается 894 раз кол-во связей - 21 встречается 304 раза

Особенности результатов решения :

-число минимумов - 4 (из них первый глобальный);

-наилучший минимум (глобальный) дает 12 межблочных соединений с

вероятностью 0,67;

-второй (локальный) дает 18 межблочных соединений с вероятностью 0,21;

-третий (локальный) дает 20 межблочных соединений с вероятностью 0,09;

-четвертый (локальный) дает 21 межблочное соединение с вероятностью 0,03;

-отношение числа связей наихудшего минимума к числу связей

наилучшего - 1,75

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

Контрольный пример №3

Исходные данные: количество элементов = 12 количество блоков = 2

количество элементов в блоке 1 = 6 количество элементов в блоке 2 = 6 количество начальных распределений = 10000 матрица связей:

 

1

2

3

4

5

6

7

8

9

10

11

12

1

0

0

0

2

0

0

5

0

3

0

0

0

2

0

0

2

0

0

0

6

0

0

0

0

0

39

3

0

2

0

0

0

0

0

4

0

0

0

0

4

2

0

0

0

0

0

3

0

4

0

4

0

5

0

0

0

0

0

0

0

2

0

0

2

4

6

0

0

0

0

0

0

0

0

0

3

0

4

7

5

6

0

3

0

0

0

0

0

0

2

0

8

0

0

4

0

2

0

0

0

0

5

0

0

9

3

0

0

4

0

0

0

0

0

0

0

0

10

0

0

0

0

0

3

0

5

0

0

0

2

11

0

0

0

4

2

0

2

0

0

0

0

0

12

0

0

0

0

4

4

0

0

0

2

0

0

Результаты оптимизации: Наилучшая матрица распределения

Блок N1 с элементами:(2)(9)(4)(7)(1)(11) Блок N2 с элементами:(5)(10)(3)(8)(6)(12)

Наименьшее количество межблочных соединений при данном распределении=4

кол-во связей - 4 встречается 7520 раз кол-во связей - 17 встречается 1382 раз кол-во связей - 21 встречается 1098 раз

Особенности результатов решения :

-число минимумов - 3 (из них первый глобальный);

-наилучший минимум (глобальный) дает 4 межблочных соединения с

вероятностью 0,75;

-второй (локальный) дает 17 межблочных соединений с вероятностью 0,14;

-третий (локальный) дает 21 межблочное соединение с вероятностью 0,11;

-отношение числа связей наихудшего минимума к числу связей наилучшего - 5,25

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

Контрольный пример №4

Исходные данные: количество элементов = 12 количество блоков = 4

количество элементов в блоке 1 = 3

40

количество элементов в блоке 2 = 3

количество элементов в блоке 3 = 3

количество элементов в блоке 4 = 3

количество начальных распределений = 1000

матрица связей:

 

1

2

3

4

5

 

6

7

8

9

10

11

12

1

0

4

1

0

0

 

2

0

0

1

0

1

0

2

4

0

0

0

0

 

2

0

1

0

0

1

1

3

1

0

0

3

1

 

0

1

0

1

1

0

0

4

0

0

3

0

1

 

0

1

0

1

1

0

1

5

0

0

1

1

0

 

0

4

3

0

1

0

0

6

2

2

0

0

0

 

0

0

0

0

0

4

0

7

0

0

1

1

4

 

0

0

1

0

0

0

1

8

0

1

0

0

3

 

0

1

0

0

3

0

4

9

1

0

1

1

0

 

0

0

0

0

3

3

0

10

0

0

1

1

1

 

0

0

3

3

0

1

0

11

1

1

0

0

0

 

4

0

0

3

1

0

1

12

0

1

0

1

0

 

0

1

4

0

0

1

0

Результаты оптимизации:

 

 

 

 

 

 

 

 

 

Наилучшая матрица распределения

 

 

 

 

 

 

 

Блок N1

с элементами:(12)(4)(3)

 

 

 

 

 

 

 

Блок N2

с элементами:(10)(9)(11)

 

 

 

 

 

 

 

Блок N3

с элементами:(8)(5)(7)

 

 

 

 

 

 

 

Блок N4

с элементами:(2)(1)(6)

 

 

 

 

 

 

 

Наименьшее количество межблочных соединений при данном распределении =

28

кол-во связей - 28 встречается 499 раз кол-во связей - 30 встречается 323 раз кол-во связей - 31 встречается 106 раз кол-во связей - 32 встречается 42 раза кол-во связей - 33 встречается 30 раз Особенности результатов решения :

-число минимумов - 5 (из них первый глобальный);

-наилучший минимум (глобальный) дает 28 межблочных соединений с

вероятностью 0,50;