Научная статья на тему 'Сравнительный анализ эффективности метода имитации отжига для поиска глобального экстремума функций многих переменных'

Сравнительный анализ эффективности метода имитации отжига для поиска глобального экстремума функций многих переменных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
751
177
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРИБЛИЖЕННЫЕ МЕТОДЫ ГЛОБАЛЬНОЙ ОПТИМИЗАЦИИ / МЕТОД ИМИТАЦИИ ОТЖИГА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пантелеев Андрей Владимирович, Дмитраков Игнатий Филиппович

Сформирован и детализирован алгоритм применения метода имитации отжига, создана программная среда визуализации процесса его работы.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Пантелеев Андрей Владимирович, Дмитраков Игнатий Филиппович

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

SOFTWARE SUPPORT OF THE COMPARISON OF GLOBAL OPTIMIZATION METHODS

The global constrained optimization problem is considered. The efficient application of simulated annealing method is suggested.

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

2009

НАУЧНЫЙ ВЕСТНИК МГТУ ГА серия Прикладная математика. Информатика

№ 145

УДК 519.8

СРАВНИТЕЛЬНЫЙ АНАЛИЗ ЭФФЕКТИВНОСТИ МЕТОДА ИМИТАЦИИ ОТЖИГА ДЛЯ ПОИСКА ГЛОБАЛЬНОГО ЭКСТРЕМУМА

ФУНКЦИЙ МНОГИХ ПЕРЕМЕННЫХ

А.В. ПАНТЕЛЕЕВ, И.Ф. ДМИТРАКОВ

Сформирован и детализирован алгоритм применения метода имитации отжига, создана программная среда визуализации процесса его работы.

Ключевые слова: приближенные методы глобальной оптимизации, метод имитации отжига.

Введение

Особенностью актуальных задач проектирования ракетно-космической и авиационной техники является поиск рациональных решений в многомерном пространстве альтернатив. Показатели качества сравниваемых вариантов, как правило, описываются нелинейными зависимостями и оцениваются при помощи сложных моделирующих алгоритмов, что обуславливает высокую трудоемкость вычислений при использовании точных методов глобальной оптимизации. Кроме этого, для проектных задач характерна значительная погрешность начальных данных, которая делает вычислительные затраты для нахождения точного решения неоправданными. Как следствие, большое внимание уделяется приближенным методам, позволяющим получить удовлетворительное решение за приемлемое время. Среди них широкое распространение получили метаэвристические методы оптимизации [1-8]. Среди таких методов выделяют: эволюционные методы [9], генетические алгоритмы с вещественным и бинарным кодированием [10], методы муравьиных колоний [11], метод частиц в стае [12], метод дифференциальной эволюции [12] и метод имитации отжига.

Метод имитации отжига [13-16] основан на анализе процесса замерзания жидкостей или рекристаллизации металлов в процессе отжига. Алгоритмы имитации отжига с некоторой вероятностью допускают переход в состояние с более высоким значением целевой функции в процессе поиска решения для того, чтобы точка могла покинуть окрестность локального минимума. Кроме классического алгоритма, предложенного в [13], существуют также его модификации [14-15], ускоряющие сходимость. За последние десятилетия предложено множество приближенных методов глобальной оптимизации, обладающих разнообразными характеристиками, что актуализирует проблему выбора наиболее подходящего из них для решения конкретной задачи проектирования, а при отсутствии такового - его разработку.

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

1. Постановка задачи

Задана целевая функция /(х) = /(х1,х2,...,хп), определенная на множестве Я". Требуется найти глобальный минимум функции / (х), т.е. найти точку

где х = (х1, х2,..., X" )т

х* е Аг§тт /(х) ,

хеЯ"

2. Стратегия поиска решения

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

Метод относится к классу стохастических. Он характеризуется тем, что на каждой итерации разрешается переход в состояние с более высоким значением целевой функции с вероятностью, рассчитываемой исходя из распределения Больцмана-Гиббса, что дало основание его названию. Переход термодинамической системы из состояния с энергией Е1 в состояние с энергией Е2 при охлаждении жидкого металла происходит с вероятностью

где к - постоянная Больцмана; Т - температура [17].

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

Стратегия, основанная на распределении, построена в [13]. Она позволяет миновать локальные минимумы оптимизируемой функции и попасть в область притяжения глобального минимума. Попадание в эту область происходит с определенной вероятностью, и метод имитации отжига не гарантирует нахождения глобального минимума. Однако при правильной политике выбора траектории изменения «температуры» Т происходит не только улучшение начального приближения, но и существенное продвижение к глобальному экстремуму. Как правило, необходимая эвристическая политика реализуется за счет удачного выбора начального приближения, высокого значения «температуры» и постепенного ее снижения.

3. Общая схема работы алгоритма

Для решения поставленной задачи на множестве Я" задается начальная точка х0 . Далее на каждом шаге для текущего решения хк случайным образом генерируется некоторое новое решение у из его окрестности. Если значение целевой функции для нового решения меньше значения, соответствующего текущему решению, то новое решение заменяет текущее. В противном случае вычисляется вероятность замены: генерируется случайное число на промежутке [0,1) и сравнивается со значением выражения

Выражение (3) получаем из правой части (2) заменой физической постоянной к в (2) на параметр С . За счет выбора значения этого параметра происходит управление процессом.

Процедура заканчивается на заданном количестве итераций и состоит в следующем.

Шаг 1. Задать начальное значение глобального параметра (температуры) Т0, параметр распределения Больцмана С > 0, параметр уменьшения температуры Ье [0,8;0,99], N - максимальное число итераций.

Шаг 2. Задать начальную точку х0 е Я". Вычислить значение целевой функции /(х0) . Положить число итераций к = 0 .

Шаг 3. Получить случайный вектор Ах, описываемый гауссовской плотностью вероятности

р = ехр(-(Е2 - Е1)/ кТX

(2)

ехр(-А/ / СТк ).

(3)

p(Ax) =

yj(2nTk)"

(—I|ax|| 2) exp(-JTL- )•

Шаг 4. Вычислить: y = xk + Dx, f (у), Df = f (у) - f (xk).

Шаг 5. Найти новое решение:

- если в точке у значение целевой функции меньше, чем в точке xk, то перейти в точку у, положить xk+1 = у ;

- если в точке у значение целевой функции больше, то сгенерировать согласно равномерному закону распределения случайное число на промежутке [0,1) и сравнить с величиной exp(-Df / CTk). Если сгенерированное число меньше, в качестве следующей точки xk+1 выбрать у, иначе положить xk+1 = xk.

Вычислить f (xk+1).

Шаг 6. Уменьшить параметр Tk : Tk+1 =$Tk.

Шаг 7. Проверить условие окончания:

а) если k = N -1, то процесс закончить: x* @ xk+1, f (x*) = f (xk+1);

б) если k < N -1, то положить k = k +1 и перейти к шагу 3.

4. Программное обеспечение

Разработана программа поиска глобального минимума, реализующая вышеописанный метод. Среда разработки - Microsoft Visual Studio, язык программирования - C#. Главное окно программы состоит из панелей выбора тестового примера, задания начальной точки x0 и параметров метода, кнопок управления, панели вывода результатов, панели формирования графика, меню и других вспомогательных опций (рис. 1).

Работа с программой начинается с выбора тестового примера из предложенного списка. После этого задаются компоненты вектора x0, параметры метода (T0, C, р, N) и опции визуализации процесса работы и вывода результатов. Далее выбирается вид расчетов: кнопка «Выполнитьь» или «Выполнить одну итерацию». При нажатии на кнопку «Выполнить» программа производит расчет и выводит конечные результаты: вектор x * и значение f (x*); на графике

отобразятся: x0, x *; для одномерного случая - график функции (рис. 2), для двумерного случая - изображение линии уровня, проходящей через точку x0 (рис. 3).

Рис. 1. Ввод параметров постановки задачи Рис. 2. Задача одномерной минимизации

Для вычисления по шагам следует нажать на кнопку «Выполнить одну итерацию». В этом случае алгоритм произведет один шаг и программа выведет промежуточные результаты: век-

1

тор хк+1 и значение /(хк+1); на графике отобразятся: хк (жирная точка на графике), хк+1 (символ «звездочка» на графике); для одномерного случая - график функции, для двумерного случая - изображение линии уровня, проходящей через точку хк+1. По умолчанию в случае, если хк+1 = хк (т.е. на к -м шаге процесс не перешел в новую точку у), то на графике появляется и в течение нескольких секунд «мигает» отброшенная точка у и соединительная линия между точками хк и у (рис. 4). Наглядно видно, что алгоритм как бы «на ощупь», методом слепого поиска, а не целенаправленно, перебирает множество допустимых решений.

В ходе вычислений по шагам получаемые решения хк+1 отображаются на графике, где строится линия, последовательно соединяющая предыдущие решения с текущим («траектория»), а для двумерного случая дополнительно для каждого решения хк+1 строится соответствующая линия уровня (рис. 5). Разработанная среда позволяет регулировать масштаб графика удобными и простыми способами. На рис. 6 с увеличением показана область, обведенная тройной линией на рис. 5. Для «очистки» рабочей области графика в двумерном случае следует нажать на кнопку «Очистить». Тогда на графике останется текущая точка хк и соответствующая линия уровня.

Рис. 4. Иллюстрация процесса поиска

Рис. 5. Траектория поиска

Рис. 6. Изменение масштаба

Рис. 3. Результат поиска минимума функции Розенброка

Результаты выполнения каждого шага расчетов заносятся в таблицу, вызов которой осуществляется нажатием кнопки «Таблица результатов». Промежуточные значения параметров и промежуточные результаты для каждого шага отображаются в таблице, открываемой кнопкой «Окно итераций». Содержимое таблиц может сортироваться по

значениям целевой функции, номеру шага или по величинам параметров.

5. Тестовые примеры

Список примеров, предлагаемых для тестирования метода.

1. /(х) = 2х12 + х1 х2 + х22 - 3х1 - квадратичная функция с одним глобальным минимумом;

2. / (х) = 3 х12 + 4 х22 + 23 соб( х1 - 0,5) - несколько локальных, один глобальный минимум;

3. / (х) = (2 х -1)2 + ЗОбіп х - имеет много локальных и один глобальный минимум;

4. /(х) = 5 соб(х — 0,4) + х2 - имеет много локальных и один глобальный минимум;

5. / (х) = (х2 — х12)2 + (1 — х1)2 (функция Розенброка) - имеет один глобальный минимум.

Пример 1. Целевая функция /(х) = 2х12 + х1х2 + х22 — 3х1. Аналитическое решение задачи:

х* = (6/7; —3/7)Т @ (0,8571; —0,4285)Т , /(х*) = —1,2857. Численное решение, полученное с помощью программы, приведено в табл. 1.

Таблица 1

Начальная точка Параметры метода Результаты

х0Т N с Т ^0 ь х *Т I ( х*)

(500; 500) 104 0,85 1000 0,99 (0,8571; -0,4286) -1,2857

(-15; 0) 103 0,85 100 0,99 (0,8201; -0,3837) -1,2826

(-150; 48) 103 0,85 100 0,96 (-0,1137; 1,7179) 3,1226

(-150; 48) 103 0,85 100 0,96 (-1,5590; 5,3302) 29,6393

(-150; 48) 103 0,85 100 0,99 (0,8698; -0,3452) -1,2774

(-150; 48) 300 0,85 1000 0,96 (0,8258; -0,3989) -1,2838

(2; 5) 100 0,05 20 0,96 (0,8257; -0,3954) -1,2837

(-500; 500) 104 0,85 1000 0,99 (0,8571; -0,4286) -1,2857

Пример 2. Целевая функция /(х) = 3х12 + 4х22 + 23 соб(х1 — 0,5). Аналитическое решение задачи: х* = (—2,0709; 0)Т, /(х*) = -6,4892 . Ближайший к глобальному минимуму локальный минимум: (2,8162;0)Т .Численное решение приведено в табл. 2.

Таблица 2

Начальная точка Параметры метода Результаты

х0Т N с Т ^0 Ь х *Т I ( х*)

(120;-80) 103 0,88 50 0,99 (-2,0794; 0,0150) -6,4874

(7; 1) 300 0,88 15 0,97 (2,8268; 0,0072) 8,1942

(7; 1) 104 0,88 15 0,99 (-2,0759; 0,0136) -6,4882

(-17; 1) 105 0,88 150 0,99 (-2,0709; 0,0000) -6,4892

(0; 0) 500 0,85 10 0,99 (-2,1347; -0,0411) -6,4303

Пример 3. Целевая функция /(х) = (х2 — х12)2 + (1 — х1)2. Аналитическое решение задачи: х* = (1; 1)Т , /(х*) = 0. Численное решение представлено на рис. 3: х* = (0,995; 1,004)Т ,

I (х*) = 0,000; процесс поиска решения иллюстрирован на рис. 4.

Сравнивая результаты численных и аналитических решений задачи (1), получаем, что при правильном выборе параметров метод имитации отжига дает высокую точность приближения к глобальному минимуму функции, однако в некоторых случаях для этого потребуется большое число итераций.

Заключение

Сформирован детальный алгоритм применения метода имитации отжига, и создана программная среда визуализации процесса его работы. Она позволяет легко управлять параметрами метода и анализировать эффективность его работы.

Возможность наблюдать процесс решения задачи избранным методом отличает программный продукт от аналогов и позволяет результативно формировать политику выбора параметров, что имеет решающее значение при использовании эвристических методов. Разработанная среда

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

ЛИТЕРАТУРА

1. Пантелеев А.В., Летова Т.А. Методы оптимизации в примерах и задачах. - М.: Высшая школа, 2008.

2. Bomze I.M., Csendes T., Horst, R., Pardalos P.M., eds. Developments in Global Optimization. London, Kluwer, 1997.

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

3. Dixon L.C.W., Szego G.P. (eds). Towards Global Optimization 2. North-Holland, 1978.

4. Evtushenko Yu. G., Potapov M. A., Korotkich V. V. Recent Advances in Global Optimization. Prinston, Princeton University Press, 274-297, 1992.

5. Васильев Ф.П. Численные методы решения экстремальных задач. - М.: Наука, 1980.

6. Сухарев А.Г. Глобальный экстремум и методы его отыскания. - М.: Изд. МГУ, 1981.

7. Поляк Б. Т. Введение в оптимизацию. - М.: Наука, 1983.

8. Жиглявский А.А., Жилинскас А.Г. Методы поиска глобального экстремума. - М.: Наука, 1991.

9. Storn R., Price K. "Differential Evolution - a Simple and Efficient Heuristic for Global Optimization over Continuous Spaces", Journal of Global Optimization, Kluwer Academic Publishers, 1997, Vol. 11, 341 - 359.

10. Holland J.N. Adaptation in Natural and Artificial Systems. Ann Arbor, Michigan: University of Michigan Press, 1975.

11. Dorigo M., Gambardella L.M. Ant Colonies for the Traveling Salesman Problem, 1997.

12. Eberhart R. C. and Kennedy J. A New Optimizer using Particle Swarm Theory. Proceedings of the Sixth

International Symposium on Micromachine and Human Science, Nagoya, Japan, 1995.

13. Kirkpatrick S., Gelatt C. D., Vecchi M. P. Optimization by simulated annealing. Science. v220 (1983).

14. Ingber L. Simulated Annealing Applied to Combinatorial Optimization. Control and Cybernetics 25 (1), 1996.

15. Ingber L. Very fast simulated re-annealing. Mathematical Computer Modelling 12 (8), (1989).

16. Aarts E.H.L., van Laarhoven P.J.M. Simulated Annealing: Theory and Applications. London, Kluwer, 1987.

17. Трофимова Т.И. Курс физики. - М.: Высшая школа, 1990.

SOFTWARE SUPPORT OF THE COMPARISON OF GLOBAL OPTIMIZATION METHODS

Panteleyev A.V., Dmitrakov I.F.

The global constrained optimization problem is considered. The efficient application of simulated annealing method is suggested.

Сведения об авторах

Пантелеев Андрей Владимирович, 1955 г.р., окончил МГТУ им. Н.Э. Баумана (1978), доктор физико-математических наук, профессор, заведующий кафедрой математической кибернетики факультета прикладной математики и физики МАИ им. С. Орджоникидзе, автор более 110 научных работ, область научных интересов - методы синтеза оптимальных нелинейных систем управления, методы оптимизации.

Дмитраков Игнатий Филиппович, 1988 г.р., студент факультета прикладной математики и физики МАИ им. С. Орджоникидзе, область научных интересов - анализ эффективности сложных систем, методы оптимизации.

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