УДК 519.688
Д. М. Гусев, С. П. Дударов
Российский химико-технологический университет им. Д. И. Менделеева, Москва, Россия
ИССЛЕДОВАНИЕ И НАСТРОЙКА ГЕНЕТИЧЕСКОГО АЛГОРИТМА ВЕЩЕСТВЕННОГО КОДИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ ТЕСТОВОЙ ФУНКЦИИ ШВЕФЕЛЯ
В работе рассматривается серия вычислительных экспериментов, направленная на поиск настроек генетического алгоритма вещественного кодирования и обеспечивающая его наиболее быструю сходимость к оптимальному решению задачи оптимизации многомерной функции Швефеля. Оценка настроек алгоритма проводилась по среднему времени поиска решения и среднему количеству эпох эволюционного процесса. Даны рекомендации по настройке алгоритма и указаны направления дальнейших исследований.
The series of calculation experiments aimed at seeking of real-coded genetic algorithm settings guaranteed its fastest convergence to optimal result of multi-dimensional task of optimization of Schwefel function is looked at the paper. An evaluation of algorithm settings is carried on by mean time of decision achievement and mean count of evolution process epochs. Recommendations on setting of algorithm are given and ways of further investigations are declared.
Генетические алгоритмы относятся к группе эволюционных алгоритмов случайного поиска (стохастических) и используются для решения задач многомерной оптимизации [1]. Наилучшим образом они зарекомендовали себя при нахождении глобальных оптимумов функций очень большого количества переменных. В отличие от большинства традиционных методов оптимизации при правильной настройке генетические алгоритмы позволяют вести поиск в пространстве переменных оптимизируемой функции с высокой вероятностью нахождения глобального решения, пропорциональной времени их работы.
В зависимости от способа кодирования используемых переменных различают бинарные и вещественные генетические алгоритмы [2]. В первом случае переменные кодируются последовательностями нулей и единиц, количество которых определяется пределами их изменения и заданной точностью. Главное преимущество алгоритмов данного вида заключается в том, что использование бинарного кодирования позволяет учесть максимальное количество информации в приведении к одной эпохе эволюционного процесса. Однако, их существенный недостаток, связанный с
необходимостью выполнения большого количества двоично-десятичных преобразований в ходе работы, обусловливает внимание исследователей и к другому виду генетических алгоритмов - алгоритмам вещественного кодирования. В этом случае каждая переменная не претерпевает двоично-десятичных преобразований, а отдельно взятая особь популяции и есть одно из возможных решений задачи.
Помимо традиционного набора (мутации, инверсии и кроссовера) вещественные генетические алгоритмы используют свой собственный набор адаптированных под вещественное представление переменных генетических операторов: вещественную мутацию и разновидности вещественного кроссовера: плоский, арифметический, линейный, дискретный, расширенный, эвристический, дифференциальный. Подробно этот набор рассмотрен в учебном пособии [2].
В данной работе проводится исследование и настройка генетического алгоритма, используемого для оптимизации тестовой функции Швефеля:
Известно, что данная функция имеет глобальный минимум, равный -418,98289, при = 420,96875 Vi = 1, n на интервале поиска решения по каждой переменной (-500; 500).
Расчёты проводились с использованием программы, реализованной в среде разработки приложений Delphi 7, на персональной ЭВМ на базе процессора Intel Core i7-3632QM, CPU 220 ГГц с 8 Гб оперативной памяти. При исследовании был использован следующий набор генетических операторов: вещественная мутация, простой, плоский, дискретный и арифметический кроссоверы, а также эволюционные стратегии элитизма и геноцида. Этапы исследования включали:
1) определение разновидностей кроссовера, наилучшим и наихудшим образом влияющих на ход эволюционного процесса;
2) определение наилучшей вероятности применения вещественной мутации;
3) определение наилучшей комбинации вероятностей применения различных видов кроссовера;
4) исследование влияния количества оптимизируемых переменных на ход эволюционного процесса.
На каждом этапе проводилась серия опытов из 8 попыток поиска оптимального решения для каждой комбинации вероятностей генетических операторов, в ходе которых определялись время поиска точки оптимума (мс) и количество эпох эволюционного процесса. Максимальные и минимальные значения отбрасывались, а остальные усреднялись. Во всех случаях размер популяции составлял 20 особей, из них 1 элитная. Геноцид (принудительная проверка и замена повторяющихся особей случайными для контроля вырождения популяции) выполнялся каждые 75 эпох.
На первом этапе проводилась оценка влияния отдельных разновидностей кроссовера на скорость достижения оптимального решения. В опытах 1-4 репродуктивный план включал всего лишь одну разновидность кроссовера: 1 - простой, 2 - плоский, 3 - дискретный, 4 - арифметический. В опытах 5-8 были использованы наборы из трёх равновероятных разновидностей кроссовера с исключением одного оператора из вышеупомянутого списка в той же последовательности. Полученные в результате значения времени варьировались от 31 до 94965 мс, а количество эпох - от 754 до 2453660. С учётом большого разброса полученных величин на диаграмме (см. рис. 1) представлены логарифмированные показатели.
4 5
Номер опыта
П Логарифмированное время □ Логарифмированное количество эпох
Рис. 1. Сравнительный анализ влияния отдельных генетических операторов на
ход эволюционного процесса
7
6
5
4
3
2
1
0
2
3
6
7
8
По результатам сравнительного анализа выполненных опытов сделан вывод о том, что наихудшим образом на ход процесса оптимизации влияет арифметический кроссовер (опыты 4, 8), а наилучшим - дискретный (опыты 3, 7).
На втором этапе в ходе опытов 9-16 оценивалось влияние вероятности применения вещественной мутации на скорость нахождения точки оптимума. Зависимости времени поиска оптимального решения и использованного для этого количества эпох от вероятности мутации приведены на рисунке 2.
Вероятность мутации, % ■ Время, мс • Количество эпох
Рис. 2. Влияние вероятности применения вещественной мутации на ход
эволюционного процесса
Из графика видно, что наиболее быстро решение было получено в ходе опыта 12 при равновероятном использовании простого, плоского и дискретного кроссоверов и 40 %-ой вероятности вещественной мутации (31 мс и 754 эпохи), поэтому во всех дальнейших опытах был использован именно последний показатель.
На третьем этапе рассматривались различные комбинации вероятностей применения разновидностей вещественного кроссовера с учётом того факта, что наилучшее влияние на скорость поиска решения оказывает дискретный кроссовер, а наихудшее - арифметический. Для опытов 17-22 были использованы вероятности, приведённые в таблице 1.
Табл. 1. Настройки и результаты работы генетического алгоритма для опытов 17-22
№ опыта Вероятности применения кроссовера, % Время, мс Количество эпох
Простого Плоского Дискретного Арифметического
17 10 15 70 5 50 435
18 5 10 70 15 63 586
19 15 5 70 10 89 825
20 5 20 70 5 39 334
21 6 23 65 6 55 503
22 4 17 75 4 99 859
Из таблицы видно, что как по времени достижения точки оптимума, так и по количеству эпох эволюционного процесса наилучший результат показала комбинация вероятностей опыта 20. Однако, если второй показатель стал абсолютно лучшим среди всех ранее проведённых опытов (334 эпохи), то по времени работы алгоритма лучшие результаты по-прежнему у опыта 12.
В этой связи последний этап исследований (опыты 23-34) было решено провести для двух различных настроек алгоритма из опытов 12 и 20. На рис. 3 представлены результаты анализа влияния размерности решаемой задачи на скорость поиска оптимального решения в этих двух случаях.
Количество переменных
—■ — Время (опыт 12) —* - Время (опыт 20)
—*—Эпохи (опыт 12) - ■ - Эпохи (опыт 20)
Рис. 3. Влияние размерности решаемой задачи на ход эволюционного процесса
Как и следовало ожидать, из графика видно, что объём вычислений и затрачиваемое на них время возрастают с увеличением размерности решаемой задачи. В большинстве случаев настройки опыта 20 оказались эффективнее. Таким образом, именно они и рекомендуются для нахождения оптимального решения задачи оптимизации тестовой функции Швефеля.
Следует заметить, что для других тестовых функций настройки алгоритма могут быть иными. Дальнейшие исследования в продолжение данной работы будут выполнены в следующих направлениях:
- изучение влияния расширенного состава генетических операторов вещественного алгоритма на ход эволюционного процесса;
- изучение влияния применяемых эволюционных стратегий;
- изучение различий в настройках генетического алгоритма для оптимизируемых функций с различным характером рельефа многомерной поверхности;
- разработка универсального программного модуля для исследования работы генетических операторов и эволюционных стратегий алгоритмов вещественного кодирования.
Библиографический список
1. Дударов С. П., Карибова Ю. А. Генетический алгоритм с оператором многохромосомного кроссовера // Математические методы в технике и технологиях - ММТТ-25: сб. трудов XXV Междунар. науч. конф., секции 1, 2. Волгоград: Волгогр. гос. техн. ун-т, 2012; Харьков: Национ. техн. ун-т «ХПИ», 2012. С. 132-134.
2. Дударов С. П. Математические основы генетических алгоритмов: учеб. пособие. М.: РХТУ им. Д. И. Менделеева, 2012. 56 с.