Научная статья на тему 'Повышение эффективности генетического алгоритма на базе модели Голденберга за счет применения элиты'

Повышение эффективности генетического алгоритма на базе модели Голденберга за счет применения элиты Текст научной статьи по специальности «Математика»

CC BY
167
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / GENETIC ALGORITHM / НЕОДНОРОДНАЯ СИСТЕМА / HETEROGENEOUS SYSTEM / МИНИМАКСНЫЙ КРИТЕРИЙ / MINIMAX CRITERION / МОДЕЛЬ ГОЛДЕНБЕРГА / GOLDENBERG MODEL / АЛГОРИТМ ПЛОТНИКОВА ЗВЕРЕВА / PLOTNIKOV ZVEREV ALGORITHM / ЭЛИТА / ELITE

Аннотация научной статьи по математике, автор научной работы — Кобак Валерий Григорьевич, Титов Дмитрий Вячеславович, Плешаков Денис Валерьевич, Золотых Олег Анатольевич

Рассматривается способ повышения эффективности генетического алгоритма на базе модели Голденберга за счет использования элиты при решении неоднородной минимаксной задачи, которая подробно описана В.Ю. Алексеевым (1987), где приведен точный алгоритм решения. Данный метод основан на методе ветвей и границ, а потому имеет крайне ограниченное применение (для задач малой размерности). Модель Годенберга позволяет за приемлемое время решать задачи большой размерности. Рассмотрен вариант работы с элитой путем выбора лучших особей в популяции и вариант с генерацией элиты на основе решения, полученного алгоритмом Плотникова Зверева.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Кобак Валерий Григорьевич, Титов Дмитрий Вячеславович, Плешаков Денис Валерьевич, Золотых Олег Анатольевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPROVING THE EFFECTIVENESS OF THE GOLDENBERG MODEL BASED GENETIC ALGORITHM THROUGH THE USE OF ELITE

This paper describes a method of improving the genetic algorithm based on Goldenberg model through the use of elites in solving heterogeneous minimax problems. It’s considered a case of work with the elite by choosing the best individuals in a population and a case of generating elite on the basis of the solution, obtained by the Plotnikov Zverev algorithm.

Текст научной работы на тему «Повышение эффективности генетического алгоритма на базе модели Голденберга за счет применения элиты»

УДК 681.3+681.5

ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ГЕНЕТИЧЕСКОГО АЛГОРИТМА НА БАЗЕ МОДЕЛИ ГОЛДЕНБЕРГА ЗА СЧЕТ ПРИМЕНЕНИЯ ЭЛИТЫ

© 2014 г. В.Г. Кобак, Д.В. Титов, Д.В. Плешаков, О.А.Золотых

Кобак Валерий Григорьевич - профессор, Донской государственный технический университет. Тел. 8-989-635-13-66.

Титов Дмитрий Вячеславович - доцент, Донской государственный технический университет. Тел. 8-918-580-21-89.

Плешаков Денис Валерьевич - аспирант, Донской государственный технический университет. Тел. 8-906-426-69-97.

Золотых Олег Анатольевич - доцент, Донской государственный технический университет. Тел. 8-989-635-13-66.

Kobak Valery Grigorievich - professor, Don State Technical University. Ph. 8-989-635-13-66.

Titov Dmitry Vyacheslavovich - assistant professor, Don State Technical University. Ph. 8-918-580-21-89.

Pleshakov Denis Valerievich - post-graduate student, Don State Technical University. Ph. 8-906-426-69-97.

Zolotih Oleg Anatolievich - assistant professor, Don State Technical University. Ph. доцент, Донской государственный технический университет. Тел. 8-989-635-13-66.

Рассматривается способ повышения эффективности генетического алгоритма на базе модели Голденберга за счет использования элиты при решении неоднородной минимаксной задачи, которая подробно описана В.Ю. Алексеевым (1987), где приведен точный алгоритм решения. Данный метод основан на методе ветвей и границ, а потому имеет крайне ограниченное применение (для задач малой размерности). Модель Годенберга позволяет за приемлемое время решать задачи большой размерности. Рассмотрен вариант работы с элитой путем выбора лучших особей в популяции и вариант с генерацией элиты на основе решения, полученного алгоритмом Плотникова - Зверева.

Ключевые слова: генетический алгоритм; неоднородная система; минимаксный критерий; модель Голденберга; алгоритм Плотникова - Зверева; элита.

This paper describes a method of improving the genetic algorithm based on Goldenberg model through the use of elites in solving heterogeneous minimax problems. It's considered a case of work with the elite by choosing the best individuals in a population and a case of generating elite on the basis of the solution, obtained by the Plotnikov - Zverev algorithm.

Keywords: genetic algorithm; heterogeneous system; minimax criterion; Goldenberg model; Plotnikov - Zverev algorithm; elite.

Принцип элитизма

Одной из модификаций генетического алгоритма (модель Голденберга) является применение элиты. Суть данной модификации заключается в том, что на каждой итерации работы алгоритма определяется изначально заданное количество элитных особей Е. Количество особей является параметром работы алгоритма и является неизменным на протяжении всей работы алгоритма. При обработке элитные особи не участвуют в кроссовере, и к ним не применяется мутация. Элитные особи без каких-либо изменений сразу переходят в следующее поколение. Однако данные особи могут быть выбраны в качестве партнеров при обработке не элитных особей.

Описание алгоритма работы с элитой

Самый простой вариант использования элиты -это выявление заданного количества Е элитных особей среди случайно сгенерированных особей в начальной популяции. Рассмотрим данный метод работы с элитой на примере решения неоднородной мини-

максной задачи теории расписаний [1] по распределению М = 7 заданий на N = 3 устройства генетическим алгоритмом на базе модели Голденберга. Количество особей в популяции Р = 5, количество элитных особей Е = 2. Матрица загрузки Т, используемая в данной задаче, приведена ниже (время выполнения задания варьируется в диапазоне от 20 до 30).

Т =

23 25 20

24 28 22

24

25 21

20 26 23

29 25 24

30 25 29

23

24 28

Создадим начальную популяцию из Р особей, случайным образом распределив для каждой особи задания по устройствам. Полученная популяция приведена на рис. 1 ниже.

На рис. 1 видно, что лучшими в популяции являются особи 3 и 4, они имеют минимальное значение критерия по сравнению с другими особями. Эти особи определяются как элита и сразу переходят в новое поколение. Остальные особи (особи 1, 2 и 5) обрабатываются в соответствии с генетическим алгоритмом на базе модели Голденберга:

1) для особи определяется, будет ли она участвовать в кроссовере, если да, то переходим к п. 2, иначе переходим к п. 3;

2) из популяции выбирается особь-партнер для кроссовера (в качестве партнера допускается использование элитных особей), выполняется кроссовер, переходим к п. 3;

3) для особи определяется, будет ли к ней применяться мутация, если да, то переходим к п. 4, иначе переходим к п. 5;

4) для особи выполняем мутацию, переходим к

п. 5;

5) полученная особь переходит в следующее поколение.

Шаги 1-5 выполняются для всех не элитных особей в популяции [2].

На рис. 2 приведена популяция, полученная на второй итерации работы алгоритма.

Из рис. 2 видно, что особи 3 и 4 перешли в новое поколение без изменений.

На следующей итерации нам снова необходимо определить элиту. Так как количество элитных особей неизменно, то в новом поколении нам нужно определить элитные особи. Из рисунка видно, что теперь элитными являются особи 1 и 3. На следующей итерации данные особи сразу перейдут в новое поколение. Для остальных особей будут выполнены расчеты в соответствии с ранее описанным алгоритмом.

Использование решения алгоритмом Плотникова - Зверева в качестве элиты

В предыдущем примере был приведен самый простой вариант работы с элитой. Теперь рассмотрим вариант работы с элитой, когда распределение для элитных особей предварительно определяется путем решения поставленной минимаксной задачи алгоритмом Плотникова - Зверева [3].

30 45 60 75

Рис. 1. Начальная популяция из пяти особей

15 30 45 60 75 90

Рис. 1. Популяция на второй итерации работы алгоритма

В данном варианте для начальной популяции случайным образом генерируется только Р-Е особей, а Е особей создается на основе распределения, полученного при решении задачи алгоритмом Плотникова -Зверева. При этом если Е> 1, то создается только одна особь, после чего создается Е-1 копий полученной особи. Таким образом, полученная популяция будет иметь следующий вид:

А = {аь ... , ар.Е, е, е*ь ... , е*Ел }, (1)

где А - популяция; а\ - аР-Е - особи, полученные в результате распределения заданий по устройствам случайным образом; е - особь, полученная на основе решения задачи алгоритмом Плотникова - Зверева; е*1 - е*Е-1 - дубликаты особи е.

После формирования начальной популяции в ней определяется элита. При этом особь е и, следовательно, особи е*1 - е *Е-1 могут не являться элитными.

Рассмотрим данный вариант работы с элитой на примере. Условия задачи возьмем такие же, как и в предыдущем примере.

Сначала решим задачу алгоритмом Плотникова -Зверева.

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

Упорядочим столбцы таблицы по рассчитанным суммам в порядке убывания (табл. 2).

Теперь поочередно для каждого столбца полученной табл. 2 выполним следующие действия:

1) к текущей загрузке каждого устройства прибавим соответствующее значение из текущего столбца (изначально загрузка всех устройств равна нулю);

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

Рассмотрим эти шаги на примере.

Текущая загрузка устройств Ж = {0, 0, 0}. Прибавим к текущей загрузке значения первого столбца. Получим Ж* = {0+30, 0+25, 0+29} = {30, 25, 29}. Минимальная полученная сумма соответствует устройству п = 2, текущий столбец соответствует заданию т = 6, следовательно, задание т = 6 помещается на устройство п = 2.

Повторим данные действия для следующего столбца таблицы. Теперь текущая загрузка устройств Ж = {0, 25, 0}. Для столбца 2 получим Ж* = {0+29, 25+25, 0+24} = {29, 50, 24}. Минимальная полученная сумма соответствует устройству п = 3, текущий столбец соответствует заданию т = 5, следовательно, задание т = 5 помещается на устройство п = 3.

Данные действия повторяются для каждого столбца таблицы. Полученное распределение принимается за окончательное. В данном примере распределение имеет вид А = {3, 3, 1, 2, 3, 2, 1}.

Теперь данное распределение необходимо преобразовать в особь.

Для этого возьмем интервал чисел от 0 до 254 включительно. В данном случае каждому числу соответствует 8 бит, представляющих гены. Для каждого устройства из данного интервала выделим равные интервалы чисел. Данные числа будут определять номер устройства, на котором будет выполняться задание. В данном примере для первого устройства интервал равен 0 - 84, для второго - 85 - 169, для третьего - 170 - 254.

Теперь сгенерируем последовательность чисел, соответствующую полученному распределению. Числа выбираются случайным образом на интервале, соответствующем номеру устройства. Полученная последовательность имеет вид А* = {233, 195, 37, 115, 206, 88, 21}.

Далее полученную последовательность чисел А* необходимо преобразовать в гены. Для этого возьмем двоичные коды чисел. В табл. 3 представлены числа и соответствующие им двоичные коды.

Таблица 1

Суммы столбцов матрицы загрузки, Суммы столбцов матрщы загрузки упорядоченные по убыванию

1 2 3 4 5 6 7 6 5 7 2 3 4 1

1 23 24 24 20 29 30 23 1 30 29 23 24 24 20 23

2 25 28 25 26 25 25 24 2 25 25 24 28 25 26 25

3 20 22 21 23 24 29 28 3 29 24 28 22 21 23 20

X 68 74 70 69 78 84 75 X 84 78 75 74 70 69 68

Таблица 3

Соответствия чисел и их двоичных кодов

233 195 37 115 206 88 21

11101001 11000011 00100101 01110011 11001110 01011000 00010101

Таблица 4

Результаты расчетов с применением элиты

M 31 131

N E Лучшие особи Плотников -Зверев Лучшие особи Плотников -Зверев

Без элиты 416 1748

1 416 416 1747 1747

2 415 415 1748 1748

3 416 416 1747 1747

2 4 416 416 1748 1747

5 416 416 1747 1747

10 415 416 1748 1748

15 415 416 1748 1749

20 416 416 1748 1750

Без элиты 280 1173

1 280 280 1173 1172

2 280 280 1173 1172

3 280 280 1172 1172

3 4 280 280 1174 1173

5 280 280 1172 1175

10 280 281 1173 1176

15 280 282 1172 1179

20 280 282 1173 1179

Без элиты 209 885

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 209 209 886 882

2 209 209 885 883

3 208 209 885 885

4 4 209 209 887 884

5 209 209 885 886

10 209 210 884 887

15 209 211 885 887

20 209 211 885 888

Без элиты 176 714

1 176 176 715 712

2 177 177 714 713

3 177 177 714 713

5 4 177 177 715 713

5 176 178 715 713

10 176 178 715 714

15 177 178 715 716

20 177 179 715 716

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

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

Далее алгоритм работает так же, как описано в предыдущем примере работы с элитой.

Результат применения элиты

Для определения эффективности применения элиты при решении неоднородной минимаксной задачи теории расписаний генетическим алгоритмом на базе модели Голденберга был поставлен вычислительный эксперимент. Было выполнено решение задачи по распределению М = 31, 131 заданий на N = 2, 3, 4, 5 устройств. Количество особей Р = 100, вероятность кроссовера Rc = 0,7 и мутации Rm = 0,3. При расчетах использовалось Е = 1, 2, 3, 4, 5, 10, 15, 20 элитных особей. Также был выполнен расчет без использования элиты. Время выполнения задания было взято в интервале от 25 до 30. Расчеты выполнялись на 50 различных матрицах. В табл. 4 приведены усредненные результаты решения по каждой матрице.

Анализ результатов

Из приведенных в таблице результатов видно, что применение элиты в большинстве случаев позволяет улучшить решение на 1 - 3 %. Также стоит заметить, что при распределении малого количества заданий способ формирования элиты не играет никакой роли, но с увеличением количества заданий и количества устройств более эффективным становится вариант применения элиты, в котором элита формируется на основе распределения, полученного в результате решения задачи алгоритмом Плотникова - Зверева. Данная особенность позволяет, не меняя модель, повысить качество решения задачи.

Литература

Алексеев В.Ю. Комплексное применение методов дискретной оптимизации. М., 1987.

Кобак В.Г., Чижов А.Ю., Ренсков А.А., Плешаков Д.В. Эффективность различных видов мутации при решении минимаксной задачи генетическим алгоритмом на базе модели Холланда // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2012. № 2.

Плотников В.Н., Зверев В.Ю. Методы быстрого распределения алгоритмов в вычислительных системах // Техническая кибернетика. 1974. № 3.

Поступила в редакцию

20 января 2014 г.

2

3

i Надоели баннеры? Вы всегда можете отключить рекламу.