Использование различных критериев при решении неоднородной мини-максной задачи

Использование различных критериев при решении неоднородной минимаксной задачи

В. Г. Кобак1, А.П. Кузин1, А. Г. Жуковский2, А.Н. Кузина1

1 Донской государственный технический университет, г. Ростов-на-Дону 2Северо-Кавказский филиал Московского технического университета связи и информатики, г. Ростов-на-Дону

Аннотация: В статье рассматривается решение неоднородной минимаксной задачи при помощи генетических алгоритмов, а также с использованием нескольких вариантов реализации алгоритма Плотникова-Зверева. Описываются три вида критериев для задания функции оценки приспособленности особей. Проводится сравнение эффективности работы генетических алгоритмов по сравнению с алгоритмом Плотникова-Зверева, при использовании различных критериев функции приспособленности особей. По результатам вычислительного эксперимента был сделан вывод, что использование квадратичного критерия для модифицированной модели Голдберга, с использованием двухточечного кроссовера увеличивает эффективность работы генетического алгоритма, а точность этого решения выше по сравнению с решениями, полученными при помощи модификаций алгоритма Плотникова-Зверева.

Ключевые слова: теория расписаний, неоднородная минимаксная задача, модифицированная модель Голдберга, генетический алгоритм, минимаксный критерий, квадратичный критерий, списочные алгоритмы, кубический критерий, алгоритм Плотникова-Зверева.

Введение

Одними из наиболее часто решаемых задач теории расписаний являются ЫР-полные задачи, для которых практически невозможно подобрать точное решение за полиноминально быстрое время. К таким задачам относится и рассматриваемая в статье неоднородная минимаксная задача [1-3]. Разработка различных методов, позволяющих получить близкое к оптимальному приближенное решение, является актуальной проблемой. Такие решения находятся как списочными методами, так и с использованием генетических алгоритмов, а точнее различными моделями. В данной работе будут рассмотрены наиболее популярные критерии, которые используют как списочные, так и генетические алгоритмы.

Минимаксный критерий.

Для сформированной особи записывается время выполнения всех задач на каждом устройстве. Для каждого вычислительного устройства это время суммируется и записывается в массив Б[1], где 1 это номер вычислительного устройства.[4,5] В качестве

результата функции приспособленности принимается максимальное время из массива Б. Далее на примере рассмотрим расчет минимаксного критерия. Пусть задана матрица задач Т:

Так же имеется особь со следующими генами: = (1 2 1 2

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

Минимаксный к ритерий

Р[1] Р[2] Р[3]

5 0 0

0 2 0

6 0 0

0 5 0

0 0 1

11 7 1

Рисунок 1 - Расчет минимаксного критерия

Исходя из полученных результатов выбираем максимальное значение 11, которое и будет являться значением функции приспособленности.

Квадратичный критерий.

Является схожим с минимаксным критерием, но отличается от него тем, что берется не максимальное значение загруженности, а вычисляется сумма квадратов. Значение квадратичного для примера с минимаксным критерием будет равно 112+72+12=171.

Кубический критерий.

Является схожим с минимаксным критерием, но отличается от него тем, что берется не максимальное значение загруженности, а вычисляется сумма кубов значений массива Б. Значение кубического критерия для примера с минимаксным критерием будет равно 113+73+13=1675.

Алгоритм Плотникова-Зверева с минимаксным критерием.

Задача задается в виде матрицы, в которой каждая строка i представляет собой одну задачу, а каждый j столбец устройство обработки. Значения, находящиеся на пересечении строк и столбцов, отображают время выполнения i задачи на j вычислительном устройстве. Первым шагом для задач вычисляется сумма времени выполнения на каждом устройстве. После чего допустимо два варианта использования алгоритма: матрица сортируется либо по возрастанию, либо по убыванию в зависимости от значения рассчитанного параметра. Далее в первой строке выбирается элемент с минимальным значением и в список решений List заносится номер устройства j, на котором данная задача выполнялась. Остальные элементы строки приравниваются к нулю. Элементы первой строки прибавляются ко второй строке и с учетом этого ищется минимальный элемент во второй строке, номер которого заносится в список List, остальные элементы строки приравниваются нулю, кроме тех к которым было прибавлено значение отличное от 0. Алгоритм повторяется до тех пор, пока не будут обработаны все строки, а результатом алгоритма будет являться список List, с помощью которого генерируется особи начального поколения. [6,7] Рассмотрим работу алгоритма на примере 4 задач и 3 устройств обработки с известным временем выполнения. На рисунке 2 представлена матрица, показывающая время выполнения задач на каждом из устройств обработки, с вычисленной суммой.

Устройство 1 Устройство 2 Устройство 3 Сумма

Задача 1 4 3 2 9

Задача 2 4 2 5 11

Задача 3 3 2 8 13

Задача 4 5 3 8 16

Рисунок 2 - Первый шаг алгоритма Плотникова-Зверева Далее матрица сортируется по убыванию в зависимости от суммы элементов каждой строки (Рисунок 3).

Устройство 1 Устройство 2 Устройство 3 Сумма

Задача 1 5 3 8 16

Задача 2 3 2 8 13

Задача 3 4 2 5 11

Задача 4 4 3 2 9

Рисунок 3 - Второй шаг алгоритма Плотникова-Зверева

В первой строке ищется минимальный элемент, в данном случае равный 3, его номер 2 заносится в список List, остальные элементы строки обнуляются (Рисунок 4).

Устройство 1 Устройство 2 Устройство 3

Задача 1 0 3 0

Задача 2 3 2 8

Задача 3 4 2 5

Задача 4 4 3 2

Рисунок 4 - Третий шаг алгоритма Плотникова-Зверева Далее к элементам второй строки прибавляются элементы первой строки. Во второй строке ищется минимальный элемент, в данном случае равный 3 и его номер 1 заносится в список. (рисунок 5).

List 2 1

Рисунок 5 - Четвертый шаг алгоритма Плотникова-Зверева Все элементы кроме 1 во второй строке обнуляются. К третей строке прибавляются элементы второй строки. В третьей строки ищется минимальный элемент, в данном случае равный 5 и в список заносится его номер 2 (Рисунок 6).

List 2 1 2

Рисунок 6 - Пятый шаг алгоритма Плотникова-Зверева Обнуляются все элементы третьей строки кроме 2. К четвертой строке прибавляются элементы третей строки. В четвертой строке ищется минимальный элемент, в данном случае равный 2 и в список заносится его номер 3 (Рисунок 7).

List 2 1 2 3

Рисунок 7 - Шестой шаг алгоритма Плотникова-Зверева

Устройство 1 Устройство 2 Устройство 3

Задача 1 0 3 0

Задача 2 3 5 8

Задача 3 4 2 5

Задача 4 4 3 2

Устройство 1 Устройство 2 Устройство 3

Задача 1 0 3 0

Задача 2 3 3 0

Задача 3 7 5 5

Задача 4 4 3 2

Устройство 1 Устройство 2 Устройство 3

Задача 1 0 3 0

Задача 2 3 3 0

Задача 3 3 5 0

Задача 4 7 8 2

По итогу получаем решение, при котором появляется следующее соответствие задач устройствам обработки: задача 1 - устройство обработки 2; задача 2 - устройство обработки 1; задача 3 - устройство обработки 2; задача 4 - устройство обработки 3.

Создается 3 интервала на промежутке 0..255 (0..85, 86..170, 171..255). Для каждой задачи генерируется случайное значение из интервала с номером соответствующего устройству, на котором она должна обрабатываться. Сформированная особь таким способом показана на рисунке 8.

№ задачи 1 2 3 4

Значение гена 100 56 143 217

Рисунок 8 - Сформированная особь

Алгоритм Плотникова-Зверева с использованием квадратичного

критерия.

Данный алгоритм отличается от предыдущего варианта тем что в строке выбирается не просто минимальный элемент, а считается значение критерия для каждого устройства по следующему принципу: если критерий вычисляется для j устройства, то берется его значение и возводится в квадрат, к нему прибавляются значения для остальных устройств, из предыдущей строки, возведенные в квадрат. Среди полученных значений критериев выбирается минимальный, а номер устройства, которому оно принадлежит заносится в список List.

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

Уст-во 1 Уст-во 2 Уст-во 3

Задача 1 3 4 5

Задача 2 5 4 9

Задача 3 5 8 6

Значение критерия

Уст-во 1 Уст-во 2 Уст-во 3

9 16 25

List 1

Рисунок 9 - Обработка первой строки алгоритмом Плотникова-Зверева с использованием квадратичного критерия.

Далее аналогично рассчитаем квадратичный критерий для второй строки (Рисунок 10). Квадратичный критерий принимает следующие значения: Уст-во_1=8*8+0*0+0*0=64; Уст-во_2=3*3+4*4+0*0=25; Уст-во_3=3*3+0*0+9*9=90.

По полученным результатам получается, что минимальное значение критерия во второй строке было получено для 2 устройства обработки.

Уст-во 1 Уст-во 2 Уст-во 3

Задача 1 3 0 0

Задача 2 8 4 9

Задача 3 5 8 6

Значение критерия

Уст-во 1 Уст-во 2 Уст-во 3

64 25 90

1 2

Рисунок 10 - Обработка второй строки алгоритмом Плотникова-Зверева с использованием квадратичного критерия. Рассчитаем квадратичный критерий для третьей строки (Рисунок 11). По полученным результатам получается, что минимальное значение критерия в третьей строке было получено для 3 устройства обработки.

Уст-во 1 Уст-во 2 Уст-во 3

Задача 1 3 0 0

Задача 2 3 4 0

Задача 3 8 12 6

Значение критерия

Уст-во 1 Уст-во 2 Уст-во 3

80 153 61

1 2 3

Рисунок 11 - Обработка третьей строки алгоритмом Плотникова-Зверева с использованием квадратичного критерия.

По итогу получаем решение, при котором появляется следующее соответствие задач устройствам обработки: задача 1 - устройство обработки 1; задача 2 - устройство обработки 2; задача 3 - устройство обработки 3.

Создается 3 интервала на промежутке 0..255 (0..85, 86..170, 171..255). Для каждой задачи генерируется случайное значение из интервала с номером, соответствующего устройству обработки. Сформированная особь таким способом показана на рисунке 12.

№ задачи 1 2 3

Значение гена 55 100 196

Рисунок 12 - Сформированная особь

Алгоритм Плотникова-Зверева с использованием кубического критерия.

Данный алгоритм отличается от варианта с использованием минимаксного критерия тем что в строке выбирается не просто минимальный элемент, а считается

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

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

Уст-во 1 Уст-во 2 Уст-во 3

Задача 1 4 3 8

Задача 2 5 6 2

Задача 3 3 2 5

Значение критерия

Уст-во 1 Уст-во 2 Уст-во 3

64 27 512

List 2

Рисунок 13 - Обработка первой строки алгоритмом Плотникова-Зверева с использованием кубического критерия. Далее аналогично рассчитаем кубический критерий для второй строки (Рисунок 14). Квадратичный критерий принимает следующие значения: Уст-во 1=53+З3+03=152; Уст-во_2=03+93+03=729; Уст-во_3=03+33+23=35.

По полученным результатам получается, что минимальное значение критерия во второй строке было получено для 3 устройства обработки.

Уст-во 1 Уст-во 2 Уст-во 3

Задача 1 0 3 0

Задача 2 5 9 2

Задача 3 3 2 5

Значение критерия

Уст-во 1 Уст-во 2 Уст-во 3

152 729 35

List 3

Рисунок 14 - Обработка второй строки алгоритмом Плотникова-Зверева с использованием кубического критерия. Рассчитаем квадратичный критерий для третьей строки (Рисунок 15). По полученным результатам получается, что минимальное значение критерия в третьей строке было получено для 3 устройства обработки.

Уст-во 1 Уст-во 2 Уст-во 3

Задача 1 0 3 0

Задача 2 0 3 2

Задача 3 3 5 7

Значение критерия

Уст-во 1 Уст-во 2 Уст-во 3

27+81+8=11 6 125+8=13 3 27+343=37 0

Lis t 1

Рисунок 15 - Обработка третьей строки алгоритмом Плотникова-Зверева с использованием кубического критерия.

По итогу получаем решение, при котором появляется следующее соответствие задач устройствам обработки: задача 1 - устройство обработки 2; задача 2 - устройство обработки 3; задача 3 - устройство обработки 1.

Создается 3 интервала на промежутке 0..255 (0..85, 86..170, 171..255). Для каждой задачи генерируется случайное значение из интервала с номером, соответствующего устройству обработки. Сформированная особь таким способом показана на рисунке 16.

№ задачи 1 2 3

Значение гена 97 188 41

Рисунок 16 - Сформированная особь

Результаты исследования.

В рамках вычислительного эксперимента было проведена оценка эффективности работы модифицированной модели Голдберга. [8,9,10] В качестве параметров оценивания эффективности выбраны такие критерии как минимальное полученное решение, среднее значение решения и время поиска решения, так как являются наиболее важными с точки

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

• минимаксный критерий;

• квадратичный критерий;

• кубический критерий.

В качестве входных данных выступали времени выполнения задач на каждом из устройств обработки, которые были сформированы случайно, значениями в диапазоне от 25 до 35. В качестве оператора кроссовера использовался двухточечный кроссовер, с заданной вероятностью 100%, который показал свою эффективность в предыдущих работах.

Эксперименты проводились для п=3, 4, 5, 6 и 7 устройств обработки, количество задач было задано равное т=52, 253 и 457, а количество особей и итераций равнялось 400. Каждый эксперимент повторялся 25 раз. В ходе повторов эксперимента осуществлялся поиск лучшего решения, среднего результата и времени поиска решения. Для сравнения результатов работы генетических алгоритмов использовались решения полученные с применением алгоритма Плотникова-Зверева с минимаксным, квадратичным и кубическим критериями.

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

Полученные результаты эксперимента были сгруппированы в 2 таблицы в зависимости от количества рассматриваемых задач.

В таблица 1 содержатся результаты эксперимента для 253 задач.

Таблица 1

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

Размер ность задачи Критери и оценки эффекти вности Генетический алгоритм Алгоритм Плотникова-Зверева

Минима ксный Квадрат ичный Кубиче ский Минима ксный Минима ксный по возраста нию Квадрат ичный Квадрат ичный по возраста нию Кубиче ский Кубиче ский по возраст анию

3*253 мин 2325 2318 2594 2506 | 2545 | 2368 | 2377 | 7628 | 7628

сред 2335,92 2319,2 2670,36

время 61601 36306 43871

4*253 мин 1708 1695 1958 1918 1867 1753 1750 7623 7623

сред 1723,44 1695,92 2041,68

время 84255 42736 54009

5*253 мин 1349 1334 1699 1508 1476 1402 1403 7650 7650

сред 1370,08 1338,52 1868,84

время 110235 50139 58519

6*253 мин 1122 1107 1275 1265 1295 1163 1193 7625 7625

сред 1139,4 1109,2 1570,28

время 149380 56759 56428

7*253 мин 953 946 1396 1152 1136 1040 1032 7634 7634

сред 965,92 949,16 1553,56

время 227495 65405 66464

В таблица 2 содержатся результаты эксперимента для 457 задач.

Таблица 2

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

Размер ность задачи Критери и оценки эффекти вности Генетический алгоритм Алгоритм Плотникова-Зверева

Минима ксный Квадрат ичный Кубиче ский Минима ксный Минима ксный по возраста нию Квадрат ичный Квадрат ичный по возраста нию Кубиче ский Кубиче ский по возраст анию

3*457 мин 4156 4137 4635 4545 4491 4207 4202 13614 13614

сред 4168,52 4137 4838,16

время 150732 72600 94767

4*457 мин 3087 3048 3497 3458 3439 3194 3182 13682 13682

сред 3102,28 3048,76 3694,4

время 237308 91001 92634

5*457 мин 2464 2419 2881 2706 2704 2506 2497 13821 13821

сред 2491,36 2420,76 3054,76

время 278794 110408 105059

6*457 мин 2004 1984 2371 2231 2429 2085 2273 13750 13750

сред 2042,04 1988,84 2509,04

время 435239 120654 110992

7*457 мин 1724 1700 2127 1987 1938 1872 1848 13818 13818

сред 1744,28 1704,6 2242

время 633166 138171 117561

Выводы

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

2. Использование кубических критериев не является оправданным с точки зрения точности получаемых решений.

Литература

1. Алексеев О.Г. Комплексное применение методов дискретной оптимизации. Москва: «Наука». 1987 г. 247 с.

2. Кобак В.Г., Жуковский А.Г., Кузин А.П. Исследование модификаций турнирного отбора при решения неоднородной минимаксной задачи модифицированной моделью Голдберга // Инженерный вестник Дона, 2018, №2. URL: ivdon.ru/ru/magazine/archive/N2y2018/4962.

3. Кобак, В.Г., Жуковский А.Г., Кузин А.П. Применение гибридного алгоритма при решении неоднородной минимаксной задачи с использованием сильных мутаций // Инженерный вестник Дона, 2018, №4. URL: ivdon.ru/ru/magazine/archive/n4y2018/5396.

4. Кобак В.Г., Жуковский А.Г., Кузин А.П., Тхазаплижева А.Н. Подход по уменьшению времени работы модифицированной модели Голдберга при решении неоднородной минимаксной задачи // Инженерный вестник Дона, 2019, №1. URL: ivdon.ru/ru/magazine/archive/n1y2019/5665.

5. Емельянов В.В., Курейчик В.В., Курейчик В. М. Теория и практика эволюционного моделирования. М: Физматлит. 2003 г. 432 с.

6. Паначенко Т.В. Генетические алгоритмы. Астрахань: Издательский дом «Астраханский университет». 2007 г. 87 с.

7. Редько В.Г. Эволюционная кибернетика. М.: Наука. 2001 г. 156 с

8. Affenzeller M., Wagner S., Winkler S., Beham A. Genetic Algorithms and Genetic Programming: Modern Concepts and Practical Applications. USA: CRC Press. 2009. 364 p.

9. Гончарова А.С., Бекетова О.С., Заросило Л.Р., Авдеева М.А., Осадчук Ю.В., Кононова Н.В. Модели генетических алгоритмов // Юный ученый. 2015 г. №1. с. 32-33. URL: moluch.ru/young/archive/1/43/.

10. Goldberg D. Genetic Algorithms in search, optimization, and machine learning. USA: Addison-Wesley Publishing Company, Inc. 1989. pp. 28-33.

References

1. Alekseev O. G. Kompleksnoye primeneniye metodov diskretnoy optimizatsii [Complex application of discrete optimization methods]. Moscow: «Nauka». 1987. 247 p.

2. Kobak V.G., Zhukovskiy A.G., Kuzin A.P. Inzhenernyj vestnik Dona, 2018, №2. URL: ivdon.ru/ru/magazine/archive/N2y2018/4962/.

3. Kobak, V.G., Zhukovskiy A.G., Kuzin A.P. Inzhenernyj vestnik Dona, 2018, №4. URL: ivdon.ru/ru/magazine/archive/n4y2018/5396/.

4. Kobak V.G., Zhukovskiy A.G., Kuzin A.P., Tkhazaplizheva A.N. Inzhenernyj vestnik Dona, 2019, №1. URL: ivdon.ru/ru/magazine/archive/n1y2019/5665/.

5. Yemel'yanov V.V., Kureychik V.V., Kureychik V. M. Teoriya i praktika evolyutsionnogo modelirovaniya [Theory and practice of evolutionary modeling]. M: Fizmatlit. 2003. 432 p.

6. Panchenko T. V. Geneticheskiye algoritmy [Genetic algorithms]. Astrakhan': Izdatel'skiy dom «Astrakhanskiy universitet». 2007. 87 p.

7. Red'ko V.G. Evolyutsionnaya kibernetika [Evolutionary cybernetics]. M.: Nauka. 2001. 156 p.

8. Affenzeller M., Wagner S., Winkler S., Beham A. Genetic algorithms and genetic programming: Modern Concepts and Practical Applications. USA: CRC Press. 2009. 364 p.

9. Goncharova A.S., Beketova O.S., Zarosilo L.R., Avdeyeva M.A., Osadchuk YU.V., Kononova N.V. Yunyy uchenyy. 2015. №1. pp. 32-33. URL: moluch.ru/young/archive/1/43/.

10. Goldberg D. Genetic algorithms in search, optimization, and machine Learning. USA: Addison-Wesley Publishing Company, Inc. 1989. pp. 28-33.