УДК 681.3.06, 681.322
ПРИМЕНЕНИЕ АЛГОРИТМА ОПТИМИЗАЦИИ МЕТОДОМ ИМИТАЦИИ ОТЖИГА НА СИСТЕМАХ ПАРАЛЛЕЛЬНЫХ И РАСПРЕДЕЛЁННЫХ ВЫЧИСЛЕНИЙ
А. Н. Савин, Н. Е. Тимофеева
Саратовский государственный университет, кафедра дискретной математики и информационных технологий
E-mail: [email protected]
Представлены результаты адаптации алгоритма нахождения глобального минимума многоэкстремальной целевой функции многих переменных с ограничениями, основанного на методе имитации отжига для систем параллельных и распределённых вычислений. Исследована надёжность нахождения глобального минимума в зависимости от количества узлов параллельной вычислительной системы. Показано, что распараллеленный вариант алгоритма имитации отжига, использующий схему больц-мановского тушения, позволяет за небольшое время надёжно находить область глобального минимума.
Ключевые слова: глобальная оптимизация, имитация отжига, многоэкстремальная целевая функция, параллельные вычислительные системы.
The Application of Optimization Algorithm Using Simulated Annealing Method for Parallel Computing Systems
A. N. Savin, N. E. Timofeeva
Saratov State University,
Chair of Discrete Mathematics and Information Technologies E-mail: [email protected]
This article presents the results of the adaptation algorithm for searching the global minimum of multiextreme criterion function of great count of variables with constraints based on the method of simulated annealing algorithm for systems of parallel and distributed computing. The reliability of the searching global minimum, depending on the number of nodes of parallel computer system is investigated. Distributed simulated annealing algorithm using the scheme of quenching, created by Boltzmann allows to search out the area of the global minimum for a short time is represented.
Key words: global optimization, simulated annealing, multiextreme criterion function, parallel computing system.
ВВЕДЕНИЕ
Многие сферы деятельности человека в настоящее время, такие как разработка новых материалов и устройств, телекоммуникационные сети требуют решения оптимизационных задач [1]. Как известно, подобные задачи сводятся к поиску экстремумов целевой функции (ЦФ) различными методами [2]. Наличие всевозможных ограничений на оптимизируемые параметры и многоэкстремальность ЦФ, как правило, приводят к большим вычислительным затратам и соответственно к невозможности нахождения решения за приемлемое время при использовании одного компьютера [1].
Данная проблема может быть решена применением современных параллельных и распределённых вычислительных систем в сочетании с использованием эффективных распараллеленных алгоритмов оптимизации.
В данной работе была поставлена задача изучения возможности распараллеливания алгоритма нахождения глобального минимума многоэкстремальной ЦФ многих переменных с явными ограничениями (ограничениями типа равенств), основанного на стохастическом методе имитации отжига [3].
1. ОБЩИЙ ВИД ЗАДАЧИ ПОИСКА ГЛОБАЛЬНОГО МИНИМУМА ПРИ НАЛИЧИИ ЯВНЫХ ОГРАНИЧЕНИЙ
Поиск глобального минимума функции / : Яп при наличии явных ограничений осуществляется на некотором собственном подмножестве О метрического пространства Лп:
/(х) = /(ж1,..., хп) ^ шт, х е О, О с Лп, (1)
где подмножество О определяется ограничениями типа равенств д(х) = 0, где q : Лп.
Пусть имеется некоторое множество X, состоящее из элементов х, принадлежащих подмножеству О с Яп, и на нём определена скалярная функция /(х). Говорят, что /(х) имеет локальный минимум в точке х*, если существует некоторая конечная е-окрестность этой точки, в которой выполняется условие:
/(х*) </(х), \\х — х*|| < е.
У функции может быть много локальных минимумов. Если выполняется неравенство /(х*) < /(х), х е X, где х = х* — любая точка множества X, то говорят о глобальном минимуме функции /(х) [4].
© Савин А. Н., Тимофеева Н. Е, 2G12
2. ПОИСК ГЛОБАЛЬНОГО МИНИМУМА МЕТОДОМ ИМИТАЦИИ ОТЖИГА
Поиск глобального минимума функции (1) при наличии явных ограничений на варьируемые параметры может быть осуществлён методом имитации отжига, предложенным S. Kirkpatrick [3].
Этот метод представляет собой алгоритмический аналог физического процесса управляемого охлаждения и использует упорядоченный случайный поиск новых состояний системы с более низкой температурой [5,6].
В процессе медленного управляемого охлаждения расплавленного материала, называемого отжигом, кристаллизация расплава сопровождается глобальным уменьшением его энергии E, однако допускаются ситуации, в которых она может на какое-то время возрастать (в частности, при подогреве расплава для предотвращения слишком быстрого его остывания). Благодаря допустимости кратковременного повышения энергетического уровня, возможен выход из ловушек локальных минимумов энергии, которые возникают при реализации процесса. Только понижение температуры T до абсолютного нуля делает невозможным какое-либо самостоятельное повышение энергетического уровня расплава.
В этом случае элементы х подмножества О в (1) представляют собой состояния воображаемой физической системы (энергетические уровни), а значение функции f (x) в этих точках используется как энергия системы E = f (x).
В каждый момент времени предполагается заданной уменьшающаяся с течением времени по определенному закону температура T системы, находящейся в состоянии х.
Новое состояние системы х' выбирается в соответствии с заданным порождающим семейством вероятностных распределений Z(х, T), которое при фиксированных х и T задаёт случайный элемент х' = G(x, T).
После генерации нового состояния х' = G(x,T) система с вероятностью p(AE, T) переходит к следующему шагу в состоянии х', в противном случае повторяется процесс генерации х' (в некоторых модификациях метода следующий шаг начинается с состояния x, но с уменьшенным значением температуры T). Здесь AE = f (х) — f (х') — приращение энергии.
В качестве вероятности принятия нового состояния p(AE, T) выбирается либо точное значение соответствующей физической величины
p(AE,T) = 1/(1 +exp(AE/T)), либо наиболее часто используемое приближенное значение
p(AE,T) =exp(—AE/T).
Вторая формула используется наиболее часто. При этом p(AE, T) > 1 в случае AE < 0, и тогда вероятность принятия нового состояния p(AE, T) считается равной 1. Соответственно если новое состояние х' дает лучшее значение оптимизируемой функции, т. е. f(х') < f(х), то переход в это состояние произойдет в любом случае.
Поиск минимума ЦФ заканчивается при уменьшении температуры T до некоторого заданного уровня Tend.
Конкретная схема отжига задается следующими параметрами:
- законом изменения температуры T(к), где к — номер шага;
- порождающим семейством вероятностных распределений Z(х, T);
-функцией вероятности принятия нового состояния p(AE,T).
Исторически первой схемой метода имитации отжига является схема больцмановского отжига. В ней изменение температуры задаётся в виде
T(k) = То/ln(1+ к), к > 0.
Порождающее семейство вероятностных распределений Z(х, T) выбирается как семейство нормальных распределений с математическим ожиданием х и дисперсией T и соответственно задаётся плотностью
g(x'; х,T) = (2nT)-n/2 ■ exp(—|х' — x|2/(2T)), где n — размерность метрического пространства состояний.
Для данной схемы доказано, что при достаточно больших Т0 и количестве шагов гарантируется нахождение глобального минимума.
Недостатком схемы больцмановского отжига является очень медленное уменьшение температуры Т. Решение этой проблемы возможно путём замены закона изменения температуры, например, на следующий:
Т(к) = г • Т(к - 1),
(2)
где температурный коэффициент г выбирается, как правило, в пределах 0.7^0.99.
Такая схема имитации отжига называется тушением. Она очень быстро сходится, что позволяет экономить вычислительные ресурсы. При этом не гарантируется нахождения глобального минимума, но, как правило, быстро находится близкое решение, а на практике и сам минимум [7].
В данной работе требовалось разработать метод оптимизации, позволяющий за небольшое время надёжно находить только область глобального минимума. Соответственно на основе анализа различных схем имитации отжига, проведённого в [6], был выбран алгоритм поиска глобального минимума ЦФ (1) методом имитации отжига по схеме больцмановского тушения. Блок-схема процедуры, реализующей данный алгоритм, приведена рис. 1.
Начало процедуры поиска минимума методом имитации отжига
Формирование исходных данных Выбор случайным образом начато.ного состояния -х=х0 ,х(= £2 Вычисление текущего значения энергии: Е=/(х0)
Установка начального номер а шага: к= 1
Установка максимальной начальной температуры: Т(к)=Т0, Т0>Теп^
Генерация нового состояния: х'=С(х,Т(к))
Плотность порождающего семейства вероятностных распределений:
^х,;х,Т(к))=(2кТ)'п/2 ехр(-|х'-х|2/2Г), где « размерность факторного пространства
Вычисление энергии в новом состоянии: Е'=/(х')
Вычисление приращения энергии: АЕ=Е'-Е
Вычисление вероятности принятия нового состояния: р(АЕ,Т(к))=ехр(-АЕ / Т(к)) Генерация случайного числа а из интервала [0,1]
Нет
Переход к новому состоянию: х^х', Е=Е
Увеличение номера шага: к=к+1
Уменьшение температуры: Т(к)=г Т(к-1), г=0.7+0.99
Да
Т(к)<ТепА
Нет
Завершение процедуры поиска минимума методом имитации отжига
Рис. 1. Блок-схема процедуры поиска минимума ЦФ методом имитации отжига по схеме больцмановского тушения
В результате тестирования, представленного на рис. 1 алгоритма, выявлено, что решение (область минимума) находится за действительно малое время, но недостатком является возможность нахождения локальных минимумов, а не глобального.
Данная проблема может решаться многократным повторным запуском процедуры поиска при одинаковых начальных условиях, так как генерация новых точек в факторном пространстве осуществляется случайным образом, а затем выбором лучшего значения. Однако это приводит к пропорциональному увеличению вычислительных и соответственно временных затрат, что недопустимо для сложных, многопараметрических ЦФ.
В этом случае повышение эффективности работы алгоритма с точки зрения минимизации времени вычислений возможно путём его распараллеливания.
3. АДАПТАЦИЯ АЛГОРИТМА ОПТИМИЗАЦИИ МЕТОДОМ ИМИТАЦИИ ОТЖИГА ДЛЯ ИСПОЛЬЗОВАНИЯ НА ПАРАЛЛЕЛЬНОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЕ
Неудобством метода имитации отжига (см. рис. 1) с точки зрения распараллеливания является то, что каждое новое состояние системы х' генерируется на основе её предыдущего состояния х, и, следовательно, нет возможности распараллеливания какой-либо части алгоритма.
Поэтому было предложено осуществлять вычисление минимумов ЦФ (1) одновременно на нескольких машинах (клиентская часть алгоритма) и выбирать затем лучшее решение (глобальное) на выделенной машине (серверная часть алгоритма).
В выполняемой на нескольких машинах клиентской части при одинаковых начальных условиях осуществляется поиск минимума ЦФ (1) методом имитации отжига по схеме больцмановского тушения с помощью процедуры, представленной на рис. 1.
Затем результаты, полученные в клиентских частях, передаются в серверную часть (рис. 2), в которой осуществляется выбор решения с наименьшим значением ЦФ, что должно обеспечивать глобальность найденного минимума.
Рис. 2. Блок-схема алгоритма оптимизации методом имитации отжига, выполняемого на параллельной вычислительной системе. Пунктиром выделена часть алгоритма, выполняемая на клиентских машинах
Реализованный таким образом на параллельной вычислительной системе алгоритм оптимизации методом имитации отжига должен обеспечивать надёжный поиск глобального минимума ЦФ за счёт многократного повторения поиска в заданной явными ограничениями области.
При этом, так как многократный процесс поиска минимума осуществляется одновременно на соответствующем числе машин, затраченное на выполнение всего параллельного алгоритма время приблизительно должно равняться времени выполнения одного процесса и практически не должно
зависеть от числа процессов. Соответственно при использовании p клиентских машин можно уменьшить временные затраты при поиске глобального минимума примерно в p раз.
Программная реализация предложенного варианта алгоритма оптимизации методом имитации отжига осуществлена на языке программирования Java для применения в распределённых и параллельных вычислительных системах, использующих технологии GigaSpaces eXtreme Application Platform [8].
4. ОЦЕНКА ЭФФЕКТИВНОСТИ РАСПАРАЛЛЕЛЕННОГО АЛГОРИТМА ОПТИМИЗАЦИИ МЕТОДОМ ИМИТАЦИИ ОТЖИГА
Оценка надёжности и эффективности распараллеленного алгоритма оптимизации методом имитации отжига по схеме больцмановского тушения осуществлялась на многоэкстремальных ЦФ при количестве параметров оптимизации n, равном 4, 6 и 8:
- число параметров оптимизации n равно 4:
f (xi ,x2 ,x3,x4) = + x2 + — 0.1cos(3xi) — 0.2cos(2x2) — 0.5cos(5x3) — 0.6cos(x4), (3)
где —0.5 < Xj < 1, i = 1,..., 4;
- число параметров оптимизации n равно 6:
-0.2 €08(2x2) — 0.2 €08(5x3) — 0.4с08^4) — 0.1 €08(2x5) — 0.2 €08^6) — 0.1 €08(4x7) — 0.1сОв(х8), (5)
где —0.5 < xi < 1, г = 1,..., 8.
Глобального минимума /тП = —1.4 все эти функции достигают при xi = 0,г = 1,... ,п.
Тестирование проводилось при следующих условиях: начальная температура Т0 = 0.5, конечная ТепЛ = 0.005, коэффициент изменения температуры г = 0.97. При таких значениях параметров нахождение области глобального минимума обеспечивалось за небольшое количество итераций.
Как указывалось выше, рассматриваемый алгоритм поиска глобального минимума должен иметь хорошую сходимость, но большую погрешность. Соответственно одной из задач тестирования было выявление зависимости точности нахождения глобального минимума от количества одновременно работающих процессов р и количества оптимизируемых параметров функции п.
Результаты поиска минимума ЦФ (3)-(5) методом имитации отжига в зависимости от числа одновременно работающих процессов р, усредненные по итогам 100 запусков вычислительной системы, приведены на рис. 3, а.
Как видно из рис. 3, а, для всех значений числа оптимизируемых параметров функции п при малом количестве работающих процессов р результат выдается с большим разбросом, но при увеличении р результаты стабилизируются и приближаются к глобальному минимуму, так как поиск в этом случае ведётся в большей части заданной явными ограничениями области факторного пространства.
При этом увеличение числа параллельно работающих процессов р с 1 до 16 приводит к уменьшению размеров области глобального минимума, оцениваемой по среднеквадратическому отклонению минимального значения ЦФ, на 60, 55 и 50% для п = 4, п = 6 и п = 8 соответственно (рис. 3, б).
Следовательно, увеличение числа процессов р при параллельном поиске области глобального минимума многопараметрической ЦФ методом имитации отжига повышает надёжность и точность вычислений.
f (xi, x2, x3, x4, x5, x6) = x2 + x2 + x2 + x| + x5 + xj2 — 0.1 cos(3xi) — 0.2cos(2x2 ) — —0.3cos(5x3) — 0.5cos(x4) — 0.1 cos(2x5) — 0.2cos(x6),
где —0.5 < xj < 1, i = 1,..., 6;
- число параметров оптимизации n равно 8:
f (xb x2, x3, x4, x5, x6, x7, x8) = xi + x2 + x2 + x| + x5 + x2 + x7 + x2 — 0.1 cos(3xi)
(4)
При решении реальных оптимизационных задач большое время занимает вычисление ЦФ. Соответственно эффективность метода оптимизации можно оценивать по требуемому для поиска глобального минимума количеству вычислений ЦФ. На рис. 4, а приведено количество вычислений ЦФ тестируемым методом в зависимости от количества одновременно работающих процессов р и количества оптимизируемых параметров п.
о4
Й
ё
о
Он
и
г
Й
Л
«
а
И
д
Ц
о
Б
О
Количество процессов р
Количество процессов р
б
Рис. 3. Зависимость найденного минимального значения ЦФ с указанием 95%-ного доверительного интервала (а) и размеров области глобального минимума (б) от количества параметров оптимизации п и числа одновременно работающих процессов поиска минимума р
О
!=Г
«
15
а
и
5
N
-С
Я
О
ч
и
V
Количество процессов р
Температурный коэффициент г
б
Рис. 4. Зависимость числа вычислений ЦФ от количества параметров оптимизации п и одновременно работающих процессов р (а), а также от температурного коэффициента г (б) в параллельном алгоритме
Видно (см. рис. 4, а), что время выполнения параллельного алгоритма, пропорциональное числу вычислений ЦФ, практически не зависит от числа процессов р и примерно равно времени выполнения одного процесса при одинаковых п.
Увеличение числа параметров оптимизации п приводит к незначительному уменьшению числа вычислений ЦФ, но увеличивает размеры найденной области глобального минимума.
Значительное влияние на количество вычислений ЦФ и соответственно на эффективность тестируемого метода оптимизации оказывает значение температурного коэффициента г в законе изменения
а
а
температуры (2). Из рис. 4, б видно, что увеличение r с 0.95 до 0.99 приводит к увеличению числа вычислений ЦФ практически в 6 раз. Однако при этом размеры найденной области глобального минимума уменьшаются, то есть точность повышается. Следовательно, при решении конкретных задач есть возможность выбирать параметры закона изменения температуры (2) для обеспечения баланса между временными затратами и точностью.
Таким образом, из результатов тестирования видно, что предложенный параллельный вариант алгоритма оптимизации методом имитации отжига по схеме больцмановского тушения может эффективно применяться для решения задач поиска области глобального минимума многоэкстремальной ЦФ при наличии явных ограничений на варьируемые параметры. Точное значение глобального минимума может быть найдено с помощью хорошо разработанных методов поиска локальных экстремумов, например методом Хука - Дживса [2].
ВЫВОДЫ
В работе предложен вариант распараллеливания алгоритма оптимизации методом имитации отжига, основанный на многократном повторном запуске процедуры поиска при одинаковых начальных условиях и предназначенный для нахождения области глобального минимума многоэкстремальной ЦФ многих переменных с ограничениями на параллельных и распределённых вычислительных системах.
Исследована надёжность нахождения области глобального минимума ЦФ предложенным методом и размеры найденной области в зависимости от количества узлов параллельной вычислительной системы и числа параметров оптимизации. При этом показано, что увеличение числа процессов при параллельном поиске приближает его результаты к глобальному минимуму, а размеры найденной области глобального минимума уменьшаются за счёт обследования большей части заданной явными ограничениями области факторного пространства.
Проведена оценка эффективности предложенного метода поиска области глобального минимума с точки зрения количества вычислений ЦФ. Выявлено, что увеличение числа параметров оптимизации приводит к незначительному уменьшению числа вычислений ЦФ, но увеличивает размеры найденной области глобального минимума. Показано также, что выбором параметров закона изменения температуры (2) можно поддерживать баланс между временными затратами и точностью.
Точное значение глобального минимума многоэкстремальной ЦФ в найденной предложенным методом области может быть определено с помощью известных методов поиска локальных экстремумов [2].
Работа выполнена при финансовой поддержке программы Министерства образования и науки РФ «Подготовка и переподготовка профильных специалистов на базе центров образования и разработок в сфере информационных технологий в Южном и Северо-Кавказском федеральных округах» (государственный контракт 07.Р20.11.0029).
Библиографический список
1. Орлянская И. В. Современные подходы к постро- ry // Mathematical and Computer Modelling. 1993. ению методов глобальной оптимизации // Электрон- Vol. 18(11). P. 29-57.
ный журнал «Исследовано в россии». С. 2097-2108. 6. Лопатин А. С. Метод отжига//Стохастическая оп-
URL. http.//zhurnal.ape.relarn.ru/articles/2002/189.pdf химизация в информатике. СПб. : Изд-во СПбГУ, 2005.
Вып. 1. С. 133-149.
(дата обращения 02.12.2011).
2. Банди Б. Методы оптимизации : вводный курс. М.:
Радио и связь 1988 128 с 7. Wilson J. D. Design of high-efficiency wide-bandwidth
3 KirkpalTkS, Gelatt C D., Vecchi M. P. Optimization couPled-cavity tracing-™™ tate ptase ve]odty tape^
by simulated annealing || Science. 1983. Vol. 220. P. 671- with simulated »]ing || IEEE Trans.
680 Electron Devices. Vol. 48. Jan. 2001. P. 95-100.
4. Калиткин Н. Н. Численные методы. М. : Наука, 8. GigaSpaces eXtreme Application Platfom (XAP).
1978. 512 с. URL: http:||www.gigaspaces.com|xap (дата обращения
5. Ingber L. Simulated Annealing: Practice ve^us theo- 02.12.2011).