Использование различных критериев при решении неоднородной минимаксной задачи
В. Г. Кобак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.