УДК 681.3.06,681.322
ПАРАЛЛЕЛЬНЫЙ ВАРИАНТ АЛГОРИТМА УСЛОВНОЙ ОПТИМИЗАЦИИ КОМПЛЕКСНЫМ МЕТОДОМ БОКСА
А. Н. Савин
Саратовский государственный университет E-mail: [email protected]
Представлены результаты адаптации алгоритма поиска глобального экстремума при наличии явных и неявных ограничений комплексным методом Бокса для систем параллельных и распределённых вычислений. Определено оптимальное число узлов вычислительной системы с точки зрения надёжности нахождения глобального экстремума и времени его поиска. При этом время выполнения программы оказалось в несколько раз меньше, чем на одной ЭВМ, а надёжность нахождения глобального экстремума значительно выше за счёт одновременного исследования целевой функции в нескольких областях факторного пространства.
Ключевые слова: глобальная оптимизация, условная оптимизация, комплексный метод Бокса, многоэкстремальная целевая функция, параллельные вычислительные системы.
The Parallel Variant of Conditional Optimization Algorithm with Box Complex Method
A. N. Savin
This article presents the results of the adaptation algorithm for global extremum searching with presence explicit and implicit constraints complex method created by Box for systems of the distributed and parallel computing. The optimal count of nodes of computing system from the point of view of reliability a global extremum finding and time of its search is defined. At the same time, the run time was several times smaller than on one computer and reliability of searching the global extremum is much higher due to the simultaneous researching of the target function in several areas of the factor space.
Key words: global optimization, conditional optimization, Box complex method, multiextreme criterion function, parallel computing system.
ВВЕДЕНИЕ
В настоящее время решение большого количества технических задач требует поиска экстремума некоторой целевой функции (ЦФ) на заданной области определения, то есть необходимо применение условной оптимизации.
Например, разработка приборов СВЧ предполагает численное или физическое моделирование процессов в них и последующую оптимизацию прибора с целью достижения требуемых значений выходных параметров [1].
Задачи оптимизации зачастую содержат различные явные ограничения (ограничения типа равенств) на значения параметров и дополнительные условия, например, условия согласования, устойчивости и т. д. — неявные ограничения (ограничения типа неравенств). При этом ЦФ часто оказываются многоэкстремальными. Существующие для решения таких задач методы условной оптимизации, как градиентные, так и случайного поиска, не гарантируют нахождения глобального экстремума и требуют больших вычислительных затрат [1].
Проблема нехватки вычислительных ресурсов в этом случае может решаться применением современных параллельных и распределённых вычислительных систем (ВС) в сочетании с эффективно работающими на таких системах алгоритмами условной оптимизации [2].
В данной работе была поставлена задача адаптации для выполнения на параллельных и распределённых вычислительных системах алгоритма условной оптимизации комплексным методом Бокса [3,4] многоэкстремальных ЦФ многих переменных при наличии явных и неявных ограничений.
1. ОБЩИЙ ВИД ЗАДАЧИ ПОИСКА ГЛОБАЛЬНОГО МИНИМУМА ПРИ НАЛИЧИИ ЯВНЫХ И НЕЯВНЫХ ОГРАНИЧЕНИЙ
Поиск глобального минимума функции f : Rn при наличии ограничений осуществляется на некотором собственном подмножестве О метрического пространства Rn:
f(x) = f(xi,...,xn) ^ min,x e О, О с Rn, (1)
где подмножество О определяется явными ограничениями:
1j < Xj < Uj, j = 1,..., n, (2)
а также неявными ограничениями:
(х) < bi, г = 1, ...,т. (3)
Пусть имеется некоторое множество X, состоящее из элементов х, принадлежащих подмножеству О с Лп, и на нём определена скалярная функция /(х). Говорят, что /(х) имеет локальный минимум в точке х*, если существует некоторая конечная е-окрестность этой точки, в которой выполняется условие
/(х*) </(х), ^х — х* || < е.
У функции может быть много локальных минимумов. Если выполняется неравенство /(х*) < /(х), х е X, где х = х* — любая точка множества X, то говорят о глобальном минимуме функции /(х) [5].
2. ПОИСК ГЛОБАЛЬНОГО МИНИМУМА МОДИФИЦИРОВАННЫМ КОМПЛЕКСНЫМ МЕТОДОМ БОКСА
Поиск глобального минимума многоэкстремальной функции (1) при наличии явных (2) и неявных (3) ограничений на варьируемые параметры может быть осуществлён комплексным методом Бокса [3] с учётом его модификаций, предложенных в [4].
Комплексный метод Бокса использует при поиске экстремума только значения функции, а не её производные, то есть это метод прямого поиска. Он является модификацией симплексного метода Нелдера-Мида [3], основанного на применении процедуры симплекс-планирования при поиске экстремумов, однако позволяет учитывать явные и неявные ограничения на изменения варьируемых параметров.
Если функция /(х) (1) выпукла и неявные ограничения Л^(х) (3) тоже выпуклы, то сформулированная выше задача поиска минимума имеет единственное решение, которое успешно находится комплексным методом Бокса. Однако при наличии локальных невыпуклостей функции /(х), т. е. при её многоэкстремальности, данный метод имеет возможность зацикливания [3].
В [4] предложена модификация комплексного метода Бокса, исключающая возможность зацикливания. Она основана на дополнительном исследовании функции /(х) в текущей области изменения варьируемых параметров для выявления локальных невыпуклостей /(х) и на их обходе. Алгоритм оптимизации модифицированным комплексным методом Бокса приведён ниже.
1. Поиск глобального минимума целевой функции /(х) (1) начинается с определения количества параметров п, инициализации нижних и верхних границ явных ограничений (2) ^, ч^, ] = 1,... ,п, ввода неявных ограничений (3) ^(х), г = 1,... ,т.
2. Строится комплекс из к = зп случайным образом распределённых точек в области, заданной ограничениями (2) и (3) (Бокс использовал коэффициент умножения комплекса з = 2):
• выбирается начальная точка х[1], удовлетворяющая ограничениям (2) и (3);
• координаты остальных точек, удовлетворяющих ограничениям (2), выбираются следующим образом:
х М = 1з + г(ч — Ь )> (4)
где ] = 1,..., п, д = 2,... ,к, г — псевдослучайная равномерно распределенная переменная в интервале (0,1).
• если выбранная в соответствии с (4) точка х[д] не удовлетворяет неявным ограничениям (3), то она смещается на половину расстояния до центра тяжести множества уже принятых точек — хс : хс = х[е]/(д — 1), т. е. формируется точка х'[д]:
х'[д] = (х[д] + хс)/2; (5)
• точке х[д] присваивается значение смещённой точки х' [д] : х[д] = х'[д];
• если точка х[д] всё еще не является допустимой, то описанная соотношением (5) процедура повторяется до тех пор, пока точка х[д] не станет допустимой, а если функции ^(х) выпуклы, то, в конце концов, ограничения выполняться;
• точки комплекса упорядочиваются в соответствии со значениями ЦФ: /(х[1]) < ... < /(х[к]).
3. Определяется наименьшее значение ЦФ — /Шт : /Шт = /(х[1]).
4. Определяются точка с наибольшим значением ЦФ — х[к] и центр тяжести остальных к — 1 точек — х0 : х0 = Ее—1 х[е]/(к — 1).
5. Вычисляется точка хг отражением худшей точки х[к] относительно центра тяжести х0, используя коэффициент отражения а > 1 : хг = х0 — а(х[к] — х0).
6. Вычисляется значение ЦФ в центре тяжести к — 1 точек /(х0).
7. Осуществляется проверка ЦФ на выпуклость: если /(х0) < /(х[к — 1]), то ЦФ выпукла и переходим к шагу 8, иначе центр тяжести х0 заменяется на лучшую точку — х[1] : х0 = х[1].
8. Выполняется проверка, является ли отражённая точка хг допустимой:
• если не выполняются ограничения для Ц, ] = 1,... ,п, то х^ = Ц + 10-6;
• если не выполняются ограничения для и, ] = 1,..., п, то хГ = и — 10-6;
• если не выполняются неявные ограничения (3), то точка хг перемещается на половину расстояния между хг и центром тяжести х0 : х'г = (хг + х0)/2, а отражённой точке хг присваивается значение хг : хг = х'г.
9. Производится повторная проверка отражённой точки хг на допустимость, и шаг 8 повторяется до тех пор, пока не будет получена допустимая точка.
10. Осуществляется проверка на улучшение отражённой точки хг:
• вычисляется значение ЦФ /(хг) и сравнивается с /(х[к]) — наибольшим значением ЦФ в комплексе;
• если /(хг) > /(х[к]), т.е. не лучше, чем наибольшее значение ЦФ, полученное ранее, то отражённая точка хг перемещается на половину расстояния между хг и центром тяжести х0 : х'г = (хг + х0)/2, отражённой точке хг присваивается значение хг : хг = х'г, и процесс возвращается на шаг 8;
• если /(хг) < /(х[к]), то худшая точка х[к] заменяется на точку хг : х[к] = хг, то есть комплекс обновляется, а точки комплекса упорядочиваются в соответствии со значениями ЦФ: /(х[1]) < ... < /(х[к]).
11. Оценивается значение ЦФ в лучшей точке — /(х[1]): если /(х[1]) = /Шт, то есть наименьшее значение ЦФ — /Шт не уменьшено, то процесс возвращается на шаг 4. Иначе выполняется проверка сходимости:
• вычисляется квадрат стандартного отклонения значений ЦФ для всех к точек комплекса — а2 : а2 = Ек=х(/(х[е]) — /)2/к, где / = £ек=1 /(х[е])/к;
• вычисляется максимальное расстояние между точками комплекса — йтах:
^тах — тах
п
[е] — хЦ [5])2' ц=1
е = 1,..., к — 1, д = е + 1,...,к;
• если а2 < е1 и йтах < е2, где е1, е2 достаточно малые заданные величины, то процедура поиска минимума целевой функции /(х) (1) заканчивается. Иначе осуществляется возврат на шаг 3 и продолжается поиск минимума.
Шаги 6 и 7, введённые в представленный в [3] исходный алгоритм комплексного метода Бокса, обеспечивают выявление и обход локальных невыпуклостей ЦФ. Соответственно такие изменения, совместно со случайным выбором начальных точек в факторном пространстве позволяют использовать модифицированный комплексный метод Бокса для поиска глобального минимума многоэкстремальных ЦФ при наличии явных и неявных ограничений.
При этом, как установлено в [3], для проверки того, что был найден глобальный, а не локальный минимум, требуется производить несколько запусков при различных начальных точках. Это приводит к пропорциональному увеличению вычислительных и соответственно временных затрат, что недопустимо для сложных, многопараметрических ЦФ.
В этом случае проблема повышения эффективности работы рассматриваемого алгоритма с точки зрения минимизации времени вычислений может быть решена путём его распараллеливания.
3. АДАПТАЦИЯ АЛГОРИТМА ОПТИМИЗАЦИИ МОДИФИЦИРОВАННЫМ КОМПЛЕКСНЫМ МЕТОДОМ БОКСА ДЛЯ ИСПОЛЬЗОВАНИЯ НА ПАРАЛЛЕЛЬНОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЕ
Анализ приведённого выше алгоритма оптимизации модифицированным комплексным методом Бокса показывает:
• процедура инициализации комплекса (шаги 1, 2) подразумевает обновление центра уже определенных точек и дальнейшее его использование на каждой итерации, следовательно, распараллеливание данного участка алгоритма представляется невозможным.
• в основном процессорное время расходуется на многократное вычисление ЦФ в итерационном процессе улучшения точек построенного комплекса (шаги 3-12). Следовательно, наиболее ценным является распараллеливание этого участка алгоритма.
Поэтому было предложено одновременно выполнять процедуру улучшения р худших точек комплекса на параллельной вычислительной системе, состоящей из р + 1 узлов. При этом один выделенный узел должен осуществлять начальную инициализацию данных, построение комплекса, выработку заданий по улучшению точек комплекса, обновление комплекса, проверку сходимости. Вопрос выбора оптимального числа вычислительных узлов будет рассматриваться далее при анализе результатов тестирования.
На рис. 1, 2 представлены блок-схема распараллеленного вышеуказанным способом алгоритма оптимизации модифицированным комплексным методом Бокса, выполняемого на параллельной вычислительной системе, и блок-схема процедуры улучшения одной из худших точек комплекса, выполняемой на отдельном узле.
Рис. 1. Блок-схема процедуры улучшения одной из худших точек комплекса, выполняемой на отдельных узлах параллельной вычислительной системы
° <sindmax<s2
Рис. 2. Блок-схема алгоритма оптимизации модифицированным комплексным методом Бокса, выполняемого на параллельной вычислительной системе. Пунктиром выделена параллельно
выполняемая часть алгоритма
Реализованный таким образом для выполнения на параллельной вычислительной системе алгоритм оптимизации модифицированным комплексным методом Бокса должен обеспечивать надёжный поиск глобального минимума ЦФ за счёт её одновременного исследования в нескольких областях факторного пространства.
При этом, так как процесс поиска минимума осуществляется одновременно на нескольких машинах, то затраченное на его выполнение время должно значительно уменьшится.
Программная реализация предложенного алгоритма осуществлена на языке программирования Java для применения в распределённых и параллельных вычислительных системах, использующих технологии GigaSpaces eXtreme Application Platform [6].
4. ОЦЕНКА ЭФФЕКТИВНОСТИ РАСПАРАЛЛЕЛЕННОГО АЛГОРИТМА ОПТИМИЗАЦИИ МОДИФИЦИРОВАННЫМ КОМПЛЕКСНЫМ МЕТОДОМ БОКСА
Оценка надёжности и эффективности распараллеленного алгоритма оптимизации методом имитации отжига по схеме Больцмановского тушения осуществлялась на многоэкстремальных ЦФ при количестве параметров оптимизации п, равном 4, 6 и 8:
• число параметров оптимизации п равно четырем:
4
/ (х, х2, х3, х4) = ^^ {х2 — 0.1 сов(18х)}, (6)
¿=1
где —0.5 < х < 1, ] = 1,..., 4; /Шщ = —0.4 при х =0, ^ = 1,..., 4.
• число параметров оптимизации п равно шести:
6
/ (х1, х2, х3, х4, х5, х6) = ^^ {х2 — 0.1 сов(18х^-)}, (7)
¿=1
где —0.5 < х < 1, ^ = 1,..., 6; /Шщ = —0.6 при х^ =0, ] = 1,..., 6.
• число параметров оптимизации п равно восьми:
8
/ (х1, х2, х3, х4, х5, х6, х7, х8) = ^^ {х2 — 0.1 соб(18х^ )}, (8)
¿=1
где —0.5 < х^ < 1, ] = 1,..., 8; /Шщ = —0.8 при Xj =0, ] = 1,..., 8.
Процесс поиска глобального минимума завершался при выполнении следующих условий: квадрат стандартного отклонения значений ЦФ для всех к точек комплекса — а2 < 0.0000001 и максимальное расстояние между точками комплекса — йтах < 0.001.
Для оценки времени работы разработанного приложения в указанные ЦФ добавлялась инструкция задержки таким образом, чтобы время их выполнения составляло 1 мс. Соответственно по времени поиска глобального экстремума можно оценить количество вычислений ЦФ, так как основное время затрачивается на её вычисление.
Статистическая достоверность полученных данных обеспечивалась усреднением по результатам 100 запусков процесса поиска глобального минимума при каждом сочетании параметров.
Тестирование распараллеленного алгоритма оптимизации модифицированным комплексным методом Бокса для функций (6), (7) и (8) осуществлялось при различном числе узлов параллельной ВС р.
Увеличение р должно приводить к уменьшению времени поиска глобального минимума, так как будут одновременно улучшаться р точек комплекса, состоящего в исходном алгоритме [2] из к = 2п точек. Однако при этом уменьшается оставшееся в комплексе число точек (равное к — р), по которым определяется направление движения к глобальному минимуму. Соответственно должна уменьшаться вероятность его нахождения.
Увеличением числа точек в комплексе к можно повысить вероятность нахождения глобального минимума, но это должно приводить к увеличению времени его поиска.
Поэтому было решено исследовать также влияние количества точек комплекса к = 5п на время и надёжность поиска глобального минимума. При этом целый коэффициент умножения комплекса 5 изменялся в пределах от 2 (как в исходном алгоритме [2]) до п + 1.
На рис. 3 приведены усредненные по итогам 100 запусков ВС вероятность нахождения глобального минимума (а, в, д) и время его поиска (б, г, е) распараллеленным алгоритмом оптимизации модифицированным комплексным методом Бокса в зависимости от числа узлов ВС р и коэффициента умножения комплекса 5 соответственно для ЦФ (6), (7) и (8).
Рис. 3. Вероятность нахождения глобального минимума (а, в, д) и время его поиска (б, г, е) методом Бокса на параллельной ВС при числе параметров оптимизации п = 4 (а, б); п = 6 (в, г); п = 8 (д, е) с помощью исходного алгоритма (р = 1, 5 = 2) (■), при оптимальном числе узлов и исходном коэффициенте умножения комплекса (р = п, в = 2) при одном узле и
оптимальном коэффициенте умножения комплекса (р =1, в = п) (X), при оптимальных числе узлов и коэффициенте умножения комплекса (р = п, в = п) (®)
Из рис. 3 видно:
• исходный алгоритм метода Бокса (■) показывает низкую вероятность нахождения глобального минимума: 28%, 16% и 13%;
• увеличение числа узлов ВС ( ), как и предполагалось выше, уменьшает время поиска глобального минимума примерно в 4, 6.2 и 7.3 раза по сравнению с исходным алгоритмом (■), но вероятность нахождения глобального минимума при этом понижается до 16%, 12% и 2%;
• повышение вероятности нахождения глобального минимума до 64%, 85% и 94% достигается
увеличением числа точек в комплексе к (X), но это приводит к увеличению времени его поиска по сравнению с исходным алгоритмом (■) в 1.9, 2.3 и 3 раза;
• оптимальными с точки зрения эффективности распараллеленного алгоритма являются число одновременно улучшаемых точек р = п и число точек комплекса к = вп при в = п (®), обеспечивающие наибольшую вероятность нахождения глобального минимума, составляющую 68%, 88% и 95%, при уменьшении времени его поиска примерно в 2.1, 2.3 и 2 раза по сравнению с исходным алгоритмом (■);
• увеличение числа узлов ВС р выше оптимального значения р = п снижает вероятность нахождения глобального экстремума при незначительном уменьшении времени его поиска;
• увеличение числа точек в комплексе к выше оптимального значения к = вп при в = п не повышает вероятности нахождения глобального экстремума, но увеличивает время его поиска.
В табл. 1 приведены результаты сравнения надёжностных и временных характеристик исходного алгоритма оптимизации модифицированным комплексным методом Бокса (р = 1, к = 2п) и распараллеленного с оптимальным количеством узлов ВС р = п и количеством точек в комплексе к = вп при в = п.
Таблица 1
Результаты тестирования исходного алгоритма оптимизации модифицированным методом Бокса с оптимальным распараллеленным вариантом
Количество параметров оптимизации, п Число узлов ВС р = 1 Число точек комплекса к = 2 п Число узлов ВС р = п Число точек комплекса к = вп при 5 = п Коэффициент ускорения Коэффициент повышения надёжности
Время поиска, с Вероятность нахождения глобального минимума, % Время поиска, с Вероятность нахождения глобального минимума, %
4 0.625 28 0.299 68 2.09 2.43
6 1.215 16 0.526 88 2.31 5.5
8 1.858 13 0.915 95 2.03 7.31
Как видно из табл. 1, коэффициент ускорения времени выполнения распараллеленного алгоритма оптимизации модифицированным комплексным методом Бокса на оптимальных числе узлов ВС и количестве точек комплекса по сравнению с исходным алгоритмом составляет в среднем 2.14, а вероятность нахождения глобального минимума повышается в среднем в 5.1 раза за счёт одновременного исследования ЦФ в большем количестве точек факторного пространства.
В табл. 2 приведены результаты сравнения надёжностных и временных характеристик алгоритма оптимизации модифицированным комплексным методом Бокса, выполняемого на ВС с одним узлом (р = 1) с оптимальным количеством точек в комплексе к = вп при в = п и выполняемого на ВС с оптимальным числом узлов ВС р = п и с оптимальным количеством точек в комплексе к = вп при в = п.
Таблица 2
Результаты тестирования алгоритма оптимизации методом Бокса с оптимальным числом точек комплекса, выполняемом на одном и оптимальном числе узлов ВС
Количество Число узлов ВС р = 1 Число узлов ВС р = п Коэффициент Коэффициент
параметров Число точек комплекса Число точек комплекса ускорения повышения
оптимизации, к = вп при в = п к = вп при в = п надёжности
п Время Вероятность Время Вероятность
поиска, нахождения поиска, нахождения
с глобального с глобального
минимума, % минимума, %
4 1.163 64 0.299 68 3.89 1.06
6 2.854 85 0.526 88 5.43 1.04
8 5.657 94 0.915 95 6.18 1.01
Как видно из табл. 2, вероятность нахождения глобального минимума при его поиске распараллеленным алгоритмом оптимизации модифицированным комплексным методом Бокса на оптимальных числе узлов ВС и количестве точек комплекса по сравнению с алгоритмом, выполняемом на ВС с одним узлом и с оптимальным количеством точек в комплексе, увеличивается незначительно, в среднем в 1.04 раза, а коэффициент ускорения составляет в среднем в 5.17 раза за счёт одновременного улучшения п точек комплекса на р = п узлах ВС.
Таким образом, из результатов тестирования видно, что распараллеливание алгоритма оптимизации модифицированным комплексным методом Бокса значительно повышает его надёжность и эффективность при поиске глобального экстремума многоэкстремальных ЦФ.
ВЫВОДЫ
В работе предложен способ распараллеливания алгоритма оптимизации модифицированным комплексным методом Бокса, основанный на одновременном улучшении нескольких точек в факторном пространстве и предназначенный для нахождения глобального минимума многоэкстремальной ЦФ многих переменных с явными и неявными ограничениями на параллельных и распределённых ВС.
В результате экспериментального исследования определены оптимальные с точки зрения надёжности нахождения глобального минимума и времени его поиска параметры комплекса и число узлов ВС.
При использовании распараллеленного алгоритма с оптимальными параметрами время поиска глобального экстремума оказалось в несколько раз меньше, чем на одной ЭВМ, а вероятность его нахождения значительно выше за счёт одновременного исследования ЦФ в нескольких областях факторного пространства.
Таким образом, применение на параллельной ВС распараллеленного алгоритма оптимизации модифицированным комплексным методом Бокса позволяет эффективно решать различные задачи, требующие поиска глобального экстремума многоэкстремальных ЦФ при наличии явных и неявных ограничений.
Работа выполнена при финансовой поддержке программы Министерства образования и науки РФ «Подготовка и переподготовка профильных специалистов на базе центров образования и разработок в сфере информационных технологий в Южном и Северо-Кавказском федеральных округах» (государственный контракт №07.Р20.11.0029).
Библиографический список
1. Батура М. П. Моделирование и оптимизация мощных приборов СВЧ. Минск : БГУИР, 2006. 275 с.
2. Орлянская И. В. Современные подходы к построению методов глобальной оптимизации // Электронный журнал «Исследовано в России» . С. 2097-2108. URL: http://zhurnal.ape.relarn.ru/articles/2002/189.pdf (дата обращения 02.12.2011).
3. Банди Б. Методы оптимизации. Вводный курс. М. : Радио и связь, 1988. 128 с.
4. Савин А. Н., Шараевский Ю.,П., Тимофеева Н. Е. Модификация комплексного метода условной оптими-
зации Бокса для определения размеров замедляющих систем по заданным электродинамическим характеристикам // СВЧ-техника и телекоммуникационные технологии : материалы 15-й междунар. Крымской конф. (КрыМиКо2005). Украина. Севастополь : Вебер, 2005. С. 779-780.
5. Калиткин Н. Н. Численные методы. М. : Наука, 1978. 512 с.
6. GigaSpaces eXtreme Application Platform (XAP). URL: http://www.gigaspaces. com/xap (дата обращения 02.12.2011).