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

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

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, а в матрице могут находиться нули;

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

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

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