ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE. 2021. No 3
ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ INFORMATICS, COMPUTER ENGINEERING AND CONTROL
УДК 681.3+681.5 DOI: 10.17213/1560-3644-2021-3-5-13
СРАВНЕНИЕ ПО ТОЧНОСТИ ГЕНЕТИЧЕСКОЙ МОДЕЛИ ГОЛДБЕРГА С АЛГОРИТМОМ КРОНА И ЕГО МОДИФИКАЦИЕЙ ПРИ РЕШЕНИИ ОДНОРОДНОЙ РАСПРЕДЕЛИТЕЛЬНОЙ ЗАДАЧИ С БОЛЬШИМ
КОЛИЧЕСТВОМ УСТРОЙСТВ
© 2021 г. В.Г. Кобак, А.Г. Жуковский, О.А. Золотых, И.А. Золотых
Донской государственный технический университет, г. Ростов-на-Дону, Россия
ACCURACY COMPARISON OF GOLDBERG'S GENETIC MODEL WITH CROHN'S ALGORITHM AND ITS MODIFICATION WHEN HOMOGENEOUS DISTRIBUTION PROBLEM SOLVING WITH A LARGE NUMBER OF DEVICES
V.G. Kobak, A.G. Zhukovskiy, O.A. Zolotykh, I.A. Zolotykh
Don State Technical University, Rostov-on-Don, Russia
Кобак Валерий Григорьевич - д-р техн. наук, профессор, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», Донской государственный технический университет, г. Ростов-на-Дону, Россия. E-mail: [email protected]
Жуковский Александр Георгиевич - д-р полит. наук, профессор, канд. техн. наук, доцент, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», Донской государственный технический университет, г. Ростов-на-Дону, Россия. E-mail: [email protected]
Золотых Олег Анатольевич - доцент, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», Донской государственный технический университет, г. Ростов-на-Дону, Россия. E-mail: [email protected]
Золотых Илана Андреевна - ст. преподаватель, кафедра «Высшая математика», Донской государственный технический университет, г. Ростов-на-Дону, Россия. E-mail: [email protected]
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: [email protected]
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: [email protected]
Zolotykh Oleg A. - Associate Professor, Department «The Software of Computer Facilities and Auto-mated Systems», Don State Technical University, Rostov-on-Don, Russia. E-mail: [email protected]
Zolotykh Ilana A.- Senior Lecturer, Department «Advanced Mathematics», Don State Technical University, Rostov-on-Don, Russia. E-mail: [email protected]
Исследование алгоритмов равномерной загрузки устройств для однородных систем обработки информации является очень важной наукоёмкой задачей. Для проведения исследования выбран экспериментальный подход. Это связано в первую очередь с тем, что аналитическое решение распределительной задачи даёт далекие от реальности решения, поскольку неспособно учитывать множество факторов, влияющих на вычислительную машину в ходе её работы. Целью проводимого исследования является оценка и сравнительный анализ точностных характеристик эвристических и генетических алгоритмов. Такое исследование позволило получить сведения об оптимальности распределении заданий по исполнительным устройствам, которыми могут являться рабочие станции, объединённые в сеть, процессоры или ядра процессоров. В работе использованы эвристические алгоритм - алгоритм Крона и его модификация, а также генетический алгоритм, реализованный на основе модели Голдберга. Основной идеей исследования является получение наилучшего и наихудшего субоптимального решения для последующей оценки эффективности использованных алгоритмов. Для этого проведено множество вычислительных экспериментов и собраны выходные данные большого объёма, на основе которых сделаны выводы об эффективности работы использованных алгоритмов.
Ключевые слова: однородная система; распределительная задача; генетический алгоритм; алгоритм Крона.
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE. 2021. No 3
The study of algorithms for uniform loading of devices for homogeneous information processing systems is a very important science-intensive task. An experimental approach was chosen for the study. This is primarily due to the fact that analytical solution of distribution problem gives solutions that are far from reality, since it is unable to take into account many factors that affect the computing machine during its operation. The aim of this research is to assess and comparatively analyze the accuracy characteristics of heuristic and genetic algorithms. Such a study made it possible to obtain information about optimality distribution of tasks among executive devices, which can be networked workstations, processors or processor cores. The work uses a heuristic algorithm - Crohn's algorithm and its modification, as well as a genetic algorithm implemented based on the Goldberg model. Main idea of the study is to obtain the best and worst suboptimal solutions for the subsequent assessment of effectiveness algorithms used. For this, many computational experiments were carried out and a large amount of output data was collected, based on which conclusions were drawn about the efficiency of the algorithms used.
Keywords: homogeneous system; distribution problem; genetic algorithm; Crohn's algorithm.
Введение
Большинство современных больших систем, обеспечивающих обработку сотен, тысяч и даже десятков тысяч запросов в секунду, в своей основе опираются на аппаратные платформы, поддерживающие параллелизм. То есть для таких систем важна не просто параллельность, позволяющая выполнять два или более фрагмента кода, как будто он работает параллельно, а важен параллелизм, обеспечивающий действительно одновременное их выполнение.
Для обеспечения параллельности необходима среда, позволяющая быстро переключать выполнение между несколькими фрагментами кода. Такой механизм называют псевдопараллелизмом или псевдомногопоточностью. Он реализуется на основе процессов, потоков и нитей -набора средств, существующих в конкретной операционной системе, в то время как для реализации параллелизма необходимо специальное оборудование, обеспечивающее одновременную обработку блоков команд на аппаратном уровне. Таким оборудованием являются многоядерные процессоры, многопроцессорные вычислительные комплексы или несколько взаимосвязанных вычислительных машин.
На основе перечисленного оборудования могут строиться сложные системы, обладающие большими вычислительными мощностями, измеряемыми десятками и сотнями петафлопс. Такие системы позволяют решать сложные вычислительные задачи с использованием больших объёмов данных, распределяя высокую нагрузку между многочисленными исполнителями (вычислительными узлами, процессорами, ядрами процессора или, если назвать обобщённо, устройствами). При этом важно, чтобы нагрузка распределялась между всеми исполнителями одинаково, т. е. все исполнители были задействованы и не простаивали. Это очень важно,
поскольку в случае дисбаланса в загрузке устройств эффективность использования параллелизма существенно сокращается. Таким образом, возникает необходимость формирования плана распределения вычислительной нагрузки, позволяющего обеспечить одинаковую (в идеальном случае) загрузку всех исполнителей. Формирование плана распределения нагрузки может быть сведено к задаче теории расписаний, а поскольку все исполнители вычислительной системы, в подавляющем большинстве случаев, имеют одинаковые характеристики (в силу необходимости их резервирования и замены без останова системы), то при построении такого плана нужно учитывать свойство однородности системы.
Постановка распределительной задачи для однородных систем
В современных системах, параллелизм которых осуществляется за счёт множества одинаковых устройств P = {£1,... ,Рп}, на вход, как правило, поступает некоторое множество заданий Q = {#1,...,#т}, каждое из которых может обрабатываться независимо на любом из устройств. При этом любое устройство из {Р} в каждый момент времени обрабатывает только одно задание из множества {0} за известное время г}, где j = 1,2, ..., т. В процессе обработки задание не может быть передано на другое устройство или возвращено обратно в очередь.
Для решения распределительной задачи необходимо разбить исходное множество 0 на п непересекающихся подмножеств, т.е.
п
( : е [1, п] ^ 0 П ( = 0 и у ( = 0. (1)
1=\
Оптимальность полученного распределения по быстродействию обеспечивается минимаксным критерием, использование которого гарантирует получение минимального значения времени завершения Т параллельной программы, т.е.
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.
TECHNICAL SCIENCE. 2021. No 3
T = max {Ti } ^ min,
\<i<n
(2)
где Т = ^ ^ - загрузка /-го процессора (время
О ^й
окончания выполнения множества заданий Qi с Q, назначенных на процессор р/, где / = 1,2, ...,п) [1 - 3].
Решение сформулированной задачи может быть получено с помощью точных алгоритмов или приближённых. Точные методы позволяют получить лучшее решение, однако время их работы растёт экспоненциально при росте размерности задачи, что делает эти алгоритмы в прикладной плоскости не применимыми. Поэтому целесообразно использовать приближённые алгоритмы, которые дают решение, близкое к оптимальному за приемлемое время.
Задачей исследования является оценка и сравнительный анализ точностных характеристик эвристических и генетических алгоритмов. Авторами предлагается сравнить по точности эвристические и эволюционно-генетические алгоритмы. В качестве эвристических алгоритмов рассматриваются алгоритм Крона и его модификация, а в качестве эволюционно-генетических - классический алгоритм на основе модели Голдберга.
Алгоритмы решения задачи
1. Алгоритм Крона. Предлагаемый к рассмотрению приближённый алгоритм Крона малоизвестен и плохо изучен с прикладной точки зрения, поэтому авторы ставят перед собой цель не только всесторонне исследовать данный алгоритм, но и популяризовать его. Алгоритм Крона ранее уже рассматривался в работах [3 - 5] и весьма хорошо и обстоятельно описан. Однако в рамках данной статьи рассматривается модификация данного алгоритма, а чтобы разобраться с принципом её работы, важно понять принцип работы исходного алгоритма Крона, поэтому в статье приводится его описание в более лаконичной, упрощённой форме и далее на его основе, аналогично, приводится описание модификации.
Итак, принцип действия базовой версии алгоритма Крона заключается в следующем [6 - 8].
Шаг 1. Все задания из входного множества Q распределяются по исполнительным устройствам случайным образом.
Шаг 2. Рассчитываются значения множества Т, определяющего загруженность каждого исполнительного устройства {Тг} (/ = 1...п).
Шаг 3. Из значений множества Т выбираются наибольшее и наименьшее, тем самым
определяя наиболее Ттах и наименее Т™п загруженное исполнительное устройство.
Шаг 4. Вычисляется разность между наибольшей Ттах и наименьшей Т™п загрузкой
д = Т^ах_ утт
Шаг 5. Балансировка загруженности исполнительных устройств с наибольшей и наименьшей загрузкой. Процесс балансировки заключается в обмене заданиями, для которых выполняются условия дк™х > д/™1 и дк™х - д/™1 < Д, где к, / = 1,2 ... т. Если в процессе балансировки обмен заданиями ни разу не выполнился, то алгоритм прекращает свою работу, а иначе переходит к шагу 2.
2. Модификация алгоритма Крона. Работа модифицированного алгоритма Крона аналогична базовой версии за исключением того, что модификация рассматривает для балансировки пару исполнительных устройств с наибольшей Т™ах и наименьшей Т™1 загрузкой. При этом в процессе балансировки берутся пары заданий для каждого из балансируемых устройств, а обмен происходит только при выполнении условия дтах - д™1 < Д, где д™х = д1тах+ д™*, д™оп = д™1 + д™1, д = Т™ах - Т™1, /, к = 1,2, ..., т - 1,/ I = 2, 3, ..., т (т - количество заданий). Если в результате балансировки ни для одной из пар заданий условие обмена не было выполнено, то алгоритм прекращает свою работу, а иначе происходит перерасчёт значений множества Т и процесс балансировки повторяется.
На рис. 1 приведена графическая интерпретация работы описанной модификации алгоритма Крона. Для примера рассмотрена однородная система из трёх исполнительных устройств, на вход которой поступает 12 заданий.
Исходно все задания распределены по устройствам случайным образом и нужно выполнить балансировку нагрузки вычислительной системы в соответствии с минимаксным критерием. Для этого, в первую очередь, необходимо вычислить суммарную загрузку каждого устройства и сформировать множество Т = [Т\, Т2, Тз,}. Далее определяется устройство с наибольшей загрузкой Т™ах и выбирается второе устройство с наименьшей загрузкой Т™1. После этого запускается процесс балансировки для выбранной пары устройств, в ходе которого суммируются попарно все задания на каждом из устройств и полученные суммы сравниваются по принципу каждая с каждой. Если в ходе сравнения находятся такие задания, для которых условие д™ах - д™1 < Д истинно, тогда выполняется обмен этими заданиями.
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.
TECHNICAL SCIENCE. 2021. No 3
pl р2 рЗ
all а21 а31
а 12 а22 а32
аП а23 аЗЗ
а 14 а34
а 15
ртах ргтп
pl p2 рЗ
all ¿21 a31
а12 a22 a32
а13 a23 аЗЗ
а14 a34
all
ртах pmtn
pl p2 рЗ
all a21 a31
л\г a22 a32
а13 a23 аЗЗ
а 14 a34
al5
■J,'шах pmiil
(al 1+а12) — (a21+a22) < Д
(a.1 l+a.12) - (a21+а23) < Д
(al 1+al 2) — (a22+a23) < Д
pl p2 рЗ
all a21 a31
а12 a22 a32
al3 a23 аЗЗ
al4 a34
al5
ртах ■pmtn
pl p2 рЗ
all a21 a31
а12 a22 a32
al3 a23 аЗЗ
al4 a34
al5
ртах pmtn
(al l+al3) — (a21+a22) < Д
(al 1+а13) - (a21+a23) < Д
Рис. 1. Иллюстрация шагов процесса балансировки для выбранной пары устройств / Fig. 1. An illustration of the steps in the balancing process for a selected pair of devices
Примем, что для пар заданий (оц, 013}, с устройства с наибольшей загрузкой Т™*, и {021, 023}, с устройства Т1™1 выполняется условие (011+013) - (021+023) < А. В этом случае происходит обмен парами заданий (011, 013} и (021, 023} между первым и вторым прибором. На рис. 2 приведено новое распределение заданий, для которого пересчитываются значения множества Т и процесс балансировки повторяется.
pl p2 p3
а 12 all a31
а14 all a32
a 115 aL3 аЗЗ
a21 a34
a23
Т1 Т2 Т3
Рис. 2. Результирующее распределение после обмена заданиями между первым и вторым прибором / Fig. 2. The resulting distribution after the exchange of tasks between the first and second device
3. Применение Генетического алгоритма (ГА). Для решения поставленной задачи применяются эволюционно-генетические алгоритмы, которые оперируют совокупностью особей (популяцией). Они представляют собой строки, кодирующие одно из решений задачи [9]. Этим ГА отличается от других алгоритмов, которые оперируют лишь с одним решением, улучшая его.
С помощью функции приспособленности среди всех особей популяции выделяют:
- наиболее приспособленные (более подходящие решения), которые получают возможность скрещиваться и давать потомство;
- наихудшие (плохие решения), которые удаляются из популяции и не дают потомства.
Таким образом, приспособленность нового поколения в среднем выше предыдущего.
В классическом ГА:
- начальная популяция формируется случайным образом;
- размер популяции (количество особей N) фиксируется и не изменяется в течение работы всего алгоритма;
- каждая особь генерируется как случайная L-битная строка, где L - длина кодировки особи;
- длина кодировки для всех особей одинакова.
Эволюционно-генетический алгоритм состоит из трех этапов:
- генерация промежуточной популяции (intermediate generation) путем отбора (selection) текущего поколения;
- скрещивание (recombination) особей промежуточной популяции путем кроссовера (crossover);
- мутация нового поколения.
Эволюцинно-генетический алгоритм, реализованный на основе модели Голдберга, состоит из следующих шагов.
Шаг 1. Формирование начального поколения, состоящего из заданного числа особей.
ISSN 1560-3644 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИМ РЕГИОН._ТЕХНИЧЕСКИЕ НАУКИ. 2021. № 3
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE. 2021. No 3
Шаг 2. Выбор родителей для процесса размножения (оператор отбора).
Шаг 3. Создание потомков выбранных пар родителей (оператор скрещивания).
Шаг 4. Мутация новых особей (оператор мутации).
Шаг 5. Расширение популяции за счет добавления новых только что порожденных особей.
Шаг 6. Сокращение расширенной популяции до исходного размера (оператор редукции).
Шаг 7. Проверка условия останова, которая обычно заключается в неизменности лучшего решения в течение заданного числа поколений. Если проверка прошла не успешно, то переход на шаг 2.
Шаг 8. Лучшая особь выбирается как найденное решение.
При реализации генетического алгоритма большое значение в формировании популяции имеет способ образования начального поколения.
Существует несколько способов формирования особей, далее будут рассмотрены два из них: формирование начального поколения случайным образом и формирование начального поколения с помощью алгоритма Крона и его модификации.
Формирование особей случайным образом. В классическом ГА начальная популяция формируется случайным образом. Фиксируется размер популяции (количество особей в ней), который не изменяется в течение работы всего алгоритма. Формирование каждой особи происходит по следующей схеме: для каждого процесса выбирается случайное число от 1 до 256, каждое число соответствует машине, на которой будет выполняться процесс. Таким образом, процессы распределяются по машинам.
Следует заметить, что каждая особь является одним из решений поставленной задачи. Более приспособленные особи - более подходящие ответы. Этим генетические алгоритмы отличаются от большинства других алгоритмов оптимизации, которые оперируют лишь с одним решением, улучшая его.
Применение оператора кроссовера (crossover). Особи случайным образом разбиваются на пары. К каждой из них с вероятностью Pc применяется оператор кроссовера.
Кроссовер - это операция, при которой из двух хромосом порождается одна или несколько новых хромосом.
В классическом генетическом алгоритме применяется одноточечный оператор кроссовера (1-point crossover): для родительских хромосом
(т.е. строк) случайным образом выбирается точка раздела, и они обмениваются отсеченными частями. Полученные две строки являются потомками:
11010 01100101101 ^ 10110 01100101101,
10110 10011101001 ^ 11010 10011101001.
В программе остается потомок, у которого 1-я часть от первого родителя, а 2-я - от второго.
Применение оператора мутации (mutation). Мутация - это преобразование хромосомы, которое случайно изменяет одну или несколько ее позиций (генов). Наиболее распространенный вид мутаций - случайное изменение только одного из генов хромосомы.
К полученному в результате скрещивания новому поколению применяется оператор мутации. Выбирается бит из каждой особи популяции и с вероятностью Pm инвертируется:
1011001100101101 ^ 1011001101101101.
Отбор особей (fitness). Полученную после кроссовера и мутации особь сравнивают с родительскими особями. Если дочерняя особь качественней, то она переходит в следующее поколение, если же нет, то её место занимает лучшая из родительских особей.
Результаты вычислительных экспериментов
Поскольку для исследования точностных характеристик алгоритма Крона (KRN), его модификации (KRN BY 2) и эволюционно-генетической модели Голдберга (GLD) выбран экспериментальный подход, было проведено несколько серий экспериментов, результаты которых приведены в табл. 1.
Таблица 1 / Table 1 Результаты вычислительных экспериментов / Results of Computational Experiments
n m Opt Усредненное значение критерия
KRN KRN BY 2 GLD
15 91 167,18 175,8 174,25 195,46
18 91 139,34 150,68 149,35 170,1
21 91 119,61 130,6 128,92 160,42
15 131 240,68 243,22 242,28 277,18
18 131 200,67 206,45 202,75 244,78
21 131 172,11 180,19 177,13 218,26
15 161 295,59 296,59 295,8 335,33
18 161 246,46 250,19 247,57 294,64
21 161 211,3 215,15 213,81 258,27
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.
В каждой серии экспериментов были заданы свои значения параметров: n - количество устройств, m - количество заданий. Множество заданий Q, поступающих на вход вычислительной системы, формировалось псевдослучайным образом значениями из диапазона [25, 30], который не менялся от одной серии экспериментов к другой. Так же постоянное значение имели параметры для генетического алгоритма. Количество особей в популяции - 100, из которых количество элит - 0, количество повторов получаемого решения - 100, вероятность кроссовера - 1, вероятность мутации - 1. При этом в каждой серии было сгенерировано по 100 множеств, содержащих входные задания, т.е. в каждой серии проводилось по 100 экспериментов. В табл. 1 приведены усреднённые результаты по всем экспериментам каждой серии.
На основе полученных результатов можно провести общую оценку точностных характеристик каждого алгоритма по всем сериям. Для этого необходимо вычислить значения отклонений полученного решения, в результате работы каждого алгоритма, от теоретически достижимого значения оптимума, значения которого приведены в столбце Opt табл. 1. Результаты расчёта отклонений представлены в табл. 2.
Таблица 2 / Table 2
Значения отклонений от оптимумов / Values of deviations from the optima
В табл. 2 пунктирным контуром выделено наименьшее значение отклонения, которое получено в результате работы модифицированного алгоритма Крона (ККЫ БУ 2) при распределении 161 задания на 15 приборов, а двойным контуром выделено наибольшее отклонение, которое получено в результате работы эволюционно-генетического алгоритма (ОЬП). В целом, анализ значений табл. 2 позволяет говорить о том, что модифицированный алгоритм Крона даёт несколько лучшие результаты по сравнению с ис-
TECHNICAL SCIENCE. 2021. No 3
ходным алгоритмом Крона и эволюционно-генетической моделью Голдберга. Для выявления этой общей тенденции и численного представления результатов анализа были рассчитаны усреднённые значения отклонений по каждому алгоритму, а результаты расчётов приведены в нижней строке табл. 2. Для большей наглядности эти значения приведены на гистограмме (рис. 3).
KRN KRNBV2 GLD
Рис. 3. Усреднённые значения отклонений по каждому алгоритму / Fig. 3. Average values of deviations for each algorithm
По гистограмме, приведённой на рис. 3, чётко видно, что модифицированный алгоритм Крона даёт существенно лучший результат по сравнению с исходным алгоритмом и моделью Голдберга. Если выразить эту разницу в процентном соотношении, то получим, что модифицированный алгоритм Крона даёт результат в среднем на 30,4 % лучше, чем исходный алгоритм Крона и на 89,2 % лучше, чем эволюцион-но-генетическая модель Голдберга. При этом исходный алгоритм Крона показал результаты на 84,5 % лучше, чем модель Голдберга.
При оценке эффективности работы алгоритмов важной составляющей является время, затрачиваемое на получение решения. Поэтому в ходе численных экспериментов были собраны замеры времени в миллисекундах для каждого исследуемого алгоритма, которые представлены в табл. 3.
Таблица 3 / Table 3 Время работы каждого алгоритма / Running time of each algorithm_
n m Усреднённые значения времени получения решения по каждой серии из 100 экспериментов
KRN KRN BY 2 GLD
15 91 2,79 667,62 652,68
18 91 2,77 663,95 741,58
21 91 3,41 670,6 804,82
15 131 4,51 2810,92 917,37
18 131 4,5 2810,21 992,77
21 131 3,9 2829,57 1090,47
15 161 7,2 6394,25 1230,79
18 161 6,82 6696,76 1318,01
21 161 7,18 6696,07 1544,9
4,787 3359,994 1032,599
n m Усреднённые значения отклонений от оптимумов по каждой серии из 100 экспериментов
KRN KRN BY 2 GLD
15 91 8,62 7,07 28,28
18 91 11,34 10,01 30,76
21 91 10,99 9,31 40,81
15 131 2,54 1,6 36,5
18 131 5,78 2,08 44,11
21 131 8,08 5,02 46,15
15 161 1 0,21 39,74
18 161 3,73 ................ 48,18
21 161 3,85 2,51 46,97
6,214 4,324 40,167
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.
Анализ значений временных затрат, приведённых в табл. 3, показал, что модифицированный алгоритм Крона работает несколько медленнее исходного алгоритма и генетического алгоритма. Для большей наглядности средние значения времени работы по каждому алгоритму, приведённые в последней строке табл. 4, показаны на рис. 4.
KRN CRN ВV 2 GLD
Рис. 4. Усреднённые значения временных затрат по каждому алгоритму / Fig. 4. Average values of time spent for each algorithm
Таблица 4 / Table 4
Результаты вычислительных экспериментов для меньшей размерности / Results of computational experiments for lower dimensions
n m Opt Усредненное значение критерия
KRN KRN BY 2 GLD
2 11 150,75 157,41 157,07 156,77
3 11 101,21 108,3 107,55 107,44
4 11 75,76 82,42 81,77 81,35
2 23 316,44 317,25 316,5 317,02
3 23 211,15 214,03 213,71 215,11
4 23 158,39 162,57 161,6 162,9
2 31 426,21 428,71 428,11 429,03
3 31 284,09 284,75 284,35 287,88
4 31 213,63 216,15 215,61 218,04
Как следует из рис. 4, среднее время получения решения с помощью исходного алгоритма Крона составляет 4,787 мс, в то время как использование модифицированного алгоритма Крона существенно увеличивает время поиска и в среднем составляет 3359,994 мс или 3,36 с. Время, затрачиваемое на поиск решения с помощью эволюционно-генетической модели Голдберга, в среднем составляет 1032,599 мс или 1,033 с, что в 3,25 раза меньше, чем время модифицированного алгоритма Крона и в 215,72 раза больше времени поиска решения исходным алгоритмом Крона. Несмотря на такую большую относительную разницу, время работы исследуемых алгоритмов остаётся приемлемым для подавляющего большинства вычислительных систем.
TECHNICAL SCIENCE. 2021. No 3
Анализ точностных свойств исследуемых алгоритмов показал, что лучше всего при заданной размерности задачи проявляет себя модификация алгоритма Крона. Однако для полноты картины следует привести экспериментальные данные и для другой размерности, например, для существенно меньшего количества заданий и устройств. В табл. 4 приведены усреднённые результаты по всем экспериментам каждой серии для меньшей размерности.
В табл. 5 представлены результаты расчёта отклонений полученного решения, в результате работы каждого алгоритма, от теоретически достижимого значения оптимума для задач малой размерности.
Таблица 5 / Table 5
Значения отклонений от оптимумов для задач малой размерности / Values of Deviations from Optima for Low-Dimensional Problems
n m Усреднённые значения отклонений от оптимумов по каждой серии из 100 экспериментов
KRN KRN BY 2 GLD
2 11 6,66 6,32 6,02
3 11 7,09 6,34 6,23
4 11 6,66 6,01 5,59
2 23 0,81 0,06 0,58
3 23 2,88 2,56 3,96
4 23 4,18 3,21 4,51
2 31 2,5 1,9 2,82
3 31 0,66 0,26 3,79
4 31 2,52 1,98 4,41
3,773 3,182 4,212
В табл. 5 пунктирным контуром выделено наименьшее значение отклонения, которое получено в результате работы модифицированного алгоритма Крона (KRN BY 2) при распределении 23 заданий на 2 прибора, а двойным контуром выделено наибольшее отклонение, которое получено в результате работы алгоритма Крона (KRN) при распределении 11 заданий на 3 прибора. По значениям табл. 5 видно, что при распределении 11 заданий на 2, 3 и 4 прибора модель Голдберга показывает лучший результат по сравнению с алгоритмом Крона и его модификацией, однако по мере роста количества заданий эффект первенства пропадает и лидирующую позицию захватывает модифицированный алгоритм Крона, показывающий результаты стабильно лучше, чем у исходного алгоритма Крона и, при увеличении количества заданий, чем у модели Голдберга. Для выявления общей тенденции и численного представления результатов анализа были рассчитаны усреднённые значения откло-
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.
TECHNICAL SCIENCE. 2021. No 3
нений по каждому алгоритму, а результаты расчётов приведены в нижней строке табл. 5. Для большей наглядности эти значения приведены на гистограмме (рис. 5).
Усреднённые значения времени получения
n m решения по каждой серии из 100 экспериментов
KRN KRN BY 2 GLD
2 11 0,11 0,31 35,49
3 11 0,11 0,31 41,65
4 11 0,15 0,038 45,6
2 23 0,16 2,36 64,51
3 23 0,16 3,09 77,52
4 23 0,17 1,26 88,91
2 31 0,19 8,88 72,05
3 31 0,25 8,25 113,94
4 31 0,31 10,48 107,03
0,179 3,886 71,856
Анализ значений временных затрат, приведённых в табл. 6, показал, что при малой размерности генетический алгоритм работает несколько медленнее исходного алгоритма Крона и его модификации. Для большей наглядности средние значения времени работы по каждому алгоритму, приведённые в последней строке табл. 6, показаны на рис. 6.
KRN KRNBY2 SLD
Рис. 5. Усреднённые значения отклонений по каждому алгоритму / Fig. 5. Average values of deviations for each algorithm
По гистограмме, приведённой на рис. 5, видно, что модифицированный алгоритм Крона даёт несколько лучший результат по сравнению с исходным алгоритмом и моделью Голдберга. Если выразить эту разницу в процентном соотношении, то получим, что при решении распределительной задачи малой размерности модифицированный алгоритм Крона в среднем даёт результат на 15,67 % лучше, чем исходный алгоритм Крона и на 24,45 % лучше, чем эволюцион-но-генетическая модель Голдберга. При этом исходный алгоритм Крона показал результаты на 10,42 % лучше, чем модель Голдберга.
Результаты замеров времени, полученных в ходе численных экспериментов, проводимых при решении распределительной задачи малой размерности, представлены в табл. 6.
Таблица 6 / Table 6
Время работы каждого алгоритма при решении задачи малой размерности / The running time of each algorithm when solving a low-dimensional problem
Рис. 6. Усреднённые значения временных затрат по каждому алгоритму / Fig. 6. Average values of time spent for each algorithm
Согласно данным рис. 6, среднее время получения решения с помощью исходного алгоритма Крона составляет 0,179 мс, в то время как использование модифицированного алгоритма Крона увеличивает время поиска и в среднем составляет 3,886 мс. Время, затрачиваемое на поиск решения с помощью эволюционно-генетической модели Голдберга, в среднем, составляет 71,856 мс, что в 18,49 раза больше, чем время модифицированного алгоритма Крона и в 401,68 раза больше времени поиска решения исходным алгоритмом Крона.
Подводя общий итог по результатам анализа, можно сказать, что алгоритм Крона и его модификация дают стабильный результат при любой размерности. Эволюционно-генетический алгоритм чувствителен к изменению размерности, изменение которой существенно влияет как на его точностные, так и временные характеристики. Следует отметить, что генетический алгоритм благодаря своим настроечным параметрам может быть адаптирован под задачу любой размерности и в зависимости от степени адаптации показывать разные результаты. В данном исследовании адаптация генетического алгоритма не производилась, но в дальнейшем планируется провести исследование влияния степени адаптации на точностные характеристики генетического алгоритма.
ISSN 1560-3644 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.
Литература
1. Коффман Э.Г. Теория расписаний и вычислительные машины. М.: Наука, 1984. 337 с.
2. Алексеев О.Г. Комплексное применение методов дискретной оптимизации. М.: Наука, 1987. 250 с.
3. Кобак В.Г., Иванов М.С. Сравнительный анализ алгоритмов решения задачи планирования в однородных вычислительных системах // Математические методы в технике и технологиях - ММТТ-20: сб. тр. XX Междунар. науч. конф. Ярославль, 2007. Т. 2, секц. 2. С. 56 -57.
4. Кобак В.Г., Титов Д.В., Золотых О.А. Исследование алгоритма Крона и его модификации при различных исходных данных // Вестн. ДГТУ. Вып. 8(69). Ростов-на-Дону, 2012.
5. Кобак В.Г., Титов Д.В., Золотых О.А. Алгоритмический подход к увеличению эффективности алгоритма Крона в однородных системах // Материалы межвуз. науч.-техн. конф. «Перспективы развития средств и комплексов связи. Подготовка специалистов связи». Новочеркасск, 2011. С. 179 - 181.
TECHNICAL SCIENCE. 2021. No 3
6. Кобак В.Г., Титов Д.В., Золотых О.А., Чижов Д.В. Различные подходы для увеличения эффективности алгоритма Крона в однородных системах обработки информации // Электромеханика. 2012. № 5. С. 74 - 77.
7. Кобак В.Г., Титов Д.В., Золотых О.А. Повышение эффективности алгоритма Крона за счёт модификации начального распределения заданий // Тр. XX междунар. науч.-техн. конф. «Современные проблемы информатизации». Воронеж, 2011. С. 234 - 239.
8. Кобак В.Г., Титов Д.В., Золотых О.А. Исследование алгоритма Крона при разных начальных условиях // Математические методы в технике и технологиях - ММТТ-24: сб. тр. Междунар. науч. конф. / СГТУ. Саратов, 2011. Т. 8, секц. 12.
9. Кобак В.Г., Титов Д.В., Золотых О.А., Калюка В.И. Исследование эффективности генетических алгоритмов распределения для однородных систем при кратности заданий количеству устройств // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2011. № 3. С. 19 - 22.
References
1. Coffman E.G. (1984) Computer andjob-shop schedulind theory. Moscow, Nauka. 337 p. (In Russian).
2. Alekseev O.G. (1987) Complex application of discrete optimization methods. Moscow, Nauka. 250 p. (In Russian).
3. Kobak V.G. Ivanov M.S. (2007) Comparative analysis of algorithms for solving the planning problem in homogeneous computing systems. Mathematical methods in engineering and technology - MMET-20 (Papers collection of the XX International Scientific Conference), vol. 2, section 2 (Yaroslavl), pp. 56-57. (In Russian).
4. Kobak V.G., Titov D.V. Zolotykh O.A. (2012) Research of the Crohn's algorithm and its modification with various initial data. Bulletin, Don state technical university, vol. 8(69). (In Russian).
5. Kobak V.G., Titov D.V., Zolotykh O.A. (2011) Algorithmic approach to efficiency increasing of the Crohn's algorithm in homogeneous systems Prospects for the development of communication facilities and complexes. Communication specialists training (Materials of the interuniversity scientific and technical conference), vol. 1, pp. 179-181. (In Russian).
6. Kobak V.G., Titov D.V., Zolotykh O.A., Chizhov D.V. (2012) Various approaches to increase the efficiency of the Crohn's algorithm in homogeneous information processing systems. Electromechanics, no. 5. pp. 74-77. (In Russian).
7. Kobak V.G., Titov D.V. and Zolotykh O.A. (2011) Efficiency improving of the Crohn's algorithm by modifying initial of tasks distribution. Modern problems of informatization (Proceedings of the XX International Scientific and Technical Conference), vol. 1, pp. 234-239. (In Russian).
8. Kobak V.G., Titov D.V., Zolotykh O.A. (2011) Research of the Crohn's algorithm under different initial conditions. Mathematical methods in engineering and technology - MMET-24 (Papers collection of the XXIV International Scientific Conference), vol. 8, section 12. (In Russian).
9. Kobak V.G., Titov D.V., Zolotykh O.A., Kaluka V.I. (2011) Research of the efficiency of genetic distribution algorithms for homogeneous systems with a multiplicity of tasks to the number of devices. University News. North-Caucasian Region. Technical Sciences, no. 3. pp. 19-22. (In Russian).
Поступила в редакцию /Received 02 июля 2021 г. / July 02, 2021