УДК 681.3+681.5 DOI: 10.17213/0321-2653-2016-1-41-46
РАЗЛИЧНЫЕ ПОДХОДЫ К РЕШЕНИЮ ОДНОРОДНОЙ МИНИМАКСНОЙ ЗАДАЧИ ТЕОРИИ РАСПИСАНИЙ ЭВРИСТИЧЕСКИМИ АЛГОРИТМАМИ
DIFFERENT APPROACHES TO THE SOLUTION OF A HOMOGENEOUS MINIMAX PROBLEM OF SCHEDULING HEURISTIC ALGORITHMS
© 2016 г. В.Г. Кобак, А.Г. Жуковский, О.А. Золотых, А.Н. Ростов
Кобак Валерий Григорьевич - д-р техн. наук, профессор, Донской государственный технический универсистет, г. Ростов-на-Дону, Россия. E-mail: [email protected]
Жуковский Александр Георгиевич - д-р пед. наук, профессор, Донской государственный технический универсистет, г. Ростов-на-Дону, Россия. E-mail: [email protected]
Золотых Олег Анатольевич - доцент, Донской государственный технический универсистет, г. Ростов-на-Дону, Россия.
Ростов Адрей Николаевич - магистрант, Институт энергетики и машиностроения Донского государственного технического университета, г. Ростов-на-Дону, Россия.
Kobak Valery Grigorievich - Doctor of Technical Sciences, professor, Don State Technical University, Rostov-on-Don, Russia. E-mail: [email protected]
Zhukovsky Alexander Georgievich - Doctor of Technical Sciences, professor, Don State Technical University, Rostov-on-Don, Russia. E-mail: [email protected]
Zolotykh Oleg Anatolievich - assistant professor, Don State Technical University, Rostov-on-Don, Russia.
Rostov Andrei Nikolayevich - post-graduate student, Institute for Energy and Engineering, Don State Technical University, Rostov-on-Don, Russia.
Впервые предлагаются два новых метода решения однородной минимаксной задачи: модель Голд-берга c использованием в начальной популяции элиты, получаемой на основе использования эвристического алгоритма Крона, и алгоритм Крона, где для формирования начального распределения используется модель Голдберга. Целью работы является сравнение по точности исходной модели Голдберга и алгоритма Крона, а также их модификаций, полученных в результате совмещения исходных алгоритмов. Так как алгоритмы и их модификации используют множество случайных параметров, аналитически невозможно определить, какой из них даст более точное решение, поэтому при исследовании алгоритмов и их модификаций проводились вычислительные эксперименты, позволившие сформировать выводы, характеризующие эффективность исследованных алгоритмов.
Ключевые слова: генетический алгоритм; однородная система; минимаксная задача; метод Крона; элитная особь; эвристический алгоритм.
In this paper first proposed two new methods of solution of the homogeneous minimax problem: a model of Goldberg using the initial population of the elite derived using heuristic algorithm and the algorithm Crohn Crohn's disease, where for the formation of the initial distribution model is used Goldberg. The aim is a comparison of the accuracy of the original Goldberg model and Crohn algorithm, as well as modifications thereof resulting from the initial alignment algorithms. Since the algorithms and their modifications use many random parameters analytically impossible to determine which of them will give a more accurate solution, therefore, the study of algorithms and their modifications, carried out the computational experiments allowed to form conclusions, characterizing the effectiveness of the researched algorithms.
Keywords: genetic algorithm; homogeneous system; minimax problem; the method of Crohn's elite individuals; heuristic algorithm.
Введение
В современных условиях бурного развития высокопроизводительных информационных технологий особенно остро стоит задача управления вычислительными ресурсами. Это связано, в первую очередь, с формированием плана равномерного распределения
и использования (равномерной загрузки) вычислительных ресурсов, совершенствование и развитие которых на данный момент выдвинуто на первый план. Однако при организации вычислительных процессов, требующих высокой производительности, не все зависит от быстродействия аппаратной части (в
частности микропроцессора). Огромную роль играет решение вопроса об эффективности загрузки вычислительных устройств. Так, например, если используется вычислительный комплекс, состоящий из четырех вычислительных устройств, то разумно распределять вычислительную нагрузку между всеми устройствами максимально равномерно, вместо того чтобы загружать только какую-то часть ресурсов. Такой подход позволит сделать вычислительный процесс более эффективным и сократит время выполнения вычислительных операций в целом.
Для формирования плана равномерного распределения существует множество методов и алгоритмов, как точных, так и приближенных. Точные методы позволяют находить оптимальное решение, но при этом требуют больших временных затрат, которые зачастую не приемлемы и в некоторых случаях даже превышают время выполнения самой вычислительной задачи, для решения которой формируется план. Приближенные алгоритмы, в сравнении с точными, значительно выигрывают по быстродействию, но уступают по точности. Авторами предлагается рассмотреть некоторые алгоритмы и методологии и их модификации, основанные на получении приближенных решений с помощью метода Крона и Генетического алгоритма.
Постановка задачи
В данном случае, рассматривая вычислительный комплекс, предполагаем, что он представляет собой набор устройств с одинаковыми характеристиками, то есть является однородной системой [1]. Поэтому задача формирования плана равномерной загрузки вычислительных ресурсов, в данном случае, сводится к решению задачи теории расписаний для однородных систем обработки информации и может быть сформулирована следующим образом. Пусть имеется однородная вычислительная система, состоящая из п идентичных параллельных процессоров Р={р1,.,рп} , на которые поступает т независимых заданий Q =^,...,qm}, образующих параллельную программу, причем, известно время выполнения ]-го задания t]■ на любом из процессоров вычислительной
системы, где ] = 1, т [1]. В каждый момент времени отдельный процессор обслуживает не более одного задания, которое не передаётся на другой процессор. Задача составления расписания сводится к разбиению исходного множества заданий на п непересекающихся подмножеств, т.е. Qi :У1,]е[1,п]^Qi ПQ]■ = 0 и
п
UQг■ = Q. Критерием разбиения, обеспечивающего
г=1
оптимальность расписания по быстродействию, служит минимаксный критерий, определяющий такое распределение заданий по процессорам, при котором время завершения Т параллельной программы мини-
мально, т.е. T = max{T}^min, где Ti = ^ t, - за-
Ш-П tjQ
грузка /-го процессора (время окончания выполнения множества заданий Qi с Q , назначенных на процессор pi, где i = 1,n) [2].
Методы решения задачи теории расписаний Алгоритм Крона
Одним из упомянутых ранее приближённых алгоритмов является алгоритм Крона [3 - 6]. Принцип его действия заключается в следующем:
- случайным образом множество заданий распределяется на множество приборов;
- вычисляется время загрузки каждого прибора {T/} (i = 1 ... n);
- выбираются приборы с максимальной Tmsx и минимальной T™1 загрузкой;
- вычисляются Д, где Д = Tmax - Tmin ;
- уравновешиваются загрузки приборов с Tmax и Tmin путём перебрасывания заданий qkmax, где к = 1, 2, ..., m, меньших Д, в прибор с минимальной загрузкой. После каждого «переброса» значения {T,} пере-считываются;
- между приборами с максимальным Tmax и минимальным Г-т значениями из набора {T,} при выполнении условий [1] qkmax > qmm и qkmax - qmm < Д, где к, j = 1, 2, ..., m, происходит обмен заданиями. После каждой операции обмена значения {T,} пересчитыва-ются, выбираются новые два прибора с Tmax и Tmin и процесс проверки указанного выше условия повторяется. Если условие ни разу не выполнится, алгоритм завершается.
Генетические алгоритмы
Генетические алгоритмы (ГА) оперируют совокупностью особей (популяцией), которые представляют собой строки, кодирующие одно из решений задачи [7, 8]. Этим ГА отличается от большинства других алгоритмов оптимизации, которые оперируют лишь с одним решением, улучшая его.
С помощью функции приспособленности среди всех особей популяции выделяют:
- наиболее приспособленные (более подходящие решения), которые получают возможность скрещиваться и давать потомство;
- наихудшие (плохие решения), которые удаляются из популяции и не дают потомства.
Таким образом, приспособленность нового поколения в среднем выше предыдущего.
В классическом ГА:
- начальная популяция формируется случайным образом;
- размер популяции (количество особей N) фиксируется и не изменяется в течение работы всего алгоритма;
- каждая особь генерируется как случайная L-битная строка, где L - длина кодировки особи;
- длина кодировки для всех особей одинакова.
Эволюционно-генетический алгоритм состоит из
трех этапов:
- генерация промежуточной популяции (intermediate generation) путем отбора (selection) текущего поколения;
- скрещивание (recombination) особей промежуточной популяции путем кроссовера (crossover), что приводит к формированию нового поколения;
- мутация нового поколения.
Модификация генетического алгоритма на основе модели Голдберга
Рассматриваемая эволюционно-генетическая модель Голдберга имеет следующий алгоритм работы:
1) формирование начального поколения, состоящего из заданного числа особей;
2) выбор родителей для процесса размножения (оператор отбора);
3) создание потомков выбранных пар родителей (оператор скрещивания);
4) мутация новых особей (оператор мутации);
5) расширение популяции за счет добавления новых, только что порожденных особей;
6) сокращение расширенной популяции до исходного размера (оператор редукции);
7) проверка условия останова, которая обычно заключается в неизменности лучшего решения в течение заданного числа поколений. Если проверка прошла не успешно, то переход на шаг 2;
8) лучшая особь выбирается как найденное решение.
При реализации генетического алгоритма большое значение в формировании популяции имеет способ образования начального поколения.
Существует несколько способов формирования особей, далее будут рассмотрены два из них: формирование начального поколения случайным образом и формирование начального поколения с помощью алгоритма Крона.
Формирование особей случайным образом. В классическом ГА начальная популяция формируется случайным образом. Фиксируется размер популяции (количество особей в ней), который не изменяется в течение работы всего алгоритма. Формирование каждой особи происходит по следующей схеме: для каждого процесса выбирается случайное число от 1 до 256, каждое число соответствует машине, на которой будет выполняться процесс. Таким образом, процессы распределяются по машинам.
Следует заметить, что каждая особь является одним из решений поставленной задачи. Более приспособленные особи — это более подходящие ответы. Этим ГА отличается от большинства других алгоритмов оптимизации, которые оперируют лишь с одним решением, улучшая его.
Формирование элитных особей с помощью алгоритма Крона. В данном случае начальная популяция формируется случайным образом, как описано выше,
и только одна или несколько особей формируются с помощью приведенного выше алгоритма Крона, а затем производится уточнение полученного решения с помощью ГА.
Применение оператора Кроссовера. Особи случайным образом разбиваются на пары. К каждой из них с вероятностью Pc применяется оператор кроссовера.
Кроссовер - это операция, при которой из двух хромосом порождается одна или несколько новых хромосом.
В классическом генетическом алгоритме применяется одноточечный оператор кроссовера (1-point crossover): для родительских хромосом (т. е. строк) случайным образом выбирается точка раздела, и они обмениваются отсеченными частями. Полученные две строки являются потомками:
11010 01100101101 ^ 10110 01100101101,
10110 10011101001 ^ 11010 10011101001.
В программе остается потомок, у которого первая часть - от первого родителя, а вторая - от второго.
Применение оператора Мутации. Мутация - это преобразование хромосомы, которое случайно изменяет одну или несколько ее позиций (генов). Наиболее распространенный вид мутаций - случайное изменение только одного из генов хромосомы.
К полученному в результате скрещивания к новому поколению применяется оператор мутации. Выбирается бит из каждой особи популяции и с вероятностью Pm инвертируется:
1011001100101101 ^ 1011001101101101.
Отбор особей. Полученную после кроссовера и мутации особь сравнивают с родительскими особями. Если дочерняя особь качественней, то она переходит в следующее поколение, если же нет, то ее место занимает лучшая из родительских особей.
Модификация алгоритма Крона на основе
формирования начального распределения с помощью Генетического алгоритма
Авторами предлагается модификация алгоритма Крона, которая основана на формировании начального распределения заданий в соответствии с эволюци-онно-генетической моделью Голдберга. Таким образом, получив на вход множество значений времени выполнения заданий, модифицированный алгоритм формирует начальное (самое первое) распределение с помощью модели Голдберга, а затем производит уточнение полученного распределения с помощью описанного выше алгоритма Крона.
В рамках исследования предложенных алгоритмов поставлены вычислительные эксперименты [9, 10]. В ходе экспериментов были случайным образом сгенерированы по 100 векторов загрузки, содержащие задания в диапазоне [25, 30]. При этом количество устройств n от одной серии экспериментов к другой не изменялось, а количество заданий m увеличивалось. Так же постоянное значение имело количество особей
в популяции - 100, из которых количество элит - 1, количество повторов получаемого решения - 100, вероятность кроссовера - 1, вероятность мутации - 1.
Полученные результаты усреднялись по количеству экспериментов. Результаты экспериментов представлены в табл. 1.
Имея результаты работы алгоритмов для каждого набора параметров и оптимальные значения, можно получить значения отклонения результата работы того или иного алгоритма от оптимума. В табл. 2 приведены отклонения результирующих значений алгоритмов от соответствующих оптимальных значений.
По данным, приведенным в табл. 2, можно заключить, что с ростом количества заданий эффективность приближенных алгоритмов значительно растет, особенно это заметно на примере исследуемой модификации модели Голдберга как самостоятельно, так и в совокупности с алгоритмом Крона.
Чтобы иметь более общее представление об эффективности работы алгоритмов, полученные результаты можно сгруппировать по количеству заданий (табл. 3) и по количеству приборов (табл. 4).
По данным, приведенным в табл. 3 и 4, видно, что наиболее эффективной является модификация эволюционно-генетической модели, в которой элитные особи формируются с помощью алгоритма Крона, на втором месте идет непосредственно алгоритм Крона, при этом усредненная разница между ними составляет 5,7 %.
Чтобы более наглядно показать разницу исследуемых алгоритмов, построен ряд гистограмм, отображающих отклонения значений алгоритмов от оптимума при заданном количестве заданий. Так, на рисунке приведена гистограмма, которая показывает отклонения значений алгоритмов от оптимума: а - при 13 заданиях; б - при 31 задании; в - при 131 задании.
Таблица 1
Результаты вычислительных экспериментов
Усредненное значение критерия
n m Оптимальные значения Алгоритм Крона Алгоритм Крона + Голдберга Модель Голдберга Модель Голдберга + Крона
2 13 179,44 185,21 184,43 184,44 184,71
3 13 119,61 129,51 128,97 128,99 129,26
4 13 89,67 102,93 102,6 102,66 102,89
2 31 426,07 426,10 426,08 426,08 426,09
3 31 284,17 284,61 286,69 287,78 284,64
4 31 213,19 215,89 216,98 217,51 215,78
2 131 1801,77 1801,77 1801,77 1801,77 1801,77
3 131 1201,98 1202,98 1202,39 1202,91 1201,98
4 131 900,31 900,31 903,49 904,30 900,31
Таблица 2
Значения отклонений от оптимумов
n m Значения отклонений от оптимумов
Оптимальные значения Алгоритм Крона Алгоритм Крона + Голдберга Модель Голдберга Модель Голдберга + Крона
2 13 179,44 5,77 4,99 5,00 5,27
3 13 119,61 9,90 9,36 9,38 9,65
4 13 89,67 13,26 12,93 12,99 13,22
2 31 426,07 0,03 0,01 0,01 0,02
3 31 284,17 0,44 2,52 3,61 0,47
4 31 213,19 2,70 3,79 4,32 2,59
2 131 1801,77 0 0 0 0
3 131 1201,98 100 0,41 0,93 0
4 131 900,31 0 3,18 3,99 0
Таблица 3
Усредненные значения отклонений, сгруппированные по количеству заданий
Количество заданий m Алгоритм Крона Алгоритм Крона + Голдберга Модель Голдберга Модель Голдберга + Крона
13 9,64 9,09 9,12 9,38
31 1,06 2,11 2,65 1,03
131 0,33 1,20 1,64 0,00
Среднее по алгоритму 3,68 4,13 4,47 3,47
Таблица 4
Усредненные значения отклонений, сгруппированные по количеству приборов
Количество приборов n Алгоритм Крона Алгоритм Крона + Голдберга Модель Голдберга Модель Голдберга + Крона
2 5,80 5,00 5,01 5,29
3 11,34 12,29 13,92 10,12
4 15,96 19,90 21,30 15,81
Среднее по алгоритму 11,03 12,40 13,41 10,41
Алгоритм Алгоритм Модель Модель Крона Крона + Голдберга Голдберга + Голдберга Крона
Алгоритм Алгоритм Модель Модель
Кр0на Крона + Голдберга Голдберга +
Голдберга Крона
б
Алгоритм Алгоритм Модель Модель Крона Крона + Голдберга Голдберга + Голдберга Крона
Гистограммы, иллюстрирующие отклонения алгоритмов от оптимума
Литература
1. Коффман Э.Г. Теория расписания и вычислительные машины. М.: Наука, 1987.
2. Алексеев В.Ю. Комплексное применение методов дискретной оптимизации. М.: Наука, 1987.
3. Кобак В.Г., Иванов М.С. Сравнительный анализ алгоритмов решения задачи планирования в однородных вы-
а
в
числительных системах // Математические методы в технике и технологиях - ММТТ-20: сб. тр. XX Между-нар. науч. конф. Ярославль, 2007. Т. 2.
4. Кобак В.Г., Титов Д.В., Золотых О.А. Алгоритмический подход к увеличению эффективности алгоритма Крона в однородных системах // Материалы межвузовской науч.-техн. конф. «Перспективы развития средств и комплексов связи. Подготовка специалистов связи». Новочеркасск, 2011. С. 179 - 181.
5. Кобак В.Г., Титов Д.В., Золотых О.А. Повышение эффективности алгоритма Крона за счёт модификации начального распределения заданий // Труды XX между-нар. науч.-техн. конф. «Современные проблемы информатизации». Воронеж, 2011. С. 234 - 239.
6. Кобак В.Г., Титов Д.В., Золотых О.А. Исследование алгоритма Крона и его модификации при различных исходных данных // Вестн. ДГТУ. 2012. № 8(69). С. 62 - 67.
7. Повышение эффективности генетического алгоритма на базе модели Голдберга за счет применения элиты /
B.Г. Кобак, Д.В. Титов, О.А. Золотых, Д.В. Плешаков // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2014. № 3.
C. 12 - 15.
8. Различные подходы для увеличения эффективности алгоритма Крона в однородных системах обработки информации / В.Г. Кобак, Д.В. Титов, О.А. Золотых, Д.В. Чижов // Электромеханика. 2012. № 5. С. 74 - 77.
9. Исследование эффективности генетических алгоритмов распределения для однородных систем при кратности заданий количеству устройств / В.Г. Кобак, Д.В. Титов, О.А. Золотых, В.И. Калюка // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2011. № 3. 19 - 22.
10. Кобак В.Г., Титов Д.В., Золотых О.А. Исследование алгоритма Крона при разных начальных условиях // Мате-магические методы в технике и технологиях - ММТТ-24: сб. тр. Междунар. науч. конф. / СГТУ. Саратов, 2011. Т. 8.
References
1. Koffman E.G. Teoriya raspisaniya i vychislitel'nye mashiny [Scheduling theory and computers]. Moscow, Nauka Publ., 1987.
2. Alekseev V.Yu. Kompleksnoe primenenie metodov diskretnoi optimizatsii [Complex application of discrete optimization]. Moscow, Nauka Publ., 1987.
3. Kobak V.G., Ivanov M.S. [Comparative analysis of algorithms for solving the planning problem in homogeneous computing systems]. Matematicheskie metody v tekhnike i tekhnologiyakh - MMTT-20: sb. tp. XXMezhdunar. nauch. konf. [Mathematical methods in technique and technologies - MMTT 20: XX Intern. scien. conf.]. Yaroslavl, 2007, vol. 2, sec. 2. [In Russ.]
4. Kobak V.G., Titov D.V., Zolotykh O.A. [An algorithmic approach to increase the efficiency of the algorithm in Crohn homogeneous systems]. Materialy mezhvuzovskoi nauchno-tekhnicheskoi konferentsii «Perspektivy razvitiya sredstv i kompleksov svyazi. Podgotovka spetsialistov svyazi» [Proceedings of the Intercollegiate scientific conference "Prospects of development tools and communication systems. Training of specialists regard"]. Novocherkassk, 2011, pp 179-181. [In Russ.]
5. Kobak V.G., Titov D.V., Zolotykh O.A. [Improving the efficiency of the algorithm by modifying Crohn's initial distribution of tasks]. Trudy XXmezhdunarodnoi nauchno-tekhnicheskoi konferentsii «Sovremennyeproblemy informatizatsii» [Proceedings of the XX International scientific conference "Modern problems of information"]. Voronezh, 2011, pp. 234-239. [In Russ.]
6. Kobak V.G., Titov D.V., Zolotykh O.A. Issledovanie algoritma Krona i ego modifikatsii pri razlichnykh iskhodnykh dannykh [Study Crohn's algorithm and its modifications under different initial data]. Vestnik DGTU, 2012, vol. 8 (69), pp. 62-67. [In Russ.]
7. Kobak V.G., Titov D.V., Zolotykh O.A., Pleshakov D.V.Povyshenie effektivnosti geneticheskogo algoritma na baze modeli Goldberga za schet primeneniya elity [Improving the efficiency of genetic algorithm based on the model by applying Goldberg elite]. Izv. vuzov. Sev.-Kavk. region. Tekhn. Nauki, 2014, no. 3, pp. 12-15. [In Russ.]
8. Kobak V.G., Titov D.V., Zolotykh O.A., Chizhov D.V. Razlichnye podkhody dlya uvelicheniya effektivnosti algoritma Krona v odnorodnykh sistemakh obrabotki informatsii [Various approaches to increase the efficiency of the algorithm Crohn's uniform data processing systems]. Elektromekhanika, 2012, no. 5, pp. 74-77. [In Russ.]
9. Kobak V.G., Titov D.V., Zolotykh O.A., Kalyuka V.I., Issledovanie effektivnosti geneticheskikh algoritmov raspredeleniya dlya odnorodnykh sistem pri kratnosti zadanii kolichestvu ustroistv [Investigation of the efficiency of genetic algorithms for homogeneous distribution systems in the multiplicity of tasks the number of devices]. Izv. vuzov. Sev.-Kavk. region. Tekhn. Nauki, 2011, no. 3, pp. 19-22. [In Russ.]
10. Kobak V.G., Titov D.V., Zolotykh O.A. [Study Crohn's algorithm with different initial conditions]. Matematicheskie metody v tekhnike i tekhnologiyakh - MMTT-24: sb. tr. Mezhdunar. nauch. konf [Mathematical methods in technique and technologies -MMTT-24:Intern. scientific. conf.]. Saratov, 2011, vol. 8.
Поступила в редакцию 21 января 2016 г.