ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.
TECHNICAL SCIENCE. 2021. No 1
УДК 519.87:004 DOI: 10.17213/1560-3644-2021-1-12-17
СРАВНИТЕЛЬНЫЙ АНАЛИЗ МОДИФИКАЦИЙ АЛГОРИТМА ПЛОТНИКОВА-ЗВЕРЕВА ПО РАЗЛИЧНЫМ КРИТЕРИЯМ С ИСПОЛЬЗОВАНИЕМ БАРЬЕРА ПРИ РЕШЕНИИ МИНИМАКСНОЙ ЗАДАЧИ
© 2021 г. В.Г. Кобак, А.Г. Жуковский, Р.С. Шкабрий
Донской государственный технический университет, г. Ростов-на-Дону, Россия
COMPARATIVE ANALYSIS OF MODIFICATIONS PLOTNIKOV-ZVEREV ALGORITHM BY VARIOUS CRITERIA USING A BARRIER IN SOLVING A MINIMAX TASKS
V.G. Kobak, A.G. Zhukovskiy, R.S. Shkabriy
Don State Technical University, Rostov-on-Don, Russia
Кобак Валерий Григорьевич - д-р техн. наук, профессор, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», Донской государственный технический университет, г. Ростов-на-Дону, Россия. E-mail: valera33305@mail.ru
Жуковский Александр Георгиевич - д-р полит. наук, профессор, канд. техн. наук, доцент, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», Донской государственный технический университет, г. Ростов-на-Дону, Россия. E-mail: zhykovskij@mail.ru
Шкабрий Роман Сергеевич - бакалавр, Донской государственный технический университет, г. Ростов-на-Дону. Россия. E-mail: shkabriy@mail.ru
Kobak Valeriy G. - Doctor of Technical Sciences, Professor, Department «The Software of Computer Facilities and Automated Systems», Don State Technical University, Rostov-on-Don, Russia. E-mail: valera33305@mail.ru
Zhukovskiy Alexander G. - Doctor of Political Sciences, Candidate of Technical Science, Associate Professor, Department «The Software of Computer Facilities and Automated Systems», Don State Technical University, Rostov-on-Don, Russia. E-mail: zhykovskij@mail.ru
Shkabriy Roman S. - Bachelor, Don State Technical University, Rostov-on-Don, Russia. E-mail: shkabriy@mail.ru
Рассматривается проблема решения неоднородной минимаксной задачи - одной из многочисленных задач из области комбинаторной оптимизации. Комбинаторная оптимизация - это широкая и бурно развивающаяся область математического программирования и дискретной математики. Неоднородная минимаксная задача входит в число полных и является трудно решаемой. Для ее решения используются алгоритмы (списочные, генетические, муравьиные и т.д.), получающие приближенные решения, близкие к оптимальным за полиномиальное время. Предлагается использовать модифицированный списочный алгоритм на основе алгоритма Плотникова-Зверева. Данный алгоритм рассматривается с барьером, который был исследован в предыдущих работах. При использовании барьера увеличивается точность решения благодаря использованию минимаксного критерия. В предлагаемой работе кроме минимаксного критерия применяется квадратичный критерий с барьером и без него. Так как аналитически определить, какой из модифицированных алгоритмов более эффективен, практически невозможно, был поставлен вычислительный эксперимент, состоящий в многочисленных запусках алгоритмов над одними и теми же данными. По результатам вычислительного эксперимента проводится сравнение различных критериев. Применение квадратичного критерия с барьером приводит к повышению эффективности решения неоднородной минимаксной задачи.
Ключевые слова: алгоритм Плотникова-Зверева; алгоритм Плотникова-Зверева по квадратичному критерию; алгоритм Плотникова-Зверева по квадратичному критерию с барьером; вычислительный эксперимент; -полные задачи.
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE. 2021. No 1
This article discusses the problem of solving an inhomogeneous minimax problem - one of the many problems in the field of combinatorial optimization. Combinatorial optimization is a broad and rapidly developing area of mathematical programming and discrete mathematics. The inhomogeneous minimax problem is NP-complete and difficult to solve. To solve it, algorithms (list, genetic, ant, etc.) are used, which obtain approximate solutions close to optimal in polynomial time. The article proposes to use a modified list algorithm based on the Plotnikov-Zverev algorithm. The Plotnikov-Zverev algorithm is considered with a barrier, which was investigated in previous works. When using a barrier, the accuracy of the solution using the minimax criterion increases. In this work, in addition to the minimax criterion, a quadratic criterion with and without a barrier is used. Since it is almost impossible to determine analytically which of the modified algorithms is more efficient, a computational experiment was set up. A computational experiment consists of multiple runs of algorithms on the same data. Based on the results of the computational experiment, various criteria are compared. The use of a quadratic criterion with a barrier leads to an increase in the efficiency of solving the inhomogeneous minimax problem.
Keywords: Plotnikov-Zverev algorithm; Plotnikov-Zverev algorithm by quadratic criterion; Plotnikov-Zverev algorithm by quadratic criterion with a barrier; computational experiment; NP-complete problems.
Введение
В настоящее время большинство практических задач имеют полиномиальные алгоритмы решения, т.е. работающие за полиномиальное время. Разумеется, не каждая задача имеет алгоритм решения, удовлетворяющий этому свойству. Некоторые задачи вообще не могут быть решены никаким алгоритмом. В рамках данной работы будет рассмотрен класс задач, называемых ЛР-полными [1- 3]. Для этих задач не найдены полиномиальные алгоритмы, однако и не доказано, что таких алгоритмов не существует [4 - 6]. Одной из задач данного класса является минимаксная задача, некоторые алгоритмы которой рассмотрим ниже.
Цель данной работы исследовать и сравнить модификации алгоритма Плотникова-Зверева с квадратичным критерием и с барьером, провести вычислительный эксперимент на разных матрицах загрузки и подвести итог какая модификация на каких размерностях является более эффективной.
Алгоритмы решения
Алгоритм Плотникова-Зверева. Данный алгоритм можно описать в виде последовательности следующих шагов.
Шаг 1. Формируется матрица заданий, далее она сортируется в порядке убывания сумм строк.
Шаг 2. В преобразованной матрице выделим первую строку и найдем в ней минимальный элемент. Примем его за элемент распределения и прибавим его к элементу второй строки.
Шаг 3. Вторая строка учитывает предыдущее решение. Выберем из нее минимальный элемент и прибавим к соответствующей строке следующей строки и так далее.
Шаг 4. В итоге получим строку с результатом выполнения алгоритма.
Шаг 5. Минимальный элемент для распределения не должен равняться 0.
На примере матрицы загрузки (рис. 1) рассмотрим работу данного алгоритма (рис. 2)
Рис. 1. Матрица загрузки / Fig. 1. Loading matrix
0 а 0
22 25 [13]
0 а 13
[13] 20 24
13 0 13
14 [11] 25
13 11 13
20 [14] 12
13 24 13
17 13 [14]
13 24 27
[15] 15 13
28 24 27
12 [10] 13
23 34 27
Рис. 2. Выполнение алгоритма Плотникова-Зверева / Fig. 2. Execution of Plotnikova-Zvereva
В результате выполнения алгоритма Плотникова-Зверева получаем распределение (28, 34, 27). Кроме минимаксного критерия в работе [6] использовался квадратичный критерий.
Модификация алгоритма Плотникова-Зверева к квадратичному критерию. Данный алгоритм представим в виде следующей последовательности.
ISSN 1560-3644 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИМ РЕГИОН._ТЕХНИЧЕСКИЕ НАУКИ. 2021. № 1
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE. 2021. No 1
Шаг 1. Формируется матрица заданий, далее она сортируется в порядке убывания сумм строк.
Шаг 2. В преобразованной матрице выделим первую строку и найдем в ней минимальный элемент. Примем этот элемент за элемент распределения и прибавим его к элементу второй строки.
Шаг 3. Вторая и последующие строки учитывают предыдущее решение. Для каждого элемента строки посчитаем квадратичный критерий таким образом, что каждый элемент с учетом прошлого шага возводится в квадрат и суммируется с квадратами элементов прошлых решений, после выберем из них минимальное значение, таким образом выбирается элемент распределения из строки, соответствующий квадратичному значению, и прибавим его к соответствующей строке следующей строки и так далее.
Шаг 4. В итоге получим строку с результатом выполнения алгоритма.
Шаг 5. Минимальный элемент для распределения не должен равняться 0.
На матрице загрузки (рис. 3) рассмотрим пример работы адаптации алгоритма Плотникова-Зверева к квадратичному критерию (рис. 4).
Рис. 3. Матрица загрузки / Fig. 3. Loading matrix
0 0 0
484 625 [169]
0 0 13
[338] 568 1369
13 0 13
898 [459] 1613
13 11 13
1379 963 [915]
13 11 25
1646 [1370] 1811
13 24 25
[1985] 2315 2189
28 24 25
2801 [2565] 2804
28 34 28
Рис. 4. Пример модификации с квадратичным критерием / Fig. 4. Example of modification with a quadratic test
В результате выполнения модификации алгоритма Плотникова-Зверева с адаптацией к квадратичному критерию получаем распределение (28, 34, 28). В работе [2] был проведен вычислительный эксперимент для данных алгоритмов. В данной работе выполним вычислительный эксперимент для других размерностей при размерностях задачи из интервала [10, 20]. Для
проведения вычислительного эксперимента был использован компьютер под управлением Windows10Pro х64. В качестве аппаратного обеспечения служил компьютер со следующей конфигурацией: четырехъядерный процессор Intel Core i5-9300H, 16 гигабайт оперативной памяти формата DDR4, накопитель SSD формата M2. Вычислительный эксперимент проводился с помощью программного средства, написанного на объектно-ориентированном языке С++ в среде разработки Microsoft Visual Studio 2019. Минимальное количество экспериментов по каждой размерности равнялось 1000. Результат представлен в табл. 1.
Таблица 1 / Table 1
Вычислительный эксперимент адаптации алгоритма Плотникова-Зверева к квадратичному критерию / Computational experiment of adaptation of the Plotnikov-Zverev algorithm to the quadratic criterion
Название/п*га 3*53 4*53 5*97 6*57 7*237 8*295 9*348
Минимаксный критерий 275 200 282 369 465 497 512
Квадратичный критерий 256 186 257 332 416 443 457
Результаты вычислительного эксперимента показали, что использование квадратичного критерия намного эффективней использования минимаксного.
В статье [7] был использован алгоритм Плотникова-Зверева с барьером, где матрица загрузки упорядочивалась в порядке убывания сумм строк, в данной работе будем исследовать, как перспективней упорядочивать матрицу загрузки.
Модифицированный алгоритм Плотникова-Зверева с барьером. Данный алгоритм можно описать в виде последовательности следующих шагов.
Шаг 1. Формируется матрица заданий, в порядке возрастания сумм строк.
Шаг 2. В каждой строке находится минимальный элемент.
Шаг 3. Высчитывается барьер: сумма минимальных элементов каждой строки делится на количество процессов и округляется в большую сторону.
Шаг 4. Используется метод минимальных элементов до тех пор, пока один из столбцов не упрется в барьер.
Шаг 5. Сортируется остаточная матрица по сумме элементов строк в порядке убывания.
Шаг 6. Остаточная матрица распределяется алгоритмом Плотникова-Зверева.
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.
TECHNICAL SCIENCE. 2021. No 1
На примере матрицы, изображенной на рис. 5, отсортированной в порядке возрастания минимальных элементов, рассмотрим работу данного алгоритма (рис. 6).
12
14 20
15 13 22 17
10
11
14
15
20 25 13
13
25 12 13 24
13
14
Рис. 5. Матрица загрузки / Fig. 5. Loading matrix
Барьер для данной матрицы будет равняться: в = (10+11+12+13+13+13+13)/3.
0 а а
12 [10] 13
0 10 9
14 [11] 25
0 21 0
20 14 [12]
0 21 12
15 15 [13]
а 21 25
[13] 20 24
13 21 25
[22] 25 13
35 21 25
17 [13] 14
35 34 25
а 0 а
22 15 [13]
0 0 13
[13] 20 24
13 0 13
17 [13] 14
13 13 13
15 15 [13]
13 13 26
20 [14] 12
13 27 26
[14] 11 25
27 27 26
12 [10] 13
27 37 26
Рис. 8. Пример работы модификации с барьером / Fig. 8. Example of the modification with a barrier
Исходя из вышеприведенного примера, получаем распределение (27, 37, 26). Теперь все с той же матрицей загрузки (см. рис. 5), только с использованием сортировки по убыванию сумм строк (рис. 9) рассмотрим работу данного алгоритма (рис. 10).
Рис. 9. Матрица загрузки, отсортированная в порядке убывания минимальных элементов / Fig. 9. Loading matrix sorted in descending order of minimum elements
Рис. 6. Пример модификации с барьером с сортировкой в порядке возрастания минимальных элементов / Fig. 6. Example of modification with a barrier with sorting in ascending order of minimum elements
В результате выполнения модификации алгоритма Плотникова-Зверева с барьером на матрице загрузки, отсортированной в порядке возрастания минимальных элементов, получаем распределение (35, 34, 25). На матрице из предыдущего примера (рис. 5), только со способом сортировки по убыванию минимальных элементов (рис. 7), рассмотрим работу данного алгоритма (рис. 8).
Рис. 7. Матрица загрузки / Fig. 7. Loading matrix
0 0 0
12 [10] 13
□ 10 □
14 [11] 25
0 21 0
20 14 [12]
□ 21 12
15 15 [13]
0 21 25
[13] 20 24
13 21 25
[22] 25 13
35 21 25
17 [13] 14
35 34 25
Рис. 10. Пример работы модификации с барьером / Fig. 10. Example of the modification with a barrier
В данном примере использования сортировки по убыванию сумм строк получили распределение (35, 34, 25).
Для определения, какой из сортировок начальной матрицы лучше при выполнении данного алгоритма, проведем вычислительный эксперимент для размерностей, которые были определены ранее (табл. 2).
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE. 2021. No 1
Таблица 2 / Table 2 Усредненные значения результатов работы алгоритма с барьером различными сортировками / Averaged values of the results of the barrier algorithm with different sorts
Из результата вычисления эксперимента непосредственно видно, что первоначальная сортировка по возрастанию минимальных элементов еще более близко подходит к оптимальному решению на размерностях матриц N < 6, после данного значения размерности эффективней показала себя первоначальная сортировка по убыванию сумм строк [8 - 10]. Чтобы определить какой критерий (квадратичный или минимаксный) для решения минимаксной задачи алгоритма Плотникова-Зверева с барьером, проведем вычислительный эксперимент, где после барьера будет использоваться минимаксный критерий, квадратичный критерий и просто квадратичный критерий без барьера табл. 3.
Таблица 3 / Table 3
Усредненные значения результатов работы алгоритмов / Average values of the results of the algorithms
Вывод
Исходя из результатов вычисления для алгоритма Плотникова-Зверева на матрицах размерностью N > 6 наиболее приемлема модификация с барьером, где после барьера используется квадратичный критерий с первоначальной сортировкой матрицы загрузки по убыванию сумм строк, а для размерностей N < 6 более эффективным себя показала модификация с барьером, где после барьера используется минимаксный критерий с первоначальной сортировкой матрицы по возрастанию минимальных элементов.
Литература
1. Алексеев О.Т. Комплексное применение методов дискретной оптимизации. М.: Наука, 1987.
2. Коффман Э.Г. Теория расписания и вычислительные машины. M.: Наука. 1987.
3. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ / под ред. Л.Н. Красножан. М.: Вильямс, 2013. 1328 с.
4. Полиномиальное время // Дискретная математика: алгоритмы. URL http://rain.ifmo.ru/cat/view.php/theory/algorithm-analy sis/ np-completeness-2004 (дата обращения 11.01.2021).
5. Трансвычислительная задача // Википедия - Свободная энциклопедия URL https://ru.wikipedia.org/wiki/ Трансвычислительная задача (дата обращения 11.01.2021 ).
6. Кобак В.Г, Муратов М.А. Сравнительный анализ критериев эффективности при решении неоднородной минимаксной задачи списочным алгоритмом // Вестн. Донского гос. техн. ун-та. 2011. № 7. С. 1132 - 1135.
7. Кобак В.Г, Поркшеян В.М., Кузин А.П. Исследование различных модификаций алгоритма Плотникова-Зверева при решении неоднородной минимаксной задачи // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2020. № 2. С. 5 - 12. D0I:10.17213/1560-3644-2020-2-5-12.
8. Кобак В.Г, Золотых О. А., Жуковский А.Г., Ростов А.Н. Различные подходы к решению однородной минимаксной задачи теории расписаний эвристическими алгоритмами // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2016. № 1. С. 41 - 46. D0I:10.17213/0321-2653-2016-1-41-46.
9. Кобак В.Г, Золотых О.А., Жуковский А.Г., Ростов А.Н. Решение однородной минимаксной задачи различными модификациями алгоритма Крона. Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2016. № 3. С. 3 - 8. D0I:10.17213/0321-2653-2016-3-3-8.
10. Коновалов И.С., Кобак В.Г, Остапенко С.С. Сравнение эффективности работы точных и приближенных алгоритмов для решения задачи покрытия множества // Вестн. Донского гос. техн. ун-та. 2017. № 3. С. 137 - 144.
Название/и *m 3*53 4*53 5*97 6*157 7*237 8*295 9*348
Сортировка по возрастанию минимальных элементов
Минимаксный критерий после барьера 250 181 253 330 416 447 463
Квадратичный критерий после барьера 254 183 255 331 417 444 458
Квадратичный критерий 256 187 259 335 420 447 462
Сортировка по убыванию сумм строк
Минимаксный критерий после барьера 252 182 254 330 416 444 460
Квадратичный критерий после барьера 256 183 254 330 415 442 455
Квадратичный критерий 256 185 257 332 416 443 457
Сортировка/и *m 3*53 4*53 5*97 6*157 7*237 8*295 9*348
По убыванию минимальных элементов 258 188 261 340 427 457 473
По возрастанию минимальных элементов 249 181 253 330 416 446 463
По убыванию сумм строк 252 183 254 330 415 444 460
ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE 2021. No 1
References
1. Alekseev O.T. Complex application of discrete optimization methods. M.: Science, 1987.
2. Koffman E.G. Schedule Theory and Computing Machines. Moscow: Nauka, 1987.
3. Cormen T., Leiserson C., Rivest R., Stein K. Algorithms: construction and analysis / ed. L.N. Krasnozhan. M. Williams. 2013. 1328 p.
4. Polynomial time // Discrete mathematics: Algorithms. Available at: URL algorithms http://rain.ifmo.ru/cat/view.php/theory/ algorithm- analysis/np-completeness-2004 (accesed 11.01.2021).
5. Transcomputing problem // Wikipedia - The Free Encyclopedia. Available at: URL https://ru.wikipedia.org/wiki/Transcomputing _problem (accesed 11.01.2021).
6. Kobak V.G., Muratov M.A. Comparative analysis of efficiency criteria for solving inhomogeneous minimax problem with the list algorithm // Vestnik of Don State Technical University. 2011. No. 7. Pp. 1132 - 1135.
7. Kobak V.G., Porksheyan V.M., Kuzin A.P. Investigation of different modifications of the Plotnikov-Zverev algorithm when solving the inhomogeneous minimax problem // University News. North-Caucasian Region. Technical Sciences Series. 2020. No. 2. Рр. 5 - 12. D0I:10.17213/1560-3644-2020-2-5-12.
8. Kobak V.G., Zolotykh O.A., Zhukovsky A.G., Rostov A.N. Various approaches to solving the homogeneous minimax problem of scheduling theory by heuristic algorithms // University News. North-Caucasian Region. Technical Sciences Series. 2016. No. 1. Рр. 41 - 46. D0I:10.17213/0321-2653-2016-1-41-46.
9. Kobak V.G., Zolotykh O.A., Zhukovsky A.G., Rostov A.N. Solving the homogeneous minimax problem with various modifications of the Crohn's algorithm // University News. North-Caucasian Region. Technical Sciences Series. 2016. No. 3. Рр. 3 - 8. D0I:10.17213/0321-2653-2016-3-3-8.
10. Konovalov I.S., Kobak V.G., Ostapenko S.S. Comparison of the performance of exact and approximate algorithms for solving the problem of covering a set // Vestnik of Don State Technical University. 2017. No. 3. Рр. 137 - 144.
Поступила в редакцию /Received 18 января 2021 г. / January 18, 2021