УДК 004.93
Канд. техн. наук И. С. Пожуева, канд. техн. наук С. А. Субботин, А. А. Олейник
Национальный технический университет, г. Запорожье
ЭВОЛЮЦИОННАЯ ОПТИМИЗАЦИЯ МНОГОМЕРНЫХ
ФУНКЦИЙ
Рассмотрено решение задачи многомерной оптимизации на основе метода имитации отжига. Разработана модификация метода имитации отжига и проведен сравнительной анализ с методом Нелдера-Мида.
Введение
Многие технические и экологические задачи имеют оптимизационную природу. В общем случае оптимизационная задача представляется как нахождение некоторой точки, в которой оптимизируемая функция принимает максимальное или минимальное значение.
Известны различные методы многомерной оптимизации [1], которые основаны на эвристических соображениях и характеризуются низкой скоростью поиска. В противовес им может быть использован метод имитации отжига, имеющий физическую природу [25]. Этот метод можно отнести к эволюционным методам. Целью данной работы являлось исследование и реализация метода для решения задач оптимизации многомерных нелинейных функций.
1 Метод имитации отжига
Метод имитации отжига моделирует процесс восстановления. Восстановление - это физический процесс, который заключается в нагреве и последующем контролируемом охлаждении субстанции. В результате получается прочная кристаллическая структура, которая отличается от структуры с дефектами, образующейся при быстром беспорядочном охлаждении. Структура здесь представляет собой кодированное решение, а температура используется для того, чтобы указать, как и когда будут приниматься новые решения [2].
Свойства структуры зависят от коэффициента охлаждения после того, как субстанция была нагрета до точки плавления. Если структура охлаждалась медленно, будут сформированы крупные кристаллы, что очень полезно для строения субстанции. Если субстанция охлаждается скачкообразно, образуется слабая структура.
Метод отжига может быть разделён на пять этапов (рис. 1).
Для большинства проблем начальное решение будет случайным. На самом первом шаге оно помещается в текущее решение. Другая возможность заключается в том, чтобы загрузить в качестве начального решения уже существующее, возможно, то самое, ко-
торое было найдено во время предыдущего поиска. Это предоставляет алгоритму базу, на основании которой выполняется поиск оптимального решения проблемы.
Оценка решения состоит из декодировки текущего решения и выполнения нужного действия, позволяющего понять его целесообразность для решения данной проблемы. Закодированное решение может просто состоять из набора переменных. Они будут декодированы из существующего решения, а затем эффективность решения будет оценена на основании того, насколько успешно удалось решить данную задачу.
Поискрешения начинается с копирования текущего решения в рабочее решение. Затем произвольно модифицируется рабочее решение. Как именно модифицируется рабочее решение, зависит от того, каким образом оно представляется (кодируется). После выполнения поиска рабочего решения оценивается решение, как было описано ранее. Поиск нового решения основан на методе Монте-Карло (то есть случайным образом).
Критерий допуска. На этом этапе алгоритма имеется два решения. Первое - это оригинальное решение, которое называется текущим решением, а второе - найденное решение, которое именуется рабочим решением.
Текущее решение
1 г
■ Рабочее решение
Лучшее решение
Создать начальное
решение
1
Оценить решение
Изменить решение
С1ТЗГЧ(!ЙН1-Ш образом
+
Оценить новое
решение
+
Критерий допуска
+
Уменьшение
темпер атуры
1
Рис. 1. Схема метода имитации отжига
© И. С. Пожуева, С. А. Субботин, А. А. Олейник 2006 р.
70
МОДЕЛЮВАННЯ ПРОЦЕС1В В МЕТАЛУРПТ ТА МАШИНОБУДУВАНН1
С каждым решением связана определенная энергия, представляющая собой его эффективность (допустим, что чем ниже энергия, тем более эффективно решение).
Затем рабочее решение сравнивается с текущим решением. Если рабочее решение имеет меньшую энергию, чем текущее решение (то есть является более предпочтительным), то рабочее решение копируется в текущее решение и происходит переход к этапу снижения температуры.
Однако если рабочее решение хуже, чем текущее решение, то определяется критерий допуска, чтобы выяснить, что следует сделать с текущим рабочим решением. Вероятность допуска основывается на уравнении 1 (которое, в свою очередь, базируется на законе термодинамики):
Р(8Е) = е ~5Е'Т . (1)
Значение этой формулы заключается в следующем: при высокой температуре (например, свыше 60 °С) плохие решения принимаются чаще, чем отбрасываются. Если энергия меньше, вероятность принятия решения выше.
При снижении температуры вероятность принятия худшего решения также снижается. При этом более высокий уровень энергии также способствует уменьшению вероятности принятия худшего решения. При высоких температурах симулированное восстановление позволяет принимать худшие решения для того, чтобы произвести более полный поиск решений. При снижении температуры диапазон поиска также уменьшается, пока не достигается равенство при температуре 0 °С.
После ряда итераций по алгоритму при данной температуре она ненамного понижается. Существует множество вариантов снижения температуры. Например, можно использовать простую геометрическую функцию (уравнение 2), а можно - и другие стратегии снижения температуры, включая линейные и нелинейные функции [3, 4, 5].
Т+1 =аТг-, а< 1. (2)
Повтор. При одной температуре выполняется несколько итераций. После завершения итераций температура будет понижена. Процесс продолжится, пока температура не достигнет нуля.
Важно отметить, что одним из достоинств данного алгоритма является то, что он основан на технике случайного поиска, что позволяет использовать его для нахождения глобального оптимума, исключив попадание в локальный оптимум, что является весьма важным при решении реальных задач.
2 Модификация метода отжига
Основные особенности модификации метода имитации отжига для решения задачи многомерной
оптимизации заключаются в следующем: очевидно, в качестве оптимизируемого параметра используется целевая функция, в то время как набор значений переменных на разных этапах метода представляет собой рабочее, текущее и лучшее решение; также важно отметить, что выбор нового рабочего решения выполняется путём случайного выбора, а уже переход к рабочему осуществляется с использованием формулы (1); работа метода продолжается также либо до достижения заданного минимума, либо до достижения заданной параметром /, выступающим аналогией температуры, определённого предельного значения, изменение которого происходит так же, как и в общем методе для температуры по формуле (2).
Рассмотренный метод был программно реализован с использованием пакета МайаЪ. Разработанный программный продукт реализован в виде трёх функций, каждая из которых выполняет свои задачи: ерБа (управляет процессом отжига), ^еак8о1ийоп (производит случайный поиск решения), computeEnergy (в аспекте данной задачи - вычисляет значение функции при заданном векторе). Такая структура является очень гибкой при необходимости перехода использования данного метода для решения других оптимизационных задач.
3 Эксперименты и результаты
Предложенный метод сравнивался с одним из традиционных методов поиска - методом Нелдера-Мида [1], который основан на сравнении значений функции в (п+1) вершинах симплекса и перемещении симплекса в направлении оптимальной точки с помощью итерационной процедуры.
С помощью разработанного программного обеспечения были проведёны эксперименты для проверки правильности работы метода имитации отжига, в качестве эксперимента решалась задача нахождения глобального оптимума многомерной функции.
Полученные результаты вычисления функции у = 18-20х1-8х2 +2х12 +2х22, х(0) = [0, 0] (график функции приведён на рисунке 2) с помощью созданной программы следующие: точкой оптимума является точка (5; 2). Эта же функция оптимизировалась с помощью описанного выше метода Нелдера-Мида, а также встроенной функции пакета Ма1ЬаЪ - :£ттипс, которая работает на основании метода градиентного спуска. Были получены такие же результаты, что свидетельствует о правильности работы рассмотренного метода и возможности его дальнейшего применения для решения практических задач.
Выводы
На основании проведенного тестирования программной реализации метода отжига и анализа полученных результатов можно сделать вывод, что ме-
1607-6885 Новi матерiали i технологи в металурги та машинобудувант №1, 2006
71
тод даёт достаточно точные результаты при небольших затратах временных. Важно отметить, что одним из достоинств данного алгоритма является то, что он основан на технике случайного поиска, и, используя его, можно найти глобальный оптимум, не "застряв" на локальном, что является довольно важным при решении реальных задач. При этом метод отличен тем, что не требует расчёта производных целевой функции.
Список литературы
1. Дубровш B.I, Субботш С.О. Методи опти]шзацй та ix застосування в задачах навчання нейронних мереж: На-вчальний посiбник. - Запорiжжя: ЗНТУ, 2003. - 136 с.
2. Kirkpatrick S., Gelatt C.D., Vecchi M.P. Optimization by simulated annealing // Science. - 1983. - P. 671-680.
3. Aarts E.H. L., Korst J.H.M., Laarhoven van P.J.M. Simulated annealing. Local search in combinatorial optimization / E. Aarts, J.K. Lenstra.- Chichester: Wiley, 1997. - P. 91-120.
4. Aarts E.H.L., Korst J.H.M. Simulated annealing and Boltzmann machines. - Chichester: Wiley, 1989. - 223 р.
5. Hajek B., Sasaki G. Simulated annealing: to cool it or not//Sys. Contr. Lett. - 1989. - vol. 12. - P. 443-447.
Одержано 07.12.2005 р.
Розглянуто рiшення 3ada4i 6a3amoMipHoi оптимгзацИ на ocHoei методу iмiтaцii eidnony. Розроблено мoдифiкaцiю методу iмiтaцii вiдnaлy та проведено nopiвняльний aнaлiз i3 методом Нелдеpa-Мiдa.
The solution of multivariate optimization task based on simulated annealing method is considered. The simulated annealing method modification is proposed and comparative analysis with Nelder-Mid method is conducted.